首頁>資訊 >
保羅·埃格特(Paul Eggert):為什么我們的電腦總是能顯示正確的時間 2021-11-15 18:22:43  來源:36氪

神譯局是36氪旗下編譯團隊,關(guān)注科技、商業(yè)、職場、生活等領(lǐng)域,重點介紹國外的新技術(shù)、新觀點、新風向。

編者按:我們已經(jīng)習慣了電腦一打開就顯示出正確的時間。但這并是非理所當然的,而是有一位名叫保羅·埃格特(Paul Eggert)的計算機科學家一直在負責維護全世界的時區(qū)數(shù)據(jù)庫。這是一項費力不討好的工作,我們每個電腦使用者都應(yīng)該感謝他。本文來自編譯,希望對您有所啟發(fā)。

我開了一個YouTube小頻道,不時地錄制一些短片,記錄如何使用Linux做某些事情。因為Linux,或者更確切地說,用Linux來做一些事情,往往是相當復雜的。

創(chuàng)建我自己可以參考的文檔是很好的,如果其他人也發(fā)現(xiàn)它很有趣就更好了。昨天晚上,我錄了一個簡短的視頻,介紹如何查找時區(qū)數(shù)據(jù)庫(tzdb),以找到在某個世界時鐘程序(gworldclock)上表示時區(qū)的正確方法。這段視頻讓我接觸到了一個奇妙而怪異的世界。

正如大多數(shù)技術(shù)人員所知,時區(qū)設(shè)置是計算機的一個相當基本的特性,大多數(shù)操作系統(tǒng)都將其寫入圖形用戶界面(GUI)。時區(qū)與地區(qū)相關(guān)聯(lián),而設(shè)置地區(qū)通常是基于粗略的地理位置,用戶可以手動重寫。一旦設(shè)置好,用戶通常不需要更改它,除非用戶去了其他國家。

當然,Linux提供一個可以高度定制的環(huán)境,是大多數(shù)程序員比較喜歡的。這樣我們可以近距離觀察一些神秘的技術(shù)是如何運作的。

如果你想知道你的計算機在Ubuntu Linux中配置的時區(qū),你可以在終端中運行" timedatectl "命令。

這個特殊的制作過程讓我在昨天凌晨有了一系列完全出乎意料的發(fā)現(xiàn)。

所有基于Linux和mac的計算機都從一個非常重要的數(shù)據(jù)庫(時區(qū)數(shù)據(jù)庫)中提取時區(qū)。定義時區(qū)的過程是集中完成的。這實際上是一件大事,因為人們往往嚴重低估Linux對整個互聯(lián)網(wǎng)和我們所知的技術(shù)的關(guān)鍵作用。Linux可能只占桌面用戶的一小部分,是電腦迷和計算機開發(fā)人員最喜歡的操作系統(tǒng)。但在服務(wù)器領(lǐng)域,它實際上是占主導地位的操作系統(tǒng),特別是在公共云基礎(chǔ)設(shè)施上,它正在迅速取代本地基礎(chǔ)設(shè)施在從主機向用戶獲取數(shù)據(jù)包方面所扮演的角色。從天氣預報到模擬物理實驗,世界上幾乎所有的超級計算機都在Linux上運行。Android是Linux的一個分支。如果您曾經(jīng)使用過Android設(shè)備、接收過天氣預報或訪問過網(wǎng)站,那么您已經(jīng)從Linux的存在中受益了。

時區(qū)數(shù)據(jù)庫(有時被稱為Olson數(shù)據(jù)或zoneinfo數(shù)據(jù)庫)有一段迷人的歷史。與大多數(shù)數(shù)據(jù)庫不同的是,時區(qū)數(shù)據(jù)庫比較有趣,以至于有一個關(guān)于它的維基百科條目。還有奇怪的一點是,這個數(shù)據(jù)庫成為了訴訟的對象。事實上,它被認為對全球計算機的運行是非常重要的,以至于ICANN(在許多重要的互聯(lián)網(wǎng)關(guān)系功能中批準頂級域名)把它納入了自己的支持下。這種情況通常只會發(fā)生在某些對互聯(lián)網(wǎng)非常重要的事情上?;蛘吒鼫蚀_地說,數(shù)據(jù)庫的維護現(xiàn)在是互聯(lián)網(wǎng)號碼分配機構(gòu)(IANA)的責任。

你覺得時區(qū)很簡單,甚至無聊,或者還很有爭議?我也是這么想的,直到昨晚。

對于計算機開發(fā)人員來說,時區(qū)顯然是一個長期存在的威脅,而且時區(qū)維護社區(qū)目前似乎陷入了一些關(guān)于“如何最好地維護這個基本數(shù)據(jù)庫”的爭論中。

湯姆·斯科特的一段視頻指出,處理時區(qū)的最好方法就是不要通過將庫集成到代碼中來處理時區(qū)。最好不惜一切代價避免這種情況發(fā)生,不然會引發(fā)各種各樣的問題。他提到一系列令人發(fā)狂的問題、例外情況和矛盾。值得慶幸的是,現(xiàn)在任何開發(fā)人員都可以通過簡單地集成時區(qū)數(shù)據(jù)庫來避免這些問題。

這是維護時區(qū)數(shù)據(jù)庫的人做的吃力不討好的工作。湯姆·斯科特的視頻可能讓他抓狂了五分鐘,但對這些人來說,解決這些問題是他們整個職業(yè)生涯的努力。

時區(qū)管理社區(qū)的精英們都是很嚴肅的人,是科技巨頭和重量級人物。比如著名的Java專家史蒂夫·科爾伯恩(Stephen Colebourne),他最近在tzdn的一系列更新中受到了抨擊。至少我是這么理解的。在一篇名為“時區(qū)數(shù)據(jù)庫的大問題”的博客中,科爾伯恩(Colebourne宣)稱:

保羅·埃格特(Paul Eggert)是IANA時區(qū)數(shù)據(jù)庫的項目負責人,該職位被稱為TZ協(xié)調(diào)員。他是該領(lǐng)域的專家,數(shù)十年來一直致力于記錄時區(qū)數(shù)據(jù)。不幸的是,他現(xiàn)在無視所有反對他的行動,似乎只有他決心解決一個虛構(gòu)的問題,只有他認為這是重要的。

科爾伯恩的尖銳批評已經(jīng)引起了其他時區(qū)人的憤怒。他們指責科爾伯恩的聲明過于草率。

看起來,不僅時區(qū)巨人們目前還不能就時區(qū)數(shù)據(jù)庫向前推進的最佳方式達成一致,時區(qū)的編纂和標準化的整個過程也是一項具有長期動蕩歷史的有爭議的政治事務(wù)。

實際上,時區(qū)維護過程被嚴格控制,并與主要的行業(yè)利益相關(guān)者共享。但最終,時區(qū)數(shù)據(jù)庫代表著對其決定的一種最終仲裁,至少在技術(shù)上是這么解釋時區(qū)的。

很多國家的人都受到時區(qū)調(diào)整的困擾。一名用戶說:“我們有一個阿塞拜疆的客戶,他很生氣自己的時區(qū)被顯示為亞洲/埃里溫?!?/p>

此外,我還了解到,獨立前的愛爾蘭曾實行過自己的時區(qū),后來又被英國人取消了。

這就是為什么世界時區(qū)社區(qū)的官方源代碼讀起來不太像文本數(shù)據(jù)庫,我認為它是一種完全自成一體的文學形式。

大多數(shù)計算機用戶可能從未聽說過時區(qū)數(shù)據(jù)庫或它的維護人員,但時區(qū)維護人員和他的團隊的決定影響著全世界數(shù)億用戶的計算機。

這個項目的負責人是保羅·埃格特(Paul Eggert),他是加州大學洛杉磯分校計算機科學系的計算機科學家。他多年來一直致力于在計算機上協(xié)調(diào)時區(qū)。

埃格特的學生談起他時,語氣里充滿了敬畏,據(jù)說他是一個對事情非常苛責的人。

“時區(qū)之王”的工作絕不能掉以輕心。他在這種壓力下生活了十多年??梢哉f,埃格特是世界時區(qū)大師,他致力于維護全球時區(qū)系統(tǒng)。

埃格特和一個小團隊的團隊維護的項目位于一個堆棧的底部,而這個堆棧是數(shù)億臺計算機的基礎(chǔ)。很多初創(chuàng)公司宣稱他們在現(xiàn)有技術(shù)上取得了重大進展,還有一些更狂熱的公司宣稱他們找到了將空氣中的水轉(zhuǎn)化為石油的方法。許多這樣的創(chuàng)業(yè)公司將在短短幾年內(nèi)消失。但時區(qū)數(shù)據(jù)庫不會,因為它不能。

那些處于技術(shù)堆棧最底層的人,那些不知疲倦、吃力不討好地維護著開源項目的人,也在默默無聞地煎熬著。

昨天我了解到了時區(qū)數(shù)據(jù)庫(tzdb)的存在,它提供了時區(qū)配置的權(quán)威數(shù)據(jù),全世界每天都有數(shù)億臺計算機在使用它。

在過去的一年里,我重新安裝了幾十次電腦。電腦上的許多東西要么周期性地失效,要么根本不能工作,但時區(qū)檢測程序在任何時候都能完美地工作,甚至不受夏令時的影響。

如果不是時區(qū)數(shù)據(jù)庫的存在,電腦上的時間不可能運行得這么好,那么我可能會錯過會議,或者在面試中遲到。如果沒有這個時區(qū)項目,我的生活可能會有所不同。

近年來,該項目已納入ICANN的管轄范圍,它的代碼讀起來像是JSON文件和歷史小說的混合體。

雖然我確信這個項目有很多無私的貢獻者,但最終確實還是只有一個人負責維護它。那就是“時區(qū)之王”保羅·埃格特。他是加州大學洛杉磯分校的計算機科學家。我們可能都欠他一聲“謝謝”。

譯者:Jane


關(guān)鍵詞: 保羅 格特 正確

相關(guān)閱讀:
熱點
圖片 圖片