Zero Config

This essay sounds fascinating! Unfortunately, I can’t seem to find it on the public internet…

About, oh, maybe 3 years ago, long before we had company internal blogs, Jacob Gabrielson wrote and circulated a brilliant essay called Zero Config.

via you-should-write-blogs – steveyegge2.

Although the post as-a-whole is fascinating and mostly about blogging, this caught my eye because I have been trying to look at reducing the amount of configuration for my current client. Much config is duplicated, and some is just not worth being config and is more constant; e.g. setting the format for a message seems to make sense in the  configuration until you realise you can never change it after the first message has been written in that format!

Likewise, almost every project and service is built and released in subtly different ways, as each had someone had to be honed to fit a very specific need (if that’s the case, it was done poorly!) – but the result is a package of releases that are hard to automate because little is repeatable, common or shared!

If anyone knows how I might get to see a copy of this essay I’d love to hear about it…

Upgrades Upgrades Upgrades

Have you ever changed something in your home and at work, expecting life or work to be much better afterwards, and then found yourself on a path of being forced to make several other changes – just to get the promised improvements to actually work, or to get back old functionality that mysteriously disappeared?

I have certainly experienced this myself on many occasions; but today I want to talk about one specific instance following an upgrade to new large monitors; I recently bought new monitors that support a higher resolution than I have ever used before: WQHD or 2560 x 1440. Continue reading

Making Interview Questions Better

I’ve written before about technical interview questions, especially of the tricky Brainteaser Interview Questions, and I wanted to take a moment to recount some recent experiences hiring a couple of DBAs.

We’ve had a technical phone interview for some time, written by a colleague, but I think mostly trawled from an internet search of database technical questions.  This undoubtedly has some value, with questions on technical details on the difference, say, between a Primary Key and a Unique Key, or perhaps what ACID stands for.  The problem I find is that day-to-day, a term like ‘ACID’ is almost never referred to, because it is simply (and in some fundamental way) is just expected to be possible and true of a database such as Sql Server – or we might even say prohibited by developers not using transactions.  We needed more structure for the face-to-face bit, and I was fearful about hiring someone who could not even do the DBA equivalent of the FizzBuzz programming exercise.

So for the last year or more, we’ve standardised our face-to-face interview questions to focus on three areas:

  • A practical Normalisation question;
  • Simple SQL queries;
  • Performance Investigation.

In each case, I have taken a practical example of real-world situation from our code-base as the inspiration… and it has been fascinating how helpful the approach has been to better understand the capabilities of the candidate.  I hope it also introduces the interviewee to practical examples of what the role entails. Continue reading

Not using New Media doesn’t make you a Ghost

(but please still be enthusiastic)

Megaphone

I have enjoyed and been very interested in several of Troy Hunt’s blog posts on security, and having had my attention drawn to one the other day, I found his post titled ‘The ghost who codes: how anonymity is killing your programming career‘. I think his assertion is unfair. In fact, my first criticism of his post is that it is somewhat tabloid in nature; compare that title with his ultimate conclusion:

Ultimately, complete lack of public profile doesn’t make someone a bad programmer. On the other hand, a rich track record of engaging with the community, asking questions, demonstrating enthusiasm and actively participating in the industry gives you a bloody good head start on the ghosts.

This seems a far more reasonable statement, and an alternate headline on a broadsheet newspaper might have been: “Engaging with New Media could make new Job Searches Easier”. Or something like that – which has less punch but might reflect the whole post more fairly.

But as much as anything else, I would like to engage in this post with the broad idea of the use of Blogs, Question/Answer sites, Twitter, and so on. Is it necessary for a programmer (or other IT professional) to engage in such activities?

Continue reading

Concerns about Red-Green-Refactor

Green, Red, Green, GreenI have never worked in an environment that practices Test Driven Development (TDD), but the little that I have read suggests that there are three phases: Red – The Test is written, and checked that it will fail properly; Green – The test code is rewritten so that is passes ‘by any means possible’; and finally Refactor – the code under test is refactored to produce the desired end-results for real.

Continue reading

DIY, Paint-Drips, and Code Refactoring

I’m moving soon! So, for various reasons, I am doing a whole load of painting-and-decorating to prepare to rent out my current flat. Today I was putting the final coat of enamel onto a radiator, and while doing this I was really noticing the remnants of old paint-drips that I had not quite sanded away in my preparation. Now, overall, I know the radiator will look a lot better tomorrow than it did a couple of days ago… but I still find those historic drips bothersome!

Continue reading

Moving to Windows 7 x64 for Developers

I recently purchased and installed a new boot SSD, and rather than worry about copying my installation, I decided to get Windows 7; and further; to move to 64 bit. I had actually previously purchased a 64 bit version of Vista, but been baffled by an issue with lack of support for VPN 64-bit software by Cisco, so I ended up overwriting it with a 32 bit install.

Continue reading