A Foray into Home Networking

It’s not often that I have considered what happens in my local area network. For the longest time I’ve subscribed to the standard model of procuring internet from the cheapest ISP and plugging in their modem/router/switch device. BUT all this convenience comes at a cost:

Read More

Images to Ascii art

Ascii art has always been an interesting topic to me. Though it’s style may seem a little dated it still finds plenty of use amongst modern terminal emulators today.

Read More

A Wordle extension

The hype and buzz around Wordle may have significantly died down but there’s always time to plug an extension that makes it even easier!

Read More

A Foray into Combinatorics

Recently I watched a Youtube video made by Geoff Marshall (General railway infrastructure and London related transport Youtuber) that introduced the notion of travelling on the minimum possible stations on the underground network to cover every single character in the english alphabet (a-z).

Read More

Returning to the Snake Cheater

Some time ago I started developing a “snake cheater” that would effectively play the snake game automatically. The solution involved something called Hamiltonian Cycles but lead to an ultimately very slow “completion” time. I remarked at the time it might be worth exploring some path finding opportunites so that’s the purpose of this post.

Read More

MongoDB with Flapdoodle

MongoDB provides a no SQL database that’s easy to use and generally quite quick and easy to setup. However there are times where it might be painful to have to manage both a client application and a seperate instance of the DB (integration testing springs to mind). Enter Flapdoodle a Maven dependency that can manage MongoDB alongside our application.

Read More

Tic Tac Toe in C++

C++ has always been a language that has interested me. Coming from a more web-orientated environment it’s easy to forget how much other languages and frameworks abstract away from the developer. The aim here is to write a (very) small Tic Tac Toe game that inherits multiple improvements over time!

Read More

A web stack with Kotlin

Kotlin is the brainchild of JetBrains and having used IntelliJ IDEA exensively it felt only fitting to see what the languauge itself is capable of and how it’s supported (as a relatively fresh language) amongst the web development community.

Read More

Enhancing the Snake Cheater

A few weeks ago I developed a small program capable of defeating Snake. The ‘science’ behind it was fairly simple: follow a set pattern until victory was achieved; and it worked. But it would be nice to develop a more advanced solution so I decided to augment the codebase to provide me with more information to make smarter choices. I’m still working on how to make those choices however…

Read More

AI Cheating on Snake

This might be another Snake related post but finding ways to cheat in this game provides some interesting challenges indeed.

Read More

Writing, mapping and persisting dynamic .json using Jackson, Spring and Mongo

JSON is a fairly standard data-interchange format and is readable by humans too. It’s common with microservice architecture that individual components will communicate via JSON. Things can get slightly more complicated when less is known about the shape of incoming JSON. This post investigates writing dynamic JSON, mapping it back into POJOs and writing it to a noSQL database (MongoDB).

Read More

SNAKE || React

The game snake is a classic in the development world. It’s not overly complicated in design and should be instantly recognisable and easy to play. I chose to ‘introduce’ myself to React by developing a simple implementation of the classic game!

Read More

Processing Custom Annotations at runtime

Annotations have been a key part of Java since they were introduced, and often provide convenient and fairly intuitive usage. It’s little wonder that they’re widespread and don’t just add ornamental value to code. This post explores implementing some custom annotations and processing them at runtime!

Read More

Writing POJO's to .csv

Writing java objects to ‘comma seperated values’ is nothing new. It turns out there are many ways to accomplish this and enough to warrant this post about a couple of approaches I took.

Read More

Failsafe and parallel testing using Cucumber

Automated testing has always been a prominent part of our service pipelines. These tests provide the feedback and safety net vital to our continuous deployment strategy but there exists a problem… We have too many!

Read More