Reading diary

Reading · 2026

Notes from 2026. 101 entries.

Jump toNovember 2026

November 2026

2 notes

October 2026

5 notes

Monday

October 26

Revised rules of engineering leadership.

  • The good news is that this means the things that were most valuable to speed up engineering two years ago are still the things that are most valuable to speed them up today.
  • Of course, the harness will miss things, but so will human reviewers, and most areas are relatively safe to make changes. Of course, there are some higher risk areas, where this doesn’t hold true. By effectively capturing these distinctions properly, we can go much faster without introducing risk.
  • High judgment individuals can wander across a company doing remarkable things, but at some point they do get hemmed in by lack of domain context, which is why durable teams are the fundamental building block, even in this era.
  • Your team and company can only benefit from this increased pace of execution if you can make durable decisions quickly, and those decisions are good. This is the primary reason, in my opinion, why the average CTO role has necessarily become substantially more technical and less bureaucratic than a year ago
  • Pretty much every PR is written by harnesses now, at least in the first pass

Quantos impostos cabem num país? França é recordista, Portugal está acima da média europeia by The DuckDB team

September 2026

1 note

August 2026

5 notes

July 2026

14 notes

Friday

July 17

A Complete Guide To AGENTS.md by Matt Pocock

  • Notice the light touch, no “always,” no all-caps forcing. Just a conversational reference.

Announcing Bonsai 27B: The First 27B-Class Model to Run on a Phone by PrismML

DuckDB Extensions: The Past, the Present, and the Future by DuckDB

Can We Agree on a Storage/Workload Architecture Taxonomy? — Jack Vanlightly

  • OLTP such as the RDBMS like Postgres and MySQL use row-based storage engines. OLAP, such as Clickhouse, cloud data warehouse and the lakehouse use column-based storage.
  • HTAP is a hybrid workload system: one system -> both transactional and analytical workloads. The HTAP system therefore has specialized storage and specialized query engine to stitch together the row-based and columnar data.

DuckCon #7 – ggsql: A grammar of graphics for SQL (Teun van den Brand)

A return to two-pizza culture by

  • Within a week, Swami Sivasubramanian, our VP of Agentic AI, saw the prototype and gave the team his full support. Three engineers joined. By the second week, they had a software development manager and a few more engineers, reaching a roughly even split between science and engineering. They were deliberate about not scaling too fast. Each person who was brought on was selected because they had a specific skill, and they had to adapt to a culture that was a complete departure from how the broader organization operated. They were expected to own a problem and deliver with autonomy, and ownership meant the same thing it has always meant at Amazon: you build it, you own it.
  • Writing is still as important as ever, and it should be you doing the writing, not your AI. Writing forces you to think clearly and confront gaps in your logic.

The Coming Loop by Armin Ronacher

  • Obviously that is powerful and I cannot deny that it sounds appealing. But giving in to that idea, particularly with less and less human oversight means accepting that we may no longer understand the whole system in the same way. We treat it, we monitor it, we stabilize it, but we do not necessarily comprehend it.

New DuckDB-Iceberg Features in v1.5.3 by Tom Ebergen, Thijs Bruineman

Test-Driving the Lance Lakehouse Format in DuckDB by LanceDB team and Guillermo Sanchez

PostgreSQL 19 New Features by Neon

Tuesday

July 14

Introducing Durable Functions in PostgreSQL by abeomor-msft

Loop Engineering by Addy Osmani

  • Your understanding still rots if you allow it. The faster the loop ships code you did not write, the bigger the gap between what exists and what you actually get. That’s comprehension debt and a smooth loop just makes it grow faster unless you read what the loop made.
  • And the comfortable posture is the dangerous one. When the loop runs itself its very tempting to stop having an opinion and just take whatever it gives back. I called that cognitive surrender.

June 2026

8 notes

Thursday

June 11

Coding Is No Longer the Constraint: Scaling Developer Experience to Teams and Agents at Spotify by Spotify Engineering

  • The flip side: we now have 76% more PRs to review. We’re learning where to apply human judgment — auto-merging what’s safe, focusing review where it matters most — and rethinking how we plan and prioritize as the bottleneck moves from coding to decision-making.

The Interface Is No Longer the Product by Alejandro Gonzalez

  • The first wave of AI products is about access: can the agent use the tools we already use? The next wave is about representation: is the tool itself built around a source of truth an agent can safely inspect, modify, and reason about?

Wednesday

June 10

Python 3.15: features that didn’t make the headlines

Owning Code in the Age of AI by Alejandro Gonzalez

  • When an engineer prompts a model, reviews the result for a few minutes, and merges it, they are no longer acting as the author of the code. They are acting as something closer to a reviewer, architect, and integrator.
  • And one natural reaction is to say: fine, we will rely more on tests. But AI writes tests too. If the same system generates both the implementation and the tests, those tests may only validate the model’s own assumptions. They become another generated artifact, not necessarily an independent safety net
  • Reliability is not achieved through perfect code. It is achieved through systems that tolerate imperfect code.
  • The best engineers probably won’t be the fastest coders. They’ll be the people who design systems that remain safe even when the code inside them is imperfect. That future looks a lot like SRE. Not because engineers stopped caring about quality, but because the only way to manage infinite code is to build systems that can survive it.

Tuesday

June 9

bliki: Agentic Programming

  • I like to distinguish agentic programming from Vibe Coding. With vibe coding humans don’t look at the code, indeed they forget that it even exists, while with agentic programming they are concerned with the code, often giving it detailed review. Agentic programming is also distinct from using LLMs as a sophisticated code completion mechanism, where LLMs participate in writing code inside an IDE environment.
  • This shift in the nature of programming raises extensive questions about what kinds of activities programmers need in the future and what skills we require. At this point harness engineering, focusing on working on the guides and sensors around the LLM seem central. Additionally this raises the importance of programmers understanding the domain they are working with, collaborating with users and customers to iteratively define and build their product.

Quack: The DuckDB Client-Server Protocol by The DuckDB team

May 2026

9 notes

Saturday

May 30

Multi-agentic Software Development is a Distributed Systems Problem (AGI can’t save you) by Kiran Gopinathan

  • Smarter agents may shrink the constants in our algorithms, but they will not, and can not, remove bounds. If we want multi-agentic software development to truly scale, then sooner or later someone has to actually do the work of designing protocols, languages, and tooling that solves the underlying coordination problems as a first-class concern rather than hoping it will go away.

Raw+DC: The ORM pattern of 2026? by Michael Kennedy

Wednesday

May 27

Amazon Bedrock expands support for request-level usage attribution by Amazon Web Services

How fast is 10 tokens per second really? by Simon Willison

A.I. Should Elevate Your Thinking, Not Replace It - Blog - Koshy John

Agentic coding at Clickhouse by Alexey Milovidov

  • Every day, ClickHouse CI runs about 20 to 80 million tests in 600 commits and 300 pull requests on average. It contains various test suite runs across many build configurations, as well as randomized testing with fuzzers and stress tests. ClickHouse CI is my source of pride, and in my opinion, it is the most important thing for ClickHouse development.
  • How do we deal with flaky tests? First of all, we never mute them, and we never repeat tests automatically (it’s not allowed), so every failure must be investigated

Google Open Sources Experimental Multi-Agent Orchestration Testbed Scion by Sergio De Simone

Monday

May 25

If you thought the speed of writing code was your problem - you have bigger problems by Michiel Scholten

AI CoE Tech Stack Squad - Agile Board

  • S3 Files works best when you need interactive, shared access to data that lives in Amazon S3 through a high performance file system interface. It’s ideal for workloads where multiple compute resources—whether production applications, agentic AI agents using Python libraries and CLI tools, or machine learning (ML) training pipelines—need to read, write, and mutate data collaboratively. You get shared access across compute clusters without data duplication, sub-millisecond latency, and automatic synchronization with your S3 bucket.

The Markdown File That Beat a $50M Vector Database by Micheal Lanham

  • Derived retrieval layers. When scale demands semantic search, you build an index over the files. OpenClaw does this with SQLite and sqlite-vec. The files remain the source of truth. The index is a search optimization.
  • Start with a Markdown file. You can always add a database later.

How we build evals for Deep Agents by LangChain Accounts

  • More evals ≠ better agents. Instead, build targeted evals that reflect desired behaviors in production.

Beyond the dashboard: how BlaBlaCar PMs use AI to self-serve data by Dorothée Clerc

  • The Barrier: It lacked our internal map. Users were forced to replace generic table placeholders with real column names manually; a tedious process that was highly prone to human error. To be able to scale this, the AI needed to know our specific architecture, not just general SQL syntax.

April 2026

9 notes

March 2026

16 notes

Monday

March 30

Context Anchoring

Breaking the Microbatch Barrier: The Architecture of Apache Spark Real-Time Mode

  • Microbatch mode processes batches of data called epochs. Epoch boundaries are decided upfront using start and end offsets. Real-time mode instead processes longer duration epochs but modifies how data flows within each epoch.
  • We essentially evolved the micro-batch in Structured Streaming into a checkpoint interval.

Still Missing Critical Pieces by Julien Simon

Building an MCP Ecosystem at Pinterest by Pinterest Engineering

  • Contrast with the MCP OAuth StandardThe MCP specification defines an OAuth 2.0 authorization flow where users explicitly authenticate with each MCP server, typically involving consent screens and per-server token management. Our approach is different: users already authenticate against our internal auth stack when they open a surface like the AI chat interface, so we piggyback on that existing session. There is no additional login prompt or consent dialog when a user invokes an MCP tool

Cognitive Helmets for the AI Bicycle Part 2: The Sometimes-Wrong Bot by Cat Hicks

  • developers in my interviews have pointed out that in their first months using Claude Code in a more “raw” way, counting on themselves to manage and monitor every output for sustained hours, they have felt a creeping sense of fatigue. One person called this “over-monitoring,” and multiple people have used the metaphor of “becoming a manager
  • If our goal is to help our junior colleagues integrate into organizational goals to use this tooling, we also need to listen to them about their challenges and friction points, and believe in their potential for learning.

Cognitive Helmets for the AI Bicycle: Part 1 by Cat Hicks

  • Avoid the temptation to spin up so many parallel tasks that you are in constant “cram.”
  • Another metacognitive strategy is something with the unglamorous name of pretesting. But it’s actually a fascinating window of insight into that “functional architecture” of our problem-solving minds. Simply put, if we prompt ourselves to try to generate an answer for something we don’t know before we go try to learn it, we learn better.

Your Data Agents Need Context

  • What agentic coding tools such as Claude Code are doing is making data engineers vastly more productive

Beyond Hypermodern: Python is easy now

  • Or do it dynamically: [project] name = “postmodern” dynamic = [“version”] …

[tool.hatch.version] source = “vcs”

Rethinking open source mentorship in the AI era by Abigail Cabunoc Mayes

  • CImplementationComprehensionRequire issue before pull requestHost an in-person code sprint for live discussionsContextAdd AI disclosure or AGENTS.mdContinuityWatch who comes back
  • AI tools are here to stay. The question is whether we adapt our practices to maintain what makes open source work: human relationships, knowledge transfer, and the multiplier effect.

OpenClaw and the Dream of Free Labour by The Daemon

Variant Type in Apache Parquet for Semi-Structured Data

  • Variant type—a feature that brings native support for semi-structured data to Parquet, significantly improving efficiency compared to less efficient formats such as JSON
  • Traditional approaches that store JSON as text strings require full parsing to access any field, making queries slow and resource-intensive. Variant solves this by storing data in a structured binary format that enables direct field access through offset-based navigation. Query engines can jump directly to nested fields without deserializing the entire document, dramatically improving performance.
  • Binary encodings like BSON improve upon plain JSON by storing data in binary format, but they still redundantly store field names like “timestamp”, “user”, and “event” in every row, wasting storage space
  • Variant data can be shredded by extracting frequently accessed fields into separate, strongly-typed columns
  • If the field matches the expected schema, its value is written to the strongly typed field.If the field does not match, the original representation is written as a Variant-encoded binary field and the corresponding strongly typed field is left NULL.

The Art of Learning in the AI Age by Jose Blanca

  • Exercises are opportunities to practice. It is through this practice that you develop your problem-solving skills. You will be tempted to let the AI write the code for you, but if you want to grow, you must resist that urge. If your objective is learning, do not use AI to write code you don’t understand—unless you intend to study that code until you do.
  • You won’t learn German or Chinese just by reading a grammar book or a dictionary. Similarly, you won’t become a good programmer just by reading about syntax. At the start of your journey prog

The Reviewer Isn’t the Bottleneck by Rishi Baldawa

  • Whether you can systematically extract what a good reviewer knows and run it at CI speed, I genuinely don’t know. Every check you write is one less thing a human has to catch. But reviewers don’t just catch bugs
  • They catch drift, intent mismatches, architectural decisions that look fine locally and cause problems three services away

ETL is Dead by Ananth Packkildurai

Friday

March 27

The Ivy Lee Method: Focus Better with This 100-Year-Old Strategy

Porto (OPO) Airport Delays

Making Retrospectives Effective with Small Concrete Actions and Rotating Facilitators by Ben Linders

  • He also encouraged rotating retrospective facilitators. It is challenging to fairly represent one’s own ideas and opinions while facilitating the retrospective, as every person brings their own unique perspective, Žabkar Nordberg said. Having different people who facilitate retrospectives helps build ownership and engagement

Tuesday

March 24

Using Git with coding agents by Simon Willison

  • Git has a mechanism called the reflog which can often capture details of code that hasn’t been committed to a permanent branch. Agents can search that, and search other branches too.
  • When you run a bisect operation you provide Git with some kind of test condition and a start and ending commit range. Git then runs a binary search to identify the earliest commit for which your test condition fails.

Sunday

March 15

Announcing DuckDB 1.5.0 by The DuckDB team

  • DuckDB now natively supports the VARIANT type, inspired by Snowflake’s semi-structured VARIANT data type and available in Parquet since 2025. Unlike the JSON type, which is physically stored as text, VARIANT stores typed, binary data. Each row in a VARIANT column is self-contained with its own type information. This leads to better compression and query performance.
  • DuckDB also supports reading VARIANT types from Parquet files, including shredding (storing nested data as flat values).

I don’t know if my job will still exist in ten years

Tuesday

March 10

Balancing cost and reliability for Spark on Kubernetes by Justin Lee

  • On Kubernetes, we use Karpenter with EKS Auto Mode for node management.Using this setup, Spark jobs do not need to set instance types or cluster sizes. They state their CPU and memory requirements, and Karpenter picks the optimal capacity, starts nodes as needed, and removes them when they are no longer needed. This dynamic provisioning both simplified and optimized our node management.
  • In practice, our jobs using Spot Instances often failed.
  • Spot Balancer is a Kubernetes tool that manages how a Spark job’s executors are split between spot and on-demand capacity. This gives us more control over spot usage per job, not just across the whole cluster.

Monday

March 9

Introducing the Apache Iceberg File Format API - Apache Iceberg™

  • The File Format API introduces a unified, extensible layer that engines can rely on when reading and writing Iceberg data files in any supported format. It will ship in the upcoming Apache Iceberg 1.11.0 release, making it available to all engines that use the Iceberg Java readers and writers.

Specs Should Be Equations, Not Essays by Benoit Pimpaud

Anti-patterns: things to avoid by Simon Willison

  • Don’t file pull requests with code you haven’t reviewed yourself.

Tuesday

March 3

Agentic Search over Graphs of Long Documents (or LAD-RAG++) by Pierce Lamb

  • had recently read this blog: The RAG Obituary where the author argued that retrieving (or investigating) over long documents was better suited to a Claude Code approach: provide the raw document data in a file system and just give an agent some foundational tools to interact with that raw document data.
  • Luckily, LAD-RAG’s approach to inference was exactly this: process the document into this graph structure, then provide an “agent” a set of tools to retrieve/explore that graph system and let it decide how it wants to proceed. So LAD-RAG was ticking a lot of boxes:Use the chunking mechanism the author intended via layoutMaintain semantic connections across pagesProvide this data via a set of tools to an agent to answer questions

Monday

March 2

Data Engineering After AI by Ananth Packkildurai

How I got Claude to teach me dbt

  • LLMs are rightly infamous for confidently asserting complete nonsense, and whilst it’s got a lot better in recent months, Claude is still not perfect, as I found when I challenged another aspect of its implementation ideas:

But then…Claude saves itself by owning its error, and then going to check what the actual values of the field are for itself…nice!

  • Could I edit a file by hand by figuring out the ASCII byte values to write to disk with dd? Umm, I guess? Does that mean I don’t use a text editor? Of course not. It’s about understanding the abstraction, the capability of the tools, and making an active, conscious, and educated decision about how to use them.
  • The risks? Plenty. Getting distracted and taking Claude on a flight of fantasy that may be fun but ultimately a waste of time. Working with technology which is at the edges (or beyond) Claude’s training dataset. Not having enough context for the area and trusting blindly what Claude tells you.

Sunday

March 1

Drastically Reducing Out-of-Memory Errors in Apache Spark at Pinterest by Pinterest Engineering

Anthropic Study: AI Coding Assistance Reduces Developer Skill Mastery by 17% by Steef-Jan Wiggers

  • Anthropic recently published a randomized controlled trial showing developers using AI coding assistance scored 17% lower on comprehension tests than those coding manually, with productivity gains failing to reach statistical significance
  • wonder if we’re going to have a future where the juniors never gain the skills and experience to work well by themselves, and instead become entirely reliant on AI.
  • AI is incredibly useful as a personal tutor.
  • AI can reduce task completion time by 80% for tasks where developers already have relevant skills.

AI “Vibe Coding” Threatens Open Source as Maintainers Face Crisis by Steef-Jan Wiggers

Linear walkthroughs by Simon Willison

February 2026

15 notes

Sunday

February 22

Bruteforcing the Bitwarden master password I forgor

The AI Vampire by Steve Yegge

Introduction to PostgreSQL Indexes

  • Although it gracefully handles hash conflicts, it works better for even distribution of hash values and is most suited to unique or mostly unique data
  • Nodes in BRIN indexes store the minimum and maximum values of a range of values present in the page referred by the index. This makes the index more compact and cache friendly, but restricts the use cases for it.
  • Generalized inverted index is appropriate for when you want to search for an item in composite data, such as finding a word in a blob of text, an item in an array or an object in a JSON

Your agents need runbooks, not bigger context windows by Ben Lorica 罗瑞卡

  • Context File System (CFS). You might also hear this more broadly categorized as an Operational Skill Store. This architecture separates the expensive reasoning of a large language model from the actual storage of operational knowledge. It mirrors the way a mature engineering team works.

Lance table format explained simply

Context Management for Deep Agents by LangChain Accounts

  • Context compression refers to techniques that reduce the volume of information in an agent’s working memory while preserving the details relevant to completing the task.
  • Offloading large tool results: We offload large tool responses to the filesystem whenever they occur.
  • Offloading large tool inputs: When the context size crosses a threshold, we offload old write/edit arguments from tool calls to the filesystem.
  • Summarization: When the context size crosses the threshold, and there is no more context eligible for offloading, we perform a summarization step to compress the message history.

Inside OpenAI’s in-house data agent

Performance Tips Using Postgres and pgvector | Crunchy Data Blog

  • Have enough RAM to build new indexes. Building indexes with larger lists requires higher settings for maintenance_work_mem — if you do not have the enough memory you’ll get an error. When building the lists = 2000 index above, the the maintenance_work_mem required 1.3GB of RAM.

Demystifying evals for AI agents

  • The agent shouldn’t be able to easily “cheat” the eval. Tasks and graders should be designed so that passing genuinely requires solving the problem rather than exploiting unintended loopholes.
  • Like the Swiss Cheese Model from safety engineering, no single evaluation layer catches every issue. With multiple methods combined, failures that slip through one layer are caught by another.
  • The patterns vary by agent type, but the fundamentals described here are constant. Start early and don’t wait for the perfect suite. Source realistic tasks from the failures you see. Define unambiguous, robust success criteria. Design graders thoughtfully and combine multiple types. Make sure the problems are hard enough for the model. Iterate on the evaluations to improve their signal-to-noise ratio. Read the transcripts!

Tuesday

February 17

Deep Blue by Simon Willison

  • ve even faced accusations from my peers that I am actively harming their future careers through my work helping people understand how well AI-assisted programming can work.

A Single Reason To Not Vibe Code

  • Atrophy risk  of cognitive skills amongst vibe coders is something IMHO that should be looked at more closely.

Wednesday

February 11

AI Doesn’t Reduce Work—It Intensifies It by Simon Willison

AI fatigue is real and nobody talks about it by Siddhant Khare

  • Before AI, I might spend a full day on one design problem. I’d sketch on paper, think in the shower, go for a walk, come back with clarity. The pace was slow but the cognitive load was manageable. One problem. One day. Deep focus. Now? I might touch six different problems in a day. Each one “only takes an hour with AI.” But context-switching between six problems is brutally expensive for the human brain. The AI doesn’t get tired between problems. I do.
  • The cruel irony is that AI-generated code requires more careful review than human-written code.
  • If we can’t review everything AI produces - and we can’t, not at scale - then we need systems that constrain what agents can do in the first place.
  • The engineers I’ve talked to who handle this best are the ones who’ve made peace with it. They treat AI output like a first draft from a smart but unreliable intern. They expect to rewrite 30% of it. They budget time for that rewriting. They don’t get frustrated when the output is wrong because they never expected it to be right. They expected it to be useful. There’s a difference
  • . I now treat every AI output as a rough draft. A starting point. Raw material. I mentally label it “draft” the moment it appears, and that framing change alone reduced my frustration by half.
  • ’d been outsourcing my first-draft thinking to AI for so long that my ability to think from scratch had degraded.

Monday

February 9

Eight more months of agents

  • Pay through the nose for Opus or GPT-7.9-xhigh-with-cheese. Don’t worry, it’s only for a few years.

Beyond agentic coding

  • One of those design principles is my personal “master cue”, which is:

A good tool or interface should keep the user in a flow state as long as possible

Continuous AI in practice: What developers can automate today with agentic CI by GitHub Staff

  • Pattern 4: Debuggability will win over complexity

Developers will adopt agentic patterns that are transparent, auditable, and diff-based—not opaque systems that act without visibility.

Mitchell Hashimoto: My AI Adoption Journey by Simon Willison

A sane but extremely bull case on Clawdbot / OpenClaw | Brandon Wang

How AI assistance impacts the formation of coding skills

  • The participants who showed stronger mastery used AI assistance not just to produce code but to build comprehension while doing so—whether by asking follow-up questions, requesting explanations, or posing conceptual questions while coding independently.
  • w. It is possible that AI both accelerates productivity on well-developed skills and hinders the acquisition of new ones, though more research is needed to understand this relationship.

Reducing the cost of SSE-KMS with Amazon S3 Bucket Keys

January 2026

17 notes

Friday

January 30

Google DeepMind Introduces ATLAS Scaling Laws for Multilingual Language Models by Robert Krzaczyński

  • Google DeepMind researchers have introduced ATLAS, a set of scaling laws for multilingual language models that formalize how model size, training data volume, and language mixtures interact as the number of supported languages increases.
  • Results show that fine-tuning is more compute-efficient at lower token budgets, while pre-training becomes advantageous once training data and compute exceed a language-dependent threshold. For 2B-parameter models, this crossover typically occurs between about 144B and 283B tokens, providing a practical guideline for selecting an approach based on available resources
  • Rather than an enormous model that is trained on redundant data from every language, how large would a purely translation model need to be, and how much smaller would it make the base model?

Google Introduces TranslateGemma Open Models for Multilingual Translation by Daniel Dominguez

Why DuckDB is my first choice for data processing

How to parametrize exception testing in PyTest? by Kacper Borucki

Wednesday

January 28

Tips for getting coding agents to write good Python tests by Simon Willison

Why Stoicism is one of the best mind-hacks ever devised by Lary Wallace

  • Only by envisioning the bad can we truly appreciate the good; gratitude does not arrive when we take things for granted. It’s precisely this gratitude that leaves us content to cede control of what the world has already removed from our control anyway.

AI’s trillion-dollar opportunity: Context graphs by Ashu Garg, Jaya Gupta

  • We call the accumulated structure formed by those traces a context graph: not “the model’s chain-of-thought,” but a living record of decision traces stitched across entities and time so precedent becomes searchable. Over time, that context graph becomes the real source of truth for autonomy – because it explains not just what happened, but why it was allowed to happen.
  • Once you have decision records, the “why” becomes first-class data. Over time, these records naturally form a context graph: the entities the business already cares about (accounts, renewals, tickets, incidents, policies, approvers, agent runs) connected by decision events (the moments that matter) and “why” links. Companies can now audit and debug autonomy and turn exceptions into precedent instead of re-learning the same edge case in Slack every quarter.
  • The orchestration layer sees the full picture: what inputs were gathered, what policies applied, what exceptions were granted, and why. Because it’s executing the workflow, it can capture that context at decision time – not after the fact via ETL, but in the moment, as a first-class record.

That’s the context graph, and that will be the single most valuable asset for companies in the era of AI.

  • High headcount. If a company has 50 people doing a workflow manually (routing tickets, triaging requests, or reconciling data between systems), that’s a signal. The labor exists because the decision logic is too complex to automate with traditional tooling.

Memory: How Agents Learn

  • Here’s the dirty secret: when building agents with the API, we’ve made them capable, but we haven’t yet figured out how to make them learn.
  • Pattern 1: Session Memory Store messages in a database, retrieve them before every response, add them to the context. Agno gives you this out of the box — just give your agent a database.
  • Pattern 2: User Memory Remember facts about the user across sessions. The MemoryManager extracts preferences automatically and stores them in the database.
  • Pattern 3: Learned Memory Now let’s add learned memory: insights that apply beyond just one user. The key is a custom tool that saves learnings to a knowledge base
  • The quality of your knowledge base determines the quality of learning. Garbage in, garbage out. The solution: the agent proposes learnings, but only saves with explicit user approval.
  • A learning is worth saving if it’s:

Specific: “Tech P/E ratios typically range 20-35x” not “P/E varies” Actionable: Can be applied to future queries Generalizable: Useful beyond this one conversation

Tuesday

January 6

10 Predictions for Data Infrastructure in 2026

My LLM coding workflow going into 2026 by Addy Osmani

  • the first step is brainstorming a detailed specification with the AI
  • The key point is to avoid huge leaps. By iterating in small loops, we greatly reduce the chance of catastrophic errors and we can course-correct quickly. LLMs excel at quick, contained tasks - use that to your advantage.
  • think Claude Skills have potential because they turn what used to be fragile repeated prompting into something durable and reusable by packaging instructions, scripts, and domain specific expertise into modular capabilities that tools can automatically apply when a request matches the Skill
  • automated tests, do code reviews - both manual and AI-assiste
  • No matter how much AI I use, I remain the accountable engineer.
  • Frequent commits are your save points - they let you undo AI missteps and understand changes.
  • spin up a fresh git worktree for a new feature or sub-project. This lets me run multiple AI coding sessions in parallel on the same repo without them interfering, and I can later merge the changes
  • Use your CI/CD, linters, and code review bots - AI will work best in an environment that catches mistakes automatically.
  • one of my goals is to bolster the quality gates around AI code contribution: more tests, more monitoring, perhaps even AI-on-AI code reviews. It might sound paradoxical (AIs reviewing AIs), but I’ve seen it catch things one model missed.
  • Treat every AI coding session as a learning opportunity - the more you know, the more the AI can help you, creating a virtuous cycle.
  • Dunning-Kruger on steroids (it may seem like you built something great, until it falls apart

Claude Code On-The-Go