Optimising algorithms in Go for machine learning

In my last blog post I walked through the use of machine learning algorithms in Golang to analyse the latent semantic meaning of documents. These algorithms, like many others in data science, rely on linear algebra and vector space analysis. By their nature, they often have to deal with large data sets, so any inefficiencies in the data structures used or algorithms themselves can result in a large impact on overall performance and/or memory usage. »

Semantic analysis of webpages with machine learning in Go

I spend a lot of time reading articles on the internet and started wondering whether I could develop software to automatically discover and recommend articles relevant to my interests. There are various aspects to this problem but I have decided to concentrate first on the core part of the problem: the analysis and classification of the articles. To illustrate the problem, lets consider the following string representing an article for the purpose of this example. »

Continuous delivery tool landscape

I have been having a lot of discussions recently about tooling to support continuous delivery and DevOps practices. There is an incredible and ever increasing array of tools available for these practices. Whilst a number of vendors have developed one-stop solutions or suites of integrated tools, many of the tools in the space tend to be tightly focused on addressing a particular problem. Unfortunatley this can be confusing and overwhelming, especially to people starting out, making it difficult to know where to start and which tools to consider. »

Using data to identify the impact of Southern Rail industrial action

I, like many others, have been affected by the ongoing industrial dispute over Driver Only Operation (DOO) on Southern Railways. On some days this amounts to delayed or cancelled trains with extended journey times and the inconvenience of standing all the way into London and on others, like today, strikes leave no viable way of getting to work in London at all. There have been many attempts to measure and demonstrate the impact of the industrial action such as the use of the #todayimissed hashtag on Twitter (see below), a recent passenger survey conducted by The Association of British Commuters and even a tongue-in-cheek video game. »

Standardisation in the Enterprise

In enterprises there is often a strong desire to standardise. The reasoning is simple: if we are all doing things the same way, using the same technology, then we can simplify our operations, benefit from economies of scale and make our people more fungible. So by extension, not standardising means duplicated effort, resources and expenditure. But are things really this clear cut? Perhaps we should begin by thinking about the meaning of the word standardisation and understanding the alternatives. »