1,522 reputation
218
bio website beedogs.com
location East Midlands
age 40
visits member for 1 year, 10 months
seen 11 hours ago

20+ years of experience in IT with various platforms, languages, databases and industries.


Sep
3
comment Website compatibility with old operating systems
If my time in support roles has taught me anything, it is that the volume of the noise doesn't always match the importance of the problem. Obviously, the failure of the site is catastrophic for that user but you need to consider what the majority of the users are using. For those on legacy software, gently guide them to greener pastures.
Aug
25
comment Developing configuration syntax - best practise/rules/methods?
Most of the time, you wouldn't want external config for all your business objects but there are certain scenarios where it is desirable. E.g. complex data factories with a large number of data feeds.
Aug
25
comment Developing configuration syntax - best practise/rules/methods?
Also - the source of the data as I mentioned elsewhere...
Aug
25
comment Developing configuration syntax - best practise/rules/methods?
Yes, if we suddenly decide surnames can be 30 rather than 20 characters, it seems a bit daft to have to code round this sort of thing every time...
Aug
25
comment Developing configuration syntax - best practise/rules/methods?
This raises an interesting point about the provenance of the data. If the application is creating the object then this sort of approach is perfect. But if the source is third party data, you'd probably want some sort of pre-validation or constructor checks.
Aug
11
comment Make Return Type an Interface - Problem with Initialization
Although you need a concretion to do something, there is nothing to stop you referring to concretions using their interface e.g. IMyInterface r = new MyClass(); N.B. this is sometimes written as IMyInterface r = new MyClass() as IMyInterface; but the as statement is pure cruft here and has no effect (see the CIL if in doubt).
Jun
17
comment Property value validations on POCO entities
Yes, it would make sense to do the validation in the object itself in that case. ID length would be a static property or similar which could be pushed through to the form at runtime.
Jun
17
comment Formulate release notes consistently
That is the best approach in my experience.
Jun
17
comment Property value validations on POCO entities
There are various ways to handle this client side. E.g. if you're using a textbox to enter the ID, you can set the MaxLength property to 2.
Jun
6
comment How often should saving to disk occur in an automatically saving text editor?
Impossible to say. Set a default but make it configurable.
May
2
comment As an interviewer, asking a candidate to find errors in small sample code. Is this fair?
@KonradMorawski Forgive me, but my comment was made in jest I can assure you... :)
May
2
comment As an interviewer, asking a candidate to find errors in small sample code. Is this fair?
You don't think someone printing off some code, dropping it off at your desk and then expecting you to find all the issues without a computer in a limited time window whilst management look on is unfair? Are you the "Code Warrior" the ancients speak of? :)
Apr
16
comment How to measure team productivity over time using consistent story sizes?
Stories aren't a consistent size so let's nip this fantasy in the bud right now. Over time, your burn down chart should tell you where you are within an iteration. If this turns out to be way off the mark, investigate why in the retrospective.
Apr
15
comment Picking a card from a shuffled deck
Ah, OK. I was thinking anything in main had to go through the IO monad but you're right, I can just do: main = print $ cardTrick [My 52 random ints]. Thanks man! :)
Apr
10
comment Picking a card from a shuffled deck
Wow, this whole pure vs impure thing is kicking my butt. You can't seem to do anything pure with random since it isn't (or shouldn't be) repeatable. I can't even seem to pass the random data into the program as that then becomes impure. For now I've got another imperative program generating random numbers list which I then drop into the source code. Not perfect, but it'll have to do me for now.
Apr
9
comment Picking a card from a shuffled deck
OK, maybe if I just write something that takes a list and swaps two values I can call this repeatedly rather than use IO. Or at least until I've learnt a little more Haskell.
Apr
9
comment Picking a card from a shuffled deck
OK, thanks. I wasn't really sure of what I was doing beyond deck=shuffle cards
Apr
7
comment What is meant by change the main routine? The C Programming Language
@JimmyJackson A lot of it is also what you might deem to be reference material.
Apr
7
comment What is meant by change the main routine? The C Programming Language
Personally, I'd recommend C: The Complete Reference by Herbert Schildt although later editions are fairly weighty...
Apr
4
comment Are there any cases when one should not use Test Driven Development?
It still remains...