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.
How we autoscale our EC2 infrastructure
This is part two of our Amazon blogposts which deals with how exactly we autoscale our infrastructure and what our plans are for the future. You should read Part 1 as well as it lays out why we went with EC2 in more detail. [more inside]
Updated BitNami Redmine stacks (Ruby 1.9, Passenger 4)
BitNami has just announced new BitNami RubyStack and Redmine stacks versions with Ruby 1.9 and Passenger 4 beta that significantly improves the performance in production environments. The default configuration uses Apache running with the Passenger module. However, if you prefer to use Nginx with Passenger, it ships Nginx server and Passenger extension already compiled and ready-to-use. [more inside]
Daybreak: a simple key-value store for ruby
Daybreak is an append-only-file key value store written in ruby with Enumerable niceties.
Parse Extensive Metadata from Images using ImageMagick (corrected gem name)
A few days back I posted a link to a gem which used RMagick to gather extensive metadata for images. This has now been renamed to magick-metadata. After releasing it, I realized that it has no dependencies on RMagick at all. My bad ;) [more inside]
Concurrency Patterns in Ruby: Futures
Concurrency! Threads! Ooh, scary! Don’t be afraid. Sometimes we just need to reach for patterns that help us reason about what we’re asking our computers to do. In this article, I take a closer look at a concurrency pattern called futures.
A slim HTTP client powered by middlewares rack
The idea to have a http client powered by middlewares, it’s not new. In contrast, all http clients that implements this feature are bloated with many things that discourage developers to install and use. [more inside]
chruby: ultra-minimal ruby switcher
chruby is an ultra-minimal alternative to RVM and rbenv. chruby allows one to install rubies into /usr/local/$ruby, /opt/$ruby or ~/.rubies/$ruby, but install gems into ~/.gem/$ruby/$version. Unlike RVM or rbenv, chruby only modifies $PATH, $GEM_HOME and $GEM_PATH, and does not hook cd or rely on shims. chruby is ~80 lines, supports both bash and zsh, and has unit-tests.
Glib-Eventable
glib-eventable is a helper gem for ruby-gnome2 applications. [more inside]
Null migration, or What to do when there are too many migrations
Sooner or later, especially in the long-running projects, the number of migrations exceeds any acceptable norms. When they are 50, it is perfectly acceptable. But in really big projects, their number can be up to 500 or even more. Learn what null migration is and how you can use it to reduce the number of ActiveRecord migrations to one.
How to speed up your test suite
When you practice test-driven development, most of the time you need to run only a small number of tests to validate your recent code changes. Unfortunately things change once you start refactoring. Refactoring models implicates your entire application. So in order to keep things from going down the drain, you’ll need to run all (or most of) your tests constantly. And that’s where things get tedious. [more inside]
IChannel v1.0.0: A modern & flexible interprocess communication(IPC) primitive.
I just launched IChannel, a modern & flexible interprocess communication(IPC) primitive that can be used to send Ruby objects between a parent process and its subprocesses.
A Lightweight “CMS” Using Ruby and Google Drive
What do you do if your content authors don’t know HTML? Have them enter content into a Google Drive spreadsheet, and use a Ruby gem to convert it. Here’s how.
Gaston, a configuration store
We released a new version of Gaston, a configuration store that can be used in any Ruby project.
sql_mapper gem -- an ActiveRecord extension that fetches large datasets fast
sql_mapper is an ActiveRecord extension that can provide significant performance gains over standard ActiveRecord fetching for large data sets while still coercing rows into objects. Take a look at the readme for more information and feel free to let me know what you think. [more inside]
a redis-backed git server to replace gitolite
Pogoapp recently replaced it’s gitolite server and automation code with a significantly simpler, faster set of redis-backed ruby scripts. If you’re trying to scale up complex multi-user git server hosting, this blog and the gist might be of assistance
Why do engineers suck at finding the right jobs
Even though we live in a very lucky time for software engineers, most of us have a hard time building a career and picking the right jobs, read why we suck at that, my own experience and pointers to help you find a career direction.
Roswell: simple self-hosted password management server
Roswell is a simple rails app that allows you to share passwords, notes, and software licenses with select groups of people. It has user and group management, search, favorites and copy-to-clipboard. [more inside]
Asynchronous Processing in Ruby Series
Every web application has slow requests and the need for background jobs. Just published an article on the Miso engineering blog about asynchronous processing; how it works, why you should never use a database for it, and what we should use. Check out the first part of what will be a detailed series all about job processing, message queues and how to integrate them into your application.
2013 Fukuoka Ruby Award Competition -Entries to be judged by Matz
The Government of Fukuoka, Japan, together with “Matz” Matsumoto, would like to invite you to enter the 2013 Fukuoka Ruby Competition. If you have developed Ruby programs within the past 12 months, this is the competition you’ve been waiting for. Details are within this post (see first comment).
Wait, Chrome DevTools could do THAT?
Your browser is one of the most and best instrumented development platforms - you may just not realize it yet. Check out these videos to learn how to debug network, rendering, and javascript performance in Chrome, and also learn how to extend devtools with extensions, debugging protocol, and more!
Custom Wizard Urls in Rails with Wicked Gem
You’ve heard of the Wicked gem, that awesome library for making step-by-step wizards in Rails. Wicked just added the ability to use custom urls in your wizards. It’s simple, easy, and flexible check it out.
Ruby 2.0 today with BitNami Rubystack
The next major Ruby release (2.0.0) is currently planned for February. A preliminary version (Ruby 2.0.0-preview1) has been made available by the Ruby development team in order to give developers a chance to test their projects with this version and see if they are “Ruby 2.0 ready”. [more inside]
Why Ruby Class Methods Resist Refactoring
I just wrote a blog post about Why Ruby Class Methods Resist Refactoring, the implications, and what you can do about it.