Filter
Exclude
Time range
-
Near
Jun 11
Understand what really happens when your code runs. Author @chessMan786 helps you dive into #ELF binaries to learn how programs are compiled, linked, and executed in #Linux systems—and why it matters for performance and security. #SystemsProgramming 🔗 ow.ly/4suv50Z0oj2
5
227
Just typed unsafe {} for the first time The compiler didn't stop me Bro just said "it's your problem now"💀 #rustlang #systemsprogramming
75
Apple Intelligence and Microsoft Copilot signal a shift from application-level AI to system-level AI integration. As computing moves toward AI-native OS, you need to learn the core OS concepts using Rust. Blog: lnkd.in/e8ShSuqV #AI #RustLang #SystemsProgramming
14
You think I went quiet for no reason? I built a speech synthesis server for Linux. From scratch. In Go. It's called voicego. SSIP-compatible, so Orca and spd-say just work — but that's the least interesting part. Not "yet another TTS for screen readers." A network-native, security-first speech server for distributed/IoT — that also happens to be a killer screen reader backend. In that order. The Linux speech stack was architected decades ago. Single machine, local socket, zero thought to "what if this goes over a network." It shows. So I rebuilt it on tools that didn't exist back then: Go, gRPC, TLS 1.3, actual multicore. The architecture: Engines aren't linked into the daemon. Each one — espeak-ng, RHVoice, piper — is a separate executable launched over gRPC via hashicorp/go-plugin. No more symbol collisions between espeak and espeak-ng exporting the same C names. Per-engine sample rates handled cleanly. And a segfault in one engine can't corrupt the server — it surfaces as 503 ERR ENGINE_DEAD and everything else keeps talking. Real parallelism. Every (client, engine, voice) triple gets its own worker goroutine with a bounded multi-lane priority queue: IMPORTANT → MESSAGE → TEXT → NOTIFICATION → PROGRESS. High-priority speech preempts queued lower-priority text within a triple. Separate triples never block each other. No global lock choking the whole pipeline. Now the part nobody thinks about: security. While you're on a local Unix socket, fine. But distribute voice across devices and synthesis goes over the wire — you're shipping commands, sensitive text (spoken passwords, private messages), getting PCM back. In most setups that's UNENCRYPTED. A reverse open mic. voicego wraps any TCP transport in mutual TLS — 1.3 only, RequireAndVerifyClientCert. Cert-authed clients, encrypted traffic, rogue devices stay out. Load-bearing wall, not a checkbox. Audio sinks are pluggable: null for CI, alsa for compat, or a direct JACK client that connects straight to system playback ports and resamples each PCM chunk via libsamplerate. First-chunk latency target ≤50ms, synth-start ≤30ms p99 on short utterances. There's also an optional binary framing mode on top of text SSIP, auto-detected per connection — no flag dance, it just negotiates. Where it's going: IoT and the smart home. Heavy synth on a beefy node, a kitchen speaker or hallway box does the talking — each mTLS-authed, encrypted, process-isolated. A voice layer across your whole home. Without that foundation it's a sieve. Honesty: NOT stable. First release. It runs, it talks, it needs you to break it. Safety net — the Orca add-on auto-falls back to speech-dispatcher if voicego is unreachable. Nobody's left in silence. Non-negotiable. So break it. Screen reader on Linux? Run it, tell me what exploded. Write Go? Tear the architecture apart. Write your own engine plugin against the gRPC interface — that's the whole point. Why I care: I'm a blind engineer. I live inside a screen reader. I wanted synth that doesn't choke or die on one bad component. But once I got serious, the real problem wasn't "a tool for me" — it was a secure networked speech server where the screen reader is just one client. Start from the real constraint. Design for where it's going. Ship it open. AGPL. Come break it: github.com/Ravino/voicego #Go #Golang #gRPC #OpenSource #a11y #Linux #IoT #InfoSec #DistributedSystems #SystemsProgramming
1
94
Would be interested in feedback from Apple Silicon / Darwin / systems folks. The repo includes held-out correctness/timing, guard-page tests, ABI checks, and platform-shaped arm64 artifacts. @Apple #AppleSilicon #macOS #OpenSource #SystemsProgramming
27
Diving into Zig: a hands-on guide that demystifies Zig by example. Practical tips, real-world code, and a clearer path from syntax to solid systems. Read, experiment, iterate. #Zig #Programming #SystemsProgramming #CodeNewbie ift.tt/ldtBKYu
2
8
1/ Rust just made one of the most important open-source announcements of the week, and it is not a language feature. The Rust Foundation Maintainers Fund is now live. Translation: Rust is trying to fund the boring, long-term maintenance work that keeps a serious systems language usable. #Rust #OpenSource 2/ The key program is “Maintainer in Residence.” Not a hackathon. Not a one-off grant. Not “thanks for volunteering, here is a sticker.” The idea is to financially support existing Rust maintainers to work on critical parts of the project: the compiler, standard library, Cargo, Clippy, and other core infrastructure. That matters because mature languages do not fail only from bad design. They fail when maintenance becomes nobody’s funded job. 3/ The RFC says the quiet part clearly: Volunteer maintenance can keep the lights on, but larger-scale work stalls when all reviewer time goes into triage, reviews, and unblocking everyone else. That is the hidden tax in open source. A project can have massive adoption, world-class engineering, and still be bottlenecked by the fact that the people who understand the hardest parts are doing it between jobs. 4/ The Rust blog also points to a trend the industry should take seriously: key Rust maintainers are losing funding for Rust work because of budget shifts. That is not just a Rust problem. It is a supply-chain problem. If your company depends on a compiler, package manager, TLS stack, database, kernel, runtime, or build system, “maintainer funding” is not charity. It is operational risk management. #SoftwareArchitecture 5/ The healthy part is that Rust is not pretending money is magically neutral. The new Funding team is supposed to coordinate needs with teams, talk to project members about their funding situation, approach companies, select Maintainers in Residence, and make the benefits visible. That is governance work. And governance is infrastructure too. 6/ My take: the next phase of open source will be less romantic and more honest. The projects that survive will not just have better code. They will have better maintenance economics: stable funding, clear priorities, paid stewardship, transparent tradeoffs, and fewer heroic single points of failure. Sustainability is becoming a technical feature. #DevTools #SystemsProgramming
34
Understand what really happens when your code runs. Author @chessMan786 helps you dive into #ELF binaries to learn how programs are compiled, linked, and executed in #Linux systems—and why it matters for performance and security. #SystemsProgramming 🔗 ow.ly/4suv50Z0oj2
1
109
1/ The 2025 IOCCC winners are out, and they are a useful antidote to a very modern disease: thinking “code quality” only means readability. Obfuscated C is not how you should ship production software. But it is one of the best ways to remember what software actually is: a negotiation with compilers, runtimes, undefined behavior, formats, and machines. #C #Compiler 2/ IOCCC29 was not a small nostalgia drop. The judges say submission volume and quality were near historic highs, even after the 2020–2024 hiatus ended with IOCCC28. The 2025 tree includes entries like: - a Subleq computer - a GameBoy emulator - a patch/diff quine - Quine Pong - a quasi-roguelike - an ocean sound generator That is not “clever golfing.” That is systems knowledge disguised as mischief. #SystemsProgramming 3/ The best obfuscated programs teach a strange lesson: the source code is not the program. The program is the source after: - preprocessing - parsing - integer promotion - macro expansion - linker behavior - terminal assumptions - file formats - compiler extensions - “wait, is that actually defined?” Readable code hides those layers. IOCCC drags them into the light. 4/ This is why I still think competitions like IOCCC matter in the AI coding era. LLMs are getting very good at producing conventional code-shaped text. But the hard parts of programming often live below the convention layer: - what the language spec permits - what the compiler optimizes away - what the ABI assumes - what the runtime accidentally guarantees - what breaks when the environment changes Obfuscated C is a stress test for whether you understand the stack, not just the syntax. #OpenSource 5/ There is also a cultural point here. Modern engineering pushes us toward managed platforms, typed APIs, linters, safe defaults, review bots, and generated code. Good. We need all of that. But every abstraction leaks eventually. When it does, the people who can reason from first principles still matter. IOCCC is basically first-principles debugging turned into art. 6/ My takeaway from the 2025 winners: Do not write production code like IOCCC. But do study it once in a while. Because the best engineers are not the ones who merely make code look clean. They are the ones who know what the machine is allowed to do after the clean surface disappears. #SoftwareArchitecture #Programming
159
1/ Linux is having one of those quiet kernel conversations that looks niche, but explains why operating systems are still hard: should process creation keep being “fork, then immediately throw most of it away with exec”? #Linux #Kernel 2/ LWN covered a new “spawn templates” proposal from Li Chen. The idea: if an app repeatedly launches the same executable—think tooling that shells out to Git over and over—the kernel could cache setup work behind a template fd, then spawn instances with argv/envp/file-action changes. That is not merged. Reviewers do not want this exact API. But the direction matters. 3/ The old Unix model is beautiful: fork() duplicates the calling process. execve() replaces it with a new program. The problem is the common case is wasteful by design: create a near-copy of a modern process, then immediately discard the address space when exec runs. Copy-on-write helps. vfork() helps. posix_spawn() helps. None of them fully erase the mismatch. #SystemsProgramming 4/ The most interesting reviewer reaction was not “make this 2% faster.” It was basically: stop optimizing around the wrong abstraction. Mateusz Guzik called the fork exec idiom “terrible” and argued the real target should be creating a pristine process, not copying the current one. Christian Brauner pointed toward a builder-style API built around pidfds. That is the Linux kernel’s current design language: explicit handles, fewer PID races, more operations expressed as file descriptors. 5/ This is the pattern to watch. The future of Unix process creation probably will not be “one syscall magically replaces fork.” It will look more like: - build a process object - attach fds, env, argv, credentials, namespaces - get a pidfd back - start it without pretending the parent was ever the right template Less folklore, more explicit state. #OpenSource #SoftwareArchitecture 6/ My take: fork() exec() will survive because compatibility always wins. But the center of gravity is moving. Modern systems keep discovering that elegant 1970s abstractions become expensive when processes are huge, multithreaded, sandboxed, namespace-heavy, and launched thousands of times by build tools, language runtimes, and agents. The lesson is bigger than Linux: great abstractions age well only when the platform keeps adding escape hatches for reality.
1
49
Still a lot left to build, but every feature reveals another layer of how Git works under the hood. Next up: branches, staging, diff, merge, clone, push/pull Learning Go by rebuilding Git. Building in public. #BuildInPublic #GoLang #Git #SystemsProgramming
1
32
Came across "stumpalo" : a faster bump allocator for Rust, built as a drop-in alternative to bumpalo. What makes it faster? → Less indirection, arena header stores top/bottom pointers directly → LLVM-friendly fast paths with compile-time known conditions → Single conditional branch, as few as 6 instructions on the hot path Benchmarks show it matches or beats bumpalo across virtually every allocation pattern. Bonus: scoped stacks let you use the arena temporarily and revert to the previous state when done, great for scratch space. 🔗 owen.cafe/posts/stumpalo #Rust #RustLang #SystemsProgramming #MemoryManagement #OpenSource #Performance
1
3
216
Someone is building a browser engine in Rust from scratch. 🦀 Aurora: GPU rendering via wgpu vello, embedded Boa JS runtime, live DOM/BOM bridge, real HTTPS fetch. 96% Rust. Not Servo, not a wrapper. Very early but the code is public and actively shipping. 🔗 github.com/JohannaWeb/Aurora #Rust #RustLang #BrowserEngine #OpenSource #SystemsProgramming
9
15
168
10,154
A fresh take on pretty printer design in Rust. 🦀 Trait-based instead of recursive enums. Each document construction becomes a type implementing the Doc trait. Lighter allocations, more flexible memory management. Benchmarked against pretty, petty, and pye on real JSON formatting tasks, competitive across the board, with significant wins on several. Solid read if you work on compilers, formatters, or DSLs in Rust. By Jiayi Zhuang → blog.wybxc.cc/blog/pretty-pr… #Rust #RustLang #Compilers #OpenSource #SystemsProgramming
2
4
79
5,004
Stage 2 of xpkg done — tar.gz extraction. no libraries. no custom extractor. just popen() calling the system's built-in tar command, waiting for it to finish, and confirming success or failure. deliberate decision — why rebuild what the OS already does well? xpkg is going into EduOS — a fully offline, privacy-first AI OS for African schools. 3 stages down. 3 to go. #C #SystemsProgramming #EduOS
just wrote a JSON parser in C from scratch. no libraries. no cJSON. just strstr, strchr, memcpy, and malloc. it's Stage 1 of xpkg — a package manager I'm building in C from the ground up. next: tar.gz extraction, install, list, remove. this is going into EduOS — a privacy-first, AI-native OS for African schools. offline. no cloud. built for places the tech industry ignores. github: github.com/MonarchCorps/pack… if this is the kind of thing you want to watch get built — follow and drop a star if you're feeling generous ⭐
1
21
856
May 28
Phase 1 (lexer) is now 100% complete for the EEL compiler. The final edge cases for token scanning are resolved, and type declarations are stabilized. Phase 2: building the parser and constructing the AST. #eBPF #Compiler #CProgramming #Linux #SystemsProgramming #BuildInPublic
2
11
119
One thing I’ve genuinely started appreciating about Rust is how much it changes the way you think while building software. Initially, it honestly feels frustrating 😄 The compiler fights you, ownership feels confusing, and lifetimes seem unnecessarily strict. But after spending enough time with it, you slowly realize the language is forcing you to think more carefully about memory, concurrency, and system behavior instead of just making something that “works for now”. And that’s probably why Rust feels so exciting to me lately. Not just because it’s fast, but because it gives a very interesting balance of low-level control, performance, and safety without feeling completely outdated. Still learning it deeply, but every project I build with Rust teaches me something new about systems engineering itself! I have been building cool stuff using Rust, honestly learning from Claude and his gang alongside building the actual project, honestly what a time to be alive!✨ #RustLang #SoftwareEngineering #SystemsProgramming #BuildInPublic
1
3
66