Psss: Process Star Alignment
(brendangregg.com)
Process star signs can be identified by the psss program found here. example output:
Process star signs can be identified by the psss program found here. example output:
Prototyping in Rust
(corrode.dev)
Programming is an iterative process - as much as we would like to come up with the perfect solution from the start, it rarely works that way.
Programming is an iterative process - as much as we would like to come up with the perfect solution from the start, it rarely works that way.
Solving the first 100 Project Euler problems using 100 languages
(github.com/jaredkrinke)
This repository tracked a misguided quest to write code in 100 different programming languages, specifically by solving the first 100 Project Euler problems, using a different--and, ideally, new to me--language for each problem.
This repository tracked a misguided quest to write code in 100 different programming languages, specifically by solving the first 100 Project Euler problems, using a different--and, ideally, new to me--language for each problem.
Oh Shit, Git?
(ohshitgit.com)
Git is hard: screwing up is easy, and figuring out how to fix your mistakes is fucking impossible.
Git is hard: screwing up is easy, and figuring out how to fix your mistakes is fucking impossible.
Show HN: DBOS TypeScript – Lightweight Durable Execution Built on Postgres
(github.com/dbos-inc)
DBOS Transact is a TypeScript library for ultra-lightweight durable execution.
DBOS Transact is a TypeScript library for ultra-lightweight durable execution.
Build a Database in 3000 Lines with 0 Dependencies
(build-your-own.org)
I’ve built a small database in 3000 lines from scratch in Go to learn the core ideas of databases. It’s not that complicated if you approach it in a certain way.
I’ve built a small database in 3000 lines from scratch in Go to learn the core ideas of databases. It’s not that complicated if you approach it in a certain way.
Is WebAssembly Memory64 worth using?
(spidermonkey.dev)
After many long years, the Memory64 proposal for WebAssembly has finally been released in both Firefox 134 and Chrome 133. In short, this proposal adds 64-bit pointers to WebAssembly.
After many long years, the Memory64 proposal for WebAssembly has finally been released in both Firefox 134 and Chrome 133. In short, this proposal adds 64-bit pointers to WebAssembly.
Rust's borrow checker: Not just a nuisance
(mental-reverb.com)
Over the past couple of months, I've been developing a video game in Rust. A lot of interesting and mostly positive things could be said about this programming journey. In this post, I want to briefly highlight one particular series of events.
Over the past couple of months, I've been developing a video game in Rust. A lot of interesting and mostly positive things could be said about this programming journey. In this post, I want to briefly highlight one particular series of events.
The Game Boy Talk [video]
(media.ccc.de)
The 8-bit Game Boy was sold between 1989 and 2003, but its architecture more closely resembles machines from the early 1980s, like the Commodore 64 or the NES. This talk attempts to communicate "everything about the Game Boy" to the listener, including its internals and quirks, as well as the tricks that have been used by games and modern demos, reviving once more the spirit of times when programmers counted clock cycles and hardware limitations were seen as a challenge.
The 8-bit Game Boy was sold between 1989 and 2003, but its architecture more closely resembles machines from the early 1980s, like the Commodore 64 or the NES. This talk attempts to communicate "everything about the Game Boy" to the listener, including its internals and quirks, as well as the tricks that have been used by games and modern demos, reviving once more the spirit of times when programmers counted clock cycles and hardware limitations were seen as a challenge.
Ropey – A UTF8 text rope for manipulating and editing large text
(github.com/cessen)
Ropey is a utf8 text rope for Rust, designed to be the backing text-buffer for applications such as text editors. Ropey is fast, robust, and can handle huge texts and memory-incoherent edits with ease.
Ropey is a utf8 text rope for Rust, designed to be the backing text-buffer for applications such as text editors. Ropey is fast, robust, and can handle huge texts and memory-incoherent edits with ease.
YJIT 3.4: Even Faster and More Memory-Efficient
(railsatscale.com)
It’s 2025, and this year again, the YJIT team brings you a new version of YJIT that is even faster, more stable, and more memory-efficient.
It’s 2025, and this year again, the YJIT team brings you a new version of YJIT that is even faster, more stable, and more memory-efficient.
Maze Generation: Recursive Division (2011)
(jamisbuck.org)
A novel method for generating fractal-like mazes is presented, with sample code and an animation
A novel method for generating fractal-like mazes is presented, with sample code and an animation
Ask HN: Teams using AI – how do you prevent it from breaking your codebase?
(ycombinator.com)
For teams actively using AI coding assistants (Copilot, Cursor, Windsurf, etc.), I'm noticing a frustrating pattern: the more complex your codebase, the more time developers spend preventing AI from breaking things.
For teams actively using AI coding assistants (Copilot, Cursor, Windsurf, etc.), I'm noticing a frustrating pattern: the more complex your codebase, the more time developers spend preventing AI from breaking things.
Byte Queue Limits – The unauthorized biography
(medium.com)
Of the technologies I’ve worked on, Byte Queue Limits, or just BQL, seems the one for which I get the most comments! It’s rather ancient now dating back to 2011, however to my surprise it still seems quite relevant. Anyway, I thought it’d be fun today to look at it as part retrospective and part exposé.
Of the technologies I’ve worked on, Byte Queue Limits, or just BQL, seems the one for which I get the most comments! It’s rather ancient now dating back to 2011, however to my surprise it still seems quite relevant. Anyway, I thought it’d be fun today to look at it as part retrospective and part exposé.
Cheating Is All You Need
(sourcegraph.com)
There is something legendary and historic happening in software engineering, right now as we speak, and yet most of you don’t realize at all how big it is.
There is something legendary and historic happening in software engineering, right now as we speak, and yet most of you don’t realize at all how big it is.
An "oh fuck" moment in time
(ghuntley.com)
Then took my kids down to the local pool. When I got back, I had a fully functional Haskell library with autogenerated C bindings, FFI to CoreAudio and my jaw was on the ground. Literally an "oh fuck" moment in time... This wasn't something that existed, it wasn't regurgitating knowledge from Stackoverflow. It was inventing/creating something new.
Then took my kids down to the local pool. When I got back, I had a fully functional Haskell library with autogenerated C bindings, FFI to CoreAudio and my jaw was on the ground. Literally an "oh fuck" moment in time... This wasn't something that existed, it wasn't regurgitating knowledge from Stackoverflow. It was inventing/creating something new.
Codestral 25.01
(mistral.ai)
Code at the speed of Tab. Available today in Continue.dev and soon on other leading AI code assistants.
Code at the speed of Tab. Available today in Continue.dev and soon on other leading AI code assistants.
Understanding Memory Management, Part 1: C
(educatedguesswork.org)
I've been writing a lot of Rust recently, and as anyone who has learned Rust can tell you, a huge part of the process of learning Rust is learning to work within its restrictive memory model, which forbids many operations that would be perfectly legal in either a systems programming language like C/C++ or a more dynamic language like Python or JavaScript. That got me thinking about what was really happening and what invariants Rust was trying to enforce.
I've been writing a lot of Rust recently, and as anyone who has learned Rust can tell you, a huge part of the process of learning Rust is learning to work within its restrictive memory model, which forbids many operations that would be perfectly legal in either a systems programming language like C/C++ or a more dynamic language like Python or JavaScript. That got me thinking about what was really happening and what invariants Rust was trying to enforce.
Literate programming: Knuth is doing it wrong (2014)
(akkartik.name)
Literate programming advocates this: Order your code for others to read, not for the compiler. Beautifully typeset your code so one can curl up in bed to read it like a novel. Keep documentation in sync with code. What's not to like about this vision? I have two beefs with it: the ends are insufficiently ambitious by focusing on a passive representation; and the means were insufficiently polished, by over-emphasizing typesetting at the cost of prose quality.
Literate programming advocates this: Order your code for others to read, not for the compiler. Beautifully typeset your code so one can curl up in bed to read it like a novel. Keep documentation in sync with code. What's not to like about this vision? I have two beefs with it: the ends are insufficiently ambitious by focusing on a passive representation; and the means were insufficiently polished, by over-emphasizing typesetting at the cost of prose quality.
Debugging: Indispensable rules for finding even the most elusive problems (2004)
(dwheeler.com)
It's not often you find a classic, but I think I've found a new classic for software and computer hardware developers.
It's not often you find a classic, but I think I've found a new classic for software and computer hardware developers.
Porting the GNAT Ada compiler to macOS/aarch64
(briancallahan.net)
After getting a port of GDC working on my new MacBook Pro, there are still two languages left in the GCC suite that I don't have: Ada and Go.
After getting a port of GDC working on my new MacBook Pro, there are still two languages left in the GCC suite that I don't have: Ada and Go.
Ask HN: Want to keep my software engineering skills sharp
(ycombinator.com)
I currently started work as a data analyst. For a data analyst, the work is quite programming heavy actually (e.g. we don't use Excel but Jupyter). But for a software engineer, the amount of programming feels low. It's more like creating quick scripts.
I currently started work as a data analyst. For a data analyst, the work is quite programming heavy actually (e.g. we don't use Excel but Jupyter). But for a software engineer, the amount of programming feels low. It's more like creating quick scripts.
The history and use of /etc/glob in early Unixes
(utoronto.ca)
One of the innovations that the V7 Bourne shell introduced was built in shell wildcard globbing, which is to say expanding things like *, ?, and so on.
One of the innovations that the V7 Bourne shell introduced was built in shell wildcard globbing, which is to say expanding things like *, ?, and so on.
(Right-Nulled) Generalised LR Parsing
(jeffsmits.net)
I hope you know a bit about LR parsing, otherwise this blog post won’t make much sense to you. You can read all about it in a previous post of mine. Today I want to discuss the problems with getting your language parsed in LR(1), or even LR(k). And how an old way to solve those problems is with a more powerful algorithm, that can parse any context-free grammar, no restrictions, no complaints about conflicts.
I hope you know a bit about LR parsing, otherwise this blog post won’t make much sense to you. You can read all about it in a previous post of mine. Today I want to discuss the problems with getting your language parsed in LR(1), or even LR(k). And how an old way to solve those problems is with a more powerful algorithm, that can parse any context-free grammar, no restrictions, no complaints about conflicts.