30 July 2010

The Ruby Reflector

Topic

Rack

  Source Favicon
By Hongli Lai of Phusion Corporate Blog 7 hours ago.
Email

However, smart spawning was limited to Rails applications only, not for Rack applications. Starting from Rails 3, all Rails 3 applications are also Rack applications, and Phusion Passenger 2 only supports smart spawning of Rails 3 applications if you remove config.ru (thereby forcing Phusion Passenger to detect it as a Rails app, not a Rack app).

Phusion Passenger 3 now supports smart spawning for all Rack applications. This works transparently and without further configuration. …

blog.phusion.nl Read
  Source Favicon
Email

Since Rails 3 is closer to Rack, the Metal abstraction is no longer needed. The Rails Metal feature has been removed from Rails 3.

You can read the commit message to have an explanation of what to do with your existing Metals.

Only ActiveRecord fixtures in the test/fixtures folder

Commit 8ec085bf1804770a547894967fcdee24087fda87 breaks the usage of the fixtures folder for non-model fixtures. If you were used to place fixture files for your custom libraries …

simonecarletti.com Read
  Source Favicon
On Eddorre.com 8 days ago.
Email

You should now be able to add Rails and Rack applications with the Passenger Preference Pane. Note: When opening the Passenger Preference Pane, you might see this warning:

This is normal if you have a 64-bit machine. Since RubyCocoa is 32-bit, it just has to relaunch the preference pane.

RVM is a fast moving target and as such these installation instructions may be out of date by the time you read them. I try to update my older posts when I get new information, but if you stumble …

eddorre.com Read
  Source Favicon
By Ilya Grigorik of igvita.com 10 days ago.
Email

Server side tracing with Rack & Ruby

The original announcement at Google IO demoed this new functionality on top of GWT and the Spring TC server . However, this same functionality is also easily extracted into a Rack middleware - which is what I did. In fact, here is a preview of sample trace from a Rails 3 application using rack-speedtracer :

The middleware takes care of providing the headers, persisting the traces, and then serving all the data back to Speed Tracer…

igvita.com Read
  Source Favicon
Email

…2.3.6 bumped the Rack dependency from 1.0 to 1.1. Applications using other Rack frameworks like Sinatra would likely have been affected sooner as they're able to take advantage of a new Rack release more easily.

We first noticed a problem when deploying a Rails 2.3.5 app with JRuby (which was a real pain to track down as something in JRuby was activating Rack 1.1 even though Rails 2.3.5 uses 1.0) and then it cropped up again in one of our Sinatra apps.

So what's …

thewebfellas.com Read
  Source Favicon
On Opscode Blog 1 month ago.
Email

Chef's cookbook upload implementation made assumptions about the Rack input that were not valid when running Chef server under Unicorn. Thanks to Joshua Sierles of 37signals for his help troubleshooting this issue. (Ticket)

Erik Kastner found an issue where Chef was too strict checking the exit status of the chkconfig command when starting a service for the first time. Thanks, Erik! (ticket)

Marek found and fixed a bug in the retry logic for committing …

opscode.com Read
  Source Favicon
On Trevor Turk 1 month ago.
Email

…that pushed toward this goal. Rack/Fiber-Pool by Mike is a piece of Rack middleware that runs each request in it's own Fiber, allowing the possibility of easy cooperative scheduling in Rack applications. While EM-Synchrony provides a set of Fiber-aware EventMachine clients for common things like HTTP requests, Memcached, MySQL and Mongo.

ioquatix's jquery-syntax

JavaScript client-side syntax highlighting

An Interview about Programmers from a …

almosteffortless.com Read
  Source Favicon
By Peter Cooper of Ruby Inside 1 month ago.
Email

Developers hankering for more performance from their Rack and Rails applications are using Ruby 1.9 fibers and event-based EventMachine -driven libraries as a way to boost the performance of their applications - in opposition to scaling by merely running multiple processes or using threads.

It's no secret that thread-based development can be Hard™, even if you didn't have to deal with Ruby quirks like autoloading not working properly and the GIL ( Global Interpreter Lock

rubyinside.com Read
  Source Favicon
By James Stewart of a work on process 1 month ago.
Email

With Rails 3 inching ever closer, there's likely to be a good bit of attention on Rack Middleware over the coming months. It's there as an option in Rails 2.3, but with Rails 3 it'll get the attention it deserves.

Working on a few Rails 3 apps, I've been very pleased to find Coderack (via Robert Brook on twitter , I think). It's a directory of middleware, packed with interesting tools.

The one discovery I'm so far using is StaticFallback …

jystewart.net Read
  Source Favicon
By Hongli Lai of Phusion Corporate Blog 1 month ago.
Email

…we'll benchmark with a simple Rack application. Consider the following hello world Rack application: app = proc do |env| [200, { "Content-Type" => "text/html" }, ["hello world\n"]] end

run app

How fast does this run on Phusion Passenger 2.2?

Operating system: OS X Snow Leopard

ab -c 25 -n 10000 http://rack.test/ , pool size 25

Apache: 1628 req/sec

Nginx: 1843 req/sec

Now let's look at Phusion Passenger 3:

Operating system…

blog.phusion.nl Read