Scott's Thoughts

Toyota Recalls Vehicles for Sticking Accelerator Pedal

Of course they issue a recall for my truck the day after we just took it in for warranty work. Gah!

Fox developing U.S. version of ‘Torchwood’

File this under “likely to fail horribly”. What a terrible, terrible idea.

Control Your Net Identity

One of the ideas put forward here by Dave Winer, that you should control your own identity on the Internet, is one I whole-heartedly agree with. I’ve done points 1, 4, 5 and 6 and think that I’ll do #2 soon. I’m not sure I care quite as much about #3 yet, although I agree that reputation networks built on this idea would be powerful if they caught on widely. I’ll have to give that more thought.

Certainly, it’s clear to me that when companies like Google and Facebook own the profile and data by which other people know you, you’ve ceded a good deal of control to them. I’ve been planning to move my personal data of value to my own site and only include pointers to it from other sites, and plan to continue down that path. Since I don’t live in the public eye like Winer it hasn’t seemed as important. But the more I use these social networks, the less I think that my public exposure matters.

Dakar Rally 2010

“The Big Picture” on has a feature on the Dakar Rally, and the pictures there are above the normally already high level of quality seen there. Definitely worth a look.

Creating short Flickr URLs

I was just reading an interesting discussion on creating Flickr’s short URLs for a given photo and thought I’d pass it along. The bookmarklet posted there works great for me in Safari.

Big Red at the Coast

Big Red at the Coast, originally uploaded by ittybittybirdy.

Great pic of an Airstream painted all red. Striking!

“Trust me…I’m the Doctor”

David Tennant as the Tenth Doctor

Image via Wikipedia

I got a chance to catch up and watch the end of David Tennant’s Tenth Doctor. I thought the first part of “The End of Time” was overly drawn-out build-up, the second part delivered. It was the most touching regeneration I’ve seen, even with fairly contrived scenarios where the Doctor got to visit those who he’d adventured with over the last few years. It was also a farewell to Davies, who’s run the show since it came back from its hiatus, and it showed. In fact, a flashback to Eccleston’s Ninth Doctor is just about all that was missing from this, but I understand why it wasn’t there given that it’s Tennant’s swan song.

We’ve gotten a brief look at the Eleventh Doctor now, and I’m looking forward to seeing how the new crew fares. The trailer asks us to trust him, and I’ll do that for now.

Lightroom Graduated Filter Quick Demo

Here’s a nice, short video on a practical use of Lightroom’s graduated filter tool. I haven’t used it too much, but this is a good use for it.

Sram XX

Great write-up of the new Sram XX group over at Passion. I rode with Tom earlier this year—he doesn’t need a light bike like that to be fast, but I guess it can’t hurt. Sounds like a nice setup.

Testing Ruby: Some Time Later…

In an earlier post, I wrote about how I am trying to upgrade a long-neglected project and have been finding it difficult because I didn’t have adequate test coverage. Since then, I’ve gotten a chance to get some more experience with the tools I mentioned, so I thought I’d post an update here.

At first I was concerned that the tools that I was planning to use were young and changing quickly and I was also concerned that there seemed to be a lot of them. The latter concern hasn’t been too much trouble, although the former is a factor. Since that post all of the tools involved have revved, sometimes breaking compatibility with another. Issues haven’t lasted long, and it was always possible to wait to upgrade until the rest of the ecosystem caught up.

I haven’t done too much with Rspec specs yet, as I’ve been trying to cover my app’s behavior at a higher level with Cucumber and Webrat. Specifying the behavior of the app at a user level has been valuable in helping me update the application to the latest stable version of Rails (now 2.3.5) while still being reasonably certain that I haven’t done anything to screw up my app’s users.

I hadn’t deployed this app to production in many months, and I’ve since been using Git and GitHub as version control for the project, having converted my SVN repo to Git awhile back. That, along with Capistrano having evolved some, necessitated a revisiting of my deployment recipe. This was pretty straightforward, and I really like the simplicity Capistrano brings to deployment.

So, with a new recipe and an updated app with some tests and a new Rails version, I pushed the button…and it worked! Feels good to get that old project on the way to health, and this was a big first step to that.

It wasn’t without issue, though. The main page has a listing of how many comments a given posting has, and when someone comments on a post it gets incremented via the counter_cache mechanism Rails provides. For some reason this count is now being incremented twice for each new comment, and it only happens in production. Luckily, this isn’t exactly a big problem, so I’ve filed it as minor in my bug queue after doing an initial investigation that didn’t turn up an easy fix.

Back to the testing, I was already somewhat overwhelmed by the number of frameworks involved in BDD, and it turns out I needed some other tools too. I’d previously used fixtures for test data and was well aware of the pain they caused as the number of tests grew. So I looked into using a factory for test data, finding factory_girl and machinist. I’d found factory_girl first and started using it before coming across machinist. I like machinist’s API better, but since I’ve already gotten over the (admittedly not too steep) learning curve for factory_girl, I decided to stay with what I’ve got.

Machinist’s examples used Faker for providing test data in factory-created objects (which I briefly posted about previously), and it’s been a nice addition to the toolbox. I use it in conjunction with factory_girl, and have been pleased with how transparent but still readable things are with this method.

I’ve also stuck with RubyMine, which is now at 2.0.1RC and is pretty good. Coming from IDEA, whose inline error detection is bulletproof, it’s a bit of a shock how often it can’t figure out where a method has been defined (if at all). There is a lot of magic that Rails brings to the party, particularly in ActiveRecord objects, so I guess that it shouldn’t be that much of a surprise when it can’t figure it out. RubyMine’s built-in Cucumber scenario runner is handy for what I’ve been doing. Its Git integration is nowhere near as good as its SVN one though, and I do most interaction with Git on the command line still. I like RubyMine quite a lot and plan to stick with it. I hope it continues to evolve and improve.

Overall, it’s been quite a lot to learn, but it’s felt good to do it. Now, I need to get more coverage of the critical user scenarios in Cucumber so I can get into some of the really crufty code and replace it with new idioms that have evolved since the code was originally written. I’m particularly looking forward to pulling out a lot of the database conditions into named scopes and replacing some of the hacks I’ve got with Rails observers and other hooks. I’m sure that lower level of code change will prompt me to get to specifying behavior in Rspec, too.

NetFlix Bike Motivation

I really need to get back on the bike. Maybe Netflix can provide motivation.

It’s Time To Fire the TSA

Good rant/article.

But the TSA’s response to Abdulmutalib’s attempt makes one thing clear: We must stop pretending the TSA is making us safer.


Sea Lions Leave San Francisco?

SAN FRANCISCO - DECEMBER 12:  A group of sea l...

Image by Getty Images via Daylife

The sea lions that famously lounge on Pier 39 in San Francisco have apparently decided to move on and no one seems to know why.

Is Top Gear losing its drive?

Top Gear Russia

Image via Wikipedia

I’ve long enjoyed Top Gear, and was happy that BBC America has been showing new series/seasons closer to their original airings in England. But it sounds like the latest series isn’t so good. I hope that this article is wrong, but I already thought that they’ve been going too far with the sideshows and too far away from the cars. It sounds like they’ve gone even farther this season, which isn’t good. We’ll see soon enough, I guess.

Reblog this post [with Zemanta]

Hiding Photoshop with ⌘-H

It’s a simple thing to change ⌘-H in Photoshop to hide the app, bringing it in line with other Mac apps, but most people don’t know how. (By default it hides guides and other things.) Adobe’s going to rectify this in CS5 by giving a choice to the user on first launch. Nice move.

(To do this in CS4, go to Window –> Workspace –> Keyboard Shortcuts and Menus. Next to “Shortcuts For:” select “Application Menus”. “Hide Photoshop” is there and can be changed to ⌘-H.)


I just had the need to generate some test user data and came across Faker. It’s a small Ruby library and it’s perfect. It generates fake names, email addresses, domain names and more. Light and easy to use.

    irb(main):002:0> require 'faker'
    => true
    => "Fredy Bins III"
    => "Chester Bashirian"
    => ""
    irb(main):006:0> Faker::Internet.free_email
    => ""
    irb(main):007:0> Faker::Internet.domain_name
    => ""
    irb(main):008:0> Faker::Internet.user_name
    => "meghan"
    irb(main):009:0> Faker::Internet.user_name
    => "cullen"


Happy Winter Solstice!

Today is the winter solstice—the shortest day of the year, and the turning point to getting back to longer days. I’m looking forward to having more daylight and one fewer excuse to not be on the bike!

Last Night’s Twitter Attack: Change Your Password

The Twitter fail whale error message.

Image via Wikipedia

Last night, Twitter’s DNS records were maliciously changed to point at servers that Twitter does not control. If you tried to use Twitter during that time, depending on how you authenticate to Twitter, it’s possible that you sent your user name and password to those unauthorized servers. I’d recommend that you immediately change your Twitter password.

And don’t stop there. If you use that password at other sites—a practice that’s all too common—make sure to go change it at those sites too. Especially if you use the same user name. While you’re at it, take the time to use a different password at each of those locations. Use a password manager to help you remember them if it helps. I use the excellent 1password personally, and highly recommend it.

16 Days in the Himalayas (with a GF1)

This blog article is of a trip to the Himalayas with a Panasonic GF1 in tow. The photography is excellent, and the article itself is a great blend of a trip report and a review of the camera. I found the writing to be a bit choppy in places, but appreciate the magazine-like layout of the site. Worth a read.

Desaturated Santa

Me & Frank Chu, originally uploaded by BrodyQat.

(via Laughing Squid.)

Reblog this post [with Zemanta]