RSSAmplifier

Blog

A blog by Alberto Arena

Senior Software Engineer.

albertoarena.itRSS feed ↗32 posts

Latest posts

My coding agent kept inventing columns

Laravel Truss 1.8 turns your schema export into grounding context for a coding agent: annotations, focused and compact exports, and an optional read-only MCP server.

Claude Code Auto Mode: What Still Needs a Human

Anthropic says auto mode catches 89% of dangerous commands against 13.6% for human reviewers, and still calls it not risk-free. The config, hooks, and review habits that keep it honest.

I built a Laravel event-sourcing generator, then the AI version

I built a deterministic Laravel event-sourcing generator, then a Claude Code skill that does the same job through a design conversation. Which one wins? Wrong question.

I gave my schema viewer your app's colours

Laravel Truss 1.6 adds theming to match the app it's embedded in, and truss:export to generate deterministic schema files your CI can gate on.

We Became Editors-in-Chief, and Nobody Trained Us

Agentic development didn't make us prompt engineers. It made reviewing the job, and nobody built tooling yet for the real bottleneck: how long a human can stay sharp.

The schema doctor is in

Laravel Truss 1.5 adds truss:doctor: a deterministic, structure-only review of your database schema, thirteen rules deep, that can fail your CI build.

CLAUDE.md Is RAM, Skills Are Not Disk: The Four-Tier Memory Model for Claude Code

Skills look like the disk tier of the CLAUDE.md memory model. They are not. Here is the four-tier model that actually fits: RAM, path-scoped rules, skills, and disk.

There's no artisan schema:show, so I built one

A live, zoomable ER diagram of your Laravel app's actual database schema, safe to run in production. Structure only, never data.

Claude Code Routines: A Third Way Beyond /goal and /loop

Anthropic added routines to Claude Code: cloud-hosted automations triggered by a schedule, an API call, or a GitHub event. How they differ from /goal and /loop, and when to reach for each.

Claude's Working Memory Is Smaller Than You Think

Anthropic's J-space research shows Claude's internal reasoning workspace is small. Here's what that changes about how I sequence prompts when building a feature.

Beyond the Bastion: Secure Artisan Command Execution with AWS Systems Manager

When IT blocks SSH for compliance, your manual Artisan operations go dark. Here is how AWS Systems Manager Run Command replaces the bastion host with an IAM-authenticated, CloudTrail-audited alternative, and the engineering decisions behind building a reusable toolkit around it.

10,000 downloads

laravel-event-sourcing-generator just crossed 10,000 downloads on Packagist. A short look back at how it started and where things have gone since.

CLAUDE.md Is RAM, Not Disk: A Memory Model for Claude Code Projects

Why a growing CLAUDE.md makes Claude Code worse, and a simple RAM/disk model for structuring your docs instead, plus a Laravel starter repo you can copy.

What if every Filament write went through an aggregate?

A Filament plugin that routes every create, edit, and delete through your domain aggregates, without giving up the admin panel you already love.

Your README Deserves Real Numbers

traffic-badge is a GitHub Action that pulls live view and clone counts from the official GitHub API and pins them as SVG badges directly in your README. No third-party servers, no guesses.

Claude Code /goal vs /loop: Stop Typing, Keep Going

Claude Code and Codex added a /goal command: an autonomous loop alternative to typing keep going every turn. When /goal beats /loop, and when it does not.

Deploying Laravel to Netsons with GitHub Actions

I built a Laravel package to deploy to Netsons shared hosting via GitHub Actions, supporting both FTP and git clone strategies.

Your .env files are lying to you

Environment files drift out of sync silently. envaudit catches what you miss.

Event Sourcing with a Little Help from AI (a Claude Code Skill)

A Claude Code skill for Spatie Laravel event sourcing: it designs your domain in conversation, then generates aggregates, events, and projectors.

AI Code Hallucinations: When Your AI Writes Confident Nonsense

AI coding agents hallucinate: they invent APIs, fabricate packages, and write confident, wrong code. Here is how to catch it before it reaches production.

Introducing Codemetry

A Git repository analysis tool that converts version control history into quality metrics.

Moving from Gatsby to Astro

I migrated my blog from Gatsby to Astro. Here's why.

Create a domain using Spatie event sourcing

A Laravel command that generates a domain using Spatie event sourcing.

My React Calculator

A React learning exercise: building a React Calculator.

Finally, I moved to Gatsby

I moved my blog to Gatsby, a React-based open source framework.

I'm back!

My personal blog is back.

Is it really an integer?

How to check if a variable is really an integer or a float in Javascript, and some considerations on data types.

I moved to Jekyll

Four reasons for which I decided to move my blog from WordPress to Jekyll.

A simple Javascript Getter/Setter

How to implement a simple Javascript getter/setter than can be used with different libraries and frameworks.

Installing Store Kit in Titanium Studio

A brief tutorial about how to install Store Kit module in Titanium Studio with gitTio.

Special effects in CSS3

Some interesting effects that can be implemented in pure CSS3.

Sharing your house? Factory method pattern can help you

An implementation of the Factory method pattern while maintaining a web-application developed in PHP and Zend Framework 1.