当前位置:首页 > 学术指导

科技爱好者周刊:第 103 期

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

本杂志开源(GitHub:ruanyf/weekly[1]),欢迎提交issue,投稿或推荐你的项目。

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

封面图片

美国犹他州国家公园的工作人员,进入山洞为一只冬眠的熊安装追踪项圈。不料,这头熊没有睡着,瞪大眼镜看着他们。好在它没有攻击工作人员,麻药也很快发生了作用。(出处[3])

本周话题:信息的半衰期

半衰期是一个物理学概念,指的是放射性物质减少一半质量(辐射衰弱)所需的时间。

这个概念其实很好理解。根据爱因斯坦最著名的质能公式E=mc²,能量即质量,任何释放能量的物体都必然会减轻质量。


最近,我看到有人[4]提出了一个新的概念,他说信息也有半衰期。信息的半衰期指的是,一半的信息量变得无关紧要或者彻底过时所需的时间。

以报纸为例,出版当天的价值最大,第二天再看,价值至少减半,所以报纸的半衰期是一天到几天。微信和微博的半衰期也类似,早上发的朋友圈,晚上就不太有人看了。至于即时消息或聊天的半衰期就更短了,只有几个小时。

当代社会的趋势是,信息的半衰期越来越短,有一个词叫做“快餐文化”。以前,一本新书可以在书店里卖几年,现在卖几个月就下架了,被新的出版物取代。大部分书籍的半衰期就是几个月到一年。


如果你写过软件文档,就会对半衰期有切身的体会。一旦软件版本升级,以前文档的价值立刻大减。我为版写过教程,短短几年中,它的API至少变了三次,每变一次,原始教程的价值就降低一半。一算就知道,经过三轮半衰期,文档的价值只剩下八分之一。

我的建议是,不管你写什么,尽量写一些半衰期比较长的内容,这样有利于提高内容的使用价值(也是提高你的劳动的价值)。有些朋友喜欢发朋友圈和社交媒体,花了很多时间,但是内容马上就过时了,也没法重复使用。

顺便说一句,这个周刊的半衰期就很短,过了一周就很少有人看了。我也在想,怎样才能延长周刊的半衰期,使得它有更多被用到的机会。

前端必备数据和算法结构

前端工程师需要懂多少算法知识?

以前,前端工程师被戏称为“切图工程师”,所有的工作就是忠实地还原视觉稿,那时确实不太需要算法。

但是,自从单页应用SPA和全栈开发出现以后,一切都变了。今天如果你不懂算法,就只能停留在视觉还原这个层次,没法承担一些高级的开发任务。比如,虚拟DOM渲染的性能优化,或者缓存管理。事实上,现在大厂的前端面试,算法的内容也占了不小的比重。


温馨提示:资料数量有限,仅提供259份。

资讯

1、猫头鹰无声飞行之谜[5]


猫头鹰是一种大型鸟类,张开翅膀后,翼展可以达到一两米。但是,它的飞行非常安静,飞到离你三米远的地方,你会毫无察觉。这是因为猫头鹰飞行引起的空气振动,频率很低,低于人类的听觉阈值。长久以来,生物学家和工程师都想解决猫头鹰无声飞行的奥秘,设计出更安静的风扇、涡轮叶片和飞机机翼。


早先有人提出,猫头鹰的翅膀有三个特殊之处:上缘羽毛像梳子一样向前伸出,翅膀完全覆盖着一层柔软的天鹅绒般的羽毛,下缘羽毛形成了参差不齐的流苏(上图)。最近,美国科学家发表论文,提出借鉴猫头鹰翅膀,降低飞机机翼的后缘硬度,并且采用多孔结构,同时使其更具柔韧性。经过他们测试,可以降低噪音约10分贝。

2、模块化房屋[6]



美国一家创业公司推出了模块化房屋。工厂做好各种房屋模块,直接用卡车拉到现场,进行安装,能够快速入住。价格从几千美元,一直到几十万美元。

它提供多种能源接口,可以接外部电源,也可以接发电机或者太阳能板。如果安装的是住宅,现场还要接入排水排污的管道。因为是模块化房屋,它的拆除和更换组件非常方便。不过,这种房屋不能建高层,所以只适用于乡下。

3、无人测温车[7]


北京理工大学在校门口部署了一辆无人测温车,对进入校园人员进行测温。一旦发现谁体温偏高,就会发出警报声。



4、地热发电[8]


最近石油价格暴跌,意想不到的一个结果是,这为美国的地热发电带来了发展机遇。因为石油价格太低,石油公司不得不停产,闲置的挖掘机械正好为地热发电进行钻探。

越靠近地心,温度就越高,因此可以利用地下高温带来的能量进行发电。地热发电有很多优点,非常可靠,不会间断,没有任何污染。唯一的缺点是建设成本高,比太阳能发电厂贵得多。大部分成本发生在钻探,需要向地下钻探1000米以上,才能获得150度的高温,因此钻探价格下降,对它是最大的利好。

5、蓝牙追踪[9]


苹果宣布与谷歌联手,为手机提供蓝牙追踪API,用来追踪病毒感染者的密切接触者。这大概是iOS与安卓的第一次合作吧。

这个API的原理是,手机的蓝牙向外部广播一个唯一标识符,其他手机接收到这个标识符,就会记录下来,有效期两周。如果你发现自己感染了病毒,就把自己的唯一标识符上传云端。其他手机会同步这个名单,一旦发现名单里面的标识符,曾经出现在日志里面,那个让就应该自我隔离了。详细的介绍可以参见这里[10]。

6、一句话消息





文章

1、了解JavaScript依赖地狱[17](英文)

安装时,会下载19000个依赖模块。本文讲解如何分析的依赖关系。

2、GitHub的10个使用小技巧[18]

官方介绍10个GitHub使用小技巧,很实用,推荐阅读。

3、我家如何安装太阳能发电[19](中文)


台湾网友的一个论坛帖子,有大量图片,介绍他在自家屋顶安装太阳能板,很简单就达到了1000瓦的功率。


4、停止用Eclipse教Java[20](英文)

本文提出初学者的Java教学,不应该通过IDE(比如Eclipse)进行教学。应该这样一来,教学的重点就会变成IDE的用法,而不是语言本身。

6、mv命令无需两次键入文件名[21](英文)

mv命令用于为文件改名,需要输入两次文件名(旧名字和新名字)。要是你只改动一个字母,而文件名又特别长,这就很烦人。这里有一个Bash技巧,可以让你输入最小化。

7、我选择NextDNS[22](英文)

DNS是上网必需的一个协议。现在很多服务商提供DNS级别的防广告和防追踪功能,本文作者介绍为什么选择NextDNS。

8、分布式哈希表(DHT)和P2P技术[23](中文)

分布式的P2P网络通常使用分布式哈希表(DHT)进行路由,查找周围的节点。本文介绍DHT的基本知识,以及算法的实现原理。(@luyuhuang[24]投稿)

9、Docker镜像构建教程:减小镜像体积[25](中文)

自己制作的Docker镜像文件,往往体积很大。本文介绍如何一步步压缩镜像文件的体积,将C语言的helloworld从最初的1GB压缩到94KB。(@lupus721[26]投稿)

10、CTO干什么?[27](英文)

作者原本是一个6人小公司的工程师,后来因为公司业务快速扩张,他被提拔成工程总监(CTO)。他花了三年时间,才搞明白什么是CTO的职责,分成产品、流程、人员三部分。

工具

1、markmap-lib[28]


一个将Markdown转为思维导图的开源工具。

2、codefence[29]

一个可以嵌入网页的交互式代码编辑器,用户能够直接在网页上输入代码并运行,得到结果。服务端是Docker容器,目前支持十几种主流的计算机语言。

3、droppy[30]

一个可以自己架设的网盘服务,适合搭建在内网,从Web界面上传和下载文件。

4、aind[31]

一个装在Docker容器里面的安卓模拟器。

5、[32]

一个轻量级Markdown笔记网站,不需要注册,只需要为文档指定密码,适合随手写一点东西分享出去。

6、Tablist[33]


Chrome浏览器插件,可以一次性列出所有Tab的网页URL,方便复制。

7、iKeep[34]


一个开源的时间规划微信小程序。(@brenner8023[35]投稿)

8、FeedsPub[36]


一个社会化的RSS阅读器,除了常规的RSS聚合功能外,还加入了一些社会化的属性。(@timqian[37]投稿)

9、JSONGenerator[38]

一个生成虚拟JSON数据的在线工具,可以根据给定的模式,自动生成JSON数据。

10、Branca[39]

一种安全令牌的数据格式,比JWT更安全,同类项目还有Paseto[40]。

资源

1、NYCCams[41]


实时查看纽约街道上的摄像头。

2、Haskell语言入门[42]

英文的免费电子书。

3、Godot101–游戏引擎基础[43]


游戏引擎Godot的免费教程。

4、RFC1180:TCP/IP教程[44]

一个早期的TCP/IP协议的英文教程,作为RFC1180提交了。

5、《斯诺登自传》[45]

斯诺登自传《永久记录》,未删节的简体中文版PDF下载,作者本人授权。

6、x64汇编的学习资源[46](英文)

这是HackerNews的讨论帖,列出了网上免费的x86汇编语言的学习资源。

图片

1、盖德隆城堡[47]

盖德隆城堡是法国的一个实验性考古项目,采用中世纪的材料和方法,从头修建一座城堡。

1997年开始动工,由于不采用现代机械,所以修得很慢,预计2023年完工。

2000年。


2006年。


2009年。


2015年。


2019年。


2、生物插图下载[48]

生物多样性图书馆(BiodiversityHeritageLibrary,BHL)提供15000多张生物插图,可以免费下载,都来自历史上的各种资料。







文摘

1、天基动能武器[49]

天基动能武器是一种处于概念阶段的大规模毁灭性武器,所有技术都已经实现了。

最早的构想来自将核导弹布署于太空卫星上,战时直接落在敌人国土上方,这样将极大缩减对方反应时间。然而,不久后就有人提出任何有质量的物体从卫星高度坠落,其杀伤力与陨石撞地球无异,不需要核武也能达成核武类似效果。


这种概念日渐流行,因为核武器的辐射污染和政治敏感性,使得首先用核武器的正当性在国际社会很难立足,核弹头在太空的维持费用也高得惊人。而这种新型天基武器反应速度快、命中精度高,且没有辐射,也不违反任何目前国际核武条约,威力大小透过弹体质量容易调整。

理论上,一块宽30厘米、长6.1米、重量达数吨的钨、钛或铀金属棒状弹体可穿过大气层燃烧阶段,从距离地面1000千米的太空落下的时速可达15000千米以上,相当于11.5吨TNT炸药,产生的动能撞击可以比拟小型战术核武器。

2、阿波罗13号事故[50]

50年前的本周,1970年4月13日,美国阿波罗13号登月飞船发生事故。但是,三名宇航员成功返回地球,成为宇航史的传奇。

当时,一个氧气罐的传感器发生故障,宇航员检查开关时,发生了爆炸,飞船受到了一定的损毁。最要命的是,两个氧气罐的氧气全部丢失,需要氧气维持运作的燃料电池,只剩下10个小时的电力。

为了省电,宇航员只能关闭了取暖系统,并且放弃主飞船,乘坐登月舱返回地球。登月舱原本的设计是,供两名宇航员使用两天,如今却挤进了三名宇航员。二氧化碳的浓度急剧上升,地面指挥中心想出了一个办法,指导宇航员用仅存的物资,拼装出了一个过滤器,成功降低了登月舱的二氧化碳浓度。

飞船的主推进系统已经不再可靠,他们只好在绕过月球背面以后,发射了一枚火箭进行加速,然后向地球自由坠落。返回途中,三位宇航员被告知不可将尿液或其他液体排出舱外,因为这会影响登月舱的坠落轨道。

整个过程持续了四天,三位宇航员最终安全返回了地球。为了分析事故起因,指挥中心要求宇航员为飞船拍摄照片,成为了事后珍贵的历史资料。下面就是在进入地球大气层之前,他们自拍的三人合影。


事后分析,整个事故最幸运的一点是,飞船是在去月球途中出现问题,而非回程。如果在登月后发生事故,由于剩余资源会大大减少,宇航员将不太可能生还。若正常完成登月任务,登月舱会被抛弃,三位宇航员就没有了救生舱。

言论与数字

1、

501程序员指的是,一到5:01就离开办公室下班回家的程序员。

--《501程序员宣言[51]》

2、

软件行业最大的问题之一就是必须不断招聘新人。因为软件持续不断地损毁,总是需要拆除并完全重建。

--《软件行业最大的问题[52]》

3、

他太热爱数学,以至于无法想象,为什么学生会在他的班上关心自己的成绩。

--《数学家约翰·康威去世了[53]》

4、

已知对人类有致病性的微生物,大约有1400种,其中约500种细菌,约200种病毒,其他为各种真菌、蠕虫和原生动物。

--《病原体和人类世》[54]

5、

如果要长期保存一样东西,就不要用不能持久的东西作为它的基础。

有一些技术,就不适合用来建立长期的网站。你能想象连续25年运行一个WordPress网站吗?它依赖的PHP版本将在很早之前就不能运行了。

--HN读者[55]

6、

几年前,我开设了一个社区网站,经常有人来捣乱,加黑名单、封IP地址都没用,他们会更换用户名和IP地址。

最终,我想了一个办法,把每页的渲染时间增加为5到25秒,让网站体验不好。过了几天,这些人就不再出现了。

--HN读者[56]

去年的本周:《周刊第52期》


References

[1]ruanyf/weekly:

[2]《谁在招人?》:

[3]出处:

[4]有人:

[5]猫头鹰无声飞行之谜:

[6]模块化房屋:

[7]无人测温车:

[8]地热发电:

[9]蓝牙追踪:

[10]这里:

[11]有人:

[12]GitHub:

[13]芬兰政府:

[14]Instagram:

[15]日本:

[16]统计发现:

[17]了解JavaScript依赖地狱:

[18]GitHub的10个使用小技巧:

[19]我家如何安装太阳能发电:;t=6065849

[20]停止用Eclipse教Java:

[21]mv命令无需两次键入文件名:

[22]我选择NextDNS:

[23]分布式哈希表(DHT)和P2P技术:

[24]luyuhuang:

[25]Docker镜像构建教程:减小镜像体积:

[26]lupus721:

[27]CTO干什么?:

[28]markmap-lib:

[29]codefence:

[30]droppy:

[31]aind:

[32]:

[33]Tablist:

[34]iKeep:

[35]brenner8023:

[36]FeedsPub:

[37]timqian:

[38]JSONGenerator:

[39]Branca:

[40]Paseto:

[41]NYCCams:

[42]Haskell语言入门:

[43]Godot101–游戏引擎基础:

[44]RFC1180:TCP/IP教程:

[45]《斯诺登自传》:

[46]x64汇编的学习资源:

[47]盖德隆城堡:

[48]生物插图下载:

[49]天基动能武器:

[50]阿波罗13号事故:

[51]501程序员宣言:

[52]软件行业最大的问题:

[53]数学家约翰·康威去世了:

[54]《病原体和人类世》:

[55]HN读者:

[56]HN读者:

分享到: