The words that follow are words of caution learned first-hand. They’re for engineering leaders, managers, and CTOs. They’re for working software engineers who know (or suspect) there are major drawbac...
作者宣布停止用 AI 编码后,收到大量同类诉求,于是创办了免费论坛 Humancrafted(基于开源 Discourse,无广告、无信息流、无机器人),定位给对 AI 持怀疑或已弃用 AI 的开发者交流。 文中对比了论坛与 Discord/Mastodon/Bluesky 的体验差异:论坛更慢、更聚焦、对话更深;批评 Discord 封闭、难发现、易被广告和可疑操作困扰。 适合关注 AI 工具批判、开源社区实践和开发者在线交流形态的读者,有个人立场与社区一手经验,能引发"要不要加入""论坛能否持续""AI 弃用潮是否真存在"等讨论。
作者强烈反对“AI 只是一个工具”的说法,认为这低估了 LLM 背后的产业、责任与风险。文章用电动钻和 Vim/Emacs 作对比,指出真正的“工具”是人为特定任务而造、不会“出错”且不构成行业失控风险;而 AI 涉及模型退役、成本转嫁、数据中心扩张、概率性输出,以及公司负责人言论对市场和社会焦虑的影响。 作者认为继续说“只是个工具”会淡化 AI 产业的真实问题,鼓励读者删掉这句套话,改谈具体使用场景和责任。整体是一篇立场鲜明的批评性随笔,讨论 AI 工具化叙事是否合理,有一定争议性和可读性。
Error handling in JavaScript (and thus TypeScript) is pretty miserable. It's impossible to know whether or not a function will throw unless you know its implementation or if it's properly documented. ...
I've been following along with the Fresh web app framework since I first learned about Deno a couple of years ago. Its promise is quite appealing: minimal config, Preact, use TypeScript without a comp...
Whenever I'm learning a new programming language, framework, or library, I'm often stumped with the question of, "What would be a good project for helping me learn this better and apply my new knowled...
I keep asking myself: Why learn Rust when there are so many other languages I could learn? Why not learn Go instead? Everyone seems to pit them against each other. Why not double-down on TypeScript? W...
When you install RSpec in your Rails application, two of the files it generates are spec/spec_helper.rb and spec/rails_helper.rb. The generated source contains a lot of helpful comments, but it might ...
I've been working on learning Rust lately, just for fun. I was wondering how many words I've written so far for Projectbook, and I realized that's a great opportunity to build a program like wc in Rus...
I'm always on the search for new programming resources to help me learn and retain languages, frameworks, libraries, and concepts. Between books, videos, blog posts, and interactive online tooling, th...
Ruby is a really fantastic language for writing general purpose scripts, especially when processing files. I find myself using it regularly for personal needs in addition to the daily needs of my job....
RuboCop is a static code analyzer for Ruby code that can be used to lint code for consistency, catch errors, and support writing better code. In this screencast, I walkthrough how to run it, how to fi...
When working with a Git repository, you usually want to ignore files that are not directly related to the codebase. This keeps the Git repository clean and reduces clutter. For example, OS specific fi...
If you are looking for find a file based on its name, the find command does a mighty good job at doing just that. For example, if you are looking for an image with the name arrows in it, you could use...
Sometimes you need to change a file in Git and maybe you don't want to commit that change. For example, let's say you adjust your database.yml file in your Rails application to start with a fresh data...