41554 blogs · [ { "id": "01a0c70f-8afc-7096-9b0d-b4d8a366b6ee", "title": "Decoding UTF-8. Part VIII: Validating Decoder", "url": "https://nemanjatrifunovic.substack.com/p/decoding-utf-8-part-viii-validating", "published_at": "2026-09-20T00:19:21+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91ace494c2", "title": "Twenty Years of my Open Source Project", "url": "https://nemanjatrifunovic.substack.com/p/twenty-years-of-my-open-source-project", "published_at": "2026-08-13T22:48:22+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91ad46e849", "title": "The Road to MS-DOS 2", "url": "https://nemanjatrifunovic.substack.com/p/the-road-to-ms-dos-2", "published_at": "2026-08-08T23:01:18+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91ad58284b", "title": "When Compilers Disagree About UTF‑8", "url": "https://nemanjatrifunovic.substack.com/p/when-compilers-disagree-about-utf8", "published_at": "2026-07-26T16:40:39+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91ae0858fe", "title": "StarLink from 1984", "url": "https://nemanjatrifunovic.substack.com/p/starlink-from-1984", "published_at": "2026-07-11T22:04:55+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91ae6327fe", "title": "The Peak and Collapse of Digital Research", "url": "https://nemanjatrifunovic.substack.com/p/the-peak-and-collapse-of-digital", "published_at": "2026-06-28T17:07:45+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91af0327a3", "title": "Inside MP/M's Process Dispatcher", "url": "https://nemanjatrifunovic.substack.com/p/inside-mpms-process-dispatcher", "published_at": "2026-05-31T19:34:56+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91af5b0e2a", "title": "Kay Nishi and the Meeting that Started MS-DOS", "url": "https://nemanjatrifunovic.substack.com/p/kay-nishi-and-the-meeting-that-started", "published_at": "2026-05-12T07:02:28+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91af8bfdea", "title": "Why IBM Turned to Microsoft for BASIC", "url": "https://nemanjatrifunovic.substack.com/p/why-ibm-turned-to-microsoft-for-basic", "published_at": "2026-04-11T19:36:42+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91b005c6cb", "title": "Decoding UTF-8. Part VII: Validation", "url": "https://nemanjatrifunovic.substack.com/p/decoding-utf-8-part-vii-validation", "published_at": "2026-03-28T22:23:03+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91b084d15d", "title": "Gary Kildall, Bill Gates and the \"Gentleman's Agreement\"", "url": "https://nemanjatrifunovic.substack.com/p/gary-kildall-bill-gates-and-the-gentlemans", "published_at": "2026-03-08T01:17:01+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91b12dbc7c", "title": "AArch64 Bitfield Move (BFM) Instruction", "url": "https://nemanjatrifunovic.substack.com/p/aarch64-bitfield-move-bfm-instruction", "published_at": "2026-03-01T16:07:54+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91b19ef44a", "title": "How Much of CP/M’s Design Ended Up in MS‑DOS?", "url": "https://nemanjatrifunovic.substack.com/p/how-much-of-cpms-design-ended-up", "published_at": "2026-01-31T14:58:45+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91b28376ff", "title": "Decoding UTF-8. Part VI: Simplistic Non-Validating Decoder", "url": "https://nemanjatrifunovic.substack.com/p/decoding-utf-8-part-vi-simplistic", "published_at": "2026-01-16T23:16:07+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91b365ac7f", "title": "The Late Arrival of 16-bit CP/M", "url": "https://nemanjatrifunovic.substack.com/p/the-late-arrival-of-16-bit-cpm", "published_at": "2025-12-28T22:03:09+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91b369a718", "title": "An Old-School Introduction to Position Independent Code", "url": "https://nemanjatrifunovic.substack.com/p/an-old-school-introduction-to-position", "published_at": "2025-12-22T01:27:07+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91b3ff4821", "title": "PDP-10 and Microcomputers", "url": "https://nemanjatrifunovic.substack.com/p/pdp-10-and-microcomputers", "published_at": "2025-11-08T00:04:53+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91b4bf3791", "title": "Decoding UTF-8. Part V: Benchmarking Sequence Length Calculations", "url": "https://nemanjatrifunovic.substack.com/p/decoding-utf-8-part-v-benchmarking", "published_at": "2025-10-25T21:58:34+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91b4cf999b", "title": "Getting Started with the Fuse Emulator for ZX Spectrum", "url": "https://nemanjatrifunovic.substack.com/p/getting-started-with-the-fuse-emulator", "published_at": "2025-10-18T00:11:58+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91b56b5242", "title": "When Compiler Optimizations Hurt Performance", "url": "https://nemanjatrifunovic.substack.com/p/when-compiler-optimizations-hurt", "published_at": "2025-10-12T19:15:37+00:00" }, { "id": "01a087ad-8b10-7068-906d-0a91b59790e8", "title": "History of the GEM Desktop Environment", "url": "https://nemanjatrifunovic.substack.com/p/history-of-the-gem-desktop-environment", "published_at": "2025-09-13T12:42:56+00:00" } ] posts Claim your blog
Back to Programming at the right level | Nemanja Trifunovic | Substack
Blog · corpus.blog/blogs/nemanjatrifunovic.substack.com/posts

Programming at the right level | Nemanja Trifunovic | Substack

nemanjatrifunovic.substack.com

2026

2025