Verso:基于 Servo 网络引擎构建的网络浏览器
- • Verso:基于伺服的 Web 浏览器
Verso 是一款基于 Servo 网络引擎构建的实验性网络浏览器。它目前正在积极开发中,团队目前不接受功能请求。但是,他们鼓励感兴趣的个人帮助测试该浏览器。
- • 平台支持:
- • Verso 旨在实现跨平台兼容性,支持 Windows、macOS 和 Linux。
- • **Windows:**用户可以使用 scoop 或 chocolatey 包管理器安装必要的工具,如 Git、Python、LLVM、CMake 和 curl。在 Windows 上构建和运行 Verso 需要使用命令
cargo run。 - • **macOS:**需要安装 Xcode。Homebrew 可用于安装 CMake、pkg-config 和 harfbuzz 等依赖项。还需要 Python 的 mako 库。在 macOS 上构建和运行 Verso 也使用该
cargo run命令。 - • **Linux:**建议使用 Flatpak 以获得一致的构建环境。用户需要安装 Flatpak 运行时和扩展(flathub org.freedesktop.Platform、flathub org.freedesktop.Sdk、flathub org.freedesktop.Sdk.Extension.rust-stable、flathub org.freedesktop.Sdk.Extension.llvm18)。Python 脚本(
flatpak-cargo-generator.py)生成使用 Flatpak 进行构建的清单。
- • **Nix支持:**Verso 还支持在 Nix shell 环境中构建。这适用于 NixOS 和非 NixOS 发行版。该
shell.nix文件提供了必要的配置。 - • **每晚发布:**Verso 团队提供使用 CrabNebula Cloud 构建的夜间版本。这些版本目前尚未签名。macOS 用户可能需要使用命令
xattr删除隔离标志才能正确执行应用程序。 - • **未来发展计划:**Verso 团队已经概述了未来发展的几个目标:* 实现多窗口支持。* 启用多进程模式以提高性能。* 在所有支持的平台上启用沙盒以增强安全性。* 集成 GStreamer 功能以实现多媒体播放。
我 70 岁的奶奶正在学习编码并制作了一个文字游戏
- • **游戏策略:**用户讨论他们玩游戏的方法,有些人选择手动二分搜索,而其他人则对他们的得分表示满意。关于编码解决方案是否比手动猜测更有效,存在争议。
- • **技术实现:**用户分析提供的代码片段,注意到它使用
execJavaScript 代码作为 Python 运行。有些人对这种非常规方法感到惊讶,而另一些人则觉得它很有趣。 - • **游戏体验:**用户分享他们对游戏的感受,有些人觉得游戏很有趣,而其他人则对游戏难度感到沮丧。获得高分的人会有一种成就感。
我使用 Rust 创建了 175 种字体
- • **基本尺寸和拼贴图:**此过程从所有字体的 16 像素基本尺寸开始,以避免在放大时出现“抖动”。字体将导出为按 Unicode 代码点组织的拼贴图,便于软件解读。
- • **数据文件和字距调整:**每个图块表都有一个 JSON 数据文件,其中包含关键信息,如尺寸、基线位置、行距、空格字符宽度和字形数据(Unicode 字符、左侧边距和前进宽度)。字距调整表用于调整特定字母对之间的间距,以获得更好的视觉效果。
- • **打包图集:**为了提高效率,字体也使用矩形打包算法(“crunch”)作为打包纹理图集生成。这可以最大限度地减少空间浪费,但需要额外的数据结构来将字形索引映射到图集中的位置。
- • PIFO:字体创建工具: 作者开发了 PIFO(像素字体优化),一个基于 Rust 的生成高质量像素字体的工具。
- • 特征:
- • 生成各种大小和样式(常规、粗体、斜体)的字体。
- • 优化字形放置以实现高效存储。
- • 支持字距调整以提高可读性。
- • 以 JSON 格式导出字体数据。
- • 特征:
- • 字体数据结构: PIFO采用结构化的JSON格式来表示字体信息:
- •
size:字体大小(以像素为单位)。 - •
line_gap:文本行之间的垂直间距。 - •
space_w:空格字符的宽度。 - •
glyphs:字形对象数组,每个对象包含:- •
chr:字形所表示的 Unicode 字符。 - •
x,y:字体图集(纹理)内的字形坐标。 - •
w,h:字形的宽度和高度。 - •
off_x,off_y:用于精确定位的水平和垂直偏移。 - •
adv:前进宽度 – 渲染字形后光标水平移动的量。
- •
- •
- • 字距调整: PIFO 支持字距调整对,由一对左右字符以及
kern应用于其间距的调整值 ( ) 定义。 - • 质量测试: PIFO 包括一个用于生成用于目视检查的大型样本图像的系统:
- • 测试来自特里·比森 (Terry Bisson) 的《它们是由肉制成的》的句子。
- • 摘自《校对字体的文本:向 The Quick Brown Fox 告别》。
- • 所有可能的数字配对和货币符号。
- • 广泛的字距调整对测试(大写、小写、混合大小写)。
- • 标点符号测试。
- • **部署:**在创建175个像素字体后,作者使用itch.io进行分发:
- • 每种字体都作为单独的 itch.io 项目上传。
- • 命令行脚本使用 、 和 自动执行构建和
cargo上传pifo过程butler。
OpenDevin:面向人工智能软件开发人员的通用代理开放平台
- • 论文介绍了OpenDevin,这是一个开源平台,旨在帮助开发人员构建强大的人工智能代理,使其能够像人类软件开发人员一样与世界互动。
- • 这些代理可以执行编写代码、使用命令行和浏览网页等任务。
- • OpenDevin 促进新代理的开发和实施,同时确保在沙盒环境中安全执行代码。
- • 该平台还支持多个代理之间的协调,并纳入了评估代理绩效的评估基准。
- • 研究人员对代理在 15 项具有挑战性的任务上进行了评估,涵盖软件工程(例如 SWE-Bench)和网页浏览(例如 WebArena)。
- • OpenDevin 是在宽松的 MIT 许可证下发布的,它培育了一个由超过 160 名个人做出贡献的协作社区。
- • 该平台旨在通过提供灵活且易于访问的研究和开发框架来推动人工智能代理领域的发展。
如何使用 Flutter 通过 flutter_rust_bridge 库构建 Rust GUI 应用程序
- • 这篇博文探讨了使用 Flutter 在 Rust 中构建 GUI 应用程序。
- • 为什么选择 Flutter? Flutter 是一个流行且成熟的框架,拥有庞大的生态系统和跨平台功能(Android、iOS、Linux、MacOS、Windows、Web)。其“热重载”功能可即时反映代码更改,从而加快 UI 开发速度。
- • **flutter_rust_bridge:**该库充当 Rust 和 Flutter 之间的桥梁,实现无缝通信和数据交换。它负责将各种 Rust 概念(如类型、可变性、异步操作、特征、结果、闭包和生命周期)转换为与 Flutter 兼容的格式。
- • 示例:计数器应用程序
- • 该帖子演示了一个简单的计数器应用程序来说明集成过程。
- • Rust 代码定义了一个带有字段
RustState的结构count和一个increment用于增加计数的函数。 - •
incrementFlutter UI 显示当前计数和按下时触发功能的按钮。
- • **(可选)待办事项列表应用程序:**为了完整性,该帖子简要提到了一个待办事项列表应用程序示例,但并没有深入探讨其实现细节。
- • 关键要点:
- • Flutter 为用 Rust 构建 GUI 应用程序提供了一个强大的平台。
- • flutter_rust_bridge 通过处理两种语言之间复杂的数据转换简化了集成过程。
- • 这种方法使开发人员能够利用 Rust(性能、安全性)和 Flutter(UI 开发、跨平台兼容性)的优势。
法官命令 CDC 停止删除离职员工的电子邮件:“可能违法”
- • **CDC 被勒令停止删除前雇员的电子邮件。**一名联邦法官裁定,这种多年来一直存在的做法很可能是非法的。
- • **为什么删除这些电子邮件是个问题?**联邦法律要求政府机构在特定期限内保留某些记录(包括电子邮件)。国家档案馆制定了这些保留时间表。
- • **CDC 做错了什么?**他们采用了名为 Capstone 的记录保存系统,其中概述了电子邮件保留政策。然而,他们只遵循了其中的一部分,在 90 天后就删除了低级别员工的电子邮件,而不是规定的 3 到 7 年。
- • **谁提起了这起诉讼?**美国第一法律基金会是一个与前总统唐纳德·特朗普结盟的组织,它根据《信息自由法》(FOIA)申请获取与 CDC 出版物《学校中 LGBTQ 包容性》相关的记录。他们发现,参与该文件撰写的两名员工的电子邮件可能已被删除。
- • **法官做出了什么判决?**鲁道夫·孔特雷拉斯法官发现,CDC 的电子邮件删除行为“可能违法”,因为该行为未获得国家档案馆的批准。他还指出,国家档案馆本应将此事提交司法部,但他们没有这么做。
- • 接下来会发生什么? CDC 现在被禁止删除前雇员的电子邮件,直到法院对其记录保存做法的合法性做出最终裁决。美国第一法律基金会庆祝这项裁决,称其为反对记录管理“政治化”的胜利。