Blog Archive 2024 There Is No Root Cause Oct 24 2024 USB-C: A Rant Jun 16 2024 2023 Why Us? A Favourite Interview Question Dec 27 2023 How I Read Dec 26 2023 My Python GitHub Template Nov 19 2023 Using Pipenv on Read the Docs Nov 16 2023 2022 Netlify CMS Dec 28 2022 Many of us think about risk the wrong way Dec 04 2022 Create clarity, reduce chaos, roll-up and more Dec 04 2022 In Praise of Twitter Nov 06 2022 2021 Amateur Radio Apr 11 2021 ESPHome - simple yet powerful IoT programming Feb 21 2021 Job Advert Template Feb 02 2021 OpenWebRX - Easy remote SDR receiving Jan 16 2021 DevOps Defined Jan 09 2021 My 2020 Jan 03 2021 2020 In Books Jan 03 2021 My 2019 Jan 03 2021 2019 In Books Jan 03 2021 2020 Neofetch and Onefetch - system and Git repo information tools Dec 26 2020 Lightweight OKRs Dec 13 2020 1:1s aren’t just a management thing Nov 15 2020 A Deliciousness of Raspberry Pis Nov 01 2020 GitHub Repository Configuration Checklist Aug 25 2020 Aircraft tracking with a Raspberry Pi and FlightAware ADS-B receiver Aug 16 2020 name.pn: Your name - your rules Jul 12 2020 What's in a name? Jul 12 2020 Explicit is better than Implicit Mar 16 2020 Distributed vs Remote Mar 12 2020 2019 Wikis Are Terrible for Documentation Sep 02 2019 The Costs of Doing Your Own Thing Aug 16 2019 A Tale Of Two Remote Controls Jul 16 2019 Mapping Python Dependencies with Emporium Jun 18 2019 The Starfish Principle - Every Little Bit Helps Jun 12 2019 Installing the Raspberry Pi Desktop Jun 12 2019 Django: An Unofficial Opinionated FAQ Mar 12 2019 An Aged Octopress Feb 19 2019 Desktop Lighting Jan 23 2019 My 2018 Jan 13 2019 2018 In Books Jan 12 2019 2018 Burn After Reading - Introducing My Newsletter Dec 02 2018 Switch statements - a C/Go gotcha Nov 30 2018 Three Tips To Get The Most Out Of AWS Elastic Beanstalk Oct 15 2018 Do You Need A Blockchain? Oct 08 2018 How (Not) To Screw Up Hiring Sep 26 2018 Containerised home server with Docker Compose and Traefik Sep 06 2018 If By Whiskey Aug 28 2018 Handling .local hostnames - multicast DNS Aug 23 2018 Taking A Break Jul 15 2018 Altered Carbon Apr 15 2018 Image Metadata, GPS Location, Exif Tags and Privacy Leaks Mar 25 2018 Burnt Pi - Exciting Spontaneous Hardware Failure Mar 25 2018 Sigal - Simple Static Gallery Generator Mar 16 2018 Connect Together Your Smart Home With Home Assistant Jan 08 2018 Packaging Django with Docker Jan 03 2018 2017 In Books Jan 01 2018 My 2017 Jan 01 2018 2017 Welshcakes, the snacking cake you didn't realise you needed Nov 20 2017 Feature Factories And How To Avoid Them Nov 17 2017 The Wheel Of Time Nov 11 2017 My Ergodox Experience: The Best Keyboard I've Used Nov 04 2017 Building a Smart Home: My User Stories Nov 04 2017 My Favourite Talks Nov 02 2017 T-Shaped Time: little and often plus dedicated bursts Oct 14 2017 Switching to Atom Summaries in Octopress Oct 08 2017 Waiting and Hoping Oct 08 2017 Leafing through the family tree Jul 26 2017 Infrastructure as Code with AWS CloudFormation and Sceptre Jul 09 2017 Make decisions and own them Jun 25 2017 Decisions and Accountability Jun 03 2017 File An Issue Please May 26 2017 Decisions May 25 2017 We Are Lesion Apr 18 2017 Fitbit Alta HR: My First Impressions Mar 21 2017 Use The Magic, But Understand It Too Mar 07 2017 gtypist - tpye moar gud Feb 27 2017 Merging two git repositories Feb 19 2017 GitLab - An Amazing Recovery Feb 12 2017 Webcam covers Feb 11 2017 Make all your voice chats better with one simple rule Feb 07 2017 Why do I smell burning? Feb 05 2017 Intent Is Not Magic Jan 28 2017 Words of Estimative Probability Jan 05 2017 2016 Jan 01 2017 2016 Testing out my torches Dec 31 2016 Link for context and not as content Dec 13 2016 Fix Your Misperceptions Of What Tech Talent Looks Like Dec 10 2016 What I Want From A Hiring Take-Home Test Dec 07 2016 Metabase - Data exploration and visualisation made easy Nov 28 2016 Travel Tips Nov 12 2016 When you do X Nov 08 2016 Pointing AWS CloudFront at an S3 website with CloudFormation Oct 30 2016 Everyday Carry Oct 23 2016 Code Builders vs Task Orchestrators - two kinds of CI system Sep 29 2016 ShellCheck on CircleCI Sep 16 2016 Four Laws of Software Economics Sep 07 2016 Guys. Please don't Aug 09 2016 Personal vs Repository .gitignores Aug 09 2016 Definition of Done Jul 27 2016 Unsolicited Advice Jul 25 2016 The Curse of Knowledge Jul 21 2016 Always Be Closing - The Importance of Focus and Finishing Jul 12 2016 When Slack is your office Jul 01 2016 Universal Greeting Time (UGT) Jun 08 2016 Serverless: Nice Idea, Terrible Name Jun 07 2016 Silicone Oven Gauntlets May 29 2016 Nobody Likes Naked Pings Apr 16 2016 Postgres for Ladies Mar 16 2016 Dependency Versions Matter Feb 24 2016 Cover Letters: Always Send One Jan 15 2016 The Book of Armaments - Tools for Better Python Jan 02 2016 2015 Python's 'Surprise' Imports Nov 27 2015 Semantic Linebreaks Nov 26 2015 The Government Service Design Manual Oct 23 2015 Removing myself from the equation Oct 16 2015 User Stories Oct 07 2015 Treat your servers like cattle, not like pets Sep 27 2015 Document All The Things Sep 21 2015 Permalinks Sep 20 2015 Spaceteam Aug 31 2015 Questions Are Documentation Bugs Aug 21 2015 The Most Efficient Django Test Aug 05 2015 My Django Project Template Aug 04 2015 Some things I'd like you to do when writing software May 29 2015 Let Toys Be Toys May 23 2015 Environment variables in nginx config May 02 2015 Och spelar lite DotA Apr 26 2015 Pipeline 2015 Apr 06 2015 Go Read All The Stross Mar 14 2015 2014 Twelve-Factor Config: Misunderstandings and Advice Oct 06 2014 Blocked by TalkTalk Jul 02 2014 How Perks Can Divide Us Jun 30 2014 Aeropress May 01 2014 It hurts with every heartbleed Apr 09 2014 Bringing Twelve-Factor to Django Apr 02 2014 NHS Hack Day Cambridge 2013 Feb 20 2014 2013 Shipping Stuff Mar 06 2013 Upgrading Puppet in Vagrant Boxes Jan 19 2013 2012 Sometimes it's the little things Sep 30 2012 StackCompare v1.0 Aug 12 2012 Using Amazon S3 to host your Django Static Files Jul 14 2012 Django and Static Files Jun 25 2012 NHS Hack Day London Presentation Jun 14 2012 Time-series graphs with TempoDB and Flot Jun 07 2012 NHS Hack Day London 2012 Jun 05 2012 Raw AWS vs Heroku Mar 26 2012 Django Settings Environments Mar 10 2012 Goodbye Easyspace... Mar 09 2012 Where HAM I? Jan 02 2012 2011 Yahoo! Signup Dec 23 2011 Augeas Nov 11 2011 Four Books I Think Everyone Should Read Sep 12 2011 First play with Neo4j Aug 25 2011 Lying DNS Aug 22 2011 Ubuntu Enterprise Cloud and ElasticFox / HybridFox Jun 15 2011 Ubuntu Enterprise Cloud Jun 14 2011 Trying out Puppet Apr 02 2011 2010 MBeans and naming collisions Oct 01 2010 Evelyn Sep 13 2010 Java Melody Sep 03 2010 JIRA Aug 11 2010 Objective-C and the Delegate pattern Apr 17 2010 2009 Types and printf Sep 07 2009 Code Tools Sep 05 2009 Streamlining Life Sep 01 2009