This Week in Ruby: Ruby 2.0 Refinements, Cost of GC::Profiler, and BritRuby Cancelled
Welcome to this week’s roundup of Ruby news, articles, videos, and more, cobbled together from my e-mail newsletter, Ruby Weekly. If you've been celebrating Thanksgiving this week, I hope you're having a good break.
Highlights include: Charles Nutter on Ruby 2.0 refinements, the cancellation of the British Ruby Conference, and DHH's latest object instantiation (thanks Doug Renn).
Refining Ruby (or The Best Study of Ruby 2.0 Refinements Yet)
I've editorialized the title somewhat but this article by Charles Nutter is a great look into the world of 'refinements' in Ruby 2.0, what they're intended for, and all of the challenges they throw up, both for developers and language implementers.
The British Ruby Conference.. Cancelled
It's a pretty long story but the British Ruby Conference, which I was getting rather excited about.. is no more. There's a statement as to why but if you want to join the melee of conversation, try here or here. Luckily other attempts are now afoot - news coming soon.
DHH's Latest Project: Colt Heinemeier Hansson
It's DHH's latest release :-) Congratulations to him and his growing family. And before anyone complains about having a human interest story here, cheer up a bit - it's Thanksgiving ;-)
Edge Rails Now Tested on Ruby 2.0 with Travis CI
Little to read but Ruby 2.0 is now most clearly on the edge Rails developers' radar.
Deploying Ruby Applications to AWS Elastic Beanstalk with Git
Just last week, Amazon announced Ruby support for its AWS Elastic Beanstalk semi-automated deployment and scaling system. This tutorial by Loren Segal fills in all the blanks by walking us through using it from start to finish with a Rails app.
Zen and The Art of Speaking at RubyConf 2012 - The dRuby Way
An excellent story and walkthrough about both preparing a talk for RubyConf 2012 and what happened while the speaker was there. More articles like this please.
The Cost of Ruby 1.9.3's GC::Profiler
James Golick presents an examination of the flaws in Ruby 1.9.3's included garbage collector instrumentation in his typically punchy style. Luckily he presents a potential solution too: GC::BasicProfiler.
Is Your Application Running with Ruby - Slow?
Two developers moved a large Ruby webapp between two machines and experienced a 50% drop in performance. Why? Clue: It was something to do with RVM.
A 2012 Mac Setup for Ruby development
We see articles like this quite often but there are a lot of handy links here despite not being particularly Ruby focused.
A Lightweight 'CMS' Using Ruby and Google Drive
An interesting approach to content management. Let users enter text in a Google Drive spreadsheet, grab it with Ruby, and use the data to create your content or templates locally.
A 'yield' Gotcha Every Ruby Developer Should Be Aware of
It's not a true yield gotcha but is something you might trip over nonetheless regarding earlier than expected returns. Luckily, 'ensure' blocks help save the day.
Profiling Ruby (or How I Made Rails Start Up Faster)
Four steps: measure, find the problem, fix, and repeat.
Watching and Listening
Guest User Records - RailsCasts
Ryan Bates is back with another Rails Cast, this time demonstrating how to create a 'temporary guest record' in a Rails app so users can try out apps without filling in their information up front.
Matz Speaking at LinkedIn about Ruby
Back in October, Matz spoke at LinkedIn about his background, Ruby's history, and his current work. I enjoyed this.
Libraries and Code
Convert Syck to Psych YAML Format
Change has been afoot with Ruby's attitude to YAML parsing for a while now but the shift from Syck to Psych can still cause issues. If you still have legacy Syck-produced YAML files around that are causing problems, this code might help.
Daybreak: A Simple Key/Value Store for Ruby
Very lightweight and very Ruby (in the best possible way).
chruby: Changes The Current Ruby
An 'ultra-minimal' (around 80 lines) 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. chruby only modifies $PATH, $GEM_HOME and $GEM_PATH, and does not hook cd or rely on shims.
Last but not least..
Giles Bowkett: 'I Wrote An eBook In A Week'
Being silly enough to not send me a copy for review or give me a title, all I can do is say Giles has written an interesting sounding book about how 'DHH gets OOP wrong' but why that's OK. It costs money but hopefully we'll see some reviews soon. He does have a no-quibble refund policy, however, and his writing is always an eye opener.