Software Architecture

What is software architecture? It depends. Everyone in IT asks this question at some point and the answer they get is a mixed bag depending on who tries to answer it. So to deepen the general state of confusion I thought I would add yet another definition. What IS a Software Architect? It depends. I think of Software architects as “Master builders”. They may not have the title “Architect” but they are doing most of the following:

On the Design of Small Things

Those who do not understand UNIX are condemned to reinvent it, poorly. Henry Spencer The following is from the wikipedia article on Unix Philosophy. It is interesting to apply these rules when designing Microservices, there is significant overlap. Unix did it first. In his book, The Art of Unix Programming that was first published in 2003, Eric S. Raymond, an American programmer and open source advocate, summarizes the Unix philosophy as KISS Principle of “Keep it Simple, Stupid.

2016 Round-Up

So another year draws to a close and I thought I would review the last 12 months in my favourite data struture; lists. Think of this as a far less interesting homage to Fogus yearly reviews. Books Technical Over the last few years I consume less technical books purely because the content to be found online can be of great quality and books can rarely keep track with the rate of change in tech.

Software, Estimation and the Planning Fallacy

My flight is delayed for 3 hours so I’m taking the rare opportunity to put together some thoughts on how software project estimation can trip companies, teams and individuals up. Waterfall Remember way back when everyone thought the Waterfall model was great? Well actually no, for the most part they didnt. The Waterfall model was put forward by Winston Royce back in the early 70’s as an example of a broken SDLC model.

Javascript Equality Operator Grids

Javascript gets some bad press these days especially over how its comparison operators work. I decided to extend Craig Gidneys example and added ===, !=, !== <, <=, > and .= comparisons. Rows are the left side operand and columns are the right. Source code on jsfiddle

Directed Graph of hubski users created with D3

Using some c# code to scrape hubski.com I was able to produce a pretty basic directed graph showing users follower connections. Source code on github Demo version Advanced Demo version I started off by scanning a users profile and recording various pieces of information such as: - Age in days - Number of followers - Number of people followed - Number of badges received. I then looped over each of that users followers and recorded the same information, and then their followers, and then their followers… you get the idea.

about

What is this blog about? This is a playground blog to store some posts written by a guy called Gary Kenneally. You should follow me on twitter @secretdeveloper. This blog contains static content generated from a github repository Development Programmer, System designer, and Technical Lead on a variety of large enterprise projects and solutions including Websites, Windows Services and large SOA systems. Other than that I play with all sorts of different technologies when I find the time.

Data Models, functional composition and validation

While I am working my way through the Functional Javascript book I came across something that could be really useful, especially when dealing with AJAX requests. Functional Composition In a nutshell you start with simple functions that do a single job and then chain them up to perform some larger task. In this example we want to validate that the json being returned from an AJAX call contains the properties we require.

KnockoutJS demo using Google Books API

Knockout.js Introduction A quick and dirty demo to show off a very simple example of what you can do with some knockoutjs code and an AJAX call. I use the google books API to provide a simple search form. Show me the Code JSFiddle: Check out the jsfiddle I also use the underscore library to work with the observableArray but that is not really a requirement. I just like it.

Functional javascript using underscore

Functional javascript using underscore Why? A little while ago I picked up Functional Javascript by Michael Fogus. I’m only part way through it and to be honest I should probably have waited until I finished it before starting this post but… There is a central theme to this book which intrigued me, indeed its one of the main tenets of functional programming. It can be summed up in this quote: >“It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures.