So in my day-job over at Oxide we’ve built this nice embedded operating system called Hubris. If you follow my blog, you’re probably aware of it. I also build a lot of embedded electronics outside my day-job, and people sometimes ask me (often excitedly!) if they’re using Hubris. The answer so far is “no.” This is for a variety of reasons, but probably the biggest: it’s actually quite difficult to use Hubris for anything if you don’t want your code to live in the Oxide Hubris re...| Cliffle
Make your old WASD CODE v2 keyboard support modern keyboard firmware and features!| www.lectronz.com
reCODE: QMK for the WASD CODE v2| cliffle.com
Putting custom firmware on the WASD CODE v2| cliffle.com
#glitch-demo| cliffle.com
Make a cheap keypad speak serial, so you can use it in your project easily!| Tindie
1.3. Philosophy| hubris.oxide.computer
lilos v1.0 released| cliffle.com
The server chose violence| cliffle.com
On Hubris and Humility: when "write your own OS" isn't the worst idea Hubris is a small open-source operating system for deeply-embedded computer systems, such as our server's replacement for the Baseboard Management Controller. Because our BMC replacement uses a lower-complexity microcontroller with region-based memory protection instead of virtual memory, our options were limited. We were unable to find an off-the-shelf option that met our requirements around safety, security, and correctne...| talks.osfc.io
I made a thing to help you make a thing out of a keypad| cliffle.com
Mutex without lock, Queue without push: cancel safety in lilos| cliffle.com
Getting file/line in await traces| cliffle.com
Composing concurrency in drivers| cliffle.com
How to think about `async`/`await` in Rust| cliffle.com
Writing a basic `async` debugger| cliffle.com
Safely writing code that isn't thread-safe| cliffle.com
Why Rust mutexes look like they do| cliffle.com
On Hubris And Humility| cliffle.com
The First-Mover Allocator Pattern| cliffle.com
Let The Compiler Do The Work| cliffle.com
Making Safe Things From Unsafe Parts| cliffle.com
A More Perfect Union| cliffle.com
Measure What You Optimize| cliffle.com
Why Learn Rust the Dangerous Way?| cliffle.com
References Available Upon Request| cliffle.com
You Can't Write C in Just Any Ol' Language| cliffle.com
Making really tiny WebAssembly graphics demos| cliffle.com
The Typestate Pattern in Rust| cliffle.com
Prefer Rust to C/C++ for new code.| cliffle.com
Who killed the network switch?| cliffle.com
Rewriting m4vgalib in Rust| cliffle.com