科技愛好者週刊(第 162 期):生活就像《吃豆人》遊戲

阮一峰發表於2021-06-11

這裡記錄每週值得分享的科技內容,週五釋出。

本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦科技內容。

週刊討論區的帖子《誰在招人?》,提供大量程式設計師就業資訊,歡迎訪問或釋出工作/實習崗位。

封面圖

推遲到今年的杜拜2020世博會,即將於10月1日開幕。上圖是三大主場館之一的"可持續發展館",該建築的水電都是自給自足,從陽光獲取能量,從潮溼的空氣獲取淡水。

本週話題:生活就像《吃豆人》遊戲

有一個經典遊戲,叫做《吃豆人》(Pac-Man)。1980年釋出的,很多人現在還在玩。

遊戲很簡單,吃完迷宮裡的豆子,就能過關,但是不能被妖怪抓住。四個妖怪的策略各有不同,紅色的在後面追你,粉色的在前面攔截,藍色的在路口埋伏,橘色的隨機漂移。迷宮裡還有四顆能量豆,每吃掉一顆,你就能反戈一擊,消滅一個妖怪。

谷歌釋出過一個網頁線上版,沒玩過的朋友可以感受一下。

提到這個遊戲,是因為我最近看到了一篇文章一個國外的年輕程式設計師說,他覺得,自己的生活就像一場《吃豆人》遊戲。

大學畢業後,我不知道該幹什麼。讀研究生,還是找一份體面的工作?像其他人一樣,最終我選擇了那些很光鮮的職業,即使它跟我的興趣並不吻合。對於未來,我毫無頭緒。

我有時覺得,自己的生活與《吃豆人》遊戲有許多相似之處。我困在迷宮裡,只有快速拿到積分,才能過關。在這個迷宮中,妖怪四處遊蕩,試圖吃掉你,如果被它們抓住,你就會死掉一條命,遊戲重新開始。

我的生活好像就是一局遊戲。我真的不知道該去哪裡,如何晉級,什麼時候妖怪會突然出現。

他這麼一說,我頓時覺得,《吃豆人》真的很像生活的一個縮影。我們每天都在人生迷宮裡探索,尋求出路。各種挫折打擊在周圍埋伏著,不知道何時,就會向你撲來。想要贏得遊戲的唯一方法,就是儘量避開妖怪,快速吃掉能量豆,壯大自己,晉升到下一關。

以程式設計師為例,畢業後進入網際網路公司,就是遊戲開始了。你必須不停闖關,一步步晉升,從初級程式設計師到中級程式設計師,再到高階程式設計師,然後是團隊 Leader 或者部門主管。如果有一關卡住了,在某個級別上停留過久,你就很危險,遇到妖怪的概率越來越大,隨時可能 Game Over。你最多隻有十到十五年的時間,到達中高職級,否則就留不下來,時間一到不得不離開公司。

不僅是程式設計師,其它競爭性的行業,都是這種遊戲規則。 大家印象中,大學教授是一個很舒服的職業,不坐班,每年還有寒暑假。但是,國內高校現在引入了美國的制度,而且還是加強版:年輕博士從講師當起,給你六年時間,競爭寥寥無幾的正式編制。如果六年內出不了成果、發不了足夠的論文,那就必須離開,因為學校不會養一個講師養到老。這叫做"非升即走"制度,英語叫做 Tenure track。這不就像《吃豆人》遊戲的真人版嗎。

進一步說,每天上下班高峰時間,地鐵上擠滿了人,大家都在參與一線城市這個大型遊戲。若干年內,如果得不到結果,就要離開,回到二線或三線城市。

其實也不是一定要參與這種遊戲,你也可以降低物質欲,選擇不與其他人競爭的生活。但是,如果已經身在其中,或者不得不參與,那麼下面幾條《吃豆人》遊戲的快速過關策略,似乎可以參考。

(1)不能留在原地,妖怪會感知你的位置。

(2)必須時刻在前進。

(3) 一旦前面的路上出現妖怪,必須立刻改道。

(4)儘快吃掉離你最近的能量豆,取得階段性成果。

前端構建工具專題課

大家都知道,前端有一個大名鼎鼎的開發工具,叫做 Webpack。哪怕剛入門的新人,可能都有耳聞:不管你用什麼框架,最後都要用它進行構建。自從2012年釋出至今,它一直是整個行業首選的構建工具。

但是進入2020年後,情況正在發生變化。隨著標準模組格式 ESModule 越來越普及,新的構建工具層出不窮。新工具更易用、速度更快、打包產物更小,對 Webpack 構成嚴重挑戰。

Vue.js 的創始人尤雨溪,甚至發過一個動態:再也回不去 Webpack了。

這引起了一大片焦慮:

  • Webpack 是不是要被取代了,還能不能學?
  • Webpack 還沒學會,就又來新的了!
  • 完了,現在到底要學哪個?

目前來說,新一代構建工具的主要代表是 Vite(底層是 ESbuild)和 Rollup。它們其實各有適用場景,還談不上取代 Webpack。

本週的前端視訊專題課,就來分析三大工具各自的原理、特點、適用範圍。 《前端構建工具大 PK:深度剖析 Webpack、Vite、Rollup 原理》 會帶大家手寫Webpack、Vite 以及 Rollup 專案,對比分析它們各自的強項,深度剖析底層原理,由淺入深,層層遞進。

這個專題課對各種級別的程式設計師,都做了精心設計。初級程式設計師可以學習怎麼用構建工具做專案,中高階前端則可以學到這些工具的原理和設計思想。

課程中,會針對大廠面試常見的工程化問題,進行講解。主講老師還會帶大家對比3份簡歷,並且教你如何寫出一份 P6 級別的求職簡歷。

微信掃碼下面二維碼,就可以報名,僅象徵性收取 0.99元 報名費。

這門課是視訊課,上課時間是 6月15日 到 6月17日 每晚 20:00。想聽的同學,可以抓緊時間報名。

科技動態

1、貝佐斯上太空

亞馬遜公司的老闆貝佐斯宣佈,下個月將乘坐 Blue Origin 公司宇宙飛船的首航,感受一下太空飛行的滋味。

Blue Origin 公司是貝佐斯的私人投資,從事太空旅遊。它發射火箭,將太空艙送到大氣層的邊緣,距離地面約100多公里的高度。太空艙可以乘坐6個人,有巨大的窗戶,讓乘客看到太空的風景,體驗幾分鐘的失重,然後返回地球。

美國的富人真是瘋狂。馬斯克總是說,他的目標是移民火星,而貝佐斯已經等不及要親身體驗了。下個月首航後,據說就將開始對外售票,票價可能為20萬美元。

2、哈德遜河人工島

一個美國基金會花了2.6億美元,在紐約哈德遜河裡面建了一個人工小島,為市民提供露天劇場、綠地、餐廳和酒吧。

這裡原來是一個廢棄碼頭,現在改建以後,成了一個地勢起伏的平臺,種植著美麗的樹木、鮮花和草地,還有一個687個座位的露天劇場,可以舉行表演活動。

3、高速公路的 U 型彎

貴州的一條高速公路,特別設計了一個 U 型轉彎的架空車道。

這是因為貴州都是山區,如果錯過一個高速公路出口,下一個出口可能在幾十公里以外,所以增設一個 U 型轉彎車道,讓你快速調轉車頭。

4、

SpaceX 公司的獵鷹9號火箭,5月27日達到一個里程碑,連續成功發射100次。而且,發射頻率越來越快,今年平均每9天發射一次,5月以後每5天發射一次。

它之所以能夠發射得如此頻繁,是因為這個火箭可以回收,每次發射後可以快速重用。更驚人的是,它的第一級助推器也能回收,目前全世界只有它能做到,其它火箭都是丟棄助推器。

5、

海信宣佈,捲曲屏鐳射電視今年下半年上市。

這種電視機其實就是鐳射投影儀 + 幕布,平時幕布捲成一團,收納在下方的櫃子裡,播放電視時,幕布再從櫃子裡面展開升起。

6、

聯合國宣佈,很有希望在2030年實現消滅愛滋病的目標。去年,全球愛滋病感染者總數有3760萬人,死亡69萬人,比2010年分別下降30%和43%。

聯合國估計,只要到2025年讓95%的感染者得到治療(目前是73%),就可以最終在2030年消滅愛滋病。

7、超音速客機

美國公司 Boom Supersonic 宣佈,美聯航向它採購了15架 Overture 超音速客機,預計將在2029年投入運營。

超音速客機比傳統客機快得多,可以將長途航行縮短一半的時間,但是噪音大、成本高,歷史上多次嘗試均不成功,目前世界上沒有商業運營的超音速客機。

這種新飛機可以乘坐55名乘客,據稱採用生物燃料,淨二氧化碳排放為零。老實說,聽上去不太可信,而且還沒造出真機。

8、

宇宙暗物質分佈圖釋出。科學家認為,我們的宇宙是由不可見的暗物質連線在一起的,它們組成了一張巨大的引力網(下圖),構成了宇宙的上層結構,所有天體都附著在這張看不見的網上。

文章

1、西雙版納大象專家談北遷象群(中文)

西雙版納自然保護區的專家,談怎麼看待象群北遷事件。

亞洲象一般生活海拔1000米以下,但是目前已經到了海拔2000米,還沒有回頭,這是前所未有的。

2、我復原了長安城(中文)

作者介紹自己使用 VR 技術對唐朝長安城建模,做成建設虛擬城市的遊戲,拿到 Steam 上去賣。

3、我如何抓到偷蘋果筆記本的賊(中文)

作者講述如何根據蘋果筆記本的定位追蹤系統,抓住小偷,寫得很生動。

4、StarLink 衛星上網體驗報告(英文)

這篇文章詳細記錄了 StarLink 的安裝和使用過程,作者的結論是這個衛星上網服務可用,但是體驗不好。

它要求天線與衛星之間不能有遮擋,這導致非常容易斷線,甚至一片雲、一陣風都會斷線,這使得聊天、遊戲、視訊等實時通訊要求很高的服務,都不可用。

5、資訊理論之父夏農(英文)

這是一篇發表在1992年《IEEE 綜覽》雜誌的夏農專訪,介紹了夏農的很多軼事,對資訊理論也有解釋,寫得很生動。

文章披露,夏農起初不知道應該用什麼詞稱呼"資訊熵",後來選擇了entropy,純粹是因為這個詞含義不明確,可以多種解釋,但這導致了後來的許多爭論。

6、UCWeb 的上傳資料(英文)

一位國外網友發現,UCWeb 瀏覽器即使在隱身模式下,也會向自家伺服器上傳資料。他對這件事情進行了調查。

7、WebContainers 簡介(英文)

WebContainers 是一項很特別的技術,可以在瀏覽器裡面執行 Node.js 環境,從而不用任何的本地安裝,就可以在瀏覽器裡面除錯 Node.js 專案。

8、程式設計師為什麼喜歡咖啡?(英文)

這篇文章總結了程式設計師喜歡喝咖啡的幾個理由,最後一個理由很搞笑。

工具

1、WireGuard Easy

Linux 的 WireGuard 安裝工具,並且提供 Web UI 的管理介面。

2、Vosk

一個語音識別的工具包,支援18種語言(包括中文),體積較小(50MB),可以繫結各種語言,適合為聊天機器人提供語音識別。

3、PINTR

一個網頁工具,可以讓圖片轉為線條畫。

4、Grafar

一個專門用於數學的前端視覺化庫。

5、Mockoon

一個開源軟體,提供各種雲服務的 API 模擬。

6、Kakoune

一個類似 Vim 的文字編輯器,號稱更易用、功能更強。

7、GitHubPoster

這個工具可以將你在各種網站上的活動記錄,生成 GitHub 方塊熱力圖或 skyline 圖。(@yihong0618 投稿)

8、Apitest

一個 API 測試的自動化工具,所有測試用例可以寫在一個類似 JSON 的配置檔案裡面。(@sigoden 投稿)

9、hacker-feeds-cli

一個命令列工具,可以檢視 Hacker News、 Reddit、V2EX、GitHub Trending 等資訊網站。(@Mayandev 投稿)

資源

1、freesound.org

該網站是一個社群,全世界志願者上傳自己收集的環境音,目前已經有50萬種環境音。中國的環境音也有不少,比如北京的公交車火車通過鐵路道口

2、Can I email

這個網站可以查詢哪些前端 API 可以用於電子郵件。

3、Battlesnake

這是一個多人的程式設計遊戲,每個開發者操縱自己的蛇,與其他人對戰。具體方法是,上傳自己的 API 實現,該網站自動將其執行為服務,蛇每移動一步,都會查詢 API 介面,接受下一步的指令。

4、如何設定資料科學開發環境(英文)

這篇文章詳細記錄如何在自己的計算機上,安裝各種軟體,設定一個資料科學環境。

圖片和視訊

1、宇航員地球攝影大賽

下圖是今年宇航員地球攝影大賽的獲獎作品。

照片中是土耳其的凡湖(Van Lake),地球上最大的鹼性湖泊。它也是一個內陸湖泊,所以照片上有清晰的漩渦,表明湖水沒有出口。

湖的周圍是一個巨大的輝石礦,導致湖中充滿了碳酸鈣的碎屑。這些碎屑是湖水呈現乳白色混濁的主要原因,並且使得湖水的 pH 值達到了10。

2、鐵磁流體揚聲器

韓國網友製作的鐵磁流體揚聲器,磁性顆粒隨著音樂,在外界磁場的作用下不斷變換形狀。這個東西感覺比熔岩燈好。(YoutubeQQ 視訊

3、超現實閣樓

瑞典攝影師埃裡克·約翰森(Erik Johansson),經常拍攝超現實照片。下面就是他的最新作品,利用自家閣樓,將照片合成為不可能的空間形狀。

這張照片很像埃舍爾的作品,明明是不可能的,但是看上去非常自然。

文摘

1、賈伯斯14年前的電子郵件

最近,蘋果公司與 Epic 遊戲公司的官司,正在如火如荼地進行,庫克也出庭作證了。

為了證明應用商店的必要性,蘋果向法庭提供了很多內部檔案。這些檔案從來沒有公開過,其中有一封是賈伯斯2007年的電子郵件,讓外界終於瞭解了應用商店是怎麼誕生的。

iPhone 是2007年1月份宣佈的,6月29日正式上市。

賈伯斯從一開始就極度堅持產品的封閉性,第一代 iPhone 不僅硬體無法擴充套件,連軟體也無法擴充套件,只能執行預裝的 16 個官方應用程式。

賈伯斯反對 iPhone 執行外部應用。他曾經告訴開發者,如果他們想為 iPhone 寫應用程式,可以寫在 Safari 瀏覽器中執行的 Web 應用。

他說:"你猜怎麼著?我們沒有你需要的 SDK!如果你知道如何使用最現代的 Web 標準編寫應用程式,你就已經可以為當今的 iPhone 編寫出色的應用程式,這就是你需要知道的一切。我們認為,我們已經為作為開發者的你們,提供了非常好的條件。讓你們可以立即開始構建 iPhone 應用程式。"

但是,開發者並不接受賈伯斯的這套說辭。很多人設法對 iPhone 進行"越獄",讓其可以安裝外部應用程式。蘋果公司想要制止越獄,唯一的方法就是提供官方 SDK,允許 iPhone 執行外部應用。

當時,蘋果負責軟體工程的高階副總裁 Bertrand Serlet,不得不硬著頭皮,給賈伯斯寫了一封 Email,要求賈伯斯能夠同意 iPhone 執行外部應用。

他認為,iPhone 應該做四件事。

(1)允許經過許可的應用,跑在 iPhone 上面,這樣可以保護使用者。

(2)允許外部應用獲得某些許可權,同時禁止其它許可權,這樣可以保護系統。

(3)提供官方的開發平臺,執行在 MacOS 上面,包括模擬器、Debugger 等。

(4)提供穩定的對外 API。

賈伯斯的回答只有一句話:"當然可以,只要能在 2008 年 1 月 15 日的 Macworld 上全部推出。"

這封郵件的日期是2007年10月2日,離賈伯斯設定的釋出日期只剩下三個多月。賈伯斯好像覺得壓力還不夠大,兩週後的 10 月 17 日對外宣佈,將在2008 年 2 月之前提供 SDK 。

後來,SDK 實際是在2008年 3 月份推出的,而 App Store 是在那一年的 7 月推出的。

當時,蘋果的市值約為 1500 億美元,今天已經超過了 2 萬億美元,這很大程度是因為 iPhone 的成功,而 iPhone 的成功有很大程度是因為 App Store 的成功。App Store 又促成了許多大型軟體公司的誕生,比如 Instagram、SnapChat、Spotify 等等。這一切的源頭,都可以追溯到賈伯斯的這一封郵件。

言論

1、

1919年,英國天文學家阿瑟·愛丁頓使用日全食的觀測資料,首次證明愛因斯坦的廣義相對論是正確的。

當時能看懂廣義相對論的沒有幾個人。據說,一位物理學家當面對愛丁頓說,您是世界上第三個懂廣義相對論的人。言外之意,前兩個人是愛因斯坦和該物理學家本人。愛丁頓風趣地回答:"我也在尋找第三個人。"

-- 何香濤《追逐類星體》

2、

根據 Cloudflare 的統計,使用者完成網站的圖形識別驗證碼,平均需要32秒。

假設使用者每10天就會遇到一次這樣的驗證碼,乘以全球46億網際網路使用者,那麼人類每天共花費500人年以完成這些驗證碼。

-- 《Cloudflare 希望結束"驗證碼瘋狂"》

3、

產生一個好的想法,最佳方法就是先產生許許多多的想法。(The best way to have a good idea is to have a lot of ideas.)

--鮑林(Linus Pauling),諾貝爾化學獎得主

4、

我希望通過自己的創業產品,賺一些錢。但是,它的利潤一直很微薄,如果我買一些啤酒,整個週末都投入這個產品的開發,那麼利潤將完全消失。而且,付費使用者總數很少,始終讓人感覺非常危險。

--《為什麼我關閉自己的創業產品》

5、

就算我們今天停止排放二氧化碳,已經排放的那些二氧化碳仍將存在於大氣中數百年。如果我們只是設法減少一點排放,那麼二氧化碳只會以較慢的速度積累,但仍會上升。

-- 一位美國科學家認為人類很難阻止氣候變化

歷史上的本週

2020年(第 111 期):智慧電視的誤區

2019年(第 59 期):網際網路時代很難交朋友

2018年(第 8 期):實驗室會生產人嗎?

訂閱

這個週刊每週五發布,同步更新在阮一峰的網路日誌微信公眾號

微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。

(完)

相關文章