Author: Richard Seroter

  • Daily Reading List – August 31, 2026 (#857)

    It’s unusually hot and humid in San Diego, but that didn’t deter us from being outside this weekend. But, during some air-conditioned indoor time, I wrote up a blog post. You can count on it being outdated in like three weeks as the next new thing comes along.

    [article] Our Favorite Management Tips on Learning from Failure. Solid tips. If you’re experiencing any failure, you might not be pushing hard enough.

    [blog] Beyond Vibe-Coding. Your prototype might actually turn into something. Here are some lessons from one such case.

    [blog] Top AI Trends Every Developer Should Know in 2026. None of these are earth-shattering (if you’ve been paying close attention to the industry), but I liked this roundup and it’s a good look at what matters right now.

    [blog] The Code-Generation Percentage Your Org Shouldn’t Be Measuring. The “percent of code that’s AI-generated” is a lousy metric. It doesn’t tell you anything particularly meaningful. Casey gives us four alternative metrics.

    [article] Enterprises bet on agents to build in-house software, boost productivity. It’s interesting that some big companies are moving faster than the small ones. It’s also not surprising that employees have the confidence to build more of the software themselves.

    [article] How To Be Strategic: 5 Secrets From History’s Greatest General. Absolutely fantastic post. Does your manager say “think more strategically” and you have no idea what that means? Read this to start training yourself.

    [blog] Understanding the Linux Kernel: Network Subsystem. I joke in customer meetings that this is exactly the sort of knowledge I’m now happy to forget. Higher abstractions have let me ignore it. But, it’s pretty cool to dip back down again and re-engage with it.

    [blog] You have to beat the models at something. Right now, you’re better at LLMs in your familiarity of the tech details in the system in which you work, and at clear communication regarding that system.

    [article] Effective Patterns for Advanced MCP Usage. This is promoting the idea of composing solutions out of multiple MCPs, using remote versus local, and more.

    [blog] Who Taught the Models to Do That? Models are designed, not born. Good reminder. Models are designed for behaviors like persistence, note taking, and coordination.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • You can just find and use agent skills mid-session

    I’m not proud of it, but I’ve been drunk on agent skills. It’s time to reset. It’s easy to fall into skills bloat as you accrue different ones for every possible scenario. Doing software engineering? Coding in Go? Performing security analysis? Add a skill! Nowadays, any of us can do basically anything. Maybe not well, but with agent skills, we get just enough confidence to try it. But we’re blowing tokens and confusing our agents with all this extra context. Plus, you only really need skills when there’s a specific (temporary?) gap in the LLM’s knowledge. Let’s be smarter. Can we do just-in-time discovery and lazy-loading of skills for our coding sessions?

    Case 1: Preload skills globally or in your project

    As a baseline, many of us default to installing skills ahead of time. It’s easy to grab skill files manually, or use something like the skills CLI to install into global or project directories.

    For instance, before starting my coding session, I could find and install a skill for working with Google Cloud Storage.

    If I choose to install into my local project directory (instead of globally), I end up with these new files on disk.

    I’m using Google Antigravity here, but you’d expect to see this skill show up in whatever agentic tool you have. Both my Antigravity desktop app and CLI show this pre-existing skill.

    To be sure, this is a perfectly valid way to work. But the front matter of EVERY skill comes into play in all your agentic coding turns. That gets hefty over time. You could choose to just pre-load or copy the “right” skills into your project before each session. But that assumes you know where you’re heading before every session. I sure don’t! Let’s look at more dynamic scenarios.

    Case 2: Find known skills during a session and use them

    Let’s consider a case where I know where the desired skills live on the internet, but I only want to grab them if I really need them.

    For example, maybe I use all sorts of clouds and pick the right one for the problem at hand. In my current coding session, I’m thinking through web app ideas, and landed on a fun concept for a fast-turnaround marketplace. Its bursty use and global footprint are great for Google Cloud. I need good guidance for picking the right architecture, so I asked Google Antigravity to find the right Google Skill to help out, and store it locally.

    When this finished a few moments later, I had another skill in my local project directory.

    Most importantly, this skill is automatically active in this coding session. I can see that in Antigravity’s list of active skills.

    My current session got better as I discovered and loaded agents on-the-fly. And these skills stay with this project and aren’t just part of the LLM (or coding session’s) temporary memory.

    Case 3: Search for skills during a session and use them

    The above case assumed that I knew the location of the skill I wanted. You need to be careful about loading random skills, but what if you wanted to search without knowing ahead of time where the most suitable skill was at?

    I continued my coding session by asking for the best skills for Go developers.

    I know Steve (the creator of the 2nd of the 3 provided options) so I told Antigravity to load Steve’s skills. Sure enough, I got a handful of terrific Go skills installed into my project.

    You don’t have to know skills or sources you want ahead of time. You can search for them during a session and keep going without ever breaking flow.

    Case 4: Use a seed skill that grabs the “right” skill for the scenario

    I’ve seen more of this pattern lately. You know you will need a set of related skills, but don’t know which ones, or when. A seed skill is your entry point that pulls the right skill at the right time. Addy’s Osmani’s agent skills do something like this. The “meta skill” routes you to the right skill for your situation. But it does require you to install all the skills (I believe).

    Could you create a seed skill that acts as a lightweight entrypoint, and then just-in-time downloads the “right” skill from a pre-defined list? Sure you can.

    Specifically, I want a skill that knows about all of the Google Cloud databases, but only retrieves the corresponding skill if our session demands it.

    I used Antigravity to build it (in a different session) and here’s the gist (minus the scripts and references it also created).

    ---
    name: gcp-database-seed-skill
    description: >-
      Dynamic seed skill for Google Cloud database solutions. Use this skill when the user is designing,
      choosing, provisioning, migrating, or optimizing databases on Google Cloud (Cloud SQL for MySQL/PostgreSQL/SQL Server,
      AlloyDB for PostgreSQL, Cloud Spanner, Firestore, or Bigtable), or when well-architected cloud database guidance is needed.
      Automatically routes, downloads, and installs specialized skills from google/skills on demand.
    ---
    
    # Google Cloud Database & Architecture Advisor (Seed Skill)
    
    This seed skill provides a lightweight, progressive entrypoint for all database workloads on Google Cloud. Instead of loading bulky documentation upfront, it assesses workload requirements, recommends the optimal database solution, and dynamically downloads and installs specialized skills from the official [google/skills](https://github.com/google/skills) repository into your local workspace.
    
    ---
    
    ## Workflow & Step-by-Step Procedure
    
    When invoked on a database-related prompt, follow this 4-step workflow:
    
    ```mermaid
    flowchart LR
        Step1[1. Assess Workload] --> Step2[2. Determine Database & WAF Needs]
        Step2 --> Step3[3. Download & Install Skill]
        Step3 --> Step4[4. Execute Guided Solution]
    ```
    
    ### Step 1: Assess Workload Requirements
    Evaluate the user's requirements against key architectural dimensions:
    1. **Engine Compatibility**: Does the workload require MySQL, PostgreSQL, SQL Server, or open-standard ANSI SQL?
    2. **Scalability & Scale**: Single-instance vertical scaling vs. distributed multi-node horizontal sharding?
    3. **Availability & DR**: Regional HA (99.95% - 99.99%) vs. Global Multi-Region zero downtime (99.999%)?
    4. **Workload Characteristics**: Standard OLTP vs. High-throughput HTAP with columnar queries vs. Vector/AI search vs. NoSQL?
    5. **Migration vs. New Build**: Existing application lift-and-shift vs. greenfield cloud-native design?
    
    > 📖 Consult the detailed [Database Decision Matrix](./references/database_decision_matrix.md) for complete comparison tables.
    
    ---
    
    ### Step 2: Select the Target Skills
    
    Map the workload to the primary database skill and check for relevant **Well-Architected Framework** pillars:
    
    #### A. Database Engine Selection
    *   **Cloud SQL (`cloud-sql-basics` / `cloud-sql-mysql` / `cloud-sql-postgresql` / `cloud-sql-sqlserver`)**:
        *   *Select when:* Straightforward relational databases (MySQL, PostgreSQL, SQL Server), standard web apps, migration-friendly lift-and-shift via Database Migration Service (DMS).
    *   **AlloyDB for PostgreSQL (`alloydb-basics` / `alloydb`)**:
        *   *Select when:* Demanding enterprise PostgreSQL workloads, up to 4x transactional performance, up to 100x faster analytical/HTAP queries with columnar engine, or in-database vector search (Vertex AI / ScaNN integration).
    *   **Cloud Spanner (`spanner`)**:
        *   *Select when:* Mission-critical global databases, massive scale exceeding single-instance limits, synchronous multi-region replication, horizontal scaling, and 99.999% availability with zero downtime.
    *   **Discovery / Undecided (`cloud-databases-onboarding`)**:
        *   *Select when:* User is unsure or needs interactive discovery across relational, NoSQL (Firestore, Bigtable), and analytical stores.
    
    #### B. Well-Architected Framework Triggers
    Check if cross-cutting architectural pillars should be retrieved:
    *   **Reliability & HA:** Mentions of 99.999% SLA, DR, RTO/RPO, regional failover → Fetch `well-architected-reliability`.
    *   **Security & IAM:** Questions about Private IP, PSA, CMEK encryption, or IAM DB auth → Fetch `google-cloud-recipe-auth`.
    *   **Performance & Tuning:** Connection pooling, read replicas, latency optimization → Fetch `google-cloud-solution-architecture`.
    *   **Cost Optimization:** Committed Use Discounts (CUDs), rightsizing, auto-pause → Fetch `google-cloud-solution-architecture`.
    
    > 📖 Consult [Well-Architected Triggers](./references/well_architected_triggers.md) for full trigger criteria.
    
    ---
    
    ### Step 3: Download and Install the Specialized Skill
    
    Execute the bundled installer helper to fetch the required skill(s) directly from `google/skills` into the workspace's `.agents/skills/` directory:
    
    ```bash
    # Example: Install Cloud SQL basics
    python3 scripts/install_gcp_skill.py --skill cloud-sql-basics
    
    # Example: Install AlloyDB basics
    python3 scripts/install_gcp_skill.py --skill alloydb-basics
    
    # Example: Install Cloud Spanner
    python3 scripts/install_gcp_skill.py --skill spanner
    
    # Example: Install Well-Architected Reliability
    python3 scripts/install_gcp_skill.py --skill well-architected-reliability
    
    # Example: Install all core database skills
    python3 scripts/install_gcp_skill.py --all-databases
    ```
    
    *Alternative using npm/npx:*
    ```bash
    npx skills add google/skills
    ```
    
    ---
    
    ### Step 4: Proceed with Implementation
    
    Once the skill is installed into `.agents/skills/`, it is immediately available for subsequent operations.
    1. Reference the newly installed `SKILL.md` in `.agents/skills/<skill-name>/`.
    2. Provide concrete `gcloud` commands, Terraform/IaC snippets, or client library examples tailored to the user's selected database.
    3. Verify connectivity (e.g. Cloud SQL Auth Proxy, IAM authentication, VPC Private Service Access).
    
    ---
    
    ## Reference Guides
    
    *   [Database Decision Matrix](./references/database_decision_matrix.md): Deep-dive comparison between Cloud SQL, AlloyDB, Spanner, Firestore, and Bigtable.
    *   [Well-Architected Framework Triggers](./references/well_architected_triggers.md): Detailed rules for triggering security, reliability, performance, cost, and operational pillars.
    *   [Known Skills Catalog](./references/known_skills_catalog.md): Complete list of remote paths and metadata in `google/skills`.
    *   [Prompt Routing Scenarios & Examples](./examples/prompt_routing_scenarios.md): Real-world examples of user requests and the exact skills retrieved.
    
    

    After adding this seed skill to my current coding session, I started up a database conversation regarding my app idea. We landed on Firestore as the best choice, so I asked the seed skill to retrieve only the Firestore skill.

    Here, I didn’t need to download or pre-load all the possible Google Cloud database skills. There’s a lot of them. I only got the one I needed for this particular coding session. Seems cleaner?

    A word about MCPs

    If your skills make use of remote or local MCP servers, circumstances are different. While MCP now supports a stateless interaction pattern, most existing MCP servers don’t. When your coding session starts, there’s a handshake that happens. This means that if you introduce a new MCP during a session (in your mcp_config.json), you likely have to fork your current session, or start a new one. My tests showed this to be the case most of the time, but your mileage may vary.

    I mention this because you could see skills that make heavy use of managed MCPs. That’s cool, but downloading those skills on the fly might mean they only partially work because your coding harness can’t “see” the referenced MCP server. Just be cautious!

    We’re seeing an emerging “open knowledge layer” consisting of MCPs, skills, and plugins. I’d imagine we will see patterns evolve for how and when to use each component. What do you think of this lazy loading pattern I demonstrated here?

  • Daily Reading List – August 28, 2026 (#856)

    Happy Friday. I’m at inbox zero, and hoping for a fun weekend with the family. And might write a blog post if the stars align.

    [blog] Teamwork: When AI Becomes a Research Partner. This is outstanding. I liked the deep dive into the patterns this tool applies to agent teams. And the results are impressive.

    [blog] Don’t Waste Your Career Getting Comfortable. Tons of good advice in here, much of which I follow diligently myself. Get comfortable being uncomfortable.

    [blog] Dynamic capacity management for AI infrastructure. Now isn’t the time to commit to a ton of fixed infrastructure. Who knows what you’ll need in six months, let alone two years. Here’s a good post on embracing a more fluid foundation.

    [article] AI Transformation Requires Redesigning Work, Not Cutting Roles. There’s good advice in here. Especially the examples of where companies go down the wrong path.

    [blog] Simplify your resilience testing strategy with Fault Injection Testing. How you feeling about your disaster recovery plans? Tested them in a while? What about when you’ve got many workloads in a public cloud? Here’s a new way to simulate meaningful failures to see how your automated resilience handles it.

    [blog] Friday Forward – Expert Silence. We’re all wrong—yes, even “experts”—all the time. It’s completely normal. But be smart enough to acknowledge new facts when more information comes in.

    [blog] Designing Websites for People and AI Agents with WebMCP. I’d encourage you to be aware of WebMCP, even if you don’t want to go deep on it.

    [blog] Unlock Antigravity 2.0: Logins, Plans, Cost, and Quota. Getting started with new tools can be intimidating, especially when you have a handful of initial choices to make. Alexis breaks this down in a very understandable way.

    [blog] Introducing Agent Native Design: An Open-Source Figma Alternative. Build interactive prototypes that you can export anywhere.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – August 27, 2026 (#855)

    One theme that emerged from today’s reading list? “Are you ready for AI.” Is your data ready? Your APIs? Your backlog? User experience? Your people? If you say “yes” to all of those, you’re a unicorn and I’m very impressed.

    [blog] Intelligent transcription with Gemini 3.5 Transcribe. We just gave a big boost to your speech-to-text ambitions. I love how it handles rambling talk, background noise, and even custom vocabularies. Related, on voice interactions.

    [article] One-third of employees overstate AI skills: report. Generational differences here, but we’re all trying to figure out what to use, and know.

    [blog] Piloting the world’s first double-blind AI evaluations. At this point, I assume that models are trained to create great “pelican on a bicycle” images given how much that little test is talked about online. You need a way to eval where models haven’t already seen the test questions. Here it is.

    [blog] 10 Tips for Preparing APIs for Agentic Access. Important topic! I like the areas called out in this post.

    [blog] The Backlog Was a Coping Mechanism. Good post. I was taught “now, next, or never” for incoming requests and to avoid a bloated backlog that we’d never get to. Some of those considerations change further, as Allen identifies here.

    [blog] Generic Methods. Go developers have very strong emotions about this one. Many love, a few hate. It’s ok. I’m happy that devs push us to keep Go straightforward to write and read.

    [article] Making Your Data Ready for Agentic AI. Above we looked at making APIs ready. You need your data to be ready for AI as well.

    [blog] Deploy personal AI agents with Cloud Run instances. This fills a specific need. You’ve got an always-on component, but want a fully managed runtime. These new instances are ideal for OpenClaw, Hermes, or whatever continuous and stateful workload you got.

    [article] Harness Unfurls Source Code Repository Alternative to GitHub. Not the first, not the last. Let’s see if this new crop of source services have staying power.

    [blog] Expert Intelligence: a new way for you to engage with trusted content. Load books into Gemini Notebook (aka NotebookLM) for more personalized learning. Cool.

    [blog] AI UX Patterns to Show Meaningful User Benefit. How are you adding AI features to your existing app surfaces? Here are some patterns to consider.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – August 26, 2026 (#854)

    Another good batch of items today that might impact how you train your people, share knowledge across teams, and pay for AI services.

    [blog] What is harness engineering and why should I care? It’s not too late to ask, and even those who “know” can always learn more.

    [blog] What’s the Difference between Generative Engine Optimization (GEO) & Agent Experience (AX)? “Regular” SEO still matters, as web search tools alongside LLMs pull top search results. But there are plenty of new considerations for what gets included in the LLM itself, and the overall agent experience.

    [blog] Is the future of learning ‘vibe’ training? The focus of learning switches from “how” to “why.”This has impact on the trainers as much as the students!

    [blog] Five monetization trends from global pricing leaders. Is your favorite tool seemingly switching up its pricing model more often? You’re not imagining things. Here’s what happening in the world of software pricing.

    [blog] FinOps for the AI era: New flexible billing and cost controls for agents. Speaking of monetization, we’re going to keep working on ways to make products easier to pay for, while reflecting that how we consume these products is changing.

    [article] You need to find product-market fit again (sorry). You’re probably never done finding or confirming fit. This post looks at how to proactively disrupt yourself to keep learning.

    [blog] Gemini for Go Developers: Building Agents in Go. Daniela did the test I wanted to run, and did it better. Excellent assessment here of different ways to build agents.

    [blog] Intelligence is the Primitive. Applications are the Diffusion Layer. Super interesting slides here, some of which challenged my own thinking on the topics. Particularly the moats (or lack thereof).

    [blog] How Flutter stays ahead of iOS releases. If you build a product on top of a platform, you have to figure out how to be ready for each major platform release.

    [blog] What language are agent skills written in? What an interesting question, and it produces a fascinating answer. Good read.

    [article] Salesforce just put its entire CRM inside Claude — and says you’ll never need its app again. Cool move. Likely a harbinger of the future. Build more endpoints, and fewer frontends.

    [blog] Using OKF with Knowledge Catalog to serve context for agents. In a meeting today, someone asked me how to distribute shared context. I had no answer. Then read this post and shared it.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – August 25, 2026 (#853)

    I’m in Sunnyvale at Google Cloud HQ today and tomorrow. On the flight up, I finally got my generative UI service working properly in Gemini Enterprise. There are few things more satisfying that having an idea and then seeing it come to life with software.

    [article] Google brings Antigravity under Gemini Enterprise to provide granular spend controls. This is the next frontier. How do we make AI work better within teams, not just for individuals?

    [article] Can “Predictable Delivery” be measured? Interesting question. Two teams could have wildly different output per sprint, but have the same throughput over time.

    [blog] Now introducing Gemini Enterprise for Financial Services. Smart offering, and you’ll see more things like this. Industry-specific AI is still in the early stages. See our legal offering as well.

    [blog] The Mundanity of Excellence. Love it. Mundane tasks done over and over again don’t have to “boring” if you attach meaning and purpose.

    [blog] Cloud CISO Perspectives: Sticking to security fundamentals in the AI era. CISO’s are more valuable than ever, if focused in the right places. This gives some perspective, along with many links for deeper learning.

    [blog] Human judgment doesn’t leave the software factory. It relocates. Long post, but very worthwhile read from Addy. If you keep hearing this “software factory” phrase but aren’t sure what it means or when you’d use it, read on.

    [blog] Architects, testers, and coders: Building multi-agent development teams. Andrew uses an agent team to port a popular Python library to a statically-typed Dart package. He experienced friction, iterated, and ended up learning some things. Good experiment!

    [article] The AI-Native SDLC playbook. Fascinating writeup from Anthropic where they explore the SLDC stages with AI-lens. Same “work” but done very differently.

    [blog] Deploy your App Engine apps to Cloud Run in a single command. When people find a stack they like, it’s hard to get them to switch! 15+ years after launching it, we still have a hearty customer base. This post shows the one-line command to switch over to the more modern Cloud Run.

    [article] Not every problem needs an AI agent. Blasphemy, I know. Valid points here, but I also wonder if the box the author puts AI into will quickly dissolve.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – August 24, 2026 (#852)

    In between meetings, I had a chance to refresh some demos ahead of a customer presentation this week. And, to iterate for a while (too long) getting a generative UI agent to give me a custom interface in Gemini Enterprise. I’m glad my coding harness doesn’t get frustrated as quickly as I do.

    [article] 20 Lessons From 20+ Years in Tech. Really good. We need to be reminded of these lessons, and be more intentional about how we go about our professional lives.

    [blog] Event Driven Architecture and Coupling: You’re Not as Decoupled as You Think. Decoupling your internal API as a series of event-driven messages isn’t buying you much. Good post here on modeling around business concepts and behaviors.

    [blog] The Case for Software Craftsmanship in the Era of Vibes. Sure does. Regardless of what you may see, “software” isn’t solved just because of AI. There’s a lot that goes into system design, product thinking, and building high quality software that matters.

    [article] Most coding agent benchmarks skip large-scale refactoring. Not this one. This seems like a solid benchmark for complex tasks. LLMs aren’t doing that great at it. Yet.

    [blog] Summary : Where does Antigravity look for configurations? If you use a handful of AI tools, you’re probably copying files around between locations because the industry hasn’t standardized on where we stash configs.

    [article] How should engineering leaders measure the ROI of AI? All-important question. It’s not about how much AI you’re using. Who cares? It’s how much value you’re getting.

    [blog] Meet the Antigravity Extension: Gemini Code Assist on Steroids, in Whatever IDE You Love. It’s not true for everyone, but for many, the IDE is now mostly a read-only code viewer. I’m glad we’re putting our coding agent in your IDE of choice.

    [blog] Three Clouds, Three Native Agents. A telling effort. William looks at coordinating agents across the three major hyperscalers.

    [blog] How to Evaluate Live & Voice Agents in ADK. I’m sure there are solutions out there, but I haven’t seen them. This is a great way to test live/voice agents and prove they follow the desired path.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – August 21, 2026 (#851)

    I ended up with some open time today to build, which felt good. Maybe some more this weekend, but the weather might be too nice to stay inside. Good thing I now have Antigravity Remote Control 🙂

    [blog] AI Conversation Trajectories: An Indispensable Primitive & A Terrible Name. We’ve settled on “trajectory” as the name for a completed AI session. Ali hates the name, but recognizes how important this resource is.

    [blog] Antigravity Anywhere with Remote Control. So awesome. Now I can access my machines running Antigravity from anywhere. It’s got full awareness of my projects and local context, and I can do most anything from the web interface.

    [article] This post will save you tokens. I would behave differently if I was paying for all my tokens right now. Including following some of this advice.

    [blog] Building Agents in Go: Where Genkit Shines vs ADK 2.0. Both of these frameworks are great, and heck, both by Google. But there’s a place for each.

    [blog] Why I Tell My AI Coding Agent: “Prefer Dart Over Python”. Hear this person out. The argument is pretty good!

    [blog] Good writing is obvious, not original. Just write clearly; that’ll stand out more than trying to for originality at every moment. And share things that are obvious to you, but maybe not others.

    [blog] Inside the Gemmaverse: Celebrating one billion Gemma downloads. I like that this post celebrates some rad things people built with Gemma so far.

    [article] AI productivity gains aren’t translating to IT workload relief. The four-day workweek isn’t on the horizon. As you can get more done, more work shows up.

    [blog] Stripe to Acquire OpenRouter: Why Everyone Is Obsessed With Model Routing. A bit of a look at this recent acquisition, but also a nugget about why good routers have data that helps them proactively redirect your requests.

    [blog] Bringing Primary Constructors to Dart. Yes, new language features matter, even in the AI-writes-all-the-code era. Easier readability is still important.

    [blog] Inside Android Skills – Built for deprecation. I’ve got strong opinions loosely held regarding skills. Useful, yes. But a new type of durable documentation? I don’t think so. I’m more aligned with this post’s POV.

    [article] Salesforce wants to move AI coding into a shared workspace with Slack Code. Smart. It’s a place (Slack) where a lot of devs already spend time. Don’t make them switch surfaces. More here, from Slack.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – August 20, 2026 (#850)

    I’m adding things to my “you should try this technology” list much faster than I’m getting through it. At some point I’m going to declare bankruptcy and start over. Tomorrow’s looking like a clean “no meeting day” so I stand a chance to get through two of my top ones. Stay tuned.

    [blog] Expanding Google Antigravity for enterprise customers. Now Gemini Enterprise users get the Antigravity harness across their favorite IDEs, pooled usage among teams, and backend enterprise controls. More here.

    [blog] Practical Loop Engineering. Educational post on the type of agent loops, and how Addy applies them in his own work.

    [blog] Add telemetry and observability to your AI agents. Does it really make a big difference to give your agent a memory? Jason built a reference system to test it out and see how behaviors diverge over time.

    [article] Your coding agent got the onboarding your developers never did. I chuckled at the headline, because it hit home for me. Are we giving better budget, sponsorship, and patience to agents than we did to humans? Probably.

    [blog] How Google Cloud MCPs Give Claude Code Inside Access. Investments in skills and MCPs shouldn’t be tool specific. The whole point is to make sure anyone can use them. Here’s one example.

    [article] Only daily AI users feel positively about job security. I guess that doesn’t feel surprising. Those embracing and using the latest thing are likely more future-proofed.

    [blog] 20× the CI traffic without getting slower: How we rebuilt Git serving at Datadog. You probably don’t have a git setup as complicated as this. But there are good lessons on unnecessary cloning, recognizing that CPU is the bottleneck, and being smart on your fetching strategy.

    [article] Is Your Organizational Culture Too Nice? You know what this looks like. Bland feedback. Everyone gets great performance reviews. Everyone gets a voice. Stop that. Care deeply about others, while aiming for candid, results-focused kindness instead.

    [blog] How AlloyDB ScaNN scales vector search to 10 billion vectors. Tremendous performance for a relational database. Here’s how we did it.

    [article] When Your Buyer Is an AI Agent. Time to challenge your existing assumptions on pricing and managing buyer relationships.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – August 19, 2026 (#849)

    I had jury duty today. Our pool of potential jurors wasn’t needed, so another year without serving. That might be best for society.

    [article] Enterprises with AI context layers report agent failures at more than twice the rate of those without one. “Response correctness” is super important to enterprise buyers. And probably all of us. Building these context layers takes time.

    [blog] The Unreasonable Effectiveness of Docs in Product Development. Write the docs for the product you want to have, and then start building? There’s something there.

    [blog] Harnesses are Situated Agents. The harness is where it’s at, as there’s a lot to manage and those layers are critical.

    [blog] Gemini for Go Developers – Part 2: Coding with Gemini. This post will get you all the information you need to use AI to build Go apps.

    [blog] Cursor Origin review: An engineer’s perspective. Ready to bounce from GitHub? It’s likely too early to make a big move to Origin, but it looks promising. More about Origin here.

    [article] What the Microservices Era Can Teach Us About AI. You might share some lessons, but don’t accidentally treat these paradigms the same.

    [blog] Go 1.27 is released. Highly anticipated update! We introduced some great language changes, and improved the already-awesome standard library.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below: