国庆假期结束了,本学期的第一次 Tunight 也来了!按照惯例,本次 Tunight 首先会有 TUNA 的简介和互相认识的环节,此后的正题是由申奥哥哥分享他近期大战 C++ 的幸福体验。
尽管我们有简单直接的 C 语言,也有很多工作试图让我们声明要对数据做什么把剩下的交给编译器的智慧,但是在讲者的工作当中还是避免不了和 C++ 打交道。作为一个 C++ (学了不知道多少次的)初学者,本次分享试图再次复习一下 OOP 课讲过的东西(构造、析构、移动语意、右值引用)等等,并且发表一些对 OOP 本身的暴论(雾)
欢迎大家一起来玩!
更新:
线下活动场地已确定:等同 Timeless 咖啡(中关村东路16号院龙湖唐宁ONE2号楼A座101室)地下一层。
如果有需要主食或/和饮料的小伙伴请在 28 日下午两点前填写以下表单,或现场点餐。小食将统一下单。
https://forms.gle/y1LCLdtqtWm1eZfVA
经过两天的辛苦招新,本次百团招新顺利成功收官!为欢迎新同学的加入,在金主爸爸的赞助下,我们久违地将于本周六晚于学校附近的咖啡厅举办一次沙龙形式的金枪鱼之夜。本次活动不设置专门的主题,大家可以交流任何有意思的内容,也欢迎带来各种新奇有趣的设备,并且有机会现场参与新版 Tunaive 的设计工作,不完全是因为画衣服的人没活了。现场将为大家提供免费的饮料、咖啡、小食,以及投影仪、音响等会议设备,还有大量的 TUNA 贴纸等你领取!
为统计大致统计人数,请计划前来的小伙伴填写以下表单。我们也邀请有意向的进行 Talk 的小伙伴们将计划的 Talk 题目或/和简介填入表单中,或者发送邮件到 xiaoyi.liu at tuna.tsinghua.edu.cn。
https://forms.gle/hWyCW53vpjugaF698
活动信息:
本次活动不直播、不录像、当然也不存在讲稿。
欢迎一起来玩!
秋季学期百团大战就要到了,又是一年两度决定 TUNA 生死存亡尝试扭转会员老龄化趋势的时候了!本次百团时间为 9 月 19 日 - 20 日(校历第二周星期四和星期五),TUNA 的摊位位于紫操北侧 H2 摊位(见下图),欢迎一起来吃和玩!
随着算力需求的提升,我们不断往 CPU 加入新的 ISA 扩展来提高指令表达能力。然而,在软件分发过程中,为每一种 CPU 所支持的 ISA 扩展组合进行编译与分发并不现实,无法接受各种组合的软件构建成本以及镜像站的存储成本。因此,在目前的软件中,往往通过增加性能敏感函数针对不同 ISA 的实现,配合一些函数重定向方法来解决问题。然而,这些方法或多或少存在性能或安全的问题,特别是 IFUNC 机制更是被著名的 xz 软件后门所利用。因此,cyy 希望在 Tunight 上与大家分享目前常见软件实现一个二进制支持多种 ISA 扩展的方法,以及探讨目前的性能与安全问题的案例以及可行的解决方案。
欢迎大家一起来玩!
动态链接器 (ld.so
) 在 Linux 上将带有动态链接的可执行程序 (ELF) 加载、链接并提供部分运行时 API (如 dlopen
),这样可执行程序可以与依赖库分别存储、分发,常见的 Linux 发行版的安装中并不需要存储数百份 libc,宝贵的硬盘空间可以被节约出来存储例如 Electron 的真正重要的文件,是操作系统不可缺少的重要组成部分。
由于发现自己完全不懂动态链接的工作方式,喵喵于近日尝试使用 Zig 自制了一个不工作的 Linux x86-64 动态链接器,并发现了其实现中众多的扭曲细节。本次 Tunight 旨在分享这些扭曲的来源和实现过程中踩到的坑,讨论如何写出一个工作的动态链接器,以及 At what cost.
欢迎大家一起来庆祝儿童节!
喵喵的推荐阅读:
本次 Tunight 将大量复述 @MaskRay 博客内容
@jiegec 近期正在博客上更新一个自制链接器的系列文章
今年,TUNA 再一次作为开源社区参与了“开源软件供应链点亮计划——暑期2024”活动,并提出了四个项目。这些项目领域各不相同,充分体现了 TUNA 在技术上的百花齐放、兼容并包。本次 Tunight,我们邀请了这些项目的 mentor 分享他们的项目,并准备了问答环节与他们直接交流。
活动信息:
大语言模型(大模型/LLM)源于“后续词预测“这一简洁的任务:给定上文,预测下一个词;然而,利用“预测后续词”这个简单的功能,加以层层封装、叠加,可以构建出相当复杂的应用,例如可以自主完成软件开发任务的 Devin。从后续词预测到复杂应用,这中间涉及构造恰当的输入、让大模型产生符合形式语言的结构化输出、大模型的并行调用、控制流程、可持久化存储、多个大模型交互等各种操作。
为了实现这些操作,开源社区和学术界出现了很多有趣但又有“碰瓷”之嫌的工作: 把“调整大模型提示词”封装成类 PyTorch 神经网络调参 API;利用弱类型、强类型(比如 TypeScript)编程语言乃至伪代码控制大模型的形式化输入输出和控制结构(当然,少不了 Rust+WASM );大模型“作为编译器”将输入转换成某种代码乃至“作为解释器”的一部分参与执行;用大模型自己做大模型的“虚拟内存分页管理”等等……可以说是总想搞一个大新闻。
这些很懂起名艺术的工作究竟是确有其实还是夸夸其谈?本次 Tunight 将从大模型“预测后续词”的工作方式出发,自底向上地介绍一些为方便操纵大模型而生的抽象、封装思想和开源框架,以及他们所标榜的软件系统概念,欢迎大家共同鉴别。
本次 Tunight 主讲人 Pero 将在线上进行分享,我们依旧准备了线下教室方便大家进行讨论。欢迎大家以线上或者线下参加,一起来玩!
附录:上文提到的一些大新闻
通过异步编程,IO 密集的程序可以有效降低开销并提高运行效率。不同操作系统的异步架构各有不同,通常分为基于就绪的(ready-based)与基于完成的(completion-based)。Rust 的异步语言特性基本针对前者而设计,但是近些年操作系统的发展,例如 Linux 的 io-uring,倾向于后者的“完全异步”的设计。这一异步思想在 Rust 上遇到了不小的挑战,易用性、安全性与零开销似乎构成了不可能三角。
Compio 项目是一个探索性的、基于完成的 Rust 跨平台异步框架,在迭代的过程中踩了不少坑,也积累了不少经验。尽管项目尚不成熟,但是它已经在文件 IO 的性能上完全碾压老牌的异步运行时 tokio。我们希望集思广益,通过这类尝试探索高性能与安全性的结合,并期望能够为 Rust 后续在异步方向上的语言设计改进提供思路。
欢迎一起来玩!
咕咕了很久的本学期第一次 Tunight 终于将在本周末举行!作为迎新会,本次活动将包含对 TUNA 的简要介绍以及大家互相认识的环节,随后将由 Starrah 带来关于 xonsh shell 使用经验的分享。
xonsh 是一种基于 Python 的、跨平台的、面向 Unix 的 shell 语言和命令行工具。它支持全部 Python 和绝大部分 bash-like 语法,语法设计对人类非常友好。它的命令分为两种模式:Python 模式和 Subprocess 模式,前者是正常的 Python 语法,可以定义变量、函数、引入外部包等,并提供了可以直接操作环境变量、读取当前目录等的 API;后者则是 bash-like 语法,支持重定向、管道等绝大部分常见的 shell 语法,并可以同时引用环境变量和 Python 变量。它的命令行工具也功能强大,内置的自动补全支持优于 bash。利用 xonsh,即使是不精通 shell 语言的人也能无痛的写出带有复杂逻辑的脚本,同时规避了 Python 脚本在进程调用、输入输出流控制方面过于复杂的问题,尤其适合 Linux 新手和不精通 shell 的 AI 科研狗使用。
本次 Tunight 比较新手向,特别欢迎各位新人和 Linux 初入门者参加!同时,本次 Tunight 还计划设有讨论环节,AI 方向出身的主讲人也会分享一些日常科研工作中的其他实用的工具和技巧,并邀请大家一同讨论和分享经验。
欢迎一起来玩!
TUNA 与北京大学 Linux 俱乐部 (LCPU) 将在 3 月 17 日(周日)晚上 18:30 - 21:30 联合举办一次线下沙龙活动,主题为 Towards Modern Distro。沙龙的内容包括发行版的维护和自动化、这几年的发行版变化的趋势、未来可能的 OS 和发行版新形态等。沙龙包括分享和讨论环节,我们邀请了 AOSC, Arch Linux, Deepin, Gentoo, Debian, NixOS 等发行版的开发者参与本次沙龙。
活动场地位于北京大学第二教学楼,由于线下场地规模限制,很遗憾我们无法邀请清华北大以外的同学前来线下参加。如果您是清华北大的同学或老师,可以直接凭校园卡进入北大校门,随后根据本文末尾的导引前往活动地点。如果您不是清华北大的同学或老师,也欢迎您使用 Zoom 或者 YouTube 直播线上参与。
欢迎一起来玩!
本次沙龙,我们邀请了来自 AOSC, Arch Linux, Deepin, Gentoo, Debian, NixOS 等知名发行版的重量级嘉宾,为你带来精彩的技术分享,他们分别是:
活动现场,嘉宾们除了分享,也会以讨论的形式回答同学们的问题,欢迎大家到场交流!
春季学期百团大战就要到了,又是一年两度决定 TUNA 生死存亡尝试扭转会员老龄化趋势的时候了!今年百团时间为 3 月 7 日 - 8 日(校历第二周星期四和星期五),TUNA 的摊位挪到了紫操北侧 H4 摊位(见下图),欢迎一起来吃和玩!也请各位留意天气情况,目前天气预报周四周五两天温差较大,大家注意保暖。
从最初仅以加速 Web 应用为设计目标,WebAssembly 经过数年的发展,现在已经变为一个通用的跨平台字节码格式。然而,目前缺乏专门为 WASM 优化的编程语言:C++、Rust 等底层语言语言有陡峭的学习曲线,生成 WASM 需要很长的编译时间,而 Golang 等高层语言难以输出高效、紧凑的 WASM 代码。WASM 的高性能、安全性、通用性等优势无法被充分发挥出来。
Moonbit 是一个针对 WASM 作为编译目标而设计的通用编程语言,主要设计目标是编译速度快、输出二进制体积小,并且具有良好的开发者体验。本次 Tunight 邀请到了 IDEA 基础软件研究中心的首席科学家、Moonbit 语言及工具开发 Leader 张宏波学长,从技术角度介绍 Moonbit 语言及相关工具的设计、面临的挑战,以及工作原理。
欢迎一起来玩!
张宏波,本科清华大学电子工程系,美国宾夕法尼亚大学博士候选人(硕士毕业),现任IDEA基础软件研究中心首席科学家,领导MoonBit编程语言及其工具链的开发,他是通用程序语言ReScript(前称ReasonML&BuckleScript,首个由中国人主导的具备一定国际影响力的通用编程语言)的作者,OCaml(2023 SIGPLAN 软件大奖)前核心开发人员。
2013年受Bloomberg邀请,他从学术界转入工业界,主导开发的BuckleScript编译器为该公司最受欢迎的开源项目,后演变为ReScript并被Facebook(Meta)等大型企业用于商业开发。2017年,他回国并成为Facebook(Meta)在中国大陆工作的唯一软件工程师,负责维护ReScript并参与编程语言Flow的开发工作。2022年,他正式加入IDEA研究院领导开发MoonBit(www.moonbitlang.com)编程语言及其整套开发环境。
2023 年秋季百团大战胜利[?]收官,本次招新有很多新的小伙伴加入,院系分布也更加多元,欢迎你们加入 TUNA!本周六将举办迎新会,按照惯例首先会有 TUNA 的简介、互相认识的环节和建设 TUNA 的 n+1 种方式,在此之外还会由橙橙分享 TUNA 镜像站的历史和架构演进过程。
从 2003 年 ftp.tsinghua.edu.cn 的建立以来,清华大学的开源镜像站已经走过了二十个年头。这二十年中,镜像站经历了几代维护者的传承和软硬件架构的不断演进,到现在已经成为(可能是)中国大陆规模最大的高校开源镜像站之一。
本次演讲将简要叙述清华大学开源镜像站的发展历史,包括几个有代表性的软硬件架构,以及近年在维护过程中遇到的若干问题和解决方案。
欢迎一起来玩!
春季学期百团大战就要到了,又是一年两度决定 TUNA 生死存亡的时候了!请注意,由于国庆假期,本次招新日期是第二周周三 (9/27) 及周四 (9/28),时间依旧是中午及傍晚。活动地点在紫操西侧 H4 摊位,欢迎一起来吃和玩!也请各位留意天气情况,避免被放鸽子。
在数学和物理领域,思考往往需要在至少二维的视角进行,这是因为大量的数学公式都以二维表达,例如分数,而物理学更多以画画而非写字来传达思想。遗憾的是,通常意义的书写方式,例如用 LaTeX 进行编辑,是一维的。对于数理工作者,尤其在准备演讲稿的时候,所见即所得的编辑模式十分关键。本次 Tunight 将介绍一些比 MS Office 更轻量级的工具,包括使用 IPE 和 Inkscape 制作报告、结合 LibreOffice 和 LaTeX,以及在 LyX 中边思考边推导公式的写作方法。
活动信息:
庄思源目前正于加州大学伯克利分校攻读博士学位,近期参与了 FastChat/Vicuna 的研究与开发。Vicuna 是截至目前性能最接近 ChatGPT 的开源聊天机器人之一。作为 ray-project/ray 的核心贡献者之一,庄思源对分布式框架 Ray 有深入的认识,而这一框架也是 OpenAI 在开发 ChatGPT 时所采用的分布式系统。
鉴于大型语言模型领域的新颖性和复杂性,本次分享将以杂谈的形式,深入浅出地探讨基于 LLM 的聊天机器人的多个层面,包括理论、系统、应用、法律、猜想、风险以及未来发展趋势等。我们诚挚地邀请大家积极参与讨论,共同探索这一创新领域的前景。
本次活动由 USTC LUG 主办,TUNA 分会场线上接入,欢迎一起来玩!
活动信息:
今年,TUNA 再一次作为开源社区参与了“开源软件供应链点亮计划——暑期2023”活动,并提出了五个项目。这些项目领域各不相同,充分体现了 TUNA 在技术上的百花齐放、兼容并包。本次 Tunight,我们邀请了这些项目的 mentor 分享他们的项目,并准备了问答环节与他们直接交流。
活动信息:
字体编码是 LaTeX 新字体选择机制(NFSS)引入的一类字体属性,NFSS 将不同格式、不同 glyph 顺序的字体归类为不同的集合,最终建立了字体编码这一概念。如果你曾在使用 LaTeX 时遭遇过乱码问题,学习 TeX 字体编码技术一定是非常实用的。TeXPage 是体验友好的在线 LaTeX 编辑器,支持在线编译、实时协作等功能。本次 Tunight 邀请到 CTeX-org 成员张庭瑄和 TeXPage 站长穆佃舜,分别为我们带来字符 & 字体编码专题讲座,以及搭建 TeXPage 在线编辑器的故事。
活动信息:
“天格计划”是以本科生为主体的空间科学项目,由清华大学发起,已经发射了数颗用于探测短伽马射线暴的卫星载荷。星测未来团队成长于“天格计划”,基于 FPGA-SoC + GPU-SoC 超异构体系打造卫星边缘端的智能计算平台,并配合开放平台与 AI 算法将传统功能卫星升级为智能卫星。本次 Tunight 工物系学长仓基荣(CEO)和宋钰康(产品总监)将与大家分享卫星端智能处理的挑战和解决思路,针对一个具体有趣的落地项目做详细介绍和互动,包括相关领域的核心能力设计和未来发展规划,分享 AI 上天的全流程实践,并期待一起合作完成更多有意思的项目!
活动信息:
上次 Tunight 介绍了使用磁带运输 700TB 实验数据的经验。要分析这些数据,需要足够大的随机访问介质,例如磁盘阵列。本次 Tunight 续老师将为大家讲述一小撮垃圾佬,如何利用矿渣攒起容量和可靠性堪比专业 IT 运维团队的磁盘存储,并与大家探讨 ZFS、btrfs 和硬 RAID 的利弊取舍与运维经验。
提醒:由于主讲人行程变动,本次 Tunight 时间有变化(提前到 3/26),请留意。
活动信息:
Enzian 是瑞士苏黎世联邦理工学院(ETH Zürich)为融合计算平台开发的通用、开放、实际的科研用系统。一台 Enzian 系统包含一片大型 FPGA 和服务器级 CPU,二者形成一个非对称、缓存一致的非统一访存架构(NUMA)系统。作为相关开发者,丽狼借此机会介绍一项标准化 Enzian 上固件相关操作的工作:Enzian 固件资源接口(Enzian Firmware Resource Interface, EFRI),用于规范异构系统中各个角色对各种固件服务的访问。本次 Tunight 将介绍工业界相关标准、EFRI 的设计和实现、初步性能和可用性评估,并伴有现场演示。欢迎来玩!
活动信息:
百团大战还未开始,迎新会已经准备好了。 本次招新预计会有很多新的小伙伴加入,院系分布也更加多元,提前欢迎你们加入 TUNA! 按照惯例首先会有 TUNA 的简介、互相认识的环节和建设 TUNA 的 n+1 种方式,在此之外还会由申奥分享 IPsec 技术。
Gravity 是一个网状拓扑的 IPv6 Overlay Network,它及前身 entropy 的诞生与 TUNA 有着千丝万缕的关联。 Gravity 使用 NickCao 同学开发的 RAIT 从注册表生成隧道配置并在节点间自动部署、使用 babel 路由协议进行网内路由。 但由于协议设计和布署场景不完全匹配,gravity 所使用的 WireGuard 隧道需要节点开放大量 UDP 端口,给网络维护带来不便。 除了 WireGuard,Linux kernel 还支持 IPsec 作为另一种加密隧道协议;作为一套古老而复杂的协议,它能帮助我们处理这个小众(甚至灵车)的部署环境吗?
今晚将介绍一些 Linux 下管理 IPsec 的相关知识,并讨论它和 gravity 的未来。
春季学期百团大战就要到了,又是一年两度决定 TUNA 生死存亡的时候了!本次招新时间为第二周周四(3/2)、周五(3/3)的中午和傍晚。活动地点在 C 楼东侧 H5 摊位,欢迎一起来吃和玩!也请各位留意天气情况,避免被放鸽子。
自动代码生成是一个令人着迷的问题。如果机器能根据人的意图直接生成代码,是否可以替代大量重复性(甚至部分创造性)的编程工作?近年来,预训练语言模型的飞速发展给这一方向带来了突破:OpenAI 和 GitHub 共同开发了 Copilot 插件,展现了强大的代码生成能力;但由于完全闭源,该领域的进一步发展受到了限制。在本项目中,我们在国产框架和硬件上实现了 CodeGeeX 多语言代码生成模型,使用二十多种编程语言的海量开源代码数据进行训练。CodeGeeX 开源开放,支持多个平台,基于其开发的 VS Code 插件支持代码生成、补全、翻译等功能。
本次报告将分享以下内容:
活动信息:
视觉小说(Visual Novel)是一种电子游戏,是有声读物的衍生产品:它通常以文字为主,辅助以图像与语音;游戏流程呈树状或图状,并根据玩家的选项不同有着不同的路线。这样的游戏创作比较复杂,有一定的门槛。着眼于简单、自由、专注的目标,我们使用 Rust 语言实现了一个前后端分离、高扩展性、创作友好的视觉小说引擎——Ayaka。
本项目包含以下要素:
本项目得到了 OSPP 的支持。
活动信息:
为了提升产品摆在桌上的逼格以提高售价,某高级台灯厂的某型号屏幕挂灯采用无线控制器作为开关。但是,作为屏幕挂灯,最科学的控制方法似乎是直接使用电脑进行控制。为了实现这一目标,我们将要从如何使用高级收音机收听遥控器的控制信号出发,介绍一个萌新如何 0 基础学习 GNU Radio 等软件的使用方法,以及如何对简单的无线传输系统进行分析。
活动信息:
XMASS 是世界上唯一的单相液态氙暗物质实验。在暗物质研究之外,液态氙中 124Xe、126Xe 的双中微子(2νεε)和无中微子(0νεε)双电子俘获,以及 134Xe、136Xe 的双中微子(2νββ)和无中微子(0νββ)双贝塔衰等物理过程,是与中微子质量本源联系紧密的核物理现象。
在 上次 Tunight,续老师以 Lenovo TS4300 磁带库为例,为大家介绍了 LTO-8 磁带的日常使用方法。他对 XMASS 有浓厚的研究兴趣。然而,实验附属的计算集群即将关闭,要推进下一步研究,必须把近 700TB 的原始实验数据传输到清华,这便提出了三大难点:其一,如何在人力与经费极其紧张的条件下在日本神冈地下实验室攒出磁带库;其二,如何把近 700TB 的实验数据压缩进 10 盘 LTO‐8 磁带;其三,如何无人值守地在 20 天里连续写入磁带。本次 Tunight 续老师将与大家分享最终的技术方案和经验。
活动信息:
百团大战还未结束,迎新会已经准备好了。本次招新预计有很多新的小伙伴加入,院系分布也更加多元,欢迎你们加入 TUNA!按照惯例首先会有 TUNA 的简介、互相认识的环节和建设 TUNA 的 n+1 种方式,在此之外还会由 Nick Cao 分享自建基础设施的经验。
云服务,或者说 SaaS,以中心化的方式逐渐取代了互联网固有的分布式属性,使得自建基础设施成为了看似过时的概念。而即便是自建基础设施,也越来越多的采用了如 kubernetes 或是容器这类的“云原生”技术,为整个部署过程带了来更多的不确定性与复杂度。这次就让我们用自底向上的方法,从一个个人用户的角度,看看用 old school 的方式部署一套自己的基础设施需要哪些组件。
秋季学期百团大战就要到了,又是一年两度决定 TUNA 生死存亡的时候了!
本次招新时间第二周周四(9/22)、周五(9/23)的中午和傍晚。我们的活动地点在 C 楼西北角 A08 摊位,欢迎一起来玩!也请各位留意天气情况,避免被放鸽子。
刘晋源从事过一些航空摄影。在本次 talk 中他将介绍航空摄影的前期构思、外场拍摄技巧、JetPhotos 图库发表经验,以及分享最近的一些新尝试。他将按主题或技巧分类介绍自己的一些图片的构思和技术细节,其中的一些内容对其他交通爱好摄影或通用摄影也有启发作用。
中微子是高能物理研究的前沿课题,由于其性质特殊,探测器常常会产生巨额数据。为了高效分析数据,我们需要借助先进的计算机技术。我们将从中微子探测的基础物理图像出发,讲述如何使用基于马尔科夫链蒙特卡罗(MCMC)的贝叶斯方法,高效分析光电倍增管(PMT)上产生的波形;通过 GPU 加速,最大化利用显存,实现上千波形的并行分析;并最终展望事例重建与粒子鉴别的光明未来。在 Machine Learning 泛滥的当代,我们将尝试使用基础的线性代数计算,返璞归真,得到不亚于机器学习的结果!
“高频交易”被认为是美股熔断、A 股 15 年股灾等事件的背后原因,频繁在各种意外事件中被提及更导致它在大众眼中的形象逐渐妖魔化。但事实上,高频交易对市场流动性和价格发现起到了很重要的作用,是现代交易市场中不可或缺的一环。业内更多称为低延迟交易的高频交易系统大量应用了算法、网络与系统中的知识与技能,是最适合贵系同学发挥所学的领域之一。
莫涛是计算机系前 0 字班学长,在 OI 界常被称为莫队,用于处理离线区间询问的莫队算法的初始 idea 由他提出。在过去几年中,莫队带领团队专注于二级市场高频量化交易,取得了一些成果与经验积累。本次讲座将以上个月举办的一场模拟赛1为切入点,由莫队为大家讲解三个问题:什么是高频交易、高频系统所需技术,以及什么样的人适合参与高频。
另外,该模拟赛的第二轮次正在举办中,往届结果与参与方式详见 http://59.110.124.141:10000/most.txt,参与比赛即有机会获得奖品/实习快速通道,线下参与讲座也将获赠相关书籍一本,欢迎一起来玩!
[1] rjgg 交易赛复盘
本次招新有很多新的小伙伴加入,院系分布也更加多元,欢迎你们加入 TUNA!本周六将举办迎新会,按照惯例首先会有 TUNA 的简介、互相认识的环节和建设 TUNA 的 n+1 种方式,在此之外还会由喵喵介绍定理证明辅助工具的友好入门方式。
自动化定理证明是一种形式化验证方法,目的是通过计算机程序进行数学定理的证明。对于不同的公理系统,定理证明辅助工具(Proof Assistant)能够推论出一个定理在此系统下是正确的或者错误的,还是不可证明的。本次 Tunight 由喵喵为大家带来一种友好的 Proof Assistant 入门方式:基于常见工程编程语言的类型系统,类比逻辑系统,在不加严格证明的情况下直觉引导下,尝试逐渐扩展出具有更强表达能力的一个定理证明辅助语言,从而解释 Proof Assistant 中各种设计的目的和逻辑基础。
以下为喵喵的附言:
数学复杂1,定理证明工具为了理解数学至少同等复杂2,但猫咪大脑简单3。因此可以证明,喵喵使用人类方式尝试学习定理证明工具会发生大困难。为了解决这个问题,喵喵尝试展示一种 猫咪-friendly 的 Proof Assistant 的入门方式。本方法受限于喵喵的刚刚入门的水平有限,极具实验性,欢迎各位 PL / TT 人前来教教,爱护喵喵!
[1] List of unsolved problems in mathematics
[3] Pusheen
又是新的一年,春季学期百团大战马上就要到了。社团部一年比一年咕,直到今天下午才得到具体的展位图。本次招新时间为第二周周四(3/3)、周五(3/4)的中午和傍晚。我们的活动地点在紫操东侧 D3 摊位,欢迎一起来玩!也请各位留意天气情况,避免被放鸽子。
Hi Tunars,
魔幻的 2021 年也快过去了。今年中,我们已经以线上线下融合的方式举办了 17 场金枪鱼之夜,转眼就到了年末。为了更好地促进交流、联络感情,在金主爸爸的赞助下,我们将于本周六晚于学校附近的翀咖啡举办一次沙龙形式的金枪鱼之夜。本次活动不设置专门的主题,大家可以交流任何有意思的内容,也欢迎带来各种新奇有趣的设备。现场将为大家提供免费的饮料、咖啡、小食,以及投影仪、音响等会议设备,还有大量的 TUNA 贴纸等你领取!
请计划前来的小伙伴填写表单,截止日期 12.11 15:00 https://forms.gle/XMzFTWWdFVkXfR7K6
活动信息:
本次活动不直播、不录像、当然也不存在讲稿。
欢迎一起来玩!
“计算摄影(Computational Photography)”是近年来经常出现在各种“电话相机”发布会上的玄学名词。虽然我们小学二年级时就学过镜头成像原理,但在算法遍地开花的今天,一张高质量的朋友圈照骗早已不仅仅是光学成像的原始还原。毕业多年的炼丹师 bigeagle,常年穿梭于五彩斑斓的黑与明暗有致的白之间,本次 Tunight,他将为大家分享藏在拍照按钮背后的故事。
活动信息:
欢迎一起来玩!
数字电路的设计从来都是一个令人痛苦的事情。时至上个月 Tunight 的结论仍然认为 RTL 的数字电路的结构化描述处于写一个脚本吐出 Verilog 代码的时代。主讲人 Sequencer 一直有一个想法:要找到下一代硬件描述语言的最好的设计范式,从而将那些在和数字电路搏斗的人们从苦海中拯救出来,因此他寻求了位于 TUNA 的 dram 同学的帮助,希望能从大家熟练掌握的大量或新或旧、或通用或偏门、或家喻户晓或无人问津的各种编程语言中寻找设计思路。为了完成这个任务,dram 苦思冥想,终于在一天的高强度摸鱼中获得了灵感,准备在本周六这个特殊的日子里讲述一些之前所闻所见的,甚是不科学的数字电路设计方法,希望能达到抛砖引玉的效果。
活动信息:
欢迎一起来玩!
教室管理员注:请遵守防疫要求,佩戴口罩,减少聚集。
磁带是历史悠久的存储介质,当今依旧是最经济的冷备份方案。Linear Tape Open~(LTO) 是由存储企业联合制定的开放磁带标准,今年发布的 LTO-9 标准达到单盘磁带 18TB 的空间。在粒子物理实验中,原始数据必须被可靠保存 10 年以上,100TB 至数 10PB 的数据量使优化存储成本变得重要。原始数据的磁盘阵列屡屡出现的危险状况,也令实验组痛下决心建立完整可靠的异地冷备份机制。本次分享中,续老师将以 Lenovo TS4300 磁带库为例,为大家介绍 LTO-8 磁带(12TB)的日常使用方法。
活动信息:
随着疫情减缓,我们又能举办线下 Tunight 了,欢迎一起来玩!
Verilog 是一个邪恶的语言,从一开始就为了让自己背上沉重的历史包袱而设计。设计者们定义出宽泛的仿真语意,同时 EDA 大厂们分别定义出 NDA 的“可综合”的无明确语意子集,并将错误的设计范式强加给世人。来自华中科技大学的刘玖阳(Sequencer)同学本周五恰被被路由到 TUNA 附近,一直在和数字电路搏斗 以致于 PhD 毕业困难,本周六想和 TUNA 的前辈们交流一下数字电路,加速毕业/肄业。Sequencer 将会在本次 Tunight 中试图颠覆 Verilog 强加于设计者的设计范式(绝对不是传销某基于 Scala 的电路设计语言1),试图想大家忽悠清楚更加本质的数字电路设计方法学。(而且绝对不会放送打黑工广告 🚩🚩🚩)
活动信息:
欢迎一起来玩!
[1] Chisel
Rust 是一个年轻的语言,尚未背上沉重的历史包袱,但也开始成熟。设计者们已经察觉了一些属于 Rust 的那份设计失误,并为了修正,付出了或多或少的代价。 喵喵是 TUNA 物理地址附近的一只猫猫,近期正在学习 Rust,感受到了在这些左右互搏的案例中蕴含的喜剧效果。听说 TUNA 是金枪鱼相关社团,想要赚取小鱼干,于是决定用这些幽默故事交换。 喵喵将会在本次 Tunight 中从使用者的角度介绍部分 Rust 语言设计存在的疏忽,借此对 Rust 的设计思维和用法略加介绍。希望大家能够和喵喵一起学习 Rust,爱护喵喵。
活动信息:
欢迎一起来玩!
今年,TUNA 再一次作为开源社区参与了“开源软件供应链点亮计划——暑期2021”活动,并提出了八个项目。最终,共有四个项目通过立项,顺利地完成了各项任务,正在等待结题审核。
由于其中的“Windows 平台 SSH agent 的统一实现”这一项目已经在之前的 Tunight 单独分享,本次 Tunight,我们邀请了其余三位同学分享他们的项目,分别是“完善 Gentoo ROCm GPGPU 框架”“开源弹幕系统改进”和“跨平台 NFC 读写套件的维护与升级”。本次四个项目领域各不相同,也充分体现了 TUNA 在技术上的百花齐放、兼容并包。
活动信息:
由于天气的原因,我们又咕了周五的百团大战,同时获得了无人值守一线海景摊位。本次招新有很多新的小伙伴加入,院系分布也更加多元,欢迎你们加入 TUNA!
本周六将举办迎新会,按照惯例首先会有 TUNA 的简介以及互相认识的环节;在此之外,还会由资深 Debian Developer,续本达老师(Benda Xu <orv@debian.org>)为大家带来 Debian Installation Party。
活动信息:
欢迎一起来玩!
在 Linux 上使用 ssh 时,ssh-agent
的存在极大地方便了认证的过程。而场景切换到 Windows 上之后,各家实现为替代 Unix 域套接字各显神通,让好用的东西又变得不是那么好用了起来。随着 Windows 开始提供官方的 ssh-agent
,在 Windows 上使用统一 的 SSH agent 又有了希望。本次 Tunight 将以 OSPP 2021 的对应项目的实现为背景,向大家介绍现今 Windows 上存在的常见 ssh agent 所使用的进程间通信方式,如何对他们进行通译,在 WSL 环境下“借用”宿主 Windows 的 SSH agent 的方法,以及防止其他用户访问以保证安全的 trick。
活动信息:
P.S. 本次 Tunight 的内容来源于 OSPP 2021 的“Windows 平台 SSH agent 的统一实现”项目,可见 OSPP 项目页面、项目 GitHub 页面。上述简介由主讲人编写。
欢迎一起来玩!
有那么一类构建工具,为了方便使用 macOS 和 Windows 这些没有自带软件包管理器的系统的用户,整合了自己的依赖管理功能,但却独树一帜、闭门造车、我行我素、疑神疑鬼,即使需要的某个依赖已经在系统上装好了,版本也匹配,也一定要自己下载一份才用得安心(Maven 和 Gradle:“请直接报我们身份证号”)。在诸多 GNU/Linux 发行版这类有系统自带的软件包管理器、已经能挑起依赖管理的大梁的项目中,这些自成一派的构建工具会让软件包维护人员格外头疼,因为已有的软件包难以被重用,构建工具自己选择并使用的依赖又无法控制。那么,可不可以完全摆脱构建工具,让系统软件包管理器来全权负责依赖和构建呢?本次 Tunight 中,我们将探索一个在 Gentoo 上不使用上游项目配置的构建工具、使用系统的 Portage 软件包管理器来从源码编译 Kotlin 标准库和其它一些核心程序库的案例。
目前,上述的 Gentoo Kotlin 软件包仍在等待发行版上游审核开始,故它们现在只能寄居于非官方的软件仓库中。许多发行版都有一些关键的非官方仓库和不少用户自己的仓库,例如 Fedora 上的 RPM Fusion、Copr,以及 Arch Linux 用户换到别的发行版后经常问对等替代品的 AUR。非官方库中的软件包不免会依赖一些发行版官方仓库中的包,但官方库会不断更新,可能导致非官方库中的包无法再编译、甚至依赖关系都被破坏了。既然管生,也要管养;和软件本身一样,软件包也是需要测试和维护的。那么在出现这些软件包无法安装的情况时,非官方库的维护人员该如何探测它们,从而第一时间修复相关问题呢?了解了 Gentoo Kotlin 软件包的诞生后,我们将继续探究它们是如何被测试的,研讨一种基于持续集成(CI)工具的软件包测试方案。
活动信息:
P.S. 本次 Tunight 的内容来源于 GSoC 2021 的 Expanded and Enhanced Big Data Infrastructure on Gentoo 项目,可见 GSoC 项目页面 或 Gentoo Wiki 的介绍。上述简介由主讲人编写。
欢迎一起来玩!
IO500 是近年来新设立 就被玩坏了 的世界高性能存储系统排行榜。在本月初 ISC21 发布的新一轮 IO500 榜单中,我们自研的 MadFS 在 鹏城云脑II 上再次以 36,850 的分数取得第一,刷新了自己半年前创造的 7,043 分的纪录,并领先了第二名 20 倍左右。
去年由于打榜工期紧张,我们的精力主要都投入在了配环境和解决扩展性问题上。虽然最终依靠庞大的规模取得了高分,但 MadFS 仍存在一些 bug 和问题,并没有发挥出硬件的全部威力。过去这半年,我们继续对 MadFS 在各方面做了优化,分别将单节点的文件读写带宽、元数据 IOPS 提高 50%,整体文件查找性能提高 200 倍,并将测试规模从 256 提高到 512 节点。这一系列操作使得 IO500 的总分翻了 4 倍,完全超出了我们之前的预想。
消息一出,吃瓜群众沸腾了!然而,面对这样一个榜单,Committee 看了会沉默,Intel 看了会流泪。我们不禁要思考,做一个只为打榜而生 并且只能打榜 的文件系统意义何在?MadFS 的前路又在何方?……
怀着忐忑的心情,本次 Tunight 由 rjgg 继续为大家讲述 IO500 背后的故事。主要内容包括:
(这次可以直播、可以录像、可以提供讲稿)
活动信息:
P.S. 本次 Tunight 的主题由喵喵拟定并经康总批准
P.P.S. 欢迎大家围观康总在 ISC 会上的报告:There is nothing mysterious behind MadFS
欢迎一起来玩!
Hi Tunars,
一个学期转眼就过去了,我们将于本周六晚在学校附近的翀咖啡再次举办一次沙龙形式的金枪鱼之夜。本次活动邀请了来自 USTCLUG 的 Keyu Tao、iBug(他们本学期曾经 主讲 Tunight)以及来自 SJTUG 的迟先生参与。现场将为大家提供免费的饮料、咖啡、小食,以及投影仪、音响等会议设备,还有大量的 TUNA 贴纸等你领取!
活动信息:
欢迎一起来玩!
虚拟化技术通常被用于企业级应用场景,但是随着虚拟化技术的支持在家用消费级硬件上越来越普及,我们可以用它来实现一些家用灵车需求,例如在不重启物理机器的前提下,在用于工作的 GNU/Linux 系统和用于娱乐的 Windows 系统之间切换,同时几乎不损失显卡的图形性能。本次 tunight 将基于主讲人的有关实践介绍相关的知识。
P.S. 本次活动将为今年毕业离校的 TUNA 成员颁发 TUNA 毕业证书。
活动信息:
欢迎一起来玩!
可复现、声明式且可靠的构建与部署是困难的,Nix 作为一个构建系统,从完全不同的角度解决了这一问题。在其基础之上,也构建了从 Linux 发行版到基础设施自动化的一系列衍生项目。恰逢 NixOS 21.05 发布之际,让我们从自下而上的角度看看 Nix 如何能做到这一切。
P.S. 本次活动有新印制的大量 TUNA 贴纸供自由领取。
活动信息:
欢迎一起来玩!
经过了几周的咕咕咕,本周的 tunight 终于要继续进行了。本周,我们邀请了来自姊妹社团 USTCLUG 的陶柯宇(taoky)和付佳伟(iBug)同学参与活动,他们在去年分别担任 USTCLUG 的会长和副会长。本次交流没有固定的主题,两位同学将带来一些技术相关的 topic,之后进行自由交流沟通。
活动信息:
欢迎一起来玩!
很多人都在找 YubiKey 的替代品,知名 TUNA 成员 cqtest 曾经分享过一种使用 JavaCard 的方案 YutriKey。但想买到合适的 JavaCard 并不容易,而且使用 JavaCard 实现 FIDO 标准也很困难。因此,CanoKey 的目标是从零开始再造一个 YubiKey,即支持 OpenPGP、PIV、TOTP、FIDO 等多种功能的安全密钥(security key)。目前 CanoKey 的实现和文档都在 GitHub 上公开,并已经经过了小规模的生产测试。
活动信息:
欢迎一起来玩!
转眼间,新的学期已经过去了五分之一。由于天气的原因,我们咕了周五整天的百团。不过很高兴的是,周四(以及从上学期到现在)还是有很多新的小伙伴填写了招新表单。欢迎你们加入 TUNA!
本周六将举办迎新会。当然,对 TUNA 的简介、大家(再次)相互认识总是不可或缺的。本次,我将带来对于计算机系网络原理课程实验平台 TanLabs 的介绍。由于(前)系主任吴建平院士提出了“仨月造台路由器,半年学通互联网”的口号,网原课程在 2018 年开始了实验改革。几位计算机系同学从 2019 年夏季开始自主开发实验平台,这一平台在 2020 年秋季学期正式应用于教学中,较好地改善了选课同学的实验体验。
活动信息:
注:之后的 Tunight 将会恢复使用 Zoom 会议,本次为临时使用。
欢迎一起来玩!
又是新的一年、新的一学期,春季学期百团大战马上就要到了。由于社团部持续咕咕咕,直到刚才我们才得知具体的展位安排。
本次招新时间第三周周四(3/11)、周三(3/12)的中午和傍晚。我们的活动地点在C楼西北侧 H6 摊位(科创类),欢迎一起来玩!
Hi Tunars,
魔幻的 2020 年就快过去了。今年中,我们已经以线上线下融合的方式举办了 18 场金枪鱼之夜,转眼就到了年末。为了更好地促进交流、联络感情,在金主爸爸的赞助下,我们将于本周六晚于学校附近的翀咖啡举办一次沙龙形式的金枪鱼之夜。本次活动不设置专门的主题,大家可以交流任何有意思的内容,也欢迎带来各种新奇有趣的设备。现场将为大家提供免费的饮料、咖啡、小食,以及投影仪、音响等会议设备,还有大量的 TUNA 贴纸等你领取!
活动信息:
本次活动不直播、不录像、当然也不存在讲稿。
欢迎一起来玩!
IO500 是近年来新设立的世界高性能存储系统排行榜。在刚刚于 SC20 发布的最新榜单中,鹏城实验室与清华大学和华为公司合作在 “鹏城云脑 II” 系统中,以 7043.99 的分数取得了第一名的成绩。
由于硬件环境是全新的 ARM 处理器和 RoCE 网卡,现有的软件难以适配。我们被迫从零开发了一个分布式文件系统——MadFS。MadFS 使用 Rust 语言编写,基于 UCX 进行网络通信,并专为打榜进行了极致性能优化。在拿到机器的最后 10 天时间里,打榜团队进行极限操作,从 200 分一路调优到 7000 分,达到了原来第一名的 4 倍左右(见官方榜单)。此外 MadFS 还助力清华超算团队在 SC20 VSCC 的 IO500 项目中,以 144 分取得第一名,领先第二名 5 倍以上。
本次 Tunight 由 rjgg 来为大家分享这次 IO500 打榜过程中跌宕起伏的幕后故事。主要内容包括:
活动信息:
P.S. 由于主讲人要求,本次活动不直播、不录像、结束后不提供讲稿。
P.P.S. 本次 Tunight 的主题由康总亲自拟定。
欢迎一起来玩!
邮件似乎已经从现代社会中消失了,毕竟能即时群聊,还有谁用邮件呢�可是,毕竟总有一些邮件需求,例如邮件列表,例如办公。这种情况下,大家基本都追求「能用就行」,无论是webmail,还是客户端,只要能收发邮件,大家就满意了。
但是,谁不想在自己的邮件上做一些「奇怪」操作呢�比如 PGP 加密与签名,比如过滤与钩子。相比奇怪网站的奇怪接口,邮件的系列协议可谓根正苗红;相比网页、客户端提供的奇怪触发规则,shell 提供的管道可以让我们做更加强大的操作。在这种需求下,一款在 shell 中的邮件套件呼之欲出。
不是没有人尝试过 Mutt ,甚至有人反复尝试使用 Mutt,却依旧被它的文档与配置打败,因为最小工作配置也是非平凡的,需要阅读文档并根据需求才能调整好;而对于大多数用户来说,在最小工作配置工作之前,他/她并没有耐心阅读文档;而且,Mutt 对一些需求的支持并不是非常直观,比如多账户,其通过文件夹钩子实现,虽然科学,但让初心者较为困惑。
所以,本次 Tunight 的目的是提供一个 Mutt 与相关工具的中等工作配置,让大家既能够用起来,也能满足大部分奇怪需求,比如 PGP 签名与加密(不然大家的 yubikey 买来只用来 ssh,真可惜),比如钩子与过滤,同时给出一些常用选项与绑定,让体验更加舒畅。
最后会讲一讲用 Mutt 处理邮件以后的工作流程,比如 Todo-List,比如签名与加密,比如对邮件头进行有趣的发现。
P.S. 本公告是按照主讲人提供的简介原样提供,文字显示效果符合预期,未经任何修改。
P.P.S. 在上述内容结束后,本次 tunight 还可能发生以下(仅限于线下参与者的)事件:
活动信息:
欢迎一起来玩!
虽然 LaTeX 支持插入很多格式的图片,但是对于 LaTeX 爱好者来说,使用 MS Word 和 MS PowerPoint 画图并保存为 PDF 显然不是一个“正统”的方法。他们更喜欢一个叫做 TikZ 的宏包,使用特定的命令,排版出与其他画图软件风格迥异的矢量图。尽管用代码绘图一听上去就很不“直观”,但是用它绘制计算机科学里面的“图”和“树”还是比较“自然”的。这次讲座将通过一些真实的案例科普 TikZ 的基本命令和使用哲学。
活动信息:
欢迎一起来玩!
用于神威系列超级计算机的申威众核处理器一直以来面临编程困难的问题。它的主核(相当于常规的 CPU)具备完整的操作系统支持,可以运行各类系统调用,计算性能较低,主要用于调度;计算性能优秀的从核阵列(相当于 GPU,但没有类似显存的独立的存储空间,和主核共用主存)仅有极为受限的 I/O 操作,和主核不共享指令集。在这种情况下,几年来神威开发者都需要为主核和从核分别编写代码,从主核上通过专用的接口调用仅有一个指针参数的从核函数,且只能使用 C 和 Fortran 这类语言,无法在主从核边界上使用 C++ 的模板等元编程功能。参考 CUDA 和 C++AMP 等已有的针对 GPU 的语言扩展,我们决定基于 GCC 开发一个插件,使得开发者能够在同一上下文中流畅地编写主从核混合的代码,并在此间支持模板的协同展开、lambda 传递、参数列表自动打包等功能,结合硬件上的共享存储特征、从核上简单的串行 + SIMD 编程方式,最终达到比 CUDA 更优秀的可编程性。本次分享将主要介绍 GCC 的编译过程、如何介入这一编译过程、以及在其编译的多层中间表示上做相应的变换以达成功能需要。
活动信息:
欢迎一起来玩!
轰轰烈烈的百团大战过去了,按照惯例,本周六将举办迎新会。除了迎新会必有的对 TUNA 的简介、大家相互认识的环节外,还会由前端专家喵喵带来对于现代 CSS 技术的介绍。
活动信息:
欢迎一起来玩!
秋季学期百团大战就要到了,又是一年两度(实际上今年还是第一次)决定 TUNA 生死存亡的时候了!
本次招新时间第三周周二(9/29)、周三(9/30)的中午和傍晚。我们的活动地点在紫操东侧 H6 摊位,欢迎一起来玩!也请各位留意天气情况,避免被放鸽子。
盼望着,盼望着,秋天来了,大家终于回到了学校。由于疫情防控政策的放松,本学期的 Tunight 将采用线上线下融合的方式进行。欢迎所有在校成员来教室参与,也同样大家继续在远程参与 Zoom 讨论和 Bilibili 直播。
最近上线的 OpenTUNA 镜像站,是 TUNA 镜像站的兄弟站。众所周知,TUNA 镜像站由几台物理服务器和网络设备支撑,那么,怎么利用公有云的架构搭建一个类似的镜像站呢?本次 Tunight,且听 完全是 AWS 的形状 的杰哥介绍。
活动信息:
无论是否是 TUNA 成员(尤其是新同学们),欢迎一起来玩!
AI 浪潮一波又一波,仿佛不会算法就落后于时代了。深度学习框架处理了各种设备的计算细节、求导、计算优化序列的工作,而在动态、静态两套截然不同的世界中,这些步骤又各自有他们不同的优化点和瓶颈。
MegEngine 天元作为一个用了5年多的深度学习框架,是一个在淘金热时,坚持选择卖铲子的团队。这次讲座,我们邀请了旷视研究院 AI 系统高级技术总监、MegEngine 技术负责人许欣然作为主讲人。他将带我们了解一个深度学习框架是如何把网络的定义逐步优化并最终执行的,从框架开发者的视角来看待深度学习。
有谁会不想要属于自己的大内网呢,或者用更加高端一点的说法:SDWAN。tinc,zerotier,我们也能找到许多开源的工具集为我们自动化这一过程,同时像 weave,flannel 这样的 CNI 也是全新的选择。But they do too much more than they are supposed to do. 他们常常会选择到并非最优的路径,性能上也不尽如人意,商业解决方案虽然可能会有更好的效果,价格自然也是 enterprice。而如今我们有了 wireguard,这一不仅安全,还有着极高性能的隧道协议,在它的基础上我们是否能够构建一个 Poor man’s SDWAN 呢?本次 tunight 就来讲讲 RAIT,这一切背后的控制平面,以及在开发及部署过程中的现实问题。
众所周知,写出正确的代码从来都不是一件容易的事。虽然不写代码就不会有bug,但是不写代码是不可能的。为了从逻辑上证明某个程序满足某些想要的属性,我们必须采用比测试更加重量级的形式化验证手段。定理证明是一种能验证几乎任何(使用高阶逻辑)属性的证明方法——只要你知道这个定理该怎么证明。这次讲座以知名的证明助理 Coq 为例,从初学者的角度介绍其基本使用。
作为系统管理员,相信很多人谈 SELinux 色变。那么到底该如何轻松上手 SELinux 使用呢?本次 Tunight 将简单介绍 SELinux 相关概念,带大家通过几个实际案例探索 SELinux 的入门。
经过了忙碌的考试周和毕业季(虽然还没结束),线上的金枪鱼之夜又恢复啦!接下来的暑假中,tunight 也将不定期举行。而这一次的 tunight,有着一个十分特别的主题。
在本次金枪鱼之夜中,讲者将介绍 X 射线成像的基本原理,以及介绍普通爱好者可自己 DIY 的 X 射线成像实验方案。讲者将以个人拥有的设备为例,比较几种方案的性能,介绍数字 X 射线(DR)平板探测器的工作原理,以及逆向某型号 DR 平板探测器的过程和展示最终获得的图像。此外,还将简单展示使用该设备进行计算机断层扫描(CT)的初步效果。
讲者鲍亦澄,江湖人送外号”鲍大腿“,来自清华大学物理系3字班,现在为哈佛大学物理系博士生,对各类模拟数字电路以及核物理探测器技术有兴趣(然而老本行根本不搞这个)。
应讲者要求,本次 tunight 结束后不提供录像或 slides,亦不提供直播。
众所周知,Scala是一门 JVM 上的 OO (object-oriented,面向对象)语言。借助于强大的类型系统和简洁的语法,Scala 能够支持丰富的 OO 特性,也挑战了人们对于 OO 的固有认知。在 Scala 中,单例不再是设计模式,接口可以有默认方法,类型也能作为类的成员。这次讲座将从 object, trait, subtyping 以及 dependent object types 几个角度介绍Scala的OO特性。
正如大家知道的,TUNA 作为开源社区,参与了中科院软件所与华为共同举办的 “开源软件供应链点亮计划——暑期2020” 活动,并提供了数十个 项目提案。
由于目前计划参与的同学较多,对活动流程或者具体项目也有较多的问题,因此我们本周的 Tunight 邀请了所有项目的 mentor,介绍每个项目的背景、要求等,同时也提供在线的答疑。欢迎所有想了解或者参与活动的同学参加!
注:本次 tunight 的讲稿与录像已经上传(见页面顶部),因此如果没有时间参与也不用担心。我们也欢迎大家加入我们的 Telegram 群组,随时联系相应的 mentor。
随着移动计算平台的高速发展,「在手机上安装桌面 Windows 和各类 Linux 发行版」已不再是“图片刷机”级别的饭后玩笑。那么这到底是怎么实现的呢?本次 Tunight 将以 Lumia 950 (XL) 和 Nexus 6P 这几款基于 Snapdragon 808/810 (MSM8992/MSM8994) SoC 的手机平台为例,介绍常见移动计算平台里的各种子系统 (AP/Modem/DSP/GPU/电源管理) 的功能与分工,分析基于 ARM/AArch64 的移动平台的设备启动流程,介绍 AArch64 UEFI & ACPI 的开发,并与 U-Boot, Little Kernel 和 Device Tree 等技术相比较。
本次的主讲人 imbushuo (a.k.a. “某著名黑客”)是一位不走寻常路的开发者,对于各种系统底层有深入的研究。他的一些代表工作包括:
在上上次 tunight 中,党主席给大家介绍了 Vert.x 这一事件驱动的框架,大家是否充满了想要自己造一个这样的框架的冲动(雾)?
众所周知,Rust 是一门非常好的语言,在 Rust 1.39 中,对 async/await 的支持已经稳定,tokio 等异步的事件驱动框架也在逐步支持这一新特性。本次 tunight 将在介绍异步、事件驱动、协程和操作系统提供的同步机制等背景知识后,介绍如何基于这一新特性实现一个性能与 tokio 可比的事件驱动(玩具)框架。
本次主讲人是付祈安,本科物理系基科班五字班,现硕士就读于计算机系,曾任物理系科协主席,故人称“付主席”。在 TUNA,没有人比付主席更懂物理和 CS。
随着近年来工业级编程语言的进化,简单粗暴的接口实现或虚继承为基础的抽象越来越无法满足用户的需求,甚至始终强调“轻量级”的 Go 语言也计划好将要放弃曾经的设计决策、在未来版本中加入泛型。本次分享中,讲者将从泛型在一些语言中的设计与实现切入,进而介绍“元编程”这一更加广泛和灵活的编程语言概念与方法,分享多种编程语言中的元编程特性,包括 C macros、C++ template、Java/C# reflection、Rust procedural macros、Lisp macros,以及将要到来的 Scala 3.0 metaprogramming:inline, macros and staged programming。
本学期由于疫情的影响,大部分成员迟迟未能回到学校。TUNA 的线下活动已经停滞了很久,再次面临倒闭的危机。因此,我们将从本周起恢复 tunight,形式为全部线上举行。根据主讲人的选择,我们可能采取会议软件或者公共直播等不同方式举办活动。
Vert.x 常年占据 TechEmpower 的 Web Framework Benchmarks 前几位,本次主讲人讲介绍 Vert.x 的基本使用方式,并将介绍如何使用 Vert.x 构建微服务。
论文写作是所有科研工作者应该具备的技能。作为学术界交流的“官方语言”,学术论文既要讲究严谨、真实、规范,也要通俗、易懂。一篇投稿能不能中,除了工作自身贡献的大小以外,好的写作也是十分重要的加分点。论文写作是一门艺术,相较于充满了技术细节的系统开发与编码,论文往往要求作者在很高的层次上介绍自己的工作,并与同行的工作相比较。这一点对于新手来说并非易事。但是,论文写作并不像文学创作那样需要极高的天赋。只要掌握了一定的章法,我们都能写出来至少是合格水平的文章。本次讲座将着眼于计算机科学领域,指出新手写作的常见误区,并从优秀的案例中总结出写作的“黄金法则”与经典套路。
日常所谓「折腾 Linux」一半是折腾发行版/编辑器/桌面环境,另一半就是搞一些玄学的 iptables/代理/VPN隧道/DNScrypt 等等「科学上网」的玩意:这后一半折腾的就是计算机网络协议栈中的各种组件。众所周知,计算机网络是一门鼓励动手的学科,在折腾的过程中我们逐渐理解自己究竟在干什么。本次 Tunight 将介绍一种略有不同的折腾方法:绕过内核,编写我们自己的协议栈!以北京大学「计算机网络实习(实验班)」课程 Lab 2 为例,自底向上地介绍如何设计并实现一个 interoperable, drop-in replaceable 的协议栈,并对讲者在完成 lab 中的一些失误进行分析。
FFmpeg 是著名的自由软件,包含用于处理多种格式的视频、音频和其他多媒体文件/流的程序和程序库,被广泛用于转码、编辑、效果处理等场景。本次 Tunight,我们邀请了国内著名的 FFmpeg 开发者刘歧(悟空、Steven Liu),他是 FFmpeg Vote Community(决策委员会)成员、GSOC 2019 FFmpeg Mentor、OnVideo CTO。他将带来名为《FFmpeg 杂谈》的 talk,包含以下内容:
互斥(Mutual exclusion)问题是分布式计算领域的经典问题,1965 年,Dijkstra 提出了第一个互斥算法。本次 Tunight 将以 Dijkstra 的互斥算法为例,介绍分布式计算领域与之相关的概念与理论,并证明该算法的正确性;将该算法的伪代码简单地“翻译”成 C++ 并不能正确地实现互斥功能,因为分布式计算理论中的计算模型与实际计算机和编程语言的计算模型有诸多差别,例如实际计算机和编程语言的内存序通常更弱,本次 Tunight 将介绍 C++11 新特性 std::atomic
,使用它给出该算法的正确实现并给予证明。
注意:本活动时间、内容、具体介绍在 11/7 有更新。
开源生态是计算机领域中独特又日益重要的一环,开源软件被广泛应用于操作系统和云计算、大数据、人工智能、工业互联网软件中。国际、国内各大互联网企业也逐渐加大了开源社区的参与力度,拥有开源经验的开发者也越来越受到大企业的重视和青睐。
声明:本次活动非 TUNA 协会主办。
Ubuntu 是一个可将PC和物联网设备连接到服务器和云的平台。包含了一整套用于开发,配置,管理和服务编排的企业级工具。自 Ubuntu 第一个版本Ubuntu 4.10(代号Warty Warthog)发布以来,而Ubuntu 19.10(Eoan Ermine)将是第十五个版本。新版系统不仅拥有常规的软件版本升级,还有令人兴奋的新功能。
编译器是一个神奇的软件,它能将用文本表示的源码翻译到机器码(或者其他相对底层的表示)。如果说每个编程语言都构成了一个世界,那么编译器就是这个世界的创造者和万物运行法则的制定者。开发编译器的时候,你就像是站在“上帝”视角,洞悉万物之规律。因此,写一个编译器能给你带来和写普通应用软件截然不同的体验和乐趣。本次 Tunight 将介绍现代编译器开发的主流方法、设计思想与工程挑战。以计算机系《编译原理》课程的保留项目 Decaf 为案例,讲述最新版 Decaf 编译器(Java & Scala 版)的改进与设计,并穿插一些开发过程中的 trade-off 故事和两个版本优缺点的比较。
本周的金枪鱼之夜,我们邀请了计算机系高性能所的陈康副教授给大家讲授关于分布式系统的基础知识,以及著名的分布式一致性算法 Paxos 协议。
在程序设计竞赛和训练中,评测是一个重要的环节。该环节主要测试选手程序的运行时间、内存使用和正确性。目前,评测由评测系统自动化地完成。而现有评测系统面临的一个重大挑战是,多次测试同一程序时,时间波动较大。
秋季学期百团大战就要到了,又是一年两度决定 TUNA 生死存亡的时候了!
本次招新时间第二周周四(9/19)、周五(9/20)的中午和傍晚。是我们的活动地点在 C 楼西北侧 H23 摊位,欢迎一起来玩!
本周的 Tunight 由郭秀珍带来《SDR与USRP入门——以ZigBee为例》。
SDR(Software Defined Radio,软件无线电)是一种常用的无线电分析工具。通过 SDR,我们可以将 PC 机上软件无线电基带信号转换为射频信号,也可以将接收到的射频信号转换为基带信号交给软件作进一步处理。利用 SDR,我们可以方便地处理射频信号,而不需要设计不同的电路或者芯片。本次 Tunight,我们将以 ZigBee 为例演示基于 USRP 和 GNU Radio 的使用方法。
本周的 Tunight 由朱俸民带来《Parsing from scratch》。
文法解析或许是计算机科学中将理论与实践结合得最成功的一个领域:解析技术基于形式语言与自动机理论,成熟的生成器与组合子库也在工业界得到广泛应用。几乎所有的软件中,你都能找到它的影子:编译器构造,命令行解析,结构化文本信息提取,使用喜闻乐见的正则表达式来匹配文本,等等。对于那些喜欢设计自己的语言的人来说,文法解析很有可能是他们在实现编译器过程中的第二道难关——在他们终于设计出令人满意的具体文法之后。
本周的 Tunight 由陈嘉杰带来《Rocket Chip 适配和路由器》。
距离上次陈嘉杰在 Tunight 分享 《OS in Rust》,他在操作系统课上又有了一些新的进展,这次更多会涉及硬件路由器的 Verilog 实现细节,并且讲到 OS 和自定义的硬件是如何进行交互的。
本周的 Tunight 由张宇翔带来《一C各表:USB Type-C接口的那些事》。
最近几年,USB Type-C 接口的使用日趋广泛,许多新的设备也都采用了这个接口,但大家尝尝发现,同样是 Type-C 接口,有时候会出现各种不兼容的情况。这次,张宇翔同学会讲解 USB Type-C 接口的内部结构和电路原理,并且现场解析并演示 USB PD 协议的协商过程,讲述一C各表的故事。
本周的 Tunight 由朱老师带来 Monad & PL 新进展。
众所周知,Monad是某程序语言社区的资深用户非常喜欢的东西,但是很多初学者往往到这里就放弃了。虽然某问答论坛上有无数的关于“如何理解Monad”的解答,但是其中很多解答并不正确,也不太能帮助到初学者。这次讲座将从实践和理论两个层面,用尽可能简单的方式,不太严格地回答“Monad究竟是个什么”。在Monad之外,我们还将讨论一下PL领域的最新进展和前沿主题。
本周的 Tunight 由党主席和宇翔联合带来关于 Java Card 的介绍,包括历史、特点、系统架构等,还有真实 JavaCard 的操作演示。
由中国信息通信研究院和中国计算机学会联盟主办,云计算开源产业联盟、中国计算机学会高性能计算专业委员会联合承办的第二节中国高性能云计算创新大赛(MAXP 2019)即将开始报名。信通院的工程师将在第三周周四(3/14)给校内同学带来一场宣讲会,包括大赛详情介绍,以及知识分享环节。
在 2018 年的尾声,我们将举办今年的最后一场金枪鱼之夜。届时,续教授将为大家介绍 Linux from Scratch (LFS) 以及 Gentoo Prefix bootstrap 的原理。会有,坏人将会分享他最近折腾 Sony DPT-1 的一些心得。
Nix 是一个独特的“纯函数式”包管理器。它具有原子更新、依赖隔离、构建过程可复现、定制相对简便等特点。这次我们将介绍 Nix 包管理器和与之配套的 Nixpkgs 软件发行版,了解基于 Nix 的软件包使用、构建、定制、开发环境方面的内容,以及背后 Nix 的基本设计和简单原理。
Ceph 是一个开源的分布式存储系统,从很久以前大家就很想了解一下,但奶牛老师一直咕咕咕 XD。但好消息是,本周六,熟读 Ceph 源码、精通存储系统的沈导 EXCALIBUR 将为大家介绍 Ceph。还是老时间、老地点,欢迎来玩~
杰哥:“前段时间,一个以 GPL 协议开放的软件 GPGMail 突然宣布收费,引发了诸多的不满和争议。本人前段时间刚好自学了一些 CTF 知识,虽然可以自己修改它的源码自己重新编译,但自然会想到能不能用逆向和二进制更改的方法打补丁,自己尝试了一下成功了,有了一点小小的心得。我还会谈谈 Objective-C 语言里一些内部实现、它和Swift的一些关系等等问题。”
如果你是在百团大战的时候加入的 TUNA ,或许还对非常酷炫(也许)的刷卡入会记忆犹新。更加神奇的是,我们最新的系统与读卡设备通信的部分完全是在前端实现的。那么,这到底是个什么黑科技呢?请听宇翔分解。
周六晚上会有一个 TUNA hackthon,续教授和奶牛老师准备采用 yacy 配个校园网用的搜索引擎,欢迎吃瓜群众围观 XD
OSCAR 开源先锋日旨在为本土开源企业与开源软件提供分享与交流的平台,促进国产开源软件的繁荣发展。该活动由中国信息通信研究院主办,云计算标准与开源推进委员会、清华大学 TUNA 协会、北京大学开源软件协会承办,由云计算开源产业联盟、华为、腾讯、阿里巴巴、小米支持,高效运维社区协办。
百团结束,我们又多了很多新面孔,不如一起来认识一下吧~ 本周六晚 19:00-21:00,我们将在三教 1304 举办新成员欢迎会,届时会介绍 TUNA 的基本情况和建设 TUNA 的 n+1 种方式。之后的 Linux Installation Party 环节我们将简要介绍使用 Linux 好处都有啥、常用发行版有哪些、日常怎么用 Linux 以及如何安装 Linux,欢迎想了解 Linux 的同学带计算机参加~
软件自由日(Software Freedom Day, SFD) 是一个关于自由软件和开源软件的全球性庆祝活动, 2018 软件自由日清华站将在 9 月 22 日(周六)14:00 - 17:00 举办,地点:新水301。
首届学生开源年会 SOSCON18 将于6月9日-10日在重庆大学举办,届时 TUNA 协会将作为创始社区之一参加。同时,还会有很多其它来自国内各大高校社区参加,包括:重庆大学 CONTINUE、中科院开源软件协会、中科大 LUG、西南大学开源协会等。
五月,Fedora 迎来了新版本 Fedora 28。不妨一起参加 Fedora 28 Release Party,了解 Fedora 发生了哪些新的变化。活动内容包括 Fedora 28 新特性及 Fedora packaging and tools 介绍,现场更有 Cheat Cube、U 盘等小礼品赠送,欢迎来玩!
图书馆 2017-2018 学年度春季学期专题培训讲座, 将为大家介绍如何使用 LaTeX 排版论文:
作为一种专业文档排版系统,LaTeX 目前已为国际学术出版界广泛使用。 本讲座讲解LaTeX的基础知识、下载安装、模板使用,使读者掌握利用 LaTeX 进行学术论文排版,以及使用 Thuthesis 进行清华学位论文排版 的基本方法和技巧。
GNOME 3.28 发布了,不知大家是否急于了解有哪些新特性?又或者,想借此机会与北京开源社区的小伙伴们一起玩耍?GNOME 3.28 Release Party 北京站将于3月28日在 SUSE 北京举办,一起去玩耍咯~
当你在校园中享受高速网络带来的便利时,是否考虑过这背后隐藏的种种安全问题?
神秘莫测、踪迹难寻的“黑客”,你是否知道他们真正在做什么?
随着学校信息化程度的提高,各个信息系统的安全性是如何得到有力保证的?
智能设备、无线电设备层出不穷,你可知其安全措施几乎形同虚设?
欢迎 付费后阅读全文 参加金枪鱼小课堂暨2017年清华网络安全日——校园生活中的网络安全。
我们与北京 GNU/Linux 用户组以及 Deepin 社区携手,联合 Fedora 社区、龙芯和华为,共同举办一次软件自由日。软件自由日是一个关于自由软件和开源软件的全球性庆祝活动,从 2006 年开始,定于每年 9 月的第三个星期六举行。其目的是向公众推广和宣传自由/开源软件。虽然这次的时间与往常不同,希望大家加入自由软件事业的心还是不变的呢!
活动主要讲述 RTOS:SylixOS 操作系统关键技术,其主要内容包括四部分:
与中国信息通信研究院联合举办,由云计算开源产业联盟进行讲座的云计算开源技术公开课,将会由一线的开发工程师,结合实际开发经验,对于云计算中常用的 OpenStack 以及容器技术进行详细讲解。
图书馆 2016—2017 学年度秋季学期专题培训讲座, 将为大家介绍如何使用 LaTeX 排版论文:
作为一种专业文档排版系统,LaTeX 目前已为国际学术出版界广泛使用。 本讲座讲解LaTeX的基础知识、下载安装、模板使用,使读者掌握利用 LaTeX 进行学术论文排版,以及使用 Thuthesis 进行清华学位论文排版 的基本方法和技巧。
软件自由日(Software Freedom Day, SFD) 是一个关于自由软件和开源软件的全球性庆祝活动, 2016 软件自由日清华站将在 9 月 24 日(周六)14:00 - 17:00 举办,地点:三教3300(三段)。
当移动互联网、物联网连接了物理世界,渗透到生活中的方方面面, 你可知任何环节的微小漏洞,都有可能直接威胁到物理安全?
越来越多的智能设备、无线电设备,你可知其安全措施几乎形同虚设?
流量劫持无时无刻不在发生,隐私安全如何保证?
面对越来越多的网络安全隐患,普通人应该如何防范?
欢迎 收看今天的走进科学 参加2016年清华网络安全日——物联网时代的安全威胁。
为庆祝 openSUSE 42.1 Leap 发布,我们和 openSUSE 社区将联合举办 Release Party. 这也是 2016 年 TUNA 的第一场公开活动。
本次 Tutorial 由台湾知名的自由软件贡献者 黃志偉 主讲。
图书馆 2015—2016 学年度秋季学期专题培训讲座, 将为大家介绍如何使用 LaTeX 排版论文:
作为一种专业文档排版系统,LaTeX 目前已为国际学术出版界广泛使用。 本讲座讲解LaTeX的基础知识、下载安装、模板使用,使读者掌握利用 LaTeX 进行学术论文排版,以及使用 Thuthesis 进行清华学位论文排版 的基本方法和技巧。
欢迎各位新同学加入 TUNA,本学期共有 33 位同学加入,新成员见面会将于 9 月 26 日(星期六)晚 19:20 在旧水-303进行。
软件自由日(Software Freedom Day, SFD) 是一个关于自由软件和开源软件的全球性庆祝活动, 2015 软件自由日清华站将由 TUNA 协会和北京 GNU/Linux 用户组 携手在 9 月 19 日(周六)14:00 - 17:00 举办,地点:新水300。
从电视、游戏机到各种智能设备,从智能治疗设备到波音787,越来越多的智能设备被披露存在各种严重的安全问题。
面对这些新的安全问题,大多数消费者还没有意识到智能设备会经常受到攻击,正如计算机和移动设备受到攻击一样,智能设备也一样容易受到攻击。
图书馆 2014—2015 学年度春季学期专题培训讲座, 将为大家介绍如何使用 LaTeX 排版论文:
作为一种专业文档排版系统,LaTeX 目前已为国际学术出版界广泛使用。 本讲座讲解LaTeX的基础知识、下载安装、模板使用,使读者掌握利用 LaTeX 进行学术论文排版,以及使用 Thuthesis 进行清华学位论文排版 的基本方法和技巧。
Linux粉们!鸟哥飞来啦!
热衷 GNU/Linux 的小伙伴们, 你听说过鸟哥吗? 你读过《鸟哥的 Linux 私房菜》吗? 你想一睹鸟哥“真容”吗? 你想与鸟哥近距离接触吗?
开源社区的小伙伴们注意啦:
是不是已经迫不及待地安装上了 Fedora 21,却发现木有了版本代号而莫名惆怅?
是不是已经在圣诞元旦手抖或者手贱入了智能卡智能硬件,却还不清楚怎么折腾?
抑或既没有升级系统,也没有入手硬件,而是还在赶年度总结,感觉也是醉了?
无论你是哪种情况,你都欢迎参加,由 Fedora 中文社区、北京 Linux 用户组、 清华大学 TUNA 协会联合奉上的 Fedora 21 发行派对北京站暨 2015 硬件自由日北京站活动:
2014 即将过去,在这一年里大家也都蛮拼的,现在就来这里放松一下吧,本年度最后一次聚会,希望各位同学不要错过!
Hadoop 之父、Apache 软件基金会主席 Doug Cutting 12月12日下午来清华访问,就 大数据、分布式系统、开源社区建设 等话题与清华师生交流。
你熟悉的UFO大会(Ubuntu\Fedora\openSUSE本地用户组年会)现正式更名为北京Linux用户组狂欢节啦!还是原先的配方,还是熟悉的味道,一切都为开源爱好者而生!
今年北京Linux用户组狂欢节还特别增加了新的动手环节——Hackfest(黑客节)。如果你厌倦了商业赞助的 Hackthon(黑客松),对早就内部定下的奖项感到失望。欢迎来参加 BLUG Hackfest!
openSUSE 13.2 于 2014 年 11 月 4 日发布,TUNA 协会将与 SUSE 公司和 openSUSE 中文社区合作举办 openSUSE 13.2 发行聚会清华站。
本学期共有 57 位新成员加入 TUNA,热烈欢迎!
本次新成员欢迎会,同时也是 TUNA 本学期的首次线下聚会,内容包括:
今后 TUNA 将更注重线下聚会活动,增进成员间感情。
OpenSUSE.ASIA summit 2014 是第一届 openSUSE 亚洲峰会。大会旨在亚洲(特别是在高校)推广 openSUSE、自由软件和开源软件。
本次大会为非商业会议,将开展一系列免费的开源技术讲座、讨论和技术实践,让更多的亚洲用户了解、使用开源软件,加入到这个技术社区里面。同时,该峰会也免费为广大亚洲用户提供了一个面对面交流的平台,参会者可以借此机会学习交流相关技术和使用心得。第一届openSUSE亚洲峰会计划于2014年10月18日至19日在北京举办,随后的几年将前往其它亚洲国家/城市举办。
由中国计算机学会主办(会议编号:CCF-TC-14-54N),系统软件专业委员会、普适计算专业委员会、互联网专业委员会协办, 清华大学、北京大学承办的“第二届开源操作系统技术年会(Open Source Operating System Annual Technical Conference, OS2ATC 2014)”将于2014年10月17~18日在清华大学举行。
本届联合学术会议邀请了4位操作系统与系统软件领域著名技术专家做特邀报告, 同时安排了操作系统内核、嵌入式系统、系统安全、分布式系统、虚拟机系统、操作系统教育、操作系统的国产化与产业化等技术专题分组交流。 为加强产业界、学术界和应用领域间的交流和联系,本届会议期间还将举办4个操作系统与系统软件社区交流及12种相关产品和技术的展示活动。
热忱欢迎操作系统与系统软件的研究者、技术人员和爱好者参加。
While last month was busy with Software Freedom Day and Guest In Town events,
This Month we have again lots of activities, starting with a special guest at the BLUG Meeting Mattias Wecksten from Sweden will introduce his Introductory Workshop on Forensic Filesystem Analysis
The BLUG Meeting is to short for the whole workshop, but we will get an overview of what the workshop is about, and why it is interesting.
Mattias is interested to meet people from the Beijing Security community, so if that is you, please join us and say hello.
(Update: If you are wondering what happened to Xuedi, he will be in beijing, but not on the 14th. He’ll join us for a Chuan’r dinner instead)
SFD软件自由日是一个关于自由软件和开源软件的全球性庆祝活动,2014 软件自由日(Software Freedom Day, SFD2014)清华站将于 9月27日(周六)14:00 - 17:00举办,地点:清华大学中央主楼二层报告厅。
本次活动内容包括:
欢迎各位前来欢聚~