Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 21,843 posts.

Any year
17133

Value Types for Java – A sketch of proposed enhancements

This is a sketch of proposed enhancements to the Java Virtual Machine instruction set, and secondarily to the Java Language, to support small immutable, identityless value types . (They may also be considered as identityless aggregates, user-defined primitives, immutable records, or restricted classes.) This is an…

17134

Somehow AutoHotKey is kinda good now

img {border-style: groove; border-width: 1px;} I love Autohotkey so much that it keeps me on Windows. It’s the best GUI automation tool out there. Here’s a shortcut that opens my current browser tab in the Wayback Machine: #HotIf WinActive("ahk_exe firefox.exe") >!^s:: { Keywait("RControl") Keywait("RAlt")…

17136

Using gRPC for (local) inter-process communication (2021)

Using a full-featured RPC framework for IPC seems like overkill when the processes run on the same machine. However, if your project anyway exposes RPCs for public APIs or would benefit from a schema-based serialisation layer it makes sense to use only one tool that combines these—also for IPC. Microservices for…

17140

The most stupid C bug ever

I have been programming for a number of years already. I have seen others introduce bugs, and I have also introduced (and solved!) many bugs while coding. Off-by-one, buffer-overflow, treating pointers as pointees, different behaviors or the same function (this is specially true for cross-platform applications), race…

17144

Migrating to React Native's new architecture

Shopify successfully migrated two of its largest apps, Shopify Mobile and Shopify Point of Sale (POS) to React Native's New Architecture while maintaining weekly releases and serving millions of merchants. This migration involved a complex codebase with hundreds of screens and native modules, extensive custom…

17145

Locking in WebKit

We recently replaced all spinlocks, OS-provided mutexes, and condition variables in WebKit with the new WTF::Lock and WTF::Condition — these new primitives have some cool properties.

17146

Android Pie SDK is now more Kotlin-friendly

When using the Java programming language, one of the most common pitfalls is trying to access a member of a null reference, causing a NullPointerException to be thrown. Kotlin offers protection against this by baking nullable and non-nullable types into the type system. This helps eliminate NullPointerExceptions from…

17158

Norvig's Law (2002)

In July 1999, there was a news article stating that PC usage had doubled yet again, reaching penetration of 50% of homes. People were hailing this as yet another sign of the inevitable climb of technology, but I saw it as a warning sign that the glass was half empty, and coined the following: