Alas, all my hope & dreams & promises of a regular blog post, dashed... oh well, here's one now.

I've been playing with the System.Threading.Tasks namespace over the last few hours and it's quite neat.

We'll be rolling out some new software in the next few months at work which Processes SMS messages from Customers. In the past we had fudged together our own Multi-Threading/Multi-Pipeline code to try and get messages through the system as quickly as possible but it was fairly bloated to say the least. Enter the new Task and Parallel classes in .NET 4.0

Geo IP

I stumbled across a very nice repurposing of the PARSENAME function in SQL Server recently while playing around with some GeoIP Data. In SQL Server, the PARSENAME function is used for working with fully qualified server objects. e.g. a table on a linked server ('LinkedServerName . Databasename . Ownername . TableName'). But PARSENAME can be used to easily split up any 4 token, dot delimited string into its constituent parts.

Necessity is the mother of all... reasons to learn something new. So when some project requirements came down to put together a Search UI for an object graph of ~200 different properties in one wide table, we got an opportunity to play with some dynamic LINQ. We needed to come up with a quick way to allow them to choose between which properties they wanted to search by, the operators applicable to that properties type.

I don't really consider myself a fan-boy for any single platform, OS or Manufacturer. I have an IPhone which I think is a great day-to-day tool and I have been toying with the idea of an IPad for a while now. On the other hand I've been a Microsoft .NET Developer for >8 years now, (saying that made me feel just a bit old...), I use a PC, know v. little about Mac's and like most things MS. (.NET Dev, Xbox, Win7, etc...).

There was fantastic stream of thought on Twitter last week about UX & UI Design; all started thanks to this tweet by @kellabyte, a Canadian developer with an uncanny knack for stirring up the masses and making them think.


What followed was a torrent of ideas on how to improve user experience, user interfaces & user interaction in terms of both the software & the hardware we use on a daily basis. Apparently Crowdsourcing + Brainstorming = Crowdstorming and a lot of credit for this post goes to following twitter folk: @robertmclaws, @cromwellryan, @uliwitness, @Montagist, @DavidQMora, @BenPittoors, @kellabyte and Others. There was a lot covered over the course of the chat, (here as a CSV file for posterity) but a few key things rang true with me so... stream of consciousness follows.