Making Wrong Code Look Wrong
Way back in September 1983, I started my first real job, working at Oranim, a big bread factory in Israel that made something like 100,000 loaves of bread every night in six giant ovens the size of…
Topics /
The most popular blog posts about software engineering on Hacker News. 21,842 posts.
Way back in September 1983, I started my first real job, working at Oranim, a big bread factory in Israel that made something like 100,000 loaves of bread every night in six giant ovens the size of…
SBT is the default build tool for the Scala programming community: you can build Scala using other tools, but the vast majority of the community uses SBT. Despite that, nobody seems to like SBT: people say it's confusing, complicated, and opaque. This post will deeply analyze what exactly it is about SBT that people…
Building Marco meant committing to IMAP and cross-platform support. Here is why offline-first proved far harder than we expected, and what we learned.
Purism makes premium phones, laptops, mini PCs and servers running free software on PureOS. Purism products respect people's privacy and freedom while protecting their security.
I’ve noticed a small but interesting trend in the programming languages space. I’m not sure how novel it is, but this pattern, which I’ll refer to as “biphasic programming,” is characterized by languages and frameworks that enable identical syntax to express computations executed in two distinct phases or environments…
I recently created a macOS app called Slack Lite, which beats Slack's desktop app across a few performance metrics. Slack Lite uses Slack's official UI, so it's visually indistinguishable from the official client. Even so, Slack Lite uses 5x fewer threads, 3.5x less time to startup, and significantly less CPU. In the…
A while back I decided to try to write a Game Boy emulator in Common Lisp based on this series of articles . I made some good progress but eventually got bogged down because I was trying to learn a bunch of complex new things at once:
If you could snap your fingers and bring Perl 6 on Parrot's implementation up to the level of Rhino's, would you still choose JavaScript?
Today, we’re pleased to announce that the next release of the Cygwin library (version 2.5.2) will be available under the GNU Lesser General Public License (LGPL) version 3. The Cygwin library is the core of the Cygwin project, which includes a distribution of the popular GNU tools and other open source tools designed…
A guy decides to show off his Neovim setup.
In Mono 5.0 we are shipping a new operation mode for our Garbage Collector: Concurrent Garbage Collection.
A news post talking about PaperMC's newest project, Folia!
This article explores where the KDE community currently stands and where it is going. Frameworks, Plasma, KDE e.V., Qt5, KDE Free Qt Foundation, QtAddons - you heard some of these terms and want to know what all the fuss is about? A set of articles on the Dot aims to bring some clarity in the changes and constants of…
PostgreSQL 18 adds native support for UUIDv7. A timestamp-based UUID variant that plays nicely with btree indexes. Here's what that means for you.
As someone who loves discussing Software Craftsmanship and best practices, Test Driven Development (TDD) is a bit of a sore spot for me. Let me start off by saying that I love TDD’s emphasis on tes…
Successful software is buggy software.
In this blogpost I will step by step show you how to implement a highly efficient transpose kernel for the Hopper architecture using Mojo. The best kernel a...
Typically you either have an executable or a shared library, but can you have an executable shared library too?
Discover the new way to request user location data.