Endjin - Home

endjin blogs

Think Smarter

Example Responsive Layout Using Bootstrap

by Matthew Adams

In my previous post, we listed a few learnings from our experience of using Boostrap as a layout engine in an HTML5 website. In this post, I’ve put together a basic example that illustrates some of the techniques we talked about. I’ve structured a page with a header; left-hand sidebar; body content with a call-out […]


We ran a retrospective of our first few Bootstrap-based HTML5/Javascript projects a few weeks back, and distilled some of the output into these top tips. 1) You don’t have to use a container-fluid to make the design responsive container-fluid is a full-width, smoothly resizing container (e.g. for apps). container is a pseudo-fixed-width, centred container that […]


Update: You can read the 2015 version of this post here. My post yesterday about programming language diversity and barriers to adoption prompted a fair bit of discussion, I’m pleased to say. Some of the most frequent comments were about languages I had erased from history. First, I forgot about the languages that are often […]


Which programming languages should I learn?

by Matthew Adams

We were having a discussion about languages, prompted by a piece of technology strategy work we are doing around Node.js, and I came away with the impression that there is a general sense that we are moving from a period when the C-family of languages had a hegemony (from the mid-nineties onwards) into a period […]


Since my last post we have been busy ‘snagging’ our site, building on our visual language, and pulling together potential merchandise. Like any brand we realise that it needs to continually evolve and be refined. So what is our next step? Now we have the foundations, we need to continue to develop our visual language and […]

Category: Experience, Strategy

Metrics & Reporting in Strategy Development

by Matthew Adams

Previously, we’ve talked about the idea that Strategy is a kind of hypothesis about the future development of your business. What’s a hypothesis? The fount of all wisdom, Wikipedia, defines a (scientific) hypothesis as “a proposed explanation of a phenomenon which still has to be rigorously tested.” You can take any metaphor too far, though. […]

Category: Strategy

In part 1 of the series I talked about the difference in branching models inherent with the different types of version control system. In part 2 I talked about the problems inherent in the software development, release and support cycle and how GitFlow was designed as a workflow to try and solve or at the […]


Phased Thinking: Tactics for strategy

by Matthew Adams

Thinking strategically is difficult. Really difficult. You might think that whatever you are doing in your day job is difficult, but that’s peanuts to strategy. Like any big, difficult problem, it is helpful to try to break it down into smaller, less scary problems. Focus We approach strategy development in three phases. Whether it is […]

Category: Strategy

In Part 1 – I covered off a brief overview of the branching model differences between TFS and Git. One of the most interesting developments to happen in the Git ecosystem (apart from its growing adoption rate) is the creation of the Git Flow branching model and its embodiment as an plugin extension to the core Git client libraries. […]


This is the first post in a series covering our experiences conceptualising, designing and delivering endjin’s evolving digital strategy. It’s Wednesday morning and there’s an air of expectation. We spent last week moving to our new offices and it’s a stone’s throw from one of our favourite restaurants. This, however, is not the only reason […]


Almost all of our engagements start with a goal statement of some kind: a client comes to us and asks for some help with “something.” That “something” is, more often than not, couched in terms of a partial solution. “We need some help with our Windows Azure migration” or “We need some help with our web […]

Category: Strategy 2 Comments

When we setup endjin in 2010, there were five activities we did on day one: set up a business bank account, set up a FreeAgent account, for all our accounting needs signed up for Office 365 (or BPOS as it was then), registered the endjin GitHub account built a virtualised Continuous Integration Environment using TeamCity. […]


Back to the Future: HTML and Javascript in 2013

by Matthew Adams

It has been a long time since I Rock and Rolled I HTMLed Recently, I’ve made a bit of  time to pick up my Les Paul and remember how to noodle away at some of my favourite Led Zeppelin numbers (and discover I’d re-purposed a bunch of those neurons; not to mention worn away the […]


RavenDB in the Cloud

by Matthew Adams

We’ve been building some content-managed websites recently (this one, for instance). We needed a storage solution, and, as with many other document-centric applications, a document-orientated database is really what we want – something that lets us read, write and query document-structured data (1). With Microsoft Windows Azure you have a bunch of different storage options available. Key/Value Pair data […]


Background Twilio is a cloud based voice and SMS service and this post will show you how easy it is to create your own inbound voice application using MVC 4 Web API. The basic premise of how it works is Twilio parses a form of XML called ‘TwiML’, which contains various verbs telling Twilio what […]


Integration testing with Web API

by Mike Larah

I recently had do a project where I wanted to run integration tests on some Web API controllers, so this post is to describe the method for doing so. The way to do it is to mock an HttpServer and HttpClient class, but first you have to change some of the config to get them […]


Agile:MK January 2013 Meeting

by Howard van Rooijen

Technologists who work in London are very spoilt for choice when it comes to user groups – there are generally more on in any month that any single person can attend. Unfortunately if you live or work outside of London – depending on the area – it can be a bit desolate. Endjin are proud […]

Category: Development

Calculating Distance using SQL Server Spatial CLR Types

by Howard van Rooijen

I created a quick sample to solve a problem today and thought I’d post the code as it took me a while to track down all the relevant bits of information. The problem I wanted to solve was that I needed to be able to geocode a user’s postcode and then calculate the distance between their […]


DDD10 Conference

by Mike Larah

Saturday I attended the Developer Developer Developer DDD10 conference held at Microsoft HQ in Reading. There were some great talks throughout the day and I’ll highlight a couple of the ones I attended. DDD, CQRS and Event Sourcing – Neil Barnwell First talk of the day from a first time Developer Developer Developer speaker (although […]

Category: Culture

As I was setting up the framework for my apprenticeship portal MVC 4 web application, I used part of endjin’s core composition framework for the dependency injection, which utilises Castle Windsor. (Here is a link to some useful videos on dependency injection and Castle Windsor that helped me to understand why they are used). Part of the framework […]

Category: Development