Posts
This is the list
layout for showing blog posts, which shows just the title and groups them by year of publication. Check out the blog
layout for comparison.
2025
2024
- microk8s requires nf_conntrack but doesn't enforce it
- Quarkus update in a gradle multi-module project
- Running shellcheck on justfiles
- Github SSH Signing Keys via terraform
- Pinning GitHub Actions to hashes
2023
- The masochistic joy of Windows
- Straight line port of a nodejs project to java/quarkus
- IntelliJ isn't playing nicely with WSL2
- WSL2 or MINGW+git/bash
- Detecting Terraform Drift with Github actions
- UpdateCLI + HCL
- Repository workflow permissions via terraform
- Makefile last resort
- CodeQL scanning fun and games
- Docker image updates running K8S at home
2022
- Gradle plugin dependency hell
- Network issues with Ubuntu 22.04 on a Mac Mini
- Using Kind to sandbox Kubernetes
- First steps in microk8s
- Dynamic Environment Variables
2021
2020
- Change is just change
- The 'developers are interchangeable' conundrum
- Gradle timeout fun
- Questions; there's a point
2019
- Using LGTM when using lombok in java
- Javadocs with UML diagrams
- Using WSL and Windows Git Bash interchangeably
- Sometimes you need to kick those decisions down the road
- What's the point of unit-tests
- Migrating to MacOS for work
2018
2017
- HPCC 6.4.2: dfuplus fails to spray files
- Decentralised Autonomy vs Centralised Control
- Cash is still king
- git flow release
- Vagrant + Hyper-V sync folders
- e.printStackTrace() as JSON
2016
- Using Exceptions for Flow Control
- Virtualbox isn't the only tool in the box
- Vagrant + Hyper-V (Windows 10 anniversary)
- Liberté, égalité, and French Gin
- What goes before comes round again
- Killing a rat is easier with an air rifle than an AK-47
- The battlefield of decision making
- The pain of evolving standards
- Examination not justification
2015
- Failure is inevitable; suffering is optional
- Relationships not transactions
- Stop getting in your own way
- What to do when your vision hits the buffers of reality
- Supportability isn't an afterthought
- Making Maven play nicely
- Maintenance cost vs Development cost
- No Big Bangs
- Character set woes
- Unison on Centos 7
2014
- How To Be a Developer
- FIPS certified algorithms
- Integration is like town planning
- What is integration
- State of Integration
2013
- Controlling the adapter via JMX
- Integration via email is a feature of last resort
- TriggeredChannel has it's uses
- Web proxy using Squid
- Signing Windows Installers on Linux
- Tactical Integration
- The benefits of an business class router
- Legacy EDI to a cloud enabled platform
- So your backend system isn't cloud ready
- Integration is like preparing dinner
- Handling BAPI errors using the Adapter Framework
- What makes you an expert developer?
- Stateful RFC using the adapter framework
- Integrating with SAP BAPI function modules
2012
- Upgrading to Hyper-V 2012
- Preparing for failure; part 2
- MSMQ and Java interoperability
- Preparing for failure
- Character encoding behaviour in the adapter
- JMS Part Two; tuning behaviour
- HTTPS Jetty error
- Performance testing the adapter
- JMS Connections in the adapter
- Slow Java Crypto Performance on Linux
- To Build or Not to Build
- Upgrading to Redmine 1.4 on CentOS 5
- Project Management Tools
- Fixing your mercurial mistakes after the fact
- Setting up CentOS-6 Just So
- Metadata as Parameters to Stylesheets
- The Perils Of Open Proxies
- Dynamically switching XSLT processing engines
- Embedded Scripting part 2
- Advanced Adapter Error Handling
2011
- Mercurial / HTTPS with Password Authentication
- Windows Scripting Host as an Administrator
- VMPlayer network interfaces with Private/Public Networking
- Mercurial / HTTP using Password Authentication
- Dangling my toes in Hyper-V; come on in
- Using Cygwin as your main shell; the basics
- Adventures in Hyper-V
- Gathering metrics on performance
- Embbeded scripts in a workflow