Please find the attached installment of interesting links. Don’t forget to check in with greyscalegorilla for more. We’ve also inspired another weekly link collection from a Chicago Rubyist: This week’s highlights.
Sinatra is a Domain Specific Language(DSL) for quickly creating web-applications in ruby. It keeps a minimal feature set, leaving the developer to use the tools that best suit them and their application.
So, especially for those of you using computers, instead of Windows, here’s some key combos and other built-in helper applications you might not already know about.
Most of these sessions are in French, but Michael Koziarski did a great session on Rails Performance that’s in English and so was my iChat Q&A session.
In my benchmarks, speed increase I get when using Metal is about 1 millisecond. It’s very important to understand that it’s a constant speed increase. For example, if my Rails action takes 12ms, when I reimplement it all in Metal, it will take about 11 ms and not 4 ms.
I’ve been using the story branch pattern for development for most of the last year, and have found it useful, convenient and a lifesaver when things get weird. I’ve also watched teammates that do their work in the master branch, and it is more work for them to deal with issues and avoid making unintended messes. Like all useful practices it takes a little bit of effort up front, but it saves a lot more effort when it really matters.
One of the things we wanted to do with the new site was to have a place where we could display current comments, ideas, and conversations going on around the web about Highrise.
With the recently launched WordPress 2.7, bloggers now marvel at how clean, beautiful and usable is the new interface. But do you remember what it used to be a couple of months ago? For those who started using WordPress years ago, can you remember what your admin area looked like?
The rule of thirds is a compositional rule of thumb in visual arts such as painting, photography and design. The rule states that an image should be imagined as divided into nine equal parts by two equally-spaced horizontal lines and two equally-spaced vertical lines, and that important compositional elements should be placed along these lines or their intersections. Proponents of this technique claim that aligning an image with these points creates more tension, energy and interest in the photo than simply centering the feature would.
You are a not a designer. A designer is someone with training and experience in design. You may convince yourself otherwise, but your customers will not be fooled.
S3Fox Organizer helps you organize/manage/store your files on Amazon S3. It is easy to install and use as it is integrated into the browser.
Using fixtures for test data sucks. Concept of factories have emerged as a recommended alternative for fixtures. There were several plugins to help creating factories such as Object Daddy and Factory Girl. Recently I got to use another factory plugin called Machinist, which is written by Pete Yandell which looked far more impressive from the rest.
Think of Rails Metal as a subset of middleware intended for application-specific end points that need the extra speed (“write to the metal”, hence the name). Thanks to recent adoption of Rack sessions, these pieces of metal even have access to the same session as Rails. You can either run them as part of the Rails process or run them as individual services through rackup.
Or “How to set a far future Expires header in S3 to appease the YSlow gods”.
…if you do not already have an investment in an alternative solution, or if you’re feeling pain with that solution, you should definitely consider Passenger to be the default choice for Rails.
CloudFront is a content distribution service that caches S3 content at 14 locations on three continents based on the access patterns to the individual S3 objects. As far as I can tell, it’s a service that is quite distinct from S3, except that it currently uses S3 as the origin server (i.e. the original objects to be cached must reside on S3).
This tool allows you to do a lot of repository collaboration maintenance entirely from the website. You can setup an integration branch that you ask everyone to make sure their commits apply cleanly to and pull them in one by one, entirely online. It also gives you great visibility to what is out there in your forked network and what you have or have not brought in yet.
Some of this stuff use to be Rails only. But now that it’s a Rack middleware, any framework (that is based on Rack) can use it. For example, Rack::MailExceptions can now replace Rails exception_notification and merb_exceptions. So next time you build a framework plugin, think about building a middleware instead and contribute it to Ryan Tomayko’s project.
RailsConf Europe 08: Jeremy Kemper (37signals), Performance on Rails.
Sinatra is a DSL for quickly creating web-applications in Ruby with minimal effort, as quoted from the Sinatra website. It is great for really simple, really fast services and in general is fun to make apps with. Since I showed how to deploy your Rails apps on Dreamhost, I thought I would also cover how to deploy your Sinatra apps as well.
This isn’t so much a "development branch" as it is a service pack. And I don’t mean a Microsoft-style service pack (i.e. collected bug and security fixes), but a literal pack of services. There are bug fixes (and they pretty much address all of my initial issues with my G1), but there are a number of significant new features. Android = living up to its promise.
If, like me, you’ve fallen out of the habit of practicing your Latin (or Greek) and have become a little bit rusty, this might be just the thing: PDF versions of elementary textbooks are here and free for the downloading. The only caveat, of course, is that you now, officially, have no excuse for your shitty Latin.
I don’t know how this leaked to the Interwebs, but here it is; everything from battery-changing to running the on-board diagnostics.
A "dead drop" is the thing in spy movies where the contact anxiously deposits his purloined documents and then shuffles nervously away. The secret agent shows up at a later time, when he won’t be observed, and receives the purloined documents. If you can follow the details on how dude in this article is "stashing" messages in DNS caches, it’s a very cool read (warn: hacker knowledge required).
This is a cool little project that dynamically maps package dependencies in Debian. Not of much interest to the non-sysadmin crowd, but very cool if that’s your deal.
Customizing and saving your own maps /probably/ should have been built into the integrated Google Maps function on the G1 when it was launched. I know I bitched about it. And if I bitched about it, at least a dozen people /thought/ about bitching about it. Oh well, now that it’s here, all’s forgiven.
Until just moments ago, I had no idea that there was an easy way to configure the background for the grub boot loader. Having booted numerous RedHat/CentOS machines, I knew that it could be done; I just never knew how.
I am /really/ into LaTeX lately; ever since I discovered that you could generate really nice-looking PDF’s from the command-line without dicking around with a big, clunky "write" or "abiword" type program I’ve been hooked, lined and sinkered.
dnsmasq is to DNS/DHCP what ferm is to firewalls. If you find bind to be daunting, you can set something up lickety-split with dnsmasq and, if you’re feeling ambitious later on, go back to it and dig in deeper at your leisure; similarly, ferm allows for real quick firewall setup and gives you the option to shitcan that setup at a moment’s notice and implement another solution.