Personal channel of @lancern
Topics: programming, hacking, memes, life, and more. Forward anything as you wish.
Join the discussion group for more fun.
Discord: https://discord.gg/RwUx9et7
Topics: programming, hacking, memes, life, and more. Forward anything as you wish.
Join the discussion group for more fun.
Discord: https://discord.gg/RwUx9et7
Self-contained Python scripts with uv http://blog.dusktreader.dev/2025/03/29/self-contained-python-scripts-with-uv/
本周末沙龙活动预告
TUNA 计划于 3 月 29 日(第六周周六)晚上与欧拉合办一次沙龙活动,活动地点在清华校园附近。本次沙龙的主题为编程语言,我们邀请到了讲者分享在产界学界编程语言技术和编译器技术的前沿发展,包括不同领域的实践经验、编程语言标准的演化及编程语言理论的前沿研究。
请有计划线下参与的小伙伴们填写此问卷,以便我们估计活动人数:
https://forms.gle/CaMMtoN4dc9awyC17
届时会为线下参与的同学们提供免费饮品和小食
活动地点:等同 Timeless 咖啡(中关村东路16号院龙湖唐宁ONE2号楼A座101室)地下一层
活动时间:2025 年 3 月 29 日(校历第六周周六) 19:00 - 21:00
由于活动地点在校外,所以本次校外同学参加无须入校预约,直接填写本问卷即可。日程、提前点餐问卷及其他信息将在后续正式公告中发布。
欢迎校内外的小朋友们一起来玩!
---
以下为已确定的 Talk 的简介:
Refinement Types, Beyond SMT Solving
by @Paul_Zhu
以 LiquidHaskell 为代表的 refinement types 可用于证明程序的功能正确性:用户提供类型,后端的SMT solver 求解。但是 SMT solver 不是万能的,对于全称量词这类不可判定的问题它会报告 unknown/incomplete,对于位向量、正则表达式等复杂度高的问题它会超时。但这些问题有时候存在非常直观且简单的解决方法。本次 talk 将讨论如何把这些启发式的方法和人类的智慧与 SMT 相结合,从而解决更多实际的问题。
Unity/C# 中游戏逻辑的性能问题及解决方案
by @l1zog
以 unity 引擎和 c# 为例,简单聊聊在电子游戏开发中我们关心的性能问题和解决方法
Modern C++
by @lancern
C++ 是一门古老的编程语言,拥有丰富的语言特性,支持几乎所有编程范式。然而,复杂晦涩的语言机制,堆砌了近 40 年的屎山遗留问题,叠加若干优秀的年轻编程语言的冲击,使得 C++ 正在丧失对开发者的吸引力。自 C++11 以来,标准委员会正在持续试图现代化这一门经典编程语言。作为一个日常大量使用 C++ 的业余 clang 开发者以及 WG21 吃瓜群众,本次分享 Lancern 将试图介绍 C++ 最近几年的发展情况以及若干现代化的新特性,看看标准委员会又整了些什么活。
TUNA 计划于 3 月 29 日(第六周周六)晚上与欧拉合办一次沙龙活动,活动地点在清华校园附近。本次沙龙的主题为编程语言,我们邀请到了讲者分享在产界学界编程语言技术和编译器技术的前沿发展,包括不同领域的实践经验、编程语言标准的演化及编程语言理论的前沿研究。
请有计划线下参与的小伙伴们填写此问卷,以便我们估计活动人数:
https://forms.gle/CaMMtoN4dc9awyC17
届时会为线下参与的同学们提供免费饮品和小食
活动地点:等同 Timeless 咖啡(中关村东路16号院龙湖唐宁ONE2号楼A座101室)地下一层
活动时间:2025 年 3 月 29 日(校历第六周周六) 19:00 - 21:00
由于活动地点在校外,所以本次校外同学参加无须入校预约,直接填写本问卷即可。日程、提前点餐问卷及其他信息将在后续正式公告中发布。
欢迎校内外的小朋友们一起来玩!
---
以下为已确定的 Talk 的简介:
Refinement Types, Beyond SMT Solving
by @Paul_Zhu
以 LiquidHaskell 为代表的 refinement types 可用于证明程序的功能正确性:用户提供类型,后端的SMT solver 求解。但是 SMT solver 不是万能的,对于全称量词这类不可判定的问题它会报告 unknown/incomplete,对于位向量、正则表达式等复杂度高的问题它会超时。但这些问题有时候存在非常直观且简单的解决方法。本次 talk 将讨论如何把这些启发式的方法和人类的智慧与 SMT 相结合,从而解决更多实际的问题。
Unity/C# 中游戏逻辑的性能问题及解决方案
by @l1zog
以 unity 引擎和 c# 为例,简单聊聊在电子游戏开发中我们关心的性能问题和解决方法
Modern C++
by @lancern
C++ 是一门古老的编程语言,拥有丰富的语言特性,支持几乎所有编程范式。然而,复杂晦涩的语言机制,堆砌了近 40 年的
Shell script: 壳牌剧本
Bash: 边界壳牌
Zsh: Z 壳牌
fish: 鱼壳牌
On how different Windows ABIs choose how to pass 32-bit values in 64-bit registers
https://devblogs.microsoft.com/oldnewthing/20250324-00/?p=110988
https://devblogs.microsoft.com/oldnewthing/20250324-00/?p=110988
2025-03 的 WG21 提案列表公布了:
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/#mailing2025-03
这一次公布的提案数量很多,一些频道主认为有意思的:
- P0260R16: C++ Concurrent Queues
- P0876R20: fiber_context - fibers without scheduler
- P1967R14: #embed - a simple, scannable preprocessor-based resource acquisition method
- P2287R4: Designated-initializers for base classes
- P2719R4: Type-aware allocation and deallocation function
- P2758R5: Emitting messages at compile time
- P2786R13: Trivial Relocatability for C++26
- P2825R5: Overload resolution hook: declcall( unevaluated-call-expression )
- P2841R7: Concept and variable-template template-parameters
- P2900R14: Contracts for C++
- P2996R10: Reflection for C++26
- P3019R14: Vocabulary Types for Composite Class Design
- P3552R1: Add a Coroutine Task Type
- P3650R0: 21st Century C++
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/#mailing2025-03
这一次公布的提案数量很多,一些频道主认为有意思的:
- P0260R16: C++ Concurrent Queues
- P0876R20: fiber_context - fibers without scheduler
- P1967R14: #embed - a simple, scannable preprocessor-based resource acquisition method
- P2287R4: Designated-initializers for base classes
- P2719R4: Type-aware allocation and deallocation function
- P2758R5: Emitting messages at compile time
- P2786R13: Trivial Relocatability for C++26
- P2825R5: Overload resolution hook: declcall( unevaluated-call-expression )
- P2841R7: Concept and variable-template template-parameters
- P2900R14: Contracts for C++
- P2996R10: Reflection for C++26
- P3019R14: Vocabulary Types for Composite Class Design
- P3552R1: Add a Coroutine Task Type
- P3650R0: 21st Century C++