Domain Driven Design – 10 Years Later

I’ve been an avid podcaster since its inception and before podcasting I would web stream my favorite radio shows like This American Life or download the files and transfer them to crappy MP3 flash player. Ah the memories of the days before the iPhone.

I finally caught up with a software engineering radio pod from May of 2015 where the topic was reflecting on Eric Evan’s classic text Domain Driven Design 10 years after its publication.  Reflecting is right. When that book came out I about to start grad school at the University of Minnesota and reading every decent text I could get my hands on. I’ve always prefered looking wide and long at the software field and was drawn to software design, product design, & user experience rather than focusing on stack specialization, russian algorithms, etc. so Eric’s book was a natural fit for me and I remember loving it and praising to all my peers.

Those were critical years in my engineering & leadership development, I was two years removed from creating a flexible ecommerce platform with my mentor and was just beginning with a few new firms around e-leasing & digital media ecommerce.

The software engineering pod brought Eric’s voice back into my head and the terms and language from the book flushed into my thoughts. It’s amazing how memory recall can be effortless when the material, even if distant, struck a chord and anchored in your thought process.

This pod covered how DDD relates to the terms of today like: CQRS, NoSQL, & event sourcing. I was struck with how the principles of DDD have been reflected in the designs of the companies, teams, and projects I’ve worked with since 2005, regardless of the tech space or stack.  I think the book provides considerations that are still very valid today. If you haven’t read the book it’s worth your time, if you have read the book then check out the pod.

Eberhard Wolff talks with Eric Evans, the founder of domain-driven design (DDD), about its impact after 10 years. DDD consists of domain-modelling patterns; it has established itself as a sound approach for designing systems with complex requirements. The show covers an introduction to DDD, how the community’s understanding of DDD has changed in the last 10 years, the often overlooked component—strategic design, how to use DDD to design microservices, and the connection between microservices and the DDD bounded context. DDD originated during the era of object orientation and relational databases; the show concludes with a look at the recent impact of functional programming and NoSQL on DDD.




Peecho Architecture – scalability on a shoestring

Great article by the team at Peecho on their architecture, why they went cloud-based and picked Amazon, and then an overview of their architecture.
High Scalability – High Scalability – Peecho Architecture – scalability on a shoestring.

High Scalability – Web 2.0 Killed the Middleware Star

Interesting read on the use of middleware and its relevance in a web 2.0 world. The comments should drive out some good discussion on what other folks have done.

High Scalability – High Scalability – Web 2.0 Killed the Middleware Star.

Book Review: Pro LINQ

The other week I had to dig up my Pro LINQ: Language Integrated Query in C# 2008 book to lookup a Linq to XML operation. I figured I’d throw a quick thought out regarding this book. My purchasing of technical texts and books has slowed over the years due to the webs growth as a resource on all things but there is still a place for a well written book on a new topic or as a reference. Each year I purge my shelves of books that are now dated so topics like .Net 1.0 or the glory of and web controls. This book I’ll keep around for a while longer as its a great reference for showing the capabilities of Linq in a day-to-day setting. There is a lot of code in this book so it won’t end up being a front-to-back page turner like a more general text on something like MVC would be. It has been updated to a 2010 version but I can’t see a huge reason to spend the extra dough if the 2008 is at the used books store.

As I write this I see a 2005 C# text that should probably go and the .net 2.0 framework training kit text for the MCTS…anyone need a monitor stand? The books are yours!

Unable to cast COM object of type ‘System.__ComObject’ – ahhh what?

With a new Windows7 VM on my MBP I have MSSQL Server 2008 R2, vs2008, vs2010…and sadly SourceGear Vault 3.5 which made it so SQL couldn’t connect to a server via the object browser.

Looked like this:

Unable to cast COM object of type ‘System.__ComObject’ to interface type ‘Microsoft.VisualStudio.OLE.Interop.IServiceProvider’. This operation failed because the QueryInterface call on the COM component for the interface with IID ‘{6D5140C1-7436-11CE-8034-00AA006009FA}’ failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

These helpful posts fixed me up:

Hoping to Make iPhone Toys as a Full-Time Job –

Hoping to Make iPhone Toys as a Full-Time Job – Spring blog cleaning here; the fact that I’m an an inconsistent blogger is highlighted by this saved draft from 4/5/2009 regarding making iPhone apps a full-time job. Back then the plan was to write an iphone app (puts me is a small pool of people…ha), throw it out there for free, learn, promote, then make money with round two.

Looking back over the goal I set last year has been interesting. While I’ve made little strides in the development of this plan I have devoted time on the thought of my applications; and in that time the app world has changed and that changes my plan. MonoTouch is a Godfather horse-head in the bed for developing iPhone apps. I wasn’t likely going to use MonoTouch but I had downloaded and played around with their tools. With Apple’s latest headlines I’m certainly not swimming without objective-c now. Additionally, changes to the commerce model allows greater app flexibility and then there’s always the iPad. It’ll be interesting to see how the next year shakes out…

IIS Compression in IIS6.0

One of my clients business is audio sales via cd-burning and downloading through retail kiosks as well as remote fulfillment via web orders (phew – say that four times fast). It is an interesting business that I’ve been working with for 4.5 years. Besides the content role I’ve had that included CDN management, transcoding, SAN management, audio ingestion, database strategies and what not I’ve recently inherited an ASP.NET site. The site is receiving more business support and our team is working to add features, do a redesign and I’m also doing little tweaks that will help spruce up its performance.

The first item on my list was to implement compression on the site. The web server hasn’t been upgraded to IIS7 yet and I’ve long forgotten how to use compression with IIS6. The best resource I found was Scott Forsyth’s post on it (IIS Compression in IIS6.0 – Scott Forsyth’s Blog – thanks Scott). One item I didn’t do on the first implementation was add js and css files into the static file list so I’ll be doing that as well.

Up next is introducing URL rerouting to deal with dynamic content. I just have a hunch that using will be better than That obviously relates to SEO and after the URL rerouting is in place we’ll go through the results of a IIS SEO Toolkit examination as well as combing through the YSlow results.

A redesign is coming as well and I wish I there was a reason to convert it to a MVC app but it just doesn’t seem prudent.