January 20, 2020

Python, Jupyter, and a 2020 goal

I previously wrote about a few goals for 2020, namely (a) learning - or at least getting a feel for - Rust, and (b) gaining some knowledge of Data Science (incl. Machine Learning). Well, we’re nearly three weeks in to the year - so how am I doing? Python and Jupyter Notebooks There’s no getting away from it: Python is pretty much the “industry standard” when it comes to working with data. Read more

January 7, 2020

Dockerised Workspaces: an example with Python & Scrapy

Most of my daily workflow is heavily reliant on Docker; and although it’s a highly respected tool in your average engineer’s arsenal, I still think it’s underappreciated in some scenarios. One of those scenarios for me is in producing small isolated workspaces. A core component of my backup strategy involves Dockerised “workspaces”; simply directories with a Dockerfile, a Makefile or shell script, and some child directories which are largely used as volumes. Read more

December 22, 2019

New Year. New House. New Dog.

It’s nearly New Year, and therefore it’s time for a non-tech post. The last few months have been hectic. I’ve been fortunate enough to be able to have some time for myself, allowing me a bit of a break and some relaxation time: and it couldn’t have come at a better time. Why has it been so hectic though? In addition to some personal stuff that’s been going on for the majority of 2019, I’ve also been plunged in to the world of DIY and dog ownership! Read more

December 18, 2019

Simplest CQRS Implementation: Improvements and better practice

In my previous post I wrote a very simple implementation of the CQRS pattern and shared it via Gitlab; it was purely an illustration for the purposes of the blog post, and therefore it lacked some of the niceties that you’d expect in a “real” codebase. Let’s jazz the example up with linting, proper comments/documentation, unit testing, and automated builds. As in the previous example, you may want to keep up by browsing the repository and checking out any of the commits that are referenced. Read more

December 18, 2019

Writing the simplest CQRS implementation possible

On the rare occasion that CQRS is used correctly, it can be absolutely brilliant; it offers complete decoupling of read and write operations, simplifies access to the data layer, and enables architecturally simple designs. Unfortunately though it’s often used as a wheel to break a butterfly, and it’s simplicity is lost as it’s not matched with the underlying requirements. In this post I want to explore the simplest implementation of CQRS possible: one that I’ll write as I write this blog post. Read more

December 6, 2019

Horror Stories: Dropbox Driven Deployments

It was quite an exciting time: I’d just spent the last 6 months building a new engineering team from the ground-up, mentoring existing members of staff, and undertaking a complete overhaul of technical processes at a relatively large enterprise. I was keen to get to grips with a similar challenge, and began my first day with a wide-eyed smile and a large dose of optimism. First order of the day: a one-on-one with the CEO and a chat about the future of the company. Read more

April 11, 2019

Automating Code Generation With Docker

Code generation can be really useful; need to generate some models from an OpenAPI spec or a Protocol Buffer definition? No problem! Unfortunately in a team environment this can pose a few problems though: What happens when new members of staff join the team and have newer versions of the generation tools? Should generated files be checked in source control - and if so, how can you ensure that no manual modifications are present? Read more

© Fergus In London 2019

Powered by Hugo & Kiss. Source available on Github.