
Assorted links for Monday, March 17:
- Faster Go maps with Swiss Tables
Like sorting algorithms, hash table data structures continue to see improvements. In 2017, Sam Benzaquen, Alkis Evlogimenos, Matt Kulukundis, and Roman Perepelitsa at Google presented a new C++ hash table design, dubbed “Swiss Tables”. In 2018, their implementation was open sourced in the Abseil C++ library.
Go 1.24 includes a completely new implementation of the built-in map type, based on the Swiss Table design.
- Harden-Runner detection: tj-actions/changed-files action is compromised
We are investigating a critical security incident involving the popular tj-actions/changed-files GitHub Action. We want to alert you immediately so that you can take prompt action. This post will be updated as new information becomes available.
- Highlights from Git 2.49
- Faster packing with name-hash v2
- Backfill historical blobs in partial clones
- Life Altering Postgresql Patterns:
Many of these apply to all SQL, not just PostgreSQL
- Use UUID primary keys
- Give everything created_at and updated_at
- On update restrict on delete restrict
- Use schemas
- Enum Tables
- Name your tables singularly
- Mechanically name join tables
- Almost always soft delete
- Represent statuses as a log
- Mark special rows with a
system_id
- Use views sparingly
- JSON Queries
- cppmatch
A header-only C++ library that offers exceptionless error handling and type-safe enums, bringing Rust-inspired error propagation with the ? operator and the match operator to C++.