Over the years I’ve generated a scaffold a time or two but until tonight the fact that you can reverse this with rails destroy scaffold ModelName had escaped me. Such a simple thing and quite the time saver. Combined with rake db:rollback, Rails makes it very easy to try new ideas and if they don’t work out, you can quickly reverse course.

I’ve recently started a new project and I’m finding the most difficult aspect has nothing to do with the actual coding but instead, is deciding which features to include and/or how to include them. It’s the top-level stuff that is difficult, not the nitty gritty. You want to be able to login via Facebook? That’s an easy thing to add but with adding that comes the question of what other sites should we integrate with? Twitter? Google? Bob’s House of BBQ?

I’ve been playing around with Node.js a bit and was wanting to find a hosting service where I could deploy my little test apps for testing and for showing friends. I read some good things about AppFog and felt the price was right (they offer a free intro-level service that lets you get your feet wet with minimal financial risk). Signup took just a minute and I had my basic Rails app deployed five minutes later.

For whatever reason I’ve switched from Webrick to Puma as my default development server. At one time I was getting some odd errors with Webrick and my cursory Google searches indicated it was an issue with Webrick itself. I assume since Webrick is bundled with Rails that it’s decent but I really haven’t heard any compelling reason to run it. Whatever the case, I made the switch to Puma but found that when I would type rails s Puma wouldn’t boot. I had to instead type bundle exec puma which of course was completely unacceptable!

When you modify your path and add things to it, do the items read first or last take precedence? By this I mean, if I have a set of say 5 items, and they are read in order from left to right, does the first item take precedence over the last, or does the last overwrite the first? If I had a variable and defined it twice, the second one would take precedence but it appears that when defining your path, it works in reverse. Whatever is defined first is what gets used.

For a recent project I found myself needing to batch process a large number of images twice per week. On average I’d be processing around 4,000 images and once processed, would need to tar these up and then upload them to the data center. Now we could debate the merits of this approach and I believe we’d be in complete agreement that there absolutely must, and is, many different ways to achieve the same end result, but that was beyond my control. My task was to process and upload the images.