返回 内核恐慌内核恐慌 中关于 软件开发 的单集。
57. Virus Panic
2020年4月1日 · 1:51:38
本期节目Rio和吴涛讨论了播客自身的更新:换用新域名pan.icu(续费仅6.5美元/年)和启用爱发电平台进行捐款催更。吴涛从德国发回欧洲疫情报道,指出德国联邦制导致防疫决策迟缓,民众对戴口罩有根深蒂固的偏见,甚至癌症患者戴口罩也被嘲笑。他们用《瘟疫公司》游戏模型对比新冠病毒传播,强调武汉九省通衢的地理位置和春运时间点使其成为理想爆发点。计算机病毒部分,他们分析了Stuxnet作为受控攻击PLC的500KB巨兽,以及FPGA病毒在可编程硬件上难以查杀的可能性。最后提到2020年闰年导致PHP、Python等软件出现日期处理bug,并展示了新logo(11×11点阵中文和5×5点阵英文的像素风格)。
38. Hit the Kernel Panic Button
2016年4月24日 · 1:39:07
本期《内核恐慌》围绕NPM生态中left-pad库被作者删除引发的连锁崩塌,剖析JavaScript细粒度依赖文化、标准库缺失和社区治理缺陷;微软在Windows中原生支持Linux二进制(Bash for Windows)的背后是Azure战略与争夺开发者;吴涛与Rio还聊到OBD车载诊断、iOS蓝牙限制、MacBook外接4K显示器的窘境,以及中国域名管理新规——互联网全球化的泡沫已破,政府监管根植于主权国家基础设施这一现实。节目延续一贯的准技术闲聊风格,无干货,有态度。
35. 没有主题的闲聊
2016年2月22日 · 1:35:34
本期《内核恐慌》两位主播吴涛和Rio从逆向海淘聊起,对比AliExpress与淘宝的UI和运营态度,指出面向海外市场的AliExpress页面设计反而更干净专业。接着讨论Jeff Atwood提出的Scooter Computer概念——用廉价X86小电脑做家用VPN网关,Rio分享了自己用Go语言编写VPN的实践,解释了通过虚拟网卡(Tunnel Device)实现VPN的简单原理。随后话题转向Swift的API设计指南,强调去Objective-C化和命名规范。最后谈及Parse即将关闭,认为这凸显了依赖第三方PaaS服务的风险,并提到GitHub引入中层管理引发的团队动荡与开源社区的不满。
32. 覃超专访(之二)
2016年1月4日 · 1:19:17
覃超在本集中详细讲述了Facebook Phone项目(代号Buffy)的诞生与放弃过程。该项目始于2010年,意图打造一款基于HTML5技术的社交手机,由Bret Taylor和Matthew Papakipos主导,与HTC合作硬件,修改Android系统并移植WebKit浏览器,采用独特的三进程架构(第一方应用、第三方应用、网页浏览各占一个进程)。然而,由于HTML5在移动端性能极差——JavaScript单线程导致UI卡顿、耗电严重、网络数据消耗大,用户体验远不如iPhone 4,项目不断降级,最终演变为Facebook Home后也被放弃。同期,Google+的竞争促使Facebook暂停Go China计划,收缩非核心业务。覃超还回忆了奥巴马2011年访问Facebook总部的情况,以及他在项目中负责的data layer框架开发。
26. Livid 专访
2015年10月18日 · 1:58:03
本期节目专访V2EX创始人Livid,讲述他从16岁辍学、自学编程到成为程序员的独特成长路径。Livid详细解释了V2EX的设计哲学:拒绝盗版、灌水和无意义内容,并创造了基于铜币的经济系统作为时间隐喻,以量化用户贡献。他回顾了将V2EX从Google App Engine迁移到国内服务器的技术决策,并分享了自己在Kijiji、六间房和知乎早期的开发经历。Livid目前从事中美间CDN优化的创业,强调边缘计算的重要性。节目中他还谈到孤独与创造性工作的关系,以及未来探索美国国家公园的梦想。
21. Debugging
2015年7月12日 · 2:21:38
本期《内核恐慌》聚焦程序调试,两位主持人从密码管理习惯(吴涛的三层密码策略与Rio的随机密码+不同邮箱)切入,随后讨论Hacking Team被黑暴露Flash零日漏洞、Atom 1.0发布、卡马克计划在VR中用Racket构建脚本环境等新闻。在调试主题中,他们介绍了debug一词源自Grace Hopper的飞蛾故事,对比了打印调试法(printf)、命令调试器(GDB/PDB)、图形化调试器(DDD)及IDE集成调试的优劣,并提及Valgrind等profiling工具。吴涛分享了在博彩公司遇到的iOS Chrome用户有极低概率看到他人账户的诡异bug(最终未能重现,只能屏蔽该浏览器),以及索尼PS游戏因手柄干扰晶振导致记忆卡损毁的经典案例。节目强调先确定边界条件再编码的良好习惯比调试技巧更重要。
20. 设计模式
2015年6月27日 · 2:11:50
本期《内核恐慌》中,主持人吴涛和Rio首先解释了节目下载串台故障的成因:国内运营商(如长城宽带)的透明缓存系统仅以域名和文件名作为缓存标识,忽略路径,导致不同节目的同名文件被混用。随后吴涛透露,受Apple Watch SDK限制,其用莫尔斯码发送信息的手表应用设想难以实现,因为无法检测按键长短。节目还念读了三封长篇读者来信:第一封讨论TDD与重构的价值,第二封由形式化验证(Formal Verification)专业博士生撰写,对比了测试与形式化验证的优劣,并介绍了sel4和CompCert等项目;第三封来自一位TDD践行者,强调重构在TDD中的关键作用。主题部分,两人回顾了设计模式的起源(源自建筑学《建筑的永恒之道》),阐述了其核心原则“面向接口编程”和“组合优于继承”,并指出许多模式是语言局限的补偿(如C#的delegate/event代替Observer模式)。最后讨论了反模式(God Object、Golden Hammer、Silver Bullet),并引用了GoF作者15年后的反思访谈。
19. 测试
2015年6月15日 · 2:33:32
本期节目中,吴涛和Rio首先讨论了HHKB键盘的使用体验与版本差异,Rio分享了从键盘布局到适应过程的感受。随后,两人读了两封听众来信:一封关于编程学习与恋爱关系的反思,另一封涉及文字编码历史,包括ASCII、Unicode、ISO/2022等标准,并吐槽了Windows的宽字节API。接着,他们简评WWDC,重点谈了Apple Watch的实用性与Swift 2开源的意义。最后进入本期主题“软件测试”,从瀑布模型与敏捷开发的对比切入,深入探讨了TDD(测试驱动开发)的三原则、BDD(行为驱动开发)与Cucumber工具、单元测试框架XUnit家族及Python的doctest,并讨论函数式编程对测试的友好性。两人对TDD持批判态度,认为其压抑创造力,但承认其在大型项目中的必要性。
17. Microsoft Build
2015年5月17日 · 1:58:40
本期《内核恐慌》两位主播吴涛和Rio首先念了听众来信,讨论技术话题征集、数据科学中数学的重要性以及I like rabbits用人力替代AI等反馈。随后进入新闻环节:Canonical将Snappy包管理器引入Ubuntu桌面版;NoTCP运动提倡使用UDP替代TCP以减少延迟;Google的Dart语言更名为Sky用于Android开发,但放弃原生浏览器支持。重点回顾Microsoft Build 2015大会:Azure云服务篇幅过长,Windows 10推出众多版本(包括IoT Core),Visual Studio Code跨平台编辑器集成调试功能广受好评,DirectX 12性能可达前代6-10倍,HoloLens增强现实头显完成度提升但视角变窄。最后讨论工具拟物化图标的文化隐喻。节目以IPN其他节目预告收尾。
11. 从 Backbone 到 React
2015年2月22日 · 2:15:32
本期《内核恐慌》邀请Backplane前端工程师Willow分享将大型Backbone应用迁移到React的实战经验。Willow指出,Backbone在内存管理、视图复用和手动DOM操作上存在痛点,而React通过虚拟DOM和组件化设计显著提升了开发效率和性能。团队仅用三人、耗时六个月将60%的前端代码转为React,并计划逐步采用Flux架构改进数据流。节目后半段,主持人吴涛和Rio讨论了微软.NET CoreCLR在OS X上的开源编译进展,以及i3窗口管理器在Linux上的高效使用体验。
10. React.js 研讨会专题
2015年2月8日 · 1:55:56
本期节目邀请到参加React.js Conf 2015的柳成荫(Willow),与主持人Rio和吴涛深入探讨React.js及其生态系统。节目从React解决传统前端框架(如Backbone)的DOM操作和状态管理问题入手,详细解释了Virtual DOM、JSX语法、单向数据流Flux架构、Immutable Data等核心概念。柳成荫分享了其公司从Backbone迁移到React的实践经验,并介绍了React Native如何通过Virtual UI抽象实现跨平台原生组件渲染,以及Facebook对React的强力支持。此外,节目还前瞻性地讨论了GraphQL与Relay如何解决RESTful API的局限性,以及图数据库在数据查询中的潜力。整体上,节目认为React代表了前端开发的下一个阶段,值得开发者深入学习和采纳。
7. 软件包管理
2014年12月27日 · 2:28:47
本期《内核恐慌》深入探讨了软件包管理(package management)的方方面面。Rio和吴涛首先解释了包管理的概念,包括开发时依赖库和部署时分发软件的区别,并对比了Windows的DLL hell与Linux发行版(如Debian的DEB和Red Hat的RPM)的解决思路。随后讨论了macOS上的Homebrew如何凭借Ruby DSL和GitHub生态取代MacPorts,以及Windows的NuGet包管理器。语言层面的包管理工具是吐槽重点:Java的Maven因XML配置和依赖冲突被痛批,Python的setuptools、distutils、pip和Buildout四分五裂,而Node的npm和Ruby的Gem则因清晰的设计得到好评。最后介绍了Go语言去中心化的go get及其版本管理难题,并展望了跨语言统一包管理的可能性。
4. 编辑器巡礼
2014年11月16日 · 2:44:47
本期《内核恐慌》中,Rio和吴涛作为Vim用户,围绕编辑器与IDE展开巡礼。他们首先剖析Vim与Emacs的圣战,指出Vim的核心优势在于模态编辑与操作语言(如D3W删除三个单词),使其在编辑效率上极高,但脚本语言Vim Script丑陋且扩展性弱;而Emacs本质是一个操作系统,以Elisp驱动,可扩展为浏览器或Spotify客户端,但快捷键对小指伤害大。随后,他们对比了Sublime Text(对初学者友好)、TextMate(因Ruby on Rails作者DHH的Screencast而走红)、Chocolat(Mac原生但收费且扩展不足)、Windows阵营的UltraEdit、EditPlus、Notepad++(免费且轻量可配置为基本IDE),以及基于WebKit的Atom(资源占用高且不稳定)。在IDE部分,他们认为Visual Studio的IntelliSense最聪明但版本繁多且收费;Eclipse虽免费却臃肿丑陋、响应粘滞,在Mac上尤其缓慢;IntelliJ则更快、配色更好,但付费版本才支持Java EE;Xcode稳定性差,曾半小时间崩溃一次,但Playground实时演算功能惊艳。最后,吴涛补充了微软于2014年11月12日开源.NET服务器端并推出免费Visual Studio Community Edition的消息。
3. 静态网站生成器
2014年11月3日 · 1:45:28
本期《内核恐慌》中,主持人Rio和吴涛深入探讨了静态网站生成器的概念、兴起原因及实际使用体验。他们指出,静态网站生成器通过预先生成HTML文件,避免了动态网站中数据库查询和服务器端渲染的负担,从而提升性能和安全性。Rio分享了自己从WordPress迁移到Jekyll的经历,感叹其依赖管理复杂但社区活跃;吴涛则因Apple Force(2500多篇文章)的生成耗时问题,先后尝试了Python自建工具和Go语言编写的Hugo,后者在单核上不到1秒完成构建,速度惊人。两人还讨论了部署自动化:吴涛利用GitHub Webhook和git post-merge钩子实现代码推送后自动生成站点,而Rio仍用传统rsync。针对评论功能,他们倾向于关闭或使用第三方平台如Discourse,认为提高评论门槛能有效减少垃圾信息。最后,吴涛展示了Go语言中独特的日期格式化方式——通过一个固定时间点(2006年1月2日15:04:05)作为模板,无需记忆占位符,体现了Go语言的设计哲学。