科技爱好者周刊摘要版(2024年7月)

第 307期

英文博客汇聚

该网站汇总每周的英文技术博客,并提供每篇文章的中文摘要。

我们花费了地球上一半的工程努力,来为每个应用程序添加 AI 聊天机器人,而世界上一半的行业还没有弄清楚如何经常备份数据库。

推出 AI 产品的公司数量,远远超过了实际用例的数量。他们的大多数人只是骗子和炒作者。

— [《如果你再提 AI,我就要发作了》

我知道许多开发者不喜欢前端,主要有两个原因。一是前端太受流行风潮的影响,二是前端开发者主要由年轻的/新入行的/自学的人员组成,他们“不断发现”新范式。

这使得前端技术极不稳定,你学不到真正长久的东西,一切都每过六个月到两年重复一次,这就像看着只活一天的蜉蝣在争论长期的政治问题一样。

— [Hacker News 用户

隐私可能是最近才出现的概念。我小时候住在一个3000人的小镇上,每个人都知道每个人在做什么。那时没有私人电话,邮政局长可以看到每个人收到的邮件。

工业化导致了巨型城市的出现,大量人口的聚集产生了隐私感,而科技的发展可能使得隐私再次丧失。

文特·瑟夫 (Vint Cerf),TCP 协议的发明者之一

第 308期

Cookie 与 Token(英文):本文介绍 Cookie 与 Token 的概念,各自的适用场景。

PostgreSQL 的 UUID 主键](https://maciejwalkowiak.com/blog/postgres-uuid-primary-key/)%EF%BC%88%E8%8B%B1%E6%96%87%EF%BC%89: 本文讨论将 UUID 格式作为 PostgreSQL 数据库主键的最佳实践。

Linear Algebra Done Right : 一本英文的线性代数本科生教材,免费阅读。类似的教材还有《Linear Algebra Done Wrong》

我没有选择去健身房锻炼,而是养了15只小鸡,它们同样要求你弯腰、深蹲并搬运重物。

而且,你没法偷懒,每天一定要去照顾它们,否则它们会死掉。这还有一个额外的好处,就是你会得到鸡蛋。

《养鸡代替健身》

信息技术的发展,并没有帮助人类治愈癌症。原因不是生物学缺乏数学或计算人才,而是生物系统不是数学系统,它的复杂性和不可预测性,限制了计算机的用处。

《为什么生物学家没有治愈癌症》

一个悲伤的软件发布故事

2018年1月1日,我决定写一个应用程序。

几天后,最小可用原型写好了。我不是一个优秀的程序员,但是这个程序很简单,所以写得很快。我把版本定为 0.0.1 alpha。

我本可以发布它,但是我想再加一个功能,用户可能会更喜欢,就没发布。

后来,我断断续续加了几个功能,是时候发布了。我又犹豫了,我想不如把手机 App 也一起做出来,否则留不住用户。于是,我花了几个月,去学习 React Native,来开发手机 App。

转眼两年过去了,我在 Web、React Native、Expo、GraphQL 这些技术的迷宫里面徘徊,总是感觉技术堆栈不顺手,许多地方需要改动,没有好的解决方案。

最终,我灰心了,停止开发,放弃了发布该应用程序的想法。

最近,我又把这个程序找出来,开始使用它。我马上意识到,它缺少很多功能,我要么重新开发它,要么去找别人写的替代方案。

我决定使用别人写的程序。当我滚动他们的登陆页面时,我既高兴又愤怒。高兴的是,有人解决了我想解决的问题,仿佛他们读懂了我的想法并实现了出来。愤怒的是我放弃了,如果我坚持下来,现在这个程序应该是我写的。我没有及时发布,我行动太慢了。

现在我不再需要编码了。世界永远不会看到我的程序,但我在上面浪费了很多时间。这种感情真复杂。

然后,就是最悲伤的部分。我在他们的程序里面注册了一个账户,仔细看了帮助中心,觉得他们做得很好。等到30天试用期结束了,我默默拿出了信用卡,成为了付费用户。

想到我是一个从未发布的失败者,我不禁流下了眼泪。

这个故事的教训就是。不要觉得自己的应用程序还不完善、笨重、有缺陷、缺少功能、没有人会使用等等。如果它可以运行,可以完成基本功能,你就发布它。

第 309期

没有404报错的网站(英文): 本文介绍一个简单技巧,不管用户输入什么网址,都从数据库找出最近似的正确网址,从而消除404报错(找不到网页的报错)。

技术博客聚合 : 每日分享中文技术博客文章。

Movie Posters Perfected : 一个电影海报库,收集了3500多张 4K 电影海报,提供 API,可以在电视上当屏保播放。

根据热力学第二定律,生命是不自然的。因为能量趋向分散,而不是趋向集中,但是生命属于能量集中。

薛定谔认为,生命存在的唯一原因,就是为了在宇宙中产生更多的熵。生命就像龙卷风一样,本身是有秩序的,却造成了巨大的混乱。只要生命缴纳熵税,就会存在。

— [《达尔文机器》

程序员有巴甫洛夫反应:向他们提出一个问题,他们就会开始尝试解决它。

《从第二张幻灯片开始演示》

卷烟销售与肺癌死亡率

下图有两根曲线,紫色是美国历年的卷烟销售数量,红色是肺癌死亡率。

<p>科技爱好者周刊摘要版(2024年7月)</p>

可以看到,两者形状一模一样,表明是强相关,肺癌死亡率滞后卷烟销售量大约25年~30年。

1964年,美国卷烟销售达到顶峰,然后逐年下降;1990年代初,肺癌死亡率达到顶峰,然后逐年下降。

第310期

Cron 定时任务入门(英文):一篇 Linux 初学者教程,介绍如何使用 cron 设置定时任务,非常详细。

算法可视化 : 作者在 AI 协助下,完成的经典算法的交互式可视化网站,代码开源。

王传福多年前关于造车的一句话给了我很大的勇气。

他说很多企业因为不了解,会把技术想象到令人畏惧的高度,这种畏惧正是对手给后来者营造了一种产业恐吓。他们不断地告诉你做不成,投入很大,研发很难,直到你放弃。其实你解决不了的不是因为你没有能力,而是你缺乏勇气。

雷军年度演讲

我的编程信念

下面是我目前对计算机编程的一些看法。这些看法都是基于我自己的经验。

(1)当面临一项艰巨的任务时,我会问自己:“如果我根本不做这件事会怎么样?

大多数情况下,这是一个愚蠢的问题,我必须做这件事。但大约 5% 的情况,我意识到我可以完全跳过一些工作。

(2)“简单”和“容易”之间的区别很重要。简单是复杂的对立面。复杂性来自多个东西捆绑在一起。

容易是另外一回事,复杂的东西也可以很容易。理解“简单”和“容易”的区别,可以让你开发更简单的软件。

(3)消除无效状态(NULL)。如果我可以设计数据/类型防止无效状态,那么就可以消除大量的错误来源。类型系统或数据库架构的一点麻烦是值得的。

(4)代码的可测试性,基本上与代码模块化是一回事。

(5)软件最重要的问题都是非技术性的。现实世界的问题往往是最重要的,我所构建的东西帮助对象是谁?我的团队在健康运作吗?

(6)制作无用的东西可能是学习新事物的好方法。我曾经花了很多时间,为一个业余项目编写自定义 PNG 编码器。我从未想过它会有用,但几个月后,我的另一个项目需要用到某个功能时,我确切地知道如何去做。

正文完
 0
评论(没有评论)