Carmine Paolino's Picture

Carmine Paolino

I build AI tools at Chat with Work and RubyLLM. Co-founded Freshflow. Outside tech, I make music, run Floppy Disco, and take photos.

Founding a Company in Germany: €9,600, 152 Days, and I Still Can't Send an Invoice

I started a company in Germany in late January. By late June I had spent 9,600 euros, registered two companies, and still cannot issue a single invoice of my own. Here is the timeline, with the bill next to every step.

RubyLLM 1.16: Concurrent Tool Execution, Rails-Style Instrumentation, and api_base for Every Provider

RubyLLM 1.16: Concurrent Tool Execution, Rails-Style Instrumentation, and api_base for Every Provider

RubyLLM 1.16 runs your tools concurrently in threads or fibers, makes RubyLLM observable without monkey patching, and lets every native provider sit behind a proxy.

Engineering Is Not Dead, Because Accountability Isn't

Models can generate the code. They cannot be accountable for it. The real distinction is whether the result is owned.

Production Experience Cannot Be Hallucinated

A paid Medium article claimed hard-won production lessons about RubyLLM. The code had not even run, and the regenerated version only made the fake experience harder to spot.

RubyLLM 1.15: Image Editing, Cost Tracking and Less Tool Boilerplate

RubyLLM 1.15: Image Editing, Cost Tracking and Less Tool Boilerplate

RubyLLM 1.15 adds image editing, cost tracking, inferred tool parameters, additive callbacks, and Rails fixes.

kamal-backup: Scheduled Rails Backups for Kamal Apps

kamal-backup: Scheduled Rails Backups for Kamal Apps

One Kamal accessory for encrypted Rails database and Active Storage backups, restore drills, and redacted evidence for security reviews.

Ruby Concurrency: What Actually Happens

Ruby Concurrency: What Actually Happens

Every 'what happens when' question about Ruby concurrency, answered with diagrams.

Making the Rails Default Job Queue Fiber-Based

Making the Rails Default Job Queue Fiber-Based

I tried Async::Job for my LLM apps, hit its limits, and patched Solid Queue to run jobs as fibers instead.

Your Agent's Context Window Is Not a Junk Drawer

Your Agent's Context Window Is Not a Junk Drawer

Strategies to combat context rot.