Making Faster B-Trees with Go Generics
Go generics are a new way to improve performance in golang. Let’s see what effect generics had on Google’s B-tree implementation.
Topics /
The most popular blog posts about software engineering on Hacker News. 1,551 posts.
Go generics are a new way to improve performance in golang. Let’s see what effect generics had on Google’s B-tree implementation.
Explore the fundamentals of the DICOM file format! This quick introduction covers the basics of DICOM's structure, its essential uses, and tips for easily navigating its complex and abstract components.
I often work with clients who have large “data lakes” or big star schema style enterprise databases with fact and dimension tables as far as the eye can see. Invariably said clients end up with a substantial SQL codebase composed of hundreds of independent queries with lots of overlap between them. I want to be able…
When we see a world-class musician flawlessly play challenging music, it can be tempting to imagine that they were always able to do so. A moment’s thought makes it obvious that they must have had to spend huge amounts of time practising basic techniques in order to reach that level. What’s less obvious is that they…
When writing concurrent Rust you will encounter Arc and Mutex types sooner or later. And although Mutex might already sound familiar as it's a concept known in many languages, chances are you haven't heard about Arc before Rust. What's more, you can't fully understand these concepts without tying them to the ownership…
Everybody with an Emacs blogs raves about Emacs 29 these days. Things like Eglot, tree-sitter, SQL support and the like. Well, this is all nice – more than nice, brilliant! – but let’s not forget a few minor advances which are coming with Emacs 29. Let me mention a few things that I especially like.
"JVM Anatomy Quarks" is the on-going mini-post series, where every post is describing some elementary piece of knowledge about JVM. The name underlines the fact that the single post cannot be taken in isolation, and most pieces described here are going to readily interact with each other.
A complete list of SQLite releases in a single page and a chronology are both also available. A detailed history of every check-in is available at SQLite version control site .
Understanding Google's Zanzibar paper the way the Authzed team does.
Dynamically linked shared libraries are an important aspect of GNU/Linux. They allow executables to dynamically access external functionality at run time and thereby reduce their overall memory footprint (by bringing functionality in when it's needed). This article investigates the process of creating and using…
People are often baffled why enterprise software is slow, uses lots of memory, and is generally a pain to work with. Before starting mailbox.my, I did work at a large enterprise software company, so I hope to offer some insights with this post. Most of this actually applies to software in general.
1i1 “Xanadu ® ” and the Eternal-Flaming-X logo are registered trademarks of Project Xanadu .
I have built up a pretty good workflow in the terminal. The main thing that I was missing until now was an easy way to drag and drop the files that I am looking at in a terminal to other apps.
Introduction The case for open addressing SIMD-accelerated lookup boost::unordered_flat_map data structure Rehashing Hash post-mixing Sta...
A few years ago I've written in some detail about the Y combinator, including implementations in Clojure and Python.
Abstract TL/DR I present what I belive is a unique index for indexing and searching source code. It copies ideas from Bing bitfunnel implementation to create a very fast, memory efficient trigram …
https://thetab.com/uk/2020/05/20/this-is-how-the-nobel-prize-winning-hinge-algorithm-actually-works-157740
Homepage of Carlin Eng
This is a poorly structured list of common questions and answers about OCaml I had to ask myself or have been asked often.
How I've eased into a new language, Go, as a Senior Software Engineer, and some initial thoughts on the language.
Recently, a new set of sorting functions has landed in Go's golang.org/x/exp/slices package [1] . These functions leverage Go generics to provide a more ergonomic API for sorting (without requiring users to implement sort.Interface ), and also deliver a nice performance improvement, as the CL demonstrates.
Historically, large general-purpose libraries have formed the core of the Fortran scientific ecosystem (e.g., SLATEC , or the various PACKS ). Unfortunately, as I have mentioned here before, these libraries were written in FORTRAN 77 (or earlier) and remained unmodified for decades. The amazing algorithms continued…
This post explores the experimental WebGPU API through examples and helps you get started with performing data-parallel computations using the GPU.
How to inspect the network traffic of an app with Fiddler Everywhere and scrape the data from its servers.
You have heard your grandmother tell you many times: parallel programming is hard. In 2022, does it still have to be? Back in grandma’s heyday, they knew a cool and breezy way to do paralleli…
At Spring, we maintain a large Python monorepo with complete Mypy coverage configured under Mypy’s strictest available settings. In short, that means every function signature is annotated and implicit Any conversions are disallowed.