41554 blogs · [ { "id": "01a0878b-6494-716f-bf31-d05a560d4f41", "title": "EvoLab", "url": "https://jasonbrownlee.me/blog/posts/evolab/", "published_at": "2026-02-26T20:56:35+00:00" }, { "id": "01a0878b-6495-711c-a9e5-55e32ad36d4d", "title": "Quake Engine Black Book", "url": "https://jasonbrownlee.me/blog/posts/quake-engine-black-book/", "published_at": "2026-02-25T22:02:59+00:00" }, { "id": "01a0878b-6495-711c-a9e5-55e32b5019df", "title": "Quake Rally Archive", "url": "https://jasonbrownlee.me/blog/posts/quake-rally-archive/", "published_at": "2026-02-25T21:56:04+00:00" }, { "id": "01a0878b-6496-705f-9084-d01418d3bb75", "title": "New Year", "url": "https://jasonbrownlee.me/blog/posts/new-year/", "published_at": "2025-12-31T20:00:48+00:00" }, { "id": "01a0878b-6496-705f-9084-d01419bef5ba", "title": "Small Tech Press", "url": "https://jasonbrownlee.me/blog/posts/small-tech-press/", "published_at": "2025-12-22T18:37:06+00:00" }, { "id": "01a0878b-6496-705f-9084-d0141a50294c", "title": "Quake Press", "url": "https://jasonbrownlee.me/blog/posts/quake-press/", "published_at": "2025-12-21T18:43:31+00:00" }, { "id": "01a0878b-6496-705f-9084-d0141b4886bd", "title": "Denisovans", "url": "https://jasonbrownlee.me/blog/posts/denisovans/", "published_at": "2025-12-20T17:36:52+00:00" }, { "id": "01a0878b-6496-705f-9084-d0141bc42a30", "title": "Post-Work People", "url": "https://jasonbrownlee.me/blog/posts/post-work-people/", "published_at": "2025-12-19T18:52:48+00:00" }, { "id": "01a0878b-6496-705f-9084-d0141caa0bc9", "title": "The Body Defends Against Losing Fat and Muscle", "url": "https://jasonbrownlee.me/blog/posts/body-defends-against-losing-fat-and-muscle/", "published_at": "2025-12-18T20:56:45+00:00" }, { "id": "01a0878b-6496-705f-9084-d0141d0b624d", "title": "Heinrich Schliemann", "url": "https://jasonbrownlee.me/blog/posts/heinrich-schliemann/", "published_at": "2025-12-18T18:23:04+00:00" }, { "id": "01a0878b-6496-705f-9084-d0141d38d45d", "title": "(Un)Limited Video Game Time", "url": "https://jasonbrownlee.me/blog/posts/unlimited-video-game-time/", "published_at": "2025-12-18T18:16:40+00:00" }, { "id": "01a0878b-6496-705f-9084-d0141dcd4470", "title": "Archimedes Palimpsest", "url": "https://jasonbrownlee.me/blog/posts/archimedes-palimpsest/", "published_at": "2025-12-14T21:04:40+00:00" }, { "id": "01a0878b-6496-705f-9084-d0141eaa31c1", "title": "Who Were the Trojans?", "url": "https://jasonbrownlee.me/blog/posts/who-were-the-trojans/", "published_at": "2025-12-13T19:34:55+00:00" }, { "id": "01a0878b-6496-705f-9084-d0141ee2a433", "title": "Artifact by Jeremy Robinson", "url": "https://jasonbrownlee.me/blog/posts/artifact-jeremy-robinson/", "published_at": "2025-12-13T19:24:19+00:00" }, { "id": "01a0878b-6496-705f-9084-d0141fd12c9d", "title": "Textual History of Plato's Works", "url": "https://jasonbrownlee.me/blog/posts/textual-history/", "published_at": "2025-12-10T20:54:59+00:00" }, { "id": "01a0878b-6496-705f-9084-d0142042b3b9", "title": "LLM + Evolutionary Search", "url": "https://jasonbrownlee.me/blog/posts/llm-evolutionary-search/", "published_at": "2025-12-10T19:33:24+00:00" }, { "id": "01a0878b-6496-705f-9084-d014210a34ae", "title": "Programming Mini-Books", "url": "https://jasonbrownlee.me/blog/posts/mini-programming-books/", "published_at": "2025-12-09T21:46:50+00:00" }, { "id": "01a0878b-6496-705f-9084-d01421f212a4", "title": "Ptolemaic Scholar Monographs", "url": "https://jasonbrownlee.me/blog/posts/ptolemaic-scholar-monographs/", "published_at": "2025-12-08T22:31:50+00:00" }, { "id": "01a0878b-6496-705f-9084-d014221fbe57", "title": "Original Greek Sources", "url": "https://jasonbrownlee.me/blog/posts/greek-paper-sources/", "published_at": "2025-12-07T23:53:53+00:00" }, { "id": "01a0878b-6496-705f-9084-d01422b61cd1", "title": "Athens Monuments", "url": "https://jasonbrownlee.me/blog/posts/athens-monuments/", "published_at": "2025-12-06T20:52:47+00:00" }, { "id": "01a0878b-6496-705f-9084-d014232dd82c", "title": "Alexander the Great's Tomb", "url": "https://jasonbrownlee.me/blog/posts/alexander-the-great-tomb/", "published_at": "2025-12-06T19:31:55+00:00" }, { "id": "01a0878b-6496-705f-9084-d014237a8a78", "title": "Breakfast of Champions", "url": "https://jasonbrownlee.me/blog/posts/breakfast-of-champions/", "published_at": "2025-12-06T19:03:53+00:00" }, { "id": "01a0878b-6496-705f-9084-d01424110967", "title": "Ptolemaic Dynasty Timeline", "url": "https://jasonbrownlee.me/blog/posts/ptolemaic-dynasty-timeline/", "published_at": "2025-12-05T18:51:17+00:00" }, { "id": "01a0878b-6496-705f-9084-d01424effade", "title": "Niche Books on the Greeks", "url": "https://jasonbrownlee.me/blog/posts/niche-books-greeks/", "published_at": "2025-12-03T20:51:18+00:00" }, { "id": "01a0878b-6496-705f-9084-d01425623b6a", "title": "Anthony Bourdain on Naxos", "url": "https://jasonbrownlee.me/blog/posts/bourdain-naxos/", "published_at": "2025-12-03T20:45:15+00:00" }, { "id": "01a0878b-6496-705f-9084-d01426250296", "title": "Sir Arthur Evans and Knossos", "url": "https://jasonbrownlee.me/blog/posts/arthur-evans/", "published_at": "2025-12-01T18:37:40+00:00" }, { "id": "01a0878b-6496-705f-9084-d0142653f997", "title": "Demosthenes", "url": "https://jasonbrownlee.me/blog/posts/demosthenes/", "published_at": "2025-11-30T20:56:24+00:00" }, { "id": "01a0878b-6496-705f-9084-d014272e0003", "title": "Phaedrus", "url": "https://jasonbrownlee.me/blog/posts/phaedrus/", "published_at": "2025-11-29T20:57:34+00:00" }, { "id": "01a0878b-6496-705f-9084-d01427793097", "title": "Visions of Greece", "url": "https://jasonbrownlee.me/blog/posts/visions-of-greece/", "published_at": "2025-11-28T19:12:37+00:00" }, { "id": "01a0878b-6496-705f-9084-d01427abcc2e", "title": "Warm Escapes From Melbourne", "url": "https://jasonbrownlee.me/blog/posts/warm-escapes-from-melbourne/", "published_at": "2025-11-27T04:09:42+00:00" }, { "id": "01a0878b-6496-705f-9084-d0142832ee68", "title": "XGBoost Book!?", "url": "https://jasonbrownlee.me/blog/posts/xgboost-book/", "published_at": "2025-11-25T20:48:58+00:00" }, { "id": "01a0878b-6496-705f-9084-d0142833cdc9", "title": "Greek Excellence", "url": "https://jasonbrownlee.me/blog/posts/greek-excellence/", "published_at": "2025-11-24T18:34:28+00:00" }, { "id": "01a0878b-6496-705f-9084-d01429278d5d", "title": "Ancient Greece Timeline", "url": "https://jasonbrownlee.me/blog/posts/ancient-greece-timeline/", "published_at": "2025-11-23T20:49:36+00:00" }, { "id": "01a0878b-6496-705f-9084-d014295188d2", "title": "Photos Are Lost Forever When You Die: We Need Digital Estate Planning", "url": "https://jasonbrownlee.me/blog/posts/photos-lost-forever-when-you-die/", "published_at": "2025-11-22T19:04:50+00:00" }, { "id": "01a0878b-6496-705f-9084-d014295819e3", "title": "Travel Playbook", "url": "https://jasonbrownlee.me/blog/posts/travel-playbook/", "published_at": "2025-11-21T19:12:44+00:00" }, { "id": "01a0878b-6496-705f-9084-d014298a39c9", "title": "The Greek World (The Great Courses)", "url": "https://jasonbrownlee.me/blog/posts/the-greek-world-great-courses/", "published_at": "2025-11-20T19:33:06+00:00" }, { "id": "01a0878b-6496-705f-9084-d01429971df0", "title": "King Theseus", "url": "https://jasonbrownlee.me/blog/posts/king-theseus/", "published_at": "2025-11-19T20:54:06+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f1ff68e6f", "title": "François Baranger's Lovecraft", "url": "https://jasonbrownlee.me/blog/posts/francois-baranger-lovecraft/", "published_at": "2025-11-18T23:47:22+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f1ffd7429", "title": "Gou Tanabe Lovecraft Manga", "url": "https://jasonbrownlee.me/blog/posts/gou-tanabe-manga/", "published_at": "2025-11-17T20:58:55+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f2029264e", "title": "Mary Renault Books on Ancient Greece", "url": "https://jasonbrownlee.me/blog/posts/mary-renault/", "published_at": "2025-11-16T20:42:33+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f2034584b", "title": "Minimize Lifetime Insulin", "url": "https://jasonbrownlee.me/blog/posts/lifetime-insulin/", "published_at": "2025-11-14T21:24:13+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f20c1c9b4", "title": "Movies in/about Greece", "url": "https://jasonbrownlee.me/blog/posts/greek-movies/", "published_at": "2025-11-13T20:42:25+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f2155f004", "title": "My (lame?) Family Photo Backup Process", "url": "https://jasonbrownlee.me/blog/posts/family-photos/", "published_at": "2025-11-12T22:22:49+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f219fd2ee", "title": "Greece Travel Memoir", "url": "https://jasonbrownlee.me/blog/posts/greece-travel-memoir/", "published_at": "2025-11-11T21:09:57+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f223225bb", "title": "Percy Jackson Greece", "url": "https://jasonbrownlee.me/blog/posts/percy-jackson-greece/", "published_at": "2025-11-10T20:57:52+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f23319adc", "title": "Notes on Being a Man", "url": "https://jasonbrownlee.me/blog/posts/notes-on-being-a-man/", "published_at": "2025-11-10T00:02:15+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f236d7bcc", "title": "House of Dynamite", "url": "https://jasonbrownlee.me/blog/posts/house-of-dynamite/", "published_at": "2025-11-08T20:31:58+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f242fbbcf", "title": "Protestant Work Ethic as Meme", "url": "https://jasonbrownlee.me/blog/posts/protestant-work-ethic/", "published_at": "2025-11-07T20:59:49+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f251a4d92", "title": "Quake2 Programming Tutorials", "url": "https://jasonbrownlee.me/blog/posts/quake2-tutorials/", "published_at": "2025-11-06T22:32:27+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f25369573", "title": "Only One Body for Life", "url": "https://jasonbrownlee.me/blog/posts/only-one-body-for-life/", "published_at": "2025-11-05T22:08:41+00:00" }, { "id": "01a0878b-6497-72f9-b558-c83f2610cd63", "title": "Lan Party", "url": "https://jasonbrownlee.me/blog/posts/lan-party/", "published_at": "2025-11-04T20:45:54+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bbfeaa0eb", "title": "Solid Project For Web Decentralization", "url": "https://jasonbrownlee.me/blog/posts/solid-project/", "published_at": "2025-11-03T23:36:15+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc0c29735", "title": "For All Man Kind", "url": "https://jasonbrownlee.me/blog/posts/for-all-man-kind/", "published_at": "2025-11-02T21:31:35+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc0d83fbb", "title": "Quake2 Bot Research", "url": "https://jasonbrownlee.me/blog/posts/quake2-bot-research/", "published_at": "2025-11-01T19:03:23+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc1aa6e96", "title": "Lies My Doctor Told Me", "url": "https://jasonbrownlee.me/blog/posts/lies/", "published_at": "2025-10-31T20:04:43+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc2832c6e", "title": "Addiction", "url": "https://jasonbrownlee.me/blog/posts/addiction/", "published_at": "2025-10-30T19:47:47+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc370b792", "title": "Eating Operating System", "url": "https://jasonbrownlee.me/blog/posts/eating-operating-system/", "published_at": "2025-10-29T20:42:50+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc3eab2ab", "title": "Sequence of Innovations for LLMs", "url": "https://jasonbrownlee.me/blog/posts/sequence-of-innovations-for-llms/", "published_at": "2025-10-28T19:41:28+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc4c32692", "title": "Brain Fuzz", "url": "https://jasonbrownlee.me/blog/posts/brain-fuzz/", "published_at": "2025-10-27T19:56:12+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc56c4ac8", "title": "I'm Too Young To Die and Gaming Nostalgia", "url": "https://jasonbrownlee.me/blog/posts/im-too-young-to-die/", "published_at": "2025-10-26T20:46:39+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc5dd4b32", "title": "Heart Flutter", "url": "https://jasonbrownlee.me/blog/posts/heart-flutter/", "published_at": "2025-10-25T21:02:15+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc6be58c3", "title": "Calorie Deficit Tips", "url": "https://jasonbrownlee.me/blog/posts/calorie-deficit-tips/", "published_at": "2025-10-24T21:41:22+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc705d2f8", "title": "Machine Learning Mischief", "url": "https://jasonbrownlee.me/blog/posts/machine-learning-mischief/", "published_at": "2025-10-24T21:38:35+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc7108458", "title": "5km Running Times", "url": "https://jasonbrownlee.me/blog/posts/5km-running-times/", "published_at": "2025-08-28T22:07:26+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc714576d", "title": "Discipline Coding (opposite of vibe coding)", "url": "https://jasonbrownlee.me/blog/posts/discipline-coding/", "published_at": "2025-08-27T23:28:37+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc71ee93f", "title": "Pushback to Vibe Coding?", "url": "https://jasonbrownlee.me/blog/posts/vibe-coding-pushback/", "published_at": "2025-08-27T21:57:47+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc7619ac7", "title": "You Can Just Do Things", "url": "https://jasonbrownlee.me/blog/posts/you-can-just-do-things/", "published_at": "2025-08-27T01:23:15+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc85c79b3", "title": "'Useful Not True' by Other Names", "url": "https://jasonbrownlee.me/blog/posts/useful-not-true-by-other-names/", "published_at": "2025-08-25T22:01:03+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc8eef89b", "title": "Useful Not True", "url": "https://jasonbrownlee.me/blog/posts/useful-not-true/", "published_at": "2025-08-25T20:32:17+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc975aaee", "title": "Sometimes Human Authorship Doesn't Matter!?", "url": "https://jasonbrownlee.me/blog/posts/sometimes-authorship-doesnt-matter/", "published_at": "2025-08-24T22:16:34+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bc987dbec", "title": "Open Problems, Closed Problems", "url": "https://jasonbrownlee.me/blog/posts/open-problem/", "published_at": "2025-08-23T20:39:59+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bca5cf4d7", "title": "Probabilistic Era", "url": "https://jasonbrownlee.me/blog/posts/probabilistic-era/", "published_at": "2025-08-21T21:57:41+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bca6db0ec", "title": "Tiny Online Store", "url": "https://jasonbrownlee.me/blog/posts/tiny-online-store/", "published_at": "2025-08-21T00:12:45+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bcadbbbbc", "title": "Automation Replacing Human Programmers (and that's fine)", "url": "https://jasonbrownlee.me/blog/posts/machines-replacing-people-computers/", "published_at": "2025-08-19T22:14:38+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bcb759d85", "title": "Fishers Fundamental Theorem", "url": "https://jasonbrownlee.me/blog/posts/fishers-fundamental-theorem/", "published_at": "2025-08-18T23:05:36+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bcbf9c2a2", "title": "Machine Learning Street Talk: Banger Episodes", "url": "https://jasonbrownlee.me/blog/posts/machine-learning-street-talk/", "published_at": "2025-08-18T22:26:26+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bccdb73b6", "title": "Navy Seals Quake", "url": "https://jasonbrownlee.me/blog/posts/navy-seals-quake/", "published_at": "2025-08-18T22:12:38+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bcd75b936", "title": "Authority Site in 2005", "url": "https://jasonbrownlee.me/blog/posts/authority-site-2005/", "published_at": "2025-07-12T22:39:06+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bce7004e6", "title": "Back on the Path", "url": "https://jasonbrownlee.me/blog/posts/back-on-the-path/", "published_at": "2025-07-01T23:57:22+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bcec82306", "title": "Quake2 Official Release Archive", "url": "https://jasonbrownlee.me/blog/posts/quake2-archive/", "published_at": "2025-06-22T21:42:18+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bcf830feb", "title": "Public Knowledge Private Ignorance", "url": "https://jasonbrownlee.me/blog/posts/public-knowledge-private-ignorance/", "published_at": "2025-06-14T22:19:35+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bd052d2d5", "title": "Hidden Knowledge and Literature-based Discovery via LLMs", "url": "https://jasonbrownlee.me/blog/posts/hidden-knowledge/", "published_at": "2025-06-14T20:28:08+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bd120c293", "title": "Prompt Scaffold", "url": "https://jasonbrownlee.me/blog/posts/prompt-scaffold/", "published_at": "2025-06-13T20:47:07+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bd1494fee", "title": "Struggle", "url": "https://jasonbrownlee.me/blog/posts/struggle/", "published_at": "2025-06-12T20:32:46+00:00" }, { "id": "01a0878b-6498-70f3-918e-1e5bd1b0b55e", "title": "He's Not Lazy", "url": "https://jasonbrownlee.me/blog/posts/hes-not-lazy/", "published_at": "2025-06-11T23:59:16+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f420a3485", "title": "First Hardware Projects", "url": "https://jasonbrownlee.me/blog/posts/first-hardware-projects/", "published_at": "2025-06-11T00:47:45+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f42b8ecbe", "title": "Old Desktop PCs for Learning", "url": "https://jasonbrownlee.me/blog/posts/old-desktop-pc/", "published_at": "2025-06-07T22:01:27+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f438e7003", "title": "Dumbbell Tips", "url": "https://jasonbrownlee.me/blog/posts/dumbbell-tips/", "published_at": "2025-06-06T22:32:51+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f441cb469", "title": "Python Code Review Custom GPT", "url": "https://jasonbrownlee.me/blog/posts/python-code-review/", "published_at": "2025-06-06T22:27:01+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f44b0e406", "title": "Australian Pride", "url": "https://jasonbrownlee.me/blog/posts/australian-pride/", "published_at": "2025-06-05T22:01:19+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f453a19c5", "title": "Which Algorithms Data Structures?", "url": "https://jasonbrownlee.me/blog/posts/which-algorithms-data-structures/", "published_at": "2025-06-05T01:10:50+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f4568d502", "title": "Code Simple Algorithms and Data Structures (from scratch for fun)", "url": "https://jasonbrownlee.me/blog/posts/code-simple-algorithms-datastructures/", "published_at": "2025-06-04T22:04:30+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f45956eab", "title": "Serve", "url": "https://jasonbrownlee.me/blog/posts/serve/", "published_at": "2025-06-03T23:10:12+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f46731ca4", "title": "AI Point of View", "url": "https://jasonbrownlee.me/blog/posts/ai-point-of-view/", "published_at": "2025-06-03T20:27:27+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f46bb6776", "title": "Fast Genetic Algorithm Tutorial/Book", "url": "https://jasonbrownlee.me/blog/posts/fast-ga-tutorial/", "published_at": "2025-06-02T21:53:01+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f47995398", "title": "AlphaEvolve", "url": "https://jasonbrownlee.me/blog/posts/alphaevolve/", "published_at": "2025-06-02T19:59:04+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f483da93e", "title": "Kaggle for Optimization Problems", "url": "https://jasonbrownlee.me/blog/posts/kaggle-for-optimization/", "published_at": "2025-06-01T23:23:36+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f49331306", "title": "Looking Back (from the future)", "url": "https://jasonbrownlee.me/blog/posts/looking-back/", "published_at": "2025-05-31T21:31:32+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f49398390", "title": "Personalized Books", "url": "https://jasonbrownlee.me/blog/posts/personalized-books/", "published_at": "2025-05-30T21:50:53+00:00" }, { "id": "01a0878b-6499-710f-89e4-a99f499c3277", "title": "I Love Small Technical Handbooks", "url": "https://jasonbrownlee.me/blog/posts/handbooks/", "published_at": "2025-05-30T01:10:46+00:00" } ] posts Claim your blog
Back to jasonbrownlee.me
Blog · corpus.blog/blogs/jasonbrownlee.me/posts

jasonbrownlee.me

jasonbrownlee.me

2026

2025