Robert Jackson
Ranked 80 in Phase 1 with 42 unique views, 8 counted upvotes and 12 counted downvotes

From Monorail to Tri-rail

Rails is so powerful that it can be easy to forget the basics of good software design. When every feature is simple to tack on to an application it is very difficult to see when you may have crossed the line. When this happens your application becomes a bloated mess.

You don't need to look far to find reference to a 'Monorail'. Is this just an odd reference to Disney World or does it actually have something to do with software development? How can you decouple your monolithic application into smaller and more distinct chunks?

Using a number of examples from real production rails applications, this talk will examine some of the problems developers faced as the applications grew, and highlight a few strategies to address them.

As a developer I have fallen down the rabbit hole of simply adding on new features, only to find later that my entire codebase was a giant mess of SRP, Demeter, and DRY violations.

The only thing necessary for the triumph of evil is for good men to do nothing.

  • Edmund Burke

Previous Next


  • The proposal author responded 8 months ago

    This talk would mostly be focused on rails applications, but some of the techniques that I will discuss will be applicable outside of rails.

    A couple of the specific concepts I am thinking about are: separate data access from the final UI with API's, and using object composition to simplify large classes (models).

  • D87dddeb300217e6c6574f5ffae220be?d=retro Nikos Dimitrakopoulos suggested 8 months ago

    What you are going to say, are only applicable to Rails applications or are they generic enough for people outside the Rails world to use? I'm asking because I believe a certain percentage of the audience won't be rails developers (I am :D). Is this presentation going to be useful for them?