Word Puzzles with Neo4J
Stuck on a long train journey with only a single newspaper, my companion and I ran out of reading material and turned to the puzzle pages. One puzzle caught our attention: the “Word Morph”. Start with...
View ArticleFaster Word Puzzles with Neo4J
When I used Neo4J to create and solve Word Morph puzzles, I brute-forced the algorithm to find and link words that differ by one letter. I was lucky – my dataset only contained four-letter words and...
View ArticleRefactoring JavaScript from Sync to Async in Safe Baby-Steps
Consider some JavaScript code that gets and uses a value from a synchronous call or built in data structure: function to_be_refactored() { var x; ... x = get_x(); ...use x... } Suppose we want to...
View ArticleWorking Effectively with Legacy Tests
At the Agile Cambridge conference on the 1st of October, Duncan McGregor and I are running a workshop entitled Working Effectively with Legacy Tests. Legacy what‽ In Working Effectively with Legacy...
View ArticleHigher Order React Components
When writing user interfaces with the React framework, I often find that several of my components have similar behaviour. For example, I may have several components that display the eventual value of...
View ArticleMessage Obsession
I’ve noticed a “code smell” in object-oriented code that I call “Message Obsession”. I find Message Obsession causes similar difficulties to Primitive Obsession. However, Message Obsession appears to...
View ArticleA Whirlwind Tour of the Kotlin Type Hierarchy
Kotlin has plenty of good language documentation and tutorials. But I’ve not found an article that describes in one place how Kotlin’s type hierarchy fits together. That’s a shame, because I find it...
View ArticleEarly Impressions of Kotlin
We’ve been using the Kotlin programming language for a few weeks on our latest project to perform technical experiments, explore the problem space, and write a few HTTP services. I’ve also ported...
View ArticleMistakes we made adopting event sourcing (and how we recovered)
Over the last year or so we have been building a new system that has an event-sourced architecture. Event-sourcing is a good fit for our needs because the organisation wants to preserve an accurate...
View Article
More Pages to Explore .....