The Ruby and Rails community linklog
Made a library? Written a blog post? Found a useful tutorial? Share it with the Ruby community here or just enjoy what everyone else has found!
Submit a post
Post Preview
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
CMS Trap: avoiding speculative architecture
Last year I wrote a post about CMS Trap, a trap you fall into when you try to speculate your app’s architecture prematurely. It had great success on HN, but didn’t reach enough rubyists, and as a rubyist I mainly intended the article for us. This submission is my attempt to rectify this.
Dos and Don’ts for Winning Hackathons
After participating (and winning) several hackathons over the years, I’ve come to appreciate how nicely Rails generates prototypes that build and deploy quickly. Hackathon champions will assert that the secret sauce to winning hackathons is building an actual product that has real validation from potential users. This is a hard goal to achieve when everyone is short on sleep and time. Rails will get your app there. [more inside]
How we upgraded elasticsearch from 0.90 to 1.3 without downtime
The Reverb.com team walks through how we switched ElasticSearch versions in production without downtime
Pronto 0.3: pull request comments and even better performance
Pronto performs quick automated code reviews with the help of various analysis tools (RuboCop, Brakeman, Flay, etc.) by checking only the introduced changes. And since 0.3, it’s even faster and able to comment on pull requests. Check it out: Pronto.
2014 Rails Rumble Registration is Now Open!
Registration has opened for the 2014 Rails Rumble! Reserve a spot for your team today - don’t miss out! We’re expecting to see an amazing bunch of apps now that everyone will be deploying to Heroku.
Three great ways to learn Ruby faster
There are lots of good places to learn Ruby. But learning isn’t just reading books or watching videos. It’s running head-first into a problem, getting stuck, struggling, getting frustrated, looking things up, having it click, playing around with it, and finally (finally!) getting something working. You have to use the things you learn, or they won’t stick with you. And there are a few great ways I’ve found to do just that.
Cleaning up a Rails routes file
Here are some notes on techniques to clean up a cluttered Rails routes file.
Everyday Rails Testing with RSpec: Now with RSpec 3 and more
I’ve updated Everyday Rails Testing with RSpec to cover RSpec 3, Rails 4.1 (and newer), the latest Capybara and Factory Girl, testing APIs, and more. It’s 190-ish pages, DRM-free, and available in PDF, MOBI, and EPUB formats. Free for existing readers. Hope you’ll check it out!
The Vibe: Full-time Open Source, Microservices retro, Optimizing Redis & more.
I’ve been experimenting with deis, which has come a long way in a very short time. Trying to track the explosion of tech in what I will loosely call ‘Dockerland’ is impossible. So. Much. Stuff. Read The Vibe.
Diving in Rails : The request handling
I wrote a deep explanation about how rails handles requests, have a look !
Announcing RVM blog
Migrating to Devise from your own authentication engine – Using custom Encryptors
If you implemented your own authentication engine, you can still move to Devise. Even when you have a custom encryptor that needs to stay. Here’s an article on how to do it
Green Ruby News #87
Finished composing Green Ruby 87. Bunch of links this week, I had to make some selection.
How the Hash Works in Ruby
We wrote an article to explain how the Hash works in Ruby. [more inside]
All you need to know about ActiveJob /w Sidekiq adapter
So everybody must have heard about the shiny new ActiveJob which is going to be released in the next Rails 4.2 release. ActiveJob is a nice addition to Rails stack that helps standardise the background job interface. It works with many adapters on the market such as Resque, Sidekiq. In the article by Envato’s engineer Trung Lê (@joneslee85) will guide you through how to configure ActiveJob with Sidekiq adapter, additionally he will show you few secret gems behind the ActiveJob such as multi-queue prioritisation, callbacks, exceptions handling, background mailer and live object parsing (GlobalID).
Better Know Enumerable: partition
Part 2/n in a series exploring the corners of Enumerable. This part covers using the partition method to eliminate a conditional. Pudding may or may not be involved.
Rack Master now 2~4% Faster with 1 PR
Do you like speed? Do you hate unnecessary object allocation? Well then you just got a got a 2 to 4% performance boost in Rack & Rails for free.
Extensible Web Resource Loading Manifesto
Current web platform primitives are are not sufficient to deliver an extensible and perf-friendly platform - we need to fix that.
PSA: A reminder about WEBrick's :DoNotReverseLookup config option
Unless you remember to put :DoNotReverseLookup => true into your WEBrick config, reverse DNS lookup will happen for every incoming connection, potentially causing serious latency. My story: WEBrick and Socket.do_not_reverse_lookup: A Tale in Two Acts Technical details: Fix regression bug in WEBrick’s :DoNotReverseLookup config option implementation
Rails with Webpack - Why and How
The Asset Pipeline is the canonical way of packaging assets in Rails. It can make things easy and is a good approach for most Rails applications, but at times it can makes things harder and shows limitations. So, you might consider using an alternative for bundling your assets.
Process Payments with Paypal for Rails Apps
We just wrote a tutorial on processing payments with Paypal for Rails apps. It’s actually got a lot simpler since the last time I looked at it. [more inside]
Katrina Owen: Overkill
Here’s video for Katrina Owen’s talk, Overkill, from the recent E4E developer conference.
Practicing Ruby Scavenger Hunt
In celebration of the fact that Practicing Ruby’s archives are now completely open to the public, I’ve put together a little contest. You can read the rules here and participate without signing up for anything. [more inside]
Preserving technical knowledge
Some thoughts on preserving technical knowledge as devs change jobs.