RSSAmplifier

Blog

John Hearn

Science and software

johnhearn.github.ioRSS feed ↗20 posts

Latest posts

Matrices of Boolean Nets

When studying the boolean networks on the last post I wondered what the state update rule would look like as a matrix. These things can always be represented by matrices . Working out how to do it led to some nice links to quantum computing and category theory. A few things led me to the way to construct the boolean net matrices. I knew that representation theory says it should be so but that…

Kauffmann’s Basic Gene Nets

Stuart Kauffman’s 1969 paper Metabolic Stability and Epigenesis in Randomly Constructed Genetic Nets introduced a simple model of gene interaction which seemed to capture certain characteristics of real biological systems. It was a precursor for later work on NK-models and cellular automata . They have come up recently in different forms such as Stephen Wolfram’s work on biological computability 1…

Christopher Alexander and Network Theory

The aim of this article is not to give a complete picture of 60 years of his work. I suggest you read his books for that. Rather it is to explain just enough to see the arc and place it in context. In his early work, “ Notes on the Synthesis of Form (1964) ” (abbreviated in the following as NotSoF ), Christopher Alexander explored a mathematical, network-based approach to design. He conceptualised…

Predictability and batch size

Some results from a little Monte Carlo simulation of delivery times posted on LinkedIn showed that predictability decreases with larger batch sizes . A little maths shows clearly why this is the case. The model The post compared a team delivering one work item per day with a team delivering 5 work items together every 5 days. The teams have a batch size of 1 and 5 respectively. In this situation…

Dunbar’s number deconstructed (again)

Last week I was looking at how Dunbar arrived at his famous number and learnt a lot about the effects of different types of linear regression and the limits of their predictive power. I concluded that, while the science was good, the wide error margin in the linear regression over log transformed data means that we need to apply a good deal of caution about arriving at any specific number. The…

Investigating Dunbar’s number

In a seminal paper 1 from 1992, Robin Dunbar extrapolated from the brain measurements of different animal species and their typical social group sizes, to make a now famous prediction about human social group size. His analysis led him to what has become known as Dunbar’s number , 150, which has had multiple applications in different organisational contexts. 1 Dunbar, R. I. M. ‘Neocortex Size as a…

On not having a map

Dora and Boots are on one side of an island and they want to get to the other side. Dora the Exploradora and her monkey friend Boots are on a mission. They are on one side of a magical island and they need to get to the other. She gets out her trusty map from her purple rucksack and sees that there are no roads or paths so she carefully plans the very best route she can with the information she…

Flow and Cognitive Load

“Maximise flow by minimising cognitive load”. Wait a minute… I’ve had a bad back recently and have been scrolling LinkedIn more than I usually do. One thing I noticed was the words “flow” and “cognitive load” coming up a lot, quite often together. Now I’ve heard three people in real life saying almost the exact phrase above and I think it warrants a bit of extra thought. I guess the first whiff of…

A Little Every Day

People have given me a lot of advise over the years. “Do what you love.” Ha ha. “Measure twice, cut once.” Well, that would depend, wouldn’t it. In the end there are only a couple of phrases which stick with me. One was “Always run to something, not from something.” Run to a new job, not from an old one. Run to safety, not from a fire. Maybe I’ll write about why that helps sometime. Another piece…

Inverse Markov

Markov chains are a fantastic tool for modelling how stuff moves about over a network of possible states. Think about them as probabilistic state machines. Its uses are widespread, from Google’s PageRank algorithm which models the way users move about the internet to analysing the ways players move around a Monopoly board . We can also use it as a simple model of workload in a distributed system…

Accelerate and Farmers’ Gates

Accelerate: Building and Scaling High-Performing Technology Organizations by Nicole Forsgren, Jez Humble, Gene Kim The kind of gate I’m talking about. In the rural community where I grew up there was a common aphorism: “ A good farmer has good gates ” and generations of experience showed that this is a pretty good rule of thumb. If you took a group of researchers and surveyed the local farmers’…

Why Lognormal?

The log-normal distribution is sometimes used as a simple model for the distribution of latencies from real-world systems. By no means is it a perfect model and sometimes alternatives are better, especially when the load is far below maximum capacity but at high load I’ve empirically found it to be a reasonable fit. It’s important to understand that models are just models. Under different…

Load Balancing Strategies and their Distributions

Results of a simulation to compare four of the most well known load balancer strategies: Round robin - requests are routed to each of the available servers in turn Least occupied - requests are routed to the server with least current requests Random - requests are routed to a randomly selected server Random 2 - requests are routed to one of two randomly selected servers, where the chosen server…

Polynomial Chaos

Emily Gorcenski - Polynomial Chaos: A technique for modeling uncertainty - Polynomial chaos is a somewhat obscure technique that leverages a natural connection between probability distributions and orthogonal polynomial families. This talk demonstrates the technique and its applications . (The Julia code for this blog is available in my GitHub notebooks repo and online here .) This talk appeared…

Stop Using @Autowire

The Spring Framework is one of the most widely used Java frameworks around. There is a lot of great stuff in the Spring eco-system so it’s a shame to see its flagship feature, a dependency injection container, being widely misused. First some history. Cheesy quote of the day: „ You have to know the past to understand the present. “ — Carl Sagan Spring has been around since the early-2000s and was…

Technical Practices for Continuous Delivery

DORA recommends strengthening a core set of technical practices 1 to “drive” 2 Continuous Delivery, which in turn “drives” business performance. 1 Go to the website and click on the “Technical Practices” node. Alternatively take a look at their book Accelerate which lays all of this out in detail. 2 Causal inference is a stated assumption. It’s debatable whether this is the case but that’s for…

Teams, Systems and Catastrophe

Many surprising discoveries were made in the last century about how groups of connected things behave and interact. I would like to present a couple of the simplest results which, I think, can help us understand some of the phenomena that we see in our daily lives. You’ve probably seen the murmurations of swallows and the mesmerising bees which are examples of this. To avoid over-abstraction I’ll…

DIKUW for Programmers

One of the most interesting models that I’ve seen in recent months is from a talk on Systems Thinking by Dr. Russell Ackoff . It’s variously called the DIKW Pyramid (a mneumonic for D ata, I nformation, K nowledge, W isdom) or the Information Chain, amongst many other names. Dr. Ackoff also includes a category called “ U nderstanding” which is avoided under some philosophical treatments but I’ll…

The Hodgepodge Machine

“ The pleasure of complexity… the inconceivable nature of nature ” - Richard Feynmann Back in the 80s, my Dad used to work as a security guard at a geothermal energy research site and sometimes I would accompany him on his rounds. The facility was well funded and very advanced for its time and there was all kinds of computer equipment which was at that time both fascinating and alien to me. There…

Chaotic Waterwheel with Planck

(Update: Many thanks to shakiba for fixing this and adding it to the Plank.js homepage as an example.) I’m just finishing Steven Strogatz ’s Nonlinear Dynamics and Chaos course and one of the systems he discusses is the chaotic Malkus water wheel. This is a real set up devised to mimic the famous Lorenz equations . “ In the 1960s… a real system was needed to demonstrate that chaos and the…