56,966 blogs ยท [ { "id": "01a08787-8b86-71d5-ae02-d4530162a451", "title": "Free AI-assisted coding 5: Defeating slop with good practice", "url": "https://instantiator.dev/post/prototyping-opencode-tutorial-005-good-practices/", "published_at": "2026-08-06T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530232a13f", "title": "Free AI-assisted coding 4: Let's experiment", "url": "https://instantiator.dev/post/prototyping-opencode-tutorial-004-experiment/", "published_at": "2026-08-03T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453031d6e0d", "title": "Sky hub blues", "url": "https://instantiator.dev/post/sky-hub-blues/", "published_at": "2026-07-29T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453037ee2a9", "title": "Free AI-assisted coding 3: A basic prototype with Streamlit", "url": "https://instantiator.dev/post/prototyping-opencode-tutorial-003-scaffolding/", "published_at": "2026-07-28T12:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45303f1b679", "title": "Review: Dungeon Crawler Carl", "url": "https://instantiator.dev/post/dcc/", "published_at": "2026-07-28T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45304a30cf9", "title": "Free AI-assisted coding 2: Managing your code", "url": "https://instantiator.dev/post/prototyping-opencode-tutorial-002-git/", "published_at": "2026-07-27T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45304c013fe", "title": "Free AI-assisted coding 1: Getting started", "url": "https://instantiator.dev/post/prototyping-opencode-tutorial-001-dev-environment/", "published_at": "2026-07-17T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45305a0df7f", "title": "Say hello world and nothing else", "url": "https://instantiator.dev/post/say-hello-world-and-nothing-else/", "published_at": "2026-06-26T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453065876c3", "title": "Free art should be free", "url": "https://instantiator.dev/post/free-art-should-be-free/", "published_at": "2026-06-21T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45306d14627", "title": "Experimental development with number-jam: a number plate obscurer", "url": "https://instantiator.dev/post/number-jam/", "published_at": "2026-06-15T10:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530722e44d", "title": "Manage rich video experiences in your webapp like a pro", "url": "https://instantiator.dev/post/video-playback-like-a-pro/", "published_at": "2026-04-21T19:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530806673d", "title": "About", "url": "https://instantiator.dev/about/", "published_at": "2026-04-21T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45308834704", "title": "Referrals", "url": "https://instantiator.dev/referrals/", "published_at": "2026-04-21T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45308ec2685", "title": "Conversational deliberation, at scale", "url": "https://instantiator.dev/post/cci-zg-deliberation-at-scale/", "published_at": "2025-10-28T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45309a08f24", "title": "Bucket List - the bucket that wouldn't die", "url": "https://instantiator.dev/post/emptying-s3-buckets/", "published_at": "2025-02-22T11:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530a201f90", "title": "Managing lists on BlueSky collaboratively", "url": "https://instantiator.dev/post/collaborative-list-manager-listsky/", "published_at": "2024-09-01T12:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530a99ced9", "title": "In this house we celebrate...", "url": "https://instantiator.dev/post/in-this-house-we-celebrate/", "published_at": "2024-08-24T12:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530b17721c", "title": "Dracula and the Epistolorean", "url": "https://instantiator.dev/post/draculorean/", "published_at": "2024-07-14T12:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530bb876a6", "title": "Open Social Distributor", "url": "https://instantiator.dev/post/open-social-distributor/", "published_at": "2023-11-11T11:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530c914d8a", "title": "Reveal in React", "url": "https://instantiator.dev/post/reveal-in-react/", "published_at": "2023-09-12T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530d65bf45", "title": "Exploring OAuth", "url": "https://instantiator.dev/post/playing-with-oauth/", "published_at": "2023-07-18T17:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530df08cf8", "title": "Hammering JSON into CSV", "url": "https://instantiator.dev/post/hammer-json-into-csv/", "published_at": "2023-07-16T10:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530ebbecec", "title": "Your own map server", "url": "https://instantiator.dev/post/world-server/", "published_at": "2023-07-02T13:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530f3c77d5", "title": "Building an app for Flipper Zero, part 2: A simple user interface", "url": "https://instantiator.dev/post/flipper-zero-app-tutorial-02/", "published_at": "2023-05-05T21:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4530ff77b8f", "title": "Building an app for Flipper Zero, part 1: Getting started", "url": "https://instantiator.dev/post/flipper-zero-app-tutorial-01/", "published_at": "2023-05-05T09:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453107bacc2", "title": "A Netflixstory - analyse your Netflix watch history", "url": "https://instantiator.dev/post/netflix-history/", "published_at": "2023-04-20T17:30:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45310913ada", "title": "Building AI into your application with Semantic Kernel", "url": "https://instantiator.dev/post/you-too-can-llm/", "published_at": "2023-04-17T21:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45311721357", "title": "3D puzzle print: a crossword generation tool", "url": "https://instantiator.dev/post/printing-3d-crosswords/", "published_at": "2023-01-18T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45311ed17bf", "title": "The rocketship template ๐Ÿš€", "url": "https://instantiator.dev/post/rocketship-template/", "published_at": "2023-01-08T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45312ce1b29", "title": "8-bit Supercomputer", "url": "https://instantiator.dev/post/8-bit-supercomputer/", "published_at": "2023-01-04T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453137cb6ba", "title": "International Consensus Chess is in public beta!", "url": "https://instantiator.dev/post/icgames-net/", "published_at": "2022-12-08T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45313fcbda8", "title": "International Consensus Games (WIP)", "url": "https://instantiator.dev/post/consensus-games/", "published_at": "2022-11-10T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45314fa1bbb", "title": "A rather so-phish-ticated scam", "url": "https://instantiator.dev/post/sophishticated-scam/", "published_at": "2022-04-18T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531578ee45", "title": "Secrets With Friends", "url": "https://instantiator.dev/post/secrets-with-friends/", "published_at": "2021-12-14T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453158febea", "title": "Dead Person Switches - secrets from beyond the grave", "url": "https://instantiator.dev/post/dead-person-switch/", "published_at": "2021-11-30T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45315ec5715", "title": "Rainbow paws", "url": "https://instantiator.dev/post/rainbow-paws/", "published_at": "2021-11-13T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453162d8b76", "title": "TIL - shell environment variables aren't available to OS X apps", "url": "https://instantiator.dev/post/til-osx-apps-environment/", "published_at": "2021-11-12T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453163001f9", "title": "Dead Person Switches - appeal for journalists", "url": "https://instantiator.dev/post/dead-mans-switches-appeal/", "published_at": "2021-06-18T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45316f50fc4", "title": "A template thesis to simplify your write-up", "url": "https://instantiator.dev/post/markdown-thesis-template/", "published_at": "2021-06-17T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453171cc483", "title": "Making the best possible referrals", "url": "https://instantiator.dev/post/referral-data-standards/", "published_at": "2021-04-28T16:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453172ce0e3", "title": null, "url": "https://instantiator.dev/archives/", "published_at": "2021-04-21T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45317e1a6e5", "title": "Contact", "url": "https://instantiator.dev/contact/", "published_at": "2021-04-21T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453181f16fa", "title": "Building an AWS Lambda in C#, part 6: Triggers", "url": "https://instantiator.dev/post/csharp-aws-lambda-tutorial-06/", "published_at": "2021-04-20T18:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531836d417", "title": "Building an AWS Lambda in C#, part 5: S3", "url": "https://instantiator.dev/post/csharp-aws-lambda-tutorial-05/", "published_at": "2021-04-19T18:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45318e06deb", "title": "Building an AWS Lambda in C#, part 4: Logs", "url": "https://instantiator.dev/post/csharp-aws-lambda-tutorial-04/", "published_at": "2021-04-18T18:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453194c11d9", "title": "Building an AWS Lambda in C#, part 3: APIs and secrets", "url": "https://instantiator.dev/post/csharp-aws-lambda-tutorial-03/", "published_at": "2021-04-17T18:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45319b16053", "title": "Building an AWS Lambda in C#, part 2: Build, deploy and invoke", "url": "https://instantiator.dev/post/csharp-aws-lambda-tutorial-02/", "published_at": "2021-04-16T18:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531a00af74", "title": "Building an AWS Lambda in C#, part 1: AWS", "url": "https://instantiator.dev/post/csharp-aws-lambda-tutorial-01/", "published_at": "2021-04-15T18:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531a4ddd57", "title": "Querying data files with terminal tools", "url": "https://instantiator.dev/post/q/", "published_at": "2021-01-04T17:30:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531a7e6543", "title": "Choosing your first coding language", "url": "https://instantiator.dev/post/what-language/", "published_at": "2021-01-03T15:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531b5d990c", "title": "Keeping jobs alive with caffeine", "url": "https://instantiator.dev/post/caffeine/", "published_at": "2021-01-02T19:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531ba5f52b", "title": "Hello, World!", "url": "https://instantiator.dev/post/hello-world/", "published_at": "2021-01-01T22:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531c3ad78d", "title": "We're only human", "url": "https://instantiator.dev/post/covid-volunteer-data/", "published_at": "2020-04-24T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531cafa5a5", "title": "Look for the helpers", "url": "https://instantiator.dev/post/look-for-the-helpers/", "published_at": "2020-04-23T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531d5e517b", "title": "How to donate your laptop safely", "url": "https://instantiator.dev/post/donate-your-laptop-safely/", "published_at": "2020-02-01T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531d6afe20", "title": "Being a better witness", "url": "https://instantiator.dev/post/being-a-better-witness/", "published_at": "2019-03-28T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531d9aafb7", "title": "Policing data interventions", "url": "https://instantiator.dev/post/policing-data-intervention/", "published_at": "2019-03-05T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531e6dda01", "title": "A friendly face for the victims of burglary", "url": "https://instantiator.dev/post/burglary-bot/", "published_at": "2019-02-23T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4531f544535", "title": "Let's hack the police, part 3", "url": "https://instantiator.dev/post/htp3-lets-hack-the-police/", "published_at": "2018-11-07T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453204481b1", "title": "Wriggler", "url": "https://instantiator.dev/post/wriggler/", "published_at": "2018-04-23T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45320e50193", "title": "Software Self Defence 101", "url": "https://instantiator.dev/post/software-self-defence-101/", "published_at": "2018-04-12T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45320fc50f3", "title": "Touch Pairing at Sex Tech Hack 2017", "url": "https://instantiator.dev/post/touch-pairing/", "published_at": "2017-11-26T13:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4532107654f", "title": "Hacking the Police, part 2", "url": "https://instantiator.dev/post/htp2-hacking-the-police/", "published_at": "2017-11-20T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453211a5eea", "title": "3 excellent ways to build trust with your users", "url": "https://instantiator.dev/post/3-ways-build-trust/", "published_at": "2017-10-11T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4532198c33d", "title": "5 reasons refactoring your project can give you back your competitive edge", "url": "https://instantiator.dev/post/5-reasons-to-refactor/", "published_at": "2017-10-05T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453228d32b0", "title": "Why are some projects so expensive?", "url": "https://instantiator.dev/post/project-costs/", "published_at": "2017-09-22T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45322b41199", "title": "Drive Stamper", "url": "https://instantiator.dev/post/np-drive-stamper/", "published_at": "2015-05-29T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45323307be8", "title": "Text adventures in 3D", "url": "https://instantiator.dev/post/text-adventures-3d/", "published_at": "2013-10-29T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45323320930", "title": "Hack Highlight #4: How did we do?", "url": "https://instantiator.dev/post/htp1-highlight-4-how-did-we-do/", "published_at": "2013-06-14T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d4532392c392", "title": "Hack Highlight #3: AroundMET", "url": "https://instantiator.dev/post/htp1-highlight-3-aroundmet/", "published_at": "2013-06-07T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453249101d1", "title": "Hack Highlight #2: Terminal 2.0", "url": "https://instantiator.dev/post/htp1-highlight-2-terminal-2/", "published_at": "2013-05-29T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45324d927f4", "title": "Hack Highlight #1: Secure evidence recording", "url": "https://instantiator.dev/post/htp1-highlight-1-secure-evidence-recorder/", "published_at": "2013-05-25T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d45325499596", "title": "We hacked the Police!", "url": "https://instantiator.dev/post/we-hacked-the-police/", "published_at": "2013-05-05T00:00:00+00:00" }, { "id": "01a08787-8b86-71d5-ae02-d453259e2340", "title": "Hacking up Parliament", "url": "https://instantiator.dev/post/champion/", "published_at": "2012-12-08T00:00:00+00:00" } ] posts Claim your blog
Back to instantiator.dev
Blog ยท corpus.blog/blogs/instantiator.dev/posts

instantiator.dev

instantiator.dev

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2015

2013

2012