2 min

349 words

A few days ago I came across an article that literally left me with my mouth open. It’s about TinyEMU-Go: a RISC-V emulator written entirely in Go, ported from C using Claude. And the best part: you can run a complete Linux with a single command.

The Command Line That Gave Me Envy

go run github.com/jtolio/tinyemu-go/temubox/example@2c8151233c2d

And boom, you have a complete Linux running. No special permissions, no containers, no weird dependencies. A pure static Go binary.

2 min

315 words

Lately I’ve been closely following everything around the MCP protocol (Model Context Protocol), and recently I found a project that makes a lot of sense: MCPHero.

The reality is that although MCP is taking off, many “traditional” AI libraries like openai or google-genai still don’t have native MCP support. They only support tool/function calls. MCPHero comes to solve exactly this: make a bridge between MCP servers and these libraries.

What is MCPHero?

MCPHero is a Python library that lets you use MCP servers as tools/functions in native AI libraries. Basically, it lets you connect to any MCP server and use its tools as if they were native OpenAI or Google Gemini tools.

4 min

762 words

A few days ago Anthropic published a paper that gave me much to think about. It’s titled “Disempowerment patterns in real-world AI usage” and analyzes, for the first time at scale, how AI interactions may be diminishing our capacity for autonomous judgment.

And no, we’re not talking about science fiction scenarios like “Skynet taking control.” We’re talking about something much more subtle and, perhaps for that reason, more dangerous: the voluntary cession of our critical judgment to an AI system.

2 min

402 words

A few days ago Laravel Boost v2.0 was launched, and as someone curious about everything surrounding the Laravel ecosystem, I couldn’t help spending quite a while reading about the new features. The truth is there’s one feature that has my special attention: the Skills system.

What is Laravel Boost?

For those who don’t know it, Laravel Boost is an AI tool that integrates with your Laravel projects to help you in daily development. With version 2.0 they’ve taken a major leap, introducing the Skills system that allows extending and customizing how AI works with your code.

4 min

678 words

A few days ago I read an article by Dominiek about the 5 principles for using AI professionally and found myself constantly nodding. After years of watching technologies arrive and evolve, AI gives me the same feelings I had with other “revolutions”: enthusiasm mixed with a necessary dose of skepticism.

Dominiek’s article especially resonated with me because it perfectly describes what we’re experiencing: a world where AI is getting into everything, but not always in the most useful or sensible way.

5 min

1053 words

A few months ago I came across something that really caught my attention: the possibility of having my own “ChatGPT” running at home, without sending data anywhere, using only a Raspberry Pi 5. Sounds too good to be true, right?

Well, it turns out that with Ollama and a Pi 5 it’s perfectly possible to set up a local AI server that works surprisingly well. Let me tell you my experience and how you can do it too.

3 min

555 words

Amazon has taken an important step in the world of artificial intelligence with the launch of S3 Vectors, the first cloud storage service with native support for large-scale vectors. This innovation promises to reduce costs by up to 90% for uploading, storing, and querying vector data.

What are vectors and why do we care?

Vectors are numerical representations of unstructured data (text, images, audio, video) generated by embedding models. They are the foundation of generative AI applications that need to find similarities between data using distance metrics.

4 min

687 words

A few days ago, working with Claude Code, I came across a tool that’s been around in the Docker ecosystem for a while but that I didn’t know about: docker pushrm. And the truth is it surprised me how useful it is for something as simple as keeping your container repository documentation synchronized.

The problem it solves

Anyone who has worked with Docker Hub, Quay, or Harbor knows the typical flow: you update your project’s README on GitHub, build and push your image, but… the container registry’s README is still outdated. You have to manually go to the browser, copy and paste the content, and do the update manually.

6 min

1205 words

After my previous article about agent-centric programming, I’ve been researching more advanced techniques for using Claude Code really productively. As a programmer with 30 years of experience, I’ve seen many promising tools that ultimately didn’t deliver on their promises. But Claude Code, when used correctly, is becoming a real game-changer.

Beyond the basics: The difference between playing and working seriously

One thing is using Claude Code for experiments or personal projects, and another very different thing is integrating it into a professional workflow. For serious projects, you need a different approach:

4 min

810 words

A few days ago I came across a very interesting stream where someone showed their setup for agentic programming using Claude Code. After years developing “the old-fashioned way,” I have to admit that I’ve found this revealing.

What is Agentic Programming?

For those not familiar with the term, agentic programming is basically letting an AI agent (in this case Claude) write code for you. But I’m not talking about asking it to generate a snippet, but giving it full access to your system so it can read, write, execute, and debug code autonomously.

6 min

1229 words

Finally: Modern JavaScript in NGINX (and we can forget about LUA)

When I read the NGINX announcement about QuickJS support in njs, I couldn’t help but smile. Finally I can stop struggling with LUA.

As someone who has configured more NGINX servers than I can remember (from my time at Arrakis to now at Carto), I’ve always been annoyed by the limitation of having to use LUA for complex logic in NGINX. It’s not that LUA is bad, but… why learn another language when I already master JavaScript?

5 min

949 words

Lately, there’s been talk of AI agents everywhere. Every company has their roadmap full of “agents that will revolutionize this and that,” but when you scratch a little, you realize few have actually managed to build something useful that works in production.

Recently I read a very interesting article by LangChain about how to build agents in a practical way, and it seems to me a very sensible approach I wanted to share with you. I’ve adapted it with my own reflections after having banged my head more than once trying to implement “intelligent” systems that weren’t really that intelligent.