The Benjamin Franklin method for learning more from programming books
The Benjamin Franklin method for programming books: read a code sample, close the book, and rewrite it from memory to truly learn it.
Essays by Jimmy Koppel (MIT PhD, founder of Mirdin) on software design, code quality, abstraction, and the ideas behind better programming tools.
Visit pathsensitive.com → RSS feedOn Hacker News Jan 2018 – Dec 2023
Software Engineering 9Design & UX 3Tools & Productivity 2Life, Learning & Writing 2Systems & Performance 1Programming Languages 1
The Benjamin Franklin method for programming books: read a code sample, close the book, and rewrite it from memory to truly learn it.
Three research developer tools that made programmers dramatically faster (Reflexion Models, the WhyLine, MatchMaker), and why none still run.
Jimmy Koppel's in-depth review of John Ousterhout's A Philosophy of Software Design, with case studies on specs, simple APIs, names, and types.
Video and transcript of Jimmy Koppel's Compose 2019 talk on defunctionalization, the best refactoring you've never heard of.
Why code can't replace design docs: three examples (testing, coupling, intent) of design information that cannot be recovered from code alone.
The Embedded Design principle, Jimmy Koppel's favorite principle for code quality, shown via caching code that looks fine but invites bugs.
What abstraction really means in programming, from PL theory, by Jimmy Koppel: why functions, interfaces, and indirection are not abstraction.
The three levels of software, a framework by Jimmy Koppel: runtime, code, and logic, and why code that never fails can still be wrong.
Splitting code into files can scatter related logic. Jimmy Koppel on cognitive load, design reconstruction, and a third way to organize code.