Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
Understanding Memory Management, Part 5: Fighting with Rust
This is the fifth post in my planned multipart series on memory management. You will probably want to go back and read Part I , which covers C, parts II and III , which cover C++, and part IV , which introduces Rust memory management. In part IV, we got through the basics of Rust memory management up through smart…
Hoare’s Rebuttal and Bubble Sort’s Comeback
Editor’s note: For this blog entry I welcome my friend and colleague Gerben Stavengaas a guest author.
Parsing S-expressions in C (2019)
Over the past couple weeks I've been trying to work out how I want to store my game configuration. At first I started playing with XML, which was nice because I could stream a file rather than loading the entire thing into memory but I turned away from XML because …
Launching Version 13.0 of Wolfram Language and Mathematica
More than 600 new functions in Version 13 plus loads of updates covering: symbolic integration, mathematical functions, PDE modeling, video creation, image stitching, tree constructs, graph coloring, subgraph isomorphism, spatial fields, leap seconds, maps, geometric regions, chemical formulas & reactions, bio…
GetElementById vs. QuerySelector
A while ago, I was curious how the speed of document.getElementById compared to document.querySelector in Javascript for selecting a single element by ID. querySelector has to do a lot more work, so one would expect that it would be slower, but I didn't know if the difference was enough to care about.
Progressive React
Building progressive and performant sites with React
Stackoverflow Is A Difficult Community to Participate In
These are a few of the reasons why I have difficulty in participating in the StackOverflow community. I was once a very active user, but due to these reasons, and a few unstated, I am unable to participate in the community anymore. The Eternal September Issue. Many new users of StackOverflow...
When Double Precision Is Not Enough
Using greater than double precision to calculate the eigenvalues of the lesp matrix.
The Configuration Complexity Curse
Why managing configuration has become so complex and how data configuration languages like CUE offer a path forward.
What is a Web Framework?
Socolive TV phát sóng trực tiếp bóng đá hôm nay, link xem SocoliveTV sắc nét chuẩn HD. Cập nhật Lịch thi đấu, BXH, Highlight, Kết quả bóng đá mới nhất!
Swift for C++ Practitioners, Part 1: Intro and Value Types
Swift for C++ Practitioners, Part 1: Intro & Value Types
Databases always have a schema (2018)
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Thread Safety in C++ and Rust
Lately I’ve been experimenting with Rust, and I want to report some of whatI’ve learned about thread-safety. I am an enthusiastic dabbler in Rust: Ispend mo...
Why threads can't fork
There is an interesting thread on the Go issue tracker about daemonizing processes. Most of the thread is not about daemonizing processes though, but more about why Go has no Fork() function which you can call directly in your code. The first time I read through it I was wondering and saying to myself: “Yeah, why is…
Honey, I shrunk the NPM package
Have you ever wondered what lies beneath the surface of an npm package? At its heart, it’s nothing more than a gzipped tarball. Working in software development, source code and binary artifacts are nearly always shipped as .tar.gz or .tgz files. And gzip compression is supported by every HTTP server and web browser…
IPC in Rust – A Ping Pong Comparison
I wanted to explore different ways of communicating between different processes executing on the same machine, and doing so as fast as possible. We're focussing on high speed inter-process communication (IPC), but some of these approaches can be extended across a network. We'll do this exploration in Rust.
Recto – A Truly 2D Language
Recto is a 2D programming language that uses nested rectangles as its core syntax, encoding structure and recursion directly in space instead of a linear stream of text. Recto explores new ways to write, parse, and reason about code—and even natural language—spatially.
All of my side-projects from 2012
One of my favorite pastimes as a programmer is to work on personal projects outside of work. I use side-projects as a creative outlet to work on new and interesting things. I also use them as a learning exercise. If I start a side-project, there must be "one new thing" about the project I don't know how to do already…
Decompiling 2024: A Year of Resurgance in Decompilation Research
The year 2024 was a resurgent year for decompilation. Academic publications from that year made up nearly 30% of all top publications ever made in decompilation. In this post, I do a summarization and retrospective of both the academic and ideological progress of decompilation in 2024. Hint: decompilation research is…
Conway’s Law (2022)
Systems are constrained to follow the communication patterns of their designers.
The Git Parable (building a Git-like system from the ground up)
Git is a simple, but extremely powerful system. Most people try to teach Git by demonstrating a few dozen commands and then yelling “tadaaaaa.” I believe this method is flawed. Such a treatment may leave you with the ability to use Git to perform simple tasks, but the Git commands will still feel like magical…
Refactoring Python with Tree-sitter and Jedi
I was toying around with a refactor the other day that would have taken me ages by hand as it involved 100s of files. I wanted to rename every instance of...
The Background Noise Was Louder than I Realized
It's not about technology for its own sake. It's about being able to implement your ideas.