跳至主要内容

2024-08-03

我們的欄位用完了

  • 「Jimmy Miller 的《We ran out of columns》描述了他第一份軟體工作的混亂但引人入勝的代碼庫,並強調了一個名為 Merchants 的資料庫表格因欄位不足而導致創建了 Merchants2。」
  • 「代碼庫混合了 VB、C#、各種 JavaScript 框架和大量的 SOAP 服務,並且存在一些顯著的問題,例如開發人員未提交代碼,導致難以追蹤的錯誤。」
  • 「儘管程式碼庫有些混亂,但它允許創意的問題解決,開發者可以自行找出解決方案,從而形成一個解耦合的系統,並與使用者建立獨特且直接的連結。」

評論

  • 「一位開發者分享了他在第一家公司遇到的一個混亂的程式碼庫經驗,該程式碼庫缺乏版本控制,並且有大量的全域變數。」
  • 「透過在客戶端安裝 Visual Studio 並以除錯模式運行應用程式來修復錯誤,導致在共享磁碟上存儲了多個名稱不一致的版本。」
  • 開發者最終為新專案引入了現代化的實踐,如 git、Linux 和持續整合(CI),但舊專案依然保持不變,突顯了改進功能失調的代碼庫所面臨的挑戰。

p5.js

  • p5.js 函式庫提供了一系列範例和社群草圖,幫助使用者學習和探索其功能。
  • 值得注意的專案包括 Geodata Weaving、Slime Molds、Generative Succulents、Padrão Geométrico、Zen Pots 和 Glitch animation,展示了該圖書館的多樣性。
  • 用戶可以通過捐款或下載 p5.js 函式庫來支持它。

評論

  • “p5.js 在 2023 年獲得了主權科技基金 45 萬歐元的資助,用於改進其文件和可及性,並推出了一個新的、使用者友好的網站。”
  • 使用者欣賞 p5.js 的初學者友好特性,但指出其相較於 d3 或 three.js 等函式庫在效能上有所限制。
  • 新網站獲得了正面評價,儘管有些使用者懷念 p5.js 源自 Processing 專案的背景,而該專案曾面臨預算分配的批評。

Tauri 2.0 候選版本

  • 「Tauri 2.0 釋出候選版本已經宣布,預計在八月底前推出穩定版本,重點在於完成文件和修復關鍵錯誤。」
  • Tauri 2.0 引入了對行動開發的基礎支援,儘管尚未達到與桌面功能的對等,並且包含了一些重大變更,例如核心插件的固定命名空間和 Rust API 的重構。
  • 外部安全審計已經完成,所有問題均已修復,完整報告將很快發布;我們鼓勵社群成員參與文件撰寫和問題解決。

評論

  • 「Tauri 2.0 釋出候選版本已經宣布,引發了用戶對其功能和潛在改進的熱烈討論。」
  • Tauri 是一個框架,用於使用前端框架創建小型且快速的二進位檔案,這些前端框架會編譯成 HTML、JavaScript 和 CSS,而後端邏輯則使用 Rust、Swift 和 Kotlin 等語言。
  • 用戶將 Tauri 與 Electron 進行比較,指出 Tauri 的輕量級特性和原生整合,同時也討論了其安全性、跨平台 UI 以及如 Linux 網頁元件問題和需要更好文件等挑戰。

kdb+ 的未來?

  • kdb+ 是一種強大的歷史市場數據存儲和分析技術,但像 Clickhouse、QuestDB、Bigquery 和 Redshift 這樣的替代方案現在在速度上也具有競爭力。
  • 「對於本地定量分析,建議使用 Python 搭配 DuckDB、Polars 或 PyKX,因為這些工具具有良好的可及性和成本效益。」
  • kdb+ 的即時串流和分散式計算能力未被充分利用,而像 Kafka 和 Flink 這樣的技術則越來越受歡迎。

評論

  • 討論的焦點是 kdb+ 的未來,一個高效能的時序資料庫,以及其潛在的繼任者。
  • 「像 TimeScale(PostgreSQL 擴充套件)、DuckDB 和 ClickHouse 這樣的替代方案因其性能和成本效益而受到重視。」
  • 專有性質和高昂成本是 kdb+ 的主要缺點,這促使一些人考慮使用開源解決方案,如搭配 DuckDB 和 Polars 的 Python 進行時間序列分析。

「Hanon Pro – 數位時代的鋼琴技巧與練習」

  • 「Hanon Pro 是一款現代鋼琴練習應用程式,適用於 iPhone、iPad 和 Mac,提供進度追蹤、反饋和練習習慣養成等功能。」
  • 進階功能包括效能分析、自動翻頁,以及當透過藍牙或 USB 連接到 MIDI 鍵盤時的互動功能。
  • 該應用程式支援 iCloud 同步、每日練習提醒和成就,並使用 SwiftUI 和 Core MIDI 開發,兼容 iOS 17。

評論

  • 《Hanon Pro》是一款鋼琴技巧應用程式,提供練習和反饋,專為數位時代設計。
  • “使用者反映應用程式在使用 MIDI 控制器時會崩潰,並表示希望能夠進行 MIDI 播放以及擁有更靈活的練習選項。”
  • 該應用程式需要 iOS 17 以上版本,這讓使用舊款裝置的用戶感到沮喪。改進建議包括更好的裝置相容性以及新增進度追蹤和自訂分數上傳等功能。

Lisp 含 GC 在 436 字節內

  • 「SectorLISP 現在包含了垃圾回收功能,將一個高階垃圾回收編程語言嵌入到軟碟的 512 位元組啟動區段中,僅使用了 436 位元組。」
  • 這使得 LISP 成為最小的程式語言,超越了 FORTH 和 BASIC,並且自 1981 年以來,所有具有至少 64kb 記憶體的 PC 型號都相容。
  • 該專案展示了顯著的優化,將 i8086 組合語言的實現再減少了一百個位元組,並包含一個 40 位元組的垃圾回收器,二進位檔和原始碼可在 GitHub 上取得。

評論

  • 「一個具有垃圾回收(GC)功能的 Lisp 解釋器僅用 436 字節實現,展示了程式設計中極簡主義的驚人壯舉。」
  • 「該專案託管於 justine.lol,因其緊湊且高效的設計而獲得了廣泛的關注和讚賞,並參考了先前的作品,提供了教育性的見解。」
  • 「討論強調了在創建極簡主義解釋器與維持“真正”Lisp功能性之間的平衡,並引發了關於像Brainfuck這樣的程式語言及其實際應用的辯論。」

「我製作了 Vimtutor 的擴展版本——介紹 Vimtutor 續集」

  • 《Vimtutor Sequel》提供進階的 Vim 課程,包括指令、技巧、逐步教學和互動練習。
  • 安裝可以通過 Homebrew 或從 GitHub 複製儲存庫來完成,兩種方法的詳細說明都有提供。
  • 此工具依據 MIT 授權條款授權,並歡迎根據 CONTRIBUTING.md 中的指南進行貢獻。

評論

  • Vimtutor Sequel 是原版 Vimtutor 的擴展版本,針對熟悉基本 Vim 命令並希望學習進階功能的使用者。
  • 主要功能包括分割視窗教學、拼字檢查、高級搜尋與替換、巨集、Vim 腳本、插件、工作階段和寄存器,並提供自訂的 vimrc 配置以確保一致的學習體驗。
  • 安裝說明提供給 Mac、Windows 和 Linux,創作者正在尋求透過 GitHub 儲存庫獲得反饋和貢獻。

1991 WWW-NeXT 實作

  • 這個 GitHub 儲存庫鏡像了 Tim Berners-Lee 的原始 WorldWideWeb 應用程式,展示了第一個原型超文字瀏覽器/編輯器,適用於 NeXT。
  • 「該應用程式允許存取超文字伺服器、檔案和新聞,提供了早期網路功能的一瞥。」
  • 此儲存庫包含一個歷史變更記錄,提交日期回溯至每個檔案的最後修改日期,以保留原始時間線。

評論

  • 1991 年的 WWW-NeXT 實作已在 GitHub 上公開,激起了科技愛好者和數位考古學家的興趣。
  • 「此版本突顯了網頁早期的圖形化特性,與當時更為常見的文字瀏覽器形成對比。」
  • 該專案展示了 Objective-C 和 NeXTStep 的使用,強調了對於 Tim Berners-Lee 原始網頁瀏覽器/編輯器至關重要的快速應用程式開發能力。

研究人員開發出能夠在腦部通路中殺死膠質母細胞瘤細胞的治療方法

  • 來自麥克馬斯特大學及其他機構的研究人員已經識別出一條由膠質母細胞瘤細胞使用的新腦路徑,並開發出一種有前景的療法來阻斷並殺死這些腫瘤。
  • “這項研究於2024年8月2日發表在《自然醫學》上,顯示使用CAR T細胞和一種藥物針對這條途徑顯著提高了臨床前模型的存活率。”
  • 該療法專注於ROBO1蛋白,在三種癌症模型中將存活時間增加了一倍,並在兩種疾病中有50%的病例中消除了腫瘤,為膠質母細胞瘤和其他侵襲性腦癌帶來了希望。

評論

  • 研究人員已經開發出一種新療法,可以殺死膠質母細胞瘤細胞,這是一種具有高度侵襲性的腦癌,歷史上存活率極低。
  • 「理查德·斯科爾耶博士正在治療自己的膠質母細胞瘤,他已經顯示出超過一年無復發的有希望結果,這突顯了這種新方法的潛力。」
  • 討論強調了治療癌症的複雜性和挑戰,指出雖然免疫療法對某些癌症有效,但並非對所有腫瘤都有效,而像生酮療法這樣的替代治療仍然存在爭議。

現代 Java 中的常見 I/O 任務

  • 「Cay Horstmann 的文章討論了 Java 中常見的 I/O 任務,特別是針對網頁應用程式,例如讀取/寫入文字檔案、處理 JSON 和操作 ZIP 檔案。」
  • 它強調了自 Java 8 以來的 API 改進,包括從 Java 18 開始將 UTF-8 設為預設編碼,以及對 java.nio.file.Filesjava.io.InputStream 類別的增強。
  • 本文提供了實用的程式碼範例,涵蓋讀寫文字檔案、處理輸入流以及操作目錄和 ZIP 檔案,強調使用現代的 Files 方法取代舊版的 File 類別。

評論

  • 討論集中在 Java 的 URLURI 類別的怪癖和問題,特別是關於相等性檢查和 DNS 解析。
  • 強調 Java I/O 從 java.io.Filejava.nio.file.Path 的演變,著重於非阻塞 I/O 和更好的抽象。
  • 提到使用 Java 的 I/O API 時的實用建議和常見陷阱,例如在流中處理例外狀況以及使用 var

「法官暫停聯邦通信委員會網路中立性恢復規則」

評論

  • 「一名法官已暫停聯邦通信委員會(FCC)的網路中立性恢復規則,加劇了圍繞網路中立性的法律衝突。」
  • 這項暫停措施是繼最高法院裁決削減聯邦監管權力之後的結果,導致監管環境變得不穩定。
  • 批評者認為,這種不穩定性有利於已建立的公司,並使新進入市場的企業運營變得複雜,建議國會應該處理這些問題,而不是由法院來解決。

磁懸浮太空電梯至低地球軌道 (2001) [pdf]

評論

  • “《Hacker News》的用戶正在討論一篇2001年的論文,該論文探討了磁懸浮太空電梯到低地球軌道的概念,並回憶起《Popular Science》中的類似概念。”
  • 辯論涵蓋了技術挑戰,包括對碳納米管和高溫超導體等先進材料的需求,以及纜繩斷裂的風險。
  • 建議的替代方案包括電磁軌道炮和發射環,並討論了太空電梯的經濟可行性和實用性,以及超導材料的進展。

「Meta 在加拿大禁止新聞的一年」

  • Meta 因應 C-18 法案在加拿大實施的新聞禁令,導致加拿大新聞媒體在 Facebook 和 Instagram 上的互動量下降了 85%,整體互動量減少了 43%。
  • 大約 30% 的本地新聞媒體在社群媒體上已經不再活躍,只有 22% 的加拿大人知道這項禁令。
  • 「儘管有禁令,仍有36%的用戶透過變通方法接觸到新聞內容,但加拿大人在這些平台上每天少看了1100萬次新聞,整體上消耗的新聞量減少,且透過更有偏見的視角來接收新聞。」

評論

  • “Meta 在加拿大的新聞禁令,受到報紙遊說者和政治人物的影響,要求平台為新聞內容付費,導致 Meta 封鎖新聞連結。”
  • 「批評者認為,儘管新聞內容仍然可以透過截圖等變通方法出現,但該禁令通過移除有益的免費社群媒體連結,對新聞機構造成了傷害。」
  • 目前的辯論質疑 Meta 是否應該為新聞內容付費,並擔心這可能會導致新聞消費減少、偏頗資訊增加,以及對新聞機構收入和生存的影響。

邁向 POSIX 使用者空間化 – 第一部分:信號處理和 IO

  • Redox OS 獲得了 NGI Zero 的資助,用於在使用者空間中實現 POSIX 信號處理和進程管理,這將允許一年時間專注於核心和組件的改進。
  • “方案封包格式的改進和新增的系統呼叫(SYS_PREAD2 和 SYS_PWRITE2)使 RedoxFS 的複製效能提升了 63%,類似於 io_uring 的效率。”
  • 該專案旨在將更多 POSIX 邏輯移至使用者空間,並改進訊號處理,未來計劃開發一個使用者空間的程序管理器以及進一步的核心增強功能。

評論

  • POSIX 允許多個進程共享文件描述符(FDs),這對於類 Unix 系統和能力導向的安全性至關重要,但這種共享可以移至使用者空間。
  • 在 FDs 中的全域游標使並發存取變得複雜,需要同步處理,而 Rust 的 std::fs::File API 通過可變性要求解決了這個問題,其他語言可能會面臨錯誤或需要複雜的 API。
  • 現代應用程式和系統程式設計正在演變,以平衡 POSIX 的歷史設計與對更模組化和安全介面的需求,利用像 D-Bus 和 Linux 的 plan9 命名空間等工具來實現更好的隔離和安全性。

適用於工作程序員的原始遞歸函數

  • 「這篇文章強調了理解圖靈完備性和原始遞迴函數的重要性,這些在電腦科學教育中經常被忽視。」
  • 它強調了許多實際問題可以在非圖靈完備的語言中實現,這些語言提供了如確定性和安全性等優點。
  • 「討論包括有限狀態機、圖靈機和原始遞迴函數之間的差異,指出原始遞迴函數總是會終止,並且可以計算許多實用的函數。」

評論

  • 本文探討了原始遞迴函數及其在確保程式終止方面的重要性,並與結構化程式設計原則相一致。
  • 它討論了圖靈完備性的限制,以及像 CUE 和 Dhall 這樣的語言能夠保證終止的優點。
  • 這段對話探討了證明函數終止的實際挑戰及其對配置語言的影響,並在計算能力與安全性之間取得平衡。