--- title: "Blogs" source: https://andrew-jones.com/blog/ --- # Blogs ## 2026 - 2026-05-04 — [Per-project VS Code coloured windows](https://andrew-jones.com/blog/per-project-vs-code-coloured-windows.md) - 2026-04-23 — [Per-project terminal colours](https://andrew-jones.com/blog/per-project-terminal-colours.md) ## 2025 - 2025-08-07 — [Running Singer taps and targets with uv](https://andrew-jones.com/blog/running-singer-taps-and-targets-with-uv.md) - 2025-07-16 — [Adding alt text to my all my images with OpenAI](https://andrew-jones.com/blog/adding-alt-text-to-my-all-my-images-with-openai.md) ## 2024 - 2024-01-25 — [Understanding the authors incentives](https://andrew-jones.com/blog/understanding-the-authors-incentives.md) ## 2023 - 2023-07-06 — [Data Contracts - the book. Out now!](https://andrew-jones.com/blog/data-contracts-the-book-out-now/index.md) - 2023-07-06 — [Why I wrote a book on data contracts](https://andrew-jones.com/blog/why-i-wrote-a-book-on-data-contracts.md) - 2023-06-09 — [The dead letter queue pattern](https://andrew-jones.com/blog/the-dead-letter-queue-pattern.md) - 2023-04-16 — [Why I Write](https://andrew-jones.com/blog/why-i-write.md) - 2023-04-05 — [3 Things Our Software Engineers Love About Data Contracts](https://andrew-jones.com/blog/3-things-our-software-engineers-love-about-data-contracts.md) - 2023-01-01 — [Alfred Workflow - Readtime](https://andrew-jones.com/blog/alfred-workflow-readtime.md) - 2023-01-01 — [Alfred Workflow - Titlecase](https://andrew-jones.com/blog/alfred-workflow-titlecase.md) ## 2022 - 2022-12-29 — [Alfred Workflow - Copy URL to Clipboard as Rich Text](https://andrew-jones.com/blog/alfred-workflow-copy-url-to-clipboard-as-rich-text.md) - 2022-11-30 — [Driving ML Data Quality with Data Contracts - MLOps Meetup](https://andrew-jones.com/blog/driving-ml-data-quality-with-data-contracts-mlops-meetup.md) - 2022-10-18 — [Implementing Data Contracts at Gocardless](https://andrew-jones.com/blog/implementing-data-contracts-at-gocardless.md) - 2022-10-17 — [The Observatory interview on Data Contracts, FinTech, privacy regulation and more!](https://andrew-jones.com/blog/the-observatory-interview-on-data-contracts-fintech-privacy-regulation-and-more.md) - 2022-08-16 — [7 Key Learnings From GoCardless’ Experience Implementing Data Contracts](https://andrew-jones.com/blog/7-key-learnings-from-gocardless-experience-implementing-data-contracts.md) - 2022-05-26 — [Data Contracts at GoCardless - 6 Months On](https://andrew-jones.com/blog/data-contracts-at-gocardless-6-months-on.md) - 2022-05-06 — [Data Contracts Interview on the Data Mesh Radio Podcast](https://andrew-jones.com/blog/data-contracts-interview-on-the-data-mesh-radio-podcast.md) - 2022-03-04 — [Using Terraform Registry modules with Terragrunt](https://andrew-jones.com/blog/using-terraform-registry-modules-with-terragrunt.md) - 2022-01-04 — [Answer with docs](https://andrew-jones.com/blog/answer-with-docs.md) ## 2021 - 2021-12-28 — [Improving Data Quality with Data Contracts at GoCardless](https://andrew-jones.com/blog/improving-data-quality-with-data-contracts-at-gocardless.md) - 2021-04-13 — [A Data Platform is not just for analytics](https://andrew-jones.com/blog/a-data-platform-is-not-just-for-analytics.md) - 2021-04-08 — [Data contracts](https://andrew-jones.com/blog/data-contracts.md) - 2021-01-24 — [We had an incident, and it was great](https://andrew-jones.com/blog/we-had-an-incident-and-it-was-great.md) - 2021-01-20 — [What I'd like to learn in 2021](https://andrew-jones.com/blog/what-id-like-to-learn-in-2021.md) ## 2020 - 2020-12-29 — [The democratisation of Data Science](https://andrew-jones.com/blog/the-democratisation-of-data-science.md) - 2020-04-30 — [What does a Tech Lead do?](https://andrew-jones.com/blog/what-does-a-tech-lead-do.md) ## 2019 - 2019-12-31 — [Lambda Architecture in 2020](https://andrew-jones.com/blog/lambda-architecture-in-2020.md) - 2019-10-11 — [The benefits of postmortems](https://andrew-jones.com/blog/the-benefits-of-postmortems.md) - 2019-08-20 — [You build it, you run it - you manage your data](https://andrew-jones.com/blog/you-build-it-you-run-it-you-manage-your-data.md) ## 2018 - 2018-11-11 — [Transparency as a tool](https://andrew-jones.com/blog/transparency-as-a-tool.md) - 2018-09-14 — [If your data is worth storing, it's worth structuring](https://andrew-jones.com/blog/if-your-data-is-worth-storing-its-worth-structuring.md) - 2018-06-03 — [Brewing Beer](https://andrew-jones.com/blog/brewing-beer.md) ## 2017 - 2017-10-25 — [Getting started with Kafka and Beam](https://andrew-jones.com/blog/getting-started-with-kafka-and-beam.md) - 2017-09-07 — [Moving from Wercker to BitBucket Pipelines](https://andrew-jones.com/blog/moving-from-wercker-to-bitbucket-pipelines.md) - 2017-08-17 — [Building a REST API with Finch and Finagle](https://andrew-jones.com/blog/building-a-rest-api-with-finch-and-finagle.md) - 2017-07-24 — [Berlin](https://andrew-jones.com/blog/berlin.md) - 2017-07-13 — [Go development environment with Docker](https://andrew-jones.com/blog/go-development-environment-with-docker.md) - 2017-05-25 — [Apache Spark Partitioning](https://andrew-jones.com/blog/apache-spark-partitioning.md) - 2017-03-04 — [Cambridge Boundary Run 2017](https://andrew-jones.com/blog/cambridge-boundary-run-2017.md) - 2017-01-24 — [Learning to Row](https://andrew-jones.com/blog/learning-to-row.md) ## 2016 - 2016-12-31 — [Momentum](https://andrew-jones.com/blog/momentum.md) - 2016-09-30 — [Takeley 10 2016](https://andrew-jones.com/blog/takeley-10-2016.md) - 2016-09-12 — [Habitat, by Chef](https://andrew-jones.com/blog/habitat-by-chef.md) - 2016-06-11 — [Why your master datastore should be immutable](https://andrew-jones.com/blog/why-your-master-datastore-should-be-immutable.md) - 2016-05-13 — [Royal Greenwich Observatory and the Cutty Sark](https://andrew-jones.com/blog/royal-greenwich-observatory-and-the-cutty-sark.md) - 2016-05-01 — [Automated deployments of this site with Wercker](https://andrew-jones.com/blog/automated-deployments-of-this-site-with-wercker.md) - 2016-04-17 — [Winter Granola Recipe](https://andrew-jones.com/blog/winter-granola-recipe.md) - 2016-03-14 — [Getting around the Amazon S3 rewrite rule limit](https://andrew-jones.com/blog/getting-around-the-amazon-s3-rewrite-rule-limit.md) - 2016-02-05 — [Amazon S3 rewrite rule limit](https://andrew-jones.com/blog/amazon-s3-rewrite-rule-limit.md) ## 2015 - 2015-09-12 — [Container Camp London 2015](https://andrew-jones.com/blog/container-camp-london-2015.md) - 2015-04-12 — [Getting started with Finagle](https://andrew-jones.com/blog/getting-started-with-finagle.md) - 2015-02-04 — [What Color is Your Function?](https://andrew-jones.com/blog/what-color-is-your-function.md) - 2015-01-08 — [A standard to represent relative times](https://andrew-jones.com/blog/a-standard-to-represent-relative-times.md) ## 2014 - 2014-11-24 — [Game Day Exercises at Stripe](https://andrew-jones.com/blog/game-day-exercises-at-stripe.md) - 2014-11-23 — [QML2 to C++ and back again, with signals and slots](https://andrew-jones.com/blog/qml2-to-c-and-back-again-with-signals-and-slots.md) - 2014-11-21 — [Amateur garden design with SketchUp](https://andrew-jones.com/blog/amateur-garden-design-with-sketchup.md) - 2014-11-19 — [QML2 to C++ and back again](https://andrew-jones.com/blog/qml2-to-c-and-back-again.md) - 2014-11-16 — [Building HandBrake on OS X and linking it from Qt](https://andrew-jones.com/blog/building-handbrake-on-os-x-and-linking-it-from-qt.md) - 2014-11-06 — [24 hours in New York](https://andrew-jones.com/blog/24-hours-in-new-york.md) - 2014-10-23 — [Strata + Hadoop World 2014](https://andrew-jones.com/blog/strata--hadoop-world-2014.md) - 2014-09-11 — [New owner wanted for grunt-ssh](https://andrew-jones.com/blog/new-owner-wanted-for-grunt-ssh.md) - 2014-09-10 — [Managing multiple versions of Java on OS X](https://andrew-jones.com/blog/managing-multiple-versions-of-java-on-os-x.md) - 2014-08-20 — [A Tale of Postmortems | Box tech blog](https://andrew-jones.com/blog/a-tale-of-postmortems-box-tech-blog.md) - 2014-08-15 — [Load testing with Locust](https://andrew-jones.com/blog/load-testing-with-locust.md) - 2014-08-12 — ['The other side of the medal' at the British Museum](https://andrew-jones.com/blog/the-other-side-of-the-medal-at-the-british-museum.md) - 2014-08-09 — [Subscribe to RSS feeds in Minimal Reader using the Chrome RSS Extension](https://andrew-jones.com/blog/subscribe-to-rss-feeds-in-minimal-reader-using-the-chrome-rss-extension.md) - 2014-08-05 — [Prevent other sites from serving your assets with Nginx](https://andrew-jones.com/blog/prevent-other-sites-from-serving-your-assets-with-nginx.md) - 2014-08-03 — [Site Redesign 2014](https://andrew-jones.com/blog/site-redesign-2014.md) - 2014-06-05 — [HHhH](https://andrew-jones.com/blog/hhhh.md) - 2014-05-14 — [GopherCon 2014](https://andrew-jones.com/blog/gophercon-2014.md) - 2014-04-08 — [Copy data as JIRA table from the SQuirreL SQL Client](https://andrew-jones.com/blog/copy-data-as-jira-table-from-the-squirrel-sql-client.md) - 2014-04-06 — [Vikings: life and legend at the British Museum](https://andrew-jones.com/blog/vikings-life-and-legend-at-the-british-museum.md) - 2014-03-26 — [Tom Williams and the Boat & The Standard Lamps at The Waiting Room, Stoke Newington, London](https://andrew-jones.com/blog/tom-williams-and-the-boat-the-standard-lamps-at-the-waiting-room-stoke-newington-london.md) - 2014-03-22 — [Agile Is Dead (Long Live Agility)](https://andrew-jones.com/blog/agile-is-dead-long-live-agility.md) - 2014-03-08 — [QCon London - Day Three](https://andrew-jones.com/blog/qcon-london-day-three.md) - 2014-03-06 — [QCon London - Day Two](https://andrew-jones.com/blog/qcon-london-day-two.md) - 2014-03-05 — [QCon London - Day One](https://andrew-jones.com/blog/qcon-london-day-one.md) - 2014-03-02 — [Tom Williams & The Boat - Easy Fantastic](https://andrew-jones.com/blog/tom-williams-the-boat-easy-fantastic.md) - 2014-01-19 — [Sky Sports Now on the Apple TV](https://andrew-jones.com/blog/sky-sports-now-on-the-apple-tv.md) - 2014-01-03 — [The Builder's High](https://andrew-jones.com/blog/the-builders-high.md) ## 2013 - 2013-12-19 — [In 12 years of blogging](https://andrew-jones.com/blog/in-12-years-of-blogging.md) - 2013-03-08 — [Backed 'Tern: intelligent JavaScript editing'](https://andrew-jones.com/blog/backed-tern-intelligent-javascript-editing.md) - 2013-02-27 — [Backed At the Gates on Kickstarter](https://andrew-jones.com/blog/backed-at-the-gates-on-kickstarter.md) - 2013-02-11 — [New Release of mp4meta](https://andrew-jones.com/blog/new-release-of-mp4meta.md) - 2013-02-03 — [Moved to Octopress](https://andrew-jones.com/blog/moved-to-octopress.md) - 2013-01-08 — [Importing to iTunes via the Command Line](https://andrew-jones.com/blog/importing-to-itunes-via-the-command-line.md) - 2013-01-02 — [New version of mp4meta fixes IMDB data](https://andrew-jones.com/blog/new-version-of-mp4meta-fixes-imdb-data.md) - 2013-01-02 — [Introducing WebService::IMDBAPI](https://andrew-jones.com/blog/introducing-webserviceimdbapi.md) - 2013-01-01 — [New Years Resolution: Finish some projects](https://andrew-jones.com/blog/new-years-resolution-finish-some-projects.md) ## 2012 - 2012-09-02 — [New version of WebService::TVDB released](https://andrew-jones.com/blog/new-version-of-webservicetvdb-released.md) - 2012-08-25 — [New version of mp4meta released](https://andrew-jones.com/blog/new-version-of-mp4meta-released.md) - 2012-05-03 — [Ruby DuckDuckGo Library 1.1.2 Released](https://andrew-jones.com/blog/ruby-duckduckgo-library-1.1.2-released.md) - 2012-04-18 — [Over-testing](https://andrew-jones.com/blog/over-testing.md) - 2012-03-14 — ["We need to rename Web 2.0 to HTML5"](https://andrew-jones.com/blog/we-need-to-rename-web-2.0-to-html5.md) - 2012-02-26 — [Introducing WebService::TVDB](https://andrew-jones.com/blog/introducing-webservicetvdb.md) - 2012-01-24 — [More than one way to do it](https://andrew-jones.com/blog/more-than-one-way-to-do-it.md) - 2012-01-23 — [Building Dist::Zilla Distributions with BuildBot](https://andrew-jones.com/blog/building-distzilla-distributions-with-buildbot.md) - 2012-01-19 — [Get all documents from your KinoSearch1 index](https://andrew-jones.com/blog/get-all-documents-from-your-kinosearch1-index.md) - 2012-01-15 — [Ant Task to generate an XML Sitemap](https://andrew-jones.com/blog/ant-task-to-generate-an-xml-sitemap.md) - 2012-01-12 — [Perl, Wildcards and the Windows Command Line](https://andrew-jones.com/blog/perl-wildcards-and-the-windows-command-line.md) - 2012-01-11 — [New Version of gcal Released](https://andrew-jones.com/blog/new-version-of-gcal-released.md) - 2012-01-02 — [WWW::XBoxLive - Perl module to get and parse an XBox Live Gamercard](https://andrew-jones.com/blog/wwwxboxlive-perl-module-to-get-and-parse-an-xbox-live-gamercard.md) ## 2011 - 2011-11-27 — [gcal - A Command Line Interface to Google Calendar](https://andrew-jones.com/blog/gcal-a-command-line-interface-to-google-calendar.md) - 2011-10-10 — [mp4meta - Apply iTunes-like metadata to an mp4 file](https://andrew-jones.com/blog/mp4meta-apply-itunes-like-metadata-to-an-mp4-file.md) - 2011-07-30 — [Natural Scrolling](https://andrew-jones.com/blog/natural-scrolling.md) - 2011-07-29 — [Completed the London to Cambridge Bike Ride 2011](https://andrew-jones.com/blog/completed-the-london-to-cambridge-bike-ride-2011.md) - 2011-07-27 — [Chrome Bookmarks Folder Removed From Google Docs](https://andrew-jones.com/blog/chrome-bookmarks-folder-removed-from-google-docs.md) - 2011-07-25 — [My Photo To Be Used In The Schmap London Guide](https://andrew-jones.com/blog/my-photo-to-be-used-in-the-schmap-london-guide.md) - 2011-07-22 — [Doing the London to Cambridge Bike Ride - Sponsorship Plea!](https://andrew-jones.com/blog/doing-the-london-to-cambridge-bike-ride-sponsorship-plea.md) - 2011-07-15 — [Titanium and Android: First Impressions](https://andrew-jones.com/blog/titanium-and-android-first-impressions.md) - 2011-07-08 — [Emulator Not Working On Windows With Android SDK R12](https://andrew-jones.com/blog/emulator-not-working-on-windows-with-android-sdk-r12.md) - 2011-06-22 — [How not to respond to your OSS bug reports](https://andrew-jones.com/blog/how-not-to-respond-to-your-oss-bug-reports.md) - 2011-06-08 — [Google Announces Support for "rel=author"](https://andrew-jones.com/blog/google-announces-support-for-relauthor.md) - 2011-06-02 — [Catching Up with the Competition](https://andrew-jones.com/blog/catching-up-with-the-competition.md) - 2011-05-08 — [Ecuador's Oil Gamble](https://andrew-jones.com/blog/ecuadors-oil-gamble.md) - 2011-05-06 — [Github Resume](https://andrew-jones.com/blog/github-resume.md) - 2011-04-13 — [Ruby Duck Duck Go Library Updated to 1.1.0](https://andrew-jones.com/blog/ruby-duck-duck-go-library-updated-to-1.1.0.md) - 2011-04-08 — [Introducing a Ruby Library for the Duck Duck Go API](https://andrew-jones.com/blog/introducing-a-ruby-library-for-the-duck-duck-go-api.md) - 2011-02-24 — [Arsenal 1 - 0 Stoke](https://andrew-jones.com/blog/arsenal-1-0-stoke.md) - 2011-02-17 — [jQuery Email Address Munging Plugin Released](https://andrew-jones.com/blog/jquery-email-address-munging-plugin-released.md) - 2011-01-28 — [New version of the jQuery Placeholder Plugin released](https://andrew-jones.com/blog/new-version-of-the-jquery-placeholder-plugin-released.md) - 2011-01-18 — [HTML5 - The New Web 2.0](https://andrew-jones.com/blog/html5-the-new-web-2.0.md) - 2011-01-12 — [What would Napoleon have thought about the Aeroplane?](https://andrew-jones.com/blog/what-would-napoleon-have-thought-about-the-aeroplane.md) ## 2010 - 2010-12-10 — [Fame](https://andrew-jones.com/blog/fame.md) - 2010-12-06 — [Perl, Compiled Regex's and FastCGI](https://andrew-jones.com/blog/perl-compiled-regexs-and-fastcgi.md) - 2010-10-28 — [NASA publishes evidence on climate change. Will it convince the sceptics?](https://andrew-jones.com/blog/nasa-publishes-evidence-on-climate-change.-will-it-convince-the-sceptics.md) - 2010-10-12 — [Running the Royal Parks Half Marathon](https://andrew-jones.com/blog/running-the-royal-parks-half-marathon.md) - 2010-10-08 — [Getting the date from the ISO week number in Perl](https://andrew-jones.com/blog/getting-the-date-from-the-iso-week-number-in-perl.md) - 2010-09-12 — [Carmelite Church and the Chapel of Bones, Faro, Portugal](https://andrew-jones.com/blog/carmelite-church-and-the-chapel-of-bones-faro-portugal.md) - 2010-08-25 — [jQuery Placeholder Plugin Released](https://andrew-jones.com/blog/jquery-placeholder-plugin-released.md) - 2010-08-03 — [When do you expect the UK tax payer to be repaid by Northern Rock, RBS and Lloyds?](https://andrew-jones.com/blog/when-do-you-expect-the-uk-tax-payer-to-be-repaid-by-northern-rock-rbs-and-lloyds.md) ## 2009 - 2009-12-01 — [Using a Quarter Interval with the Simile Timeline](https://andrew-jones.com/blog/using-a-quarter-interval-with-the-simile-timeline.md) - 2009-10-08 — [Google Chrome is Coming of Age on Linux](https://andrew-jones.com/blog/google-chrome-is-coming-of-age-on-linux.md) - 2009-10-06 — [Google to Teach Users About Web Browsers](https://andrew-jones.com/blog/google-to-teach-users-about-web-browsers.md) - 2009-09-24 — [Kino Search Add-On Released for Foswiki](https://andrew-jones.com/blog/kino-search-add-on-released-for-foswiki.md) - 2009-08-15 — [Improving the Web Index in Foswiki using the Filter Plugin](https://andrew-jones.com/blog/improving-the-web-index-in-foswiki-using-the-filter-plugin.md) - 2009-07-06 — [Easily Integrate Gmail Tasks into Firefox (without an AddOn)](https://andrew-jones.com/blog/easily-integrate-gmail-tasks-into-firefox-without-an-addon.md) - 2009-06-23 — [The Linux at Command](https://andrew-jones.com/blog/the-linux-at-command.md) - 2009-06-03 — [Connecting to Cisco VPN with Ubuntu](https://andrew-jones.com/blog/connecting-to-cisco-vpn-with-ubuntu.md) - 2009-05-11 — [Working With Cookies? Get Firecookie!](https://andrew-jones.com/blog/working-with-cookies-get-firecookie.md) - 2009-04-20 — [Copying Objects in JavaScript](https://andrew-jones.com/blog/copying-objects-in-javascript.md) - 2009-04-14 — [Social Bookmarks for Foswiki](https://andrew-jones.com/blog/social-bookmarks-for-foswiki.md) - 2009-02-07 — [JS Syntax Highlighter Re-released as Donationware](https://andrew-jones.com/blog/js-syntax-highlighter-re-released-as-donationware.md) - 2009-02-03 — [Removing Referral URL Using a Perl Proxy Script](https://andrew-jones.com/blog/removing-referral-url-using-a-perl-proxy-script.md) - 2009-01-09 — [Foswiki 1.0 Released](https://andrew-jones.com/blog/foswiki-1.0-released.md) ## 2008 - 2008-11-02 — [TWiki and the Fork](https://andrew-jones.com/blog/twiki-and-the-fork.md)