Weekly notes
- Subagents: Simon Willison on using the subagent pattern
- How coding agents work: Nice high level overview of how agents work
- What is agentic engineering?:
Where the value has shifted in a post-agent era:
- What code should we write
- What is the most maintainable alternative given various approaches
- How do we verify our code works
- Giving agents a harness with tools they need to carry out our tasks
- The evolution of Mark Carney: Shannon Proudfoot @ the globe and mail about Mark Carney. Love her writing and thoughts on politics in Canada.
- Plan for performance benchmarking liquid template engine used @ shopify: Amazing stuff. Give an agent a test suit and a bunch of experiments and a concrete goal. Tell it to run the functional test suite after every change and then benchmark. The result that came back is incredible.
Rob Pike’s 5 rules of programming
- You can’t tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don’t try to second guess and put in a speed hack until you’ve proven that’s where the bottleneck is.
- Measure. Don’t tune for speed until you’ve measured, and even then don’t unless one part of the code overwhelms the rest.
- Fancy algorithms are slow when n is small, and n is usually small. Fancy algorithms have big constants. Until you know that n is frequently going to be big, don’t get fancy. (Even if n does get big, use Rule 2 first.)
- Fancy algorithms are buggier than simple ones, and they’re much harder to implement. Use simple algorithms as well as simple data structures.
- Data dominates. If you’ve chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
Linus Torvalds about programmers, code, and data structures
I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.