loading words...

May 08, 2019 20:53:30


by @craigpetterson PATRON | 451 words | 228🔥 | 229💌

Craig Petterson

Current day streak: 228🔥
Total posts: 229💌
Total words: 61104 (244 pages 📄)

This is sort of a continuation from yesterday, but I think it's separate...

I've seen a lot of talk about what stack people use lately. I think people get caught up with this too much. Obviously, the Rails stack is the one to rule them all - I jest, stack does not matter.

That being said, I love the Rails stack. As DHH said in his Rails Conf keynote, Ruby was designed by Matz for developer happiness, what a wonderful thing. Rails is a beautiful language. I've tried other stacks, including PHP, Java, C - nothing compares for me. I sometimes wish I was more of a polyglot, but then I remember one key principle.

Stack does not matter.

Whatever you choose, the goal is service. A user doesn't care about your stack. When you're starting out, you don't need to worry about scaling to a million users - you might never get a single one.

My problem with trying a new stack is that I always think I can do this better with my old stack. Then there is more overhead when it comes to DevOps, deploying and maintenance. I might have already solves these problems in my existing stack, what would I gain from using a new stack and learning this all again?

Is that short sighted?


The purpose of writing about my stack is to hopefully indoctrinate, er... show the simplicity of Rails, maybe give some people some ideas on what they can use and to eventually document how I go from zero to deployed (that won't happen in this entry).

Ruby/Rails: From their own website: Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.

The focus on simplicity and productivity and the fact it is easy to read and write is why I love it so much. The Rails Doctrine is a gold mine, but fundamentally follows Ruby's ethos, but I like the particular segment about being a basic toolbox that provides you with sharp knives.

PostgreSQL: Usually my database of choice. It's simple to set up and I've never needed to worry too much about this. Rails default is sqlite3, but this comes with deployment complications, because this is effectively a file, so you have to deal with symlinks and shared locations.

Puma: The default server for Rails. It's simple, fast, built for concurrency and has great documentation. Plus, includes Nate Berkopec as one if it's maintainers - dreamland.

Capistrano: Used for automated deployment. Takes very little setup and deploys my code in under 60 seconds. It's very simple.

That's more than 200 words, so I'll post more in another entry.

  • 1

    @craigpetterson I been doing PHP Stack for the past 12 years, thanks to Laravel to bring new fresh air to the PHP world. Try ROR for a while but didn't have much interest on it, thinking to pick up GO maybe if I can squeeze some time this year.

    Knight avatar Knight | May 09, 2019 06:26:48
  • 1

    @craigpetterson Cool post, thanks for sharing. As a front end dev I'm constantly wondering what stack to learn. It's so hyped up these days and it kinda makes me anxious trying to "keep up" even when I have a job. I'm always wondering what I need to learn in order to get the next job.... But I bet the longer you're in the industry, the less you probably care!

    Jack Lyons avatar Jack Lyons | May 08, 2019 13:58:11
contact: email - twitter / Terms / Privacy