#614 – February 23, 2025
Anyone could make that
A calculator app? Anyone could make that.
16 minutes by Chad Nauseam
Chad dives deep into the complex and fascinating story behind the development of the Android calculator app, particularly its ability to accurately handle floating point arithmetic—an often-overlooked aspect of calculator functionality. The challenge lies in the inherent imprecision of floating point numbers. What followed was an engineering journey that went beyond typical methods like bignums and rational arithmetic, delving into the realm of recursive real arithmetic and symbolic representations.
Want API documentation as good as Stripe's? Use Fern
sponsored by Fern
Fern allows developers to auto-generate and maintain API documentation. All you need is an OpenAPI spec to start. Join customers like ElevenLabs, Cohere, and Cartesia who use Fern as their trusted API documentation partner.
My LLM codegen workflow atm
15 minutes by Harper Reed
In this post Harper shares a practical workflow for building software projects using LLMs, breaking it down into three main steps - brainstorming specifications, planning implementation, and executing code generation. The workflow has proven effective across different programming languages and project sizes, though the author notes that the solitary nature of LLM-assisted coding could be improved with better collaboration features.
XOR
about 2 hours by Simon Tatham
Simon dives deep into exploration of the XOR (exclusive OR) operator, its properties, and applications. He explains XOR from basic boolean logic to advanced mathematical concepts, showing how it functions as a fundamental operation in computer science and mathematics. Key applications include cryptography, pixel graphics, error-correcting codes, and finite field arithmetic. He demonstrates how XOR's unique properties – being commutative, associative, and self-inverse – make it particularly useful in various algorithms and data manipulations, from simple bit swapping to complex mathematical operations in finite fields.
Hash Functions Deep Dive
13 minutes by Kirupa Chinnathambi
Learn all about what hash functions are and how they work to keep hashtables running, protect your passwords, verify downloads, and keep the digital world running smoothly. In this post Kirupa covers what makes a good hash function, demonstrates how to create a simple hash function, and emphasizes why it's better to use established implementations like MD5 or SHA rather than creating custom ones for production use. He includes practical examples in JavaScript and explains why hash functions are crucial for applications like password verification, file integrity checking, and data storage.
Death of a thousand nits
12 minutes by John Arundel
In this post John discusses how to make code reviews more effective and less confrontational. He advocates for "pair reviewing" - synchronous, face-to-face code reviews that promote better communication and understanding between team members. When asynchronous text reviews are necessary, John emphasizes the importance of constructive feedback, focusing on adding value rather than criticism, and framing comments as questions rather than demands. He also provides guidance on handling difficult feedback and avoiding unproductive style-based critiques.
And the most popular link from the last issue was: