A Local LAMP Stack with Docker and CodeIgniter
No MAMP. No global PHP install. Just Docker, a Dockerfile, and a clean development environment you can rebuild from scratch in five minutes.
Building with AI
Practical notes on AI-assisted workflows, learning systems, and building useful things—one story at a time.
No MAMP. No global PHP install. Just Docker, a Dockerfile, and a clean development environment you can rebuild from scratch in five minutes.
A self-taught developer's honest account of discovering grep late, using it badly, and finally understanding why it's the one tool that changes how you read a codebase.
Add post-response background work, async outbound HTTP calls with HTTPX, and live WebSocket updates — the patterns that move a backend from handling requests to doing real work.
Add token-based authentication, custom request logging, and CORS support so your API is ready for a real browser or mobile frontend.
Replace the in-memory list with a real database: define ORM models, set up SQLAlchemy sessions, and manage your schema with Alembic migrations.
Break out of the single-file prototype: build full CRUD endpoints, handle URL parameters, and organize your code the way a production backend would.
Build your first Starlette API from scratch: routing, JSON responses, POST requests, and the async model that makes it all work.
A one-page cheat sheet of keyboard shortcuts for Apple's Terminal app—navigation, editing, windows, and history.
Function calling is useful. Built-in tools are useful. The interesting part is using both in the same request—search, then act in your app.
Developer • 30–60 min/day • reading + doing. A fast-track from PHP habits to Pythonic thinking.
A practical short story about what happens when curiosity, AI assistance, and a clear weekly plan collide.
7-day practical track (30–60 min/day) — focused on creating and using notebooks fast.