56,966 blogs · [ { "id": "01a08790-268c-706f-859f-4be1e02b744b", "title": "Flock Cameras and the Convexity of Mass Surveillance", "url": "https://jonaylor.com//blog/flock-cameras-and-the-convexity-of-mass-surveillance/", "published_at": "2026-08-15T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f37d577d6f", "title": "Cafés of Barcelona", "url": "https://jonaylor.com//blog/cafes-of-barcelona/", "published_at": "2026-08-10T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f37e0279a2", "title": "Modernizing a Wine Recommender with LanceDB", "url": "https://jonaylor.com//blog/modernizing-a-wine-recommender-with-lancedb/", "published_at": "2026-07-04T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f37ecb682f", "title": "Less Music, More Thinking", "url": "https://jonaylor.com//blog/no-music-more-thinking/", "published_at": "2026-06-01T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f37f5cfdf7", "title": "The Deaf Composer", "url": "https://jonaylor.com//blog/the-deaf-composer/", "published_at": "2026-05-03T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f37f681bb9", "title": "What Makes a Good Hackathon", "url": "https://jonaylor.com//blog/what-makes-a-good-hackathon/", "published_at": "2026-04-30T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f37fecf2f1", "title": "On American Unity", "url": "https://jonaylor.com//blog/on-american-unity/", "published_at": "2026-04-28T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f380059fdb", "title": "How does DRM work?", "url": "https://jonaylor.com//blog/how-does-drm-work/", "published_at": "2026-02-27T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f380bd4376", "title": "Make an EXE file and give it to me", "url": "https://jonaylor.com//blog/make-an-exe-file/", "published_at": "2026-02-17T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f3813c8c23", "title": "Per què Barcelona és la capital del Music Tech a Europe?", "url": "https://jonaylor.com//blog/perque-barcelona-es-la-capital-del-music-tech/", "published_at": "2026-02-06T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f381e021ea", "title": "I Launched a Website Builder That Costs Pennies Instead of $25/mo", "url": "https://jonaylor.com//blog/i-built-a-website-builder-that-costs-pennies/", "published_at": "2026-01-29T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f382117225", "title": "Should you rewrite your machine learning pipelines in Zig?", "url": "https://jonaylor.com//blog/audio-preprocessing-pipeline-zig/", "published_at": "2025-12-03T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f382283331", "title": "Trading Bot Backtests are Lying to You", "url": "https://jonaylor.com//blog/algo-backtests-are-lying-to-you/", "published_at": "2025-11-17T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f383016857", "title": "Cafés in Williamsburg BK", "url": "https://jonaylor.com//blog/cafes-of-williamsburg-bk/", "published_at": "2025-11-05T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f383efc8cf", "title": "Introducing Saint John™", "url": "https://jonaylor.com//blog/introducing-saint-john/", "published_at": "2025-10-26T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f384a55128", "title": "I'm leaving Udio", "url": "https://jonaylor.com//blog/i-quit-my-500k-software-job/", "published_at": "2025-10-07T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f3854080ac", "title": "Migrating Off Hashnode", "url": "https://jonaylor.com//blog/migrating-off-hashnode/", "published_at": "2025-09-29T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f3858dc40c", "title": "SELECT * FROM image.png", "url": "https://jonaylor.com//blog/select-from-imagepng/", "published_at": "2025-09-23T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f385964686", "title": "Protect Your Database from Cursor", "url": "https://jonaylor.com//blog/protect-your-database-from-cursor/", "published_at": "2025-09-04T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f385dbc412", "title": "Der Sprachlernprozess", "url": "https://jonaylor.com//blog/der-sprachlernprozess/", "published_at": "2025-08-27T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f3863eb96a", "title": "Building a Simple AI DAW, Part 2: MCP and Agents", "url": "https://jonaylor.com//blog/building-a-simple-ai-daw-part-2-mcp-and-agents/", "published_at": "2025-08-12T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f38737e64e", "title": "Query Google Sheets with SQL", "url": "https://jonaylor.com//blog/query-google-sheets-with-sql/", "published_at": "2025-07-07T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f387f1e9b7", "title": "i made csv-parser 1.3x faster (sometimes)", "url": "https://jonaylor.com//blog/i-made-csv-parser-13x-faster-sometimes/", "published_at": "2025-07-01T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f3886ebf0b", "title": "Observability in Audius’s Decentralized System", "url": "https://jonaylor.com//blog/observability-in-audiuss-decentralized-system/", "published_at": "2025-04-22T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f388ce792b", "title": "I just paid off all my student loans", "url": "https://jonaylor.com//blog/i-just-paid-off-all-my-student-loans/", "published_at": "2025-03-11T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f389005196", "title": "Introducing Housefly: A Playground for Web Scraping", "url": "https://jonaylor.com//blog/introducing-housefly-a-playground-for-web-scraping/", "published_at": "2025-02-28T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f38933efe7", "title": "Build a Simple Ai DAW", "url": "https://jonaylor.com//blog/build-a-simple-ai-daw/", "published_at": "2025-01-23T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f3898f94cd", "title": "null is worse than you think", "url": "https://jonaylor.com//blog/null-is-worse-than-you-think/", "published_at": "2023-04-27T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f38a38f7c8", "title": "Create a Wine Recommender Using NLP on AWS", "url": "https://jonaylor.com//blog/create-a-wine-recommender/", "published_at": "2022-07-18T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f38a6de8c2", "title": "Discover Hidden Secrets in Git Repos with Rust", "url": "https://jonaylor.com//blog/discover-hidden-secrets-in-git-repos-with-rust/", "published_at": "2021-11-08T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f38b58f817", "title": "How to Manipulate Images on a GPU", "url": "https://jonaylor.com//blog/how-to-manipulate-images-on-a-gpu/", "published_at": "2021-08-01T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f38c3bc56f", "title": "Creating a Twitter Bot in Go", "url": "https://jonaylor.com//blog/creating-a-twitter-bot-in-go/", "published_at": "2021-02-02T00:00:00+00:00" }, { "id": "01a08790-268d-7343-9525-28f38d1550ce", "title": "My Switch Away From Python", "url": "https://jonaylor.com//blog/my-switch-away-from-python/", "published_at": "2021-02-02T00:00:00+00:00" } ] posts Claim your blog
Back to jonaylor.com
Blog · corpus.blog/blogs/jonaylor.com/posts

jonaylor.com

jonaylor.com

2026

2025

2023

2022

2021