In defence of breaking changes

James Uther wrote ““Is nuance absolutely awesome, or simply rubbish?” The news quiz, 103:2 For the purposes of this post let’s assume it’s simply rubbish. Received wisdom is that breaking changes to supporting software (OS, libraries, services, etc) is bad. This makes intuitive sense. An API is a contract, and contracts are to be honoured. We have SemVer…”

Using Machine Learning to Filter the News

News Filter Hackaton Team wrote “In Oliver Wyman’s recent Hackathon, we choose to create a News Filtering solution. The idea was to allow users who are sensitive to certain issues to be able to read the news without stumbling upon those issues. This could be useful in many cases, for example, to allow people with health anxiety to read the…”

Constraint-based layout for Scenic—a proof of concept

Patrick Tschorn wrote “Scenic is an Elixir UI framework intended for fixed-screen devices. In Scenic, UIs are constructed and updated by modifying a scene graph, i.e. a tree of graphical elements such as shapes, buttons and text fields. Elements are positioned on screen by specifying their x,y coordinates. In this post, I am going to present Jurby, a…”

NFRs Considered Harmful

James Uther wrote “I’ll make this short. Defining Non Functional Requirements (NFRs) is dangerous. That’s the tweet.”

Cassowary / Kiwi-Solver Elixir Port

Patrick Tschorn wrote “A large variety of 2d diagrams and UI layouts can be described declaratively using x,y-coordinates and spatial relations. These spatial relations, or ‘constraints’, can be expressed as systems of linear in-/equalities, which can be solved automatically by a linear constraint solver. Once the solver has assigned a concrete value to each variable in the system,…”

When does a search database become a search engine?

Chris Perks wrote “Modern databases have a wealth of features to support the querying of text data. We can employ fuzzy search, proximity search, stemming and word-breaking to take natural language queries and return matching records with high confidence. While returning all matching records is a good start, a search engine aims to ensure the most relevant results…”

The ‘Strict Order’ and ‘Exactly-Once’ conundrums

Dries Samyn wrote “Message and event-based architectures have become increasingly accessible in recent years, and the big cloud providers' managed services that abstract the infrastructure complexities away from developers, have made this more accessible than ever. However there are still a number of topics I continue to see a lot of confusion about, most notably strict order and exactly-once processing.”

Creating your own dynamic website

Krista Hyer wrote “In my previous post, I described how beginners can set up a static website. This follow-on post covers setting up a dynamic website. This is a website whose content isn’t always the same. These are slightly harder to set up, but creating one yourself can still be done in a matter of hours. This post…”

Elevation of Privileges—Making Threat Modelling Fun

Luke Richardson wrote “Motivation Threat modelling is hard. There are a few reasons why this is so. One of the challenges is the fact that it’s widely accepted that in order to achieve effective threat modelling, you must ‘think like an attacker’. This can be a drawback because the people attempting to think like an attacker are often…”

Asynchronous, event-driven Systems: Introductory Patterns and a Case Study

Martin Vesper wrote “For some reason, and probably sufficiently late to the party, I was thinking about conceptual patterns for designing an asynchronous, event-driven, distributed system the other day. If the system is event-based, and every action would result in a message passed through the system asynchronously, how, for example, might you implement a simple login? It seemed…”

An introduction in A/B testing—what it is, and why it’s useful

Matt MacLennan wrote “What is A/B testing? A/B testing is a methodology that allows you to compare two different states of a webpage or an app to determine what performs better. It’s an experiment where two or more variants are shown to users at random, then analysis is done to determine which variant achieved the better conversion goal.…”

Creating your own static website

Krista Hyer wrote “Static sites are simple to set up, but creating one yourself can still be difficult without a guide. After I muddled my own way through setting my static website up, I decided to write this blog to help others in my situation.”

What does a second person video game look like?

Luke Richardson wrote “Anyone who has played video games will probably group games into two categories: first-person perspective and third-person perspective. For those who haven’t played video games, first-person perspective is where you see the game world through the eyes of the character you control, and third-person perspective is where you can see the character you control in…”

Code review and keeping in the flow

Dickon Reed wrote “It’s now table stakes for team software development to be done on feature branches and reviewed using a tool such as github’s pull requests. That’s despite, in many situations, a lot of delay while unreviewed code piles up. If you don’t use feature branches on a project, people are puzzled and get uncomfortable. On a…”

Home Energy Dashboard with Elixir and Scenic

Patrick Tschorn wrote “As of last month, I am able to poll my solar PV inverter for its current yield and other interesting data, which I would ultimately like to display using a Raspberry Pi plus touch screen. On this home energy dashboard, I would like to be able to cycle through different pages, showing: current solar PV…”

Is Conway’s law a myth? Does it still hold in today’s corporate structures?

Luke Richardson wrote “This blog post was originally going to be called “does corporate management structure mirror the architecture of a modern day computer?”. I began writing, and during my research a colleague put me onto something called Conway’s law. Conway’s law is the idea that companies and organisations design systems that run parallel to their communication structure:…”