Pessimism about parallelism
Massive concurrency and hardware parallelism are sexy topics in the 21st century. There are a couple of good reasons for this and one rather unfortunate one.
Topics /
The most popular blog posts about software engineering on Hacker News. 14,544 posts.
Massive concurrency and hardware parallelism are sexy topics in the 21st century. There are a couple of good reasons for this and one rather unfortunate one.
In the beginning, there was the egg. Then fictional people started eating that from different ends, and the terms of "little endians" an...
I stuck with Windows 10 as my primary OS for 6 years, despite being a Ruby developer. In this blog post I would like to cover why this happened.
A workaround to get nice stack traces for errors in Go.
A coding anti-pattern that spreads it's tentacles across the codebase
To check if a program is doing what it should, you can inspect the output from a given input. But as the system grows, you also need logging to help you understand what is happening. Good log messa…
Do we have a good safety net to change this legacy code?
Updated 2018-01-21: Added clarification related to assertion about lack of context free nature of the C preprocessor.
In 2007, I was spending a my norther-hemisphere summer experimenting with UI automation. Born of those efforts, xdotool came into being when I separated it from another project. The goal was modest - write some scripts that execute common keyboard, mouse, and window management tasks. The first commit had only a few…
Wherein the Means to Make macOS Behave Itself Are Enumerated, Including an App to Stop Music.app Launching on Device Connection, Terminal Tips for Gatekeeper, OCR From Screen, and Time Machine Control.
Signed integers are not allowed to overflow in C and C++, and this helps compilers generate better code. I was interested in how GCC is tak...
Serverless computing is the new buzzword. AWS describes Lambda (their implementation of Serverless) as the way how you’ll do things post containers. Go figure …
How types might be the missed part of the future of code
Cute Framework is a simple, yet powerful C/C++ framework for building 2D games using the modern GPU pipeline. While C or C++ is fine, Swift is a modern language that many developers prefer for its safety and expressiveness. In this post, we will explore how to set up a project using Cute Framework with CMake, enabling…
How I learned to stop worrying and love refs.
I've recently become active again on twtxt.net , the platform that puts the "social" in "anti-social social media". There is a lot of intelligent discussion to be had there, and for the past couple days a discussion has been going on about technology buzzwords and, later, unnecessary complexity on websites. I was…
First mistake, drinking the CSS Kool-Aid Several weeks ago, I started designing the layout for my threaded comments on a social news site that I'm building. I had created a down and dirty layout using nested tables. It was ugly, and used nested tables but it worked. I was then paralized by guilt. I couldn't let the…
In 1957, John Myhill first posed an interesting problem that was closely related to computer programming, but did not require any related background to solve. Dubbed the "firing squad synchronization problem," the puzzle was passed along by word of mouth and first solved by Marvin Minsky and John McCarthy. However…
This is a follow-up to Error handling in Rust from a couple of days ago. The moment we want to use error propagation for different error types, we have to rely on trait objects with Box<dyn Error>, which means we defer a lot of information from compile-time to runtime, for the sake of convenient error handling.
PHP 8's Just In Time compiler is implemented as part of the Opcache extension and aims to compile some Opcodes into CPU instructions in runtime. Let's understand how it works all together.
Practicing Programming Stevey's Drunken Blog Rants™ Back in October I wrote an essay in which I compared programming to other professions. In it, I made the unsubstantiated claim that programming is unusual, in that most programmers don't practice their craft -- at least, not in any disciplined
We develop fast Rust crates and release them fast.
WebAssembly and WASI show great promise for the future of computing outside the browser, and the WebAssembly component model aims to improve the portability, cross-language, and composition story for Wasm. This article explains the goals of the component model, and showcases how to use tooling from the Bytecode…
When I first learned to program on the web, Perl + CGI was the dominant platform. But by the time I was building my first websites for com...
You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites . This can and does cause downtime for the websites, which makes their resources inaccessible for everyone.