Software Development
-
Neo4j: Finding all shortest paths
One of the Cypher language features we show in Neo4j training courses is the shortest path function which allows you…
Read More » -
Revisiting the First Rule of Performance Optimisation: Effects of Escape Analysis
In an earlier post I wrote about how to start optimising for performance. If you haven’t read the post I would…
Read More » -
Designing a Disruptive Technology Strategy
Growing up, my sister Christina was always interested in architecture and I wasn’t–at all. She was constantly visiting houses, churches,…
Read More » -
The Product Strategy Defined
Summary Creating a successful product requires attention to the details, from getting the user interaction and the visual design right…
Read More » -
Spark and Cluster Computing
In this post I’ll mention the first paper at which Spark is introduced, Spark: Cluster Computing with Working Sets. This post…
Read More » -
Does TDD really lead to good design?
Recently I tweeted that TDD can’t lead to a good design if we don’t know what good design looks like.…
Read More » -
It’s okay for academic software to suck
Bozhidar Bozhanov wrote an blog post titled “The Low Quality of Academic Code“, in which he observed that most academic…
Read More » -
Replacing Inheritance with Composition
Quite a while back, I posted about how, despite the fact that you should prefer composition over inheritance, you can…
Read More » -
PostgreSQL’s Best-Kept Secret, and how to Use it with jOOQ
PostgreSQL has a lot of secret data types. In recent times, PostgreSQL’s JSON and JSONB support was hyped as being…
Read More »