6,531 reputation
32129
bio website softwareonastring.com
location Netherlands
age 52
visits member for 4 years, 2 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


Jun
12
comment Is method overriding always a violation of Liskov Substitution Principle?
@Phoshi: Yes, so? That doesn't preclude cases where you do have base behavior and descendants can add to it as necessary. After all a class is a type. Calculations in payment and salary programs for example. The ancestor will do the basic calculations, descendants may add extra's, effect different values for parts of the calculation depending on whatever. Of course in any salary program the calculations may well be an amalgamation of Strategy patterns and each may in effect have its own inheritance hierarchy to deal with all variables and variations.
Jun
12
comment Is method overriding always a violation of Liskov Substitution Principle?
@jk. How? Augmented behavior in payment programs could be a getting a value from somewhere for the calculation of rebates, an additional rebate, ... whatever ... all variations on calculating (base) rebates from the ancestor, all still within SRP.
Jun
12
answered Is method overriding always a violation of Liskov Substitution Principle?
Jun
9
comment Access Token Verification
@DecafCoder: no re-login after a restart, regardless of the reason, sounds like a security risk? And if that is what you are after then the token becomes more of an API key than an access token. Access tokens by their nature need to have a limited life time? You may also want to check out Information Security.
Jun
9
comment Access Token Verification
@miraculixx: I am no hashing expert, but wouldn't hashing the (referring URL, source IP and day of the year) limit the validity of the token to a single session on a single day?
Jun
8
comment Access Token Verification
Why would it need to store the token in a database? Wouldn't it be perfectly acceptable to store it in memory and accepts that if the server crashes or is restarted all tokens become invalid. As sessions don't usually survive a restart why should tokens?
Jun
8
comment Why Beta versions have so many bugs?
@Eugene: wouldn't it be a waste of time to develop a feature, ensure it is 100% bug-free, put it up for beta only to learn that nobody really cares about the feature?
Jun
6
comment is it valid that a state machine can have more than one possible state for some transition?
Perhaps only one type of output, but an item can have one of several states following the current one? Just think of have an issue "in progress". You may decide not to work on it anymore and its state returns to "open". And when you do finish working on it, it's state may become "fixed", or "working as designed", or "cannot reproduce" or... How about the output of working on an issue, given that it can transition to all these states? It may be documentation, a working feature [+ doc], or nothing at all? How would you deal with a "working on an issue" activity to satisfy the one output rule?
Jun
5
comment Should I create separate work and personal GitHub accounts?
@AlmostSurely: Good on you! My concern isn't so much software patents (they seem mostly being (ab)used to prevent competitors from developing similar user interfaces) as it is the research and effort that went into developing a software application. Protecting the knowledge gained and the effort expended from companies wanting to take a shortcut towards developing a competitive product is best served by keeping the source well away from their inquisitive eyes...
Jun
1
comment How to avoid oscillation by async event based systems?
Searching for "rick hickey immutability presentation", it is the third result...
May
31
comment How to design console application with good seperation of UI from Logic
What would you call the part that acts as the go between between the view and the model? The part that lets the model know what the user did and implements the observer to update the view? What I am saying is that as soon as you set the first step towards achieving separation of concerns, you might as well follow a well established pattern like MVC, MVP or MVVM, because that is where you are going to end up anyway if you do it properly.
May
31
comment How to design console application with good seperation of UI from Logic
@JavaSa: Yes and so is MVVM. Sorry, but I don't understand what point you are making or what question you are asking with that comment.
May
31
comment Should I create separate work and personal GitHub accounts?
Putting any code from your employer on GitHub without their consent - even in a private project - could be considered stealing. I know that if I put my employers code on GitHub without their express consent, I would be in serious trouble. And I haven't signed an NDA. Same if you are self-employed and put code you created for a client on GitHub. The code isn't yours to put there.
May
31
comment Should I create separate work and personal GitHub accounts?
Even if you put work in private projects, one's employer may not exactly be happy with having what it considers its code "out in the open" (not controlled by their own security policies) and showing it to other companies during interviews. Even putting it up on GitHub in a private project could be considered stealing. I know that if I put my employers code on GitHub without their express consent, I would be in serious trouble. And I haven't signed an NDA.
May
31
comment Should I create separate work and personal GitHub accounts?
@AlmostSurely: do you have permission to put actual work on github? Your employer may not be too happy about this even if you do make those projects private.
May
31
comment Is it RESTful to resume terminated POST operation on a GET request?
Use message queues and take the headache out of this? How and when the server resumes the unfinished operation should not be dependent on user action. That's asking for even more headaches.
May
31
answered How to design console application with good seperation of UI from Logic
May
25
comment What is software maintenance?
@DocBrown: +1 The software suite I generally work on gets new features added all the time. I would hardly call the work I do maintenance. Maintenance is at most 20% of my work on this system. Yet many people would call it maintenance just because we are beyond version 1.0. And I also do "hate" the term "legacy system". I learned it to refer to systems that need replacing or wrapping, yet now often hear it used for any system that is beyond version 1.0. There is nothing legacy about a software suite in its umpteenth version, when that suite is actively developed.
May
18
comment MVC 5 - Best practice for handling dates inside and outside the USA
@ratchetfreak: Good find. Randy: don't go coding supporting different regional formats yourself. It's a waste of time and you'll probably miss stuff. Can't recall the name right now, but there is a jQuery internationalization / validation library that will/should take care of this. Search for those terms and you will find it.
May
18
comment MVC 5 - Best practice for handling dates inside and outside the USA
@amon: don't go by country based on IP. When I am traveling my location will be different from my regional preferences.