The New Years Day 2018 Google doodle looked like “Go Ogle” to me. Strangely it’s the first time I’ve ever noticed that. Whilst go-ogle.com has been taken go-ogle.co.uk was available. So I registered it and it now sports a rather simple search box which transfers to Google’s image search with the word “bikini” appended to […]

Can’t we all just get a Long?

Creating a database. I wish to be able to create linked data offline. I initially went for a Guid, which is mostly safe to generate in a client. But Guids present issues with indexing, unless you use the SequentialId but that needs to be generated in the database. I considered the CombGuid which improves indexing […]

Bootcamp – Windows booted :)

As a keen computer user I treat myself to flagship hardware, look after it, and upgrade infrequently. I’ve made some bum choices by trying to compromise on cost but keep power. When my trusty Vaio powerhouse started having issues which I was unable to fix I decided it was time to splash out again. I […]

n-Tiered architecture

[An old article I just found whilst trawling through some old notes] Often described as 3-tiered with those being the Client, Application and Data layers. The developer may see these as equivalent software products: the UI, BLL and DAL. But the DAL is the means by which the software deals with the Data (persistence) layer […]


For a long time I have been reluctant to publish to npm. This is for a number of reasons: My code is not polished enough. I don’t consider my solutions to be desirable enough for others to use. I don’t fancy the responsibility of maintaining a package once people are dependent on it. I thought […]

Entity Framework “fixing up”

I am relatively new to the EF stable. I don’t know it’s best bits. I haven’t got years of tried and tested experience under my belt. But really, what the hell is this “fixing up” feature? I have turned off change tracking, and it still bloats my carefully crafted eagerly-loaded – yet selective – queries. […]

Walk your own path

Any practice worth following, or avoiding, has a name. And you usually can’t tell from the name whether it is a follow or avoid practice. Names are merely formalisations of a set of rules intended to maintain the integrity of an opinionated approach. And they borrow and steal from each other as necessary to get […]

Lazy loading

ANTI-PATTERN! Lazy loading = lazy thinking.   This is a design (noun) in the absence of design (verb). Do you know how your entities will be used? Can you be specific about the properties that will be required? Have you got a design? If so then you don’t need lazy loading – you need each […]

Always learning

I am starting this blog, as a place to host my thoughts and opinions. I have many of both. After coding for 35 years I know that there is no one-size-fits-all approach to software development. Yet. Will I live to see it, or even help to create it? If so then I must be always […]