本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦科技內容。
週刊討論區的帖子《誰在招人?》,提供大量程式設計師就業資訊,歡迎訪問或釋出工作/實習崗位。
封面圖
丹麥的法羅群島正在建設海底隧道,連線各個島嶼。上圖是世界第一個海底交通圓環,三條隧道通向三個島嶼。該工程將在本月對外開放。(via:Facebook)
本週話題:利特伍德奇蹟定律
這個星期,我讀到一篇文章,談怎麼理財。
作者說,儲蓄和投資的觀念應該是相反的。儲蓄要悲觀,相信自己會遇到很多意外事件,所以要儘量多儲蓄;投資則要樂觀,相信這個社會一定會向前發展,經濟不斷增長,所以要積極投資。
他的理由很有意思,提到了利特伍德奇蹟定律(Littlewood's law of miracles)。
約翰·利特伍德是英國劍橋大學的數學教授,有一次開玩笑,他算出普通人平均35天會遇到一次奇蹟。
推理過程是這樣的,我們每天醒著並積極活動的時間,假定是8小時。這段時間的每一秒鐘,你都會看到或聽到外界發生的事件,那麼一天大概會遭遇將近3萬個事件,35天就是100萬個事件。 所謂"奇蹟",可以理解成百萬分之一的事件,因此平均來看,每35天你會遭遇一次奇蹟。
有些奇蹟對你有利,另一些對你不利。如果兩者是一半一半,那麼根據利特伍德奇蹟定律,你每年大概會遇到5~6次比較嚴重的不利事件。這就是為什麼說儲蓄要悲觀,因為你需要對不利事件有所準備。
另一方面,另一半的奇蹟是有利事件,全世界有那麼多人,總有人會因此發現困難問題的解法,做出技術改進,推動人類發展。這裡的關鍵是, 科技進步具有累積效應,你可以利用別人的結果繼續做出改進,而挫折和厄運沒有累積效應, 你個人的不利事件(求職失敗、婚姻破碎、感染疾病......)不會影響到其他人,所以人類社會才會在長期中,趨向於不斷進步。
這就是文章開頭觀點的來歷,如果奇蹟是普遍事件,那麼你就應該悲觀地儲蓄,樂觀地投資。
IT 工程師技能圖譜
學習一門新技術的時候,初學者最大的苦惱之一,大概就是不知道從何入手。
典型的情況是,你大概知道學會以後,這門技術可以幫你解決什麼問題。但是,怎麼才能學會、循序漸進的學習路線是什麼、學習範圍有多大的深度和廣度、涉及到哪些前置知識......這些問題你就不太清楚了,只能根據別人推薦的或者網上看到的教程,先學了再說。
這時,一張技能圖譜就能幫到你。它像腦圖一樣,列出主要的知識節點,並且按照學習的線索串起來,讓你明白自己的學習路徑,以及哪些地方需要查漏補缺。
國內知名的 IT 技術知識學習平臺"極客時間",在開設了近千門課程的基礎上,整理出了24張不同領域的技能圖譜,涵蓋前端、後端、移動、運維、微服務、大資料、機器學習等熱門領域,方便使用者把相關的知識和技能串起來。
這些技能圖都是精心製作的 PDF 格式大圖,可以方便地檢視和列印,下面就是 Python 技能圖的區域性範例。
這些技能圖是極客時間為了方便使用者,按照路線圖和技能點自主學習而製作的。現在免費傳送給這個週刊的讀者。
只需要掃描下面的二維碼,登記一下個人和團隊資訊(或在校生的院校資訊),工作人員會在2個工作日內,將24張技能圖譜一起傳送到你填寫的郵箱。
資訊
1、自澆水土壤
美國德克薩斯大學奧斯汀分校的研究人員,發明了一種自己澆水的土壤。它自動從空氣吸收水分,將其分配給植物。這種土壤有可能將以前不宜耕作的地方也變成可耕地,並減少農業灌溉用水。
具體做法是,在土壤中加入一種類似於"超級海綿"的超吸溼凝膠,用來捕獲空氣中的水。白天,土壤溫度上升時,凝膠釋放出水,供植物吸收;夜晚,土壤溫度下降時,凝膠會從空氣中吸收水。這種土壤每克可提取約3-4克水。
2、不需要陽光的太陽能電池
太陽能電池的一大問題,就是陰天的發電效果很差,一位菲律賓大學生想出瞭解決辦法。他在樹脂玻璃中加入可以吸收紫外線的有機發光粒子,然後底下鋪一層太陽能膜。
不管天氣好壞,紫外線總是存在的,甚至夜間也有紫外線,差別只是程度的強弱。樹脂玻璃裡面的發光粒子,吸收了紫外線以後就會發光,從而讓底層的太陽能膜發電。
一塊0.5平方米的這種樹脂玻璃,每天可產生足夠的瓦數為兩部手機充電。並且,這種材料的可塑性很好,可以做成任何平面或曲面形狀,放在窗戶、牆壁甚至衣服上。
3、生產效率得分
微軟公司的線上 Office 服務 MicroSoft 365,最近推出了一個新功能"生產效率得分",方便管理者檢視員工的生產效率。
開啟軟體後臺,可以看到每個使用者的使用情況(上圖),一共有73個指標,比如本週處理了多少文件、發出和閱讀了多少 Email / 即時訊息 / 內部討論,同事之間的/外部的交流有多少等等。
頁面頂部會生成一個得分,表示該員工的總體效率,滿分是100%。如果你的得分是58%,就表示效率沒有及格。
4、誰擁有最多的資料?
《日經新聞》最近做了一個研究,分析世界主要國家和地區的跨境資料流量,用來確定哪個國家擁有最多的資料量。研究發現,中國(包含香港)是世界的資料冠軍,早在2014年就超過了美國,資料量幾乎比美國大一倍,佔了全世界資料總量的23%。
但是,這個研究有一些地方很奇怪,不符合常理,第三位是英國,資料量居然跟美國很接近,第五位新加坡更是一個小國。一個解釋是,它可能把非本國的轉口流量資料,也統計在內。
5、膠囊辦公室
受疫情影響,日本許多膠囊旅館鮮有人問津。東京新宿區的一家膠囊旅館從遠端辦公中嗅得商機,將自己改造為膠囊辦公室,為那些在疫情期間不能去辦公室、又不想在家辦公的人,提供安靜的辦公場所。
膠囊辦公室有桌椅、窗簾、免費 WIFI、無線滑鼠、印表機、空氣淨化機等,你要是願意睡在這裡也可以。每小時收費500日元(約合31.4元人民幣),3小時1500日元,5小時2000日元,全天使用則只需3000日元。其實,這不失為程式設計師獨立辦公室的一個可行的解決方案。
6、一句話訊息
- Firefox 瀏覽器的最新版,會在 URL 欄顯示贊助商連結。這種"創新"估計是從中國瀏覽器受到啟發。
- 嫦娥5號月球探測器11月24日發射後(下圖一),國外無線電愛好者就開始接收到它發回的訊號。有人甚至解碼成功,還原出一段影片(下圖二)。
- 華龍一號是中國自主智慧財產權的第三代核電機組,11月27日它的首個反應堆福建福清核電站5號機組併網發電,標誌中國核電技術的重大進展。目前,後面還有12個"華龍一號"機組在建。
- 一家美國創業公司設計了一個自帶電線收納的電腦桌,帶有各種電線收納槽,獲得了紅點設計獎。
文章
1、民航客機為什麼很少飛越喜馬拉雅山?(中文)
喜馬拉雅山脈上方,基本沒有航線經過,飛機為什麼不打那兒飛,節約飛行時間呢?雖然山脈較高,但民航飛機不是可以在10000米左右的高空巡航麼?
2、寶特瓶如何被回收利用(中文)
飲料的寶特瓶(PET)可以回收利用,這已經成為一個3000億元的產業。本文介紹國內寶特瓶回收行業的流程。
3、賠率是怎麼回事?(英文)
新聞媒體經常報導各種賠率,這到底有什麼含義?本文用美國這次總統選舉來解釋賠率,並用例子講解如何在不同網站之間套利。
4、Windows Linux 子系統 1 和 2 的區別(英文)
Windows Linux 子系統(簡稱 WSL)使得 Windows 可以執行 Linux 程式,但是它有兩個版本,並且同時都在開發,它們有什麼區別?
簡單說,WSL 1 是核心子系統,WSL 2 是 Linux 虛擬機器。
5、Let's Encrypt 的免費替代品(英文)
Let's Encrypt 是主流的免費 SSL 證書生成工具,市場上還有一些其他工具也能生成免費證書,本文介紹 ZeroSSL。
6、Ansible 入門(英文)
Ansible 是自動化配置管理工具,本文介紹它的用法。
7、Chrome 瀏覽器的 CSS 概覽皮膚(英文)
Chrome 瀏覽器引入了一項試驗性功能,在開發者工具裡面提供 CSS 樣式表的概況統計。
8、我放棄 Serverless,改用 Ruby on Rails(英文)
作者原先使用 Serverless,感到有許多不滿意的地方,就寫了這篇文章解釋為什麼他要轉到傳統的 Ruby on Rails。
9、Git 的空樹(英文)
任何一個 Git 倉庫,都包含一個相同的物件(雜湊為4b82...4904
),指向一個空樹(empty tree),這是為什麼?
10、如何構造一個引用自己的推文(英文)
作者介紹如何猜中推文的 ID,從而透過推特 API,構造出一條引用自己的推文。
工具
1、Popper
一個工具提示和彈出框的 JS 庫。
2、hutool
一個小而全的 Java 工具類庫,透過靜態方法封裝,並提供詳細完整的中文文件和註釋,使Java擁有函式式語言般的優雅。(@looly 投稿)
3、Furion
一個基於 .Net 5 的 Web 框架。(@MonkSoul 投稿)
4、ChangeMenuBarColor
改變 macOS Big Sur 系統選單欄顏色的一個小工具。
5、Gather
一個基於瀏覽器的線上聚會空間,所有參與的使用者顯示在一張 2D 地圖上,可以進行文字聊天和影片對話。
6、Notion Clone
一個 Notion 的開源克隆,提供線上的筆記管理功能。
7、Raindrop
一個跨平臺的網路書籤管理器。
8、BundlePhobia
一個線上工具,分析 npm 軟體包的體積和載入效能,比如 [email protected] 的體積是69.9kB,2G 網路下載需要0.81秒。
9、Blades
一個 Rust 語言寫的靜態網站生成器,速度極快,號稱比 Hugo 快10倍。
10、profileio
一個 Github actions 模板工具,用來生成個人簡歷頁面和 PDF 檔案。
11、Presenta
一個線上製作幻燈片演示的工具,只使用簡單的 HTML 語法,就可以線上展示的幻燈片。
資源
1、psql 教程和備忘錄
psql 是 PostgreSQL 資料庫的官方命令列客戶端,本文是它的一篇簡明教程。
2、150分鐘學會 Perl 語言(英文)
這篇 Perl 教程寫過那些不想讀官方文件的人,目標是寫得儘量短,但又不會太短,包括了足夠的學習內容。
3、2020年度 JS13K Games 競賽
JS13K Games 競賽要求使用 JavaScript 語言,寫一個不超過 13KB 的 HTML5 遊戲。一共有220多個作品參賽,這裡是前10名。大家可以去玩一下,效果非常驚豔。
4、機器學習工程
機器學習工程(Machine Learning Engineering)這個詞,是指使用軟體工程原理和資料科學知識,構建機器學習模型。這本英文電子書是入門教程。
5、窄鍵鋼琴
傳統鋼琴的鍵盤都是標準大小,比較適合手大的人。這個專案推動設立三種鍵盤尺寸的鋼琴,適合不同的人。
6、2020年的100項最佳發明
《時代》雜誌評選的今年100項最佳發明。
圖片
1、心臟麻痺槍
1975年,中央情報局局長威廉·科爾比在美國國會,展示了一把心臟麻痺槍。
這把手槍的頂部有瞄準器,發射的不是子彈,而是飛鏢。目標被射中後,皮膚會出現一個小紅點,然後心臟麻痺死亡。屍體解剖查不出毒藥,死亡原因會被認為是心臟病。
2、羅馬萬神殿
羅馬萬神殿是目前全世界還在使用的最古老建築,建造於公元125年,距今約2000年。
今天,你走進這所建築,抬頭仰望巨大的圓頂,可能會跟2000年前的人有著相同的體驗。麻省理工學院建築學教授約翰·奧奇森多夫說:"你進入這個宏偉的空間,抬頭仰望,透過天窗,看到天空或一朵朵烏雲。你在想:'他們在大約兩千年前如何做到這一點?"
萬神殿的穹頂是一項工程壯舉,中間有一個"眼睛",直徑超過9米,可以望見天空。太陽光從那裡照進來,如果下雨,雨水就像瀑布一樣落入室內。
文摘
1、CVS 的遠端提交
1993年,吉姆·金登(Jim Kingdon)受聘在灣區的 Cygnus Solutions 公司擔任程式設計師。
但是,金登不想搬到矽谷,想留在弗吉尼亞州工作,他的家在那裡。那是1993年,還沒有遠端工作的概念。而且,最大的困難是公司使用 CVS 原始碼管理系統,這個系統只能在總部辦公室提交原始碼。實際上,CVS 根本沒有遠端登入功能。
於是,金登做了任何一個計算機駭客都會做的事情:他自己將 CVS 改成客戶端-伺服器模式,可以遠端提交程式碼。
Cygnus 是一家紮根於駭客文化的公司,對金登自己修掉軟體工具沒有任何意見。公司創始人也是程式設計師,他說:"有人說,'我想修改原始碼,獲得自己想要的生活',這是完全合理的事情。"
金登的朋友吉姆·布蘭迪(Jim Blandy)聽說了這件事,他一直在尋找軟體開發的遠端協作方法,就把修改後的程式碼要了過去。
他發現,金登新增的程式碼不算太多,而且在他的計算機上也能執行。布蘭迪就把這些修改提交給了 CVS 官方,並且說服維護者將其加入發行版。
金登對 CVS 的更改,就這樣開創了軟體協同開發的新時代。幾年之內,這個功能大受歡迎,CVS 就成為了行業標準。
2、我為什麼不回中國高校
不少朋友問我為什麼不完全回國, 在美國有天花板, 回國可以自由發展。
其實,我在2002年-2004年曾經回國過,但過了兩年我就吃不消了, 我發現我在國內無法高效工作,在美國反而非常輕鬆愉快。當然了, 十年過去了, 中國的大學改進了很多, 但基本還是老樣子。
上海的公司還好,畢竟國際公司,和美國差不多。 但國內的大學裡非常難混, 大家不是以培養學生和發展科學學術技術為目的, 而是以形象工程、評比、拿獎、文章、上報、宣傳、政績、排名為目的, 根本無法靜下心來做學術研究。當然了, 如果你有厲害的學生, 出文章也是不難的。 但厲害的學生有幾個?
回國後, 前六個月敲鑼打鼓, 後六個月任務滿滿, 第二年如果沒有幫學院上幾個臺階的話, 馬上風言風語來了:估計他在美國混不下去才回國的, 難怪不怎麼樣!
再說了,沒錢沒權回國你以為就是一等公民?沒有天花板? 做夢!我太瞭解國內的大學,政府機構和大公司了。在大學裡, 如果你不是在國外很有成就的人,回國先把你滅了再說。
短期回國為人民服務最好,周圍同事們會說:"還是盧老師厲害, 在美國混的很好, 經濟條件也很好,不用完全回來。"
所以, 兄弟姐妹們,國內不好混啊! 我反正已退休。
以上是個人經歷教訓, 僅供參考。
言論
1、
亞馬遜雲服務開始提供 macOS 例項,底層是 M1 晶片的 Mac mini。價格不便宜,每小時1.083美元,相當於每天25.99美元。這意味著,如果你的使用時間多於77天,那就不如自己買一臺 Mac mini 了(價格1999美元)。
-- 《亞馬遜提供雲 Mac 服務》
2、
如果資料不多,最好避免使用資料庫,純文字檔案或資料儲存在記憶體中就可以了。資料庫確實有一些優勢,比如結構化資料、檔案鎖定、原子性操作等等,但是會讓軟體變得沉重。
-- 《追求輕盈的軟體》
3、
輪胎與地面摩擦,會產生有毒的橡膠微粒,汙染環境。研究發現,在美國,一輛普通汽車每年會損失5公斤的輪胎重量,大約相當於一隻貓的體重。
-- 《車輛的橡膠汙染正在進入水迴圈》
4、
83.6%的瀏覽器具有唯一的指紋,可以被追蹤。如果啟用了 Flash 或 Java,這個比例可以上升到94.2%。
-- Mozilla
5、
當年,微軟規定的編碼風格是,(變數名裡面)2個或3個字母的縮寫詞必須全部大寫,4個或4個以上字母的縮寫詞必須首字母大寫。
-- Chris Wilson(前微軟員工)回答為什麼 XMLHttpRequest 會有如此奇葩的大小寫組合。
6、
關於產品有兩個令人不快的事實。
真相1:我們至少有一半的想法行不通。
真相2:即使是好主意,也要經過多次迭代才能變得可行。
-- eBay 創始團隊成員馬蒂·卡根(Marty Cagan)
回顧
2019年的本週(第 85 期):美國為什麼不是亂哄哄?
2018年的本週(第 33 期):現場投票不如網路投票
訂閱
這個週刊每週五發布,同步更新在阮一峰的網路日誌和微信公眾號。
微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。
(完)