HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
oxidecomputer
hubris
Rust2021–2026
oxidecomputer / hubris

hubris

A lightweight, memory-protected, message-passing kernel for deeply embedded systems.

22Distinct people
39Mentions
1Explicit recommenders
3.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A lightweight, memory-protected, message-passing kernel for deeply embedded systems.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Hubris is really, really nice. I've spent half an hour reading some of the kernel code and it’s exceptionally clear and well written - a far cry from ifdef macro soup, two…

orf used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year39 dated mentions

Observed mentions: 2021-11-30 15:34:09 UTC to 2026-07-14 17:57:33 UTC.

02468102021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC10010
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC909
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC909
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC606
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC303

What Hacker News says

39 sources
Jupyter-rtc is built on y.js too. There's a sqlite CRDT: cr-sqlite,: https://news.ycombinator.com/item?id=41921992 vlcn-io/cr-sqlite: Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite https://github.com/vlcn-io/cr-sqlite Notes on sandboxing agents: amla sandbox, agentvm, bwrap at least; debugging mcp servers, and signing agent traces in a standard format: https://news.ycombinator.com/item?id=48893850 -- Can juggler: Design and verify a guitar effect pedals and a wavetable synth with JUCE on a low power chip? JUCE on embedded controllers; Rust embedded RTOS-like features, a DSP and low power draw: > Ambiq Apollo4 Plus | ARM Cortex-M4F | ~4–10 µA / MHz | more efficient than an RP2040 Pi Pico. The hardware FPU handles audio math at a fraction of the power footprint. > STM32U5 Series | ARM Cortex-M33 ~110 µA / MHz | ene
Read the rest
rgy-saving modes, math accelerators (Cordic for sines/cosines), audio peripherals > STM32L4 Series | ARM Cortex-M4F | ~100 µA / MHz | mature, ultra-low-power, robust I2S audio support, sleep state grame-cncm/faust: Functional programming language for signal processing and sound synthesis / [that compiles to microcontroller DSP code, LLVM IR,] https://github.com/grame-cncm/faust Then a Rust-based OS for microcontrollers; to isolate devices and device drivers from other processes; I'd like to learn this too (so this is worth researching) Rust packages for DSP: embedded-hal, embedded-io, rand_core Navigating the Embedded Rust Ecosystem https://www.theembeddedrustacean.com/p/navigating-the-embedd... https://google.github.io/comprehensive-rust/bare-metal/micro... hubris > Flash instructions already mention an STM32 F but not yet U or L: https://github.com/oxidecomputer/hubris#flash Task: Add support for STM32U and STM32L to hubris "Navigating the Embedded Rust Ecosystem" https://www.theembeddedrustacean.com/p/navigating-the-embedd... The micro:bit has a speaker and something like a DSP and rust support, though it's not going to run JUCE and BespokeSynth ; kk Just rtic, cortex-m-rt, and nrf52833-hal (for micro:bit v2) might be sufficient but there's already microbit_bsp: microbit_bsp is a board support package (BSP) library for the micro:bit v2 and newer: https://docs.rs/microbit-bsp/latest/microbit_bsp/ Another task; Develop and test a board support package for low-power chips for hosting effects from JUCE compiled with or like Faust. But then contain agent sessions; e.g. Hubris has no shared memory so audio streams must be shoveled over message passing -- Back to agent sandboxing; It looks like WebKitGTK uses bubblewrap on linux unless running in a flatpak, because flatpaks don't have permission to create namespaces so bwrap can't run. Bubblewraplauncher.cpp: https://github.com/WebKit/WebKit/blob/main/Source/WebKit/UIP... FlatpakLauncher.cpp: https://github.com/WebKit/WebKit/blob/main/Source/WebKit/UIP... CF workers support nested agent isolates since 2026-03: https://blog.cloudflare.com/dynamic-workers/ dloss/awesome-agent-sandboxes: A curated list of sandboxing solutions for AI agents https://github.com/dloss/awesome-agent-sandboxes
In Show HN: Juggler – an open-source GUI coding agent, by the creator of JUCE
Not at Oxide anymore, but > and their backdoors One thing about Oxide's product is that it significantly eliminates a lot of these sorts of vectors. Pretty much every part of the rack that can be is open source, for example. That BMC from other vendors that have a full OS running inside, where you have no clue what it's doing? You can go look at what does that job over here: https://github.com/oxidecomputer/hubris The root of trust means that you know that nothing has been tampered with, and that attestation is threaded up through into the host OS, which pretty much nobody else that I know of is doing. I don't know what the current thinking is around this issue all of the events you're talking about happened after I left. But the stance was always that it's your hardware, you own it, and you should know what's running on it. That's also w
Read the rest
hy there's no continual licensing fees, you're buying this, not renting it.
In Oxide computer 3D rack guided tour
Hubris, an embedded RTOS-like used in production by Oxide, has ~4% unsafe code in the kernel last I checked. There’s a ring buffer implementation that has one unsafe, for unchecked indexing: https://github.com/oxidecomputer/hubris/blob/master/lib/ring... (this of course does not mean that it is the one ring buffer to rule them all, but it’s to demonstrate that yes, it is at least possible to have one with minimum unsafe.) It’s always a way lower number than folks assume. Even in spaces that have higher than average usage.
In You gave me a u32. I gave you root. (io_uring ZCRX freelist LPE)
Finding bugs in the Hubris kernel is rare enough that we have a running joke about resetting the “days since last kernel bug” timer. I decided to make this joke into an actual docs page; because HN has enjoyed posts about Hubris in the past [1], I figured this might be of interest! Many of the individual bugs are terrifying dives into corner cases of an embedded OS. This one is particularly good reading: https://github.com/oxidecomputer/hubris/issues/1134 [1] https://news.ycombinator.com/item?id=29390751
In It has been [33] days since the last Hubris kernel bug
It’s moderately smart - there’s a PID loop with per-component target temperatures, so it’s trying not to do more work than necessary. (source: I wrote it, and it’s all published at https://github.com/oxidecomputer/hubris/tree/master/task/the... ) We also worked with the fan vendor to get parts with a lower minimum RPM. The stock fans idle at about 5K RPM, and ours idle at 2K, which is already enough to keep the system cool under light loads.
In My 71 TiB ZFS NAS After 10 Years and Zero Drive Failures
Once you get away from the “rack” as the unit and go back to a tower/NUC, I don’t think Oxide has anything special to add, but I may be wrong since I haven’t used their product. A Dell (using them as an example since I’m familiar with PowerEdge) server/tower/NUC is pretty well integrated; the Oxide value add, as I understand it, is that your entire rack is integrated as opposed to being your own assembly of PDUs/servers/switches/etc. Perhaps their management software (for spinning up VMs, managing storage, etc.) is high value, but I’m not sure how that works when you lose the rack-level integration and go back to a tower/NUC. What do you see Oxide as adding at the tower/NUC level that takes you beyond the integration of a traditional tower/NUC from a vendor like Dell? I have seen similar excitement for “hobbyist Oxide” on other threads, b
Read the rest
ut I’m still not completely sure what this actually means and how it would distinguish itself from existing sub-rack commodity hardware. A sibling comment mentions smaller racks, which is certainly something I could get behind, but that’s not the same as towers/NUCs (or maybe that’s exactly what you mean: something that looks like a tower/NUC but is really a mini-rack with multiple miniaturised computers/switches/etc. inside?). > The CPUs in Oxide racks are AMD, so, presumably AMD-based compute rather than ARM. These don’t run Hubris though; the x86 cores are running Helios [0], Oxide’s flavour of Illumos (i.e. Solaris) that includes a bunch of binary blobs that aren’t even available, let alone open-source: they plan to make these “public” at some point, but it’s not clear whether this means source-available. Based on the chips directory in the repo [1], they’re targeting a mix of NXP and ST parts, which are Arm, and the user isn’t likely to see them or care what firmware they’re running: I don’t think replacing the firmware with something running on top of Hubris is a value add, or even particular interesting for the hacker/hobbyist at all, in the sense that they’re a tiny cog in a much more complex system, and if you’re interested in hacking on something like that then it’s much easier/cheaper to do it in isolation rather than trying to do in-circuit debug on the part that’s keeping your server from catching fire (but that’s just my opinion!). [0] : https://github.com/oxidecomputer/helios [1] : https://github.com/oxidecomputer/hubris/tree/020d014880382d8...
In Framework won't be just a laptop company anymore
Nice read! Nit: // Order the task's regions in ascending address order. // // THIS IS IMPORTANT. The kernel exploits this property to do cheaper // access tests. regions.sort_by_key(|i| region_table.get_index(*i).unwrap().1.base); I wouldn't put this comment here. It's not just some detail of this function; it's an invariant of the field that all writers have to respect (maybe this is the only one now but still) and all readers can take advantage of. So I'd add it to the `TaskDesc::regions` docstring. [1] [1] https://github.com/oxidecomputer/hubris/commit/b44e677fb39cd...
In Who killed the network switch? A Hubris Bug Story
With respect to Hubris, the build badge was, in turns out, pointing to a stale workflow. (That is, the build was succeeding, but the build badge was busted.) This comment has been immortalized in the fix.[0] With respect to Humility, I am going to resist the temptation of pointing out why one of those directories has a different nomenclature with respect to its delimiter -- and just leave it at this: if you really want to find some filthy code in Humility, you can do much, much better than that! [0] https://github.com/oxidecomputer/hubris/commit/651a9546b20ce...
In The Cloud Computer
A lot of questions in there! Taking these in order: 1. We aren't making standalone servers: the Oxide compute sled comes in the Oxide rack. So are not (and do not intend to be) a drop in replacement for extant rack mounted servers. 2. We have taken a fundamentally different approach to firmware, with a true root of trust that can attest to the service processor -- which can turn attest to the system software. This prompts a lot of questions (e.g., who attests to the root of trust?), and there is a LOT to say about this; look for us to talk a lot more about this 3. In stark contrast (sadly) to nearly everyone else in the server space, the firmware we are developing is entirely open source. More details on that can be found in Cliff Biffle's 2021 OSFC talk and the Hubris and Humility repos.[0][1][2] 4. Definitely not vaporware! We are in
Read the rest
the process of shipping to our first customers; you can follow our progress in our Oxide and Friends podcast.[3] [0] https://www.osfc.io/2021/talks/on-hubris-and-humility-develo... [1] https://github.com/oxidecomputer/hubris [2] https://github.com/oxidecomputer/humility [3] https://oxide-and-friends.transistor.fm/
In Barracuda urges replacing, not patching, its email security gateways

Showing the 15 most recent of 39 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.