作者寻找可嵌入Hare程序的脚本语言,发现Wren是一个有趣的选择。尽管存在一些设计缺陷,Wren的简单性和功能性令人兴奋。通过hare-wren模块,Hare可以与Wren方便地交互,并提供基本的异步运行时和标准库,未来有望扩展该库。
本文介绍了一种名为Wren的脚本语言,能够嵌入Hare程序中。尽管Wren存在一些设计缺陷,但其简单性和面向对象特性使其具有吸引力。作者开发了hare-wren模块,简化了Wren的C API,并实现了异步运行时和基本标准库,以便用户在Hare中使用Wren。希望未来能扩展该库,并鼓励其他项目使用。
本研究提出HARec框架,旨在解决现代推荐系统中用户接触多样内容的限制。通过在双曲空间中对齐用户-物品协同信息与文本描述,实现探索与利用的平衡。研究结果表明,HARec在效用和多样性方面显著优于现有方法,具有重要的实用价值。
该研究探讨了语言模型先验(LMPriors)在特征选择、因果推断和安全强化学习等任务中的应用。通过引入正则化项,确保神经翻译模型与语言模型一致,同时不影响解码速度。此外,研究提出了利用大型语言模型(LLM)提供先验信息的方法,强调其在因果图发现中的潜力与局限性。
Bunnix是一个类Unix操作系统,支持x86_64目标,开发时间约为一个月。它支持传统引导和EFI,但有一些限制,如没有USB支持。内核主要使用Hare编写,其中包含一些C组件。系统包括Vim和gzip等第三方软件。Bunnix是一个单用户系统,但可以通过更多工作使其成为多用户系统。该项目在ext4支持、虚拟终端和调度器方面面临挑战。Bunnix被认为是一个有趣而有趣的操作系统,但开发者计划将未来的操作系统开发重点放在Helios上。
Hare是一种简单、稳定且强大的系统编程语言,适合编写操作系统和高性能任务。自2019年开发以来,已有约100名贡献者。基于Hare的微内核操作系统Ares和安全秘密存储系统Himitsu也在开发中。希望通过博客、视频和播客传播Hare的理念。
该文介绍了 HateXplain 的工作原理,使用注释的句子片段、言论分类和针对性群体进行分类,消除偏见并提高模型的可解释性。作者在 rationales 上广泛实验了 ground truth attention 值,并成功地实现了模型的可解释性、偏见消除。
Hare’s programming model is inspired by years of experience with C, and that includes its approach to async I/O. It lives close to the operating system and exposes OS primitives for async I/O...
Helios是一个用Hare编程语言编写的微内核,本月早些时候在FOSDEM上做了一次演讲,并从Raspberry Pi 4上演示了它的运行,经过24天的努力,Helios最终在FOSDEM上展示了它的运行。
FOSDEM is right around the corner, and finally in person after long years of dealing with COVID. I’ll be there again this year, and I’m looking forward to it! I have four slots on the schedule...
FOSDEM即将举行,作者将参与Helios微内核和Hare编程语言的讨论。会议将介绍Hare在内核中的应用、设计和实现细节,并与seL4进行比较。此外,还将举行Hare社区和SourceHut社区的聚会,讨论未来计划和项目。
I spoke about code generation in Hare back in May when I wrote a tool for generating ioctl numbers. I wrote another code generator over the past few weeks, and it seems like a good time to revisit...
本文讨论了在Hare编程语言中生成进程间通信(IPC)接口代码的工具。作者设计了一种领域特定语言(DSL)来描述接口,并利用Hare标准库中的strings::template模块进行代码生成。通过解析接口定义,生成相应的代码结构和函数类型。尽管strings::template的功能不如复杂的模板引擎强大,但其简单性和实用性使其适合Hare标准库。作者计划继续完善该工具,以支持用户空间驱动程序与低级服务之间的通信接口。
Today I would like to show you the implementation of the first userspace driver for Helios: a simple serial driver. All of the code we’re going to look at today runs in userspace, not in the...
本文介绍了Helios操作系统的第一个用户空间驱动程序——简单的串行驱动。该驱动在用户空间运行,使用标准串行端口协议进行数据传输。文章详细描述了驱动的加载过程、能力管理和事件循环的实现,确保系统安全性。Helios成功实现了第一个驱动,未来将开发更复杂的设备驱动程序。
I have long promised that Hare would not have multi-threading, and it seems that I have broken that promise. However, I have remained true to the not-invented-here approach which is typical of my...
Hare语言引入了多线程支持,基于Helios微内核设计。尽管在未来的Ares系统中多线程的角色有限,但为现有软件提供pthreads实现是长期目标。Helios的任务管理通过“任务”对象实现,支持线程和进程调度,采用简单的轮询方式确保任务在CPU上的有效切换。
One of the goals for the Hare programming language is to be able to write kernels, such as my Helios project. Kernels are complex beasts which exist in a somewhat unique problem space and have...
Hare编程语言用于编写内核,如Helios微内核。内核在系统初始化时提供内存、帧缓冲区等信息,使用bootinfo结构体传递这些信息,涉及静态和动态数据分配。代码示例展示了如何在内核中安全管理内存和数据结构,以确保用户空间可访问所需信息。
powerctl is a little weekend project I put together to provide a simple tool for managing power states on Linux. I had previously put my laptop into suspend with a basic “echo mem | doas...
完成下面两步后,将自动完成登录并继续当前操作。