Still coding...

I've rather sadly not been able to keep up with this blog as I would have liked. A great but demanding new job at an awesome company[1], two young children and a relocation to Ireland (while still working in London and occasionally traveling to the US) have made it hard to keep it up. Our latest and greatest family project isn't going to help I suppose. But I'm hopeful I'll get back to blogging about software soon. I wouldn't normally be enthusiastic about a big company. They pay the bills and that's that. But Salesforce definitely feels different. They genuinely care about their employees and care about their local community. Feel free to get in touch if you'd like to chat about it. ↩︎ … [+]
Read more

Readings in distributed systems and DDD

Since I can't seem to find the time to write an in-depth article these days, I'll cheat for once and just link to others. These are posts that I've come across recently on distributed systems and DDD, the two main areas I'm interested in at the moment. They are all well worth your time reading if you haven't already. Distributed Systems Large-scale cluster management at Google with Borg This was of particular interest to me as I was designing a somewhat similar system at work when I came across this paper. It's a great read for anyone interested in distributed systems. The paper is well-written and is packed with insights. The authors are also very candid about what worked and what didn't work so well with Borg. Omega, and what it means for Kubernetes: a Q&A about cluster scheduling If you liked the Borg paper, you'll love this. … [+]
Read more

DbContextScope now available as a nuget package

The DbContextScope library for Entity Framework is now available as a nuget package. Thanks to Tieson Trowbridge for putting it together! … [+]
Read more

DbContextScope source code now available on GitHub

The source for the DbContextScope component I presented in the previous post is now on GitHub. As usual, work got in the way and it took me longer than I would have liked to put this up. The good news is that DbContextScope has now been battle-tested for two months in production in a large scale application and has worked beautifully so far. … [+]
Read more

Managing DbContext the right way with Entity Framework 6: an in-depth guide

UPDATE: the source code for DbContextScope is now available on GitHub: DbContextScope on GitHub. A bit of context This isn't the first post that has been written about managing the DbContext lifetime in Entity Framework-based applications. In fact, there is no shortage of articles discussing this topic. For many applications, the solutions presented in those articles (which generally revolve around using a DI container to inject DbContext instances with a PerWebRequest lifetime) will work just fine. They also have the merit of being very simple - at least at first sight. For certain types of applications however, the inherent limitations of these approaches pose problems. To the point that certain features become impossible to implement or require to resort to increasingly complex structures or increasingly ugly hacks to work around the way the DbContext instances are created and managed. Here is for example an overview of the real-world application that … [+]
Read more