41554 blogs · [ { "id": "01a0878b-a5c0-7001-a06a-a16a886f6506", "title": "A Revival of Sorts: Getting my iPod Classic 7th Gen Working Again", "url": "https://www.jasonscheirer.com/weblog/an-ipod-classic-7g-revival/", "published_at": "2026-07-02T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a88c6e6e3", "title": "xteSTINK: A command-line utility for doing things to the Xteink X4", "url": "https://www.jasonscheirer.com/xtestink/", "published_at": "2026-06-20T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8981b2a7", "title": "Saddle Creek: Add Out-of-Band Metadata to PE Executables", "url": "https://www.jasonscheirer.com/saddlecreek/", "published_at": "2026-04-12T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8a0fc901", "title": "Golang Webview Installer for Wails 3", "url": "https://www.jasonscheirer.com/webview-installer/", "published_at": "2026-04-04T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8a71748d", "title": "Eleven Years in the Bay Area", "url": "https://www.jasonscheirer.com/weblog/eleven-years-in-the-bay/", "published_at": "2026-02-07T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8ad8b643", "title": "Steam on non-Conventional Desktops (Niri)", "url": "https://www.jasonscheirer.com/weblog/steam-on-non-conventional-desktops/", "published_at": "2026-01-17T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8bb2e249", "title": "Ollama on Fedora Linux on a Battlemage GPU", "url": "https://www.jasonscheirer.com/weblog/ollama-on-battlemage-on-linux/", "published_at": "2026-01-14T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8be18e36", "title": "Learn To Live With The Defaults", "url": "https://www.jasonscheirer.com/engineering-virtues/the-defaults/", "published_at": "2026-01-03T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8c9b041b", "title": "If Your Electron App is \"Just A Browser Wrapper\" You're Doing It Wrong", "url": "https://www.jasonscheirer.com/weblog/on-electron/", "published_at": "2025-12-06T00:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8ceb0a42", "title": "A Series of Vignettes From My Childhood and Early Career", "url": "https://www.jasonscheirer.com/weblog/vignettes/", "published_at": "2025-11-27T00:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8da46069", "title": "The Innioasis Y1 Music Player", "url": "https://www.jasonscheirer.com/weblog/innioasis-y1/", "published_at": "2025-11-15T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8deab7ea", "title": "The Shanling M0s Music Player", "url": "https://www.jasonscheirer.com/weblog/shanling-m0s/", "published_at": "2025-11-15T00:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8df5c2bf", "title": "What You Do and Who You Are", "url": "https://www.jasonscheirer.com/weblog/ser-estar/", "published_at": "2025-10-29T08:08:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8eadaf67", "title": "I Don't Like that I Like Starship", "url": "https://www.jasonscheirer.com/weblog/starship/", "published_at": "2025-10-29T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8f059dee", "title": "There and Back Again: My Journey Into (and out of) Tailwind", "url": "https://www.jasonscheirer.com/weblog/tailwind/", "published_at": "2025-07-23T00:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8f4c9fed", "title": "Here's The Interesting Part", "url": "https://www.jasonscheirer.com/engineering-virtues/the-interesting-part/", "published_at": "2025-07-22T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8f897413", "title": "This Shouldn't Be Hard", "url": "https://www.jasonscheirer.com/engineering-virtues/this-shouldnt-be-hard/", "published_at": "2025-07-21T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8fcd62d6", "title": "Chains: My Attempt at an Itertools for Go", "url": "https://www.jasonscheirer.com/weblog/chains/", "published_at": "2025-05-24T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a8fec52eb", "title": "Hate What You Know", "url": "https://www.jasonscheirer.com/engineering-virtues/hate-what-you-know/", "published_at": "2025-05-17T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a907dcccb", "title": "Kicking the Tires on Harper", "url": "https://www.jasonscheirer.com/weblog/kicking-the-tires-on-harper/", "published_at": "2025-05-15T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a9171403c", "title": "The Wrong Conclusion", "url": "https://www.jasonscheirer.com/weblog/the-wrong-conclusion/", "published_at": "2025-05-15T06:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a919707c4", "title": "Throw your Team a Bone", "url": "https://www.jasonscheirer.com/engineering-virtues/throw-them-a-bone/", "published_at": "2025-03-14T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a91abe0e3", "title": "Give Yourself Little Treats Sometimes", "url": "https://www.jasonscheirer.com/engineering-virtues/little-treats/", "published_at": "2025-03-05T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a922d397f", "title": "A Children's Treasury of Critiques and Concerns about the Current LLM Hype Cycle", "url": "https://www.jasonscheirer.com/weblog/llms/", "published_at": "2025-03-03T00:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a93231463", "title": "You Need to Break the Rules", "url": "https://www.jasonscheirer.com/engineering-virtues/you-need-to-break-the-rules/", "published_at": "2025-03-01T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a9349600b", "title": "Passively Transparent", "url": "https://www.jasonscheirer.com/engineering-virtues/passively-transparent/", "published_at": "2025-02-28T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a9370cc0e", "title": "Be An Iceberg", "url": "https://www.jasonscheirer.com/engineering-virtues/be-an-iceberg/", "published_at": "2025-02-01T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a93942135", "title": "Tools I Use to Live My Glamorous Life", "url": "https://www.jasonscheirer.com/uses/", "published_at": "2024-12-14T00:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a93e3c86f", "title": "Classicube at Work", "url": "https://www.jasonscheirer.com/weblog/playing-classicube-at-work/", "published_at": "2024-11-20T16:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a94ac53f3", "title": "Trying out PaperWM", "url": "https://www.jasonscheirer.com/weblog/trying-out-paperwm/", "published_at": "2024-11-18T16:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a9542689c", "title": "A Practical Guide to Self-Hosting a RAG", "url": "https://www.jasonscheirer.com/weblog/babys-first-rag/", "published_at": "2024-07-07T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a95912f35", "title": "Job #1 of Codebases is Onboardability", "url": "https://www.jasonscheirer.com/weblog/onboardable-codebases/", "published_at": "2024-05-02T08:55:10+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a95d039a9", "title": "Framework Syndrome: Solving Software Problems by Not Solving Them", "url": "https://www.jasonscheirer.com/weblog/framework-syndrome/", "published_at": "2024-05-02T03:55:10+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a95e50af2", "title": "I'm Not Participating in This Year's Advent of Code For Very Good Reasons", "url": "https://www.jasonscheirer.com/weblog/not-participating-in-advent-of-code/", "published_at": "2023-12-03T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a96bedc75", "title": "Keeping Alive With Long-Running Sync Work in Python", "url": "https://www.jasonscheirer.com/weblog/keeping-alive-with-long-running-processes/", "published_at": "2023-08-29T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a97bd385f", "title": "Registering Signs of Life in Long-Running Async Jobs in Python", "url": "https://www.jasonscheirer.com/weblog/signs-of-life-in-async/", "published_at": "2023-08-13T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a984ff1e9", "title": "2023: Linux on the Desktop This Year", "url": "https://www.jasonscheirer.com/weblog/linux-on-the-desktop-2023/", "published_at": "2023-08-07T09:11:45+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a98d3999b", "title": "Hardware review: Anbernic RG35XX", "url": "https://www.jasonscheirer.com/weblog/rg35xx/", "published_at": "2023-06-02T16:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a98e74a59", "title": "VS Code: Dark Terminal on a Light Theme", "url": "https://www.jasonscheirer.com/weblog/dark-terminal-on-a-light-theme/", "published_at": "2023-05-28T16:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a98ed5af7", "title": "Hardware review: Devterm", "url": "https://www.jasonscheirer.com/weblog/devterm/", "published_at": "2023-03-16T16:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a995f2aea", "title": "Hardware review: 1st Gen SteamDeck (512GB)", "url": "https://www.jasonscheirer.com/weblog/steamdeck/", "published_at": "2023-02-08T16:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a99cf88d5", "title": "Hardware review: AOKZOE A1", "url": "https://www.jasonscheirer.com/weblog/aokzoe-a1/", "published_at": "2023-01-01T16:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a9a2cba39", "title": "Hardware review: iPhone 13 Mini", "url": "https://www.jasonscheirer.com/weblog/iphone-13-mini/", "published_at": "2022-12-29T16:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a9ab6846f", "title": "Mixed Async code in Sync Python: Disappointingly Simple", "url": "https://www.jasonscheirer.com/weblog/mixed-async-disappointingly-simple/", "published_at": "2022-09-23T08:00:00+00:00" }, { "id": "01a0878b-a5c0-7001-a06a-a16a9adb39b5", "title": "The Anime Watcher: Another Game", "url": "https://www.jasonscheirer.com/weblog/the-anime-watcher/", "published_at": "2022-09-07T08:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988af602825", "title": "Modern Python: New Features, Better Code", "url": "https://www.jasonscheirer.com/weblog/new-features-better-code/", "published_at": "2022-08-29T08:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b00df14b", "title": "A Case for Match", "url": "https://www.jasonscheirer.com/weblog/a-case-for-match/", "published_at": "2022-08-26T00:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b02f5b93", "title": "Python as a Language is Inescabably Coupled with its Implementation Part 2: The Tracer", "url": "https://www.jasonscheirer.com/weblog/python-will-never-be-decoupled-from-its-implementation-2/", "published_at": "2022-08-10T00:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b08274ab", "title": "Trump Run: A Game", "url": "https://www.jasonscheirer.com/weblog/trump-run/", "published_at": "2022-07-25T08:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b0b2c305", "title": "Little Guys! A Puzzle Game Without Enough Levels", "url": "https://www.jasonscheirer.com/weblog/little-guys/", "published_at": "2022-07-24T08:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b171becf", "title": "Async programming: understanding it from fundamentals", "url": "https://www.jasonscheirer.com/weblog/understanding-async-programming-from-fundamentals/", "published_at": "2022-07-12T00:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b1a170a2", "title": "Modern Python: Features I Haven't Used But Plan To", "url": "https://www.jasonscheirer.com/weblog/modern-python-features-that-are-still-sinking-in/", "published_at": "2022-07-11T08:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b1a60543", "title": "Modern Python has Changed How I Code", "url": "https://www.jasonscheirer.com/weblog/modern-python-has-changed-how-i-code/", "published_at": "2022-07-07T08:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b2732ae4", "title": "Python as a Language is Inescabably Coupled with its Implementation Part 1: LET'S DO DUMB SHIT WITH THE GC", "url": "https://www.jasonscheirer.com/weblog/python-will-never-be-decoupled-from-its-implementation/", "published_at": "2021-04-04T08:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b30f278d", "title": "__all__ is a Sacred Space and you Murderous Goblins are all Profaning it", "url": "https://www.jasonscheirer.com/weblog/dunder-all-is-a-sacred-space-and-everyone-is-profaning-it/", "published_at": "2021-03-31T08:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b378bd0f", "title": "ZPL-O-Rama Part 5: Postscript", "url": "https://www.jasonscheirer.com/weblog/zpl-o-rama-part-5/", "published_at": "2021-03-08T05:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b39a0be1", "title": "ZPL-O-Rama Part 4: The Hardware", "url": "https://www.jasonscheirer.com/weblog/zpl-o-rama-part-4/", "published_at": "2021-03-08T04:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b3d5b8d0", "title": "ZPL-O-Rama Part 3: Software", "url": "https://www.jasonscheirer.com/weblog/zpl-o-rama-part-3/", "published_at": "2021-03-08T03:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b470f6c8", "title": "ZPL-O-Rama Part 2: Concepts and Architecture", "url": "https://www.jasonscheirer.com/weblog/zpl-o-rama-part-2/", "published_at": "2021-03-08T02:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b5697637", "title": "ZPL-O-Rama Part 1: A personal/work project (Introduction)", "url": "https://www.jasonscheirer.com/weblog/zpl-o-rama-part-1/", "published_at": "2021-03-08T00:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b5db32f3", "title": "The Shanling Q1 Music Player", "url": "https://www.jasonscheirer.com/weblog/shanling-q1/", "published_at": "2021-02-21T00:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b6ad9bcd", "title": "SFTP is still around and that's OK", "url": "https://www.jasonscheirer.com/weblog/sftp-is-still-around-and-thats-ok/", "published_at": "2021-02-18T16:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b6e5d27a", "title": "You Don't Need to Make That Temporary File, Dude", "url": "https://www.jasonscheirer.com/weblog/dont-use-tempfiles/", "published_at": "2021-02-12T16:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b770cdb5", "title": "Trying out Rectangle", "url": "https://www.jasonscheirer.com/weblog/trying-out-rectangle/", "published_at": "2021-02-08T16:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b7d0b9dc", "title": "The 2020s and the Post-Office World", "url": "https://www.jasonscheirer.com/weblog/the-post-office-world/", "published_at": "2021-02-08T15:00:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b81b24a6", "title": "Pinebook Pro: The Tinkering Laptop", "url": "https://www.jasonscheirer.com/weblog/pinebook-pro-the-tinkering-laptop/", "published_at": "2021-01-19T20:11:45+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b8918100", "title": "My Dingus Chromebook still works", "url": "https://www.jasonscheirer.com/weblog/chromebook-still-works/", "published_at": "2020-02-10T09:11:45+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b914481c", "title": "Five Years in the Bay Area", "url": "https://www.jasonscheirer.com/weblog/five-years-in-the-bay/", "published_at": "2020-02-08T14:25:45+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b98bf519", "title": "Own Your Infrastructure", "url": "https://www.jasonscheirer.com/weblog/own-your-infrastructure/", "published_at": "2020-02-05T00:45:45+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988b990af4f", "title": "Hello, World", "url": "https://www.jasonscheirer.com/weblog/hello-world/", "published_at": "2020-01-04T18:18:17+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988ba6d60f6", "title": "Python Meetup Talk - 2019-10-09", "url": "https://www.jasonscheirer.com/weblog/python-meetup-sf-2019/", "published_at": "2019-10-10T18:18:17+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988bb46e976", "title": "Jumpbear: the Global Warming Bear", "url": "https://www.jasonscheirer.com/weblog/jumpbear/", "published_at": "2018-05-21T09:15:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988bbfc82ab", "title": "Turn a Chromebook into the ULTIMATE GOLANG/PYTHON DEVELOPER MACHINE", "url": "https://www.jasonscheirer.com/weblog/make-a-chromebook-a-developer-machine/", "published_at": "2016-12-26T09:11:45+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988bca64ca8", "title": "What I Like About My New Job", "url": "https://www.jasonscheirer.com/weblog/things-i-like-about-my-new-job/", "published_at": "2015-05-12T03:55:10+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988bcd42b1d", "title": "Stupid simple API reference for bottle.py web services", "url": "https://www.jasonscheirer.com/weblog/bottle-introspection/", "published_at": "2012-03-26T06:11:11+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988bcd65e60", "title": "C++ is not so bad", "url": "https://www.jasonscheirer.com/weblog/cpp-is-ok/", "published_at": "2010-09-21T00:45:45+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988bd88d4cc", "title": "I don’t really use OSX anymore", "url": "https://www.jasonscheirer.com/weblog/osx-less-and-less/", "published_at": "2010-02-09T09:15:00+00:00" }, { "id": "01a0878b-a5c1-7203-9663-4988bddca368", "title": "About", "url": "https://www.jasonscheirer.com/about/", "published_at": null }, { "id": "01a0878b-a5c1-7203-9663-4988be513493", "title": "Match-O-Matic", "url": "https://www.jasonscheirer.com/match-o-matic/", "published_at": null }, { "id": "01a0878b-a5c1-7203-9663-4988be72140d", "title": "Multialphabet", "url": "https://www.jasonscheirer.com/multialphabet/", "published_at": null }, { "id": "01a0878b-a5c1-7203-9663-4988bebc8645", "title": "Search", "url": "https://www.jasonscheirer.com/search/", "published_at": null } ] posts Claim your blog
Back to Jason Scheirer on the Internet
Blog · corpus.blog/blogs/jasonscheirer.com/posts

Jason Scheirer on the Internet

jasonscheirer.com

2026

2025

2024

2023

2022

2021

2020

2019

2018

2016

2015

2012

2010

Undated