deep dive #8: Resources and ORM

Now we’re standing at the edge of the code pool. Let’s dive in! Good background reading: Deep dive #4 on ORM choice, deep dive #7 on database schema. The resource model As I described in my previous post, we ended up storing all different types of resources in one table. However, we model each of […]

January 10, 2012 · Jouni Heikniemi · One Comment
Tags: , ,  · Posted in: .NET, Web deep dive #7: The resource data storage model

After the previous post on how our CMS works on a concept level, it’s time to explain the technical details. Note that remembering the previous post’s concepts is pretty much mandatory for understanding this discussion. Oh, and this gets quite detailed; unless you’re designing a content management platform, you probably don’t care enough to read […]

November 19, 2011 · Jouni Heikniemi · No Comments
Tags: , ,  · Posted in: Web deep dive #6: Features of our custom CMS

In the last post, I touched on the choice of using a CMS product or writing your platform yourself. We picked the custom platform approach, and this time I’ll tell you what that led into. What’s in a Content Management System? Wikipedia defines CMS in a very clumsy and overgeneric way. Let’s not go there. […]

November 5, 2011 · Jouni Heikniemi · One Comment
Tags: ,  · Posted in: Web deep dive #5: Content Management Systems as platforms

After a brief hiatus, it’s time to look at the Valio case again. This time, I’ll explain a few decisions behind our content management model. I’m sure some of this sounds familiar to almost every web site developer, although most won’t probably dive as deep as we did. The setup So you’re developing an ASP.NET […]

October 20, 2011 · Jouni Heikniemi · 2 Comments
Tags: ,  · Posted in: Web deep dive #4: Solving the ORM dilemma

In my series on deep dives, I’ll return to the original fields of Offbeat and discuss some backend solutions. We won’t dive into the code today, but will take a look at some hard architectural choices. Essentials of your ORM decision We chose to build a reasonably large web site using NHibernate. A few […]

May 27, 2011 · Jouni Heikniemi · One Comment
Tags: , , , ,  · Posted in: .NET featured on the Vierityspalkki blog

A step aside from the deep dives! The project is now also presented in the famous Finnish blog. If you can read Finnish, check out my guest post detailing the site and project from a general web developer (non-backend) perspective. Meanwhile, deep dive #4 is cooking. The topic will be OR mapping, and […]

May 20, 2011 · Jouni Heikniemi · 4 Comments
Tags:  · Posted in: Web deep dive #3: Review tooling

After my previous post on review policy, let’s have a look at the tools we used for reviewing code. I have found there to be two approaches to reviewing code. Let’s do a quick comparison first and discuss the tools of the trade next. Patch-based review Social review The key concept here is that a […]

May 4, 2011 · Jouni Heikniemi · 2 Comments
Tags: ,  · Posted in: Misc. programming deep dive #2: Code review policy

In this second episode of my postings on, I’ll look deeper into the concept of code reviews in the project. Pre-post note: No, I’m not following a logical order with these. Rather, I’ll try to answer the asked questions as soon as I can while still maintaining a readable approach to the project details. […]

April 28, 2011 · Jouni Heikniemi · 2 Comments
Tags: ,  · Posted in: Misc. programming deep dive #1: Understanding our JavaScript philosophy

In this first part of my series of postings on the project, I’ll discuss some design aspects of our use of JavaScript. We outlined these principles in the TechDays presentation, but the guidelines are worth repeating in print as well. What drove us to this? First, let us reiterate the project background and goals. […]

April 18, 2011 · Jouni Heikniemi · 2 Comments
Tags: ,  · Posted in: Web

Out of the dark

It’s been a silent couple of months. Offbeat Solutions has been heads down programming, debugging, optimizing – and then, finally shipping. Now it’s time to look back. In TechDays Finland 2011 we finally talked about our latest customer project, the web site (slides available, in Finnish). In case you’re not from around here, Valio […]

April 8, 2011 · Jouni Heikniemi · 6 Comments
Tags: ,  · Posted in: .NET, Web