Endjin - Home

endjin blogs

Think Smarter

In this world, we have to face up to the horrible possibility of failure. Sometimes, that failure is irrecoverable. There’s no going back. Sometimes, we can have another bash at it and see if it comes out OK the second time around. Or maybe the third. Or the fourth. In the software business, historically, we’ve […]


In part two of this series, we’re going to get set up with an environment in which we can execute code. If you’re running a version of Windows on your desktop/laptop, then this is the post for you. If you’re running a version of Linux on your desktop/laptop, then this is the one you need. […]


Getting set up on Linux Installing on Linux is a bit more complicated than installing on Windows. I’m assuming that if you’ve opted for Linux, you’ve got a bit more technical experience. I hope so, or some of this is going to be a bit confusing! I’ve used Ubuntu Linux 12.10 in a default desktop […]

Category: Development

Getting set up on Windows You need to be running Windows 7 or Windows 8 (or later). If you’re running Windows Vista or Windows XP, I’m sorry, but this isn’t going to work for you. First, we need to make sure that the .NET Framework V4.5 is installed. If you happen to have installed Visual […]


Xamarin platform setup gotchas

by Pascal Arnould

Yesterday I attended the “C# and Mvvm – Developing apps for all of Android, iPhone and Windows” event hosted by Stuart Lodge at Modern Jago. In preparation for the day I had the daunting task of setting up my Mac (OS X 10.8) for cross platform development with Xamarin. While most of it was fairly straight forward and well documented (see Installing Xamarin.iOS), I came across a few gotchas worth blogging about.


In the last post I introduced v2.0 of our open source, composition framework. In this post, I’m going to cover a quick example of how to get started with the basics of the endjin composition framework. Firstly, we define an interface for some type Then, we create a concrete type for our interface Now we can […]


Introduction Programming, like most crafts, is the process of taking one thing and turning it into another thing. Turn a touch on a screen into a character in a message, or a tap on controller into the sideways shuffle of a character in a game. Simple to describe, they’re actually quite complicated to achieve, involving […]


We’ve just pushed out version 2.0 of our open-source, component composition framework. This is the framework we use internally day-in, day-out for our dependency injection. The previous version had a dependency on Castle Windsor, but in this new version we have implemented our own container. There are a few reasons we decided to take this […]


Collaboration is the ability to pull together expertise and ideas. In our office you’ll often hear the developers say ‘lets get it working, while the designers get on with the chrome.’ This isn’t a case of passing the buck it’s just enabling the developers to engage their expertise and deliver their part of the job […]


I’d like to start the Campaign for Rational Business(1). CamRB(2). The aim of the campaign is pretty simple. Try to inject at least a little bit of rigour into your decision making. You’d be amazed how many businesses don’t. Articulate your idea in terms clear enough for people who work outside of your business to […]

Category: Strategy

PowerShell Best Kept Secrets: Splatting

by Howard van Rooijen

It’s been over a year since I wrote An Omega Geek’s Guide to Learning PowerShell, and I thought it was about time, with all the recent  noise about scriptcs, that PowerShell should get some more love as it’s a much overlooked and misunderstood gem of the .NET and Windows ecosystem. When I announced in the office that […]


Azure Cloud Migration Portal

by Matthew Adams

Today, we’ve set up what is the beginnings of a one-stop shop for information about Azure Cloud Migration projects. It consists of a bunch of curated links to case studies, whitepapers and developer tools, along with a feed of the latest Azure-related blogs and twitter feeds. If you’ve got an article, case study or tool […]

Category: Cloud

In the past few months we’ve had several several requirements for charting and data visualizations across Windows 8 Modern Apps, Windows Phone 7 & 8 and desktop client applications. We’ve written up a client story that touches on this need. Here are some of the charts on the desktop: And on the phone: And here they […]


Part 1 of the series talked about Different Branching Models. Part 2 covered GitFlow – a Branching Model for a Release Cycle and part 3 covered all the GitFlow Commands. In this final part of this series about adopting GitFlow, we’re going to cover how we can use the exciting new feature branching abilities of TeamCity 7.1 to allow […]


Templify 0.7.0.25 is available.

by Howard van Rooijen

Templify is a simple tool that aims to solve one simple problem and solve it well: Every project starts the same way, You create a place to put Solution Artefacts On one file system On one computer Templify allows you to create a tokenised template of your entire solution. So if you’ve got a default […]


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