Programming at the right level

RSS: https://nemanjatrifunovic.substack.com/feed
关于编程、计算机历史与复古计算的短篇博客。

我的开源项目二十年

Nemanja Trifunovic 在2006年夏天创建了一个C++ UTF-8处理库utfcpp,起因是当时找不到轻量、可移植且与STL兼容的开源方案。库的设计目标明确:跨平台、兼容多种字符串类、安装学习简单、默认捕获畸形数据。二十年后回顾,命名曾让他纠结,文档和测试同样重要。
评论点赞收藏2 天前

MS-DOS 2之路:微软为何放弃UNIX

微软最初押注UNIX而非DOS。1980年2月,微软获得UNIX V7源码,推出XENIX,认为其可移植性会成为16位微机标准。但XENIX内存占用过大,IBM PC仅16KB RAM根本无法承载。微软转而收购SCP的86-DOS,Tim Paterson原本只想快速做一个类似CP/M的"凑合方案",却意外成为PC时代基石。
评论点赞收藏7 天前

编译器对 UTF-8 的处理分歧

C++ UTF-8 处理库的解码函数在不同编译器下行为不一致,作者深入分析了 lead byte 判断序列长度、code point 有效性检查和 overlong 序列检测的逻辑。
评论点赞收藏11 天前

来自1984年的Starlink:被遗忘的多用户PC尝试

回顾1984年Digital Research推出的StarLink硬件方案,试图将单用户IBM PC改造为多用户终端服务器。文章详细分析了其技术架构、高昂成本以及因无法兼容Lotus 1-2-3等关键软件而失败的商业逻辑。对理解早期PC生态竞争、操作系统兼容性壁垒及“多用户PC”这一被遗忘的技术分支有参考价值。
评论点赞收藏35 天前

数字研究的兴衰史

回顾数字研究公司(DRI)从垄断CP/M到被微软IBM击败的历史。详细描述了Gary Kildall错失IBM PC机会的过程,以及公司在多任务操作系统和图形库上的早期创新。对理解早期PC产业格局演变及商业决策失误有参考价值。
评论点赞收藏44 天前

MP/M's Process Dispatcher

MP/M, or “Multi-Programming Monitor Control Program” is usually described as a multi-tasking and multi-user version of CP/M. I never had the chance to use it myself, but having learned to program on a...
评论点赞收藏76 天前

Kay Nishi and the Meeting That Started MS-DOS

September 28, 1980, was a Sunday, and the Old National Bank Building in Bellevue, WA was mostly empty. Except for eighth floor, occupied by Microsoft - a privately owned software company with about 50...
评论点赞收藏82 天前

Why IBM Turned to Microsoft for Basic

There is a widespread opinion that Microsoft’s lucrative 1980 contract with IBM must have involved some kind of foul play. After all, it is hard to believe that the computing mammoth like IBM needed a...
评论点赞收藏125 天前

Decoding UTF-8. Part VII: Validation

In part VI of the UTF-8 decoding series we saw how a simple non-validating decoder might look like, but we emphasized the importance of validation. It is important to remember that in general we canno...
评论点赞收藏140 天前

AArch64 Bitfield Move (BFM) Instruction

The sixth part of my series on decoding UTF-8 was a pretty uninteresting one: in it, I described a basic non-validating UTF-8 decoder. When examining the generated assembly, I saw three different inst...
评论点赞收藏167 天前

How Much of CP/M's Design Ended Up in MS‑DOS?

It is hard to believe there is anything left to say about the controversy over MS-DOS (including its predecessor 86-DOS) being a “CP/M lookalike”. By now it is clear that MS‑DOS replicated the CP/M AP...
评论点赞收藏196 天前

The Late Arrival of 16-Bit CP/M

The story of how MS-DOS became the industry standard for the 16-bit business computers at the expense of Digital Research’s CP/M is somewhat of a legend among fans of computing history. The event has ...
评论点赞收藏229 天前

PDP-10 and Microcomputers

Most of us imagine the microcomputer revolution as small groups of nerdy kids working in garages and bedrooms to build technology that would change the world. It is less known that much of the early s...
评论点赞收藏279 天前

When Compiler Optimizations Hurt Performance

Recently I have been working on benchmarks comparing techniques for calculating UTF-8 sequence lengths. The method I described in Decoding UTF-8. Part IV: Determining Sequence Length - Counting Leadin...
评论点赞收藏306 天前

History of the Gem Desktop Environment

Sometime in 1988, the keyboard of my Sinclair ZX Spectrum 48K was finally broken beyond repair, and I asked my parents for a 128K version of the same computer. Instead, they surprised me with an Atari...
评论点赞收藏332 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。