About:

Aran Wilkinson is a Huddersfield-based software engineer, contractor and mentor specializing in Golang, Rust, cloud, CI/CD and event-driven systems. Enjoys cooking (pizza), cycling, travel and DIY.

Website:

Specializations:

Interests:

Building robust and scalable systems Golang Rust Cloud technologies CI/CD systems Event-driven architectures Greenfield projects Real-time systems

Outgoing Links:

Subscribe to RSS:
The blog post details the development of a Kafka consumer in Go, designed to process and store real-time railway data in PostgreSQL. It discusses the architectural decisions, challenges faced, and lessons learned during the projec...
Go 1.25 introduces an experimental JSON v2 package aimed at improving performance and flexibility in JSON processing. Key enhancements include significant speed improvements in marshalling and unmarshalling, stricter parsing rules...
Go 1.24 introduces a new 'tool' directive that simplifies project dependency management by integrating tools directly into the go.mod file. This feature addresses the common issue of version stagnation in distributed systems, allo...
The article discusses the author's experience building a home automation system that processes motion sensor data from various IKEA Zigbee devices. The author faced challenges with Home Assistant and Node-RED due to their limitati...
The article discusses the detrimental effects of engineering arrogance on innovation within technology companies. It defines engineering arrogance as the misuse of technical expertise that creates barriers to collaboration and sti...
The blog post discusses the enhancements introduced in Go 1.22 to the net/http package, particularly focusing on the new router capabilities that allow method matching and wildcard patterns for HTTP routes. It emphasizes the benef...
In this devlog, the author discusses the development of a custom event bus in Go for internal event delivery within their codebase, emphasizing the need for a robust solution to handle numerous events, particularly from Stripe. Th...
This article provides a comprehensive guide on building a production-ready MQTT client wrapper using the Eclipse Paho Go library. It covers the MQTT protocol's publish-subscribe model, connection management, message routing, and e...
The author discusses a bug encountered in a YAML configuration related to string replacement using bash-style variables. Initially, the author supported $LOG_LEVEL, but this caused issues when secrets containing dollar symbols wer...
The author discusses various methods of application configuration, ultimately advocating for a hybrid approach that combines YAML for structured configuration with environment variables for dynamic values. This method balances rea...
The article discusses the design philosophy of the Go programming language, emphasizing its preference for composition over inheritance. It explains how Go promotes simplicity, clarity, and efficiency through the use of small, sel...
The author discusses the development of a standalone application named 'stria' aimed at simplifying Stripe integrations for side projects. The post outlines the technology choices made, including the use of the Go standard library...
The post introduces yamlcfg, a new library aimed at simplifying YAML and environment variable configuration for Golang applications. It utilizes gopkg.in/yaml.v3 and Go's os.ExpandEnv function to replace environment variable place...
This guide provides a comprehensive overview for Go developers on integrating with the Google Sheets API. It covers essential concepts such as A1 notation, setting up the development environment, creating and configuring spreadshe...
The author discusses their experience rewriting a bash script that retrieves WiFi passwords from macOS Keychain and generates QR codes, transitioning the project to the Zig programming language. They detail the challenges faced du...
Aran Wilkinson discusses the development of Stria, a service designed to simplify payment data integration, particularly with Stripe. The post outlines the common challenges faced when integrating payment data, such as managing AP...
The author shares their experience of using NixOS to provision Mac systems and explores its application for containers. The post documents the process of installing NixOS on Proxmox, detailing steps to load the NixOS container ima...
This article provides an introductory overview of encryption and decryption practices using Golang's crypto/aes and crypto/cipher packages. It explains the importance of encryption in modern software development, focusing on symme...
The blog post discusses PostgreSQL table partitioning, focusing on date-based partitioning as a practical example. It explains the creation of a messages table, the implementation of partitioning using the PARTITION BY RANGE claus...
Aran Wilkinson shares a snapshot of his current activities, including working remotely as a Golang Engineer, learning CUE, engaging in DIY projects on his Victorian house, and getting back into photography. He mentions the impact ...