I helped fix sleep-wake hangs on Linux with AMD GPUs(gitlab.io) I dual-boot my desktop between Windows and Linux. Over the past few years, Linux would often crash when I tried to sleep my computer with high RAM usage. Upon waking it would show a black screen with moving cursor, or enter a "vegetative" state with no image on-screen, only responding to magic SysRq or a hard reset. I traced this behavior to an amdgpu driver power/memory management bug, which took over a year to brainstorm and implement solutions for.
Exposing concurrency bugs with a custom scheduler(lwn.net) Jake Hillion gave a presentation at FOSDEM about using sched_ext, the BPF scheduling framework that was introduced in kernel version 6.12, to help find elusive concurrency problems.
Do You Use a Debugger?(sandordargo.com) You might laugh at this question because your answer is of course, who wouldn’t! Especially in the world of C++. Equally, you might laugh at this question, because your answer is obviously no! You write clean code that reads like well-written prose and the behaviour of your code is clearly documented in automated tests.
Memory profilers, call graphs, exception reports, and telemetry(nuanced.dev) To meaningfully solve problems, developers aggregate context from several disparate sources that live both within and outside code. This context is often scattered across a daunting array of tools that developers navigate daily: from the AWS Console's labyrinth of services to Kubernetes' multi-layered configs, Datadog's dense metric displays to distributed traces spanning dozens of services. Each tool demands its own expertise, creating constant context-switching that interrupts flow and drains productivity [1].
Profiling in production with function call traces(yosefk.com) A timeline showing function call and return events is a great way to debug performance problems, especially in production. In particular, it's often much more effective than traditional sampling profilers, for reasons we’ll discuss. However, the adoption of function tracing in the industry remains uneven because of a chicken-and-egg problem.
Ruby Source Parsing(alchemists.io) One powerful tool in your debugging arsenal is the ability to quickly obtain an object’s source location and/or the original source code itself.
15 points by ZevsVultAveHera 19 days ago | 18 comments
Beyond file trees: why AI coding assistants need smarter context(nuanced.dev) When debugging code, experienced developers don't start by reading every file in the repository. They trace execution paths, follow function calls, and leverage their understanding of the system architecture. Yet many AI coding tools today work like developers who haven't learned these navigation skills—they rely on basic file listings and attempt to cram as much code as possible into their limited context windows.
When AI promises speed but delivers debugging hell(nsavage.substack.com) I am launching a new app today: Codescribble. Codescribble is a basic shared text editor. Two or more people can open the same file and work on it at the same time, like a basic Google Doc. This focuses on quickly getting you and collaborators on the same document quickly.
How to Inspect React Server Component Activity with Next.js and OpenTelemetry(dash0.com) As web developers, we've become accustomed to the incredible power of browser dev tools. Need to understand why a component isn't rendering correctly? Pop open the inspector! Want to trace a network request? The Network tab is your best friend. Debugging, profiling, and understanding frontend code has never been easier. Until now.
The Hunt for Error -22(tweedegolf.nl) This article is a linear retrospective of how we searched for and eventually fixed a hard-to-find bug in our embedded software. If you're only interested in the outcome, then make sure to read the last three sections.
The Hunt for Error -22(tweedegolf.nl) This article is a linear retrospective of how we searched for and eventually fixed a hard-to-find bug in our embedded software. If you're only interested in the outcome, then make sure to read the last three sections.