frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Debugging for Systems Programming Learning

2•elusivenode•2h ago
Learning systems programming was always an aspiration for me. Understanding more about what the machine was doing when you coded something one way as opposed to another. I always felt a vast gulf between toy examples and real programs. I could grasp the concepts quite well, but did not have a good feel for how to compose them. And when I read code for large systems, it was in the how the developer can composed the pieces that I would begin to feel lost and get discouraged. But that feeling that it as all understandable stayed with me. I retained that desire to 'get' the machine better ... in a tangible way.

A few months back I was debugging a personal project that I was building as a learning exercise. It was a small web server written in a low level language. For a few weeks I had forced myself to research what my simple architecture should look like, how it should be modular and appropriate attention paid to separation of concerns. My discipline held on for quite a while, but as the complexity grew I could feel the modularlity slipping and the architecture straining. Anyway, I was having a horrible time with a memory bug. I could grasp that it was to do with the lifetime of piece of data not being appropriate for its role in the server, but I could get to its root cause. I could have solved it in 5 minutes with an LLM, but I was determined to grasp what I was doing wrong.

I had become reasonably proficient with the debugger by this stage, could make my way around a stack trace and had a degree of comfort with manual memory allocation and management. The purpose of this post is to relay the sense of wonder I felt when grasped the root cause of my pain ... a double free. It had been less than 2 days of effort, but I felt I learned more in that debugging exercise than I had in months of reading books and blog posts. It reinforced a belief I have and I believe is commonly held ... that you must blunder through to obtaining a fix of your bug if you really want to internalise the understanding of the cause and advance your knowledge.

But the more profound thing I felt I had learned is that a debugger can be more than a tool to help you get your code working. It can be an amazing laboratory environment. For those of us who enjoy low level coding, debuggers can feel magical in their ability to let you see what is going inside a machine capable of executing billions of operations a second. And this experience got me thinking. Could I build a tool that helps me leverage this 'debugging as learning' approach? So I sat down and worked through as bunch CS:APP, a US college text on systems programming but with a tilt towards the programming. The process turned really fit my brain. I could retain the concepts so much better if wrote toy programs around them, or extended those of others, and then stepped through them with a debugger.

During this process of iteration and learning I used llvm. I use a MacBook and that's the native debugger. This tool is unbelievable, but boy does it have a learning curve. I feel someone could write a book as long as CS:APP and I could spend a year with it and still not know half of the functionality. It was in this process of learning, of trial and erroring and reading, that I formed the genesis of an idea for a tool and a way of learning that I wanted to share. I've spent a couple of months on it now and those interested can get some more information at https://mercurial-hermes.github.io/systems-thinking-on-apple-silicon/. For other like-minded individuals who have been grappling with similar challenges, this could be something of value.

Pushpad has released a new Go library for Web Push

https://newsletter.page/pushpad/2862-introducing-pushpad-go-v1-0-0-full-api-support-is-here
1•collimarco•1m ago•0 comments

Win32 is the stable Linux ABI

https://loss32.org/
2•krautburglar•5m ago•0 comments

Renewable energy project approvals hit record high in GB in 2025, data shows

https://www.theguardian.com/business/2025/dec/30/renewable-energy-projects-battery-storage-wind-s...
1•zeristor•5m ago•0 comments

no strpy either

https://daniel.haxx.se/blog/2025/12/29/no-strcpy-either/
3•firesteelrain•6m ago•0 comments

The Discovery of Lin Yutang's MingKwai Chinese Typewriter

https://typewriterrevolution.com/the-discovery-of-lin-yutangs-mingkwai-chinese-typewriter/
1•superjan•9m ago•0 comments

Show HN: Imesde – A tiny, ephemeral vector engine for streaming data (Rust)

https://github.com/imesde/imesde
1•alessiopel•9m ago•1 comments

The British Empire's Resilient Subsea Telegraph Network

https://subseacables.blogspot.com/2025/12/the-british-empires-resilient-subsea.html
1•giuliomagnifico•9m ago•0 comments

Show HN: Spraff – Voice and text AI chat, self-hostable, no data retention

https://github.com/martinpllu/spraff
1•pllu•12m ago•0 comments

Far-right online dating site leaked

https://okstupid.lol/
3•_tk_•12m ago•0 comments

SMTMSMT: Gluing Together CVC5 and Z3 Nelson Oppen Style

https://www.philipzucker.com/glue-cvc5-z3/
1•matt_d•18m ago•0 comments

Fucking Approachable Swift Concurrency

https://fuckingapproachableswiftconcurrency.com/en/
2•wrxd•18m ago•0 comments

The state of AI – December 2025

https://www.ashprabaker.com/state-of-play
2•_ash_•19m ago•1 comments

Jan Łukasiewicz

https://plato.stanford.edu/entries/lukasiewicz/
1•danielam•22m ago•0 comments

MongoDB CVE CVE-2025-14847 – what K8s users should know?

https://www.armosec.io/blog/cve-2025-14847-mongobleed-memory-disclosure/
1•jkaftzan•24m ago•1 comments

Calibri Wasn't Fit for the State Department; Neither Is Times New Roman

https://hsu.cy/2025/12/times-new-american/
3•firexcy•24m ago•1 comments

Simple Made Easy – Rich Hickey

https://www.infoq.com/presentations/Simple-Made-Easy/
2•thunderbong•25m ago•0 comments

Nano Banana Pro: The End of Photographic Evidence, Again

https://julienposture.substack.com/p/the-end-of-photographic-evidence
2•julienposture•26m ago•1 comments

When robot taxis get stuck, a secret army of humans comes to the rescue

https://www.washingtonpost.com/technology/2025/12/25/waymo-robots-human-work/
1•1vuio0pswjnm7•29m ago•2 comments

Top US law firms hand associates $300k-plus bonuses

https://www.ft.com/content/d1db1264-27b1-48db-9576-16c0ca118df6
1•1vuio0pswjnm7•31m ago•0 comments

Groq investor sounds alarm on data centers

https://www.axios.com/2025/12/29/groq-alex-davis-data-center-concerns
1•giuliomagnifico•33m ago•1 comments

Show HN: I built a CLI to dump all JavaScript/CSS/assets from any webpage

https://github.com/timf34/pagesource
1•timf34•33m ago•0 comments

Singapore Study Links Heavy Infant Screen Time to Teen Anxiety

https://www.bloomberg.com/news/articles/2025-12-30/singapore-study-links-heavy-infant-screen-time...
3•1vuio0pswjnm7•33m ago•0 comments

Code-based music creation and performance tool

https://sonic-pi.net/
1•saikatsg•36m ago•0 comments

Apache Spark Isn't "Fast" by Default; It's Fast When You Use It Correctly

https://www.netcomlearning.com/blog/apache-spark
1•birdculture•38m ago•0 comments

Raytracing in One Weekend

https://raytracing.github.io/
2•fanf2•38m ago•0 comments

Mojo Vision

https://docs.modular.com/mojo/vision/
1•tosh•40m ago•0 comments

Free eBook –> Website Monitoring Trends in 2026

https://alertsleep.com/free-ebook
1•thepatrykooo•41m ago•0 comments

Ask HN: What book are you currently reading?

5•sujayk_33•49m ago•6 comments

How Liquid Dampers in Skyscrapers Work

https://www.youtube.com/watch?v=fudWbvE8ZKw
1•akshatjiwan•52m ago•0 comments

The U.S. offers Ukraine a 15-year security guarantee for now

https://www.npr.org/2025/12/29/g-s1-103906/ukraine-russia-trump-zelenskyy-security
2•geox•53m ago•0 comments