The C# code-base I work on has hundreds of places where I have felt a boolean expression could have been used to simplify the code substantially.
Boolean Expressions
March 5th, 2010Achieving Faster ADSL Speeds…
February 7th, 2010
…or “How to improve your appalling ADSL speeds to what they told you you’d get speeds”
…or “How I split my ADSL and telephone signals and shoved them down a Cat5e cable”.
Phantom Code
February 6th, 2010
I’ve just worked on a little support problem that was quite interesting – although not in a good way – as unfortunately it demonstrates failures at so many stages of the specification and development process that I am quite disappointed to be associated with it. Associated, but not the cause of it, to be clear
Why’s Ruby Guide Update
August 31st, 2009I’ve just updated Why’s Ruby Guide pdf to include Chapter 7′s images; go to the specific page with updates. Thanks to Andy Matuschak for pointing this out to me, and giving me a link to where the documents are still available on the internet
The Rounding Race – Rounding DateTimes to Dates at Midnight
August 31st, 2009
Yesterday I covered the implementation details of DateTime and SmallDateTime datatypes in SQL Server 2005. I approached the issue of testing dates to see if they fell on a particular date… but then stopped-short of some fairly useful (but arcane) stuff about rounding dates.
One Second to Midnight – DateTimes in Sql Server 2005
August 30th, 2009
Today I am enthused to write about the DateTime and SmallDateTime datatypes in SQL Server 2005 (and possibly this also applies to 2008, although that has additional date and time types). I am driven to write this because I have seen a number of issues relating to their use in queries and one in particular that is a real annoyance to me – even if I have to admit that it is completely and utterly pedantic (most of the time).
Hello I’d Like to Change my Mother’s Name
May 31st, 2009
A few months ago, our client had a ‘Compliance’ team visit. It was a nightmare. Worse than the general guff Marketing / Sales Departments come up with… or those nasty little changes that are all designed to improve the user experience (you know the ones; where you have to turn some design or code on its head, just because the users are apparently totally unable to understand ‘X’ or ‘Y’*). Anyway, I’m not exactly sure what we were meant to be complying to, but some of the changes were so arbitrary that we could not think of a single justification for them.
Big Release Week
May 26th, 2009
A very personal note this time. Last week I released a project that was pretty-much the largest single release that I’ve worked on for my current employer.
Like many systems, the history of this one is that as customer applications made their way through the relevant processes, the system recorded various information about the processes that happened and how they worked out. The system then used the presence or absence of those success / fail records to decide what needed to be done next.
Empowering Your Lookup Tables
May 16th, 2009Recently, I’ve noticed that some developers, while fully understanding what a lookup table is for in terms of normalising data, miss opportunities to use them in additional ways. This post is therefore about those further uses for lookup tables that will really give you an opportunity to streamline your code.
The Basic Lookup Table
May 13th, 2009‘Lookup Tables’ are commonly created in relational data models and databases as part of the normalisation process. For example, instead of having address rows in an address table that continually repeat the words ‘HOME’ or ‘WORK’ to indicate if this is a customer’s home or work address, we might introduce an ‘AddressType’ table, with a primary key of ‘AddressTypeId’. Our AddressType table may look like this:
AddressTypeId Name
1 Home
2 Work