Dev
Jorge Manrubia

Jorge Manrubia

Principal Programmer, Product

A programmer who loves building things and messing with every part of the process.

Announcing Hotwire Spark: live reloading for Rails applications

Improve your feedback loop with smooth automatic page updates.

A vanilla Rails stack is plenty

Minimal dependencies, maximum productivity. Staying vanilla pays long term dividends for your Rails apps.

The gift of constraints

If neither time nor development bandwidth is a concern,
how would you make the right calls?

Demo of page refreshes with morphing

How page refreshes work, and how they compare to stream actions.

The radiating programmer

The right ceremony can save you from the wrong one.

Exploring server-side diffing in Turbo

An investigation that taught us what we didn’t want to do.

A happier happy path in Turbo with morphing

Turbo 8 is coming with smoother page updates and simpler broadcasts.

Navigating personal information with care

Our default for accessing customer information is: we don’t.

Minding the small stuff in pull request reviews

We pay attention to the minutia in pull request reviews,
and for good reasons.

Globals, callbacks and other sacrileges

Maximalist positions are a thing in our industry. Take a technique, outline its drawbacks, extrapolate you can’t use it under any circumstance, and ban it forever. We are lucky that Rails embraces exactly the opposite mindset as one of its pillars.

A Friday email incident

Because only talking about success stories can be boring, here’s one about a Friday incident that happened while we worked on our cloud departure.

Pending tests

I rarely write my tests first or use them to help design my code.

Active Record, nice and blended

Active Record restates the traditional question of how to separate persistence from domain logic: what if you don’t have to?

Compared to what?

When discussing software design techniques, actual code should be a mandatory ingredient.

Vanilla Rails is plenty

A common critique of Rails is that it encourages a poor separation of concerns. That when things get serious, you need an alternative that brings the missing pieces. We disagree.

Good concerns

We love concerns and have been using them for years in large codebases. Here we share some of the design principles we use.

Fractal journeys

Good code is a fractal: you observe the same qualities repeated at different levels of abstraction.

Domain driven boldness

How to create a good domain model is the subject of many books, but here’s a lesson I learned at 37signals: don’t be aseptic, double down on boldness.