Luke Smith Write today, wrong tomorrow

Naming is hard - why choose codenames

Everyone knows there are two hard things development; cache invalidation, naming things and off by one errors. Starting a new project, if you choose the wrong project name it becomes incredibly difficult and costly to change. You're going to be stuck with it forever. Let's take a hypothetical service called...

Sharing configuration across visual studio projects

Whenever creating a new visual studio project I always go through the pain of ensuring certain properties are setup and StyleCop is enabled. It's manual and boring, and not to mention the repetition of the settings not exactly being DRY. I can't believe I didn't think of this sooner but...

Updating a pointhq dns record from amazon ec2 instances

If you're using Amazon EC2 for any reason, but not running the instance 24/7 (I have an instance with TeamCity that I only want to run on the evenings/weekends when I'm doing any work) you may not want to spend the extra on an Elastic IP to get a static...

IIS Application Pool "randomly" stopping

This issue has just sent me crazy for the past day. On my development machine the application pool hosting one of our webservices would randomly stop with nothing more than the following error in the System Windows Log Application pool 'xx' is being automatically disabled due to a series of...

Videos on CQRS

This is more a future reference to me, but here’s a couple of excellent videos on Command Query Responsibility Segregation. Command Query Responsibility Segregation– Udi Dahan CQRS and Event Sourcing – the Business Perspective– Greg Young CQRS: Why, What and How– Ian Cooper CQRS Pattern, Event Sourcing and Their Real...

When is an email address not an email address?

When it’s a string. How many systems have you worked on where you pass strings/integers etc about for email addresses and passwords among other things. Edit: I knew there was a real term for this, which Rob has reminded me - Business Primitives What’s wrong with this? You’re adding a lot...

The When, What and Why of auditing

One of the things I’ve come across in most systems is the requirement for auditing. As i see it there are 3 approaches to auditing When - Keeping track of when something changed. e.g Product A was changed by Bob on 1st April 2009. What - Keeping track of what...

Write today, wrong tomorrow

My blogs been without a subtitle for as long as I can remember, I just couldn’t think of anything “catchy”. But now I have come up with something that I think fits “Write today. Wrong tomorrow”. This refers to the constant learning that occurs in the development world. I’m a...

Creating website installer using WiX

I’m currently working on a new project and one of the things I want is an easy deployment process. Rather than wait till I actually want to deploy the site to production to put something in place I’ve decided to build it early and use the same process as part...

Reading Geek Night Presentation slides

I recently gave a 15minute presentation covering the SOLID Principles at the Reading Geek Night, not enough time to go into each principle but hopefully enough that people went away with some understanding of the principles and were encouraged to learn more about them. I highly recommend watching this video...