这里记录每周值得分享的科技内容,周五发布。
本杂志开源[1],欢迎投稿[2]。另有《谁在招人》[3]服务,发布程序员招聘信息。合作请邮件联系[4][email protected][5])。

封面图

上海徐家汇的美罗城,在球形屏幕上播放漫画作品《七龙珠》的图像,纪念本月去世的日本漫画家鸟山明。(via[6]

崖门海战的感想

前一段日子,我在广东旅行,路过江门市。
我偶然发现,著名的崖门海战[7]发生在这里,就去参观了。
如果你不知道,崖门海战是南宋军队最后被元军歼灭的地方,也就是南宋灭亡之地,位于今天的江门市新会区古井镇官冲村。具体时间是1279年3月19日,本周正好是745周年。
那个地方可真远,我先从江门市区到了新会,它距离新会城区还有30多公里,公共交通只有一部从古井镇出发的、班次很少的郊区客运,基本上你只能自驾或打的前往。
即使按照今天的标准,它都属于偏远,何况当年。南宋朝廷是何等窘迫,要逃到这种地方落脚。
(图片说明:景区没有多少留存的古迹,只有重建的崖山祠。)
参观后,我浮想联翩,觉得真是不可思议,南宋军队犯了那么多低级错误,才导致灭亡
下面,我分享我看到的一些细节,好像没有人说过。
首先,崖门海战不是发生在海里。
我一直以为,既然是海战,那一定是在海边。错了!战场遗址是在一个陆上水道,距离大海至少还有十几公里。
上面是百度地图[8]的截图,可以看到战场距离入海口还有很长一段路。
虽然古代的海岸线跟今天不一样,但是根据古代地图(下图)以及纪念馆的沙盘(下图),战场确实是在水道里面,不是在开阔海域。
下面是我拍的实地照片,虽然天气不好,灰蒙蒙的,但是能看清水道其实很狭窄。
你能相信吗,20万人、上千艘船就在这么一条狭窄的水道里面厮杀?
这么一点点地方,根本无法施展,不要说战术,恐怕布阵都困难,完全就是混战。加之两岸都是平滩,也无法陆上支援,防守的一方基本上就是听人宰割,这也是当天实际发生的情况。
其次,新会位置不佳,无法防守。
不仅崖门海战的地点匪夷所思,南宋选择落脚在新会,也是一个糟糕的选择。
新会地势平坦,无险可守,而且靠近大海,没有腹地,不适合作为根据地。
如果南宋撤到其他地方,比如向西进入广西的山区,或者向南进入海南岛或东南亚,都比新会容易防守,元军的进攻会遇到更多困难,南宋起码不会这么快灭亡。
最后,南宋毫无作战策略,束手待毙
这是最不可理解的。南宋是前一年5月份来到新会,就在这里常驻了。当年的12月29日,广州被元军占领,这种情况下,你已经没有后方了,就应该赶快撤退了。但是,南宋没走。
第二年的2月26日,元军封锁了崖门水道入海口,至此前后方都被敌人占领,宋军已成瓮中之鳖。但是,南宋还是没走,在新会死守。
3月19日,元军发起总攻,南宋已经被包围了足足21天,期间没有任何突围的尝试。
更让人目瞪口呆的是,南宋还下令放弃陆上营地,士兵全部到船上应战。而且,小船用铁索连成一排,封锁江面,阻挡元军前进。部队因此丧失了岸上支援和机动性,无法以小股部队的形式突围。
总之,南宋在崖门被消灭,完全是自身的一系列错误导致的
后人阅读史书时,发现前人有那么多机会改变历史,偏偏每一步都做了错误的决定,自己把自己葬送,怎不令人扼腕叹息。
关于海战本身就说到这里,下面我想讨论一下,网上流传的一句话“崖山之后无中国[9]”(崖山即崖门)。
崖门海战标志着汉人政权第一次被外族彻底消灭,产生了深远的影响。这句话有很多解释,我比较同意其中一种,就是说这个事件使得汉人的心态和文化发生了巨变,之前的中国和之后的中国在气质上不一样
宋朝是中国文明的一个高峰,文化艺术、商业活动、科学技术都空前繁荣。四大发明里面,造纸术被认为是发明于西汉,其余的印刷术、指南针和火药都被认为是发明于宋朝。但是,这样一个辉煌的文明却被蛮族消灭了,这对汉人造成了巨大的打击,从此,汉民族就发生了变化,心态趋于保守,从重视文化艺术变成重视利益。
陈寅恪说过,中国文化以后的发展,还是要回到宋代的方向,而不是明清的方向。“华夏民族之文化,历数千载之演进,造极于赵宋之世。后渐衰微,终必复振。”

小红书实习生招聘

在校生同学看过来,如果你今年的实习还没定,现在有一个好机会。
小红书,作为年轻人的生活方式平台,今年面向在校生的实习申请已经开始了。如果被录取,所有实习岗位均有转正机会,同时春季招聘也在火热进行中。
这次招聘有很多技术方向的岗位,包括前端、后端、客户端、测试、运维、算法、安全等;工作地点可选上海、北京、武汉和广州。
感兴趣的同学,不要错过这个机会,不仅可以体验大型互联网公司的内部技术运作,同时也是个人履历的一个亮点,一定对将来的发展有帮助。
招聘详情请访问官网 campus.xiaohongshu.com[10]。周刊读者有福利,可以使用内推码【95NHXSOB9XLA】内推。当然,如果有认识的小红书员工,也可以请其内推。
招聘时间是3月20日到6月28日,3月底就会陆续开始面试,4月起开始发放 Offer。

科技动态

1、鲸鱼的更年期[11]
大多数哺乳动物终生能够生育后代,只有人类、黑猩猩和几种鲸鱼除外。
这些物种会经历更年期,此后就不再能够生育后代。
最近有一篇论文提出,更年期的意义在于,可以显著延长鲸鱼的寿命。经历更年期的雌性鲸鱼,比同等大小的其他雌性鲸鱼多了40年的寿命,并且也比同种的雄性鲸鱼寿命长。
科学家猜想,这是因为更年期使得雌性鲸鱼可以将更多的时间,用于照顾自己和后代,而不必再把精力投入繁殖。
2、印度的太阳能水泵[12]
印度是一个缺水又缺电的国家,农民为了解决灌溉用水,纷纷安装太阳能水泵,通过太阳能发电抽取地下水。
结果,地下水位迅速下降,当地的降雨又很少,某些地方下方100米的岩层都是干燥的。
农民只能去购买更大功率的太阳能水泵,印度政府忧心忡忡,担心地下水被抽空。
以前,水泵由电厂供电,政府可以通过断电,来控制水泵运行。但是,现在水泵由太阳能直接供电,政府无法控制了。这也提示我们,分布式太阳能发电会减少政府的控制。
3、太空遮阳伞[13]
随着全球变暖,科学家提出了各种各样的方案,为地球降温。
以色列科学家的最新设想是,在外太空为地球架设一个太阳伞,挡住部分太阳光。
它并不需要完全挡住太阳光,根据计算,只要不到2%的太阳光被阻挡,就足以使地球降温1.5摄氏度。
这把遮阳伞十分巨大,面积大约为260万平方公里,略小于印度。
设计团队宣称,虽然该方案听起来异想天开,但是可以马上见效,其他方案都需要等待多年,才知道是否有效。
批评者则说,该方案实施困难,成本巨大。万一实施后,防护罩被太阳风暴或流星损毁,将导致地球突然变暖,带来灾难性后果。

文章

1、女儿喜欢飞机,我为她做了一个雷达 App[14](英文)
作者介绍自己使用开源数据,为苹果手机做了一个雷达 App,能够显示飞机在头顶的实时方位。
2、Web 组件如何适配 JS 框架[15](英文)
Web 组件是浏览器原生的组件格式,本文介绍怎么将这种格式用于各种 JS 前端框架。
3、Python 很简单,Go 很清晰[16](英文)
作者比较了 Python 和 Go 两种语言,认为前者易学(easy),后者更清晰明白(simple),不易出错,可以将它们结合使用。
4、CSS 的悬挂标点属性[17](英文)
如果标点正好在行首或行尾,是否要跟上下文对齐?这就要用到 CSS 的hanging-punctuation属性。
5、epoll API 介绍[18](英文)
Linux 有一个 epoll API,能够高性能地处理网络请求。它是整个互联网的基础,JS 语言的异步处理就基于这个 API。
6、如何简化多个 if 的判断结构[19](英文)
编程实践中,往往连续使用多个 if 进行判断,这种代码非常冗余,也不易读,本文讨论怎么简化它。
7、探索 Podman[20](英文)
Podman 是 Docker 的替代品,本文是它的初学者教程。

工具

1、Frogmouth[21]
命令行的 Markdown 阅读器。
2、SSH3[22]
使用 QUIC + TLS 重新实现的 SSH 加密登陆工具,支持 UDP 端口转发。
3、X-Hiring[23]
每日自动抓取于 V2EX 和电鸭社区的招聘信息,使用 Google AI 提取摘要。(@hehehai[24] 投稿)
4、pear-rec[25]
一个在线的 GIF 编辑工具,也可以对 MP4 视频进行解析导入。(@027xiguapi[26] 投稿)
5、Y-TOC[27]
一个内容目录海报美化生成工具。(@StruggleYang[28] 投稿)
6、emgithub[29]
打开 GitHub 仓库某个文件的页面,将地址栏的 github.com 改成 emgithub.com,就可以获得当前文件的嵌入代码,像嵌入 GitHub Gist 代码一样嵌入到页面中。(@yusanshi[30] 投稿)
7、Calorie Calculator[31]
上传食物图片,自动计算卡路里,基于 Google Gemini AI。(@mggger[32] 投稿)
8、壁纸样机生成器[33]
一个在线工具,图片套 iPhone、iPad、Mac 的模板,生成样机图片。(@CheckCoder[34] 投稿)
9、Searchable[35]
一款 Mac 应用,利用 OpenAI 的 Clip 模型在本地对图片进行索引和搜索,可以本地搜索图片文字、语义化搜索和以图搜图。(@yujinqiu[36] 投稿)
10、Vmail.dev[37]
使用 Cloudflare email worker 实现的临时邮箱服务,可以自己部署[38]。(@yesmore[39] 投稿)
11、VidHub[40]
苹果设备的视频播放器,可以管理和播放本地、网盘、NAS、Cloud Drive 来源的视频。(@julycamera[41] 投稿)
12、VideoSora[42]
一款将文本或语音转化成图文短视频的在线工具。(@tangpanqing[43] 投稿)
13、Segment Anything web UI[44]
Segment Anything 模型的前端交互 UI,包括了最基本的点击,画框和自动分割等功能,还引入了 CLIP 实现语义选择分割。(@Kingfish404[45] 投稿)
14、Toolong[46]
一个终端工具,可以查看和搜索非常长的文本文件(比如日志)。(@WFANG12719[47] 投稿)
15、Notion Flow[48]
一个浏览器插件,可以在 Notion 页面显示文章目录,并将内容发送到 GitHub Pages。(@Xheldon[49] 投稿)
16、Side Browser[50]
一个浏览器插件,允许在浏览器的侧边栏打开网页。(@extrastu[51] 投稿)
有读者反映,该插件可能借鉴了另一个相同功能的 Sidebar 插件[52]。(@vinebyte[53] 投稿)

资源

1、Hello 算法[54]
一本介绍算法知识的开源书籍,网上可以免费阅读,纸质版已于近期出版。(@krahets[55] 投稿)
2、StockCake[56]
AI 生成的免费图像素材网站,无限的无版权图片免费下载。(@wrenash[57] 投稿)
3、KanjiVG[58]
这个项目提供汉字的 SVG 文件下载,可以显示笔划动画。
4、DesignSystemHunt.com[59]
这个网站收集各种设计系统(design system),已经有130多个。

图片

1、冰淇淋建筑[60]
美国洛杉矶到拉斯维加斯的高速公路,沿路都是一望无际的荒漠,令司机昏昏欲睡。
为了足够醒目和振奋精神,一家加油站在路口制作了一个巨大的冰淇淋杯建筑。
这个冰淇淋杯内部,其实是加油站的厕所。
因为拉斯维加斯是赌城,小便器上方还有触摸屏,让你玩小游戏,跟冰淇淋杯的风格很搭。
2、大理石丝巾[61]
法国卢浮宫收藏了一座1781年的雕塑,人物的丝巾是用大理石雕塑的,栩栩如生。
古代欧洲雕塑的写实主义,真是做到了登峰造极。

文摘

1、磁星[62]
很多人的印象中,黑洞是宇宙最可怕的东西,会吞噬一切,没有东西可以逃出黑洞。但是,天文学家现在知道了,还有比黑洞更可怕的东西,那就是磁星(Magnetar)。
磁星其实很小,只有一个小城镇的大小,直径大概20公里左右。但是,它具有宇宙已知最大的磁场,距离它1000公里以内的所有物质,都会立刻被分解,而且是立刻被分解成原子。
地球的磁场强度,在北极测量的话,大约为半高斯,最大不超过1高斯。即使这么一点强度,就已经是太阳系里面磁场最强的行星了,足以在全世界驱动指南针。
家里冰箱上的那种冰箱贴,磁场强度大约是地球磁场的100到200倍。太阳黑子的磁场强度约为4,000高斯,是太阳系中最强的。
如果你曾经做过核磁共振的检查,那么你就亲身经历了大约10,000高斯的磁场。人类能够制造的最强磁场是几万高斯,没法再高了,再高就会破坏制造它们的设备。
磁星的表面磁场强度,大约为10的14次方到15次方的高斯,内部的磁场强度还要再大10倍。这就是说,磁星的磁场比地球强100亿倍。
这么大的磁场,只要进入距离它1000公里的范围内,你就会立刻被分解成原子。因为磁力这时已经超过了将原子聚集在一起的分子力,强迫电子轨道跟磁场线一致。
典型的磁星直径只有20公里左右,但在这么小的体积内,它可以达到两倍于太阳的质量,使它们成为宇宙中已知密度最高的物体之一。一茶匙的磁星材料重约1亿吨,这么大的重量就会产生灾难性的引力坍缩,所以磁星的寿命都很短,只有10,000年左右。在整个生命周期内,它都会向外大量发射 X 射线。
天文学家现在只知道大约24颗磁星,几乎都在银河系。因为它们的寿命很短,所以能够观测到的很少,天文学家估计仅在银河系内就有大约3000万颗死去的磁星。

言论

1、
有一种程序员,技术非常好,但创建的项目过于复杂,其他人很难完成。他们选择自己完成大部分工作,并将不太重要的任务交给其他人。当他们退出时,由于代码的复杂性和缺乏理解,团队陷入了巨大的困境。
有些人认为,这种程序员是大牛,但我认为他们实际上是很糟糕的,因为他们的工作不易被其他人接手或维护。
-- 《最糟糕的程序员》[63]
2、
英国国会议员、科技委员会成员凯瑟琳·弗莱彻(Katherine Fletcher),有一天突发奇想,公开表示她很担心 AI,未来某一天 AI 可能会决定杀死地球上的每一头牛。是的,你没看错,她真的这么说。
-- 《为什么精英们突然害怕 AI?》[64]
3、
有一段时间,我使用 Gentoo(一个需要自己从头编译源码的 Linux 发行版)。当我的宿舍在寒冷的冬夜里太冷时,我就会在它上面重新编译 Open Office。
-- Hacker News 读者[65]
4、
痛苦能滋养勇气。如果只有美好的事情发生在你身上,你就不可能变得勇敢。
-- 玛丽·泰勒·摩尔(Mary Tyler Moore),美国电影女演员
5、
大家总是提倡,提高工作效率。但是很少有人谈,为什么要提提高工作效率。
我认为,真正的原因并不是,这样才能完成更多工作,或者获得更多时间,而是只有提高工作效率,你才能发挥自己最大的潜力
-- 《为什么要有工作效率?》[66]

往年回顾

(完)

References

[1]
 开源: 
https://github.com/ruanyf/weekly
[2]
 投稿: 
https://github.com/ruanyf/weekly/issues
[3]
 《谁在招人》: 
https://github.com/ruanyf/weekly/issues/4075
[4]
 邮件联系: 
mailto:[email protected]
[5]mailto:[email protected]
[6]
 via: 
https://weibo.com/6392708119/O4DoQfCrk
[7]
 崖门海战: 
https://baike.baidu.com/item/%E5%B4%96%E5%B1%B1%E6%B5%B7%E6%88%98/10764308
[8]
 百度地图: 
https://j.map.baidu.com/3c/WLJi
[9]
 崖山之后无中国: 
http://www.19cntv.com/archive/61.html
[10]
 campus.xiaohongshu.com: 
https://campus.xiaohongshu.com/
[11]
 鲸鱼的更年期: 
https://news.exeter.ac.uk/faculty-of-health-and-life-sciences/menopause-explains-why-some-female-whales-live-so-long/
[12]
 印度的太阳能水泵: 
https://e360.yale.edu/features/solar-water-pumps-groundwater-crops
[13]
 太空遮阳伞: 
https://www.nytimes.com/2024/02/02/climate/sun-shade-climate-geoengineering.html
[14]
 女儿喜欢飞机,我为她做了一个雷达 App: 
https://jacobbartlett.substack.com/p/my-toddler-loves-planes-so-i-built
[15]
 Web 组件如何适配 JS 框架: 
https://jakelazaroff.com/words/web-components-eliminate-javascript-framework-lock-in/
[16]
 Python 很简单,Go 很清晰: 
https://preslav.me/2023/11/27/python-is-easy-golang-is-simple-simple-is-not-easy/
[17]
 CSS 的悬挂标点属性: 
https://chriscoyier.net/2023/11/27/the-hanging-punctuation-property-in-css/
[18]
 epoll API 介绍: 
https://darkcoding.net/software/epoll-the-api-that-powers-the-modern-internet/
[19]
 如何简化多个 if 的判断结构: 
https://dreith.com/blog/theres-such-a-thing-as-using-too-many-ifs/
[20]
 探索 Podman: 
https://betterstack.com/community/guides/scaling-docker/podman-vs-docker/
[21]
 Frogmouth: 
https://github.com/Textualize/frogmouth
[22]
 SSH3: 
https://github.com/francoismichel/ssh3
[23]
 X-Hiring: 
https://github.com/hehehai/x-hiring
[24]
 @hehehai: 
https://github.com/ruanyf/weekly/issues/4127
[25]
 pear-rec: 
https://github.com/027xiguapi/pear-rec/blob/main/README.zh-CN.md
[26]
 @027xiguapi: 
https://github.com/ruanyf/weekly/issues/4128
[27]
 Y-TOC: 
https://github.com/struy-cn/Y-TOC
[28]
 @StruggleYang: 
https://github.com/ruanyf/weekly/issues/4130
[29]
 emgithub: 
https://github.com/yusanshi/emgithub
[30]
 @yusanshi: 
https://github.com/ruanyf/weekly/issues/4131
[31]
 Calorie Calculator: 
https://github.com/mggger/Calorie-Calculator
[32]
 @mggger: 
https://github.com/ruanyf/weekly/issues/4138
[33]
 壁纸样机生成器: 
https://mjcn.club/
[34]
 @CheckCoder: 
https://github.com/ruanyf/weekly/issues/4140
[35]
 Searchable: 
https://www.engineerdraft.com/en/searchable/
[36]
 @yujinqiu: 
https://github.com/ruanyf/weekly/issues/4142
[37]
 Vmail.dev: 
https://github.com/yesmore/vmail
[38]
 自己部署: 
https://dev.yesmore.cc/projects/vmail
[39]
 @yesmore: 
https://github.com/ruanyf/weekly/issues/4133
[40]
 VidHub: 
https://apps.apple.com/us/app/vidhub-video-library-player/id1659622164
[41]
 @julycamera: 
https://github.com/ruanyf/weekly/issues/4143
[42]
 VideoSora: 
https://videosora.app/zh-cn/
[43]
 @tangpanqing: 
https://github.com/ruanyf/weekly/issues/4150
[44]
 Segment Anything web UI: 
https://github.com/Kingfish404/segment-anything-webui
[45]
 @Kingfish404: 
https://github.com/ruanyf/weekly/issues/4154
[46]
 Toolong: 
https://github.com/Textualize/toolong
[47]
 @WFANG12719: 
https://github.com/ruanyf/weekly/issues/4158
[48]
 Notion Flow: 
https://notion-flow.xheldon.com/
[49]
 @Xheldon: 
https://github.com/ruanyf/weekly/issues/4163
[50]
 Side Browser: 
https://www.sidebrowser.xyz/
[51]
 @extrastu: 
https://github.com/ruanyf/weekly/issues/4159
[52]
 Sidebar 插件: 
https://chromewebstore.google.com/detail/sidebartab-pin-chatgpt-or/acghhljehhigfeinngmggkpgbacpikfe
[53]
 @vinebyte: 
https://github.com/ruanyf/weekly/issues/4164
[54]
 Hello 算法: 
https://www.hello-algo.com/chapter_paperbook/
[55]
 @krahets: 
https://github.com/ruanyf/weekly/issues/4149
[56]
 StockCake: 
https://stockcake.com/
[57]
 @wrenash: 
https://github.com/ruanyf/weekly/issues/4139
[58]
 KanjiVG: 
https://kanjivg.tagaini.net/index.html
[59]
 DesignSystemHunt.com: 
https://www.designsystemhunt.com/
[60]
 冰淇淋建筑: 
https://taylor.town/cyberpunk-bathroom
[61]
 大理石丝巾: 
https://twitter.com/AcademiaAesthe1/status/1599391209969324038
[62]
 磁星: 
https://arstechnica.com/science/2022/06/behold-the-magnetar-natures-ultimate-superweapon/
[63]
 《最糟糕的程序员》: 
http://mikhailian.mova.org/node/284
[64]
 《为什么精英们突然害怕 AI?》: 
https://www.spiked-online.com/2023/12/28/why-are-the-elites-suddenly-so-terrified-about-ai/
[65]
 Hacker News 读者: 
https://news.ycombinator.com/item?id=38804383
[66]
 《为什么要有工作效率?》: 
https://thinkingthrough.substack.com/p/why-be-productive
继续阅读
阅读原文