工具与资源github.com
冷水清单:给技术热潮降温的资源集
Cold Showers
2020 — 2024,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是 Hillel Wayne 维护的 GitHub 清单,收集“冷水澡”式资料:用研究、基准测试或实际案例给流行技术断言降温,例如“静态类型减少 bug”“SQLite 撑不住”“大集群一定更快”“标识符必须用全名”等。它不是教程,而是带注释的参考文献列表,提醒读者很多开发流程和技术口号缺乏实证。
为什么经久不衰:它把常被当作常识的技术主张与实证证据放在一起,隔几年再看仍能提醒人们区分炒作、直觉和有研究支持的结论。
HN 评论精选
昂贵硬件常没带来预期加速,本地跑模型反而更实际。
把最先进的图处理算法跑在 128 核集群上,和 2014 款单线程 MacBook Pro 做基准测试。结果笔记本一直赢,有时还快一个数量级。LOL,这太有共鸣了。我们公司专门搭了建模用 VM 跑预测建模流水线,典型流水线大约 5 万到 500 万行训练数据。用了昂贵 VM,最多也就比我的个人工作笔记本上跑 LightGBM 快 2 倍。我们试过 GPU 机器、超线程机器等等,最后决定让数据科学家直接在本地跑模型。
CapmCrackaWaka查看英文原文
> Benchmarking cutting-edge graph-processing algorithms running on 128-core clusters against a single-threaded 2014 Macbook Pro. The laptop consistently wins, sometimes by an order of magnitude. LOL, this hits close to home. My company had a modeling specific VM set up to run our predictive modeling pipelines. Typical pipeline is about 50,000 to 5 million rows of training data. At best, using an expensive VM, we managed to get 2x training speed from lightgbm on the VM vs my personal work laptop. We tried GPU boxes, hyper threaded machines, you name it. At the end of the day, we decided to let our data scientists just run models locally.
静态类型的价值在于帮助理解和沟通,而不只是减少 bug。
至少对我来说,静态类型的最大优势并不是它(据说)能减少 bug,而是帮助我理解程序、在代码里导航。它是思考和沟通的工具。
cloogshicer查看英文原文
> Static Typing reduces bugs. At least to me, the big advantage of static typing is not that it (allegedly) reduces bugs, but that it aids my understanding and helps in navigating the program. It's a tool for thinking and communicating.
静态类型确实能消除整类运行时错误,关键在于表述精确。
说它只是炒作并不准确,因为表述不精确。静态类型系统让整类 bug 在运行时不可能发生。类型系统越强(越不宽松),不能发生的 bug 类别就越多。
aranchelk查看英文原文
> Hype: "Static Typing reduces bugs." It’s only hype because it’s imprecisely stated. Static type systems make entire classes of bugs impossible at runtime. The stronger (read less permissive) the type system, the more classes of bugs cannot occur.
行业开发流程主张多基于观点,缺乏实证验证。
我认为最好的启示是:软件行业对开发流程做了很多断言,但真正用来验证这些流程的研究少得可怜。大多只是观点。
ravenstine查看英文原文
I think the best takeaway from this is that the software industry makes lots of claims about development processes, but so little actual research is done in trying to validate those processes. It's all mostly based on opinion.
历次讨论
同类还值得读
直接在浏览器中启动 Linux 内核
Boot a linux kernel right inside your browser.
Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。
工具与资源上首页 5 次 · 2011–2025bellard.orgHacker News 未公开功能与行为清单(2018)
A List of Hacker News's Undocumented Features and Behaviors (2018)
数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。
工具与资源上首页 5 次 · 2019–2025github.comMapSCII:在终端中用盲文和 ASCII 渲染地图
MapSCII – Braille and ASCII map renderer for the console
MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。
工具与资源上首页 5 次 · 2017–2025github.com顶尖大学的免费在线课程
Free Online Courses from Top Universities
Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。
工具与资源上首页 5 次 · 2010–2022openculture.com淘气字符串:容易引发用户输入问题的字符串清单
Naughty Strings: A list of strings likely to cause issues as user-input data
一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。
工具与资源上首页 4 次 · 2015–2020github.com