Cool Link Roundup

I recently re-discovered A Fresh Cup, and boy have I missed a lot! Here’s a roundup of some must-see pages and sites, about 3/4 of them coming from A Fresh Cup:

  • rspec_api_documentation – Let your RSpec tests auto-generate API documentation. Brilliant!
  • I work on a project that makes some use of Backbone, but I don’t know a ton about how it works. Between Les Hill’s “Backbone.js and Rails” and This Mozilla Hacks post, there’s plenty of explanation to go around.
  • I’ve been playing around with snap-guest a good bit lately. (I posted about getting started with it the other day, even.) It’s pretty great. Vagrant is another popular option, especially if you’re on an OS without native virtualization support.
  • Name suggestions for Fedora 19 are now being accepted. Perhaps it will end up with a name better than “Spherical Cow” this time.
  • Better Specs is a (slightly opinionated) set of guidelines for improving your RSpec tests.
  • jQuery Fundamentals is an introduction to jQuery, complete with a ton of examples you can edit and run in-browser.
  • Turbolinks, coming to Rails 4, brings the magic and speed of pjax to Rails, and will be default behavior.
  • Honeybadger is a hosted exception-tracking service for Rails. That’s not a new concept, but it looks great and cheap, at a time when the competition I know of has gotten expensive.
  • A recent StackOverflow question asks: “Why does HTML think ‘chucknorris’ is a color?” The answer, sadly, is that non-hex characters are ignored, not that Chuck Norris is that awesome. (Though he is.)
  • SubtlePatterns.com has, well, subtle patterns that are free for use as backgrounds on your site. Many provide a light, unobtrusive texture.
  • Ruby courses on CodeAcademy.com.
  • Jetstrap, a web-based tool for building Bootstrap-based layouts.
  • WebPlatform.org is an effort to document web standards and practices, with a bunch of big names behind it — Facebook, Google, Mozilla, Microsoft, Adobe, Opera, W3C, Nokia, and HP. It will be interesting to watch this evolve.
  • limiter is a Rack app for rate-limiting inbound requests, though with sparse documentation.
  • Slavery is a gem that allows you to make ActiveRecord aware of read-only database slaves, and point selected queries at the slave. The default remains the master, but you can wrap code in a Slavery.on_slave {} block where replication lag isn’t a major fear.
  • I’m at a loss to explain Xiki, so watch the first screencast. Prepare for your mind to be blown.
  • Mail Pilot is a hosted mail client for people who use email as a to-do list. Or something like that. It’s an interesting idea, though I’m still trying to wrap my head around how I’d use it, and how I could trust a third-party service to access my email.
  • A mindmap of what’s new in Rails 4. I’ve seen several trendy people rave about mind-mapping lately. The linked one was done in MindNode, a Mac/iOS app, but there is no shortage of similar tools.
  • On the note of Rails 4, there was a presentation at Boston.rb about this topic by Prem Sichanugrist, though I sadly couldn’t attend. But the video and the slides are available.
  • My peers are more into Codepen, but CSSDeck supports collaborative editing, which is especially useful when your team involves people thousands of miles away.
  • Shortcat is a Mac app enabling keyboard shortcuts anywhere the Accessibility API works, reducing the amount of time you spend using the mouse.
  • capybara-screenshot does what its name probably suggests: saves a screenshot of failing test scenarios using capybara.
  • Postgres apparently supports arrays in columns. As of Rails 4, Rails will support that. The comments there indicate that for non-PG databases, they’ll “fall back” to the current behavior, which is to serialize the array as yaml. (One has to wonder, though — when is it appropriate to use an array in the database instead of creating a proper association?)

Whew! I think that about does it for today.

Make your life easier with Firefox bookmark keywords

I think this is one of those things that people either know about and use actively, or have never heard of. If you’re the latter: read on!

I often need to view bugs in Bugzilla by bug number, and typically resort to going through my history and hacking the URL. It works, but it’s kind of a pain. But you can make it as easy as typing “bz 123456” to look up bug #123456.

Pull up the Bookmarks menu (“Bookmarks” / “Show All Bookmarks”), and then select the “Bookmarks Menu.” Then, “Organize” / “New Bookmark.” There’s probably an easier way, but it eludes me. Here’s an example of what I filled in:

 

The “keyword” is what you can type into the URL bar to trigger the bookmark. %s is the rest of what you type, analogous to ARGV for you shell scripters. What’s magical is that you can plug %s into the Location in the bookmark.

So now “rm 1234” will look up task 1234 in Redmine. Setting one up for Bugzilla (I named mine “bz”) is just as easy.

A Tale of Two Servers

While you might think that working with cloud computing means I don’t deal with hardware, really the opposite is true. True, there’s the public cloud like Amazon EC2 or Rackspace. But then there are private, on-premise “clouds” — VMware vSphere, Red Hat’s RHEV-M, OpenStack, etc. And you can’t exactly run a virtualization environment inside of a virtual machine, so suddenly there’s a whole bunch of hardware needed.

While I have access to setups for my “real” work, it’s a lot harder to say, “I’d like to tinker with setting up RHEV” or “I want to play around with Gluster” and grab a couple of machines to do it on when they’re shared work resources. Used server hardware can be absurdly cheap on eBay, so I decided to pick up a few machines. The other thing I like about buying things on eBay and not needing them in any particular hurry is that you can only buy things when they are legitimately great deals. So today the second of two servers arrived. Here they are:

(Obviously, I need to get a rack/cabinet in which to mount these next.)

What’s interesting to me is how insanely different the two boxes are.

The top server is a Cobalt RaQ 2, sporting a 250 MHz MIPS processor and 128 MB RAM. It takes a single ATA drive, though none came with the unit I bought.

The bottom server, which doesn’t look nearly as cool, is a Supermicro machine. I picked it up for $230, shipped, on eBay. It’s got dual sockets, each a quad-core Xeon, and 16GB RAM. The four hot-swap SATA bays are empty, but not for long.

The Cobalt was more of a collector’s item. I’m having a hard time pinning down the actual history/timeline, but based on the owner’s manual’s copyright date, it was released towards the end of the 90’s, possibly 1999. And back then, I thought the RaQ was the coolest thing ever. It looked incredibly awesome, but it was also this amazing appliance — a total web-hosting setup in one little pizza-box enclosure. It got me intrigued. But being a kid, there was no way I could have bought a cutting-edge server appliance, much less paid to host it somewhere.

But today, it’s something else about it that intrigues me — the advertised power draw is 35 Watts. The 250 MHz MIPS CPU and 128 MB memory don’t exactly qualify this thing as a powerhouse, but I’d like to throw one of a handful of the Linux distros with MIPS support on it and use it as a random always-on Linux box, for things like a DNS cache, ssh bastion host into my home network, NTP server, etc.

I’ll let you know how it goes.