david wong

Hey! I'm David, a security engineer at the Blockchain team of Facebook, previously a security consultant for the Cryptography Services of NCC Group. I'm also the author of the Real World Cryptography book. This is my blog about cryptography and security and other related topics that I find interesting.

Ruby on Rails posted August 2014

I just pulled an all nighter on Rails. I like it. I really really like it.

I like Ruby. I like how everything makes sense. I like how things are pretty and I like how everything was setup for the perfect web developing experience.

Before that I used Django, and I didn't like it. Oh sure I didn't use it enough to have a real opinion on it. But my first impression was bad. The way it handled the static files, the namespaces ( /templates/blog/blog/ ), the way everything seemed to be made up and counter-intuitive. I didn't like it because it felt limited and forced, almost unnatural.

And well before that I used CodeIgniter, which I really like because it's dead simple and it leaves you a huge amount of liberties. This blog is made in CodeIgniter by the way.

But back to Rails. Here's what I like:

  • There is a convention. And it feels nice to be guided for once. There is a way to do things and you feel like you are coding correctly when you respect them. For example a controller should be a plural noun in CamelCase, like "Bears", and its respective model should be the singular noun, in this case "Bear". Database tables have to use the snake_case. And on and on.

  • There is beauty in ruby. The unless, the ?, the symbols, the syntax, the blocks, the... I like it. It looks beautiful and feels good to write.

  • Everything is already prepared for you. There is CoffeeScript, Sass, jQuery, jQuery-ujs, turbo-link, ... and There is so much that is just waiting to be served. A gem away.

I feel dumb for having waited so long to take the leap. I heard of Rails years ago but couldn't see the point. I remember thinking Ruby was weird. Boy... Things are gonna get so much easier when I'll have a good understanding of this beast!

Leave a comment