6,651 reputation
32130
bio website softwareonastring.com
location Netherlands
age 53
visits member for 4 years, 6 months
seen 2 days ago

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


Jan
3
comment Which methods should be put in an interface and which in abstract classes?
Nope, just hope that any Delphi developers that read this do :-)
Jan
3
comment Motivate developers to keep up with admin tasks
Change the Kanban board so they don't have to write out a new card, but can just move cards from one kanban to the next.
Jan
3
comment Which methods should be put in an interface and which in abstract classes?
Sorry, don't understand your comment. Delphi doesn't have visibility modifiers on interfaces either. All methods in an interface are implicitly public. And virtual doesn't have anything to do with visibility, but with polymorphism in a class hierarchy.
Jan
2
comment TDD and complete test coverage where exponential test cases are needed
This scenario and similar ones is why I developed a "TMatrixTestCase" and enumerator for which you can write the test code once and feed it two or more arrays containing the inputs and the expected outcome.
Jan
2
comment Company name already taken at github
While a very good answer, you are assuming that someone within the company registered the project. However, as there is more than one dog named Fido, it is also perfectly possible that there is another company with the same name that registered the name before OP and did so perfectly legitimately.
Jan
2
comment Which methods should be put in an interface and which in abstract classes?
"There's no difference..." I don't know php enough, but in Delphi you would need to re-declare implementation of the interface when inheriting from a (library) base class (that you don't want to or can't change) that neglected to mark one or more interface methods as virtual. Without re-declaring the interface on the descendant, calling the method on an interface reference would call the base class' method instead of the method of the class that the interface reference refers to.
Dec
31
comment Preferring Database Normalization vs. Schema Transparency?
You might find Martin Fowler's ideas on roles an interesting read.
Dec
30
comment Is there a guide for software development to design efficient hotkeys for actions?
@DougM: where did you get that impression? And what would be wrong with L for find & replace ("locate" comes to mind) if that is what is most intuitive for your user base?
Dec
25
comment What is the difference between 'code readability' and 'language conventions' used within a community?
@Izkata: Thanks!
Dec
22
comment What is the difference between 'code readability' and 'language conventions' used within a community?
@DocBrown: Don't you think I know that? GIMF. The point is that too many people use acronyms without any consideration for the fact that others may not be familiar with them. Admittedly, not so bad in comments, but I absolutely abhor questions throwing acronyms around like there is no tomorrow and expecting everybody to either know them or google them. It's just plain lazy and inconsiderate towards the people you are asking to help you. I knew what a call to action was long before coming across the CTA acronym. Never crossed my mind that call to action is what the poster meant.
Dec
20
comment What is the difference between 'code readability' and 'language conventions' used within a community?
@jozefg: TIMTOWDI ?? means what ???
Dec
19
comment Preventing a parser from turning into a (seemingly) god-sized object
Have a look at "combinator parser"'s they lend themselves very much to an OOP design leveraging polymorphism and composition.
Dec
15
comment Do I have to be skilled in advanced theoretical problem solving to become a good programmer?
@SK-logic: lol, how many pet hates do you have? (I agree by the way, I am a big fan of the UX stack site).
Dec
15
comment Is there already a commonly known name for the 'ensure pattern'?
@Izkata: you could use an enum (ccReturnNull, ccCreateIfNotExists) (or some other names) instead of a boolean. I agree with you and Nick Hodges on this that booleans should be avoided as parameters.
Dec
14
revised Do I have to be skilled in advanced theoretical problem solving to become a good programmer?
added 61 characters in body
Dec
14
comment Do I have to be skilled in advanced theoretical problem solving to become a good programmer?
@Dunk: yes UI design is hard and shouldn't be left to developers. But I wasn't talking about UI design, I was talking about UI implementation.
Dec
14
comment Do I have to be skilled in advanced theoretical problem solving to become a good programmer?
@SK-logic I wasn't talking about UI design. I was talking about UI implementation.
Dec
14
comment Is rotating developers on a project a good or bad idea?
@Dunk: I don't know that it would. Cross training doesn't have to go as far as making the cross trained an expert in the field that isn't directly his/her own. It only needs to go as far as to ensure that the business wouldn't immediately be in a pickle and at risk of losing clients when the field experts leave causing the development in that field to grind to a halt. Nobody is irreplaceable, but business' do run risks when important knowledge or skills are restricted to very few people. And the costs of that risk becoming a reality can be very, very high indeed.
Dec
14
comment Why do programming languages encompass so much?
True enough. And I doubt that we would actually want everything to run on .Net. Nothing like real competition to keep a company alert and responsive to its customers' needs.
Dec
14
comment Why do programming languages encompass so much?
Uh, wasn't .Net intended to do just that: allow assemblies written in a multitude of languages operate together to create an application? F#, C#, VB.Net, and a couple of others all interoperate very nicely using the .Net framework?