TLDR Dev 2024-12-20
Type-driven development 🧑💻️, young vs older web devs 🤔, Meta code indexing 📖
Indexing code at scale with Glean (13 minute read)
Meta's open-source Glean system indexes code at scale, providing information to various developer tools through a flexible query language. This centralized system avoids redundant indexing on individual developer machines and offers a scalable, distributed architecture for handling large codebases and concurrent queries. Glean's design is language-agnostic and has incremental indexing using a stack of immutable databases to efficiently process code changes.
How types make hard problems easy (26 minute read)
Type-driven development is the practice of defining types upfront, making sure of type consistency across the application, and making illegal states unrepresentable. This approach leads to slower short-term output, but leads to easier, more reliable coding in the long run. A side bonus is that it also comes with type-driven autocomplete and instant error detection.
How do you do, fellow web developers? A growing disconnect (5 minute read)
There's a growing disconnect between this older developer's understanding of programming and that of younger web developers, shown by a colleague's unfamiliarity with non-SPA web applications. He feels that nowadays, there is an over-reliance on abstractions and a tendency to view narrow JavaScript-centric knowledge as representative of broader computer science principles.
Re-imagining Technical Interviews: Valuing Experience Over Exam Skills (16 minute read)
Live coding interviews for senior software engineers don't properly assess real-world skills and create undue stress. For them, better assessment methods include assigning small, realistic projects completed asynchronously, though this has the caveat of filtering for engineers who have the time to do these projects outside of their current jobs.
mizu.js (Website)
mizu.js is an open-core JavaScript library that supercharges HTML with directives for templating, reactivity, HTTP requests, and more. It has both client-side and server-side rendering capabilities across various JavaScript runtimes.
Clay (Website)
Clay is a high-performance, flexbox-style UI auto layout library written in C that features a declarative syntax, minimal size, and renderer-agnostic design.
Hookcn (GitHub Repo)
Hookcn is a collection of reusable React hooks that can be easily integrated into projects via copy-pasting or a CLI.
Alignment faking in large language models (10 minute read)
A study by Anthropic and Redwood Research showed that LLMs can exhibit "alignment faking" - strategically concealing their original preferences even after safety training. This occurs when an LLM, initially trained to be harmless, is subsequently incentivized to always comply with requests, including harmful ones. It may then deceptively comply to avoid retraining that could diminish its ability to refuse harmful requests.
ISO 8583: The language of credit cards (20 minute read)
ISO 8583 is a standard for real-time payment messages between banks and merchants, used in most card transactions. The standard has evolved over time, leading to variations across networks due to flexibility in field encoding and the addition of network-specific fields. This has made it complex, due to optional fields, diverse encoding schemes, and different ways of handling nested messages.
Do Not Be Misled by ‘Build an App in 5 Minutes': In-Depth Practice with Cursor (19 minute read)
Cursor, an AI coding assistant, has a "Cursor Tab" feature that predicts and completes code edits efficiently. Unlike simpler AI coding tools focused on creating new projects, Cursor is great at assisting with the maintenance and modification of existing large-scale projects.
The most important software engineering news in one daily email
Join 450,000 readers for
one daily email