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

封面图

甘肃瓜州的戈壁滩上,有一座头像雕塑《汉武大帝》。两千多年前,汉武帝曾经派遣军队,在此处战胜过匈奴。这个头像高达12.5米,采用红砂岩材质,通过 3D 雕刻逐块拼装而成。(via[6]

生产力是形容机器,不是形容人

程序员创业以后,还喜欢写书,真是绝无仅有。我只知道一个例子。
贾森·弗里德(Jason Fried)和戴维·汉森(David Heinemeier Hansson),是互联网公司 37signals[7] 的主要创始人。他们除了写程序,就喜欢写书。
他们已经写了四本书,都很出名,全部有中文版。
《实干》(Getting Real),2006《重来》(Rework),2010《远程》(Remote),2013《何必工作狂》(It Doesn't Have to Be Crazy at Work),2018
这四本书,我全部看过,都是小册子,收录了很多短文,解释他们的创业思想。
这些文章的主旨,简单说就是一句话:如何创办一家“小而美”的互联网公司
他们只有几十个人,没有拿过一分钱风险投资,但是活得非常好,每年有几千万美元的收入。他们的书就是解释他们的创业哲学。
我最近读完了他们的第四本书,正式的中文书名叫作《重来3:跳出疯狂的忙碌》(电子工业出版社,2020),英文书名为“It Doesn't Have to Be Crazy at Work”(直译就是《何必工作狂》)。
其中,有一篇文章[8]特别发人深思,提出了一个我从未意识到的观点,今天想分享给大家。
文章说,不要用“生产力”这个词评价程序员,因为它是评价机器的。
“生产力”这个词,英文为 productive,它的高低用产品的多少来衡量。生产力高,就是同样的时间做更多的工作,或者同样的工作花费更少的时间。
如果使用“生产力”评价一个人的价值,最终就一定变成追求更高的产出。这是没有止境的,机器可以 24x7 工作,人不能。
软件行业一直有一种说法,我们要招聘10倍生产力的程序员。它的言下之意,就是要招聘10倍产出的人,这种目标并不可取。
当你强调生产力时,实际上是在强调,人必须始终忙碌。每一刻都有事情要做,而且总是有更多事情要做! 因此,你会有做不完的工作,闲暇时间越来越少,工作压力越来越大。
程序员的真正目标,应该是“有效性”(effective)。你的劳动是有效的,切实完成了项目。
当你把“有效性”当作目标时,只要有效完成了项目,你就可以停下来了。因此,你可以追求做更少的事情、用更少的时间达到目标,这样你会得到更多的闲暇和休息,这才是可持久的。
生产力目标(productive)占用你所有的时间,把你的日程排满,追求尽可能多的产出。
有效性目标(effective)正好相反,它不追求添加更多的任务,而且减少那些不该做的事情。
如果有人称赞你,说你的生产力很高,或者公司以生产力作为考核指标。你可能需要小心,你有变成机器的风险。更好的称赞应该是,你的劳动很有效,很高效。
37signals 就是一家这样的公司,他们的书宣传的就是这样的思想:不要当工作狂,追求更少的代价取得同样的效果。
本期周刊的《文摘》部分,还有这本书的另外一篇摘录。

云原生深圳沙龙

现在最流行的软件模型是什么?一定是云原生(cloud native),也就是软件的构建和使用都基于云环境。互联网大厂都在转向该模式。
明天周六(8月26日)下午,深圳有一场技术沙龙,介绍云原生如何让企业实现高效部署、资源优化、降低成本。
本次活动由稀土掘金社区 + 火山引擎云原生联合主办,邀请字节的第一线工程师,分享开发经验,以及云开发的真实体会。
下面是活动安排,详细介绍可以点击进入官网说明
活动地点是深圳湾创新科技中心,也就字节的深圳工区,没去过的朋友可以去看看。活动免费,来不了现场,还可以报名线上直播。
报名链接点击这里[9],或者扫描上方二维码。现场除了与讲师面对面交流,还有抽奖,奖品包括华为 AI 音响、掘金周边等。

科技动态

1、猪肾移植[10]
纽约大学的外科医生宣布,将一颗猪肾脏移植到了人体,目前已经成功工作了32天。
这是他们的第三次尝试,前两次都是移植到死者体内,本次是移植到一位已经脑死亡、通过呼吸机维持心脏跳动的患者体内。
猪肾移植的最大难点,是人体会产生排斥反应,导致猪肾停止工作。本次移植对猪肾进行了基因改造,希望能够克服排斥反应。
去年,美国曾经完成了世界首例猪心脏移植手术,但是患者在两个月后死亡。
2、毛伊岛火灾[11]
美国夏威夷的毛伊岛,最近发生了美国100多年来最严重的火灾,造成重大伤亡。
整个城镇都烧掉了,但是媒体从照片上惊奇地发现,有一栋房子完好无缺。
火灾期间,房主正好不在岛上,家里没人,他原以为自己家肯定保不住了。别人给他看了照片以后,他也大惑不解,为什么没有烧掉。
媒体目前分析,有两个原因。首先,火势从东面过来,这栋房子东面是一大片草地,起到隔离作用,而且草地也没有被烧掉。其次,房主2021年重新装修过,将屋顶改成彩钢板(上图是装修前),从而使得落在屋顶的火星不会点燃。
3、Starship 改装[12]
SpaceX 公司发布了 Starship 火箭的改装照片,两个工人坐在顶部,大家可以看看,这个世界推力最大的火箭有多大。
这次改装是将第一级和第二级推进器改成热分离,也就是第二级点火之后,再分离第一级。因此,需要加强第一级顶部结构的强度。
上图就是第一级推进器的顶部,加装了一个带有排风窗的隔热罩(下图)。
4、激光庆祝[13]
一家德国公司为了庆祝成立100周年,本月在总部向天空发射绿色激光,作为生日蜡烛。
这个激光高达10公里,方圆80公里范围内都能看到,是目前世界最大的绿色激光。
这家公司本身就生产激光器,主要用作避雷针。大型场地周围部署多个激光器,就能避免被雷击。

文章

1、TypeScript 五个小技巧[14](英文)
本文介绍 TypeScript 的一些使用技巧。
2、Docker 如何生成容器名[15](英文)
创建 Docker 容器时,如果不指定名称,Docker 会自己为容器生成一个(比如 Romantic_shtern)。这个名字是怎么得到的?
3、为什么 TypeScript 不能正确处理 Object.keys()[16](英文)
本文讲解 TypeScript 的一个难点,使用Object.keys()遍历对象键名会产生奇怪的报错。
4、如何在 QEMU 中模拟树莓派[17](英文)
QEMU 是著名的虚拟机软件,本文演示如何用它新建一个树莓派虚拟机,可以用来上手 QEMU。
5、UUID(版本4)的一个冷知识[18](英文)
UUID 意为全局唯一标识符,是一个十六进制的32位随机数。本文介绍一个冷知识,这个数字的第14位是固定不变的。
6、CSS 折叠翻页效果[19](英文)
本文介绍如何只使用 CSS 实现折纸一般的翻页效果。
7、C 语言 Struct 详解[20](英文)
C 语言初级教程,详细介绍 Struct 结构的用法。
8、JavaScript 的 macro 语法[21](英文)
JavaScript 正在引入 marco 语法,最新版的 Bun 打包器已经支持。本文介绍这个功能。

工具

1、Simple Statistics[22]
一个统计学的 JS 库,提供基本的统计函数。
2、豆包[23]
字节推出的 ChatGPT 类产品,免费使用。
3、TrackerControl[24]
一个手机 App,用来监控手机软件对于用户行为的数据收集(即跟踪行为)。(@cheanus[25] 投稿)
4、DCNews[26]
一个开源的 Go 应用,将微信群的聊天消息,自动同步到预设的 Discord 频道。(@121812[27] 投稿)
5、Walrus[28]
一个开源的应用管理平台,让开发人员无需了解底层平台的细节,即可自助进行部署、管理和交付。(@Aleegra[29] 投稿)
6、GFPGAN[30]
腾讯开源的旧照片 AI 修复,查看 Demo[31]。(@Y024[32] 投稿)
7、铜钟[33]
一个主打“听歌”功能的 Web App,有丰富的音乐资源、简洁的 UI 和方便的交互,代码开源[34]。(@enzeberg[35] 投稿)
8、auto-animate[36]
一个网页动画库,可以为网页应用添加平滑的过渡,支持各种主流框架。(@GenerQAQ[37] 投稿)
9、background-removal-js[38]
一个去除图片背景的 JS 库。
10、scrcpy[39]
一个跨平台的桌面应用,映射安卓手机的屏幕到电脑桌面,允许使用鼠标和键盘控制手机。

资源

1、WordPress Playground[40]
WordPress 官方推出的练习场,可以在浏览器里面新建一个 WordPress 实例,用来测试插件或样式主题。
2、Periodic Table Cli[41]
一个命令行的元素周期表,还可以互动。
3、写给开发者的数据库技巧[42]
一本免费英文电子书,介绍一些高级的 SQL 语句的用法。
4、面试押题王[43]
输入应聘的岗位描述,它通过 AI 自动生成面试问题和答案。不过,题库里面的技术类面试题比较少。(@vickwv[44] 投稿)

图片

1、固态硬盘外接盒[45]
一家德国公司推出了 M.2 接口的固态硬盘外接盒,样子就像真空管一样,非常新奇。
2、加大瓷砖图案[46]
1969年,加州大学洛杉矶分校(UCLA)发出了第一条互联网消息。
当时,该校的两位教授通过网络发出两个字母“LO”。他们原想发送的是“LOGIN”。但是,只发出前两个字母,网络就崩溃了。
2011年,为了纪念这个事件,在翻新该校的博尔特大厅(Boelter Hall)时,建筑师用两色的瓷砖,在地面上嵌入了二进制密码。
一共是14行,每行八块瓷砖,完整的分布图如下。
转成二进制,就是下图。
根据 ASCII 码,转换成文字,就是“lo and behold!”(登陆看看!)。

文摘

1、我们不是一家人
本文摘自 37signals 公司的《重来3》(电子工业出版社,2020)一书。
有的公司喜欢宣扬“我们都是一家人”。不,你们不是一家人。
在 37signals,我们也不是一家人,我们是同事。这并不意味着我们互不关心,也不意味着我们不会尽力施以援手。我们相互关心,也乐于助人,但我们不是一家人。这在你的公司也一样。
我们这群人聚在一起工作,只是为了做出产品, 我们只是共同努力,把公司的产品做得尽善尽美,可我们不会为它挡子弹。你对你的公司也一样。
我们为自己的产品而骄傲。这就足够了。
某些高管说他们的公司就像一个“欢乐的大家庭”,那你就要当心了。一般来说,他们的意思并不是,无论你遇上什么事,公司都会保护你,也不是说公司会无条件地爱你。他们的意思更有可能是:他们需要的是单向的牺牲——你的牺牲。
这是因为,一提“家庭”这个画面,一种同甘共苦的情怀就会油然而生。你工作到深夜或放弃假期也要干活,这不仅仅是为了给公司挣到更多的钱,不,不,你是在为“大家庭”做出奉献。
事实上,这只是某些人企图忽悠你,想让你忘掉合理的个人利益,打出的如此蹩脚的情感牌。
公司又不是黑帮,收留的全是孤儿,让他们为家族打天下。公司企图伪装成你的家庭,不过是又一个花招,目的是把公司的需要置于你真正家庭的需要之前。这招太恶心了。
最优秀的企业不是家庭。它们是家庭的后盾,是家庭的同盟军。它们提供健康的,能让人找到成就感的工作环境,让员工能在合理的时间合上笔记本电脑,去做最好的丈夫、妻子、父母、手足和孩子。

言论

1、
很多成功的艺术家,不是因为模仿某种风格而成功,恰恰相反,他们不顾一切地做自己想做的事情,直到建立了自己独特的风格。
-- 《永远不要浪费你的中年危机》[47]
2、
JavaScript 之所以流行,只是因为它在浏览器中具有垄断地位,没有替代品,我们都被它扣为人质。
-- Hacker News 读者[48]
3、
一位美国法官判决,AI 生成的作品没有版权,因为“没有人类的参与”。
这可能对软件业产生重大影响。如果在未来,公司的大部分代码由 AI 生成,这些代码将不受版权保护。这意味着,未来的大部分代码可能都没有版权,这将是一件大事。
-- 《没有人类作者,就没有版权》[49]
4、
我们正在目睹有用的互联网的终结。未来的互联网上有用的内容,将是在深锁的付费墙后面,或者在各种不开放的私人论坛里面。可以公开访问的互联网,将充斥着越来越多的内容农场和 AI 模型产生的碎屑内容。
-- 《互联网的最后一页》[50]
5、
芬兰首都赫尔辛基,每年的交通事故死亡人数非常少,不超过5个人。
一位美国记者采访当地官员,询问采用了什么高技术。官员答道:“我们没有使用任何高技术,只是强制要求放慢车速。”
-- 《自动驾驶与交通安全》[51]

历史上的本周

(完)

References

[1]
 开源: 
https://github.com/ruanyf/weekly
[2]
 投稿: 
https://github.com/ruanyf/weekly/issues
[3]
 《谁在招人》: 
https://github.com/ruanyf/weekly/issues/3324
[4]
 邮件联系: 
mailto:[email protected]
[5]mailto:[email protected]
[6]
 via: 
https://www.sohu.com/a/542903530_120615216
[7]
 37signals: 
https://37signals.com/
[8]
 有一篇文章: 
https://world.hey.com/jason/effective-productive-acfa210d
[9]
 点击这里: 
https://www.bagevent.com/event/8659508?bag_track=ryf
[10]
 猪肾移植: 
https://nyulangone.org/news/pig-kidney-xenotransplantation-performing-optimally-after-32-days-human-body
[11]
 毛伊岛火灾: 
https://www.civilbeat.org/2023/08/what-saved-the-miracle-house-in-lahaina/
[12]
 Starship 改装: 
https://twitter.com/SpaceX/status/1692610662604702138
[13]
 激光庆祝: 
https://www.swr.de/swraktuell/baden-wuerttemberg/stuttgart/laserstrahl-ueber-ditzingen-102.html
[14]
 TypeScript 五个小技巧: 
https://double-trouble.dev/post/typescript-tips/
[15]
 Docker 如何生成容器名: 
https://pet2cattle.com/2022/08/docker-container-names-generator
[16]
 为什么 TypeScript 不能正确处理 Object.keys(): 
https://alexharri.com/blog/typescript-structural-typing
[17]
 如何在 QEMU 中模拟树莓派: 
https://interrupt.memfault.com/blog/emulating-raspberry-pi-in-qemu
[18]
 UUID(版本4)的一个冷知识: 
https://susam.net/blog/from-uuid-to-infinite-loops.html
[19]
 CSS 折叠翻页效果: 
https://thomaspark.co/2020/06/the-mad-magazine-fold-in-effect-in-css/
[20]
 C 语言 Struct 详解: 
https://abstractexpr.com/2023/06/29/structures-in-c-from-basics-to-memory-alignment/
[21]
 JavaScript 的 macro 语法: 
https://bun.sh/blog/bun-macros
[22]
 Simple Statistics: 
http://simplestatistics.org/
[23]
 豆包: 
https://www.doubao.com/
[24]
 TrackerControl: 
https://github.com/TrackerControl/tracker-control-android
[25]
 @cheanus: 
https://github.com/ruanyf/weekly/issues/3381
[26]
 DCNews: 
https://github.com/121812/dcnews
[27]
 @121812: 
https://github.com/ruanyf/weekly/issues/3382
[28]
 Walrus: 
https://github.com/seal-io/walrus
[29]
 @Aleegra: 
https://github.com/ruanyf/weekly/issues/3385
[30]
 GFPGAN: 
https://github.com/TencentARC/GFPGAN
[31]
 Demo: 
https://replicate.com/tencentarc/gfpgan
[32]
 @Y024: 
https://github.com/ruanyf/weekly/issues/3387
[33]
 铜钟: 
https://tonzhon.com/
[34]
 代码开源: 
https://github.com/enzeberg/tonzhon-music
[35]
 @enzeberg: 
https://github.com/ruanyf/weekly/issues/3392
[36]
 auto-animate: 
https://github.com/formkit/auto-animate
[37]
 @GenerQAQ: 
https://github.com/ruanyf/weekly/issues/3398
[38]
 background-removal-js: 
https://github.com/imgly/background-removal-js
[39]
 scrcpy: 
https://github.com/Genymobile/scrcpy
[40]
 WordPress Playground: 
https://developer.wordpress.org/playground/
[41]
 Periodic Table Cli: 
https://github.com/spirometaxas/periodic-table-cli
[42]
 写给开发者的数据库技巧: 
https://sqlfordevs.com/ebook
[43]
 面试押题王: 
https://yatiwang.chat/
[44]
 @vickwv: 
https://github.com/ruanyf/weekly/issues/3397
[45]
 固态硬盘外接盒: 
https://mobileai.net/2023/08/21/graugear-docking-station/
[46]
 加大瓷砖图案: 
https://newsroom.ucla.edu/stories/a-coded-message-hidden-in-floor-247232
[47]
 《永远不要浪费你的中年危机》: 
https://austinkleon.com/2023/07/10/never-waste-a-midlife-crisis/
[48]
 Hacker News 读者: 
https://news.ycombinator.com/item?id=36784003
[49]
 《没有人类作者,就没有版权》: 
https://blog.ericgoldman.org/archives/2023/08/court-says-no-human-author-no-copyright-but-human-authorship-of-genai-outputs-remains-uncertain-guest-blog-post.htm
[50]
 《互联网的最后一页》: 
https://defector.com/the-last-page-of-the-internet
[51]
 《自动驾驶与交通安全》: 
https://slate.com/technology/2023/07/cruise-autonomous-vehicles-safety-waymo-self-driving-cars-ad-new-york-times.html
继续阅读
阅读原文