一个程序员的副业项目,被微软“白嫖“30年,拯救了无数人的电脑!

保姆级教程:用Multisim仿真快速上手二极管、MOSFET和IGBT的开关特性 本文提供了一份详细的Multisim仿真教程,帮助读者快速掌握二极管、MOSFET和IGBT的开关特性。通过搭建实验电路、观察波形特征和参数影响分析,深入解析了反向恢复过程、米勒平台现象和拖尾电流效应。适合电力电子初学者和工程师通过仿真建立直观理解,提升电路设计能力。 阅读详情

CPU 100%,风扇开始狂响,Windows资源耗尽,系统濒临崩溃。

在这么一个危急的时刻,你只剩下一招可以保命:

召唤任务管理器(Task Manager),找到那个惹祸的程序,无情地把它杀掉。

很少人知道,这么一个可靠、有用的小工具竟然是一个程序员在家里做的副业项目,也是他写的第一个Windows程序。

01

被一本书“骗”进微软

戴夫·普拉默出生在加拿大,11岁就接触了电脑,并且开始学习编程,他很喜欢开发各种系统工具和游戏,比如用于磁盘加速的HyperCache,这一点也将彻底改变他的命运。

大学期间戴夫是Unix的粉丝,自然有点儿瞧不上微软,因为90年代微软虽然已经是PC软件的霸主,但是行事粗鲁而霸道,成了行业公敌。

某一天戴夫在书店中闲逛的时候,发现了一本关于微软的书:

这本书叫做《硬盘:比尔·盖茨与微软帝国的缔造》,讲述了微软内部的各种项目,以及微软那些各种聪明的人。

戴夫看得激情澎湃,彻底被打动了。

他决定去微软实习,见识下这帮人,于是给HR投递简历。

不出意外,简历杳无音讯,微软实在是太热门了,应聘者太多了。

他决定独辟蹊径,想起了自己开发过一个叫做HyperCache 的系统工具,在没有互联网的时候,用户需要在纸质卡片上填写自己的信息,以便获得软件更新和通知。

戴夫在一大堆卡片中找到了一个带有microsoft.com邮箱地址的人,直接给那个人发信。

没想到,他真的获得了面试的机会。

90年代微软的面试是出了名的难,先是HR面试,然后5轮编程面试,需要在白板前写C语言和汇编代码,面试官会不断地逼迫你,直到你被难倒甚至崩溃,每一轮面试只有大部分人都表示可以录用时,你才能进入下一环节,整个面试会持续一整天。

这种地狱面试筛选出来的都是符合他们要求的编程牛人。

(微软园区的X型办公楼,让每个房间都有光线)

戴夫通过了面试,拿到了暑期实习机会。

1994年,戴夫大学毕业,又经历一系列严格的面试,顺利拿到了微软的Offer,年薪3.5万美元。

这个薪水并不高,后来戴夫得知那些罢工的UPS司机的年薪都比他高50%!

但是戴夫并不在意,因为还有个叫做“股票期权”的东西,微软的股票期权在90年代可是太值钱了,十年涨了10倍!

戴夫移民到了美国,开始了白天上班写代码,晚上下班搞副业的日子。

02

深夜灵感

戴夫非常幸运,他参与的是操作系统天神Dave Culter领衔的Windows NT项目。

这个项目对微软来说极其重要,简单来说,我们今天使用的每一款 Windows 系统,其血脉都源自于 Windows NT。

某个深夜,当戴夫在书房鼓捣软件的时候,突然想到:Unix上有ps,top这样查看进程的工具,为什么Windows NT上没有呢?

其实在Windows NT的内部已经具备这样的能力(内核对象、计数器、API),现在缺乏的就是一个可以展示的“仪表盘”而已。

戴夫立刻决定自己写一个程序,让程序员们可以“看见Windows NT系统内部到底发生了什么”。

那些程序在运行,占用了多少内存,哪些资源空闲,哪些资源空着.....

很快,一个粗糙的任务管理器就出炉了,戴夫把它带到了公司。

当时的微软有着强烈的“吃自己的狗粮”的文化,他们在开发Windows NT的时候,也在自己的电脑上运行中每天编译的最新版本。

很明显,戴夫这个粗糙的小工具在吃自己狗粮的时候非常有用,受到了同事的喜欢,开始在内部口口相传。

最后,这个工具被Dave Culter发现了,他也非常喜欢,亲自批准添加到Windows的源代码树当中,成为 Windows 内置工具。

Dave Culter想把任务管理器放到开始菜单的最顶端,这遭到了UI部门的强烈反对,这个工具完全太技术化,太极客化了,完全违反了让PC更简单的目标,这是对他们的严重挑衅!

最后,任务管理器被放入了系统工具中,大家才终于满意了。

想想也挺神奇的,没有复杂的流程审批,没有签订合同,一个人的业余爱好竟然进入了Windows的核心,成了接下来几个月的全职工作。

微软在1993年已经有1万多人,竟然还可以采用“简单粗暴”,“自由高效”的办法,真是“西部蛮荒”的时代。

03

从副业到产品

业余项目升级为正式产品,质量标准立刻飙升。

戴夫之前没有写过带UI的Windows程序,任务管理器是第一个,所以他特别谨慎小心,尽可能地遵守所有的规则。

因此,任务管理器是他写的最接近完美的Windows 应用,开发时主要搞定了3件事:

1.保持程序小巧

NT4 的任务管理器总大小只有80多K(包括图形和资源!),至今仍能在 Windows 11 上运行。

今天的任务管理器约 4MB,原版比现代版本小 50 倍。

2.动态调整UI大小,并且没有闪烁

戴夫不得不重写一些控件,给列表视图添加一些新方法,确保在一个巨大网格里如果只有一个单元格变化,只有那一个小矩形被重绘。

由于早期的版本是在家里写的,起名时很随意(缺乏想象力?),一些类都加上了Dave的前缀,例如Dave's frame window proc, Dave's group class,等到完成功能,有时间去改名时,系统已经进入Beta阶段,无法再做这些小修改,只好保留了下来。

3.稳健,准确,可靠

所有的进程都可以阻塞,挂起,不再响应,但是任务管理必须永远运行。

任务管理器必须精确无误,不允许有丝毫错误。

但是戴夫发现,有时候CPU的利用率偶尔会超过100%,他认为是内核统计有Bug,但是内核团队并不买账。

于是戴夫写了一个断言,在超过100%的时候触发警告,并且在断言中写下了家里的电话,以便测试人员可以在凌晨3点给他联系。

几周以后,终于在内核中抓到了这个Bug。

悲催的是,戴夫还没来得及删掉断言中的电话号码,微软的Build Team就做了一个Beta版本,并且分发到了合作伙伴和特定客户。

幸运的是,由于这个Bug已经被Fix,戴夫家的电话从来没被客户打过。

90年代微软的工作环境是非常疯狂的,产品发布时经常搞“死亡冲刺”。

更让人震撼的是,这些在产品发布阶段每天干16个小时,很多都是百万富翁,千万富翁(微软80年代上市,造就了上万名的百万富翁),这些家伙可以连续加班,不回家,就睡在工位下面,直到把Bug给找出来解决掉为止。

微软公司也愿意提供一切所需,咖啡,丰富的食物,甚至游戏!只要能把产品按期发布。

某个周日的凌晨5点,戴夫接到电话,说一个组件在Build中失败了,公司联系不上这个组件的正式负责人,只好找他这个备用联系人。

虽然只睡了几个小时,戴夫依然回到公司把这个组件修好,没有影响整体的Build。

经理非常感激,对戴夫的奖励也别具一格。

周一戴夫来到公司,发现了两张NBA贵宾票,是Dave Culter 的私人票!就在球场旁边!能听到球鞋摩擦声、球员喊声,是顶级 VIP 才能拿到的票。

04

副业变财富

除了任务管理器之外,戴夫在业余时间还开展了另外一个副业:ZipFolders。

在WinZip大行其道的时候,这个小软件可以在资源管理器当中直接查看Zip文件,不用解压,还是挺有用的。

戴夫把ZipFolders当做共享软件来发布,每天都能卖出10几份,是一门不错的生意。

有一天,戴夫上班之前接到了一个微软经理的电话,说想要买下这个软件,内置到Windows当中,不知道戴夫是否愿意谈谈。

戴夫自然很乐意,他说:行啊,我可以顺便去你的办公室聊聊。

这把产品经理吓了一跳:你得和微软的旅行部门联系,得预约啥的.....

戴夫也很纳闷:我就在微软上班啊,为啥要飞到微软.....

经过一番沟通,对方才知道,戴夫就是微软的员工!

戴夫当然无法拒绝这份收购的邀约,因为他拒绝的话,微软就会自己做,他怎么能和自己的雇主竞争呢?

收购价格应该很不错,因为第二周戴夫就开着跑车来上班了:

如今,ZipFolders依然是Windows的一部分。

任务管理器和ZipFolders被收编以后,戴夫继续折腾各种工具软件(例如MemTurbo)并且在互联网上卖。

那时候是弹窗广告的“黄金时代”,戴夫通过买广告让销量竟然达到了每天1000份!

他下班后不得不花费大量时间去制作软件Copy,打印邮件,邮寄软件,还要回复邮件,处理退货,根本就忙不过来。

这严重影响到了他的主业:给微软写代码。

大度的微软给放了三个月的假,让他好好想想人生的方向。到底是老老实实地在微软干活儿, 还是自己去当老板?

戴夫选择了后者。

2003年,35岁的戴夫离开微软,创办了自己的公司SoftwareOnline LLC,后来他声称公司售出了数百万份适用于 Windows 的的软件。

不过戴夫的公司后来也因为营销过度,吃了官司,被华盛顿州罚了15万美元。

05

写在最后

戴夫后来说自己“喜欢看机器工作”,一个磁盘整理的动画,他可以看很久。

他甚至会去除洗衣机的安全机制,只为了打开盖子看看它工作的样子,这种对机器和电脑内部的好奇可能是戴夫编写工具类软件的原始动力。

也许正是这种近乎“痴迷”的好奇心,让戴夫在别人看不到问题的地方,发现了可以被工具化、可被改进的空间。

他写的诸多工具也给他带来了巨大的回报,HyperCache让他找到了进入微软工作的机会,任务管理器和ZipFolders影响了全球几十亿台电脑的日常运作,即使在退出微软后,各种工具依然帮他打下来一片天下。

2018年,戴夫开通了他的YouTube频道,在其中讲述计算机编程,以及他钟爱的汽车相关的内容,关注者超过百万,成了网络大V。

戴夫的这一辈子,过得真是非常精彩。

RT-DETR改进策略【模型轻量化】| 替换骨干网络为 GhostNet V3 2024华为的重参数轻量化模型 本文记录的是基于 GhostNetV3 的 RT-DETR轻量化改进方法研究。GhostNetV3的轻量模块采用方法,训练时为深度可分离卷积和1×1卷积添加,推理时通过移除分支、折叠操作,能够在不增加推理成本的同时提高性能,从而实现RT-DETR的轻量化改进。 阅读详情

相关推荐

如何下载era5数据?(两种方式)

供水利大数据云计算课程同学参考使用#

Camiel_sweet的博客 1万+

复工第一事:换掉 Notepad++

周知,Notepad++作者经常大量发表错误言论,且拒不认错,引发了广大程序员的强烈反对,很多人因此而弃用这款软件,纷纷改用其它文本编辑器。近日,Notepad++作妖,又被广大网友发现了! Notepad++作者发推称,如果用户不同意其政治观点,Notepad++将在用户源代码中添加随机字符。还大言不惭。。。作为一名来自中国台湾省的软件开发者,在软件发版上插入政治符号,借政治话题秀下限、蹭流量、...

程序猿DD 1358

vislib_vex5:面向VEX V5的嵌入式视觉处理库

嵌入式视觉处理是机器人实时感知的核心能力,其本质是在资源受限环境下实现图像采集、色彩转换、阈值分割与目标定位的确定性流水线。原理上依赖硬件加速(如DMA2D)、定点运算优化与中断协同机制,以规避浮点开销和动态内存分配。技术价值在于提供亚毫秒级、无RTOS依赖、低延迟可预测的视觉基础能力,显著提升教育及竞赛机器人在动态场景下的响应鲁棒性。典型应用场景包括色块跟踪、目标居中控制、自动导航中的简易视觉伺服等。本文聚焦于专为VEX V5主控(STM32H743+图像协处理器)深度优化的轻量库vislib_vex5,

weixin_31185473的博客 607

微软技术日报 11-09:.NET 8 与 9 明日同时停止支持,注册表编辑器出了 WinUI 3 版

今天这四条消息的共同点是收口。.NET 8 和 9 的支持期到点,注册表编辑器的新界面只放在仓库里给人看,GitHub 把一类危险触发器按住默认,微软在安全报告里把防线从地址黑名单挪到行为。收口并不等于关门。.NET 10 还在支持期里,被按住的触发器可以用策略按文件放回来,实验室里的样例随时可能变成产品。区别在于这些动作要有人签字,不再是默认开着。如果今天只做一件事,去看一眼构建机上的 .NET 版本。明天之后,8 和 9 的漏洞补丁不会再来了。

海盗Sharp的博客 371

SQL的基本介绍

1.什么是数据库?2.什么是数据库管理系统?3.什么是 SQL?1.数据库是保存有组织的数据的容器,通常是一个文件或一组文件,可以将其看作电子化的文件柜。用户可以对文件中的数据执行新增、删除、更新、查询等操作。2.数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户可以通过 DBMS 访问数据库中的数据,数据库管理员也可以通过 DBMS 进行数据库的维护工作。

shiwei0813的博客 2879

SAP 生产订单归档简介

通常在使用了几年的SAP后,系统中会产生非常多的数据在系统中,特别是制造业的生产订单,常年的累积会存在很多的订单在系统中,这个时候就可以使用归档的功能,对生产订单进行处理。标记DLFL的前提是需要完成生产订单的差异结算,DLFL标记可以清除掉生产订单的相关需求和预留。6、在执行CO78选择删除,前面的操作相当于我们把需要归档的数据写入了数据库中,现在正式进行数据的归档删除。然后我们co03在去看生产订单,可以看到生产订单中多了删除的状态和标记的状态。我这里直接执行的程序PPARCHP1,效果其实是一样的。

我小时候很黑的博客 2286

AI驱动数据处理的安全边界:行业现状、风险权衡与本地化实践路径

本文基于第三方数据,分析AI用于数据处理的安全议题。大模型应用加速普及,但伴随数据出境、影子AI、幻觉与成本失控等风险。行业共识指向“脚本复用”路径:将分析逻辑本地化固化,实现数据可控、结果可复现、成本可降。产品如数以轻舟提供本地处理、多模型接入与一次付费永久使用方案。建议企业从数据落点、可控性、可复现性与合规性四维度评估选型,推动AI在安全边界内释放价值。

数据矿工-数据化运营博客 310

海波龙(Hyperion,现属 Oracle)合并报表以 HFM(Hyperion Financial Management)为核心系统,方法论核心是以控制为基础确定合并范围,通过维度建模统一数据口径

摘要:海波龙合并报表系统(HFM)采用"规则驱动、维度建模"的方法论,通过四个核心环节实现自动化合并:确定合并范围、数据标准化、自动抵销调整及报表生成。系统支持多会计准则,以控制为基础划分合并方法(完全合并/权益法/成本法),通过维度建模统一数据口径,自动处理内部交易抵销、外币折算等复杂操作。业务操作流程涵盖数据采集、转换、抵销调整到报表生成全过程,关键控制点包括内部交易匹配、股权变动处理等。最终输出合规合并报表及完整审计线索,满足监管与管理需求。(150字)

金牌架构师 1306

微软技术日报 11-08:Foundry 与 Entra 各挂一个 10.0 分漏洞,Foundry 接 fal 五款视频模型

这一周的动作可以分成两类。一类在收。Copilot 从电视上退场,搜索里的 AI 改成可选,云端漏洞只发通知不收补丁。共同点是承认铺得太开,代价比预期高。另一类在放。Foundry 一次摆上五个视频模型,容器版应用网关一个入口挂 64 个 MCP 服务器。共同点是把能力做成可组合的积木,让使用者按需挑。两个方向背后是同一个判断。把能力塞到每一个界面上,短期看覆盖率高,长期要解释为什么删不掉。新的做法是先给一个能关的开关,再谈覆盖。对每天写代码的人来说,今天有两样现成的东西可以试。

海盗Sharp的博客 414

程序化广告ADX系统架构设计与实现

摘要: 本文详细介绍了程序化广告交易平台(ADX)的系统架构设计与实现。ADX作为连接广告主与媒体的核心平台,采用基于腾讯云和阿里云的微服务架构,包含网络基础设施、负载均衡、消息处理、核心业务服务和多级数据存储等层次。重点解析了Kafka消息队列处理高并发广告请求、Redis实时统计关键指标等核心技术实现,并提供了Java代码示例展示广告请求处理、竞价流程等核心功能。该系统通过分层设计和分布式组件,实现了高性能、高可用的程序化广告交易能力。

私聊前往站内信:https://i.youkuaiyun.com/#/msg/chat/weixin_44976692 769

从 SAP GUI 到 API 自动化,为什么 SAP 团队必须把 API 拉到路线图中央

摘要: SAP项目正从传统手工操作转向API驱动,以应对业务敏捷性需求。API不仅是技术接口,更是核心业务能力的标准化封装,助力自动化、低代码、AI集成和系统升级。通过SAP Business Accelerator Hub等工具,企业可复用标准API替代定制开发,减少技术债。API还赋能自动化平台、实时集成和AI Agent执行,确保安全治理与审计追踪。未来,API将成为企业系统与AI交互的核心桥梁,缺乏API将迫使业务依赖脆弱的UI自动化方案。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 302
上一篇: 一个程序员的副业项目,被微软“白嫖“30年,拯救了无数人的电脑!
下一篇: 一个程序员的副业项目,被微软“白嫖“30年,拯救了无数人的电脑!
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值