這裡記錄過去一週,我看到的值得分享的東西,每週五發布。
(題圖:煙臺山歷史保護區,煙臺,2017。我小時候的商店都是這種樣子。)
最近,日本厚生勞動省公佈了正式的統計資料。2017年,日本全國一共出生了94.6萬個新生兒,這是有史以來最低的數字,比上一年足足少了3萬人。日本人看到這個統計,都嚇死了。日本的總人口是1.27億左右,每年全國的新生兒只有90幾萬,這意味著什麼?
這麼說吧,日本現在缺少新生兒、將來就會缺少青年、缺少勞動力,再遠的未來就會缺少活人,住宅和街道都會變成一片片渺無人煙的鬼屋。日本這個民族很可能從此一蹶不振了,不要說發展,忙於應付老齡化和缺少勞動力都會來不及。
媒體採訪日本年輕人,為什麼不願意生小孩?原因很簡單,一個是窮,年輕人沒有錢,自己消費都不夠,哪來多餘的錢養小孩;另一個是太麻煩,照顧小孩要犧牲很多個人自由,甚至人生規劃。
日本人都很悲觀,覺得這種趨勢沒法改變。我突然想到,也不是完全沒有辦法,既然人類不願意生育,可以在實驗室裡生產人啊!人工授精、人工胚胎早就沒有問題了,現在主要是代孕代育沒法替代,還沒有人造子宮這種技術。如果將來有人工環境替代子宮,讓受精卵變成新生兒,那麼人口下降就不存在了,想要多少人,實驗室提供受精卵就可以了。我相信,這在技術上完全可以實現。
當然,這樣會產生很多問題:這些小孩的父母是誰?誰負責養育他們?一個人沒有祖先會怎樣?......但是,如果國家缺少人口已經到了要亡國亡種的地步,那時還能有什麼選擇?何況,沒有懷胎十月和分娩之苦,大多數女性一定會樂於支援這種方案。
新聞
日本82歲的老奶奶 Masako Wakamiya 2017年初開始學習程式設計,現在已經開發了一款免費的 iOS 遊戲 Hinadan,專門面向老年日本人。該 App 在蘋果商店獲得獲得近5顆星,全球下載量大約為53,000。
程式設計的門檻將來會越來越低。事實上,應用層面的程式設計(UI + 元件邏輯)是不難的,很容易學會。現在的潮流是教小孩程式設計,其實中老年人程式設計教育的市場更大。這也是一種娛樂,比打麻將好多了。當然,最大的問題是老年人沒英語基礎,這就沒辦法了。
每年春天,成千上萬的大白鯊開始神祕的遷徙,從美國西海岸直奔太平洋深處。生物學家一直希望瞭解,這些鯊魚在那裡幹什麼。今年總算有答案了,這要歸功於一對名叫 Saildrones 無人帆船。
這種無人帆船實際上是可以航行的自動機器人,儘管人類可以遠端控制,但是大部分時間是自動航行。2018年三月中旬,它們帶著感測器,攝像機和科學儀器,從舊金山開始為期三週的1,200英里的鯊魚觀察之行。到了4月初,它們抵達預定地點,接收到了帶有聲波發射器的37只鯊魚的訊號。它們標識鯊魚的位置,然後來回航行,使用聲吶檢視它們正在做什麼。通過衛星,再將影像和其他資料轉回給史丹佛大學的海洋生物學家芭芭拉·布洛克。
就像陸地上有無人汽車一樣,將來海洋上也都會是無人駕駛的船隻。
3、3奈米的晶片
三星宣佈可以生產3奈米的晶片了,但還沒有具體的投產時間。現在最先進的驍龍845晶片是10奈米。這意味著,未來同樣大小的晶片,能夠容納10倍以上的電晶體,那是不是說計算能力起碼還能強10倍?
二三十年後,每個人隨身攜帶的計算能力,恐怕相當於今天的一個機房。這意味著什麼?
這裡有一個組圖連結,幫助大家瞭解晶片的製程到底是什麼?
小米旗下的智慧燈具品牌 Yeelight 近日宣佈,由於無法滿足 GDPR 的要求,將不再向歐洲使用者提供服務。作為該品牌的中國使用者,我立刻得出結論,它的伺服器上一定儲存著我所有開燈/關燈的記錄......
網友評論:然後他們在某次釋出會上驕傲的展示,我們的智慧家居大資料顯示,北上廣深中xx人睡的最晚,xx人最喜歡x色燈光......這就是大資料的力量!
作者想教7歲的孩子程式設計,嘗試了各種語言之後,他發現30年前流行的 QBasic 依然是最好的選擇。
我先教他第一行程式碼:PRINT "hello world"。
然後,我又教了幾個命令:CLS,COLOR,PLAY,INPUT和IF。沒有什麼可以解釋的:沒有複雜性,沒有尷尬的操作符,沒有抽象的概念,沒有需要閱讀的文件,沒有物件/類/方法的概念,沒有框架安裝,沒有特別的關鍵字或括號。這是程式碼最純粹的形式。
不到一個小時,我7歲的孩子不僅能寫出他的第一個原始檔,還能體驗建立、編譯和執行他自己的小程式帶來的樂趣和快感。
我意識到,30多年來,我們一直未能為我們的孩子提供更好的產品。我們創造了更強大和更復雜的語言/框架/ IDE,但我們從來沒有比 QBasic 更簡單或更直接地獲得程式設計的快感。
這裡還有一篇《Basic 語言的歷史介紹》。
6、Firefox 瀏覽器支援 Web Components
Firefox 瀏覽器最新的 Nightly測試版本 已經支援 Web Components。這是 Chrome 瀏覽器5年前開始推廣的一種新技術,現在除了 Edge 瀏覽器,其他主要瀏覽器都已經支援了。
Web Components 是瀏覽器原生的元件解決方案。如果你願意對新技術下賭注,可以考慮它。
美國一個組織發現,Facebook 允許廣告主指定受眾的年齡範圍,結果導致40歲以上的訪問者看不到招聘廣告,而美國法律明文禁止招聘的年齡歧視。就像上面的廣告,只有25~36歲的人才能看到。
貝米錢包
本期《每週分享》很高興得到了貝米錢包(www.bmqb.com)的贊助。
貝米錢包,2014年12月成立於上海,是一家專業網路借貸資訊中介平臺,已獲得原始碼資本A輪千萬級融資,出資人包括王興、張一鳴等網際網路巨頭高管。
平臺主打中短期優質投資服務,目前共有定存計劃、分紅計劃兩款產品。
- 定存計劃:中長期投資,歷史年化收益率達10.5%以上。
- 分紅計劃:15天鎖定期,30天后可以支取,低到100元起投,歷史平均年化收益率達10%。
現在,貝米錢包推出了貝米戰隊活動。專門針對程式設計師群體,提供更高的收益。一個戰隊2~5人,所有隊員均可邀請好友入隊,成功組隊投資,最高可獲得2958元現金紅包。活動到6月20日就結束了,掃描以下二維碼瞭解更多!
另外,貝米錢包承諾會將本次活動利潤的 5% 捐贈給開源社群,包括 vuejs , webpack , element, vux, babel 等專案。
教程
1、[文章] 深度學習線上課程比較(英文)
深度學習是目前很熱名的主題,各大網校都有這方面的課程。這篇文章比較了美國三大教育平臺的深度學習課程:Coursera、Udemy 和 Udacity。
2、[文章] 前端人工智慧?TensorFlow.js 學會遊戲通關(中文)
作者使用 TensorFlow.js,讓程式自動完成 Chrome 瀏覽器的內建小遊戲"恐龍快跑"。
3、[課程] 哈佛大學遊戲開發課程(英文)
哈佛大學遊戲開發課程 CS50,提供講課視訊、課程筆記、PPT 和作業等資料。
4、[文章] 馬爾可夫決策過程(英文)
如何利用馬爾可夫鏈建立一個決策模型,文章較好懂。
5、[PDF] Awk 程式語言(英文)
awk 是 Unix 命令列處理文字的有用工具,這裡是1988年出版的 awk 教程。Unix 命令列高度穩定,所以這本教材也沒那麼過時。
6、[倉庫] JavaScript 演算法與資料結構(中文)
這個倉庫收集了30多種演算法的 JavaScript 實現。
7、[教程] 高效能矩陣乘法(英文)
矩陣乘法需要計算每一行與所有列的乘積之和,如果矩陣很大,乘法計算是非常耗時的。這篇文章討論如何實現一個高效能的矩陣乘法演算法。
8、[電子書] Python - 100天從新手到大師(中文)
一本針對初學者的 Python 教程。
資源
微軟收購了 GitHub,導致一部分開發者懷疑這個平臺的獨立性,從而遷移到其他平臺。這裡列出了十幾個 GitHub 的替代品,以及各自的優缺點。
工具
1、CalVer
語義版本(SemVer)現在很流行,就是根據 API 的變動為版本編號。這個網址提出另一種編號方法:根據日曆編號,版本號就是釋出日期。很多軟體已經在用了,最有名的就是 Ubuntu,它的版本格式是 yy.mm,比如 16.04。
一個使用 HTML5、CSS、JavaScript 和 Python 開發 Linux 桌面應用的工具。對的,你不需要 Electron。
開源的手錶作業系統。
三月份的訊息,今天才看到。AutoCAD 瀏覽器版上線了,跟桌面版基本一致,背後的技術是 Webassembly。
一個開源的桌面 RSS 閱讀器。
一個開源的自動駕駛玩具車,在小車上面綁了一個樹莓派和攝像頭。
7、Chromely
Electron 的挑戰者越來越多,這個是 .NET 框架包裝的 Chrome 瀏覽器核心。你現在可以使用 .NET 開發類似 Electron 的桌面應用。
自動生成背景圖片的工具網站,現在提供五種風格,每種都可以定製,看上去賞心悅目。
文摘
1、有史以來最複雜的軟體(英文)
作者認為,Stuxnet 蠕蟲病毒可能是有史以來最複雜的軟體。
我們不知道 Stuxnet 的作者是誰,只知道大概是在2005年至2010年間編寫的。
這種病毒藏在 U 盤上。當 U 盤插入 PC,它會自動執行,將自已複製到該 PC。它至少有三種自動執行的方法。如果某種方法行不通,就嘗試另一種。其中的兩種執行方法是全新的,使用了 Windows 的兩個無人知曉的祕密 Bug。
一旦蠕蟲進入 PC ,它會嘗試獲得該 PC 的管理員許可權,使用的也是前面提到的那兩個無人知道的祕密 Bug。然後,它把自己留下的痕跡全部清除,不讓防病毒軟體檢測到它的存在,使用者不會看到任何東西。這種蠕蟲隱藏得很好,出現後一年多,沒有任何一家安全公司發現它的存在。
它會祕密訪問 http://www.mypremierfutbol.com 或 http://www.todaysfutbol.com 這兩個網站,告訴伺服器已經成功侵入了一臺新的 PC,然後從網站下載最新版本自行更新。
它會將自身複製到任何插入該 PC 的 U 盤。使用的 U 盤驅動程式由 Realtek 公司進行了數字簽名,但是 Realtek 公司並不知道有這個簽名。這意味著,蠕蟲作者能夠獲取 Realtek 公司的最高金鑰。
它利用兩個 Windows 的 Bug ----一個涉及網路印表機,另一個涉及網路檔案----將自己傳播到區域網裡面的其他計算機上。
直到這一步,它的真正任務還沒有開始。
它在每一臺計算機上尋找一種由西門子設計的用於大型工業機械自動化的控制軟體。一旦發現這種軟體,它會使用另一個以前未知的 Bug,將自身複製到工業控制器的驅動程式。然後,它會檢查兩家特定公司的工業電機,其中一家公司在伊朗,另一家在芬蘭。它要搜尋的特定電機稱為變頻驅動器,主要用於執行工業離心機,提純多種化學品,比如鈾。
由於蠕蟲完全控制了離心機,因此它可以做任何事情,可以將離心機全部關閉,也可以將它們全部摧毀:只需設定以最大速度旋轉離心機,直到它們全都像炸彈一樣爆炸,殺死任何恰好站在附近的人。
但它沒有這麼做,一旦它控制了每臺離心機......它就進入潛伏。一旦達到設定的時間,它就會悄悄地喚醒自己,鎖住離心機,使得人類無法關閉這些機器。然後悄悄地,蠕蟲開始旋轉這些離心機,修改了安全引數,增加了一些氣體壓力......
此外,它還會在離心機正常運轉的時候,偷錄一段21秒的資料記錄。當它控制離心機執行的時候,會一遍又一遍地播放這段資料記錄。管理人員會看到,計算機螢幕上的所有離心機執行資料都很正常,但這其實是蠕蟲讓他們看的。
現在讓我們想象一下,有一家工廠正在用離心機淨化鈾。電腦上的所有數字都表明離心機執行正常。但是,離心機正在悄悄地出問題,一個接一個地倒下,這使得鈾產量一直下降。鈾必須是純淨的。你的鈾不夠純淨,無法做任何有用的事情。
工廠的管理者根本找不到原因,離心機的資料是正常的。你永遠不會知道,所有這些問題都是由一種計算機蠕蟲引起的。這是一種歷史上最狡猾和最聰明的計算機蠕蟲,它由一些擁有無限資金和無限資源的令人難以置信的祕密團隊編寫,並且設計時只考慮一個目的:偷偷摧毀某個國家的核彈計劃,並且不被發現。
Facebook 和 Airbnb 設計系統的創造者@soopa 認為,隨著設計系統越來越成熟,未來對於設計師的需求將會減少。
我加入 Facebook 時,有18位設計師。一年之後,設計師超過40人,但產品工程部門已經超過1000人,產品管理接近200人。公司正受到設計部門增長緩慢的影響。我們著手解決這個問題的方法是,就是制定設計系統。
設計系統將取代今天我們所知的許多設計工作。UI 開發、流程和工具就像可互換的零件和工廠裝配線,可以減少人員建立與以前相同的產品。今天的許多設計師必須將預先設計的元件組裝在一起 - 這項任務將越來越自動化。
設計系統可以實現更快速的產品開發,從而使公司能夠開發更多產品。設計系統使得每個產品需要更少的設計師。
每週圖片
1941年,美國《生活》(LIFE)雜誌攝影師邁登斯( Carl Mydans)來到中國,拍攝中國人民的抗戰。現在,他拍攝的3332張照片已經可以在網際網路免費下載。
2、監視器上的燕子
網友拍到有一窩燕子在監視器上著巢,燕媽媽飛來餵食。
3、芬蘭的圖書館
芬蘭是一個熱愛讀書、有很多圖書館的國家。上面照片裡面如此具有現代感的圖書館,建成於1927年,照片拍攝於1935年。
本週金句
1、
到了2050年,海洋裡面的塑料垃圾的數量將超過魚。(BBC)
2、
如果你在很年輕的時候,就遭受到了失敗,一定要把它當作老天送你的禮物。如果等到四十歲再失敗,你會經受不起的。為什麼年紀越大,走路越小心,因為越來越經不起跌倒了。(網友)
歡迎訂閱
這個專欄每週五發布,同步更新在我的個人網站、微信公眾號和語雀。
微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。
(完)