This blog post goes over the inner workings of log search engines and explains how they achieve fast search speeds. It starts with a simple, inefficient example using jq and bash, then progressively introduces more sophisticated data structures like inverted indexes, Tries, and Finite State Transducers (FSTs). FSTs are the most common choice in production search engines due to their efficiency in handling prefix, suffix, and infix searches.
This is an article about creating a minimal JavaScript compiler that converts reverse Polish notation expressions into WebAssembly bytecode. It starts with an extremely compressed 192-byte version and gradually de-obfuscates the code, explaining various JavaScript tricks used for brevity. Through this process, insights into WebAssembly structure, JavaScript optimizations, and compiler design are provided.
A staff engineer at GitHub uses LLMs in his daily work primarily as a powerful code completion tool and for fast prototyping. He also uses LLMs for learning new technologies, as a tutor to clarify concepts and check understanding, and for proofreading. Notably, he prefers not to use them for bug fixing as he trusts himself more.
After 25 years of coding, this developer has outgrown frameworks, seen the failure of rigid methodologies, and has seen the increasing scale of software overall. He recommends focusing on individual code narratives ("stories") to fully understand code and software.
2025.02.05·links.tldrnewsletter.com·11 min read·TLDR Web Dev Haystack Code Reviewer makes pull request reviews easier by breaking them into smaller, manageable parts. It uses an interactive canvas to visualize changes, showing a before-and-after view of diffs. This allows for a quicker understanding of the relationships between modifications within a single pull request.
Jscanify is a JavaScript document scanning library that uses OpenCV.js. It supports paper detection, highlighting, and extraction from images and video streams.
Ryan Dahl, creator of Node.js, is petitioning to cancel Oracle's "JavaScript" trademark, arguing that it is a generic term and that Oracle's claim is based on fraudulent evidence (a Node.js screenshot). Oracle's response attempts to dismiss the fraud claim by citing another specimen, avoiding the core issue of trademark ownership over an open standard.
This blog post goes over the inner workings of a dating app and learnings from them - both technical and nontechnical. The author discusses user ranking systems, how simple like-to-pass ratios are more effective than complex algorithms like ELO scores, and how user behavior significantly differs between men and women. App retention is heavily influenced by the feed algorithm, which must prioritize personalization over simple recommendations to maximize user engagement, particularly focusing on getting women to send likes and men to receive them.
A bootstrapped founder sold his remote computer control company, TinyPilot, for $600,000 to focus on family after the birth of his son. He transitioned into creating educational products, initially revising a blogging course and then shifting to writing a book on effective writing for developers.
Hardcoding feature flags is often a simpler, safer, and often sufficient solution for teams early in development compared to using a SaaS platform for them.
A deep guide on Git that starts with the basics and then goes deeper into its underlying mechanisms for a more comprehensive understanding.
Using chat interfaces for AI software development tools is fundamentally flawed because software development requires precise, documented specifications, not the ambiguity and lack of organization inherent in chat conversations.
This author plans to create a link blog to share interesting technical links with commentary and analysis.
Sponsored
A high-quality Master's degree is a major advantage in the increasingly crowded job market—but that doesn't mean packing your bags, putting your life on pause, and spending $100K+ on traditional universities.
is selective, flexible, and radically affordable—offering world-leading training in ML integration, AI engineering, and cloud architecture, with a unique mobile-first approach that fits your schedule.
A note-taking app had high CPU and GPU usage due to a CSS animation affecting the height property of a visualizer. Animating the height property triggers expensive layout and paint recalculations in the browser's rendering pipeline. Replacing the height animation with a transform animation, specifically using two rectangles with translate transformations instead of scaleY, drastically reduces CPU and GPU usage.
This developer spent six months building a WebAssembly (Wasm) interpreter in C as a learning project to deepen their understanding of low-level computing. In this post, they explain the evolution of Wasm and its applications in web and cloud environments, such as in-browser compilation. They then walk through the interpreter's implementation, covering module decoding, function invocation, and execution via an opcode switch loop.
The Okta Bcrypt incident exposed a vulnerability where excessively long usernames allowed authentication bypass due to the 72-character input limit of the Bcrypt algorithm, leading to ignored password data. Through testing various implementations in Go, Java, JavaScript, and Python, the blog post shows that while some libraries enforce this limitation correctly (like Go's and Patrick Favre's Java Bcrypt), others fail to do so (such as Spring Security and bcryptjs).
A software dev reflects on their decade in the industry, revisiting opinions they had written down in the past. For example, contrary to their past beliefs, they now believe that DynamoDB is a good database, typed languages are essential, and that simplicity is not a given. Some earlier beliefs still hold though, such as skepticism on code style obsession, microservices, and the necessity of project managers.
Some key dev philosophies to follow include the importance of avoiding ground-up rewrites by managing technical debt early, recognizing that the last 10% of a project often takes as much effort as the first 90%, and automating good practices to enforce consistency. Devs also need to account for edge cases, simplify code when possible, and write testable, obviously correct code rather than relying on implicit correctness.
Goose is an open-source, local AI agent that automates engineering tasks, allowing devs to focus on higher-level work. It's effective for tasks like debugging, data generation, code migration, and custom CLI command creation.
Httptap is a Linux tool that allows users to view the HTTP and HTTPS requests made by any program by running httptap -- `command`. It works by running the given command in an isolated network namespace and transparently proxying the traffic.
Most AI companies are stuck in the experimental phase and lack proper eval tools to measure and improve model performance. The “AI MVP trap” misleads teams into thinking an impressive prototype is nearly complete, when in reality, building a good AI product requires extensive eval suites and automated testing.
Flag emojis don't render properly in Chrome on Windows because Microsoft's system font doesn't support them, likely due to geopolitical concerns. As a result, Chrome users see country code letters (e.g., "GB" instead of 🇬🇧), while Firefox avoids the issue by using its own emoji font.
A developer reverse-engineered Apple's undocumented typedstream binary serialization format used in iMessage's attributedBody BLOB, which stores rich text and formatting data. In this post, they explain how they deciphered the format's structure, including type tags, indicators, and object caching, to create imessage-exporter, a tool that can extract and represent this data in a platform-agnostic way.
A 1979 IBM internal training document stated that "a computer can never be held accountable, therefore a computer must never make a management decision,” which is very relevant in the age of AI.
A developer describes a pattern of losing interest in projects after launch due to an addiction to the dopamine rush of information and feedback during the building process.
A security researcher discovered a dangerous Remote Code Execution exploit in the game Marvel Rivals that could allow attackers on the same network to take over other players' PCs.
Sponsored
If QA is a bottleneck on your software engineering team and you're releasing slowly because of it, you need to check out QA Wolf.
Null pointer behavior is usually more complex than expected. Optimizations, platform-specific quirks, and the evolution of standards have created numerous edge cases and unexpected behaviors, particularly in C and C++. These misconceptions range from simple assumptions about program crashes to the intricacies of null pointer addresses and pointer provenance. Developers should avoid relying on intuition when it comes to null pointers and check docs diligently instead.
This article explains how images are stored, starting with the fundamental concept that pixels are the smallest units of color. Grayscale images store one byte per pixel, while color images use RGB (or RGBA) triplets, which require three or four bytes per pixel. Image formats like GIF use palettes to reduce storage by indexing colors, while PNG employs Deflate compression after applying filters to minimize pixel differences before compression. JPEG achieves high compression ratios through chroma subsampling (reducing color information) and the Discrete Cosine Transform (DCT), which exploit the human eye's lower sensitivity to color detail.
This article advocates for a modern JavaScript server API based on the Request/Response model, contrasting it with Node.js's traditional approach. The new API avoids socket binding, which simplifies testing by allowing server functions to be tested directly with simple object inputs and outputs. Benchmark results show the Request/Response API is substantially faster.
Building your own custom tools has its benefits. For example, this developer created a simple exploit editor for his game which drastically sped up his workflow and enabled higher-quality content creation through increased iteration. A utility he created for managing embedded devices at his day job eliminated tedious tasks for him.
When devs write their own encryption code, it often leads to security issues. A recent example of a startup's flawed encryption implementation shows this, despite its claim of not "rolling its own crypto." People should use better, readily available cryptographic tools to prevent these recurring mistakes.
Including expletives in Google search queries prevents Google's AI-generated summaries from appearing. This method is simpler than previously discovered techniques for disabling AI summaries.
Lume is a CLI and local API server for creating, managing, and running macOS and Linux virtual machines (VMs) on Apple Silicon using Apple's Virtualization.Framework. It offers a range of commands for VM creation, management (including starting, stopping, and deleting), image pulling, and configuration modification.
Earthstar is a database for private, distributed, offline-first applications. It offers a new specification for building user-owned, connected applications. Earthstar uses a JavaScript library and prioritizes offline functionality, data deletion, and self-hosting.
Page Assist is an open-source browser extension that enables interaction with local AI models from any webpage. With a sidebar and a ChatGPT-like web UI, it supports various Chromium-based and Firefox browsers and allows users to chat with webpages, ask questions about content, and use features such as default keyboard shortcuts.
This author investigated the geolocation data leak from Gravy Analytics and found several apps on his phone secretly transmitting his location data without consent. He then attempted to purchase his own location data from data brokers but found the cost too high. The author discovered that even with location services disabled, his location and IP address were still being shared with numerous ad platforms and companies. His investigation revealed that this data is collected and resold through a complex system that involves supply-side platforms like Unity Ads and demand-side platforms like Moloco Ads.
LLMs are showing fundamental limitations in solving complex, multi-step reasoning problems, particularly those requiring compositional tasks. Research shows that LLMs struggle with these tasks because their underlying transformer architecture has inherent mathematical limits on their ability to handle increasingly complex computations. While techniques like chain-of-thought prompting and embedding tricks can improve performance on some tasks, these are essentially workarounds, not solutions to the core limitations.
Science fiction author Ted Chiang explores his work's influence on scientists and engineers, especially in the context of AI. Chiang's focus stems from philosophical questions, often using speculative scenarios to dramatize them, and he views science fiction as the ideal medium for this exploration. He's skeptical about current AI implementations, arguing that while impressive, they lack genuine understanding and could be misused.
This book provides a gentle introduction to reinforcement learning from human feedback (RLHF), covering its origins, core methods, popular algorithms, and future directions for language model applications.
Sniffnet is a free, open-source, cross-platform app for monitoring internet traffic.
Apple is open-sourcing Swift Build, an extensible build engine used by Xcode, to create a unified, cross-platform build experience for Swift projects.
Despite React's dominance in UI development, its declarative nature creates challenges for unit testing.
Sponsored
There's a lot of BS about AI coding agents...
Let's Encrypt, a free certificate authority, faced challenges scaling its rate-limiting system to handle over 550 million websites and 340,000 certificate requests per hour. Its initial MariaDB-based system wasn't enough, as it caused slowdowns and frustrated users with long wait times. To address this, the company migrated to a Redis-based system that used the Generic Cell Rate Algorithm (GCRA), allowing it to handle a billion active certificates and even addressing the issue of "zombie clients" making repeated failed requests.
In React, the Open-Closed Principle (OCP) means that components should be designed in a way that allows them to be extended with new functionality without modifying their existing code. As an example, the article shows the contrast between a closed, modification-heavy button component with an open, composition-based approach that uses base components and extending variants. There's an alignment between OCP and React's "composition over inheritance" philosophy, where OCP leads to more flexibility.