56,966 blogs · [ { "id": "01a0d51c-a6aa-7211-9300-fec64d52d276", "title": "Sandboxing Claude Code on your machine", "url": "https://alexsavin.me/posts/2026-09-18-claude-in-sandbox/", "published_at": "2026-09-18T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c2fd05273", "title": "MLOps for software engineers - Part 2: Models as Artifacts", "url": "https://alexsavin.me/posts/2026-08-27-models-as-artifacts/", "published_at": "2026-08-26T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c30046bb6", "title": "MLOps for software engineers - Part 1: What is an ML model?", "url": "https://alexsavin.me/posts/2026-08-19-mlops-for-software-engineers/", "published_at": "2026-08-19T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c3067c775", "title": "Migrating from Flickr to self-hosted Immich", "url": "https://alexsavin.me/posts/2026-08-11-flickr-to-immich-migration/", "published_at": "2026-08-11T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c30ec9b5b", "title": "A year with ZSA Voyager split keyboard", "url": "https://alexsavin.me/posts/2026-07-15-zsa-voyager-one-year/", "published_at": "2026-07-15T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c31946c18", "title": "Living on a token budget", "url": "https://alexsavin.me/posts/2026-06-11-living-on-token-budget/", "published_at": "2026-06-11T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c3222b066", "title": "DNS over TLS", "url": "https://alexsavin.me/posts/2026-06-04-dns-over-tls/", "published_at": "2026-06-04T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c327d5b2e", "title": "On token usage", "url": "https://alexsavin.me/posts/2026-05-26-on-token-usage/", "published_at": "2026-05-28T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c328cb9d4", "title": "One week with Claude Code on a legacy codebase", "url": "https://alexsavin.me/posts/2025-08-13-claude-code-for-a-week/", "published_at": "2025-08-13T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c330d858f", "title": "We Are Developers 2025 - conference in Berlin", "url": "https://alexsavin.me/posts/2025-07-28-we-are-developers/", "published_at": "2025-07-28T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c332046d8", "title": "Agentic development", "url": "https://alexsavin.me/posts/2025-07-21-agentic-development/", "published_at": "2025-07-21T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c34114464", "title": "Bottle deposits and the pit of success", "url": "https://alexsavin.me/posts/2025-07-14-bottle-deposits/", "published_at": "2025-07-14T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c341ba166", "title": "Listen to the engine noise", "url": "https://alexsavin.me/posts/2024-10-29-listen-to-engine-noise/", "published_at": "2024-10-29T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c34e4fb9d", "title": "Tech startups scene in the UK - and Tom Blomfield", "url": "https://alexsavin.me/posts/2024-10-18-uk-tech-startups/", "published_at": "2024-10-18T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c35d5ffaf", "title": "Oodi - a public library in Helsinki", "url": "https://alexsavin.me/posts/2024-10-06-oodi-public-library/", "published_at": "2024-10-06T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c35f4b03f", "title": "LP Driven Development", "url": "https://alexsavin.me/posts/2024-08-20-lp-driven-development/", "published_at": "2024-08-20T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c362824a3", "title": "Develop software like it is 2003", "url": "https://alexsavin.me/posts/2024-02-08-programming-in-2003/", "published_at": "2024-02-08T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c36956031", "title": "Red Blobs and Pop-Ups - how to Slack and not get anxiety", "url": "https://alexsavin.me/posts/2024-02-01-slack-red-blobs/", "published_at": "2024-02-01T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c3737a231", "title": "Post Office, Horizon - and large scale software projects", "url": "https://alexsavin.me/posts/2024-01-18-post-office-horizon-learnings/", "published_at": "2024-01-18T01:37:10+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c38353507", "title": "Hire me", "url": "https://alexsavin.me/hire/", "published_at": "2024-01-10T06:06:45+00:00" }, { "id": "01a08724-b6fd-704b-b080-be1c38687efe", "title": "Next gen Slack SDK - DX and first impressions", "url": "https://alexsavin.me/posts/2023-12-01-slack-apps-next-gen/", "published_at": "2023-12-01T01:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a6a6002ae", "title": "GPT-V vs Selenium", "url": "https://alexsavin.me/posts/2023-11-20-gptv-vs-selenium/", "published_at": "2023-11-20T05:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a6b3779b0", "title": "Acorn Archimedes and floppy discs", "url": "https://alexsavin.me/posts/2023-11-03-acorn-floppy-discs/", "published_at": "2023-11-03T05:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a6c1345b3", "title": "A case for Rust", "url": "https://alexsavin.me/posts/2023-09-22-a-case-for-rust/", "published_at": "2023-09-22T06:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a6c31d840", "title": "Github Workflows and multilines in YAML", "url": "https://alexsavin.me/posts/2023-09-08-github-workflows/", "published_at": "2023-09-08T10:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a6cece429", "title": "Sandboxes and why they matter", "url": "https://alexsavin.me/posts/2023-08-16-sandboxes/", "published_at": "2023-08-16T10:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a6d2b74b0", "title": "Apps and games made in Ukraine", "url": "https://alexsavin.me/posts/2023-08-12-apps-made-in-ukraine/", "published_at": "2023-08-12T10:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a6de8d9f0", "title": "Python virtual environments howto", "url": "https://alexsavin.me/posts/2023-08-04-python-virtualenvs/", "published_at": "2023-08-04T10:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a6ed7c774", "title": "About", "url": "https://alexsavin.me/about/", "published_at": "2023-05-11T09:06:45+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a6f24874a", "title": "Continuous testing on production", "url": "https://alexsavin.me/posts/2023-01-17-tests-in-production/", "published_at": "2023-01-17T10:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a6f3e735e", "title": "Chess", "url": "https://alexsavin.me/posts/2021-12-17-chess/", "published_at": "2021-12-17T10:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a6fe71c99", "title": "Wales", "url": "https://alexsavin.me/posts/2021-12-04-wales-pembrokshire/", "published_at": "2021-12-04T14:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7036fe67", "title": "On Slack channel naming conventions", "url": "https://alexsavin.me/posts/2021-12-01-slack-channel-namings/", "published_at": "2021-12-01T14:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7115c66d", "title": "Snapshot based persistence", "url": "https://alexsavin.me/posts/2021-09-03-data-snapshotting/", "published_at": "2021-09-03T14:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a71deda71", "title": "Handling financials in your app - best practices", "url": "https://alexsavin.me/posts/2020-12-22-financials-best-practices/", "published_at": "2020-12-22T14:37:10+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a71f73de7", "title": "Upgrade to Hugo", "url": "https://alexsavin.me/posts/2020-12-14-upgrade-to-hugo/", "published_at": "2020-12-14T17:01:30+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a727c79f5", "title": "Documenting business logic in your code", "url": "https://alexsavin.me/posts/2020-06-18-inline-business-docs/", "published_at": "2020-06-18T06:14:00+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a73133ae3", "title": "Idempotency", "url": "https://alexsavin.me/posts/2020-06-03-idempotency/", "published_at": "2020-06-03T06:14:00+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7354ac82", "title": "Atomicity", "url": "https://alexsavin.me/posts/2020-05-28-atomicity/", "published_at": "2020-05-28T06:14:00+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a73d2cb26", "title": "Remote Work", "url": "https://alexsavin.me/posts/2020-03-13-remote-work/", "published_at": "2020-03-13T06:14:00+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a74375a20", "title": "Leaving Instagram for Open Web alternatives", "url": "https://alexsavin.me/posts/2020-02-27-instagram-open-web-alternatives/", "published_at": "2020-02-27T06:14:00+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a74eb1d6c", "title": "Shadow Testing", "url": "https://alexsavin.me/posts/2019-10-04-shadow-testing/", "published_at": "2019-10-04T06:14:00+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a75828d9a", "title": "Current state of things", "url": "https://alexsavin.me/posts/2019-03-27-current-state-of-things/", "published_at": "2019-08-15T15:53:00+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a75a6b202", "title": "Reactive Conf 2017 takeaways - Datomic, Logux and CSS with Elm", "url": "https://alexsavin.me/posts/2017-11-12-reactive-conf-takeaways/", "published_at": "2017-11-12T06:14:00+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a76843bef", "title": "Daily vlogging", "url": "https://alexsavin.me/posts/2016-09-16-daily-vlogging/", "published_at": "2016-09-16T10:18:37+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a76a857af", "title": "Daily vlog live from the USSR", "url": "https://alexsavin.me/posts/2016-08-10-vlog-live-from-russia/", "published_at": "2016-08-10T20:26:47+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7757f8df", "title": "Freedom of movement", "url": "https://alexsavin.me/posts/2016-07-29-freedom-of-movement/", "published_at": "2016-07-29T06:14:00+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7787f0b4", "title": "Agfa Flexilette twin reflex 35mm camera", "url": "https://alexsavin.me/posts/2016-07-14-agfa-flexilette-35mm-camera/", "published_at": "2016-07-13T21:56:14+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a781c26ea", "title": "Brexit, or let's be more human", "url": "https://alexsavin.me/posts/2016-06-21-brexit/", "published_at": "2016-06-21T21:34:36+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a781d92c2", "title": "GOV UX Proof of address", "url": "https://alexsavin.me/posts/2016-06-19-gov-ux-proof-of-address/", "published_at": "2016-06-19T17:15:55+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a78392710", "title": "Oculus CV1", "url": "https://alexsavin.me/posts/2016-06-14-oculus-cv1-review/", "published_at": "2016-06-14T22:19:00+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7847fa56", "title": "2 months with Brompton foldable bike", "url": "https://alexsavin.me/posts/2016-05-19-foldable-bike-impressions/", "published_at": "2016-05-19T22:09:25+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7935066d", "title": "Netherlands vlog season - episode guide", "url": "https://alexsavin.me/posts/2016-04-24-vlog-netherlands-season-guide/", "published_at": "2016-04-24T20:25:37+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a79a37512", "title": "Culture of cycling in Amsterdam", "url": "https://alexsavin.me/posts/2016-04-20-cycling-in-amsterdam/", "published_at": "2016-04-20T09:33:31+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a79b58e62", "title": "Black and white Polaroid shots", "url": "https://alexsavin.me/posts/2016-04-09-polaroid-black-and-white-film/", "published_at": "2016-04-09T21:59:54+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a79f73a75", "title": "StereoFinland dot com - post mortem", "url": "https://alexsavin.me/posts/2016-03-27-stereofinland-post-mortem/", "published_at": "2016-03-27T20:57:48+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7af64b3f", "title": "Using Mondo and Revolut in the US", "url": "https://alexsavin.me/posts/2016-03-21-using-revolut-and-mondo-in-usa/", "published_at": "2016-03-21T16:28:38+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7bda4fbf", "title": "Daily vlog for a week", "url": "https://alexsavin.me/posts/2016-03-15-vlog-for-a-week/", "published_at": "2016-03-15T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7c94a161", "title": "Virgin Media broadband - the honest installation guide", "url": "https://alexsavin.me/posts/2016-02-11-honest-guide-virgin-media-fibre/", "published_at": "2016-02-11T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7d2c237f", "title": "E2 to E17", "url": "https://alexsavin.me/posts/2016-02-07-moving-to-walthamstow/", "published_at": "2016-02-07T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7e25133d", "title": "Hateful 8 roadshow event in Panavision 70mm", "url": "https://alexsavin.me/posts/2016-01-17-70mm-panavision-hateful-8/", "published_at": "2016-01-17T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7e28104e", "title": "Two years in London", "url": "https://alexsavin.me/posts/2016-01-10-two-years-in-london/", "published_at": "2016-01-10T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7e515ed3", "title": "One second a day film project", "url": "https://alexsavin.me/posts/2016-01-03-one-second-every-day/", "published_at": "2016-01-03T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7ecb5f5a", "title": "Barcelona 3D Film Music Fest", "url": "https://alexsavin.me/posts/2015-12-22-barcelona-film-fest/", "published_at": "2015-12-22T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7f121ab6", "title": "Cycle scheme for dummies", "url": "https://alexsavin.me/posts/2015-11-29-cycle-scheme-explained/", "published_at": "2015-11-29T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a7fe2b602", "title": "Barcelona, Fallout, Mamiya, GraphQL", "url": "https://alexsavin.me/posts/2015-11-15-barcelona-fallout-mamiya-graphql/", "published_at": "2015-11-15T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a80b2a98f", "title": "London Timescapes film is released", "url": "https://alexsavin.me/posts/2015-11-08-london-timescapes-film-release/", "published_at": "2015-11-08T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8116379f", "title": "Batch of analog 35mm film cameras", "url": "https://alexsavin.me/posts/2015-11-01-batch-of-analog-cameras/", "published_at": "2015-10-26T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a81ceed26", "title": "GraphQL with Nick Schrock", "url": "https://alexsavin.me/posts/2015-10-26-graphql-with-nick-schrock/", "published_at": "2015-10-26T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a827607d2", "title": "London Timescapes film on Beyond 3D fest", "url": "https://alexsavin.me/posts/2015-10-18-london-timescapes-beyond-fest/", "published_at": "2015-10-18T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a835b6491", "title": "Basel, Switzerland", "url": "https://alexsavin.me/posts/2015-10-15-basel-switzerland/", "published_at": "2015-10-15T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8432fe00", "title": "Clapham South underground shelter", "url": "https://alexsavin.me/posts/2015-10-07-clapham-south-underground-shelter/", "published_at": "2015-10-07T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a84789b34", "title": "Westminster on expired 35mm Svema film", "url": "https://alexsavin.me/posts/2015-09-30-london-on-svema-film/", "published_at": "2015-09-30T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a851372e5", "title": "London Virtual Reality meetup returns", "url": "https://alexsavin.me/posts/2015-09-15-virtual-reality-london-meetup/", "published_at": "2015-09-15T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a852d3e60", "title": "Last week of British summer", "url": "https://alexsavin.me/posts/2015-08-31-weekly-recap/", "published_at": "2015-08-31T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8562b741", "title": "Radio Badger anniversary", "url": "https://alexsavin.me/posts/2015-08-23-radio-badger-anniversary/", "published_at": "2015-08-23T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8599c79b", "title": "London Timescapes VR edition", "url": "https://alexsavin.me/posts/2015-08-15-london-timescapes-update/", "published_at": "2015-08-15T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8681f10e", "title": "Pebble Watch impressions", "url": "https://alexsavin.me/posts/2015-08-03-pebble-watch-impressions/", "published_at": "2015-08-03T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a86ff57bf", "title": "London Virtual Reality inaugural meetup", "url": "https://alexsavin.me/posts/2015-07-20-vrlo-meetup/", "published_at": "2015-07-20T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8715efb4", "title": "London Timescapes film update", "url": "https://alexsavin.me/posts/2015-07-12-london-timescapes-update/", "published_at": "2015-07-12T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a872bca88", "title": "Week recap", "url": "https://alexsavin.me/posts/2015-06-07-week-recap/", "published_at": "2015-06-07T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a87bc4829", "title": "Corfu Island adventure", "url": "https://alexsavin.me/posts/2015-06-04-corfu-island-notes/", "published_at": "2015-06-04T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a884b24e8", "title": "Bitcoins and moving off the GMail", "url": "https://alexsavin.me/posts/2015-05-26-bitcoins-fastmail/", "published_at": "2015-05-26T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a884d27c8", "title": "Weekly recap", "url": "https://alexsavin.me/posts/2015-05-25-week-recap/", "published_at": "2015-05-25T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a888dca2b", "title": "Personal update", "url": "https://alexsavin.me/posts/2015-05-16-personal-update/", "published_at": "2015-05-16T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a89862b58", "title": "Worthy stuff to watch and read - 32", "url": "https://alexsavin.me/posts/2015-04-16-worthy-stuff/", "published_at": "2015-04-16T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8988a628", "title": "Local darkroom experience", "url": "https://alexsavin.me/posts/2015-04-12-darkroom-experience/", "published_at": "2015-04-12T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a89b6cf88", "title": "Yubikey - no password required", "url": "https://alexsavin.me/posts/2015-04-07-yubikey-no-password-required/", "published_at": "2015-04-07T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8a2e7d70", "title": "Worthy stuff to watch and read - 31", "url": "https://alexsavin.me/posts/2015-04-05-worthy-stuff/", "published_at": "2015-04-05T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8a8ad874", "title": "Worthy stuff to watch and read - 30", "url": "https://alexsavin.me/posts/2015-03-29-worthy-stuff/", "published_at": "2015-03-29T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8aee12b1", "title": "Worthy stuff to watch and read - 29", "url": "https://alexsavin.me/posts/2015-03-22-worthy-stuff/", "published_at": "2015-03-22T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8b7dec14", "title": "Worthy stuff to watch and read - 28", "url": "https://alexsavin.me/posts/2015-03-16-worthy-stuff/", "published_at": "2015-03-17T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8c3cce7c", "title": "Worthy stuff to watch and read - 27", "url": "https://alexsavin.me/posts/2015-03-08/", "published_at": "2015-03-08T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8cc009a9", "title": "Worthy stuff to watch and read - 26", "url": "https://alexsavin.me/posts/2015-03-01-worthy-stuff/", "published_at": "2015-03-01T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8d9cd9da", "title": "Useful extensions to make Internet a better place", "url": "https://alexsavin.me/posts/2015-02-25-useful-browser-extensions/", "published_at": "2015-02-25T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8e064f2b", "title": "Worthy stuff to watch and read - 25", "url": "https://alexsavin.me/posts/2015-02-22-worthy-stuff/", "published_at": "2015-02-22T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8e581023", "title": "Worthy stuff to watch and read - 24", "url": "https://alexsavin.me/posts/2015-02-15/", "published_at": "2015-02-15T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8ed09efe", "title": "Worthy stuff to watch and read - 23", "url": "https://alexsavin.me/posts/2015-02-09-worthy-stuff-issue/", "published_at": "2015-02-09T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a8f485d66", "title": "Worthy stuff to watch and read - 22", "url": "https://alexsavin.me/posts/2015-02-01-worthy-stuff-issue/", "published_at": "2015-02-01T17:36:28+00:00" }, { "id": "01a08724-b6fe-7076-8e3c-770a90216b5b", "title": "Worthy stuff to watch and read - 21", "url": "https://alexsavin.me/posts/2015-01-25-worthy-stuff-issue/", "published_at": "2015-01-25T17:36:28+00:00" } ] posts Claim your blog
Back to alexsavin.me
Blog · corpus.blog/blogs/alexsavin.me/posts

alexsavin.me

alexsavin.me

2026

2025

2024

2023

2021

2020

2019

2017

2016

2015