6,541 reputation
32129
bio website softwareonastring.com
location Netherlands
age 52
visits member for 4 years, 3 months
seen Nov 22 at 18:59

Software developer since 1985. Started in Cobol, moved via Clipper/VB to Delphi. Delphi developer since 1998. Sniffing at C# and playing around with javascript and some php for websites. Coaching new employees and less experienced developers. Focused on software architecture and SOLID design. Keenly interested in user experience and usability.

Questions

When you ask a question, show your effort, provide all the details that will help someone to help you and be precise.

Answers

When you answer a question, don't just paste your code. Your answers will be much better when you explain why your code is doing what it does and how it achieves the asker's goal. It makes it a whole lot easier to follow along. As it is I am much more inclined to up-vote answers that have explanatory text about what the code is doing and why it is written as it is.

Answers that just contain links aren't likely to get an up-vote from me either

Other

Obligatory link whenever someone thinks they are improving security by imposing all sorts of rules on password composition: Password strength


Sep
11
comment Declaring interface in the same file as the base class, is it a good practice?
Blatant self-advertising: stackoverflow.com/questions/5840219/…
Sep
11
comment Declaring interface in the same file as the base class, is it a good practice?
I am with you on this.
Sep
11
awarded  Yearling
Sep
3
comment Emailing Service: To or Bcc?
Whatever you do, make sure that nobody's e-mail address is disclosed to other subscribers!
Aug
19
comment Use cases for “private” interfaces?
Ah, ok. Well hidden... :)
Aug
19
comment Use cases for “private” interfaces?
Yes, the members of an interface are public. That doesn't mean that you can't have a private member of some interface type which you do not expose in your own interface. Implementing an interface is public. Using an interface can be as private as you like. OP is essentially asking how (s)he can declare a class to use specific interfaces privately, thus ensuring that any implementing class actually implements those methods.
Aug
17
comment Should I take care of race conditions which almost certainly has no chance of occuring?
Readability wouldn't factor in my considerations of whether to use synchronisation or not. Syncrhonisation code follows well known patterns that do not hamper developer's ability to read and understand the code. Performance would factor in my considerations. Locking and serializing is a good practice, but sometimes not worth it if it hampers performance. For examples in logs or some other reports on the app's execution, I really don't care much whether it has processed 1,000,000 or 1,000,020 lines at a certain point in time.
Aug
16
comment Were the first assemblers written in machine code?
@DavidCary: Thanks!
Aug
3
comment What should one consider in choosing a language for web application development?
I like the selection process you propose. Short and pragmatic.
Aug
2
comment How should a website validate a users mailing address?
OT: Like your avatar.
Aug
2
comment Sharing eBooks within large development teams
@HoàngLong: yes, but only if they do not need glasses to read. It's far easier to adjust the zoom level of your reader than to switch between glasses for reading a monitor and a book (reading distance dictating the strength needed).
Aug
2
comment Can someone explain to me C#'s coding convention?
C# and Delphi (whose creator is the same) both are case-INsensitive and thus can never have collisions with stuff that only differs in casing. Both therefore also have conventions for naming private member variables. In Delphi they start with F, in C# with an underscore. Camel cased method names therefore never conflict with (private) member variable names. Plus there is never any ambiguity about whether you are dealing with a var or a method.
Aug
2
comment REST API Library Conventions
If getUserInfo just passes its parameters through to the apiCall, then there is little sense in having it. As soon as getUserInfo is part of a larger class that hides away setting up memory structures, handling state, or other such awkwardness, then it is very much wanted. It would then be analogous of any IDE's library that deals with the OS's widgets for the GUI. I know that using Delphi I certainly do use the Windows API frequently without reading its documentation because the Delphi VCL and RTL hide it nicely for me. I only delve into the API when I need to code an API call my self.
Aug
1
comment Add complex customization to form or create two forms?
Assuming that your choice is purely one of implementation, that is the user experience would be the same regardless of your choice, always go for the more maintainable option. Complexity kills (speed of) future enhancements...
Jul
28
comment Pros and Cons of holding all the business logic in stored procedures in web application
+1, for the first bit, -1 for multiple applications advice. There is no need to put everything in the database when multiple apps are involved. Just make all applications go through the same business layer. Three tier development wasn't invented just for the fun of it.
Jul
27
comment Should architect or dev lead tell teammate where to add their code before coding a new feature?
Ah! :-) thanks.
Jul
27
comment Should architect or dev lead tell teammate where to add their code before coding a new feature?
CYA?............
Jul
27
answered Is my mediator layer a sensible way to manage this scenario using the Single Responsibility Principle?
Jul
26
comment Is there any design pattern except MVC for web?
+1 but MVP, MVVM and MVC are all variations of the same theme: separating (g)ui from model logic and having some third party (controller, presenter) mediate between them.
Jul
18
comment In a web application, is it ok to group multiple pages in one view class or one class per page?
@RobertHarvey: yes, models are the M in MVC, but not necessarily the business model with all the business logic which should indeed be somewhere in a middle tier between the front-end MVC and the back-end database. As such the M in a front-end MVC can be very anemic...