# 科技爱好者周刊（第 294 期）：崖门海战的感想

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

本杂志[开源](https://github.com/ruanyf/weekly)，欢迎[投稿](https://github.com/ruanyf/weekly/issues)。另有[《谁在招人》](https://github.com/ruanyf/weekly/issues/4075)服务，发布程序员招聘信息。合作请[邮件联系](mailto:yifeng.ruan@gmail.com)（yifeng.ruan@gmail.com）。

## 封面图

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031918.webp)

上海徐家汇的美罗城，在球形屏幕上播放漫画作品《七龙珠》的图像，纪念本月去世的日本漫画家鸟山明。（[via](https://weibo.com/6392708119/O4DoQfCrk)）

## 崖门海战的感想

前一段日子，我在广东旅行，路过江门市。

我偶然发现，著名的[崖门海战](https://baike.baidu.com/item/%E5%B4%96%E5%B1%B1%E6%B5%B7%E6%88%98/10764308)发生在这里，就去参观了。

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024032101.webp)

如果你不知道，崖门海战是南宋军队最后被元军歼灭的地方，也就是南宋灭亡之地，位于今天的江门市新会区古井镇官冲村。具体时间是1279年3月19日，本周正好是745周年。

那个地方可真远，我先从江门市区到了新会，它距离新会城区还有30多公里，公共交通只有一部从古井镇出发的、班次很少的郊区客运，基本上你只能自驾或打的前往。

即使按照今天的标准，它都属于偏远，何况当年。南宋朝廷是何等窘迫，要逃到这种地方落脚。

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024032102.webp)

（图片说明：景区没有多少留存的古迹，只有重建的崖山祠。）

参观后，我浮想联翩，觉得**真是不可思议，南宋军队犯了那么多低级错误，才导致灭亡**。

下面，我分享我看到的一些细节，好像没有人说过。

**首先，崖门海战不是发生在海里。**

我一直以为，既然是海战，那一定是在海边。错了！战场遗址是在一个陆上水道，距离大海至少还有十几公里。

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024032103.webp)

上面是[百度地图](https://j.map.baidu.com/3c/WLJi)的截图，可以看到战场距离入海口还有很长一段路。

虽然古代的海岸线跟今天不一样，但是根据古代地图（下图）以及纪念馆的沙盘（下图），战场确实是在水道里面，不是在开阔海域。

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024032104.webp)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024032105.webp)

下面是我拍的实地照片，虽然天气不好，灰蒙蒙的，但是能看清水道其实很狭窄。

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024032106.webp)

你能相信吗，20万人、上千艘船就在这么一条狭窄的水道里面厮杀？

这么一点点地方，根本无法施展，不要说战术，恐怕布阵都困难，完全就是混战。加之两岸都是平滩，也无法陆上支援，防守的一方基本上就是听人宰割，这也是当天实际发生的情况。

**其次，新会位置不佳，无法防守。**

不仅崖门海战的地点匪夷所思，南宋选择落脚在新会，也是一个糟糕的选择。

新会地势平坦，无险可守，而且靠近大海，没有腹地，不适合作为根据地。

如果南宋撤到其他地方，比如向西进入广西的山区，或者向南进入海南岛或东南亚，都比新会容易防守，元军的进攻会遇到更多困难，南宋起码不会这么快灭亡。

**最后，南宋毫无作战策略，束手待毙**。

这是最不可理解的。南宋是前一年5月份来到新会，就在这里常驻了。当年的12月29日，广州被元军占领，这种情况下，你已经没有后方了，就应该赶快撤退了。但是，南宋没走。

第二年的2月26日，元军封锁了崖门水道入海口，至此前后方都被敌人占领，宋军已成瓮中之鳖。但是，南宋还是没走，在新会死守。

3月19日，元军发起总攻，南宋已经被包围了足足21天，期间没有任何突围的尝试。

更让人目瞪口呆的是，南宋还下令放弃陆上营地，士兵全部到船上应战。而且，小船用铁索连成一排，封锁江面，阻挡元军前进。部队因此丧失了岸上支援和机动性，无法以小股部队的形式突围。

总之，**南宋在崖门被消灭，完全是自身的一系列错误导致的**。

后人阅读史书时，发现前人有那么多机会改变历史，偏偏每一步都做了错误的决定，自己把自己葬送，怎不令人扼腕叹息。

关于海战本身就说到这里，下面我想讨论一下，网上流传的一句话“[崖山之后无中国](http://www.19cntv.com/archive/61.html)”（崖山即崖门）。

崖门海战标志着汉人政权第一次被外族彻底消灭，产生了深远的影响。这句话有很多解释，我比较同意其中一种，就是说**这个事件使得汉人的心态和文化发生了巨变，之前的中国和之后的中国在气质上不一样**。

宋朝是中国文明的一个高峰，文化艺术、商业活动、科学技术都空前繁荣。四大发明里面，造纸术被认为是发明于西汉，其余的印刷术、指南针和火药都被认为是发明于宋朝。但是，这样一个辉煌的文明却被蛮族消灭了，这对汉人造成了巨大的打击，从此，汉民族就发生了变化，心态趋于保守，从重视文化艺术变成重视利益。

陈寅恪说过，中国文化以后的发展，还是要回到宋代的方向，而不是明清的方向。“华夏民族之文化，历数千载之演进，造极于赵宋之世。后渐衰微，终必复振。”

## 小红书实习生招聘

在校生同学看过来，如果你今年的实习还没定，现在有一个好机会。

小红书，作为年轻人的生活方式平台，今年面向在校生的实习申请已经开始了。如果被录取，**所有实习岗位均有转正机会**，同时春季招聘也在火热进行中。

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024032107.webp)

这次招聘有**很多技术方向的岗位**，包括前端、后端、客户端、测试、运维、算法、安全等；工作地点可选上海、北京、武汉和广州。

感兴趣的同学，不要错过这个机会，不仅可以体验大型互联网公司的内部技术运作，同时也是个人履历的一个亮点，一定对将来的发展有帮助。

招聘详情请访问官网 [campus.xiaohongshu.com](https://campus.xiaohongshu.com/)。周刊读者有福利，可以使用内推码【**95NHXSOB9XLA**】内推。当然，如果有认识的小红书员工，也可以请其内推。

招聘时间是3月20日到6月28日，3月底就会陆续开始面试，4月起开始发放 Offer。

## 科技动态

1、[鲸鱼的更年期](https://news.exeter.ac.uk/faculty-of-health-and-life-sciences/menopause-explains-why-some-female-whales-live-so-long/)

大多数哺乳动物终生能够生育后代，只有人类、黑猩猩和几种鲸鱼除外。

这些物种会经历更年期，此后就不再能够生育后代。

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031802.webp)

最近有一篇论文提出，更年期的意义在于，可以显著延长鲸鱼的寿命。经历更年期的雌性鲸鱼，比同等大小的其他雌性鲸鱼多了40年的寿命，并且也比同种的雄性鲸鱼寿命长。

科学家猜想，这是因为更年期使得雌性鲸鱼可以将更多的时间，用于照顾自己和后代，而不必再把精力投入繁殖。

2、[印度的太阳能水泵](https://e360.yale.edu/features/solar-water-pumps-groundwater-crops)

印度是一个缺水又缺电的国家，农民为了解决灌溉用水，纷纷安装太阳能水泵，通过太阳能发电抽取地下水。

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031701.webp)

结果，地下水位迅速下降，当地的降雨又很少，某些地方下方100米的岩层都是干燥的。

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031702.webp)

农民只能去购买更大功率的太阳能水泵，印度政府忧心忡忡，担心地下水被抽空。

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031703.webp)

以前，水泵由电厂供电，政府可以通过断电，来控制水泵运行。但是，现在水泵由太阳能直接供电，政府无法控制了。这也提示我们，分布式太阳能发电会减少政府的控制。

3、[太空遮阳伞](https://www.nytimes.com/2024/02/02/climate/sun-shade-climate-geoengineering.html)

随着全球变暖，科学家提出了各种各样的方案，为地球降温。

以色列科学家的最新设想是，在外太空为地球架设一个太阳伞，挡住部分太阳光。

![](https://cdn.beekka.com/blogimg/asset/202402/bg2024021004.webp)

它并不需要完全挡住太阳光，根据计算，只要不到2%的太阳光被阻挡，就足以使地球降温1.5摄氏度。

这把遮阳伞十分巨大，面积大约为260万平方公里，略小于印度。

设计团队宣称，虽然该方案听起来异想天开，但是可以马上见效，其他方案都需要等待多年，才知道是否有效。

批评者则说，该方案实施困难，成本巨大。万一实施后，防护罩被太阳风暴或流星损毁，将导致地球突然变暖，带来灾难性后果。

## 文章

1、[女儿喜欢飞机，我为她做了一个雷达 App](https://jacobbartlett.substack.com/p/my-toddler-loves-planes-so-i-built)（英文）

![](https://cdn.beekka.com/blogimg/asset/202311/bg2023112801.webp)

作者介绍自己使用开源数据，为苹果手机做了一个雷达 App，能够显示飞机在头顶的实时方位。

2、[Web 组件如何适配 JS 框架](https://jakelazaroff.com/words/web-components-eliminate-javascript-framework-lock-in/)（英文）

![](https://cdn.beekka.com/blogimg/asset/202311/bg2023112802.webp)

Web 组件是浏览器原生的组件格式，本文介绍怎么将这种格式用于各种 JS 前端框架。

3、[Python 很简单，Go 很清晰](https://preslav.me/2023/11/27/python-is-easy-golang-is-simple-simple-is-not-easy/)（英文）

![](https://cdn.beekka.com/blogimg/asset/202311/bg2023112803.webp)

作者比较了 Python 和 Go 两种语言，认为前者易学（easy），后者更清晰明白（simple），不易出错，可以将它们结合使用。

4、[CSS 的悬挂标点属性](https://chriscoyier.net/2023/11/27/the-hanging-punctuation-property-in-css/)（英文）

![](https://cdn.beekka.com/blogimg/asset/202311/bg2023112810.webp)

如果标点正好在行首或行尾，是否要跟上下文对齐？这就要用到 CSS 的`hanging-punctuation`属性。

5、[epoll API 介绍](https://darkcoding.net/software/epoll-the-api-that-powers-the-modern-internet/)（英文）

![](https://cdn.beekka.com/blogimg/asset/202401/bg2024011106.webp)

Linux 有一个 epoll API，能够高性能地处理网络请求。它是整个互联网的基础，JS 语言的异步处理就基于这个 API。

6、[如何简化多个 if 的判断结构](https://dreith.com/blog/theres-such-a-thing-as-using-too-many-ifs/)（英文）

![](https://cdn.beekka.com/blogimg/asset/202311/bg2023112507.webp)

编程实践中，往往连续使用多个 if 进行判断，这种代码非常冗余，也不易读，本文讨论怎么简化它。

7、[探索 Podman](https://betterstack.com/community/guides/scaling-docker/podman-vs-docker/)（英文）

![](https://cdn.beekka.com/blogimg/asset/202401/bg2024011504.webp)

Podman 是 Docker 的替代品，本文是它的初学者教程。

## 工具

1、[Frogmouth](https://github.com/Textualize/frogmouth)

![](https://cdn.beekka.com/blogimg/asset/202305/bg2023050101.webp)

命令行的 Markdown 阅读器。

2、[SSH3](https://github.com/francoismichel/ssh3)

![](https://cdn.beekka.com/blogimg/asset/202312/bg2023121701.webp)

使用 QUIC + TLS 重新实现的 SSH 加密登陆工具，支持 UDP 端口转发。

3、[X-Hiring](https://github.com/hehehai/x-hiring)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031803.webp)

每日自动抓取于 V2EX 和电鸭社区的招聘信息，使用 Google AI 提取摘要。（[@hehehai](https://github.com/ruanyf/weekly/issues/4127) 投稿）

4、[pear-rec](https://github.com/027xiguapi/pear-rec/blob/main/README.zh-CN.md)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031804.webp)

一个在线的 GIF 编辑工具，也可以对 MP4 视频进行解析导入。（[@027xiguapi](https://github.com/ruanyf/weekly/issues/4128) 投稿）

5、[Y-TOC](https://github.com/struy-cn/Y-TOC)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031805.webp)

一个内容目录海报美化生成工具。（[@StruggleYang](https://github.com/ruanyf/weekly/issues/4130) 投稿）

6、[emgithub](https://github.com/yusanshi/emgithub)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031806.webp)

打开 GitHub 仓库某个文件的页面，将地址栏的 github.com 改成 emgithub.com，就可以获得当前文件的嵌入代码，像嵌入 GitHub Gist 代码一样嵌入到页面中。（[@yusanshi](https://github.com/ruanyf/weekly/issues/4131) 投稿）

7、[Calorie Calculator](https://github.com/mggger/Calorie-Calculator)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031906.webp)

上传食物图片，自动计算卡路里，基于 Google Gemini AI。（[@mggger](https://github.com/ruanyf/weekly/issues/4138) 投稿）

8、[壁纸样机生成器](https://mjcn.club/)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031908.webp)

一个在线工具，图片套 iPhone、iPad、Mac 的模板，生成样机图片。（[@CheckCoder](https://github.com/ruanyf/weekly/issues/4140) 投稿）

9、[Searchable](https://www.engineerdraft.com/en/searchable/)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031909.webp)

一款 Mac 应用，利用 OpenAI 的 Clip 模型在本地对图片进行索引和搜索，可以本地搜索图片文字、语义化搜索和以图搜图。（[@yujinqiu](https://github.com/ruanyf/weekly/issues/4142) 投稿）

10、[Vmail.dev](https://github.com/yesmore/vmail)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031910.webp)

使用 Cloudflare email worker 实现的临时邮箱服务，可以[自己部署](https://dev.yesmore.cc/projects/vmail)。（[@yesmore](https://github.com/ruanyf/weekly/issues/4133) 投稿）

11、[VidHub](https://apps.apple.com/us/app/vidhub-video-library-player/id1659622164)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031911.webp)

苹果设备的视频播放器，可以管理和播放本地、网盘、NAS、Cloud Drive 来源的视频。（[@julycamera](https://github.com/ruanyf/weekly/issues/4143) 投稿）

12、[VideoSora](https://videosora.app/zh-cn/)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031912.webp)

一款将文本或语音转化成图文短视频的在线工具。（[@tangpanqing](https://github.com/ruanyf/weekly/issues/4150) 投稿）

13、[Segment Anything web UI](https://github.com/Kingfish404/segment-anything-webui)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031916.webp)

Segment Anything 模型的前端交互 UI，包括了最基本的点击，画框和自动分割等功能，还引入了 CLIP 实现语义选择分割。（[@Kingfish404](https://github.com/ruanyf/weekly/issues/4154) 投稿）

14、[Toolong](https://github.com/Textualize/toolong)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024032108.webp)

一个终端工具，可以查看和搜索非常长的文本文件（比如日志）。（[@WFANG12719](https://github.com/ruanyf/weekly/issues/4158) 投稿）

15、[Notion Flow](https://notion-flow.xheldon.com/)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024032109.webp)

一个浏览器插件，可以在 Notion 页面显示文章目录，并将内容发送到 GitHub Pages。（[@Xheldon](https://github.com/ruanyf/weekly/issues/4163) 投稿）

16、[Side Browser](https://www.sidebrowser.xyz/)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024032110.webp)

一个浏览器插件，允许在浏览器的侧边栏打开网页。（[@extrastu](https://github.com/ruanyf/weekly/issues/4159) 投稿）

有读者反映，该插件可能借鉴了另一个相同功能的 [Sidebar 插件](https://chromewebstore.google.com/detail/sidebartab-pin-chatgpt-or/acghhljehhigfeinngmggkpgbacpikfe)。（[@vinebyte](https://github.com/ruanyf/weekly/issues/4164) 投稿）

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024032112.webp)

## 资源

1、[Hello 算法](https://www.hello-algo.com/chapter_paperbook/)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031913.webp)

一本介绍算法知识的开源书籍，网上可以免费阅读，纸质版已于近期出版。（[@krahets](https://github.com/ruanyf/weekly/issues/4149) 投稿）

2、[StockCake](https://stockcake.com/)

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024031907.webp)

AI 生成的免费图像素材网站，无限的无版权图片免费下载。（[@wrenash](https://github.com/ruanyf/weekly/issues/4139) 投稿）

3、[KanjiVG](https://kanjivg.tagaini.net/index.html)

![](https://cdn.beekka.com/blogimg/asset/202311/bg2023111210.webp)

这个项目提供汉字的 SVG 文件下载，可以显示笔划动画。

4、[DesignSystemHunt.com](https://www.designsystemhunt.com/)

![](https://cdn.beekka.com/blogimg/asset/202401/bg2024010601.webp)

这个网站收集各种设计系统（design system），已经有130多个。

## 图片

1、[冰淇淋建筑](https://taylor.town/cyberpunk-bathroom)

美国洛杉矶到拉斯维加斯的高速公路，沿路都是一望无际的荒漠，令司机昏昏欲睡。

为了足够醒目和振奋精神，一家加油站在路口制作了一个巨大的冰淇淋杯建筑。

![](https://cdn.beekka.com/blogimg/asset/202305/bg2023050901.webp)

![](https://cdn.beekka.com/blogimg/asset/202305/bg2023050902.webp)

这个冰淇淋杯内部，其实是加油站的厕所。

![](https://cdn.beekka.com/blogimg/asset/202305/bg2023050903.webp)

因为拉斯维加斯是赌城，小便器上方还有触摸屏，让你玩小游戏，跟冰淇淋杯的风格很搭。

![](https://cdn.beekka.com/blogimg/asset/202305/bg2023050904.webp)

2、[大理石丝巾](https://twitter.com/AcademiaAesthe1/status/1599391209969324038)

法国卢浮宫收藏了一座1781年的雕塑，人物的丝巾是用大理石雕塑的，栩栩如生。

![](https://cdn.beekka.com/blogimg/asset/202212/bg2022120501.webp)

古代欧洲雕塑的写实主义，真是做到了登峰造极。

## 文摘

1、[磁星](https://arstechnica.com/science/2022/06/behold-the-magnetar-natures-ultimate-superweapon/)

很多人的印象中，黑洞是宇宙最可怕的东西，会吞噬一切，没有东西可以逃出黑洞。但是，天文学家现在知道了，还有比黑洞更可怕的东西，那就是磁星（Magnetar）。

磁星其实很小，只有一个小城镇的大小，直径大概20公里左右。但是，它具有宇宙已知最大的磁场，距离它1000公里以内的所有物质，都会立刻被分解，而且是立刻被分解成原子。

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024032113.webp)

地球的磁场强度，在北极测量的话，大约为半高斯，最大不超过1高斯。即使这么一点强度，就已经是太阳系里面磁场最强的行星了，足以在全世界驱动指南针。

家里冰箱上的那种冰箱贴，磁场强度大约是地球磁场的100到200倍。太阳黑子的磁场强度约为4,000高斯，是太阳系中最强的。

如果你曾经做过核磁共振的检查，那么你就亲身经历了大约10,000高斯的磁场。人类能够制造的最强磁场是几万高斯，没法再高了，再高就会破坏制造它们的设备。

磁星的表面磁场强度，大约为10的14次方到15次方的高斯，内部的磁场强度还要再大10倍。这就是说，磁星的磁场比地球强100亿倍。

这么大的磁场，只要进入距离它1000公里的范围内，你就会立刻被分解成原子。因为磁力这时已经超过了将原子聚集在一起的分子力，强迫电子轨道跟磁场线一致。

典型的磁星直径只有20公里左右，但在这么小的体积内，它可以达到两倍于太阳的质量，使它们成为宇宙中已知密度最高的物体之一。一茶匙的磁星材料重约1亿吨，这么大的重量就会产生灾难性的引力坍缩，所以磁星的寿命都很短，只有10,000年左右。在整个生命周期内，它都会向外大量发射 X 射线。

天文学家现在只知道大约24颗磁星，几乎都在银河系。因为它们的寿命很短，所以能够观测到的很少，天文学家估计仅在银河系内就有大约3000万颗死去的磁星。

## 言论

1、

有一种程序员，技术非常好，但创建的项目过于复杂，其他人很难完成。他们选择自己完成大部分工作，并将不太重要的任务交给其他人。当他们退出时，由于代码的复杂性和缺乏理解，团队陷入了巨大的困境。

有些人认为，这种程序员是大牛，但我认为他们实际上是很糟糕的，因为他们的工作不易被其他人接手或维护。

-- [《最糟糕的程序员》](http://mikhailian.mova.org/node/284)

2、

英国国会议员、科技委员会成员凯瑟琳·弗莱彻（Katherine Fletcher），有一天突发奇想，公开表示她很担心 AI，未来某一天 AI 可能会决定杀死地球上的每一头牛。是的，你没看错，她真的这么说。

-- [《为什么精英们突然害怕 AI？》](https://www.spiked-online.com/2023/12/28/why-are-the-elites-suddenly-so-terrified-about-ai/)

3、

有一段时间，我使用 Gentoo（一个需要自己从头编译源码的 Linux 发行版）。当我的宿舍在寒冷的冬夜里太冷时，我就会在它上面重新编译 Open Office。

-- [Hacker News 读者](https://news.ycombinator.com/item?id=38804383)

4、

痛苦能滋养勇气。如果只有美好的事情发生在你身上，你就不可能变得勇敢。

-- 玛丽·泰勒·摩尔（Mary Tyler Moore），美国电影女演员

5、

大家总是提倡，提高工作效率。但是很少有人谈，为什么要提提高工作效率。

我认为，真正的原因并不是，这样才能完成更多工作，或者获得更多时间，而是**只有提高工作效率，你才能发挥自己最大的潜力**。

-- [《为什么要有工作效率？》](https://thinkingthrough.substack.com/p/why-be-productive)

## 往年回顾

[扎克伯格的裁员信](https://www.ruanyifeng.com/blog/2023/03/weekly-issue-247.html)（2023 #247）

[如果这个世界有快乐机](https://www.ruanyifeng.com/blog/2022/03/weekly-issue-197.html)（2022 #197）

[寻找你愿意忍受的痛苦](https://www.ruanyifeng.com/blog/2021/02/weekly-issue-147.html)（2021 #147）

[那些为了考试拼搏的年轻人](https://www.ruanyifeng.com/blog/2020/03/weekly-issue-97.html)（2020 #97）

（完）

