科技爱好者周刊(第 147 期):寻找你愿意忍受的痛苦

作者: 阮一峰

日期: 2021年2月26日

这里记录每周值得分享的科技内容,周五发布。

本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容。

周刊讨论区的帖子《谁在招人?》,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。

封面图

2014年,一架瑞典直升飞机向冰冻的风力发电机,喷洒除冰剂。最近,得克萨斯州由于严寒出现大停电,这张照片重新流行。(via

本周话题:寻找你愿意忍受的痛苦

约翰·乌歇尔(John Urschel)是一个职业橄榄球运动员。

2017年退役后,他改行研究数学,先在宾夕法尼亚大学拿到数学硕士,现在麻省理工学院攻读数学博士。

约翰·乌歇尔从小就对数学有兴趣,在他还打球的2015年,就在学术杂志上发表过论文《用于计算图拉普拉斯算子的 Fiedler 向量的级联多重网格算法》,这种题目一看就属于专业数学家的范畴,说明那时他的数学水平已经不低了。

因此,外界对这件事情的看法就是,他具有数学天才,所以改行去读数学也很正常。

一次采访中,他回应了这种看法。说得真好,推荐给大家。

"在别人眼里,数学对于数学家是很容易的。错了, 那是一场斗争,艰苦而孤独,不确定能得到成果,而且需要很长时间的奋斗。数学家是热爱斗争的人。 "

他的意思是,即使他真心热爱数学,依然觉得数学研究非常艰苦。(注意,一个真心热爱的人还说艰苦,如果换成普通人,感受可想而知。)他能够坚持下去,并不是因为他觉得很容易,而是因为他可以忍受这些痛苦。

这段话对我很有启发。大家往往只看到成功时的荣耀,而忽视成功之前那个痛苦的过程。英国著名作家奥威尔就说过:"一个人如果将他自己描述得很好的话,他十有八九是在撒谎,因为任何生命从内部审视都只不过是一系列的失败。"

实际上,一个人能够成功,仅有热爱是不够的,还必须有强大的忍受能力,能够吃苦。

很多人建议,寻找人生方向时,你应该听从自己的内心,寻找真正热爱的事情。我现在觉得,更现实的建议应该是,寻找你愿意忍受的痛苦。 你在哪一个方向上,愿意心甘情愿地、经年累月地吃苦,具有最大的忍耐,"虽九死其尤未悔",那就是你应该选择的方向。

你能在某件事上赢过别人,原因很可能不是你比他强,也不是你比他更热爱这个事业,而是你比他更抗打击。生活虐你千百遍,等到别人都放弃的时候,你还没有放弃。

前端图形学

前端发展到今天,普通页面的技术问题基本都解决了,开始向纵深发展,追求极致的性能和视觉效果。

正是这种背景下,页面图表和动画变得越来越重要,尤其是对于移动端页面。已经很难想象,如果没有动画支持,今年春节的各大 App 红包活动页面该怎么呈现!

前端图形学就是专攻页面 2D 和 3D 图形效果的技术,属于目前最紧缺的前端方向之一,大厂都在大量招聘,因为太缺人。只要你能做出基本的效果,就可以发 Offer 给你。毕竟,大厂的营销活动多,各种页面效果的需求太大。

现在市面上,高质量的前端图形学教程并不多。本周的课程资料就是一个 《前端图形学专题课》 ,教你逐步掌握图形学知识,做出一个微信小游戏,非常贴近国情,实用性很强。

本课程由腾讯课堂"双认证"机构----京程一灯制作,经过了两轮授课,目前已经是第三季迭代了。

课程原价98元,周刊读者可以 免费获得,微信扫描下面二维码,入群后象征性支付 0.02 元报名费即可。前50位报名者还会再送图形学第二季的一门专题课。

科技动态

1、得克萨斯州严寒

得克萨斯州靠近墨西哥沙漠,属于干旱炎热的气候。但是,最近北极寒流南下,使得该州遭遇了几十年来未曾有过的严寒。上图是沙漠里面的仙人掌也结冰了。

更糟糕的是,得州的基础设施从没考虑过防寒。一旦遭遇暴雪,就开始出现大规模的停水停电,几十万人不得不自己想办法,度过零下的夜晚,很多人在网上贴出了自家的照片。

2、百万美元的数瓶子大奖

百事可乐旗下的饮料品牌 Mountain Dew,在超级碗决赛期间播放了一条广告。广告结尾处宣布,第一个正确回答出现了多少瓶饮料的人,可以得到100万美元的奖金。

下面就是这则30秒的电视广告(Youtube腾讯视频),有兴趣的话,可以数数看有多少个瓶子。

一个程序员立刻开发了一个计算机视觉的识别程序,统计瓶子的数量,最后的数字是869个。由于可能包含错误和遗漏,所以这个数字并不保证正确。

3、GeForce 显卡

Nvidia 公司的新推出的 GeForce 显卡 RTX 3070,由于运算速度非常快,被加密货币矿工抢购,用于挖矿。甚至带有这块显卡的笔记本电脑,也被抢购一空,导致市场上高端显卡短缺。

为了应对这种局面,保证游戏市场的供应,Nvidia 公司上周宣布,新推出的 RTX 3060 显卡,将带有"防挖矿"设置,一旦发现正在计算哈希(挖矿的核心计算),计算速度就会自动降低50%。但是,这个措施不适用更高端的 3070 和 3080 显卡。

4、花旗银行的5亿美元错误

去年8月11日,花旗银行代为露华浓(Revlon)公司向债权人支付780万美元的利息,但是不慎将5亿美元的本金也支付出去了。最近,法院判决,相关公司不必偿还这5亿美元,花旗银行必须自己吸收这笔损失。

这个事故的原因令人啼笑皆非,完全是内部转账软件的 UI 设计有问题(上图)。必须同时填写 Principal、Front、Fund 这三栏,本金才不会支付出去,但是操作者误以为只填写 Principal(本金)那一栏就可以了。后来又经过三层审核,所有的审核者都没有发现这个错误。

5、Uber 司机属于雇员

英国最高法院最近裁决,Uber 司机应该被视为雇员,而不是承包商。这意味着,这些司机可以享受最低工资、带薪休假、社保等待遇,这会使 Uber 的经营成本大增。法院理由如下:

  • Uber 制定价格,决定了司机可以赚多少钱。
  • Uber 设定了合同条款,司机没有协商权。
  • Uber 限制了工作的灵活性,如果司机拒单,Uber 将对其进行处罚。
  • Uber 通过星级评定来监控司机的服务,如果不满意司机的表现,则可以终止司机的行车资格。

国内的网约车司机、代驾员、送餐员等等,都满足上面的标准,似乎也可以主张被当作企业员工。

6、一句话消息

  • 上海松江某小区时有发生高空抛垃圾,危及行人安全。警方联手物业部门,对着大楼安装摄像头,很快发现是11楼的六旬大妈黄某所为,黄某现已被刑事拘留。

  • 国内厂商开发的手持游戏机 AYA NEO 开始发货,它是 x86 架构,内置最新的 AMD Ryzen CPU,能在手持设备上运行 Windows 游戏,明显的缺点是续航时间短,不外接电源时,只能连续玩两个小时的游戏。

  • 一家佛罗里达自来水厂报告,他们的系统被黑。黑客用了5分钟,将氢氧化钠含量从百万分之100调高为11,100,使得自来水碱性极高。这种恐怖攻击方法,确实值得警惕。

  • 一名美国的杀人嫌疑犯,由于 DNA 检测被抓获。他的律师提出,DNA 检测软件的代码不可靠,产生的结果不能作为证据。上诉法院同意了律师的看法,要求对该软件源码进行专业评估。

  • 一对巴西夫妻20年坚持种树,将一个荒瘠的山谷改造成绿色森林,对比效果惊人。

文章

1、人工心脏的由来和现状(中文)

很多严重的心脏病患者需要换心,但是心脏移植的来源非常稀少,人工心脏正是在这种背景下发展起来的。本文介绍了人工心脏的发展状况,有大量插图。

2、比汽车还小的飞机(中文)

Honda Jet 是日本本田公司生产的小飞机,也是二战后日本唯一的国产飞机,客舱长度5.43米,只能搭载四位乘客,比某些七座的公务车还要小巧。本文介绍这架飞机的历史。

3、华为的 ExaGear 与俄罗斯同名软件是什么关系?(中文)

华为的 ExaGear 是一个 ARM 计算机的应用程序,可以运行 x86 程序。俄罗斯有一个同名软件,华为从未说明两者有何关系。

4、npm 的设计缺陷(英文)

一个程序员利用 npm 的设计缺陷,成功进入了35个主要公司的内网系统,包括Microsoft、Apple、PayPal、Tesla、Uber 等。

5、反对 ORM 仇恨(英文)

ORM 的作用是将数据库关系(relation)映射成面向对象模型(object),很多人反对增加这种用法,认为不如直接使用 SQL 语句。作者提出,很多情况下使用 SQL 查询库,生成复杂的 SQL 语句,是有必要的。

6、我不想再做前端了(英文)

作者讲述了为什么对前端开发感到厌倦。

7、MacBook Pro M1X 基准测试泄漏(英文)

苹果第二款桌面 ARM 芯片 M1X 的信息,泄漏出来了。它会用于今年发布的16英寸 MacBook Pro。

8、为什么不应该使用 Cloudflare 的免费层?(英文)

Cloudflare 是一个 CDN 服务提供商,很多人使用它的免费层。作者发现,免费层有时会限制访问,而且不向站长提供任何反馈,让你在不知不觉之间就丢失了很多用户。

9、调查来自印度的9000万个请求(英文)

维基百科发现,每天有来自印度不同 ISP 的9000万个请求,都在读取一张花朵的照片,占到网站总流量的20%。这些请求都是真实的,不像是 DDoS 攻击,但是 HTTP 请求的头信息没有提供任何线索。

这是官方的调查过程,讲述如何从有限的信息里面,推测出到底这是怎么一回事。

工具

1、Beaker

一个实验性浏览器,提供点对点访问。你可以在浏览器里面架设自己的网站,然后让其他人访问它。

2、github1s

只要在 GitHub 仓库域名后面加上1s,比如github1s.com/facebook/react,就能在浏览器里面使用 VS Code 环境,浏览这个仓库的代码。

3、Nuvola 播放器

一个 Linux 桌面程序,用来播放 Web 流媒体服务,比如Spotify、YouTube、Apple Music等。目前一共支持 37 种流行的流媒体服务。

4、可视化频谱

一个网页工具,通过电脑麦克风捕捉各种声音,然后将它们的频率图显示在网页上。

5、视频的自然语言搜索

这一个概念性的开源软件,它会下载 Youtube 视频,提取每一帧进行物体识别,然后支持用户使用英语搜索,比如搜索"fire truck"(消防车)就会跳出上面的画面。

6、pcp

一个命令行的点对点文件传输软件,用法非常简单。一个命令上传文件,然后返回一个接收码,另一台电脑使用接收码接收文件。

7、flameshot

功能很强的桌面截图软件,支持 Windows 和 Linux。

8、Nullboard

一个简易的项目管理看板,只有一个 HTML 文件和一个 JS 文件,使用本地的 LocalStorage 作为储存,可以脱机使用。

9、Qwerty Learner VSCode

VS Code 编辑器的插件,内置了各种英语单词的词库,供用户做打字练习,加强对单词的记忆。(@Kaiyiwing 投稿)

资源

1、写给文科生的数学(Mathematics for the Liberal Arts)

一本在线阅读的英文教科书,向文科生介绍数学知识,涉及逻辑学、图论、概率论等,但是不涉及微积分。

2、2020年崛起的 JavaScript 新工具

这是每年一度的调查,根据过去一年中 GitHub 新增的 Star 数量,对各个领域的 JavaScript 工具进行排名,可以快速掌握新出现的主流工具。

3、Learn X by doing Y

这个网站收集以学习为目的各种实战教程(比如自己动手写数据库、编译器等等),按照计算机语言进行分类,帮助读者快速查找可以自己动手做的简单项目。

4、Youtube 计算机科学课程资源

Youtube 上面有很多优秀的计算机科学的免费教学视频,本文整理了一张清单,列出了其中最好的一些课程,覆盖计算机本科的所有领域。

5、斯坦福大学 iOS 开发课程

斯坦福大学最新的2020年春季 iOS 开发教程,有讲课视频、PPT、讲义和作业。

图片

1、实体三维图

1954年,英国中央发电局制作了一个纸质的三维图表,表示从1951年10月到1954年4月的曼彻斯特用电量。

它形象地显示了冬季的用电高峰和温暖月份的用电低谷。该模型由大约三百张卡片组成,每张卡片带有阶梯状边缘。

2、前苏联那些奇怪造型的建筑物

文摘

1、如何增加运气的表面积

我们一生中,都会遇到一些偶然性。有时,好运会降临到我们身上。这时,你需要的就是,让好运产生最大的效果。

如果你把好运想象成一根曲线,那么好运的效果最大化,就是把曲线下面的表面积最大化。

这可以用一个方程式表达。

L = D * T

其中,L 代表好运,D 代表你在相关方面的准备,T 代表有多少人知道。

这个方程式的意思就是,你做的准备越多,知道的人越多,那么好运的表面积将越大。画成图就是上面这样,竖轴是你的准备,横轴是你的宣传,这两者越大,矩形面积就越大。

2、传奇路由器 WRT54G

2002年12月,Linksys 公司发售了一款新的路由器 WRT54G,售价199美元。

第二年,网络硬件巨头思科就以5亿美元的价格,收购了 Linksys。

有一个 Linux 开发者意外发现,WRT54G 的驱动程序基于 Linux。但是,Linksys 公司并没有披露这一点。这意味着根据 GNU 许可证,必须发布无线固件的源代码。

事实上,Linksys 自己也没意识到这个问题。因为这台路由器使用了 Broadcom 公司提供的芯片,Broadcom 使用了基于 Linux 固件,但是没有通知 Linksys,后者随后又被出售给了 Cisco。

社区就向思科公司提出要求,提出必须开源固件。一个月以后,无线固件的源代码就真的开源了。

这是第一次外部程序员可以完全控制高规格的商业路由器,并且有办法增强功能或者改进其他路由器。后来很多的路由器开源系统,比如 OpenWrt 和 Tomato 等,都是起源于这个开源固件。

这导致 WRT54G 路由器在开发者社区异常受欢迎,直到2016年依然有数百万美元的销售额。

思科显然很不喜欢这种状况,后来修改这个路由器的固件,不使用 Linux。这引起了社区的强烈反弹,加上思科发现 Linux 版的 WRT54G 销量很好,所以就恢复了原来版本的销售。

言论

1、

如果你只看大众媒体和算法推荐给你的文章,你最终将罹患智力糖尿病。

-- David Perell

2、

Python 3.0 的首次发布发生在12年前(2008年),现在 Python 2 已经确定被淘汰了。很多人认为,Python 3 基本已经开发完了,不再需要继续进行重大更改。新功能应该放到 Python 4。

-- 《一些大胆的2021年预测》

3、

"仅仅崩溃"软件(Crash-only software)指的是仅通过重新启动进行故障恢复的计算机程序,这样可以避免任何复杂的修复。

-- 维基百科

4、

有一种普遍的误解,认为免费提供产品就无法产生任何收入。事实上,免费有时候不是定价策略,而是一种定位策略,尝试通过免费吸引用户,然后将产品定位在正确的受众群体面前。等有了用户以后,出售增值功能自然就成为最合适的扩展策略。

-- 《免费增值是产品启动的有效方式》

5、

打车软件的地图可以查看车辆距你还有多远,这有巨大的心理学意义。它不会减少你等待出租车的时间,但可以使等待的煎熬程度减少90%。

-- 《点金术:心理学的神奇力量》

回顾

2020年的本周(第 96 期):在线教育不等于录制视频

2019年的本周(第 44 期):高校"唯论文"导向的后果

订阅

这个周刊每周五发布,同步更新在阮一峰的网络日志微信公众号

微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。

(完)

留言(39条)

免费不等于不需要支付成本,这个成本可能是多种多样的

蛤蛤蛤蛤,第一次知道+1秒还有这个功效????

你喜欢的事,你能承受的痛苦
兴趣和成就感,做一切的原动力

下月离职回学校,给不确定未来的我带来了一点希望!
三个多月的后端开发实习,自己的技术水平不算差,并且实习期间也担任了核心业务的开发,经历过加班,赶进度。实习期间技术的成长是最快的,虽然累些(半夜躺床就能马上睡的那种),但每天过得是最充实的。为什么要提前结束实习呢?原因是在这个圈子里面,我有时会认不清我自己,认不清自己的技术水平,认不清自己的未来,有时会因为项目上线是否会出现问题而带来的忧虑感而失眠,并且有时会莫名其妙的害怕。职场中,人际关系还要能够正确的处理,开发过程中别太较真,我就是属于较真的那个人(都是合理地较真),否则很容易碰壁。可能我是只是一个实习生,说的话做的事往往都很稚嫩,但经过实习我发现我可能真的干不了开发(也许大学四年投入的时间精力会浪费),过得不舒服,不如跳出去,寻找自己愿意忍受的痛苦!
以上仅是个人观点!

过得不舒服,不如尽早跳出去,寻找自己愿意忍受的痛苦!

那个截图工具flameshot真的很棒,谢谢分享

《6、我不想再做前端了(英文)》
这个作者有意思,吐槽大前端最后还真辞职转行去学python了。

好奇阮一峰老师是怎么发现这种小众blog文章的?

github1s这个我去打开项目,的确会出现vscode的界面,但是打不开项目,没有出现项目内容

运气表面积,真就改个名字继续鸡汤啊。feel sick

为什么不应该使用 Cloudflare 的免费层?

作者表示这篇文章不正确,已经删除了,建议阮老师也删除这一条

"如果你只看大众媒体和算法推荐给你的文章,你最终将罹患智力糖尿病。"
这句话说得可太好了,不知道为什么很多的网站都使用推荐算法。人与人的快乐并不相同,反复看同类型的事物也会使人感到厌倦,然后发现新的网站,又再次重复之前的推荐。。。

只要你能做出基本的效果,就可以发 Offer 给你。毕竟,大厂的营销活动多,各种页面效果的需求太大

---------------------------

我在五年前的小公司就专门做这种canvas互动小游戏,那时候都看不起这种业务,现在还风水轮流转了?
不过,网易干这种互动h5还是挺厉害的。

所以,要是我做一个没有推荐,完全自己订阅的小众网站,你就会喜欢用了嘛,@yunlingfly?

如果你只看大众媒体和算法推荐给你的文章,你最终将罹患智力糖尿病.
现在各大信息平台都在使用推荐算法,疯狂利用用户的喜好和习惯,最大化自己的点击率,用户在某种意义上失去了选择权,沦为被动的接收者

github这个很好

在域名后面加点什么东西就能有某种功能的策略是错误的,这个思路的背后是买了一个类似域名来实现对大厂的功能性增补,比如youku和downyouku,后者能下载优酷视频。但是用户不可能天天记住这个应该加谁那个应该加谁,回头客很少,所以需要不断宣传,浪费很大。不如直接搞个extension。

介绍小飞机这篇文章,感觉行文蛮阴阳怪气的。

引用滴滴嗒的发言:

github1s这个我去打开项目,的确会出现vscode的界面,但是打不开项目,没有出现项目内容

我也是,没有项目内容,是一个叹号

引用苏三州的发言:

所以,要是我做一个没有推荐,完全自己订阅的小众网站,你就会喜欢用了嘛,@yunlingfly?

如果质量够好的话我会订阅的,人总是有了解新鲜事物的心态,期待@苏三州
其实类似的网站或个人还是有的,比如mono站点或Lks的视频

豆瓣的那种感觉还不错,没有乱推荐,其他app基本上都是机器推荐,其实大家还是比较叛逆的,有没有反机器推荐的,或者各占百分多少的

原来flameshot这个截图工具还支持Windows呢,很不错

文章 第8条,作者已经声明文章有误了,阮老师及时更新呀(主要也是没看到原文写的是啥)

I don't want to know a bit about everything and a lot about nothing.

这个作者简直说出了我的痛苦!
Vue出了,学;Ts出了,学。。。
webpack调试一星期没成功,那就两星期,然后就放下。。。再忘了。。。再折腾。。。
然而Js/jQ/HTML/CSS还没有学好

Python学django、学flask、学爬虫。。。
然而一个web还没部署成熟过。。

贪大求全,就是浪费时间;
单点突破,才能吸收掌握。

收起一些好奇心,厚实一些专注,改变心态才能改变生活。

注:汽车底盘工程师,业余学python

@昌见:

你现在发现沟通让你难受、不舒服,实际上开发已经是和人沟通较少的行业了

寻找你愿意忍受的痛苦,愿意忍受的那不算痛苦,甚至还快乐。不是有那么一句:痛并快乐着……

苏联建筑好玩

Uber 司机属于雇员 这一条要加上该判决仅适用于涉及诉讼案的少数司机,并不适用于其目前在英国的所有6万名司机。避免误解。

寻找你愿意去学习的领域

我擦,dna检测是软件做的?

巴西夫妇种树那个主人公,萨尔加多是一个很有名的摄影师,有一部电影纪录片《地球之盐》就是他的传记,强烈推荐。

引用旭旭的发言:

@昌见:

你现在发现沟通让你难受、不舒服,实际上开发已经是和人沟通较少的行业了


你这个观点确定正确吗?并不是说话少就是沟通少!并不是说话多,就是细节多!

宣传的越多,做的越多,好运效果就越好,可经常是在宣传的过程中好运跑走了,最后承诺的没有兑现,怎么办?

关于程序员是否沟通少的问题,我觉得其实算少的了,但是上班最享受的时间还是戴上耳机一心写代码,如果可以,希望以后做个纯手艺人,每天放着音乐做着手工,养家糊口

喜欢苏联奇奇怪怪的房子

引用一枝梅的发言:

我也是,没有项目内容,是一个叹号

应该只能打开公开项目

阮老师怎么没更新

引用yunlingfly的发言:

"如果你只看大众媒体和算法推荐给你的文章,你最终将罹患智力糖尿病。"
这句话说得可太好了,不知道为什么很多的网站都使用推荐算法。人与人的快乐并不相同,反复看同类型的事物也会使人感到厌倦,然后发现新的网站,又再次重复之前的推荐。。。

是的,周围都是算法,每次逛购物网站都是一样的东西。而很多时候新鲜事物和未知才能勾起人们的兴趣,这也是我讨厌那些短视频软件的原因

John Urschel拿到的是宾州州立大学的数学硕士,不是宾大。

我要发表看法

«-必填

«-必填,不公开

«-我信任你,不会填写广告链接