You are currently browsing the monthly archive for December, 2007.
My Matias Tactile Pro 2.0 keyboard arrived and it rocks. I may never use the high-speed USB port or the special symbols on the keycaps but the key action is great.
- Instant Rails 2.0 Released on RubyForge - The latest bits for easy test-driving on Windows. Think of this as sort of a “Live CD” for Rails.
- Installing Postgres 8.2 on Leopard (includes system account!) - Creating a system account on Leopard is absurdly difficult.
- ProFTPD - Looks like I’m going to spend some quality time learning ProFTPD configuration, since it can do extremely loose coupling (via shared database table) authentication with other applications.
- Lingon - Nice little GUI for managing Leopard launchd files. Yeah, if I was a real developer I’d use some primitive command-line text editor for this.
- Wondering if Subversion is Good Enough - Larry O’Brien is ready to stop recommending Subversion due to its quirks and annoyances. I get annoyed too, but on the other side, I have to weigh the SVN ecosystem; it’s integrated with a bunch of other things I’m using right now. So far nothing is compelling enough to switch.
- Rolling with Rails 2.0 - The First Full Tutorial - An update of the classic weblog tutorial to show off the new Rails 2.0 features.
I just put the finishing touches on The Daily Grind #1305, which is scheduled to be published tomorrow morning. That disposes of my last .NET-related work, and means I’ve successfully carried out the plan I hatched a bit over a year ago of weaning myself from Microsoft. I still have a Windows machine sitting on my desk (running Windows Server 2003; I see no reason why I’ll ever install Vista anywhere), but at this point it is getting used for next-to-nothing (primarily the loose ends of my 2007 bookkeeping; starting 1/1/2008 that’s moving to one of the Macs as well).
So, at this point, my income is split between open-source programming (primarily Rails, though there’s some hint of work in Merb on the horizon), writing for Web Worker Daily, and a tiny bit of Second Life income (with some potential for more there as well). 2007’s income was good enough to do my share of keeping us alive, but that included a big chunk of advertising income from the Larkware site, which from here on out will generate precisely $0. But I feel reasonably confident that I’ll continue to find work that meets my ethical standards, and that pays well enough to keep the wolf away from the door.
Oh, and - I’m enjoying coding now much more than I was a year ago when I was writing C# code with Visual Studio. I still have plenty to learn, but I’m happy to be learning, instead of feeling like I’m constantly buried under a stream of half-baked releases. So that’s a plus too.
All in all, it’s been a very rewarding transition year.
Yesterday’s lesson: mystery site errors may just mean that ferret has gone off into never-never land.
- AWS Scratch Pads - Turns out Amazon has built simple online forms to let you play with their various public web services. You’ll need an AWS developer key to mess around here.
- Testing for ruby 1.8 and 1.9 using multiruby - How to have your code and eat it too. Multiruby lets you simultaneously run test suites on two side-by-side versions of ruby.
Spent a chunk of yesterday setting up monit to restart bloated mongrels. Gad, that sounds nearly pornographic.
- Deploying Rails Applications: A Step-by-Step Guide - Still in beta, this Pragmatic Press book gave me a good start on getting monit set up despite a few typos.
- monit - The official site for this monitoring and management utility.
- Bowtie - Apache and monit configuration generator.
- god - Alternative to monit that I stumbled over too late to seriously consider for the current project.
- Big Medium - This looks like a nice midrange CMS for sites that don’t need to be completely custom.
We had a fine Christmas here, though as I spent a few minutes of it restarting stuck mongrel instances I think I need to move forward on getting monit in place today.
- Ruby 1.9.0 is Released - The official announcement. Sheesh, I’m not done learning 1.8.x yet!
- Ruby 1.9.0 has been released - Chu Yeow’s coverage of what this means for Rails (summary: it’s not time to switch yet).
- Ruby 1.9—Right for You? - Dave Thomas points out that this is not a production release, and discusses how he’s set up side-by-side installations with Ruby 1.8.x.
- Ruport 1.4 - New release of this business reporting toolset for Ruby.
- Paginatin’ Christmas - A pile of resources around the
will_paginateplugin. - EC2 Firefox Extension is now Open Source - Looks useful for those who are managing their infrastructure via Amazon Web Services.
- Jungle Disk - I’ve been using Mozy for online backups, but for some reason that’s been getting increasingly unreliable for me. Now that Jungle Disk can do automatic backups, I’m probably going to switch. The one thing I don’t know is whether it’s smart about only backing up changed files.
- Triple Christmas Present - Hobo 0.7.1 with some new documentation.
- REST In Place - AJAX in-place editor plugin designed to work with Rails RESTful controllers.
Although I’m aiming for daily updates here, I do plan to take tomorrow off. Merry Christmas!
- Tactile Pro 2.0 - Have I ever mentioned how much I detest membrane keyboards? The Mac Pro keyboard is better than most, but it still stinks. It turns out that Matias makes a mechanical switch keyboard for Mac; I’ve got one on order, and I’ll let you know if it’s as good as the Unicomp PC keyboards when it arrives.
- BetterZip - An actual GUI archive application for OS X. Not entirely sure this is worth paying for, though I do get annoyed at the lack of fine control over zip options that the OS gives by default.
- BitNami WordPress stack - This is what I used to install WordPress, and it was pretty painless. I did have to muck around in the Apache configuration files, though; by default it puts the install on port 8080 in the /wordpress folder.
- Installing ffmpeg on Mac OS X - Needed this for a client the other day; here’s the easiest install instructions I could find.
- Acts_as_ferret Tutorial - Another chunk of software I’m needing to come up to speed on; this is helpful.
If you’re sharp-eyed (and your DNS server has picked up the new address for A Fresh Cup, which it must have, otherwise you wouldn’t be reading this) you may have noticed some changes around here. The root cause is simple: I’ve decided to abandon the Rails-based Mephisto and move to a locally-hosted copy of WordPress instead. There were just too many little things about Mephisto nagging at me and I just wasn’t finding time to fix them.
I considered putting time in to customize Mephisto, or to move forward to edge Mephisto, or to switch to one of the other Rails systems like Type or SimpleLog. But ultimately, I came to the conclusion that tweaking blog software isn’t really something I want to spend time on. There are good, mature, open-source systems available, so I might as well run one of them and get on with the rest of my life and business.
The change is not, alas, completely painless. WordPress does not understand how to import from Mephisto, so I hacked together a bridge for the past content via RSS. But I didn’t move tags or comments (and I doubt I will ever find the time to do so). And the URLs for individual articles have changed (bad blogger, no biscuit). But moving forward, I hope, things should be stable.
There are days I actually feel like I understand what I’m doing with this Rails stuff. Yesterday was one of them.
- RubyGems 1.0.1 - The gem system for installing Ruby software actually hit release 1.0.0 and then in quick succession 1.0.1. Nothing too earthshaking but nice to see an official non-zero version.
- Better Nested Set - Successor to acts_as_tree and acts_as_nested_set. I used it in a project yesterday and it’s doing fine, though I couldn’t get the select helper for a view to do what I wanted and had to roll my own.
- Installing RMagick Gem On OS X 10.5 - I did a ports/gem based install of RMagick this time around and it was easier than building from source. I did have to
sudo port install ghostscriptin addition to the steps listed here to get it to work.
I spent a good chunk of yesterday wishing that someone had already written an RSpec book. I’ve got the general idea, and the PeepCode screencasts are great, but I find I really benefit from paper I can flip through when learning a new tech. Maybe there’s a nice RDoc-to-pdf bridge out there somewhere.
- GrowlMail in Leopard - I’m surprised at how useful I find Growl notifications. I’ve been living - unhappily - without Growl notifications from Mail since upgrading to Leopard. Here’s news of a new beta of GrowlMail that fixes the problem. I installed it, and it’s working fine for me.
Yesterday was one of those days for tracing through code for two hours and then writing five characters to fix a bug. They were the right five characters, though.
- Stacks Overlays - I got sick of the stupid default appearance of OS X stacks and installed this fix.
- Firefox 3 Beta 2 - I’ve been using Firefox 3 as my default browser since beta 1 came out. It’s been quite stable for me.
- GemInstaller - Automated management tool for Ruby gems, designed to avoid the “but it works on my machine” syndrome when moving to production (among other issues).
- Amazon DevPay - Limited Beta - Yet another new service from the Amazon Web Services team: billing and account management.
I spent much of yesterday doing an archive & install on OS X 10.5 on my main dev box, then reinstalling all the gems I use. Took a while to get everything set up, but it was worth it to not have two installs of ruby and two battling sets of gems. I think.
- Rails 2.0.2: Some new defaults and a few fixes - Here’s the official announcement of yesterday’s minor Rails release.
- Rails 2.0.2 released, so what’s new? - Another take on the new features.
- Sqliteman - With Sqlite3 being suddenly the default Rails database (as of Rails 2.0.2), I spent some time looking around for Sqllite GUIs that work under OS X. (Yeah, I’m a wimp that way). This one has the advantage of being free, though it’s not real well-organized and has that Qt look to it.
- RazorSQL - Commercial database query tool that claims Sqlite compatibility via JDBC. Haven’t tried it.
- SQLite Manager 0.2.11 - Sqlite database tool implemented as a Firefox add-on. Actually not bad.
- What’s Coming in Instant Rails 2.0 and Beyond - The Road Map - Plans from the new project maintainer.
- Installing ruby mysql gem in OSX 10.5 - I decided I could do without building everything from source this time around. MySQL was the trickiest to get cooking from a download & gem install.
- Ruport 1.4 Preview Release - If you’re using Ruport for reporting you probably want to have a look at this.
- RSpec Textmate Bundle errors - I had a good deal of trouble getting RSpec to work correctly within TextMate. This thread describes the symptom, but the fixes there did not work for me. Ultimately I had to checkout the RSpec trunk svn, build that, and symlink the resulting TextMate bundle in to make sure everything was synched.
- Setting up autotest to use Growl - A nice little extra if you’re doing continuous testing.
- Bazaar - Distributed version control system with an easy migration path from subversion.
I spent most of yesterday learning about RSpec. Fun stuff, even if I can’t get the TextMate integration to work yet.
- A Meme I’d Like To Crush - Greg Wilson, who actually knows a thing or two on the subject, discusses the current swooning over Erlang ’cause it’s so parallelizable.
- Merb 0.4.2 released. - Just as I get interested, they push out a new version. The difference between open source software and a red queen’s race would be? (That’s a trick question.)
- RSpec 1.1 - A significant release of the latest piece of software that I’m trying to spend quality time with.
- Campfire Notifier for Cruise Control - I’m not actually using either Campfire or Cruise Control anywhere at the moment, but if I was, this would be cool.
- Using Git with SVN - All of a sudden I’m seeing a lot of references to using git for source code control instead of svn. Looks like it’s reasonably possible to bridge the two.
- Updating RubyGems and Rails in Leopard - I wonder if this would cure some of the versionitis I’m having on one of my dev boxes. Probably not, because I think I compiled everything from source on that box in the first place.
- GoogleCharts - I figured someone would wrap up the new Google Charting API in a nice gem for Ruby & Rails. I wasn’t disappointed.
- Using SSH Agent With Mac OS X Leopard - Came in handy for me as I switched over to letting Leopard be my ssh agent.
- Google Maps API Icon Shadowmaker - This is going to come in handy on the site where I’m using Google Maps for a client.
- BitNami - Pre-packaged install stacks for a lot of open source apps across a variety of operating systems. They have a Ruby and Rails package that provides an alternative to Instant Rails. (via Anthony Eden)
- jrubyhub.com - More JRuby resources than you can shake a stick at.
I got Merb and DataMapper installed from their respective SVN repositories yesterday and immediately hit a roadblock. I suspect this Mac is suffering a small case of versionitis at this point. I wonder if I know enough to solve it yet.
- Amazon SimpleDB- Limited Beta - Another pay-as-you-go web service API from Amazon.
- Programming Ruby 3: The Pragmatic Programmers’ Guide, 3rd Edition - The next pickaxe is coming, with discounts for buyers of the 2nd edition. More details on the revision plans here
- better rails caching - A new caching plugin to make automatic use of memcached.
No doubt there is some tool to make the data cleanup I spent yesterday afternoon doing easier, but if it’s the sort of thing that only needs doing once in a while, straight SQL queries are as easy as anything else. At some point it’s not worth learning one more tool for occasional use.
- Instant Rails - Drop-in and run install for Windows with Ruby, Rails, Apache, and MySQL. Looked like it was taking a dirt nap but a new project admin is in place and it’s moving again.
- BackgroundFu - Another way to run Rails-launched tasks in the background.
- Fluid - Wrap up web applications as faux desktop apps for OS X Leopard.
I spent a bit of time yesterday poking around for alternatives to looking at RDoc-generated documentation with the stock RDoc templates in a web browser, which I find terribly ugly and unintuitively organized.
- The RDoc Dashboard Widget - This would be exactly what I’m looking for, except that it’s a dashboard widget. I find the enforced context switching of OS X dashboard widgets terribly offputting.
- Allison - An alternative HTML template for RDoc. At least it’s prettier than that stock abomination.
I sent out pretty much the last round of advertising invoices for the Larkware site yesterday. That site is winding down fast.
- Heroku - Create a Rails site online, edit it in the browser, in fact go through the whole development cycle without touching anything other than a browser. In limited beta. Looks interesting.
- BackgrounDRb - Ruby job server and scheduler, intended for running long-running tasks in Rails without bollixing up your application’s responsiveness. Now at the 1.0-pre-release stage.
- Merb - Bookmarking the Merb framework site for my own use, since it looks like I may end up involved in a Merb-backed project soon enough.
- DataMapper - Ruby-based ORM which, among other things, works with Merb.
- Engines Plugin - Now updated for Rails 2.0.
- Safari AdBlock - Simple new ad-blocker for Safari. I looked at switching from Firefox to Safari on my Mac the other day, but for the number of tabs I run with (typically 40-50) Safari gobbles up just as much RAM, takes nearly as much CPU, and loses out completely on customizability. So poo on it.
- Rails 2.0 - a feature a day - Chu Yeow promises to dig into some of the more obscure changes in the new version.
- Free Online Ruby Programming Course - Online, instructor-led course starting in January. If you’re new to Ruby and learn better with company, this looks like a good bet.
Wow, 100 of these. I guess that’s some indication that I’m sticking with this non-Microsoft universe. In fact, I’ll be completely shutting down my .NET-oriented blog at the end of the year, as I’ve transitioned all of my work life over to other things.
- Pulse - Configuration manager for Eclipse-based products, now available for the Mac.
- Dynamic System Modeling in Second Life - Jeff Barr used Second Life to build a 3D animated representation of a complex Amazon Web Services system. I think there’s a lot of promise to this approach for architectural discussions.
- Testing in Rails: Part 5 - Unit Testing ActiveRecord Models - Part of the ongoing series from Null is Love.
- Installing RMagick on Leopard - I just had a good long wrestle with this, complicated by a stale MacPorts install of ImageMagick. This is the article that finally sorted out all the bits for me.
- Advanced Rails Recipes Now in Beta - Now that Rails 2.0 is out, here’s some good reading to go with it.
- Rails 2.0 Final Released! - Summary of Features - Ryan links to a whole mess of articles he’s written about the new stuff.
Now that I’m back to writing Rails code daily, it’s all starting to make sense to me. Well, almost. Just in time for a new version!
- Rails 2.0 - it’s landed - Looks like a release announcement is imminent.
- Redirecting nginx to Tomcat. - Somehow I hope never to have to do this. Most of the Rails deployment stack is still a black art to me, even though I’ve managed to set it up successfully a few times. A failing, I know.
- MacSanta - A dangerous site to watch if you have a relatively new Mac and like utilities. 20% discounts on different vendors’ software every day until Christmas. They have an RSS feed too.
- SVNMate - Subversion integration directly in the TextMate file tree. (via Softies on Rails)
Always nice to wake up to email from a client saying “by the way, we’re demoing the site tomorrow, here’s a sudden list of changes we’d like made.”
- ZigVersion - Subversion UI for Mac. Haven’t tried it but saw some Twitter-friends say good things about it.
I ended up spending most of yesterday writing what turned out to be about 6 lines of controller and 20 lines of view. I’m not sure whether to be proud of my skills at condensing things down or appalled that it took me so long to find the reasonably elegant Rails way of doing things. But I met the customer’s deadline.
- Setting up a new Rails app with Git and Setting up a new remote git repository - Toolman Tim shows how to use the sexy new alternative source code control system with Rails.
- The Fully Upturned Bin - whytheluckystiff from a few years ago on Ruby memory management and garbage collection, a subject I’m starting to dig into a bit.
- ActsAsTaggableOn Released - An even more flexible version of ActsAsTaggableOnSteroids (which I’ve been using in a couple of projects).
It’s too early in the morning to attempt to say anything really meaningful here, so I’ll just pass on a few links instead.
- TextAreaWithStatus 1.0 released - Automagically add those “you have x characters remaining” messages to textareas in Rails. I actually have an application cooking right now that can benefit from this, so this saves me scouting out the small amount of Javascript involved.
- iPhone on Rails - Creating an iPhone optimised version of your Rails site using iUI and Rails 2 - I don’t personally have the slightest interest in owning an iPhone, but Rails 2 magic makes this pretty easy.
- Rails 2 Upgrade Notes - Courtesy of Slash Dot Dash. If your code is in good shape, upgrading an existing application may not be too hard. If your code is in bad shape, well, who’s to blame?
- Faker - Ruby library for generating fake but plausible names, addresses, phone numbers, and so on. (via Ruby Inside)
- Hobo 0.7 released - Another round of this rapid design extension to Rails.
- WTFPL - Do What The Fuck You Want To Public License - A sort of reduction ad absurdum for the endless open source licensing debates.
- Really Simple History 0.6 goes public - Javascript library to take care of bookmarking and the back button in Ajaxy applications. Another one for the “I should investigate this some day” list.
I’m starting to have flashes of occasionally thinking in Ruby, which is good. At least I can tell when there’s a better way to do things, even if I can’t always figure it out before I give up and resort to brute force in order to get things done for the client.
- Perl On Rails; everything on Rails? - Phil Crissman lists and links to a batch of Rails-like frameworks floating around these days.
- A Quick Jaunt Through Merb’s Framework Code - Tutorial for folks who want to poke at the internals of Merb. One of these days I need to at least look at its public face.

