41554 blogs · [ { "id": "01a0f1eb-f436-701e-8681-817b89b5efe3", "title": "Citizens abroad deserve a voice", "url": "http://tomm.org/politics/party-strategy-overseas-citizens", "published_at": "2026-09-27T00:00:00+00:00" }, { "id": "01a0f1eb-f436-701e-8681-817b89d648ec", "title": "The Representation of the People Bill is a missed opportunity for overseas voters", "url": "http://tomm.org/politics/representation-of-the-people-bill", "published_at": "2026-02-14T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215166b2e2", "title": "Breaking Up (With Meta) is Hard to Do: A story of two successes and a failure", "url": "http://tomm.org/tech/breaking-up-with-meta-is-hard-to-do", "published_at": "2025-12-14T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2151b7ddff", "title": "We need to fix voting from abroad but online voting isn't the answer", "url": "http://tomm.org/politics/no-to-online-voting", "published_at": "2024-03-01T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2151cc4e73", "title": "How to waste money hosting a website: load balancer edition", "url": "http://tomm.org/tech/how-to-waste-money-hosting-a-website", "published_at": "2023-04-11T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215222b801", "title": "Preparing for the worst", "url": "http://tomm.org/tech/preparing-for-the-worst", "published_at": "2022-09-17T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2152886f47", "title": "An open letter to Uber's CEO, Dara Khosrowshahi, to investigate driver homophobia", "url": "http://tomm.org/tech/open-letter-to-ubers-ceo", "published_at": "2019-10-20T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215353a645", "title": "No to Voter ID", "url": "http://tomm.org/politics/no-to-voter-id", "published_at": "2018-05-20T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2153684e5c", "title": "Prioritising", "url": "http://tomm.org/misc/prioritising", "published_at": "2017-04-08T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2153980ac3", "title": "Cycling from Porto to Munich", "url": "http://tomm.org/outdoors/porto-to-munich", "published_at": "2016-11-10T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db21545e06ab", "title": "The Volcanoes", "url": "http://tomm.org/outdoors/the-volcanoes", "published_at": "2016-08-19T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db21549eb6d6", "title": "Days 38 to 41: to Munich", "url": "http://tomm.org/outdoors/to-munich", "published_at": "2016-07-02T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2154ebaf41", "title": "Days 30 to 37: Grenoble to Zurich", "url": "http://tomm.org/outdoors/grenoble-to-zurich", "published_at": "2016-06-28T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db21551ebad7", "title": "Brexit", "url": "http://tomm.org/politics/brexit", "published_at": "2016-06-25T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2155991c44", "title": "Days 25 to 29: to Grenoble", "url": "http://tomm.org/outdoors/to-grenoble", "published_at": "2016-06-20T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2155c20a37", "title": "Days 21 to 24: Pyrenees to Languedoc", "url": "http://tomm.org/outdoors/pyrenees-to-languedoc", "published_at": "2016-06-15T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db21566c1d21", "title": "Days 17 to 20: Over the Pyrenees!", "url": "http://tomm.org/outdoors/over-the-pyrenees", "published_at": "2016-06-11T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2157665a61", "title": "Days 13 to 16: Santillana del Mar to Pamplona", "url": "http://tomm.org/outdoors/santillana-del-mar-to-pamplona", "published_at": "2016-06-08T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2157da2d11", "title": "Days 9 to 12: León to Santillana del Mar", "url": "http://tomm.org/outdoors/leon-to-santillana-del-mar", "published_at": "2016-06-03T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2158585d0b", "title": "Days 5 to 7: to León", "url": "http://tomm.org/outdoors/days-5-to-7-to-leon", "published_at": "2016-05-30T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2159328b02", "title": "Day 3 to Melide and rest day", "url": "http://tomm.org/outdoors/day-3-to-melide-and-rest", "published_at": "2016-05-26T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2159972725", "title": "Day 2: to Santiago", "url": "http://tomm.org/outdoors/to-santiago", "published_at": "2016-05-24T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215a665480", "title": "Day 1", "url": "http://tomm.org/outdoors/day-1", "published_at": "2016-05-23T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215b4079ed", "title": "Two days until the off", "url": "http://tomm.org/outdoors/two-days-until-the-off", "published_at": "2016-05-20T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215be8cdf3", "title": "A letter to my younger CTO self", "url": "http://tomm.org/tech/a-letter-to-my-younger-cto-self", "published_at": "2016-04-29T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215c16fd17", "title": "Don't understand some code? Delete it.", "url": "http://tomm.org/tech/dont-understand-some-code-delete-it", "published_at": "2016-03-22T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215cf78ade", "title": "My podcasts", "url": "http://tomm.org/misc/my-podcasts", "published_at": "2016-01-26T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215da6e189", "title": "Riding from Paris to London for Room To Read", "url": "http://tomm.org/outdoors/paris-london", "published_at": "2015-09-09T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215e38d9da", "title": "Securing AWS accounts with IAM and friends", "url": "http://tomm.org/tech/securing-aws-accounts-with-iam-and-friends", "published_at": "2015-05-05T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215e45bead", "title": "The 15-minute rule", "url": "http://tomm.org/tech/the-15-minute-rule", "published_at": "2015-01-27T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215ec69e7b", "title": "Vagrant Puppet love", "url": "http://tomm.org/tech/vagrant-puppet-love", "published_at": "2014-12-02T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db215f762852", "title": "My love affair with the cloud", "url": "http://tomm.org/tech/my-love-affair-with-the-cloud", "published_at": "2014-11-08T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db21603f1753", "title": "Little code, much immutability: Java 8 streams and immutable collections", "url": "http://tomm.org/tech/little-code-much-immutability", "published_at": "2014-09-25T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2160fb587d", "title": "Variously CORS", "url": "http://tomm.org/tech/variously-cors", "published_at": "2014-08-26T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2161c19b85", "title": "Working from home", "url": "http://tomm.org/misc/working-from-home", "published_at": "2014-08-12T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2161d46364", "title": "My Chrome extensions", "url": "http://tomm.org/tech/my-chrome-extensions", "published_at": "2014-07-28T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db21621f2414", "title": "t2 anyone?", "url": "http://tomm.org/tech/t2-anyone", "published_at": "2014-07-14T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2162ca9ce1", "title": "support, anywhere", "url": "http://tomm.org/tech/support-anywhere", "published_at": "2014-06-30T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db21634041c9", "title": "Hive or: how I learned to stop worrying and love SQL again", "url": "http://tomm.org/tech/hive-or-how-i-learned-to-stop-worrying-and-love-sql-again", "published_at": "2014-06-04T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db21643954c5", "title": "Turning off the monitoring", "url": "http://tomm.org/tech/turning-off-the-monitoring", "published_at": "2014-05-20T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db216452287f", "title": "When Unauthorized is forbidden", "url": "http://tomm.org/tech/when-unauthorized-is-forbidden", "published_at": "2014-04-13T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2164b6dcfc", "title": "Keeping secrets in Puppet", "url": "http://tomm.org/tech/keeping-secrets-in-puppet", "published_at": "2014-02-27T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db216558d4e5", "title": "ABCs of usable APIs", "url": "http://tomm.org/tech/abcs-of-usable-apis", "published_at": "2014-01-28T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2165bb2a1c", "title": "Template vs decorator", "url": "http://tomm.org/tech/template-vs-decorator", "published_at": "2014-01-14T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2165fff23b", "title": "Tuesday Terminal Tip: add some colour to your prompt", "url": "http://tomm.org/tech/tuesday-terminal-tip-colour-prompt", "published_at": "2013-12-03T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2166dcc9c2", "title": "Profiling a JVM in EC2 with VisualVM", "url": "http://tomm.org/tech/remote-profiling-visualvm", "published_at": "2013-11-19T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db21676a439d", "title": "Mutant Mongo: A lesson in immutability", "url": "http://tomm.org/tech/mutant-objects", "published_at": "2013-10-31T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2167986ab2", "title": "London to Paris on two wheels", "url": "http://tomm.org/outdoors/london-to-paris", "published_at": "2013-05-29T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2167cee52a", "title": "Beauvais to Paris", "url": "http://tomm.org/outdoors/beauvais-to-paris", "published_at": "2013-05-28T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db216859a665", "title": "Dieppe to Beauvais", "url": "http://tomm.org/outdoors/dieppe-to-beauvais", "published_at": "2013-05-26T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2168e92ad4", "title": "London to Newhaven", "url": "http://tomm.org/outdoors/london-to-newhaven", "published_at": "2013-05-25T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2169cf65b9", "title": "From London to London to Paris", "url": "http://tomm.org/outdoors/from-london-to-london-to-paris", "published_at": "2013-05-25T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db2169e8d5d4", "title": "Delayed again", "url": "http://tomm.org/misc/delayed-again", "published_at": "2012-03-15T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db216a62b341", "title": "6 weeks to go", "url": "http://tomm.org/misc/6-weeks-to-go", "published_at": "2012-03-08T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db216a71df25", "title": "One month in", "url": "http://tomm.org/misc/one-month-in", "published_at": "2012-02-11T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db216ae34db8", "title": "And so it begins (again)", "url": "http://tomm.org/misc/and-so-it-begins-again", "published_at": "2012-01-08T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db216af9ccb7", "title": "DPRK September 2009", "url": "http://tomm.org/misc/dprk-september-2009", "published_at": "2009-09-13T00:00:00+00:00" }, { "id": "01a08c57-2c04-7242-9253-db216b2fb114", "title": "Two factor auth gets personal", "url": "http://tomm.org/tech/two-factor-auth-gets-personal", "published_at": "2009-02-03T00:00:00+00:00" } ] posts Claim your blog
Back to tomm.org
Blog · corpus.blog/blogs/tomm.org/posts

tomm.org

tomm.org

2026

2025

2024

2023

2022

2019

2018

2017

2016

2015

2014

2013

2012

2009