I have my GF1. Oddly enough, a local camera shop got it ahead of Amazon—well ahead, apparently, since Amazon isn’t supposed to get the 20mm kit I pre-ordered for some time. Initial impressions, with ~50 shots of random crap:

Build quality is excellent, but not over-done. It’s a nice package. It’s a little bigger than the Canon G9, but not so much so that I’d put it in another category. I have a case that I use to store the G9 on my CamelBak while riding—the GF1 fits in it without the 20mm lens on, but not quite with. Pretty close, though.

The rear LCD is amazing. It updates very quickly. It think it might be even better than the one on my D700. I’ll have to look at them back-to-back.

The menu system is pretty good. In general, I like the G9 menu system better, but that could be because I’m used to it.

The camera reacts very quickly. It’s a much more agile handling camera than the G9.

The focus modes are a nice surprise. It has a “lock, then follow” mode that works very well with the baby running around.

The _f_1.7 lens is nice. Leads to a nice bright image on the LCD, even in low-light conditions. I haven’t shot enough to tell how sharp it is, but that’ll take some time.

The shop I bought it from didn’t get the optional EVF in stock, so I’ve still got my order placed with Amazon. This camera cries out for it; I keep feeling like I should put it up to my eye, even though I rarely did that with the G9.

I just needed to use a new feature of Snow Leopard: automatic printer driver installation. Bottom line: very cool.

I wanted to print something in color at work—something I haven’t done before. I hit “print” on the document, and the printer dialog automatically detected the color printer we have here (via Bonjour), and I selected it. As soon as I did, Snow Leopard detected that I needed new drivers, downloaded and installed them automatically, and I was off to the races. Very smooth process.

TUAW has an article that mirrors the earlier thoughts I posted here. They also have a command to force iTunes to go back to the 9.0 (not linking the green maximize button in the title bar to switching to the mini-player):

Sorry in advance. This is a rambling post, of mostly my own notes from the weekend messing with a bunch of new-to-me technology surrounding Ruby development.

Intro to Serrano

Serrano is the name of a project I originally started when Rails first came out. (Really. There wasn’t even a Rails mailing list back then and when I requested one, DHH responded that he wanted to keep things in the IRC channel. Unfortunately, I couldn’t access IRC from work without breaking policy, which is a real career-limiting move in a security company.) Anyway, Serrano is a walled garden community site that my friends and I use daily as a means of communicating, but it was also a project I could use to learn Ruby and Rails.

I haven’t deployed a new update to Serrano in a couple of years, and let’s just say that the code isn’t pretty, although it’s been really stable. It was written by a Ruby newbie back when most of today’s Rails idioms didn’t exist, and updated to some new techniques a few times since then, usually when I wanted to play with a new Rails release.

Now I want to add some features and update Serrano to the latest Rails (2.3.4) after some time away, but it’s kind of hard. The tests I did have weren’t complete, and some are completely broken. I don’t know what the hell I’m doing at the moment, having not paid attention in awhile, so I need a safety net before I go breaking shit.

So I thought I’d take the chance to bite off some testing frameworks that have been on my radar, but I haven’t taken the time to learn how to use. Serrano is going to be a good test project again, as I intend to use this stack of testing tools to cover it well enough to aggressively refactor it into good health using the more modern techniques that have emerged since I stopped developing it.

Rspec

Rspec was all the rage at RubyConf and RailsConf a couple of years back, and I even wrote a few specs for Serrano that I’d put in while playing with it. Rspec is a BDD (behavior driven development) tool that helps one test the behavior of code. I got the specs I’d written back up and running pretty quickly (along with the existing Test::Unit tests I’d written way back when) and got them all passing. It looks like Rspec has come a long way since 2006 or so when I’d played with it, so I looked around for resources on it.

The Pragmatic Programmers have The Rspec Book in beta and I’m a fan of their books, so I plunked down the credit card to get the PDF to learn from. Turns out there is a whole stack of testing frameworks out there now, and this book is about a lot more than just Rspec. Seems like a lot of stuff to learn, but I’ve got a jones to get this project healthy, so I might as well bite it off.

Webrat

Another layer of this stack of testing tools is called Webrat. Webrat is a Ruby API to simulate user behavior in a web-based app without having to script a browser. Seems like a good goal, so I installed the gem. Or I thought I did.

Turns out I kept having trouble installing Webrat. I’ve been using the new beta of JetBrains’ Ruby IDE RubyMine over the weekend. (As you can tell, I’m all about trying out the latest shiznit in Ruby-land right now. Maybe it’s just to get comfy with the new stuff prior to RubyConf.) RubyMine’s gem attaching feature kept looking like it was installing it, but it failed. I tried from the command line and got this:

Nokogiri is a Ruby library for XML which Webrat depends on, and I got the same error when trying to manually install the Nokogiri gem. The libxml2 installation on my machine needed to be recompiled for 64-bit under Snow Leopard. This was fixed by installing the Snow Leopard version of MacPorts, followed by libxml2:

sudo port install libxml2

After that, the Webrat gem installed fine.

Misc. note about RubyMine 2.0 Beta: You can turn off the the (extremely annoying, IMO) spell check that tries to check the spelling of all your variable and method names, by going to Settings -> Intentions and unchecking “Spelling”. I didn’t think of the spell check as an intention, but I guess that’s how it’s implemented.

Cucumber

Last up (I hope) is Cucumber, which is a way to specify acceptance tests in plain English, backed by small bits of Ruby to make the statements executable. Sounds fancy–maybe too fancy if the faint sound of alarms going off in my head are to be believed. We’ll see how this goes. There are a set of basic acceptance tests I run through manually before deploying a new Serrano build, and I hope to get those running soon with Cucumber. (It’s true that I haven’t released a new build of Serrano in a long time, but I use Serrano all the time so I have the tests of critical features down pat.)

RubyMine has built-in support for Rspec and Cucumber, although I have a slight problem running Cucumber scenarios from the built-in scenario runner, so I’ve been using the shell for that. I posted a query to JetBrains about it. I have a feeling I’m using a newer version of Cucumber than they developed against.

Anyway, I’ve got my development environment all set up and it seems to be working. I have to admit to being a bit skeptical about having such a deep stack of apparently quick-moving technology targets at the core of my testing, but I’m willing to keep an open mind. RubyMine looks to be a winner, although it does wear its “beta” status proudly with a few bugs.

Just to make sure that I have enough new stuff that I’m working with, I moved the project from using Subversion to my GitHub account awhile back (although it’s a private repo since the code is in no shape for public release at this point), so I’ll get to sharpen my Git chops and exercise RubyMine’s Git integration. That means updating the Capistrano recipe I use to deploy Serrano to production, since it works with my SVN repo. Whew! Hopefully I haven’t bitten off so much that I can’t get it done. We’ll see soon enough….

It’s no secret that I love good TV. Unfortunately, that’s rarely found on the big networks these days. San Francisco Chronicle/SFGate TV critic Tim Goodman is one critic whose taste seems to match well with mine, and he had several picks these past couple of weeks. Here are my thoughts on the shows I’ve seen.

Modern Family

This is a pretty standard network sitcom: a look into the frequently funny lives of a few families, each with its own “modern” take on the definition of family. I found it to be funny in spots, but not compelling enough to make a season pass.

Cougar Town

Its overt sexuality, especially in the context of women “preying” on younger men, is certainly brash for network TV, and I thought it worked. Courteney Cox still has great comedic timing in my opinion, but she shouldn’t have had whatever surgery she had that stretched her mouth and eyes like that; she was an amazing looking woman that didn’t need it. I’ll get the next episode or two before deciding whether or not to keep it, but it looks positive so far.

Glee

Fox’s new show, which some have been billing as a musical even though it’s not what I’d traditionally consider one, has been really surprising. I figured it was a hyped-up made-for-TV High School Musical clone, and was ready to write it off, even though Goodman thought it was great. I shouldn’t have doubted him. While I thought the second episode was a seriously weak follow-up to a superb pilot, the third episode brought the quality back up. I’ve got a season pass to this one, and would recommend it strongly. Make sure to get the HD version and crank up the volume on the sound system for the musical numbers– with its top-notch production quality, Glee is a lot of fun.

FlashForward

It’s getting compared to Lost for good reason: it starts with a catastrophe that leaves more than a few questions about what the hell happened. The pilot has a lot to set up, and still hits the ground running at a furious and entertaining pace. This one’s a keeper.

I’m a long-time IntelliJ IDEA user, and sorely miss it when using other languages and environments that don’t have such a nice, sophisticated tool. When programming in Ruby, I tend to use TextMate (with the Ruby bundle) and the command line. They work fine, of course, but I always miss IDEA.

JetBrains have been working on a Ruby IDE called RubyMine, but the 1.0 version didn’t seem too solid when I tried it out. They just announced the 2.0 beta version, and I’ve played with it a few minutes and immediately bought it (at a 20% discount during the beta period, BTW). It’s so nice to have a solid set of tools for Ruby, and all the keystrokes and shortcuts that I’m used to from programming Java.

Like I said, a few minutes was enough to pry the money from my pocket, but it’ll take a few hours to see if it lands a permanent place on my dock.

Since kicking off this blog reboot, I’ve been looking for ways to streamline the act of writing for the it. To that end, I’ve tried a few different tools and techniques, and not quite landed on anything I love. If anyone who reads this has some suggestions, I’d love to hear about them.

Whither Handwriting?

I would be OK with dropping penmanship as a required school-taught skill, insofar as that means writing in cursive. I stopped writing in cursive as soon as I moved to high school and my teachers stopped requiring it. I write in all capital letters, and have done so for such a long time that I’m super slow when writing in cursive. I fall into the pattern that the article seems to describe: short of note-taking, all of my writing is done via an electronic input method such as keyboard or touch screen.

Note that I’m not advocating not teaching kids how to write. The ability to write longhand is critical, but I don’t see that writing in cursive really is. I would be OK with dropping cursive writing altogether, other than perhaps as an artistic endeavor, perhaps replacing it with shorthand. I’ve always thought it would be neat to have learned to write in shorthand for note-taking, but never gone so far as to learn how.

Digital Writing Renaissance

The other article dealt with the skill of writing, suggesting that the current generation use writing as a form of communication far more frequently than past generations have. I write fairly frequently and find that my behavior has mapped to what the author suggests: I typically write to a known audience of more than one person (and in the blogging case, a unknown number of unknown readers). I do use social networking sites, and also write small updates there on a daily basis. I can see how these activities might be looked down upon by some people as degenerate forms of writing, but I would disagree that this is the case.

While many people are pretty careless writers where spelling and grammar are concerned, let’s face the fact that many people who aren’t great writers probably wouldn’t write as often as they do without these low-ceremony outlets. And there’s nothing stopping people who would like to write more correctly in those environments from doing so. As far as I can tell, that’s a win-win situation, and I hope it continues.

People state-side are starting to take delivery of their GF1s if they ordered them from Panasonic’s online store, which I find pretty amazing, really. Other than Apple, I can’t think of too many electronics companies who actually ship orders to customers directly faster than Amazon can–certainly no camera company I’ve ever dealt with has. This has the effect of Amazon customers chomping at the bit to get their cameras. My pre-order hasn’t even been updated with a shipping date, which doesn’t fill me with confidence that I’ll get mine soon, although I can always hope. In fact, Amazon has a shipping date of tomorrow for the GF1 kit with the zoom lens and no date for the 20mm f/1.7 I ordered, whereas the people who ordered the 20mm are the ones getting theirs now and the zoom lens customers there haven’t heard anything. Weird.

I’ve been spending some time reading the boards about peoples’ impressions with the camera, and they’ve all been really good so far. The low-light capabilities seem good up to 800 and the 1600 results haven’t been half-bad either. The 20mm lens really looks to be stellar for a kit lens, which is refreshing; it’s half the reason I’m attracted to this camera.

Speaking of what attracts me to the GF1, the main draw was its size. That’s still the main “feature” of the camera (in fact, it’s really a little bigger than I’d prefer, but I realize that it’s the best physical size-to-sensor size ratio I’m likely to get in a package that handles well (the Sigma cameras have been dinged in reviews for being fairly slow to work with). I realize that means that other features have to be cut out. But there’s one feature I really wish the GF1 had: GPS.

As I mentioned earlier, my primary interest in this camera is as a take-everywhere camera. And by “everywhere”, I’m including mountain bike riding. That’s why size and handling are important–I need it to not weigh me down and I need to be able to draw it and have it ready to shoot quickly. But since it’ll be used all over the place, and bike rides can cover quite some distance, it would be wonderful to have the camera recording GPS locations for the shots.

That said, I already carry a GPS on my bike and the GF1 doesn’t include GPS, so I’ll probably look into syncing up their clocks and using software to add location info to the EXIF data to the pictures.

The other day, after downloading iTunes 9, I tweeted that I was happy that iTunes finally had a normal maximize button. I think the behavior of linking the maximize button to switching to the mini-player, is dumb. Looks now like they’ve reverted to that behavior with the 9.0.1 update. Lame.

If you read photography sites, you couldn't miss Chase Jarvis' announcment of his The Best Camera trifecta of iPhone app, book and community site. The long and the short of it is that Jarvis has been shooting pics with his iPhone for several months, taking some great shots along the way, making the point that if the iPhone's camera is the one you've got, there's no excuse to miss a shot. He's now got his own iPhone app for taking photos and the community site to back the app up. His upcoming book is filled with his own iPhone shots.

Personally, I think all that is great, and Chase's blog is certainly great reading and plenty inspiring. What I did find kind of offensive is that he's apparently trademarked (or perhaps just applied for a trademark for) the line "the best camera is the one that's with you."

This line has certainly seen a resurgence of use lately (hell, I used it a few posts back), and while that resurgence might be due in part to Chase Jarvis, the line itself has been around awhile--certainly before I'd ever heard of him, anyway. And even if it was something he coined, it just feels wrong when you see it spelled out with the TM right after it. Hopefully the community slaps his hand a bit, he backs off and enjoys the otherwise positive buzz that the apps and his book seem to be otherwise receiving.

Charles from Passion Trail Bikes is at Interbike (a bike industry trade show) in Vegas right now, and is riding a ton of new bikes and taking pictures along the way. If that kind of thing interests you (and it makes me sad if it doesn’t), you should follow his Flickr Photostream this week.
(The bike in the pic is the new Turner DHR with the DW-Link rear suspension. Sweet.)

Pacifica is a beautiful place on the California coast just south of San Francisco. It has a reputation in the Bay Area as always being foggy, but that’s really not the case, at least not all of it. It certainly wasn’t this past Sunday, when most of the Bay Area was pretty hot and a group of us decided to get an early-for-us start on a ride there.

Some of the mountain biking Pacifica is best known for is a steep rocky area with several trails on it: Boy Scout, Mile and Crack. We planned on hitting some of the steep descents, so most of us broke out the heavy gear such as full-face helmets and armor, normally not used by us in the Bay Area.

Getting to the top requires some fairly serious hike-a-bike. One used to have to climb all the way up along the same route that one descends, which I’m sure you can imagine isn’t optimal, with other bikers flying down at near terminal velocity in sections. The locals have built a new set of switchbacks parallel to the descending line which, while it doesn’t keep you completely off the descent, is far better than it used to be. The new trail is really soft and narrow, with lots of freshly cut poison oak encroaching on it, so I’m hoping it gets some use to bed it in and push the vegetation back a bit.

It got pretty hot by the time we reached the top, and I wasn’t feeling too well. “Crack”, the fall line trail that we descended first, is a steep, rocky and sometimes loose affair. One of its challenges is that there’s no warm-up to get accustomed to that type of riding—it just starts at 100% and keeps on going. Those things combined to keep me pretty conservative the first half of the way, which isn’t how this kind of ride should go. I think the next time I go, I’ll plan to stop and session some of the features on Crack and get some extra practice in on this terrain.

Below Crack is Boy Scout, which has a lot of built-up jumps. I don’t really jump much, and although some of our crew have been practicing, a lot of the stuff on Boy Scout is still beyond their skill set. We did play around on the jumps for quite some time, and some local kids were there showing us fogeys how to do it.

The bottom of Boy Scout is a lot of fun. There are some steep drops, railing berms and some g-outs and jumps that are within our skills, and just a ripping good time. Unfortunately, the altitude gained at the start passes by all too quickly on the way down, and I think a lot of the group felt like it wasn’t a lot of return for the effort put it, especially on such a hot day. It was still fun, and I really think sessioning it would be fun.

This story, taken at face value, is abominable. I can’t believe that there are too many families who don’t have pictures of their children without clothes on. I certainly have some of Ainsley. In fact, I have one, that I would normally share (but won’t in a post about how someone else got reamed so badly for similar photos) of her taking a bath in her rubber ducky bathtub. It’s adorable and I’m sure it will be a great photo for family memories down the line.

I think it’s amazing that so many people could be involved in a prosecution of something so instinctively normal to parents. Perhaps that means that there was more to this specific case, but it’s still off-putting to me.

I was really surprised to hear that Dollhouse was renewed for a second season. I thought the first had some promise, but didn’t quite get there. And there’s certainly plenty of precedent for Fox killing off sci-fi shows that were better.

But they did renew it, and some of the stuff getting out there sounds pretty good to me. I hope they can pull it together for a great season two.