Quoting Steve Yegge
Steve Yegge discusses evolving the Beads CLI for AI agents by implementing their 'hallucinations' to create a natural interface.
Steve Yegge discusses evolving the Beads CLI for AI agents by implementing their 'hallucinations' to create a natural interface.
Explores strategies for implementing and testing complex data filtering logic, balancing correctness and performance between in-memory and database queries.
Analysis of Apple's Creator Studio app icons and the broader software design philosophy at Apple, using icon changes as a case study.
A manifesto advocating for AI-powered software that is personalized, private, and user-centric, moving beyond one-size-fits-all design.
Explores 'context plumbing' for AI agents, the engineering needed to move relevant context from various sources to where AI systems run.
Explores software design philosophy of minimizing user effort, using Google Calendar as an example of optimizing for common cases while supporting edge cases.
A comprehensive series on Event Storming Big Picture, a collaborative workshop technique for aligning business and tech teams on complex domains.
Explores error handling and data guarantees in Fortran using a polyline type, focusing on enforcing constraints through private components and factory functions.
Explores using Fortran types and private components to prevent edge cases and ensure safe function calls, focusing on error handling for non-empty lists.
Explores common pitfalls in software abstraction like DRY misuse, lasagna code, and util files, offering advice for scalable design.
The article critiques the DRY principle, explaining how its overzealous application can lead to complex, hard-to-maintain code and bad abstractions.
Explores the concept of 'Design Pressure' in software architecture, examining invisible forces that shape code and discussing coupling, types, and ORMs.
Explores using onion architecture, separation of concerns, and cohesion to build adaptable, maintainable software under tight deadlines.
Learn how to use architecture tests and the NetArchTest library to enforce clean architecture rules and prevent technical debt in .NET applications.
A critical analysis of the Instability-Abstractness-Relationship, a software design quality metric for measuring package maintainability.
A developer's critique of inheritance misuse in OOP, comparing abstract classes vs. interfaces and advocating for better design patterns.
Explains how to use protocol-oriented programming in Swift to design flexible applications by focusing on what entities can do rather than what they are.
Explores the rationale behind updating Data-Oriented Programming principles to version 1.1 for Java, discussing improvements and shortcomings.
Explores the Data-Oriented Programming principle of separating operations from data, using Java records as an example.
Explores immutability and transparency in data modeling using Java records, part of a series on Data-Oriented Programming v1.1.