这位作者是一位自由职业的技术作家,拥有Linux、Python和Web开发背景,现在正将重点转向深入理解编程语言——特别是Rust——和编译器理论。他们并非仅仅满足于*使用*语言,而是对语言*运作方式*有着真正的兴趣,并发现Rust的概念出奇地直观,渴望探索语言的实现。
尽管作者是自学成才,且正规计算机科学教育有限,但他们乐于接受挑战,承认这令人望而却步,但也令人兴奋。他们制定了一个结构化的月度计划来应对这个学习曲线,将抽象目标(如建立信心)与具体的、可衡量的任务(阅读章节、构建项目、参加课程)相结合。
重要的是,作者强调成长型思维的重要性,并充分利用丰富的学习资源。这次转变的动力来自于重燃最初的编程热情,并可能激励他人探索更深层次的应用。
## Win8De:将Windows 8美学带到Wayland
Win8De是一个为Wayland窗口管理器(Labwc、Hyprland等)设计的shell,旨在重现Windows 8的外观和感觉,特别是其流畅的动画效果。它通过在现代Linux系统上提供一个可用的替代方案,解决了Windows 8过时的问题。
主要功能包括一个可定制的开始菜单(通过`Win8Start`激活)、壁纸工具、具有下滑功能的锁屏界面,以及用于音量和亮度控制的OSD。它支持开始磁贴和应用程序组织的拖放功能、功能性的应用程序搜索,以及可定制的强调色/背景色。
安装过程简单,通过`./install.sh`(卸载通过`./uninstall.sh`),将二进制文件放置在系统范围内。配置通过单独的配置文件副本进行管理,以避免冲突。用户需要为他们的合成器创建一个`.desktop`文件来启动Win8De会话。
虽然它省略了原始的Charms菜单,但Win8De为那些怀念Windows 8界面的人提供了引人入胜的视觉体验。
## GitHub Actions 交互式 Web 终端:总结
该项目提供了一个免费且开源的解决方案,用于获取对失败的 GitHub Actions 运行的交互式 Web 终端访问权限。解决的核心问题是,为了修复在本地工作但构建失败的情况,不断推送猜测性的更改所带来的困扰。
该解决方案利用 WebRTC 在 Actions VM 和用户浏览器之间建立点对点连接,从而最大限度地降低服务器成本。一个使用 Go 构建并托管在 Railway.com 上的信令服务器(利用按使用量付费和“休眠”实例以提高成本效益)促进了初始连接交换。
安全性至关重要:身份验证使用 GitHub OAuth 用于浏览器,并使用来自 Actions 的 OIDC 令牌来验证用户和仓库身份。此外,还增加了可选的一次性密码 (OTP),在浏览器和 VM 之间直接验证,即使信令服务器受到损害,也能防止恶意连接。
该系统通过 WebRTC 数据通道流式传输终端数据,在 Actions VM 上使用 `pty.Shell`,在浏览器中使用 Ghostty 库,以提供无缝的终端体验。该项目优先考虑最少的服务器参与,专注于安全的对等体介绍,并利用高效的云基础设施提供具有成本效益的公共可用服务。
您可以在 [https://actions-term.gripdev.xyz/](https://actions-term.gripdev.xyz/) 试用它,并在那里找到代码链接。