Ann Catherine Jose

@annjose.com

Hands-On Tech Enthusiast. Software Builder. Full-Stack Developer. Lifelong Learner. Loves math and music.

I remember there were four inflection points for AI where it made economic changes where the last one was on November/December 2025. Can you name them?

What I love about Codex more than Claude Code (desktop apps): 1. Feels well engineered and stable 2. Annotating multiple HTML elements with inline comments in in-app browser and sending a bunch of them at once 3. Remote coding from mobile 4. UI is more intuitive 5. Intuitive, makes me productive

Across different agent projects, we kept running into the same questions - which pattern fits the problem, what options are available, and what trade-offs come with each one? @georgeck.me and I are putting what we learned into a new series, starting with the Autonomy Spectrum of agentic systems.

Latent Signal@latentsignal.org · last mo.

“Agentic systems” can refer to very different kinds of systems. In our new series on building agentic systems, the first post maps the autonomy spectrum—from simple model calls to systems that plan, use tools, and act with limited supervision. 🧵 1/3

When people debate whether human should review every single line of code, I get the essence of it. But then I see stuff like this IRL: Had I not looked at the code, how would I have caught this bad code? Btw, it's not about a specific harness or model. It's how things evolve in a context window.

Chat transcript 

Me:
before you do it, answer this question
code like this is bad. why did you do it?
index.astro
    title: post.data.slug.startsWith('agentic-systems-') ? Agentic Systems: ${post.data.title} : post.data.title,
[slug.astro]
const isAgenticSystemsSeries = entry.data.slug.startsWith('agentic-systems-')

3:28 PM
Model: 
You are right. That code is bad.
I added it as a shortcut to support the temporary eyebrow experiment without introducing series metadata. Then, when the short titles looked unclear on the blog list, I added a second slug check to reconstruct the full title. That compounded the original shortcut instead of stepping back and simplifying the model.
The problems are:
It treats the slug as structured metadata. A slug is a URL identifier, not a reliable source of presentation semantics.
It creates hidden coupling. Renaming a slug can silently change the page heading and list title.
The series rule is duplicated across two pages.

I love that Codex (or now ChatGPT Codex 🙄) has this feature to annotate any text in the response and ask questions inline. I can keep adding a bunch of annotated questions and send them all in one prompt. It is easy, intuitive and efficient. Codex gets extra credits, and Claude Code gets none.

Codex chat showing two annotations and the prompt for it.

The old rule: "Show don't tell." Me to the coding agent: "Tell, don't show (off)" When I ask a question, just answer it. don't try to rewrite the code. I don't know why they are so eager to change everything. Too much bias to action!

A completely practical setup to run open-weights model locally on my M2 Max 64 GB: - Run llama.cpp UI using llama-server `./build/bin/llama-server` - use Unsloth's Gemma-4 26B-A4B model `unsloth/gemma-4-26B-A4B-it-GGUF:Q4_K_XL` Ofc this setup works great for knowledge synthesis, not exploration.

lllama-cpp server running un chatModel information of Gemma-4 model

AI is a tool, there are immense benefits, big risks too. We use many AI tools everyday and have a measured take on where it shines, where is fails and where it is headed. Latent Signal is the channel through which we share our learnings and ideas. We hope to share everyday from now.

Latent Signal@latentsignal.org · 2mo ago

Hello Bluesky 👋 We’re @annjose.com and @georgeck.me, two software engineers building, writing, and teaching at the intersection of AI, software engineering, and product development. We focus on moving past AI hype by building projects, and developing mental models for how software is changing.

Claude these days: 🙄 Me: "Keep the reset command separate and make it failure-proof." Claude: "You're right on both counts. Let me reset (heh) and answer." Didn't even bother to say pun intended. Just "heh" and move on!

I am loving the side chat feature in Codex. You can... 1. Select any text in the main chat window and choose 'Ask to side chat'. 2. The side panel opens and shows the selected text. Ask your question here. 3. You can select a (smaller) different model other than main chat.

Codex chat window showing the 3 options

Images created by the new image model announced by Microsoft today - MAI-Image-2.5 Prompts: 1. “create an image of an iceberg in a beautiful ocean with stunning photorealistic way” 2. “add a bluewhale jumping from the water near the iceberg 3. "show the sun setting in the horizon"

create an image of an iceberg in a beautiful ocean with stunning photorealistic wayadd a bluewhale jumping from the water near the icebergshow the sun setting in the horizon

I'm loving the new Copilot GUI app (early access). Very professional, clean, and intuitive UI. Things are exactly where you'd expect. Feels like a well-engineered, production-grade app. Unlike some popular coding agents that still feel hacked together with a disjointed UX. Great job, @github.com 👏💯

Cloudflare's security team spent the last few weeks testing Anthropic's Mythos against fifty of our own repositories. What we learned about offensive AI, why faster patching is the wrong reaction, and what the architecture around vulnerabilities has to look like next. https://cfl.re/4eSYw7W

Project Glasswing: what Mythos Preview showed us

In recent weeks, we pointed Mythos and other security-focused LLMs at live code across critical parts of our infrastructure. We share what we observed, the models’ strengths and weaknesses, and what the work around them needs to look like before any of it can scale.

blog.cloudflare.com

I am not going to name names, but... I asked my coding AI agent to “improve” my simple parsing code that extract a folder path from inline markdown text. It responded by adding FOUR new dependencies just for that job. Me: "Bro!That’s too much." Agent: "Fair pushback." Me: (facepalm) Revert it! 😡

most of these github actions driven breaches are because of pull_request_target. here's some tips of what to look for when reviewing your own workflows. worth noting - it is safe, and necessary, when used correctly 🧵

Found something useful today. The pi agent couldn’t read this webpage, so I used the Obsidian Web Clipper to copy it as Markdown, and pasted it into the chat. Worked immediately. pi was happy! Small win, but a sweet one.🎉 Wonder if this can be built as a skill with Obsidian CLI - @stephango.com

Brave browser showing the Anthropic article Teaching Claude Why with Obsidian Web Clipper on the side with the 'Copy to Clipboard' button highlighted in yellow.The pi coding agent running in terminal with the response 
 Yes — this is a great way to share it, and it looks substantially complete.

 Minor notes:
 - It appears to include all core sections, figures, discussion, and footnotes.
 - One formatting quirk: the “four main lessons” list is split as 1,2,3 + bold paragraph instead of numbered 4 (content is there, numbering just inconsistent).
 - If you want maximum fidelity, also include the exact figure captions/alt text (you already included most).

 So yes, this is more than enough for me to critique your understanding accurately. Send your summary when ready.

Everybody say Thank you Claude! 🎉 Anthropic at Code with Claude event - we are increasing rate limits on Claude Code - doubling the 5 hour limit for Pro, Max and Enterprise plans! 🔥