This Week’s Ruby News: RSpec 2.8.0 RC1, Minitest 2.8.0, and What’s New in Bundler 1.1? »
Created at: 13.11.2011 06:11, source: Ruby Inside, tagged: News
After last week's bumper set of releases the Ruby world seems a lot quieter this week :-) (Even here. I've been hidden away teaching my Ruby Reloaded course!)
Headlines
RSpec 2.8.0 RC1 Released
The next significant release of RSpec is afoot and its first release candidate is now out. Key improvements come to configuration (and being able to override it from the command line) and running examples in random (and pseudo-random) order.
Ruby 1.9.3-p0 RubyInstaller for Windows Available
RubyInstaller is a popular route to installing Ruby for Windows users, and a new version based on the all-new Ruby 1.9.3-p0 is now out.
Articles and Tutorials
Besides Being Faster, What Else is New in Bundler 1.1?
Recently, Pat Shaughnessy did a great post explaining why the forthcoming Bundler 1.1 will be faster than 1.0. This time around, he looks at some new features, including bundle outdated, bundle clean, specifying install paths, and creating bundles that will work on machines that don't have Bundler installed.
The Current and Future Ruby Platform
Adam Keys shares his thoughts on the long-term future potential of Ruby as a platform and where it's likely and unlikely to go.
A Self Guided Rails 3.1 Tutorial in an App
An interesting app built by Peter Jones that aims to be a self guided Rails 3.1 tutorial. The README is extensive and explains how to get started. There are also some reader exercises designed to stretch your coding muscles.
Screencasts
Be a Minecraft Modman with Purugin
At RubyConf 2011, Thomas Enebo (of JRuby core team) gave a talk about Purugin, a plugin framework for building Minecraft modifications using Ruby.
RailsCasts on the Mercury Editor
Mercury allows you to edit a section of HTML directly in the browser with a WISYIWYG editor. In this week's Railscasts, Ryan Bates shows how to integrate Mercury into a Rails app.
Libraries and code
Likeable: Storing 'Liked' Objects with Redis
Likeable is a new open-source Ruby library built by Gowalla to store 'likes' on items. It works with ActiveRecord objects but can be used with any Ruby object that implements an #id method. If you have Redis ready and waiting, it looks pretty easy to get going.
Example Rails 3.1.1 App using Mongoid and OmniAuth 1.0
With OmniAuth 1.0 out just last week, it's great to see Daniel Kehoe has updated his popular Rails 3.1 example app to the latest and greatest. If you want to see how to bring Mongoid and OmniAuth together with Rails 3.1, this is a great place to start.
Ruby Jobs of the Week
Ruby Developer [Cambridge, Massachusetts]
Every programmer at Litmus remembers the first time they searched for an answer to their programming problem, only to realize they were the first to try to take it on. These days, it's an almost daily occurrence around here. If that sounds exciting to you, then we'd like to talk to you.
Last but not least..
Gemnasium: Keep Up to Date With New Versions of Gems
Gemnasium is a new commercial service (yep, it costs money) that parses your Ruby projects' gem dependencies and notifies you when new versions are released. There's a 2 week trial if you want to get a feel for how it works.
more »
The Ruby Standard Library To Be Converted to Gems for Ruby 2.0? »
Created at: 07.11.2011 15:28, source: Ruby Inside, tagged: Miscellaneous News
The Ruby standard library (a.k.a. stdlib) is a collection of Ruby libraries that, at one time or another, have been considered useful enough to include with the MRI Ruby implementation by standard. Due to the popularity of these libraries, other Ruby implementations have then tended to re-implement or include the standard library too.
As part of the march toward Ruby 2.0, the state of Ruby's 'standard library' has come up for discussion. A popular line of thinking (and IMHO, very likely to actually happen) is that the standard library should be 'gemified' for Ruby 2.0.
Why Gemify the Standard Library?
The standard library approach has a significant flaw. Due to being a large and critical piece of software, MRI's release cycle is slow, yet some libraries require faster updates, perhaps for security or API updates. It would be better, therefore, to have the standard libraries maintained and distributed separately while still being included 'by default' with Ruby implementations.
We have already seen this sort of approach with RubyGems itself. For example, RubyGems is (at the time of writing) at version 1.8.11, yet the barely 2 week old Ruby 1.9.3p0 comes with RubyGems 1.8.10. While RubyGems is not itself distributed as a gem, it demonstrates the value of having something included with Ruby and still updateable separately.
Aaron Patterson (of the MRI Ruby Core Team) Explains
In his talk at RubyKaigi, Aaron tenderlove Patterson spoke about working out which parts of Ruby are 'third party libraries' and how to extract them. After such extraction, Ruby core should be able to commit to or change anything within MRI, but also reference third party gems that are included and installed by default on new installations. Aaron noted that being able to 'iterate faster' was a significant benefit of this approach.
Aaron also explained that with less coupling between Ruby implementations and the libraries they depend upon, it could be possible in future to upgrade your Ruby interpreter while still maintaining existing versions of the libraries you depend upon. This could help you migrate more gradually or merely help you maintain existing compatibility.
Further Reading
The process of gemifying the Ruby standard library is explained on the Ruby implementation wiki with the proposal, implementation, and a list of to do items already laid out. A more extensive discussion (which you can join) is also taking place on the official MRI Ruby issue tracker.
This process is still in its early stages and there are likely to be opportunities to help maintain or even become the maintainer for certain standard libraries, if you want to get involved.
more »
This Week’s Ruby News: Ruby 1.9.3p0, OmniAuth 1.0, MagLev 1.0 and More »
Created at: 06.11.2011 00:54, source: Ruby Inside, tagged: Compilation Posts News
The rapid descent of the weather towards winter is getting people to stay in and code and long may it continue given the quality of this week's releases: OmniAuth 1.0, MagLev 1.0, and Ruby 1.9.3, for starters!
Headlines
Ruby 1.9.3-p0 Released
The first production-ready release of Ruby 1.9.3 is finally here with patchlevel 0's release this week. I've already covered what's new on Ruby Inside (see the link below) but this is a nice step forward for MRI and worth checking out, especially if you want faster Rails loading times.
MagLev 1.0.0 Released
It's been a couple of years in the making but MagLev 1.0.0 has released. MagLev is an interesting Ruby implementation and virtual machine built by VMware's GemStone Systems division that orients itself around a novel object persistence layer. The best part? It's open source and MIT licensed. Expect to see more about this soon.
Ruby 1.9.1 is Dying (Support Ends Jan 31, 2012)
In a post to the ruby-core mailing list, Ruby 1.9 release manager Yuki Sonoda explains that Ruby 1.9.1 will get no official security fixes or releases after January 31, 2012.
Articles and Tutorials
A Guide to HTML5 Boilerplate for Rails Developers
The 'HTML5 Boilerplate' serves as a useful reference for Rails developers who want to provide structure and convention for the HTML, CSS, and Javascript of an app's front-end. But not all of HTML5 Boilerplate is useful for Rails developers, so with this guide, by Daniel Kehoe, you can pick and choose the components that are useful for your Rails apps.
Programming With Nothing: Computation with Nothing but Procs
The striking slidedeck from 'Programming With Nothing', a talk given by Tom Stuart at last week's Ruby Manor unconference. It demonstrates how to implement FizzBuzz solely by creating and calling Proc objects, all thanks to the lambda calculus.
Screencasts
Playing with PJAX (from RailsCasts)
PJAX allows you to quickly update a section of a page using AJAX with automatic pushState support (for URL changes). In the latest episode of RailsCasts, Ryan Bates demonstrates how to use the pjax_rails and rack-pjax gems.
14 Talks from the ArrrrCamp 2011 Conference
ArrrrCamp was held in Ghent, Belgium a month ago and now videos of the talks are available. Enjoy Corey Haines demonstrating fast Rails tests, Andrew Nesbitt on A/B split testing, Elise Huard on 'data driven development' and more.
The Ruby 1.9 Walkthrough: Go Deep on Ruby 1.9
The most comprehensive and up to date walkthrough of Ruby 1.9 for existing Rubyists. It's a commercial screencast by me, Peter Cooper. Ruby 1.9 guru James Edward Gray II even said he picked up plenty of stuff from it. There's a 5 minute sample available if you want to see how it works.
Pik Screencast: A Ruby Version Manager for Windows
Glenn Goodrich presents a 15 minute screencast taking a look at the Pik Ruby version manager for Microsoft Windows.
Libraries and code
OmniAuth 1.0: Authentication APIs Reach A New Level
OmniAuth is a popular library for performing authentication against numerous external authentication systems (like OAuth, OpenID, Facebook, and Twitter). Version 1.0 brings massive structural changes (for the better) and even includes capabilities to do your local/internal authentication with OmniAuth too. This is a big deal.
hash_syntax: Converts Ruby Files to and From Ruby 1.9 Hash Syntax
hash_syntax is an interesting little tool that can go through a Ruby project and convert the source either to or from using the new Ruby 1.9 hash literal syntax. It requires Ruby 1.9 to run.
Appraisal: Test Your Libraries Against Dependencies Far and Wide
Appraisal is a testing tool that integrates with Bundler to test your library against different versions of dependencies in repeatable scenarios called 'appraisals.'
Ruby Jobs of the Week
Senior Rails Engineers [San Francisco, California]
Sharethrough is looking for senior application engineers to help build out their reporting and trafficking platform. You will play a significant role in designing and architecting the core pieces underlying the entirety of Sharethrough's platform. They're located in SF's Financial District.
Last but not least..
Spree Conference 2012 (Feb 15-16, New York City)
Spree is probably the most popular open source e-commerce solution built on Rails and there's a conference covering both it and Rails generally in NYC next year. There's already an impressive speaker line up, a GitHub sponsored after party, and an evening hackathon.
[ad]Gauges is a real time traffic analytics system so you can analyze all your traffic in seconds. Collect and analyze your web traffic for all your sites in real-time using their fast, reliable, hosted system and see overview data for all your sites on a single page. Click here to learn more.
more »
This Week’s Top Ruby News: JRuby 1.6.5, A New Prag Prog Book, Fast Specs, Rails Style Guide and More »
Created at: 27.10.2011 19:28, source: Ruby Inside, tagged: Compilation Posts News
This week brings us a new JRuby release, some Ruby 2.0 news (but you knew that already, right? ;-)) and a new BDD library that seems to have struck a chord with the people I'm following on Twitter. Also, my Ruby Reloaded course is now also over half booked out so if you're curious, definitely check it out now.
Without further ado, here's a round up of the top Ruby news and releases from the last week, courtesy of Ruby Weekly:
Headlines and Releases
JRuby 1.6.5 Released: Rounding out Ruby 1.9 Support
The primary goal of JRuby's 1.6.x series is to round out the Ruby 1.9 support by fixing any reported incompatibilities. This continues with JRuby 1.6.5 and all JRuby users are encouraged to upgrade. 1.6.5 brings updates to RubyGems, fixes to 1.9 encoding and improved fiber performance.
Prag Prog Book 'Build Awesome Command-Line Applications in Ruby' in Beta
I haven't checked it out yet but the Pragmatic Programmers have announced the first beta release of a book by David Copeland about building well-formed command line applications in Ruby.
@CodeWisdom: Inspirational Programming Quotes via Twitter
I've started a new account on Twitter called @CodeWisdom, that's dedicated to sage programming related wisdom and quotes, as well as links to discussions on best practices and techniques. If you're on Twitter, follow along.
Ruby 2.0 Implementation Work Begins: What is Ruby 2.0 and What's New?
Ruby 2.0 is the next major version release of MRI Ruby, the de facto official Ruby implementation. What's it about and what might it include? Ruby Inside takes a look.
Articles and Tutorials
Connection Management in ActiveRecord (and How To Improve It)
Aaron 'tenderlove' Patterson talks about database connection management in ActiveRecord, how he's not pleased with it, and how he wants to step towards fixing it to be more like File's API.
Fast Specs!
Continuing the popular and recent string of posts about making your test or spec runs faster, Les Hill brings us more fast speccing goodness (RSpec specific, in this case) and shares a Rails app that implements his techniques.
Rails is Not Your Application
Speaking from the Uncle Bob bible, Nicholas Henry argues that Rails applications are better structured with a 'service layer' to better separate key application functionality from the restrictions of a framework. He presents a good case.
A Modern Guide to Threads (in Ruby)
Mike Perham recently spoke at RubyConf 2011 on some advanced threading-related topics. In this article, he explains, from a Ruby perspective, some gotchas with threads and why he thinks you should simply try and avoid them.
The Rails Style Guide: Rails 3 Advice in a Single README
The Rails Style Guide is a Rails 3-focused style guide presented in a single README file on GitHub. It covers a lot and is rather opinionated technology wise but is an easy read and you should pick up a few tips nonetheless.
A Quick Introduction to Rack
Satish Talim of RubyLearning presents a thorough introduction to Rack, the popular library that abstracts HTTP servers and requests in most common Ruby frameworks and webapp libraries.
Screencasts
Generating Spine Scaffolding with Rails
A super quick introduction to integrating Rails and Spine. Want to build a Rich Internet App in less than 8 minutes? Alex MacCaw shows you how to do it with Rails and the Spine JavaScript library.
Rails 3: Beginner to Builder - An 8 Part Rails Course Shared Online
Rails 3: Beginner to Builder was a course given by Richard Schneeman at the University of Texas over eight weeks and he's now shared the videos, slides, and other materials on his blog.
Libraries and code
Spinach: A New BDD Framework (Alternative to Cucumber)
Spinach is a new BDD framework that aims to resolve a number of perceived pain points with the popular Cucumber system. This blog post sums up the differences, pros and cons. Maybe it's the ideal way forward for you too?
GCC Installer for OS X (Without Xcode)
Gotten sick of needing to install Xcode when setting up RVM or just compiling Ruby on a new Mac? The osx-gcc-installer project can help you skip the pain by just giving you gcc in one hit.
High Voltage! Using Rails 3.1 for Static Sites
Nick Quaranto of Thoughtbot wanted to use Rails 3.1 in deploying a static site to take advantage of Rails' features and asset packaging. In this post, he demonstrates using the 'High Voltage' Rails engine to do just that.
Watch Tower: Track How Much Time You Spent at the Directory and File Level
WatchTower helps you track how much time you spend on all of your projects, at the project, directory, and file level. It's built in Ruby and supports TextMate and Xcode on Mac OS X.
Jobs of the Week
Last but not least..
Turbocharge Your Ruby Skillset With My Online Ruby Reloaded Course
Are you an intermediate Rubyist looking to boost your Ruby skillset with things like test driven development, OO design, building libraries and learning some of the lesser known nooks and crannies of Ruby? My Ruby Reloaded course runs in November and December and is now just over half sold out. If you want to join, check out this page for more info soon and use the code "SHOW" for $80 off the usual rate.
more »
Ruby 2.0 Release Schedule Announced: Roll on 2013! »
Created at: 24.10.2011 21:01, source: Ruby Inside, tagged: News
Today, Yusuke Endoh posted to the ruby-core mailing list noting that matz has admitted him as a Ruby 2.0 "release manager" and as part of his work, he has come up with a tentative schedule for Ruby 2.0's release. You can read the full post here.
I've been admitted as a 2.0 release manager by matz. I'll do my
best. As my first work, I'd like to announce a rough plan for 2.0
release. Anyone who is interested in 2.0, especially who is thinking
about feature proposal, should check it out.
Yusuke Endoh
The short version of the timeline?
- August 2012: 'Big feature' freeze. Any proposals and specs for 'major features' should be wrapped up for late August 2012 otherwise they will be deferred.
- October 2012: Feature freeze. A more conventional feature freeze.
- February 2013: 2.0 Release. The final version of 2.0 would, hopefully, be released.
A release in February 2013 would have historical significance by being the 20th anniversary of Ruby's creation. Note that Yusuke corrected the date to February 24, 2013 in a later posting.
Another note, confirming what Yugui had already said, is that Ruby 2.0 is to be "100% compatible" with Ruby 1.9.3.
If you want to learn more about Ruby 2.0, I recommend Ruby Inside's last post, Ruby 2.0 Implementation Work Begins: What is Ruby 2.0 and What’s New? where I summarized the anticipated new features in Ruby 2.0.
Thanks to Ruby guru Steve Klabnik for the heads up on this news. Follow him on Twitter, it's worth it.
more »
