2011 年巴黎 GNU 黑客會議

地點: 法國巴黎,IRILL (詳細資訊、地圖),自由軟體研究與創新中心。
本次 GNU 黑客會議於 2011 年 8 月 25 日星期四至 8 月 28 日星期日舉行。感謝 IRILL 主辦本次活動並進行錄影,感謝 Inria 提供會議室,以及 FSF 為本次會議提供資金。
IRILL 位於義大利大道 23 號三樓,與 Inria 在同一棟建築內,主要演講將在 IRILL 三樓的 "algorithme" 會議室舉行。IRILL 和 Inria 的入口在 建築物的左側,郵局 ("La Poste") 入口的左側。
行程表
IRILL 設施於 8 月 25 日星期四至 28 日星期日全天開放。
以下是演講行程表。今年的主要主題是可擴展性。
8 月 25 日星期四
- 10:00 — 開幕式
- 10:30 — 使用 MELT 擴展 GCC 以用於自由軟體 (Basile Starynkevitch, Pierre Vittet) (45 分鐘)
- 11:15 — Scilab:與非 IT 人員打交道時的可擴展性問題 (Sylvestre Ledru) (30 分鐘)
- 12:30 — 午餐
- 14:30 — Woodchuck:提升行動裝置的資料可用性 (Neal Walfield)
- 15:00 — 讓舊事物煥然一新 (Reuben Thomas) (45 分鐘)
- 16:00 — 歐洲自由軟體的資金 (Karsten Gerloff - FSFE 主席)
- 17:30 — 參觀 巴黎天文台
8 月 26 日星期五
- 10:00 — GNU/Hurd,又名:從底層開始的可擴展性 (Samuel Thibault) (45 分鐘)
- 10:45 — 迴圈中的使用者 (Andy Wingo)
- 11:30 — GNU epsilon,一種可擴展的程式語言 (Luca Saiu) (45 分鐘)
- 12:15 — 午餐
- 14:30 — GNUstep 和 Étoilé 中的可擴展性 (Quentin Mathé) (45 分鐘)
- 15:20 — Debian 的背景:發行版、上游和下游 (Stefano Zacchiroli,Debian 專案領導者)
- 16:15 — 金鑰簽署會議
- 17:00 — 閃電演講 (每場 15 分鐘) - 建議主題
- GNU LibreDWG (Rodrigo Rodrigues da Silva)
- 從法語 http://racketiciel.info/ 到國際 http://racketware.info/index (Alain Coulais, Cyprien Gay)
8 月 27 日星期六
- 10:00 — 再見世界!在 C 語言中依賴輸出串流的危險 (Jim Meyering) (45 分鐘)
- 10:45 — Org-mode 對 Emacs 的意義,如同 Emacs 對電腦的意義 (Bastien Guerry) (45 分鐘)
- 11:30 — Emacs XWidget 分支 (Joakim Verona) (30 分鐘)
- 12:00 — 午餐
- 14:30 — GNU Free Call—汽車和手機的健康網路 (Haakon Meland Eriksen)
- 15:00 — Emacs Lisp、Guile、JavaScript、硬限制和倫理論證 (Jim Blandy) (45 分鐘)
- 16:00 — 閃電演講 (每場 15 分鐘)
- GNU 參與 Google Summer of Code (Rodrigo Rodrigues da Silva)
- 拉丁美洲的 GNU,或者我們為什麼應該在巴西舉辦 GHM (Rodrigo Rodrigues da Silva)
- 自由軟體和高效能運算 (Juan Antonio Añel Cabanelas)
- GNU 資料語言 (Alain Coulais, Sylwester Arabas)
- GNU Psychosynth (Juan Pedro Bolívar Puente)
8 月 28 日星期日
- 10:00 —
makeinfo
的近期開發方向 (Patrice Dumas) - 10:30 — GNU MPFR 函式庫簡介 (Vincent Lefevre)
- 11:15 — GNU MPC 函式庫簡介 (Andreas Enge)
- 12:30 — 午餐
- 14:00 — 來自 GNU 顧問委員會的消息
- 閃電演講 (15 分鐘)
- 16:30 — Guile-Emacs (BT Templeton)
演講
今年的主要主題是可擴展性。
演講列表如下,通常包含摘要、支援投影片和演講錄影。所有影片和本地託管的投影片均以 創用 CC 姓名標示 3.0 未本地化 授權條款發布,除非另有說明。影片格式為 Ogg。
GNU 黑客會議簡介 (Ludovic Courtes)
(影片)
閃電演講
(影片)
再見世界!在 C 語言中依賴輸出串流的危險 (Jim Meyering)
如果您使用 C 語言開發,並希望應用程式能夠可靠地偵測和診斷輸出錯誤,那麼您不希望使用標準串流輸出函式,例如 putchar
、fputs
、fprintf
等。如果您無論如何都必須使用它們,那麼您將需要擔心一大堆邊緣情況。在這裡,您將看到如何在保持一定程度的可維護性的同時,處理醜陋的現實。
許多程式將部分或全部輸出寫入 stdout
,即標準輸出串流。然而,雖然大多數經驗豐富的程式設計師都意識到關閉他們開啟的所有檔案(並診斷其中的任何故障)的重要性,但很少有人將這種規範應用於 stdout。結果是許多程式無法診斷寫入錯誤。正如您將看到的,雖然應用程式通常不開啟 stdout,但正確關閉它通常與正確關閉任何其他輸出串流一樣重要。我將說明這個問題,並展示如何在可維護且侵入性最小的方式下避免它。雖然處理 stdout 有一些微妙的曲折,但您會發現,穩健地使用任何輸出串流都需要非常謹慎,在某些情況下幾乎是不可能的。最後,您會想知道為什麼任何需要可靠輸出函式的開發人員仍然使用 C 串流。
GNU epsilon,一種可擴展的程式語言 (Luca Saiu)
讓舊事物煥然一新 (Reuben Thomas)
GNU 有許多歷史悠久的專案,這些專案仍然是 GNU 底層運作的核心,並且在許多情況下,仍然被使用者直接廣泛使用。例如 coreutils、grep 和 gcc 以及 Emacs 等程式就屬於這一類。
不幸的是,從事這些程式的工作並沒有被廣泛認為是一件有趣或酷的事情。這很遺憾,原因有兩個:首先,儘管過去幾年努力復甦,但這些程式大多僅處於良好的維護狀態,而沒有像他們本可以做到的那樣進一步開發;其次,使用 C 語言和 GNU autotools 進行程式設計被廣泛認為(尤其是在 GNU 之外)是枯燥、沒有效率且過時的。另一方面,雖然 GNU 工具取得了一些顯著的進展,但這種看法在很大程度上仍然是正確的。
本次演講有兩個主要目的:首先,展示 GNU 工具的最新進展,特別是最近快速發展的 gnulib,它使 C 語言程式設計比多年來更有效率和更有趣;其次,探索剩餘的障礙,並為解決這些障礙提出一些建議,使用現有的成熟工具、尚未廣泛使用的現有工具(通常仍然需要工作),以及一兩個尚未實作的想法;第三,表明不僅有許多必要且有價值的工作要以「傳統 UNIX」風格的程式設計來完成,而且有很多樂趣可以享受,也許最令人驚訝的是對於非核心程式設計師來說,它仍然可以成為令人興奮的創新的框架。
makeinfo
的近期開發方向 (Patrice Dumas)
GNU/Hurd,又名:從底層開始的可擴展性 (Samuel Thibault)
Unix 模型通常將「特權」使用者與非特權使用者強烈區分開來。前者通常擁有所有可能的特權,而後者的特權非常有限,僅限於他們自己的主目錄,充其量有時允許掛載可移除媒體。來自使用者空間的回應之一是 GVFS,它允許 GNOME 應用程式透明地存取不僅系統提議的內容,即實際上是特權使用者提議的內容,還包括使用者空間提供的內容,例如來自 FTP、SMB 等的檔案。另一個有趣的例子是使用 SOCKS 存取內部網路網站。一些瀏覽器原生支援使用 SOCKS Proxy,對於那些不支援的瀏覽器,可以使用 libsocks4 透明地使它們執行此操作。
然而,這些方法(嵌入)是有限的,並且會阻礙組合,因為它們大多必須在原始程式碼中明確說明。如果可移除媒體使用特殊檔案系統格式化怎麼辦?如果無法透過 ssh 存取內部網路網站,而只能透過 VPN 存取怎麼辦?當一個人已經被授予序列埠的存取權限時,為什麼不允許在序列埠上執行 PPP 通道?這些通常在桌面上不是問題,因為非特權使用者實際上也是特權使用者,而且人們已經習慣於透過 sudo、FUSE、TAP 等進行修補,但這仍然很乏味,並且存在潛在的安全漏洞。在全新安裝的系統上,例如,一個人不能直接執行 tar xf /ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.6.0/gcc-4.6.0.tar.bz2
來一次性下載和解壓縮 tarball 嗎?實際上,在 GNU/Hurd 系統上,可以。
有趣的是,即使 GNU 不是 Unix,GNU/Hurd 也使用非常類似 unix 的方法來實現可擴展性:檔案。透過引入翻譯器(實際上是它的真正核心)的概念,GNU/Hurd 讓使用者可以輕鬆完成各種需要在通常的 Unix 系統上具有特殊權限的任務,例如從 shell 存取 iso 映像檔的內容、chrooting、透過 VPN 路由應用程式網路流量、IP 轉換……
本次演講將介紹翻譯器的概念,並透過一些已經運作的翻譯器範例,展示它為「非特權」使用者(即實際上是 #0 自由)帶來的廣泛力量,而不會破壞安全性,以及它與 Linux GVFS/FUSE/CUSE/等的等效項相比如何。
GNU MPFR 函式庫簡介 (Vincent Lefevre)
GNU MPC 函式庫簡介 (Andreas Enge)
(投影片)
介紹 GNU MPC 函式庫,它與 GNU MPFR 函式庫有許多相似之處和一些不同之處。我們討論複數的表示形式和主要實作的功能。還討論了一些為產生高效實作以及正確捨入而選擇的演算法。
[未公開主題] (Jose E. Marchesi)
已取消。
Org-mode 對 Emacs 的意義,如同 Emacs 對電腦的意義 (Bastien Guerry)
Debian 的背景:發行版、上游和下游 (Stefano Zacchiroli,Debian 專案領導者)
Emacs XWidget 分支 (Joakim Verona)
Emacs Xwidgets 是一個實驗性分支,旨在啟用將 GTK+ 小工具嵌入到 Emacs 視窗中。Emacs 抽象稱為 Xwidget,代表 eXternal widget(外部小工具),也參考 XEmbed 協定。
目前,可以在緩衝區中插入按鈕、滑桿、WebKit 瀏覽器和 XEmbed Socket。它的工作方式類似於 Emacs 中對影像的支援。新增更多類型的小工具應該相當簡單,但每種型別都需要轉接器程式碼。
與影像的不同之處在於,xwidget 有自己的生命週期。您可以使用 API 建立它們,取得參考,並使用顯示規格將它們繫結到特定的緩衝區。
每個 xwidget 可以有多個視圖。在 MVC 術語中,xwidget 是模型,而 xwidget-view 是 xwidget 在特定 Emacs 視窗中的視圖。
xwidget 程式碼嘗試透過 Observer 模式實作來保持視圖的視覺外觀同步。
GNUstep 和 Étoilé 中的可擴展性 (Quentin Mathé)
本次演講將介紹 Objective-C 中支援可擴展性的各種有趣的機制、GNUstep 如何將它們用作符合 Cocoa 標準的實作,以及 Étoilé 如何利用 Objective-C 和 GNUstep 將使用者和開發人員方面的靈活性推向更高的程度。
Objective-C 具有從其他函式庫擴展類別、在執行時內省程式碼、延遲解析方法等各種能力。我們將討論這些能力和一些不太常見的想法,例如類別轉換,它們用於實作原型或鍵值觀察(一種觀察其他物件中任意變更的方式)。
GNUstep 使用 Objective-C 的動態性來實作其繪圖後端、主題支援或鍵值編碼或鍵值觀察等功能,這些功能在 Cocoa 開發人員中更為人所知。GNUstep AppKit 和 Foundation 基於各種重複出現的模式,例如類別註冊或類別叢集,以擴展內建類別,因此我們將詳細介紹它們,並提供一些具體範例,例如 NSImageRep
。
在 Objective-C 和 GNUstep 的基礎上,Étoilé 構建了一個桌面環境,它或多或少是一個開發人員平台。我們將討論 LanguageKit,它可用於建立與 Objective-C 物件無縫整合的動態語言,並使在不同語言中編寫屬於同一類別的方法成為可能。在更高的層次上,我們將展示 EtoileUI 開啟的可能性,EtoileUI 是一個 UI 工具包,其中使用者介面完全模組化為可外掛的方面(佈局、樣式、工具、控制器等),以允許快速建立新 UI 或在執行時精確且輕鬆地更改 UI。
如果我沒有超時 ;-) 我將嘗試介紹我們關於 CoreObject
作為具有修訂控制的物件導向資料庫的最新實驗,或者至少進行一個快速示範。
使用 MELT 擴展 GCC 以用於自由軟體 (Basile Starynkevitch, Pierre Vittet)
Scilab:與非 IT 人員打交道時的可擴展性問題 (Sylvestre Ledru)
GNU Free Call—汽車和手機的健康網路 (Haakon Meland Eriksen)
迴圈中的使用者 (Andy Wingo)
Emacs Lisp、Guile、JavaScript、硬限制和倫理論證 (Jim Blandy)
(我們很抱歉,由於技術原因,本次演講的影片無法提供。問答影片第 1 部分, 問答影片第 2 部分)
擴展語言是一種強大的設計模式。但是,您選擇的語言會影響您獲得的受眾,並且流暢地支援混合語言已被證明比我們許多人預期的要困難。我認為困難在於我們將真實世界的意義歸因於程式的具體行為的方式。這種困難是程式設計行為的根本,無法解決。我將提供具體範例來說明,得出一些令人失望的結論,並提出前進的方向。
來自 GNU 顧問委員會的消息
Woodchuck:提升行動裝置的資料可用性 (Neal Walfield)
行動裝置應最大化資料可用性,即使用者想要存取的資料的可能性。高速蜂窩網路連接並非萬能藥:無線通訊能源密集;資料傳輸上限越來越普遍;蜂窩網路覆蓋範圍並非無處不在。
Woodchuck 是一個用於排程延遲容忍內容傳輸的框架,例如部落格、Podcast、電子郵件、社群網路更新、天氣報告和日曆資料。Woodchuck 透過監控網路狀況和使用者行為來節省電池電量、管理資料上限並隱藏不良網路覆蓋範圍,並且在條件良好時,告知應用程式(必要時啟動它們)執行更新或傳輸。挑戰在於弄清楚如何有效管理這些資源並預測使用者可能需要的內容。
在本次演講中,我將展示一些預取潛在改進的測量結果。我將簡要討論 Woodchuck 的設計。我將介紹 Woodchuck 的 API 和我正在探索的排程方法。最後,我將討論我們正在進行的使用者研究,以便能夠評估排程策略。
有關 Woodchuck 的更多資訊,包括 Woodchuck 伺服器、C 函式庫和 Python 模組,可以在以下網址找到
http://hssl.cs.jhu.edu/~neal/woodchuck/
N900 也提供二進位套件。
GNU 資料語言 (Alain Coulais, Sylwester Arabas)
(我們很抱歉,由於技術原因,本次演講的影片無法提供。投影片)
GNU 資料語言 (GDL) 是一個免費/自由/開放原始碼的增量編譯器,與 IDL 相容,並在一定程度上與 PV-WAVE 相容。與其函式庫例程一起,它可用作天文學、地球科學和醫學影像等學科的資料分析和視覺化工具。GDL 是根據 GPL 授權的自由軟體。GDL 依賴於大量其他函式庫,包括:GCC、Readline、GSL、PLplot、ImageMagick、FFTw、……
從法語 http://racketiciel.info/ 到國際 http://racketware.info/index (Alain Coulais, Cyprien Gay)
「No More Racketware」行動的目的是讓消費者有可能在購買電腦時不支付預裝軟體的費用。
Guile-Emacs (BT Templeton)
(投影片)
歐洲自由軟體的資金 (Karsten Gerloff - FSFE 主席)
(投影片)
自由軟體和高效能運算 (Juan Antonio Añel Cabanelas)
(投影片)
當您使用 HPC 基礎設施時,自由軟體可能是一個艱難的選擇。當您在時間(以及因此計算效能)是硬通貨的環境中工作時,有時甚至沒有您需要的那麼多,因此很難證明您正在「浪費」一半的資金是合理的。此外,您可能無法控制您正在執行的程式碼或您正在使用的超級電腦,這使得問題更加複雜。本次演講將嘗試在 GHM 期間就這些問題展開富有成效的討論。
GNU 參與 Google Summer of Code (Rodrigo Rodrigues da Silva)
(影片)
GNU LibreDWG (Rodrigo Rodrigues da Silva)
(不完整的影片)
出席者
- Ludovic Courtès (GNU Guile)
- Julien Danjou (GNU Emacs)
- Jim Blandy (GDB, GNU Guile, Firefox 等)
- Samuel Thibault (GNU Hurd)
- Andy Wingo (GNU Guile)
- Dodji Seketeli (GCC, Nemiver, GNOME)
- Sylvestre Ledru (IRILL, Debian, Scilab)
- Jose E. Marchesi (GNU PDF, GNU recutils)
- Bastien Guerry (Org-Mode, GNU Emacs)
- Neal Walfield (GNU Hurd)
- Jim Meyering (GNU Coreutils, GNU Parted, Gnulib 等)
- Andreas Enge (GNU MPC)
- Albert Cohen (GCC, IRILL)
- Vincent Lefevre (GNU MPFR)
- Brian Gough (GNU Scientific Library, GNU Source Release Collection)
- Quentin Mathé (GNUstep, Étoilé)
- Luca Saiu (GNU epsilon)
- Reuben Thomas (GNU Zile, GNU Hello)
- Patrice Dumas (GNU Texinfo)
- Simon Josefsson (GnuTLS, GNU Libidn, GNU Shishi, GNU SASL 等)
- Juan A. Añel (GNU Spain, GNUticias)
- Sylwester Arabas (Gnu Data Language)
- Jérémie Koenig (GNU/Hurd)
- Giuseppe Scrivano (GNU IceCat, GNU MyServer, GNU Wget, GNU Inetutils 等)
- Alain Coulais (Gnu Data Language)
- Stefano Zacchiroli (Debian, IRILL)
- Richard Braun (GNU Hurd)
- Rodrigo Rodrigues da Silva (GNU LibreDWG)
- Haakon Meland Eriksen (GNU Free Call)
- Roman Gopalan
- Joakim Verona (GNU Emacs)
- Ralf Wildenhues (GNU Automake, GNU Libtool, GNU Autoconf, Gnulib 等)
- Basile Starynkevitch (GCC, MELT)
- Francis Southern
- Gaël Le Mignot (GNU Hurd)
- Toby Dylan Hocking (GNU R)
- Pierre Vittet (GCC, MELT)
- Paolo Carlini (GCC)
- Guillaume Smaha
- Juan Pedro Bolívar Puente (GNU Psychosynth, GNU Jump)
- Alexandre Lissy (GCC, MELT)
- Arnaud Patard (Mageia 發行版)
- Arne Babenhauserheide (GNU Hurd)
- Florent Popille (聖艾蒂安大學 - 自由軟體開發研究)
- Bruno Haible (GNU gnulib, GNU libunistring)
- Karsten Gerloff (FSFE 主席)
- BT Templeton (GNU Guile, Guile-Emacs)
- Steve White (GNU FreeFont)
- Edlira Nano (INRA)
- Laurent Guerby (GCC 編譯農場)
- François Dumont (GCC)
- Dimitri Fontaine (GNU Emacs, el-get)
- Romain Tartière (FreeBSD)
- Brice Lopez
- Arnaud Gambonnet
註冊
註冊已結束。
- 您可以使用 Flattr 小額捐款來支持未來的 GNU 黑客會議
所有捐款將用於為那些無法自行負擔費用的人提供差旅補助金。
更多資訊
參加會議是免費的,但您需要支付自己的交通/住宿/餐飲費用。如果您需要財務支持以支付交通或住宿費用,請在您的註冊電子郵件中註明允許您參加會議的最低金額。
建議的住宿選項
靠近 IRILL 的飯店
Hôtel Manet,距離 IRILL 300 公尺,每晚約 70 歐元(截至 6 月 13 日已客滿)- Hôtel Ibis, Porte d'Italie (Gentilly), 距離 IRILL 2 公里,每晚約 70 歐元
- Jack's Hotel, 距離 IRILL 300 公尺,每晚約 80 歐元
- Hôtel Ibis, Italie/Tolbiac, 距離 IRILL 500 公尺,每晚約 80 歐元
- Hôtel Ibis, avenue d'Italie, 緊鄰 IRILL,每晚約 100 歐元
- Etap Hotel, Porte d'Italie est (Le Kremlin-Bicètre), 距離 IRILL 約 1.7 公里,每晚約 45 歐元
- Etap Hotel, Porte d'Italie ouest (Le Kremlin-Bicètre), 距離 IRILL 約 2 公里,每晚約 45 歐元
- Hôtel Minerve, 距離 IRILL 2 公里,每晚約 100 歐元
更遠的飯店
- Hôtel Ibis, la Vilette/Cité des Sciences, 每晚約 60 歐元,地鐵 7 號線,距離 IRILL 約 35 分鐘。
- Hôtel Ibis, Porte d'Orléans, 搭乘地鐵約 20 分鐘,步行約 40 分鐘,每晚約 65 歐元
青年旅館
- 請參閱
hostelbookers.com
。
交通
餐飲
IRILL 有一份建議餐廳列表。我們將盡力在中午和晚上安排團體用餐。請注意,IRILL 和 Inria 的辦公室內禁止用餐。
在8 月 24 日星期三,晚餐於晚上 8 點在 Mussuwam 舉行,這是一家塞內加爾餐廳,位於 巴黎阿拉戈大道 33 號 (13 區),距離 IRILL 1.3 公里。
在8 月 25 日星期四,晚餐於晚上 8 點在 Au P'tit Cahoua 舉行,地址為 39 Boulevard Saint-Marcel, 75013 Paris。
在8 月 26 日星期五,晚餐在 "Le temps des cerises" 舉行,地址為 18 rue Butte aux Cailles, 75013 Paris (01 45 89 69 48),距離 IRILL 步行 10 分鐘。
有問題嗎?
請在 ghm-discuss@gnu.org
郵件列表中提問,網址為 http://lists.gnu.org/mailman/listinfo/ghm-discuss。