<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>軟體考古學家</title>
    <link>https://blog.brachiosoft.com/</link>
    <description>Recent content on 軟體考古學家</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-TW</language>
    <lastBuildDate>Mon, 01 Jul 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.brachiosoft.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Git 的故事：這一次沒這麼好玩</title>
      <link>https://blog.brachiosoft.com/posts/git/</link>
      <pubDate>Mon, 01 Jul 2024 00:00:00 +0000</pubDate>
      
      <guid>https://blog.brachiosoft.com/posts/git/</guid>
      <description>Linus Torvalds 曾寫了一本書提到，當初創造 Linux 只是因為好玩，卻意外掀起一場革命。Git 是 Linus 的第二代表作，同樣也是意外的革命，是現在軟體工程師的標配，但至少對 Linus 本人來說，它的起源可就沒這麼好玩了。
Linus 擴展不了 1998 年是 Linux 風光的一年，許多大公司，如昇陽、IBM 和甲骨文，都紛紛投入 Linux 的業務。那年春天，Linus 的二女兒出生，他們一家從芬蘭搬到美國加州也差不多一年，生活步入正軌。雖然 Linux 還尚未給 Linus 帶來什麼收益，但 Linus 也可算是事業家庭兩得意。
反觀 Linux Kernel 的開發者社群，隨著愈來愈多人加入開發，既有的合作方式開始力不從心。Linus 開始顯得沒辦法跟上開發者們修改程式碼的速度，逐漸成為瓶頸。
1998 年 9 月 28 日，Linus 和往常一樣，讀著 Linux Kernel 郵件列表上的信。
請不要浪費時間送修補了，這些在 vger 上早就修好了。
Linus 看到這句話不太高興。一直以來，Linux 程式碼的修改重度仰賴 Linus 本人，Linus 本人就是版本控管。如果你要修改程式碼，寄封信到郵件列表上，Linus 看到了並認可，就會將你的修補送進他自己的版本，然後不時在 FTP 上釋出新版本。Linus 喜歡這樣的合作方式，因為他可以掌控一切變更，大家也信任 Linus，覺得 Linux 本來就該由 Linus 掌控。
但自從 David Miller，一位 Linux Kernel 的資深開發者，架設了一個名為 vger 的 CVS 伺服器，有些人就以為可以繞過 Linus 本人，將變更送到 vger 就沒事了。這不是 Linus 第一次遇到同樣的問題，他在郵件列表上不悅的回應：</description>
    </item>
    
    <item>
      <title>毀滅戰士們：草創之初</title>
      <link>https://blog.brachiosoft.com/posts/doom-1/</link>
      <pubDate>Tue, 11 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://blog.brachiosoft.com/posts/doom-1/</guid>
      <description>如果 Facebook 創立的故事可以拍成《社群網戰》，好萊塢遲早會將 David Kushner 寫的《Masters of Doom》拍成電影。
實際上，在 2019 年真的有人想把《Masters of Doom》拍成電視劇。James Franco 和 Dave Franco 兄弟共同製作了首集，但最後 USA Network 決定不投資，使得這部劇無疾而終。然而有眼尖的網友找到幾張劇照，重現當年 Softdisk 辦公室的模樣。
Softdisk 正是兩個約翰：John Romero 與 John Carmack 初次相遇的地方。他們倆與另外二人，Tom Hall 和 Adrian Carmack，共同創辦了 id Software，開發了《毀滅戰士》（Doom）和《雷神之鎚》（Quake）等傳奇遊戲，開創了第一人稱射擊（first-person shooter）這種遊戲類型，從此顛覆了遊戲產業的樣貌。
Softdisk - Gamer&amp;rsquo;s Edge John Carmack 本來沒有打算加入 Softdisk 的。一直以來，他以接案為生，無拘無束，但是接案只能勉強養活自己，他需要一份正職工作。於是在 Jay Wilbur 和 Tom Hall 再三邀請下，19 歲的 Carmack 從他家堪薩斯城開車到路易斯安那州的雪薇波特（八小時車程），來到 Softdisk 辦公室的所在地。
當 Carmack 在 Softdisk 辦公室見到了 John Romero 等一群資深程式設計師時，他才決定要接下這份工作。在學校時，Carmack 是最聰明的小孩，老師根本沒什麼可以教他的了，他一直以來都是讀圖書館的書自學。然而在 Softdisk，他第一次見識到比他厲害的程式設計師，他覺得在這裡可以向前輩們學到書本上學不到的東西，所以他毅然決定搬到雪薇波特，加入 Softdisk、Romero 的團隊。</description>
    </item>
    
    <item>
      <title>Redis 與作者 antirez 的故事</title>
      <link>https://blog.brachiosoft.com/posts/redis/</link>
      <pubDate>Tue, 09 May 2023 00:00:00 +0000</pubDate>
      
      <guid>https://blog.brachiosoft.com/posts/redis/</guid>
      <description>This article has an English edition.
在資料庫的世界，Redis 獨具一格。其他多數資料庫的中心思想不是表格就是文件，但在 Redis 裡，你直接與鏈結串列（linked list）和雜湊表（hash table）等低階資料結構打交道。
這正是 Redis 作者 Salvatore Sanfilippo（網路名稱 antirez）的獨創設計。精通系統程式設計的 antirez，喜歡用串列、雜湊、集合（set）等資料結構來思考問題，表格或文件這種高階的資料表達方式不合他的味口。在創造 Redis 時，antirez 是資料庫的門外漢，但也許就是他沒經驗，才能為資料庫領域帶來新想法。
多年後的今天，Redis 已成為主流，幾乎所有網路服務背後都能見到它的蹤影。在 Stack Overflow 的調查報告上，Redis 更是蟬聯五年最受愛戴的資料庫。
antirez 早年生活 antirez 在義大利西西里長大，小時候，他的父親在一間石化公司工作，擔任電工，藉此接觸工業自動化的問題。80 年代，他父親開始使用可編程邏輯控制器（PLC），並對這些控制器產生興趣，於是他買了一塊 Z80 處理器的板子，開始在上面寫程式。
antirez 六歲時，家裡買了第一台個人電腦，TI-99/4A。那是一台商業上不成功，但很有趣的電腦。他父親會那上面寫了一些 BASIC 程式，antirez 有樣學樣，小學一年級時就會打鍵盤、複製 BASIC 程式等。
隨著年齡增長，antirez 繼續寫程式。到了 14 歲，青少年時期的興趣，像是摩托車、女孩子，接踵而至，寫程式這個興趣就被拋諸腦後。直到 18-19 歲時，antirez 才重拾對電腦的興趣，用電腦玩 3D 建模、遊戲，也寫一些簡單的程式。在巴勒摩大學建築學院就讀大學時，他會用 BASIC 來畫圖。BASIC 是他兒時學過的程式語言，也是他當時唯一會的語言。
資安公司 SECLAB 有一天，antirez 想買一張顯示卡，卻不小心買成了數據機，商家不肯退款，antirez 就順其自然：「數據機就數據機吧！」當時是 90 年代，網路逐漸平民化。他連上網路，安裝了 Linux，開始對資訊安全產生興趣。他買了一本 C 語言的書，開始學習 C 語言。不久之後，他發現 ping 程式有一個漏洞。
這個漏洞是這樣的：在 Unix 裡通常有一個限制，如果你不是 root，則無法快速在短時間內發送大量封包。但 antirez 發現透過 Unix 訊號，可以繞過這個限制。</description>
    </item>
    
    <item>
      <title>JSON 的故事：Douglas Crockford 的訪談</title>
      <link>https://blog.brachiosoft.com/posts/json/</link>
      <pubDate>Tue, 11 Apr 2023 00:00:00 +0000</pubDate>
      
      <guid>https://blog.brachiosoft.com/posts/json/</guid>
      <description>專門講軟體開發故事的 Podcast 節目 CoRecursive 最近訪問了 JSON 之父 — Douglas Crockford（以下簡稱 Doug），說他是怎麼想出 JSON 這個現在大家都在用的資料格式，以及他是怎麼推廣它的。
Doug 除了是 JSON 的發明人，也是 JSLint 和 JavaScript 經典名書 &amp;ldquo;JavaScript: The Good Parts&amp;rdquo; 的作者。
JavaScript 簡介 剛接觸 JavaScript 時，Doug 覺得它是他看過最蠢的東西。
JavaScript 最早的名字 Mocha，後來改名成 LiveScript。當時網景（Netscape）和昇陽（Sun）結盟以對抗微軟，他們把 Java 放進 Netscape 瀏覽器，創造了 Java Applet。昇陽便要求網景：「既然有了 Java，你們應該要拿掉 LiveScript，不然怎麼說服大家 Java 是大家最後需要的語言？」
網景不想服從，他們不想抹去多年的努力，於是某個人（傳說是 Marc Andreessen）半開玩笑建議：「我們把 LiveScript 改名成 JavaScript，告訴大家 JavaScript 只是 Java 的一部分，這樣不就好了？」昇陽同意。於是他們辦一場記者會向全世界撒謊，造就了 JavaScript 這個愚蠢又誤導人的的名字。
從 Java 到 JavaScript 1990 年代 Doug 在 Electric Communities 工作，EC 是當時的一間大公司，他們建造了一個 3D 虛擬世界，玩家可以在虛擬世界談話、走路、傳送，有點類似第二人生（Second Life）或現在的元宇宙。可惜這個虛擬世界是 Java 寫成的，Java 帶給 Doug 很多問題，其中一個問題是載入時間太長，載入整個環境要三分鐘。</description>
    </item>
    
  </channel>
</rss>
