AI
-
Teaching AI to Hide Messages in Plain Sight
It’s more of a party trick than anything else, but here’s the prompt:
Task: Construct a perfectly rectangular 4x26 ASCII block. The "Safe-Width" Symbol Set: ∫ √ ≈ ∆ ∑ ± ∞ ≠ ≡ ≥ ≤ ÷ ç ∂ Instructions: - Grid Specs: Exactly 4 rows and 26 characters per row - Hidden Message: Choose a 2-word uppercase phrase - Center the first word in Row 2 and the second in Row 3 - Fill all non-letter slots with random symbols from the set - Verify each row is exactly 26 charactersThose specific mathematical symbols maintain consistent width with uppercase Latin characters in monospaced fonts. This means the grid stays perfectly rectangular, and the words blend in better.
Is this useful? Not really. But it’s a neat demonstration of how to get AI to produce structured output.
Try it yourself and see what secret phrases you can embed.
-
I’m reading an article today about a long-term programmer coming to terms with using Claude Code. There’s a quote at the end that really stuck with me: “It’s easy to generate a program you don’t understand, but it’s much harder to fix a program that you don’t understand.”
I concur, while building it may be fun, guess what? Once you build it, you got to maintain it, and as a part of that, it means you got to know how it works for when it doesn’t.
/ AI / Programming / Claude-code
-
Security and Reliability in AI-Assisted Development
You may not realize it, but AI code generation is fundamentally non-deterministic. It’s probabilistic at its core, it’s predicting code rather than computing it.
And while there’s a lot of orchestration happening between the raw model output and what actually lands in your editor, you can still get wildly different results depending on how you use the tools.
This matters more than most people realize.
Garbage In, Garbage Out (Still True)
The old programming adage applies here with renewed importance. You need to be explicit with these tools. Adding predictability into how you build is crucial.
Some interesting patterns:
- Specialized agents set up for specific tasks
- Skills and templates for common operations
- Orchestrator conversations that plan but don’t implement directly
- Multiple conversation threads working on the same codebase via Git workspaces
The more structure you provide, the more consistent your output becomes.
The Security Problem
This topic doesn’t get talked about enough. All of our common bugs have snuck into the training data. SQL injection patterns, XSS vulnerabilities, insecure defaults… they’re all in there.
The model can’t always be relied upon to build it correctly the first time. Then there’s the question of trust.
Do you trust your LLM provider?
Is their primary focus on quality and reliable, consistent output? What guardrails exist before the code reaches you? Is the model specialized for coding, or is it a general-purpose model that happens to write code?
These are important engineering questions.
Deterministic Wrappers Around Probabilistic Cores
The more we can put deterministic wrappers around these probabilistic cores, the more consistent the output will be.
So, what does this look like in practice?
Testing is no longer optional. We used to joke that we’d get to testing when we had time. That’s not how it works anymore. Testing is required because it provides feedback to the models. It’s your mechanism for catching problems before they compound.
Testing is your last line of defense against garbage sneaking into the system.
AI-assisted review is essential. The amount of code you can now create has increased dramatically. You need better tools to help you understand all that code. The review step, typically done during a pull request, is now crucial for product development. Not optional. Crucial.
The models need to review itself, or you need a separate review process that catches what the generating step missed.
The Takeaway
We’re in an interesting point in time. These tools can dramatically increase your output, but only if you build the right guardrails around them should we trust the result.
Structure your prompts. Test everything. Review systematically. Trust but verify.
The developers who figure out how to add predictability to unpredictable processes are the ones who’ll who will be shipping features instead of shitting out code.
/ DevOps / AI / Programming
-
Everyone crashing out over OpenCode situation. Why not just use Claude Code (2.1+)? Or you know, there’s AMP. AMP exists too, and it looks equally interesting to me.
/ AI / Tools / Development
-
Claude Code has been working great for me. OpenCode looks interesting, but uh, Opus 4.5 access is necessary for real work. I’m not doing any sketchy workarounds to get it running, and API pricing isn’t appealing either. So for now, OpenCode stays firmly in the “interesting” category.
-
Two Arguments Against AI in Programming (And Why I'm Not Convinced)
I’ve been thinking about the programmers who are against AI tools, and I think their arguments generally fall into two camps.
Of course, these are just my observations, so take them with a grain of salt, or you know, tell me I’m a dumbass in the comments.
The Learning Argument
The first position is that AI prevents you from learning good software engineering concepts because it does the hard work for you.
All those battle scars that industry veterans have accumulated over the years aren’t going to be felt by the new breed. For sure, the painful lessons about why you should do something this way and not that way are important to preserve into the future.
Maybe we’re already seeing anti-patterns slip back into how we build code? I don’t know for sure, its going to require some PHD level research to figure it out.
To this argument I say, if we haven’t codified the good patterns by now, what the hell have we all been doing? I think we have more good patterns in the public code than there are bad ones.
So just RELAX! The cream will rise to the top. The glass is half full. We’ll be fine… Which brings me to the next argument.
The Non-Determinism Argument
The second position comes from people who’ve dug into how large language models actually work.
They see that it’s predicting the next token, and they start thinking of it as this fundamentally non-deterministic thing.
How can we trust software built on predictions? How do we know what’s actually going to happen when everything is based on weights created during training?
Here’s the thing though: when you’re using a model from a provider, you’re not getting raw output. There’s a whole orchestration layer. There’s guardrails, hallucination filters, mixture of experts approaches, and the thinking features that all work together to let the model double-check its work before responding.
It’s way more sophisticated than “predict the next word and hope for the best.”
That said, I understand the discomfort. We’re used to deterministic systems where the same input reliably produces the same output.
We are are now moving from those type of systems to ones that are probabilistic.
Let me remind you, math doesn’t care about the differences between a deterministic and a probabilistic system. It just works, and so we1.
The Third Argument I’m Skipping
There’s obviously a third component; the ethical argument about training data, labor displacement, and whether these tools should exist at all.
I will say this though, it’s too early to make definitive ethical judgments on a tool while we’re still building it, while we’re still discovering what it’s actually useful for.
Will it all be worth it in the end? We won’t know until the end.
-
This “we” I use to mean us as in the human race, but also our software we build. ↩︎
-
-
Claude Cowork: First Impressions (From the Sidelines)
Claude Cowork released this week, and the concept seems genuinely useful. I think a lot of people are going to love it once they get their hands on it.
Unfortunately, I haven’t been able to get it working yet. Something’s off with my local environment, and I’m not entirely sure what. Claude Desktop sometimes throws up a warning asking if I want to download Node and I usually say no, but this time I said yes. Whether that’s related to my issues, I honestly don’t know. I did submit a bug report though, so hopefully that helps.
Here’s the thing that really impresses me: Anthropic noticed a trend and shipped a major beta feature in about 10 days.
That’s remarkable turnaround for something this substantial. Even if it’s not working perfectly for everyone yet (hi, that’s me), seeing that kind of responsiveness from a company is genuinely exciting.
I’m confident they’ll get it sorted before it leaves beta. These things take time, and beta means beta.
I have explored using the CLI agents outside of pure coding workflows and so I think there’s a lot more flexibility there than you might expect.
For now, I’m watching from the sidelines, waiting for my environment issues to sort themselves out.
-
OpenCode | The open source AI coding agent
OpenCode - The open source coding agent.
/ AI / Programming / Tools / links / agent / open source / code
-
Amp is a frontier coding agent that lets you wield the full power of leading models.
/ AI / Programming / Tools / links / agent / automation / code
-
After two days with Beads, my agent-based workflows feel supercharged. I’ve been experimenting with agents for about a month now, and something clicked. Could be the new Claude Code 2.1 upgrade helping too, but the combination is 🚀🚀🚀.
-
Spent some time with Google Antigravity today and I think I’m starting to get it. Built a few agents to test it out. The agent manager stuff is genuinely interesting and seems useful. The planning features (spec-driven development) though? Not sold on those yet.
-
Beads: Git-Native Issue Tracking for AI-Assisted Development
If you’re working with AI coding agents like Claude Code, you’ve probably noticed a friction point: context.
Every time you start a new session, you’re rebuilding mental state. What was I working on? What’s blocked? What’s next?
I’ve been using Beads, and it’s changed how I manage work across multiple AI sessions.
What Makes Beads Different?
Beads takes a fundamentally different approach. Issues live in your repo as a
.beads/issues.jsonlfile, syncing like any other code. This means:- No context switching: Your AI agent can read and update issues without leaving the terminal
- Always in sync: Issues travel with your branch and merge with your code
- Works offline: No internet required, just git
- Branch-aware: Issues can follow your branch workflow naturally
The CLI-first design is what makes it click with AI coding agents. When I’m working with Claude Code, I can say “check what’s ready to work on” and it runs
bd readyto find unblocked issues. No copying and pasting from a browser tab.Getting Started
Getting up and running takes about 30 seconds:
# Install Beads curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash # Initialize in your repo bd init # Create your first issue bd create --title="Try out Beads" --type=taskFrom there, the workflow is straightforward:
bd readyshows issues with no blockersbd update <id> --status=in_progressto claim workbd close <id>when you’re donebd syncto commit beads changes
Why This Matters for AI Workflows
The real power shows up when you’re juggling multiple tasks across sessions. Your AI agent can:
- Pick up exactly where you left off by reading the issue state
- Track dependencies between tasks (this issue blocks that one)
- Create new issues for discovered work without breaking flow
- Close completed work and update status in real-time
I’ve found this especially useful for longer projects where I’m bouncing between features, bugs, and cleanup tasks. The AI doesn’t lose track because the state is right there in the repo.
Is It Right for You?
Beads isn’t trying to replace GitHub Issues for team collaboration or complex project management.
It’s designed for a specific workflow: developers using AI coding agents who want persistent, agent-friendly task tracking.
If you’re already working with Claude Code, Aider, or similar tools, give it a try. The setup cost is minimal, and you might find it solves a problem you didn’t realize you had.
/ Productivity / AI / Developer-tools / Git
-
How to navigate the age of agentic AI | MIT Sloan
A new report from Sloan Management Review and BCG identifies four tensions that organizations must manage when rolling out agentic artificial intelligence.
-
vibe is the bait, code is the switch.
Vibe coding gets people in the door. We all know the hooks. Once you’re actually building something real, you still need to understand what the code is doing. And that’s not a bad thing.
/ AI / Programming / Vibe-coding
-
Stay updated with the latest news, feature releases, and critical security and code quality blogs from CodeAnt AI.
/ AI / Programming / blogging / links / security
-
DeepWiki | AI documentation you can talk to, for every repo
DeepWiki provides up-to-date documentation you can talk to, for every repo in the world. Think Deep Research for GitHub - powered by Devin.
/ AI / links / search engine
-
The API management platform built for self-hosted control AI and agentic workloads distributed, low-latency scale Tyk gives you full control to secure, govern, and scale the APIs that move your data, models, and decisions,across any cloud, hybrid, or on-prem environment. Start for free Get a demo Powering the world’s best companies Your vision, powered by Tyk Your APIs. Your infrastructure. Your […]
/ AI / links / platform / self-hosted / open source / api / gateway
-
Cabina.AI: All-In-One AI assistant platform | Best AI chat workspace for you needs
Free access to GPT-4 O1, Claude, LLama, Runway, Flux, Lumalabs, Stability, Gemini & more. Chat with PDF (RAG), analyze files, AI transcribe audio, generate video & images, AI Summarizer & In-Paint editor: all AI tools in one place. Generate AI content easy or compare LLMs in one chat or test & improve your prompts. Start free with Cabina.AI workspace now
-
steveyegge/gastown: Gas Town - multi-agent workspace manager
Gas Town - multi-agent workspace manager
/ AI / Workflow / links / agent / automation / task management
-
Shadcn Studio - Shadcn UI Components, Blocks & Templates
Accelerate your project development with ready-to-use, & customizable 1000+ Shadcn UI Components, Blocks, UI Kit, Boilerplate, Templates & Themes with AI Tools.
-
New investment opportunity
/ AI
-
Sign me up
/ AI
-
Bet #GuessThatPrompt




/ AI
-
AI Reasoning - Gemini, DeepSeek, and OpenAI Compared
So, the Gemini Flash Thinking models are out, and they simulate how a chain of thought is supposed to work in humans, reasoning their way to an answer instead of simply providing one.
DeepSeek R1 and OpenAI O3 also have CoT.
How does Google Flash Thinking compare? Well, it’s fast and free and doesn’t send your data to China… but it may be a bit too early to tell.
Chain of thought makes models more flexible and capable of handling various tasks by breaking down complex problems, considering possibilities, and explaining reasoning.
Transformers are the foundational neural network architecture for many modern large language models. They are what enable models to understand context and generate human-like text.
Chain of Thought (CoT) enhances the reasoning capabilities of transformer models by prompting them to produce intermediate steps in their reasoning process before giving a final answer.
Perplexity Pro now has the Open Sourced DeepSeek R1 model re-hosted in the US. I’ve been using Perplexity Pro for a few weeks. My conclusion: Perplexity is a better Google than Google.
/ AI
-
We need a new Salt Bae.
Crystals of the sea,
Flavor's dance, life's sustenance,
Whispers on the breeze.
