Cross compiling Rust to Ubiquiti access point
SOLVED: I should have put the linker in .cargo/config.toml, not Cargo.toml. See followup blog post. This is not the right way to do it, as will become abundantly clear. But it works.Set up build...
View ArticleCross compiling Rust -- Fixed
Set up rust build environmentrustup toolchain install nightly rustup component add rust-src --toolchain nightly apt install {binutils,gcc}-mips-linux-gnu Choose glibc or musl as your libcYou can use...
View ArticleRust is faster than C, even before I added SIMD
I found some old C code of mine from around 2001 or so. I vaguely remember trying to make it as optimized as possible. Sure, I was still a teenager, so it’s not state of the art. But it’s not half bad....
View ArticleIs your TLS resuming?
There are two main ways that a TLS handshake can go: Full handshake, or resume.There are two benefits to resumption:it can save a round trip between the client and server.it saves CPU cost of a public...
View ArticleAn AX.25 implementation in Rust
After having written a user space AX.25 stack in C++, I got bitten by the Rust bug. So this is the third time I’ve written an AX.25 stack, and I’ve become exceedingly efficient at it.Here it...
View ArticleConnection coalescing breaks the Internet
Connection coalescing is the dumbest idea to ever reach RFC status. I can’t believe nobody stopped it before it got this far.It breaks everything.Thus starts my latest opinion post.What is connection...
View ArticlePike is wrong on bloat
This is my response to Rob Pike’s words On Bloat.I’m not surprised to see this from Pike. He’s a NIH extremist. And yes, in this aspect he’s my spirit animal when coding for fun. I’ll avoid using a...
View ArticleRebuilding FRR with pim6d
Short post today.Turns out that Debian, in its infinite wisdom, disables pim6d in frr. Here’s a short howto on how to build it fixed.$ sudo apt build-dep frr […] $ apt source frr […] $ cd frr-8* $...
View ArticleExploring RISC-V vector instructions
It finally happened! A raspberry pi like device, with a RISC-V CPU supporting the v extension. Aka RVV. Aka vector instructions.I bought one, and explored it a bit.SIMD backgroundFirst some background...
View Articleio_uring, kTLS and Rust for zero syscall HTTPS server
Around the turn of the century we started to get a bigger need for high capacity web servers. For example there was the C10k problem paper.At the time, the kinds of things done to reduce work done per...
View Article