This blog exists because writing is the most honest way to verify that you actually understand something.
Why another technical blog
Most technical blogs are optimized for search engines, not readers. The goal here is different: long, dense articles that assume the reader can read code and wants to understand the why, not just the how.
Content is Spanish-first. English exists as a second option for articles where it makes sense.
Stack
The site is built with:
- Python 3.13 — base language
- FastHTML — web server that generates HTML directly from Python
- PicoCSS — minimal, accessible style base
- Mistune — Markdown parser with table and task list support
- Pygments — server-side syntax highlighting, no JavaScript
No JavaScript framework. No database. Posts are .md files with YAML frontmatter.
python
# The post loader
def load_posts(lang: str) -> list[dict]:
base = Path("posts") / lang
posts = []
for path in base.glob("*.md"):
post = fm.load(str(path))
if not post.get("published", False):
continue
posts.append({
"slug": post.get("slug") or slugify(post.get("title", "")),
"title": post.get("title", path.stem),
"content_html": md(post.content),
# ...
})
return sorted(posts, key=lambda p: p["date"], reverse=True)
What's coming
- Kubernetes, infrastructure, and distributed systems
- Deep Python: descriptors, metaclasses, the interpreter
- CLI tooling and automation
- Occasionally: reflections on the craft of writing software