GNU 黑客会议 2022 — 土耳其伊兹密尔
GNU 黑客会议 或 “GHM” 是一个讨论与 GNU 和 自由软件 相关的技术话题的场所。活动氛围友好且非正式。欢迎任何人注册并参加,包括新手。
GNU 黑客会议自 2007 年以来一直在举行:您可能想看看记录了大多数 过去版本的其他页面,其中许多都包含视频录像。
GNU 黑客会议 2022 于 2022 年 10 月 1 日星期六和 10 月 2 日星期日在美丽的土耳其伊兹密尔举行。
2022 年活动现已结束
我们要感谢与会者使活动充满活力和愉快;我们希望结交的新朋友能与我们保持联系,并可能参与到 GNU 中来。我们相信与会者会原谅我们偶尔出现的技术故障。即使不是一切都尽善尽美,我们也认真尝试使活动有趣且范围广泛;我们相信,至少在一定程度上,我们成功地做到了非专业活动组织者所能期望的程度。
在体验了工作人员的乐于助人和专业精神后,我们非常有信心向其他希望在该地区组织活动的人推荐伊兹密尔的 丽笙公园酒店。
既然活动已经结束,以下一些实用信息将变得无关紧要,并将保留供历史参考。

大多数本地与会者在最后的合影中。
远程直播
我们通过 BigBlueButton 和 Jitsi 向公众直播了大部分活动,供那些可以到达伊兹密尔的人观看。一些无法亲自参加的参与者也通过 BigBlueButton 或 Jitsi 进行了演讲。
我们要感谢 Linux Weekly News 无偿提供了 BBB 实例。
请注意,时间表 中所有的时间指示均以当地土耳其时区为准,即 UTC+3。
研讨会
GNU Jitter 研讨会
Luca Saiu (GNU Jitter, GNU epsilon)。
从我提供的解析器开始,我将帮助观众使用 Jitter 为一种简单的编程语言编写一个完整的 JIT;我将实时实现一个解决方案,并给观众时间在他们的笔记本电脑上工作。
研讨会将遵循 Mohammad 关于 Jitter 的演讲中的一般思路,但许多细节会大大简化,以适合 黑客 会议。
我打算让任何优秀的程序员都能参加研讨会,即使不是来自编程语言领域:因此 不需要任何关于编译器的特定经验:了解 C 是唯一的前提。
欢迎观众携带安装了 GNU/Linux 系统的笔记本电脑,或者至少携带一个 SSH 客户端。
时长:只要观众感兴趣。
研讨会所需的文件,目前托管在 Luca Saiu 的 ageinghacker.net
服务器上
- 问题规格讲义 (PDF,公共领域),解释了伊兹密尔语言的语法和编译规则;
- 源代码 tarball
izmir-1.0.tar.gz
包含要完成的源代码 — 构建系统不需要更改即可解决研讨会问题,并且 GNU Jitter 的副本已作为子包包含在内; workshop/
目录可能对那些参加了活动并希望从 1.1 版本继续的人感兴趣;- 直播研讨会的视频录像 (WebM: VP9/Opus 720p 15fps, CC BY-SA 4.0)。
演讲
数字无政府主义:去中心化和联邦协议的现状
Onur Akdeniz
- 讨论自由或非自由网络服务上的专制主义;
- 简要介绍当前即时消息、社交媒体、视频广播等中联邦协议的现状和优势;
- “去中心化”和“联邦化”之间的区别;
- 如果我的缪斯女神带来其他好东西,那也是好的。
时长:40 分钟。
Emacs 作为 C/C++ 开发环境
Ali Chegini
Emacs 是一个强大的编辑器。得益于 Emacs 的可扩展性,我们可以通过安装一些软件包使其了解 C/C++ 结构。
在本次演讲中,我将介绍扩展 vanilla Emacs 的步骤,以添加诸如自动完成、实时错误检查以及使 Emacs 了解整个项目之类的功能。
时长:10 分钟。
火山学家和探险家的 Gungadin 工具
Christopher Dimech (GNU Behistun)。
将介绍 Gungadin-Opcon 终端工具和 Gungadin-Typex 工具。将讨论一系列长而令人印象深刻的技术。最后,将有一些实际操作。
Gungadin-Opcon 工具提供了独特的令人满意的体验,通过命令行工具在终端内直接完成操作,这些命令行工具的独特目的是减少在类似 Unix 环境中使用 Gnu Core Utilities 时花费的时间和麻烦。
Gungadin-Typex 工具为 Emacs 提供了强大的配置,其中包括一系列值得注意的命令。这些包括:符合国际可读性指标的可访问的颜色和对比度环境;一个用于达到最高水平的工作强度和参与度的环境;以及一种使用键盘进行简洁快速的缩写符号书写方法;
学术界和计算界的笨蛋的典型方法是花时间摆弄各种命令;虽然功能强大,但并不容易掌握。这与需要花时间处理所需内容并快速完成的火山学家和探险家相矛盾。如果您想要后者,这次会议就适合您。
时长:1 小时。
资源
- (幻灯片即将推出);
- (视频录像即将推出)。
宇宙复杂性的实现
Christopher Dimech (GNU Behistun)。
十七世纪常见的一种推理形式是经济法则。建立简化的主要人物是十四世纪中世纪英国神学家奥卡姆的威廉。这种方法 — 今天被称为奥卡姆剃刀 — 概括了对复杂机制的剔除。牛顿的万有引力定律和哥白尼的行星轨道系统是古典物理学中广为适用的物理原理的示例,体现了简单性。简单性是一种非常古老的思想流派,早在奥卡姆的威廉之前就存在了。例如,埃及天文学家克劳狄乌斯·托勒密(拉丁语:克劳狄乌斯·托勒迈乌斯)(公元 100 年 - 170 年)在奥卡姆的威廉出现之前 1200 年就写到了它。
然而,实际上,当仔细审视时,物理现象会复杂得多。2019 年全球冠状病毒大流行最终促成了下一个重大科学飞跃 — 对以互连性、不可控性和不可预测性为特征的网络动态系统的内省。对宇宙复杂性的认识不可避免地打破了还原主义范式。奥地利逻辑学家库尔特·哥德尔的不完备定理为数学提供了类似的对还原主义的反驳。地球物理学向我们展示了大量的自然复杂性。最有趣的组成部分是系统的特征在于其相互作用的结构,由在不同尺度上发挥作用的组织原则驱动。将讨论这些复杂性。
通过考虑在特定低频频段中从恒星和行星微震波场的连续测量中重建振动模式的奇异能力,事情将变得更加具体。提出了一种用于生成超灵敏相干函数的有效计算方案,而不是继续许多人习惯的强迫性情绪模式,本次会议演示了数学上的复杂性如何能够产生科学及其他领域的精彩转变。
时长:1 小时。
资源
- (幻灯片即将推出);
- (视频录像即将推出)。
GNU poke:用于结构化二进制数据的可扩展编辑器
José E. Marchesi (GNU poke, GNU recutils, GNU ferret)。
GNU poke 是一个用于二进制数据的交互式、可扩展的编辑器。它不仅限于编辑位和字节等基本实体,还提供了一种功能齐全的程序性、交互式编程语言,旨在描述数据结构并对其进行操作。
在本次演讲中,我将介绍该工具、其基本原理、解释其工作原理、展示一些实现细节,并重点介绍最近发布的版本中的新增功能。
时长:1 小时 30 分钟。
GNU 程序是如何开发的:实用指南
José E. Marchesi (GNU poke, GNU recutils, GNU ferret)。
GNU 程序背后是一个复杂的软件基础设施、标准、通信工具,旨在使维护人员的生活更轻松。
即使是非 GNU 程序也可能想从中获得灵感。或者您想成为某些 GNU 软件的新作者或维护者吗?
时长:1 小时。
poked:GNU poke 超出 CLI 范围
Mohammad-Reza Nabipoor (GNU poke)。
GNU poke 是一个用于操作结构化二进制数据的工具。长期以来,poke 唯一可用的用户界面(UI)是命令行界面(CLI)。但现在情况已经不同了!我们有了 ‘poked’ 和许多 pokelets。‘poked’ 是负责使 pokelets 提供其用户界面的守护进程。最成熟的 pokelet 是 poke-el(一个 Emacs 界面)。本次演讲将解释为什么这种方法是一个好主意且功能强大。以及它如何使用户能够非常快速地创建自己的特定任务的用户界面,或者通过更多功能来扩展 GNU poke(例如使 GNU poke 成为更强大的类似 Wireshark 的工具,或者添加反汇编功能)。
时长:1 小时。
资源
- (幻灯片即将推出);
- 视频录像 (WebM: VP9/Opus 720p 15fps, CC BY-SA 4.0)。
所以你需要一个虚拟机?请使用 GNU Jitter
Mohammad-Reza Nabipoor (GNU poke)。
所以你有一个关于一种很棒的新编程语言的好想法,你已经有了该语言的解析器,你需要运行你的代码?你真是太幸运了!在这个以代码为导向的教程中,我将讲解从抽象语法树(AST)到实际执行一种简单编程语言代码的所有步骤。
目的是向你展示获得一个快速虚拟机是多么容易,而无需在非有趣的事情上花费太多时间。
现在你可以将大部分时间花在设计你很棒的新语言上,而不用浪费时间尝试让你的代码在不同的平台上运行得更快!现在这是 Jitter 的责任!
GNU Jitter 支持每个拥有标准 C 编译器的平台。如果你的平台支持像 ‘gcc’ 这样的高级编译器,它甚至可以为你自动生成更快的代码!一切都在幕后进行!
时长:1 小时 30 分钟。
资源
- (幻灯片即将推出);
- 视频录像 (WebM: VP9/Opus 720p 15fps, CC BY-SA 4.0)。
使用 GNU Lilypond 控制软件乐器
Lilypond 可以使用 GNU 的脚本语言 Guile 进行扩展。使用 Guile 的一个例子是 Singing Computer 项目,它使用 Lilypond 的扩展来控制 Festival 语音合成系统。在本次演讲中,我将提出如何使用 Lilypond 和 Guile 控制软件乐器,包括歌声合成器、鼓机和卡尔普拉斯强弦吉他演奏机器人。可以使用与 Singing Computer 项目相同的接口制作 MusicXML 的导出器。
时长:1 小时。
资源
- 视频录像 (WebM: VP9/Opus 720p 15fps, CC BY-SA 4.0);
hana.ogg
(Ogg/Vorbis, CC BY-SA 4.0);suchdolsky-rybnik-mixdown.ogg
(Ogg/Vorbis, CC BY-SA 4.0);kasane-teto-vosamp--sakura-no-ame.ogg
(Ogg/Vorbis, CC BY-NC 4.0)。
Rust 为 C 和 C++ 开发人员带来的新特性
Egeyar Saiu.
针对了解 C 或 C++ 并正在考虑更安全替代方案的人员,介绍 Rust 及其特性。
时长:1 小时。
资源:
- (幻灯片即将推出);
- (视频录像即将推出)。
自由软件、GNU 项目和 GNU 黑客会议
Luca Saiu (GNU Jitter, GNU epsilon)。
一个简短的欢迎,然后介绍自由软件、GNU 和 GNU 黑客会议。
这个简短的演示将开启本次活动。
时长:15 分钟。
精确的乐趣:来自 C 和语言虚拟机的精确垃圾回收
Luca Saiu (GNU Jitter, GNU epsilon)。
Boehm-Demers-Weiser 垃圾回收器是一个成功的软件,被广泛使用但并不受欢迎。在本次演讲中,我将首先为 Boehm 卓越且被低估的系统道歉,然后介绍 我完全不同的替代垃圾回收器,它将被包含在 Jitter 中。
新的 Jitter 垃圾回收器具有精确而不是保守的指针查找:其更高的性能是以更复杂且容易出错的 C API 为代价的。
我将展示如何编写与 Jitter 垃圾回收器接口的 C 系统,以及如何从语言虚拟机代码中使用回收器。
研究垃圾回收和语言虚拟机让我们想起了一个针对面向性能的软件非常明显的设计原则:针对常见情况进行优化。
我们如何将这种设计从顺序系统推广到并行系统?这种推广是否值得?
(已取消)
手机上的自由软件:我在 Replicant 上的经验
Luca Saiu (GNU Jitter, GNU epsilon)。
Replicant 是 Android 的一个自由软件变体,也是我在我的唯一手机上使用的唯一系统。Replicant 是一种折衷方案,它在 不友好的 硬件平台上将控制权交给用户。
我将谈论该项目并讲述我的经验,主要是积极的。Replicant 在受支持的硬件上安装并不困难,即使性能和可靠性并不完美,也可以立即投入生产使用。
我将向你展示我用来从 GNU/Linux 计算机处理我的 Replicant 手机的实用程序:通过 USB 挂载手机文件系统、传输文件、备份、安装自由软件应用程序、访问日志 — 以及一些更有趣的事情,例如在手机上使用 GNU Jitter 运行应用程序。
如果你想做出贡献,我可以指导你可以帮助的人;该项目确实需要有能力的程序员的帮助。
我是一个 Replicant 的高级用户,但我没有参与其开发;本次演讲可能是整个会议中最不具技术性的。
时长:45 分钟。
为作为接口的语言辩护 — 一个显而易见的声明
Luca Saiu (GNU Jitter, GNU epsilon)。
在准备关于 Replicant 的演示时,我从个人不喜欢某些类型用户界面的前提开始。随着我的抱怨越来越多,我没有将其删除,而是决定将其分成单独的演讲。我认为这个前提比主要演讲更有趣。
我的主张是,利用计算机力量的最佳方式是通过某种语言界面,而与语言术语的特定编码无关。我建议将 Abelson 和 Sussman 的三个编程要素推广到人机界面。
时长:45 分钟。
活动日程
所有时间均为 TRT UTC+3 时区。
9月30日 星期五
活动前晚餐在 BigChefs Alsancak 餐厅举行。
地址:Kültür, Atatürk Cd. No:172, 35220 Konak/İzmir, Turkey
日期和时间:2022年9月30日星期五,19:30 TRT (UTC+3)
10月1日 星期六
时间 | 演讲者 | 主题 |
---|---|---|
09:00 - 09:15 | 欢迎 | |
09:15 - 09:30 | Luca Saiu | 自由软件、GNU 项目和 GNU 黑客会议 |
09:30 - 09:40 | 一轮自我介绍 | |
09:45 - 10:45 | Christopher Dimech | 用于火山学家和勘探者的 Gungadin 工具 (远程演讲,来自堪察加半岛直播) |
10:45 - 11:00 | 咖啡休息 | |
11:00 - 12:30 | Mohammad-Reza Nabipoor | 你需要虚拟机吗?使用 GNU Jitter (远程演讲,来自伊朗直播) |
12:30 - 13:30 | 午餐休息 | |
13:30 - 15:00 | José E. Marchesi | GNU poke:用于结构化二进制数据的可扩展编辑器 |
15:00 - 15:15 | 咖啡休息 | |
15:15 - 16:15 | Tobias Platen | 使用 GNU Lilypond 控制软件乐器 (远程演讲,来自德国直播) |
16:20 - 16:30 | Ali Chegini | 闪电演讲:Emacs 作为 C/C++ 开发环境(预先录制的视频,由于从伊朗直播的网络连接问题后播放) |
16:35 - 18:00 | Luca Saiu | 捍卫语言作为一种接口——一个显而易见的声明 紧接着是 手机上的自由软件:我的 Replicant 体验 |
18:00 开始 | 晚餐 |
10月2日 星期日
星期日上午的日程安排因技术问题被打乱,我们无法使用 BBB 进行远程演讲和录制。我们临时采取了替代解决方案,不得不更改演讲顺序。
时间 | 演讲者 | 主题 |
---|---|---|
09:00 - 09:15 | 欢迎 | |
09:20 - 10:20 | Christopher Dimech | 宇宙复杂性的实现 (远程演讲,来自堪察加半岛直播) |
10:20 - 10:35 | 咖啡休息 | |
至 11:35 | Egeyar Saiu | Rust 为 C 和 C++ 开发人员带来的新功能 |
11:35 - 13:35 | 午餐休息 | |
13:35 开始 | Mohammad-Reza Nabipoor | poked:GNU poke 超越 CLI(从预先录制快速切换回来自伊朗的直播) |
14:00 - 14:15 | 在演讲的同时提供咖啡和小吃 | |
至 16:10 | Luca Saiu | GNU Jitter 工作坊 |
16:10 - 17:00 | Onur Akdeniz | 数字无政府主义:去中心化和联邦协议的现状 |
17:00 - 18:00 | José E. Marchesi | GNU 程序是如何开发的:实用指南 |
18:00 | 闭幕 |
实用信息
场地
丽笙公园酒店
Cumhuriyet Bulvari 124, 35210 İzmir, Turkey
info.izmir@parkinn.com
+90 232 4044242
纬度 38.42721,经度 27.13326。 请查看 OpenStreetMap 上酒店周围区域的地图。
GHM 2022 将在伊兹密尔丽笙公园酒店举行;该酒店距离科纳克区的著名共和国广场(Cumhuriyet Meydanı)仅一个街区之遥。我们同意每人收取 60 欧元的参会费,其中包括两次咖啡休息和小吃:上午一次休息,下午一次休息。
我们决定帮助希望参加会议的学生,为其 60 欧元的参会费支付 50 欧元;他们只需在向我们出示入学证明后支付 10 欧元即可。
住宿
我们的场地供应商丽笙公园酒店也为我们提供了一点折扣:标准间每晚一人 80 欧元,两人 100 欧元。
此外,共和国广场周围还有许多其他酒店。在距会场 10 分钟步行路程内,标准酒店客房的价格在每晚 25 欧元至 135 欧元之间不等。
几乎所有酒店都包含早餐,这在土耳其是一天中最重要的一餐。我们谦虚地建议您不要错过。
交通
最近的机场是阿德南·曼德列斯机场 (ADB),该机场有直飞许多欧洲主要机场的航班。我们很遗憾地建议避免乘坐 Corendon 航空公司,因为它经常取消航班。
当然,您可以从机场乘坐出租车到酒店。或者,Egeyar 建议乘坐 IZBAN 火车从机场到 Alsancak 火车站,然后步行到 Alsancak 港口(10 分钟),然后沿着海岸步行 15 分钟即可到达共和国广场。
雅典和伊兹密尔之间有两条渡轮线路连接:比雷埃夫斯-希俄斯-切什梅和比雷埃夫斯-库萨达斯。请记住,您需要在着陆后开车一个多小时才能到达伊兹密尔市中心。
不幸的是,土耳其和欧洲之间只有一条火车连接,即索菲亚和伊斯坦布尔之间,在那里您可以乘坐火车前往伊兹密尔。伊兹密尔的两个主要火车站,即 Basmane Garı 和 Alsancak Garı,距离共和国广场都在步行距离之内。
膳食
GHM 注册费包括咖啡休息时的小吃,但不包括膳食。
伊兹密尔小贴士
与会者 Burak Sulak 在他的网站上发布了一些访问伊兹密尔的小贴士 carrot.monster
。
如何联系我们
该活动由 Egeyar Saiu 负责后勤工作,由 Luca Saiu 负责活动日程。
您可以
-
[使用
ghm2022
邮件别名私下联系我们:活动结束后已删除] - 如果您希望您的消息公开,请写信给公共邮件列表 ghm-discuss。
当然,欢迎大家订阅 ghm-discuss。
注册
[由于活动已举行,此页面上的注册信息已删除。]
提交演讲提案
我们欢迎演讲提案或技术演示/工作坊提案。任何与 GNU 和自由软件相关的技术演讲都将被认为是主题相关的。
[由于活动已举行,此页面上的演讲提交信息已删除;但是,如果您想公开讨论下一届的演讲提案,您可以写信给 ghm-discuss 邮件列表。]
GHM 2022 横幅
如果您想在您的网站上推广该活动,您可以使用此横幅,让人想起 2013 年与 Sylvain 共同准备的横幅,以链接到此页面

例如,您可以写:
<span style="max-width: 90%; max-height: 5em;"> <a href="https://gnu.ac.cn/ghm/2022"> <img style="display:block; margin-left: auto; margin-right: auto; border-style: none;" src="ghm-2022-banner-small.jpg" alt="GNU Hackers Meeting 2022 banner"/> </a> <p style="font-size: 80%; text-align: center"> Banner released under <a href="http://artlibre.org/licence/lal/en">FAL</a>, <a href="https://gnu.ac.cn/copyleft/fdl.html">GFDL-1.3+</a>, or <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA 2.0</a>. Banner copyright © 2022 Luca Saiu, Egeyar Saiu. </p> </span>
该横幅可作为
-
ghm-2022-banner.xcf
,采用 GIMP 支持的 XCF 格式 (单独的图层,6539x1080,6.6MiB); -
ghm-2022-banner.jpg
,作为大型 JPEG 图像 (6539x1080,859KiB); -
ghm-2022-banner-small.jpg
,作为较小的 JPEG 图像 (1000x165,66KiB)。
关于横幅:版权 © 2022 Luca Saiu、Egeyar Saiu。该横幅以以下方式分发
- GNU 自由文档许可证,版本 1.3 或更高版本;
- 自由艺术许可证,
- Creative Commons Attribution-ShareAlike 2.0 (CC BY-SA 2.0)。
该横幅基于
https://pxhere.com/fr/photo/1372410
中的图像,CC0 公共领域;- 大胆的 GNU 头像,最初由 Etienne Suvasa 绘制,由 Aurélio A. Heckert 重新绘制,以 GFDL v1.3+、自由艺术许可证、Creative Commons Attribution-ShareAlike 2.0 的选择发布。