Inside New Query Engine Of MongoDB
tl;dr: A significant overhaul of the Query Execution Engine has been announced. The article provides an in-depth look into the technical aspects of this change. The previous engine, termed "Classic," was built around JSON documents, leading to inefficiencies in complex queries. The new Slot Based Engine (SBE) introduces "slots" as a means to pass data, optimizing the process. Nikita delves into the architecture, data flow, and challenges faced during the transition.
featured in #449
In A Git Repository, Where Do Your Files Live?
tl;dr: Julia explores the inner workings of git, specifically how it stores files in the .git/objects directory. Through Python programs, Julia investigates the location of specific files and their older versions discovering "content addressed storage," where the filename is the hash of the file's content. The article also demystifies the encoding process, showing that files are zlib compressed, and emphasizes that git stores complete files, not just the differences.
featured in #449
UK Air Traffic Control Meltdown
tl;dr: During a routine deployment, NATS, a major UK-based air traffic management company, experienced a significant system disruption. This "meltdown" led to widespread operational challenges. The root cause was identified as a misconfiguration introduced during the deployment. James dives into root causes of the issues that caused 1,000 flights to be cancelled.
featured in #448
Building A ShopifyQL Code Editor
tl;dr: “This approach enabled us to provide ShopifyQL features to CodeMirror while continuing to maintain a grammar that serves both client and server. The custom adapter we created allows us to pass a ShopifyQL query to the language server, adapt the response, and return a Lezer parse tree to CodeMirror, making it possible to provide features like syntax highlighting, code completion, linting, and tooltips. Because our solution utilizes CodeMirror’s internal parse tree, we are able to make better decisions in the code and craft a stronger editing experience. The ShopifyQL code editor helps merchants write ShopifyQL and get access to their data in new and delightful ways.”
featured in #448
Consistent Hashing Explained
tl;dr: “Consistent hashing is a distributed systems technique that operates by assigning the data objects and nodes a position on a virtual ring structure - a hash ring. Consistent hashing minimizes the number of keys to be remapped when the total number of nodes changes.” The author dives deep into this works in the context of system design.
featured in #404
Vim Best Practices For IDE Users
tl;dr: “If you don’t have time to read the Vim User Manual, I sifted through it for you with a focus on IDE users.” A deep dive into all aspects of VIM.
featured in #397
Some Possible Reasons For 8-Bit Byte
tl;dr: Julia explores the question: why does the x86 architecture use 8-bit bytes? Why not some other size? She evaluates a couple of options: (1) It’s a historical accident, another size - like 4 or 6 or 16 bits - would work just as well. (2) 8 bits is objectively the Best Option for some reason, even if history had played out differently we would still use 8-bit bytes. (3) Mix of 1 & 2.
featured in #396
The World's Smallest Hash Table
tl;dr: Orson tackles an Advent of Code, which he optimizes “completely beyond the point of reason” but also contains a useful technique, showing us how to store a small lookup table with small elements as a constant, indexed using shifts.
featured in #395
Squeezing A Sokoban Game Into 10 Lines Of Code
tl;dr: Although code golfing is an ultimately frivilous endeavor, I had a lot of fun trying to fit as much as I could into my game and I’m pleased with how it turned out… While I don’t expect you to ever make (serious) use of these tips, I hope you liked them.”
featured in #392