thunk Blog

Enterprise Architecture Principles Resource

Enterprise Architecture principles are a key component of the TOGAF framework for establishing an enterprise architecture capability. This post introduces a set of enterprise architecture principles I’ve collated from the public domain. Others can use this set of principles as helpful resource to start selecting, prioritising and defining their own enterprise architecture principles. The collated
+ Read More

0 comments

Non-Functional Requirements Are Not Nonsense

(But They Are In Need of A Makeover) I have been thinking about this topic for quite some time, but like a lot of my thoughts it had ended up as a Trello card and had went no further (yeah, I have a kanban system for blog posts and I’m still not prolific). Then Gerben
+ Read More

4 comments

Crossing The Chasm with ServiceStack and RestAngular

This post is simply a list of gotchas for anyone using the ServiceStack services/API framework in conjunction with RestAngular client-side JavaScript framework. ServiceStack For me, ServiceStack is the best API framework available to anyone working on the .NET server-side stack. Sure Web API is getting the most traction as a Microsoft product, but its still
+ Read More

0 comments

AngularJS Wars: Service, Factory or Provider?

If there is one subject that causes controversy, confusion and gnashing of teeth amongst the AngularJS community, its whether to use a service, factory or a provider. This post is my attempt to rationalise this most controversial of topics. In order to decide which is “best” to use Forget how you access it syntactically Forget if it’s
+ Read More

0 comments

TOGAF ADM And The Big Bang Theory

This post tackles a common assumption of the TOGAF Architecture Development Framework (ADM), and suggests a more practical approach that is familiar to those with a software development background. For those not intimately familiar with the TOGAF enterprise architecture framework, the ADM is a core component which prescribes a development methodology for architecture projects.  While
+ Read More

7 comments

Cigarette Packet Design

It was when I first started out as a developer I first heard the phrase “designed on the back of a fag packet” (cigarette packet for those not in the UK or Ireland). It was a typically Scottish (i.e. acerbic) way of describing the lack of diligence of certain designers/developers. At that time and where
+ Read More

0 comments

Identify the Identity (Part IV: Abbreviated UUIDs for Application & Resource Identifiers)

Part III of this series of posts discussed how application identifiers can double as resource identifiers for RESTful APIs. This final part discusses the situations where using meaningful application identifiers is not an option and what to do instead. When Application Identifiers Are Not a Good Fit So, in what situations would the adoption of
+ Read More

0 comments

Like What You Do Or Do What You Like

Software development, and programming in particular, is not a job. It is a career, a vocation. If you don’t understand the difference you’re in a job. More Than A Job The tech industry never stands still. If you want to remain technically focused and you want to stay relevant, then you have to put in
+ Read More

0 comments

Identify the Identity (Part III: Resource Identifiers)

Disclaimer: if you are a REST zealot (in particular the enforcement of HATEOAS constraints) you may not like the sentiment of this post. Part I of this series of object identity had a technical focus on why not to use database keys as object identifiers. Part II focused on the conceptual theory of why to
+ Read More

0 comments

Identify The Identity (Part II: Conceptual Application Identifiers)

In part I of this topic, I explained the problem and offered an alternative to exposing database keys as application identifiers. While this alternative is undoubtedly an improvement, it’s far from ideal. In this post we look at why.

0 comments

Identify the Identity (Part I: Technical Identifiers)

This is a post from my old blog which I have edited, expanded, repurposed and I’m putting out again. This time it’s in multiple parts so that I can focus on each important aspect, one at a time. I am finding that despite the enormous leaps and bounds we have taken in UX and developing
+ Read More

0 comments

Changing Bootstrap for Angular-Material with ngbp

I posted some time ago about how to get up and running with AngularJS on Windows courtesy of the ngbp bootstrapping framework, which provides not only AngularJS, but grunt for build, bower and npm for package management and jasmine & karma for unit testing as well as a host of other goodies (Font Awesome, Bootstrap
+ Read More

2 comments

My Essential Non-dev Tools

Apart from the dev tools for crafting a software product , there are a number of tools I think are essential for bootstrap startups like myself, even in the very early days.

1 comment

Use Version Control

For most developers these days this advice will sound obvious. For others, almost superfluous.  However, despite being in this game for 15 years and seeing the carnage, I still come across developers who need to take heed of this almost retro-like advice. These guys are not unicorns. They exist. I can even categorise them: those who
+ Read More

0 comments

Running ngbp on Windows

Josh D Miller has shared ngbp (formerly ng-BoilerPlate), a kickstarter project for getting up and running quickly with AngularJS, build and test tools and a whole other load of awesomeness.  Here, I discuss getting this working on Windows. I have to say that the tools on offer are exactly what I need to allow me to
+ Read More

4 comments