The Curious Engineer

All blogs / Software / engineering practice

Probably Fine

blog.probablyfine.co.uk

Observations and ideas about technology and people direct from the brain of Alex Wilson

Software / engineering practiceTesting / QAJava / JVMEngineering management / careers

Posts
118 from 8 Jan 2012 to 16 Mar 2025
Posting
now and then
Kind
personal blog
Feed
https://blog.probablyfine.co.uk/feed.xml

2025 2

  1. A pleasant diversion with TDD
  2. Attempting Advent of Code 2024 using Uiua

2024 4

  1. Why breaking down work is important
  2. Making time to make improvements
  3. Solving Weekly Challenge 254 with Uiua
  4. Diving into readability

2021 5

  1. Sparking creativity with tweet-driven development
  2. Reflections on a technical interview
  3. sqlite-unit - a test framework for SQLite queries
  4. Alternative meanings of k8s
  5. Comparing speed of Concourse and GitHub Actions

2020 20

  1. A hammer in a kingdom of screws
  2. My Strictly Come Dancing Predictions 2020
  3. Build Your Own Dependency Injection Library - Part 2
  4. Building my own tixy.land
  5. How many all-party parliamentary groups have twitter accounts?
  6. Easy multi-dimensional maps using records
  7. Extending git with custom commands
  8. Coding exercise: Build a stopwatch
  9. Recipe: Small batch cupcakes
  10. Build Your Own Dependency Injection Library - Part 1
  11. Second Attempt at finishing NaBloPoMo
  12. Avoiding Work Commits When On Leave
  13. Assets ⊆ Changes ⊆ Releases ⊆ Features
  14. Quick and Dirty Result Type in Java 15
  15. Redacted
  16. What being a tech lead means to me
  17. Notes from the Week #37
  18. Notes from the Week #36
  19. Notes from the Week #35
  20. Notes from the Week #34

2019 43

  1. Character sorting exercise in linear time
  2. Linting my prose with Vale
  3. My toolbox
  4. Off the beaten path: finding code to review
  5. I don't like code reviews
  6. Finding your tone
  7. How to tell if your GitHub wiki has stuff in it
  8. Software development is a moral hazard
  9. 15 Minute Rock-Paper-Scissors with Test Commit Revert
  10. Signing my blog posts
  11. How I split stories
  12. When two bugs cancel out
  13. Joining the civil service
  14. Publishing my GPG public key
  15. The unexpected joy of small libraries
  16. Why I prefer film to theatre
  17. Every change should alter a measure of success
  18. Notes from the Week #33
  19. Notes from the Week #32
  20. Notes from the Week #31
  21. Notes from the Week #30
  22. Notes from the Week #29
  23. Mental Health in Software Development
  24. Notes from the Week #28
  25. Notes from the Week #27
  26. Notes from the Week #26
  27. Notes from the Week #25
  28. Living in the garden of software
  29. Notes from the Week #24
  30. The Unbelievable Knuth - Version Control
  31. Notes from the Week #23
  32. Notes from the Week #22
  33. Notes from the (Half) Week #21
  34. An Unruly Farewell
  35. Legislation as Code
  36. Notes from the Week #20
  37. Notes from the Week #19
  38. Notes from the Week #18
  39. Notes from the Week #17
  40. Debugging an outage without an internet connection
  41. Notes from the Week #16
  42. Notes from the Week #15
  43. Notes from the Week #14

2018 16

  1. Notes from the Week #13 - Season Finale
  2. Notes from the Week #12
  3. Notes from the Week #11
  4. Notes from the Week #10
  5. This is how I work ... give or take
  6. Notes from the Week #9
  7. Notes from the Week #8
  8. Ghosts from the Week #7 - Hallowe'en Edition
  9. Notes from the Week #6
  10. Notes from the Week #5
  11. CI and Structured Changelogs
  12. Notes from the Week #4
  13. Decision Making with Improve, No Change, Worsen
  14. Notes from the Week #3
  15. Notes from the Week #2
  16. Notes from the Week #1

2016 3

  1. Byte-Monkey: Bytecode-level fault injection for the JVM
  2. Test-Driving Performance
  3. Avoiding Duplication in Puppet Tests

2015 7

  1. Mob Programming enables Continuous Integration
  2. Ghosts in the Pipes - Diagnosing and Fixing a 0.005% Discrepancy
  3. java-dirty - A fast append-only data store
  4. Injecting Application Failures in Production
  5. Continuous Delivery - High Tempo Learning
  6. Enforcing State with Puppetlets
  7. Cracking the Monolith with Librarian-Puppet

2014 14

  1. Continuous Delivery from Scratch - Part 1
  2. XP and Giant Robots - Compatibility in Pair Programming
  3. The Values of DevOps
  4. Reducing Variance and Increasing Mean in Continuous Delivery
  5. Continuous Delivery from Scratch (I'm writing a book!)
  6. Quarantining Failing Tests with JUnit
  7. Adding Chaos to Workstations
  8. Using Docker with Apache Flume - Part 2
  9. DigitalOcean Codes for Ansible Provisioning
  10. Immutable Infrastructure and Sources of Truth
  11. Using Docker with Apache Flume - Part 1
  12. How to write an ansible role for Ansible Galaxy
  13. Faster puppet package installation with multipkg
  14. Serving DNS records from etcd

2013 1

  1. Puppet Patterns for Personal Provisioning

2012 3

  1. Shelua – Shell commands in lua
  2. Jenever – A stab at Virtualenv for Java
  3. Instrumentation with Annotations