本雜誌開源,歡迎投稿。另有《誰在招人》服務,釋出程式設計師招聘資訊。合作請郵件聯絡([email protected])。
封面圖
溫州江心嶼是甌江裡面的一個小島,最近完成了改造工程。(via)
VS Code 編輯器的下一站是 Zed?
程式設計師離不開編輯器,眼下最流行的程式碼編輯器肯定是 VS Code。
VS Code 其他都好,但有一個很大的缺點:效能。
它執行在 Electron 的沙箱裡面,資源佔用多,速度慢。我現在呼叫某些外掛,就有明顯的延遲。
它還有點臃腫,安裝包 100MB,需要磁碟空間 500MB。
所以,當我聽說有一個新的編輯器 Zed,效能出眾,功能強大,就立刻安裝了,下面就是我的使用體會。
首先說一下,為什麼 Zed 吸引我?
(1)它的作者是原來的 Atom 編輯器的作者,以及 Tree-sitter 解析庫的作者。
(2)它基於 Rust 語言,充分利用多核 CPU 和 GPU,追求極致效能,速度極快。
(3)它內建了 VS Code 的很多外掛功能,比如 LSP(語言伺服器協議)、程式碼提示補全、多人實時編輯、AI 助手等。
(4)它的開發非常活躍,GitHub 倉庫的星星已經達到了 49K。
安裝後,我一開啟就覺得非常清爽,極簡主義的介面,佈局跟 VS Code 類似,沒有學習成本,可以直接上手。
它的速度真是快,不管什麼操作,一點即開。用久之後,再用 VS Code 都不習慣了。
程式設計需要的功能,大部分開箱即用。如果沒有的話,可以去外掛市場找找。
有些功能,我覺得很實用。比如,它有一個大綱皮膚(下圖左),列出當前指令碼的所有函式,點選函式名可以跳轉到函式實現。
它還可以新增參與人(必須有 GitHub 賬號),讓你跟多人實時協作、聊天。
參與者的頭像顯示在視窗右上角。
雖然它有上面這些優點,但也有一些難以忽視的問題。
(1)它不是真的跨平臺,目前只有 Mac 版本最完善,Linux 版本我遇到了不少問題,Windows 版本官方暫未支援。
(2)很多地方還沒來得及做,你經常會遇到一些小功能缺失,找不到解決方法。
(3)它的設定就是一個大的 JSON 檔案,沒有圖形設定介面,動不動就要查文件。
(4)AI 助手只支援 OpenAI、Claude 和本地執行的 Ollama 模型。
我的結論是,它的表現非常出色,但沒有完全準備好,只適合那些看重效能、願意自己解決問題的程式設計師。
總的來說,Zed 是 VS Code 很好的替代品,奉行極簡主義,不臃腫,內建功能完備。明年的這個時候,它也許會讓 VS Code 不再那麼流行。
[本週軟體]302.AI
面對層出不窮的 AI 模型,你會不會有一種想法,如果存在一個統一的使用入口該多好?
事實上,真有這樣的產品。週刊以前介紹過一個網站 302.AI,就是這種思路。
它的定位是"AI 應用超市",可以看作是一個適配層,適配了各種各樣的 AI 模型,讓你都能透過它來使用。
你可以直接使用各種模型,也可以使用"工具超市"預置的30多種 AI 應用,比如下圖的"AI 學術論文搜尋"。
它還提供 API 呼叫,透過它的伺服器,呼叫各種模型的 API。
它有試用額度,此後按照使用量收費,一般是底層模型原始價格的五折。
最後,它本週開源了,各種官網工具的原始碼都放出來了,倉庫地址 github.com/302ai。他們用 Next.js,你可以用來開發自己的 AI 應用。
科技動態
1、34階魔方
普通的魔方是3階的,即長寬高各3個色塊,但也有其他階的魔方。
上圖是2階、4階、5階的魔方。
最近,有人用 3D 印表機做了一個世界最高階的魔方,達到34階。
這麼大的魔方,轉動起來很不方便,已經不適合用來遊戲,而是適合擺弄許多奇特的造型。
隨著 3D 列印的普及,做出更高階的魔方也不是難事,但是缺乏實際意義。目前,量產的最高階魔方是17階。
2、Ping 時鐘
ping 是一個命令列工具,用來顯示本機到伺服器的訊號傳輸時間。
一位國外程式設計師突發奇想,製作了一個 Ping 時鐘,在鐘面上顯示 ping 的耗時。
它的鐘面有兩根指標,長指標是每次 ping 的毫秒數,短指標是最長耗時。
鐘面下部是液晶螢幕,顯示當前所在網路,以及目標伺服器。
每次只要執行 ping 命令,就能很直觀地看到,長指標不停地擺動,網速視覺化了。
這個時鐘的原始碼,已經開源了,使用 ESP32 晶片、一個微型電機和定製的 PCB 電路板。有電路基礎的同學,完全可以自己動手製作。
3、麻雀的新用途
麻雀有什麼用?澳大利亞科學家想出一個新用途。
澳大利亞是世界主要的鉛生產國,有28個鉛礦。鉛會造成人體中毒,對兒童影響尤其大。
科學家一直尋找監控方法,能夠測試環境的鉛洩漏。他們想到了麻雀。
麻雀比人類,更早攝入環境中的化學物質。只要抓住麻雀,測一下它們的血鉛,就能瞭解是否有鉛洩漏,從而可以早期發出報警(下圖)。
4、其他
(1)一位美國物理學家總結出貓的行為方程,已知貓的質量和疲勞係數,可以算出貓從 t0 到 t1 的位移,該公式的目的是"喚起非專業人士對經典力學的興趣"。
(2)CDN 服務商 bunny.net,推出邊緣函式功能,基於 Deno,可以備用。
文章
1、如何簡化 PATH 環境變數(英文)
Linux 系統有一個環境變數 PATH,指定可執行檔案的預設路徑。本文告訴你,怎麼簡化這個變數,更容易管理。
2、AppData 目錄的作用(英文)
一篇科普文章,Windows 11 有一個 AppData 目錄,它有什麼用。
3、藍芽版本的變化(英文)
本文介紹藍芽協議如何進化,每個版本的特點是什麼。
4、業務邏輯不要放入資料庫(英文)
本文提出,資料庫最好只用來存放資料,不要加入業務邏輯,讓應用程式處理業務邏輯。
5、SAML:技術入門(英文)
一篇長文,介紹企業用的登入協議 SAML。開頭部分是 SAML 簡介,寫得挺好,後面是技術細節,可以不看。
6、質能公式與光速(英文)
一篇物理學科普長文,談怎麼理解質能公式 E=mc^2,為什麼包含光速的平方。沒有數學,我覺得很有啟發。
工具
1、PasteBar
開源的桌面軟體,用來管理剪貼簿,可以搜尋剪貼簿歷史,以及預設常用的貼上項(比如地址),支援 Windows 和 Mac 系統。
2、FastHTML
一個 Python 的 Web 框架,Django 的替代品,用起來更簡單。
3、Kagi 翻譯
搜尋引擎 Kagi 推出的翻譯服務,類似於谷歌翻譯。
4、Star
一個 Web 應用,在手機開啟以後,它會利用手機的運動感測器,顯示某一顆你指定的衛星相對你的方位。
5、kkTerminal
一個開源的網頁終端,在網頁上透過 SSH 連入遠端主機。(@zyyzyykk 投稿)
6、ReactPress
一個基於 Next.js 的部落格和 CMS 系統,檢視 demo 站點。(@fecommunity 投稿)
7、PDFMathTranslate
開源的命令列工具,使用 AI 翻譯 PDF 檔案,完整保留排版。(@Byaidu 投稿)
8、dimmer
開源的 Chrome 瀏覽器外掛,暗黑模式一鍵切換。(@slc3a2 投稿)
9、ThriveX
一個開源的部落格系統,基於 Next14 + Spring Boot。連結是前端倉庫,另有後端和控制檯。(@LiuYuYang01 投稿)
10、Trayce
這個工具攔截本地開發環境中 Docker 容器傳送和接收的 HTTP(S) 請求。
11、ngtop
一個命令列工具,用來查詢 nginx 日誌。
12、InputShare
電腦連線安卓裝置之後,這個工具可以把電腦的鍵鼠和剪貼簿,共享給安卓裝置,只支援 Windows。(@BHznJNs 投稿)
資源
1、逆向工程教程(Reverse Engineering For Everyone)
面向初學者的逆向工程英文電子書,涵蓋了 x86 和 ARM 架構。
2、一站式 iframe 生成器
HTML 的 iframe 元素有很多屬性,這個工具網站可以檢視所有屬性值,並生成最終程式碼。(@wincatcher 投稿)
3、Chromium 的命令列開關
這個網頁收集 Chromium(Chrome)瀏覽器的命令列開關,居然有1600多個。
4、Typst 介紹(英文)
Typst 是一種排版工具,可以生成論文、小冊子、表格等,功能類似於 LaTeX,但是寫法類似於 Markdown,用起來相對簡單。
圖片
1、犰狳化石
一個阿根廷農民發現,路邊有四個奇怪的大土塊。
後來經過生物學家辨認,這居然是四個巨型犰狳的化石,這種動物已經在一萬年前滅絕了。
犰狳是一種看上去很像穿山甲的動物,外面披著一身鎧甲。下面就是現代小型犰狳的照片。
巨型犰狳的滅絕原因,有一種說法是跟人類有關,古人想要它們的鎧甲。
2、因紐特人的雪鏡
雪地和冰面會強烈反射陽光,導致視力受損,這叫做"雪盲症"。因此,雪地活動都需要佩戴墨鏡或保護鏡。
因紐特人是美洲北極圈的原住民,已經在那裡定居了幾百年。他們在原始條件下,怎麼防止雪盲症呢?
原來他們使用各種材料(骨頭、木頭、鯨鬚)製作雪鏡,戴在眼睛前,只留出一條窄縫觀察外界。
這種眼鏡限制了進光量,保護了佩戴者的眼睛,也有助於提高視力。它就像針眼相機一樣,狹縫聚焦光線,使得遠處的物體看起來更清晰。
文摘
1、語音 UI(大多數情況下)很糟糕
AI 的發展,使得語音可以成為使用者介面,這稱為"語音 UI"。
有人認為,語音 UI 將是終極 UI,因為當你可以直接說出命令,為什麼還要費心使用鍵盤和滑鼠呢?
我不相信語音會成為通用介面,原因有很多。
(1)聲音本質上無法表達抽象思想。很多時候,我們的大腦裡面只有零碎的意識,很難找到正確的詞語,將它們表達出來。
(2)語音讓很多事情變得更難而不是更容易。理論上,說出"叫一輛網約車去機場"似乎是完成任務的最簡單方法,但是如果你還有其他要求,比如指定車型和限價,口頭表達就會很麻煩。
(3)語音侵犯隱私。你說出指令的時候,願意被別人聽到嗎?
(4)視覺 UI 可以展示軟體的侷限性,語音 UI 就不行。很多事情,軟體無法做到,視覺 UI 可以幫助我們瞭解軟體的功能。如果沒有視覺 UI,你很難發現軟體不能做什麼事。
(5)使用者不喜歡一直說話。使用語音完成簡單的任務是可以的,但要完成所有事情很快就會變得煩人,難道你要一直說個不停嗎?
(6)語音無法解決現實世界中的歧義。語言表達可能存在大量歧義,無法透過純語音介面輕鬆解決。人工智慧可能無法正確理解你想要完成什麼。
當然,視覺 UI 也有歧義,但是這會更困難,因為你的操作有視覺反饋。
言論
1、
美國的線上教育公司 Chegg,業務是幫助完成家庭作業。學生輸入題目後,它會分發給印度的數千名承包商,讓他們提供答案。
ChatGPT 誕生後,學生不再使用這個服務了,而是直接問 ChatGPT。Chegg 的股價已經下降了99%。
-- 《ChatGPT 如何擊垮線上教育巨頭》
2、
大多數哲學的目的,都是強化你的身心,讓你學會,對於那些自己無法控制的事情要漠不關心、
-- 《禁慾主義》
3、
作為一個德國人,我每月支付的醫保費用是1000歐元左右,另外還要支付差不多金額的個人所得稅。但是,如果我停止工作,結婚並生1-2個孩子,我拿到的失業救濟金 + 生育補助,比我現在的稅後收入還要多。這完全是不可持續的,但政治家們沒人談論這些。
-- Hacker News 讀者
4、
經常有人問我,為什麼2019年決定將 Keras 庫合併到 TensorFlow。
這不是我的決定,而是 TensorFlow 團隊主管的決定。當時我是谷歌 L5 級員工,而他是 L8。如果我不同意這個決定,就需要從谷歌離職。
-- 弗朗索瓦·喬萊(Francois Chollet),神經網路庫 Keras 的作者,本週宣佈從谷歌離職
5、
創業公司的最大風險不是失敗,而是一種不敢嘗試的文化。
-- 《容忍失敗的領導者》
往年回顧
棘手的 AI 版權(2023 #278)
人類和人生的意義(2022 #228)
家庭太陽能發電的春天(2021 #178)
這個社會是否正在變成"賽博朋克"?(2020 #128)
(完)