RSSAmplifier

Blog

Bounga’s Home

Thoughts about Ruby, Rails, Hanami, Elixir, Phoenix, Emacs and Unix.

bounga.orgRSS feed ↗10 posts

Latest posts

Let It Crash Stops at stdin

I have been building a personal agent as an MCP server in Elixir, and the transport turned out to be the interesting part. A single malformed request killed the process that owned stdin, and the fix was not the one my OTP reflexes reached for.

Not Every Curve Belongs in Sand

Another CrunchLabs kit took over an evening: a sand table that drags a ball through sand on a polar arm. I added a few parametric math patterns, and the interesting part was the one it couldn't draw.

I Taught My Label Maker to Draw

I live in Ruby, Elixir and Emacs. A CrunchLabs label maker landed on my desk, I opened the firmware to fix two small annoyances, and it turned into a pocket pen plotter that draws Aztec friezes, spirographs and Lissajous figures.

I Built a Roblox Game Just to Try

On a whim I tried building a Roblox game in Luau, far from my usual Ruby, Elixir and Emacs, and found a real, typed, test-driven codebase hiding behind the toy reputation.

Writing a DSL in Ruby

An internal DSL is just Ruby that reads like a little language of its own. RSpec, Rake and Sinatra are all built this way. Here's how to build one yourself, from a naive first cut to the clean instance_eval pattern the real ones use.

Straightforward Auth in Phoenix, 2026 Edition

Back in 2016 I left myself a note: for simple auth in Phoenix, skip Pow and hand-roll it like the book shows. Ten years later the honest answer is different. You still don't need a heavyweight library, but you don't hand-roll it either: mix phx.gen.auth writes the code for you, and in Phoenix 1.8 it comes with magic links, sudo mode and scopes.

Blocks, Procs, and Lambdas in Ruby

Blocks are everywhere in Ruby: every each, map, and File.open relies on them. Treat blocks, procs and lambdas as one idea and the iterator methods you use daily become methods you can write yourself.

How Ruby Finds a Method

Every method call in Ruby is a search. Once you can see the chain the interpreter walks (modules, prepends, singleton classes, super), the object model turns predictable.

Hanakai, and Hanami 3.0 in Full Bloom

Hanami, dry and rom have joined forces as Hanakai, a single family of Ruby tools. The first release under that banner is Hanami 3.0: built-in mailers and i18n, Minitest support, and a big jump in performance.

emacs-mailto: Open macOS mailto: Links in Emacs

The GNU Emacs NS port doesn't handle mailto: links on macOS: click one while Emacs is running and nothing happens. emacs-mailto is a tiny relay app that fixes that, opening a compose buffer through whatever mail-user-agent you already use.