Topics /

Software Engineering

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

Any year
11973

To Nerves from Elixir

I adore Nerves. I recently joined the core team. And I'll be doing my best to help people get along with this lovely way to co-mingle hardware and massively concurrent reliable software.

11975

Programming with RISC-V Vector Instructions

Perhaps the most interesting part of the open RISC-V instruction set architecture (ISA) is the vector extension (RISC-V "V"). In contrast to the average single-instruction multipe-data (SIMD) instruction set, RISC-V vector instructions are vector length agnostic (VLA). Thus, a RISC-V "V" CPU is flexible in choosing a…

11976

Examining PostgreSQL 9.4 – A first look

PostgreSQL is currently entering its final commit fest. While its still going, which means there could still be more great features to come, we can start to take a look at what you can expect from it now. This release seems to bring a lot of minor increments versus some bigger highlights of previous ones. At the same…

11982

Implementing Forth in Go and C

I first ran into Forth about 20 years ago when reading a book about designing embedded hardware . The reason I got the book back then was to actually learn more about the HW aspects, so having skimmed the Forth chapter I just registered an "oh, this is neat" mental note and moved on with my life. Over the last two…

11988

Postgres indexes under the hood

Many software engineers use database indexes every day, but few of us really understand how they work. In this post I’ll explain: How indexing works in Postgres using B-Trees What B-Trees are Why they are a good fit for this problem Indexes in Postgres Postgres actually offers 4 different kinds of indexes for…

11989

Reasoning with Types in Rust

Hi, I'm Ariel (she/her), a newly-minted member of the Swift team at Apple ! Previously, I helped lead the Luau team at Roblox where my efforts primarily focused on the design and implementation of Luau 's type system. I also led the creation of Lute to support using Luau both to build developer tooling, and as a…

11996

How to Write a New Git Protocol

I used to have trouble keeping track of my files. I often couldn’t remember whether I saved a file on my desktop, laptop, or phone, or if it was floating around in the cloud somewhere. Plus, with certain information, like passwords and bitcoin keys, I didn’t feel comfortable just sending that in an email to myself in…

11997

How D3 Selections Work

In the past I have presented simplified descriptions of D3 ’s selections, providing only enough detail to get started. This article takes a more comprehensive approach; rather than saying how to use selections , I will explain how selections are implemented . This may take longer to read, but it should dispel any…

11998

Rust's Ugly Syntax (2023)

People complain about Rust syntax. I think that most of the time when people think they have an issue with Rust's syntax, they actually object to Rust's semantics. In this slightly whimsical post, I'll try to disentangle the two.

11999

Almost Always Unsigned

Almost Always Unsigned # Written by Dale Weiler Twitter GitHub Last updated Saturday, January 1, 2022 The need for signed integer arithmetic is often misplaced as most integers never represent negative values within a program. The indexing of arrays and iteration count of a loop reflects this concept as well. There…