AIR is finally taking off
AIR is the Adobe runtime for desktop applications. After installing AIR, you can install and run desktop applications built in HTML and JavaScript or Flash, for example. AIR applications use traditional Web client-side technologies to build installed desktop applications.
As a Flash developer for the past few years, I’ve been waiting for this moment. Funny that it happens just as I moved from Flash development to SAAS development. Enter Yammer, my first truely just-by-chance installed AIR app. Yammer is still small but gaining in popularity. I just installed it, too. Those are not just Yammer installs; they are AIR installs. AIR is finally taking off.
AIR will be one of many technologies further merging the Internet and the desktop. I better find an excuse to make a couple of AIR apps at work!
Ruby security advisory
Today while setting up a new vps to test a Rails app, I found that Ruby 1.8.6, what I had been using for testing, has a recent security advisory to upgrade to 1.8.7. Thankfully, my app was written in the newest version of Rails, 2.1.0, which is apparently the only version of Rails compatible with Ruby 1.8.7.
On the other hand, this really sucks. I have another app written in Rails 1.2.3 that I’ve been working on for months. Well, I have been thinking of porting it to Rails 2, anyway. My wife is going to love this news; it’s her site, Asian Austin (currently written as a working prototype in PHP, it covers local asian news and events in Austin, TX).
From the chaos that has since insued concerning Rails version relative to Ruby version, many a Webhead’s significant other should have their own security advisory: don’t explain any of this to them, just say you’re spending so much more time at the computer because you’re writing a love poem.
Error installing rails with gem
Finding the exact solution to this problem took an hour of trying others’ solutions, like simply deleting the gem and even the entire cache directory, which might work for some but not for me. The final solution was to reinstall the activesupport gem myself. Hopefully, this will help someone else who is having the exact same problem I was having: an error about an invalid format with my activesupport gem. Here’s what happened and how I fixed it.
The gem error about activesupport_2.1.0
As I am starting a new rails project, I wanted to go ahead and update to the newest version of rails first. I froze the other app I was working on, then attempted to update rails using gem install rails. This is when I received the dreaded error:
invalid gem format for C:/ruby/lib/ruby/gems/1.8/cache/activesupport-2.1.0.gem
I scoured google results like a madmen, as I am supposed to be starting my new project, not jacking around with some arcane gem issue. I tried gem cleanup, which removed some obsolete gems. I even uninstalled rails altogether, followed by another gem cleanup. I attempted to install rails using gem install rails –include-dependencies again. No go.
The solution of updating activesupport
Finally, I updated the activesupport gem myself using this two-step process:
- download the activesupport gem from the activesupport rubyforge project page.
- then typing this from the command line where I downloaded the gem: gem install activesupport_2.1.0.gem
And all was fixed. Another run at gem install rails –include-dependencies ran like a champ. Note: I found that the doc installation might appear to hang, but it’s just cranking away and will finished after a few minutes.
Awesome Father’s Day gift
My poor wife. I’m such a jerk. She got me this awesome magnifying glass for Father’s Day, and I turned my nose up at it. Can you believe that? Thankfully I realized a few hours later, while she was napping. And she’s pregnant, due tomorrow. The last thing she needs is me giving her grief over magnification power.
She just knew I’ve been talking about getting a magnifying glass. She was paying attention to my needs. But she did seem to forget that I am geeky about this kind of stuff. I was in the Boy Scouts. I had a compass. I know how to safely start a campfire. I care about things like the magnification power of a magnifying glass. And hers did not make the cut.
But I was wrong. Totally wrong. This magnifying glass is great. Yes, it’s only 2x magnification, and I wanted at least 10x. By the way, once I told her that, she dug up a loupe (which is what I really wanted, not a magnifying glass) that she’s had all along. That made my day! She went to take a nap. And while she was sleeping …
I tested out the new magnifying glass and the new-to-me loupe. It turns out that I had a need for both: a 2x lens and a 10x loupe. For example, I can use the magnifying glass to check out the new Yokomo drifting rc car I just got off ebay. The 2x power actually works very well for seeing tiny screws. And it’s hand held, unlike the loupe which really needs to be placed on a table. So the hand-held functionality of the magnifying glass is absolutely needed. Now, aside from the functionality, there is the esthetic. This thing looks cool. Beautiful. Elegant. Nicely weighted in the hand. And it has a built-in spot light that came with a battery installed. I’ve had so much fun with it while she’s sleeping. I can’t wait for her to wake up so I can thank her. And apologize.
My wife’s thoughfulness has opened up a whole new type of gadget for me: magnifying glasses. I need to add to my current collection. I could get one of the head-mounted numbers. And a telescope, which I’ve wanted forever now. And a microscope, in case I need to do some biology for some reason or other.
Making Mongrel behave
In Australia, I’ve read, “Mongrel” is a derogatory epithet. When referring to a person, it means “ill mannered.” When referring to Mongrel 1.1.2 on Windows, it means that and more, at least when used in RadRails.
Here’s the overview. When generating a new project, neither Mongrel nor WEBrick server would work from the command line. Using RadRails, Mongrel would work, thank goodness. So I always just used Mongrel via RadRails, until I moved my workspace from My Documents to the root of my C drive. I still don’t know why Mongrel wasn’t working, then was, then wasn’t. And I don’t know why WEBrick isn’t working; that’s for another time and another post. I have development to finish. But I do know how I fixed Mongrel.
Short answer: I renamed a Mongrel directory in the Rails gems library from “mongrel-1.1.2-mswin32″ to “mongrel-1.1.2-x86-mswin32-60″ and then Mongrel worked perfectly!
Long answer: For some reason, the path to Mongrel was wrong whenever you issued the server command. Now, keep in mind, I’m issuing the command from within my rails project. So all should have been fine. I was doing exactly what I was supposed to do on Windows: typing “ruby script/server mongrel” from the command line, or I was starting the server from RadRails using the Servers panel. But the path Rails was using to find the gem was wrong. I’m sure the better solution might have been to correct Rails, but in the interest of getting on with my project, I chose to simply create the path that Rails was using. A hack, on yeh. I don’t prefer hacks but time is of the essence in this particular case (a new website for my wife’s business)!
So … if you’re getting this error like this little beauty:
Exitingc:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require’: no such file to load — c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32-60/lib/mongrel/init.rb (MissingSourceFile)
Then here is the fix, step by step:
- I located the file the error stated was missing.
- I noticed that the file was there, but that the path was simply off by one folder.
- I renamed “mongrel-1.1.2-mswin32″ to “mongrel-1.1.2-x86-mswin32-60″.
Stuff I want, will you buy it for me?
I know you just wondering what to buy me for Christmas and you want to get started now in May. So here goes. Top of my list is a 1:10 scale rc drifter. Just check out the video above and buy me any of those cars. A friend recommends something from either Tamiya or Yokomo, two Japanese companies. Japanese stuff is cool, but I’d rather buy American. So look at HPI, Associated and Losi first. Do some comparisons and get me the best car, because I still don’t know which to go with. They’re kind of expensive, like a couple of hundred dollars. My ebay watchlist is full of stuff that I can’t afford at the moment. So if you could buy an rc drift car for me, that would be great.
Climbing next onto your shopping list, of course, the Mini Monster truck (imagine a background Metallica track and a small truck crushing other small toys). The Kyosho MiniZ Monster Truck (1:28 scale) demands a high price of $150, but you have other stuff to buy me as well, so, as an alternative, I’m really keen on the Mini Mauler Monster Truck by HobbyZone. It’s actually larger at 1:20 scale and cheaper at a mere $69 dollars. You can afford that, for me. Come on, that’s less than half the price of the MiniZ Monster Truck. I would forgive you.
Now, for the art lovers, I know you must appreciate comic book art. So the final items, for this particular wish list, are some prints from Kristian Donaldson, one of my favorite artists. I prefer the Supermarket series. The cover issue one is pictured here, but my fav cover is actually issue two. Thanks!
RC collection, so far

“Hey, these are just tiny, crappy toys!,” you exclaim. Well, not exactly. They are toys. They are tiny. (These are all lined up on my desk in front of my keyboard.) And they’re cheap and most importantly, fun! My RC collection, so far, includes three helicopters and two cars. All run on simple AA batteries. As a kid, I always wanted rc vehicles but they were too expensive and complicated. As an adult, these things are totally affordable and a breeze to setup and operate. Like a delicious fast food meal, a quick break playing with these micro rc vehicles takes the edge off my daily grind at work. Yes, play with them at work, but be contientious of co-workers. These gizmos sound like micro weed eaters on full throttle, esp. the helicopters. How did I get into this, anyway?
Thanks, James, wherever you are. You know who you are. You had that PiccoZ heli in your cube over in IT when I came to meet about the flash media server. You didn’t even fly it; just my seeing it was enough. But anway, it all started with a micro helicopter and visions of cheap fun. Now I have three micro PicooZ helis and two Zipzaps cars. And a recently acquired Special Edition Muscle Car Power Upgrade Kit, including several motors, gears, tires, and wheels. Fun.
The Micro Helicopters
All three of the helicopters costs between $20 and $30 each. They all fly decently, due to their proprotional throttle and steering. Yes, two channels only, so no forward or reverse. Once they get some momentum after turning you can get going. A trick is to attach a weight to the nose so it tips forward to provide thrust. Starting top left, my newest micro helicopter, the Ecoman Microgear Hughes 300 Fairy. The middle helicopter is an older Ecoman Microgear helicopter. And the final heli on the right is another version, the Air Hogs Havoc.
The Micro Cars
I have two ZipZaps cars. These are 1:64 scale fully functional radion control cars. These things are cheap. $10. My current models don’t have proportional controls. The SE models, that I’m planning on buying soon, do have proportional controls of some sort. I’ll find out. Anyway, pictured above starting on the left with the cars, is the ZipZaps Barricade Transformers model based on a Ford Saleen s281 Mustang. The other three cars you see actually just bodies. Going from left to right, is the ZipZaps Bumblebee concept Chevrolet Camaro, a ‘70 Ford Mustang Boss 302, and a ‘70 Plymouth Hemi ‘Cuda.
I’m working on the second car to modify it’s performance. I have several options for engines and gearing and tires in the new upgrade kit I bought. I love the Mustang body, of course (I’m a big classic Mustang fan). So Mustang it is. Regarding the engine and gear set, I don’t yet know. I have to learn about those.
Zipzap Bumblebee
A Zipzap is a micro rc car bought a RadioShack. I assume it’s made in China, because it’s so cheap. $10. I’ve seen them on $20 online. It’s a blast to drive and is about the same size as Matchbox and Hot Wheels I played with as a kid. The car is easy to drive because it responds so well. For $10, I finally have a decent rc car. I always wanted one as kid. Even now I baulk at spending hundreds of dollars for something that actually turns well, etc. Such a simple desire, wanting the car to actually turn decently. Most cheap rc cars just can’t really turn well. But the zipcar cars can, and they’re only $10. Cheap fun. I love it.
It’s a fully functional 1/64th scale rc camero, the concept car from the Transformers movie. Here is a very entertaining video (not my video), if you’re into micro rc cars. The quality of the video shoots and edits make it well worth watching just to see my car, if anything. The other car is a police car from the Barricade character.
As I excitedly said earlier, performance is really astonishing for such a small, cheap car. However, neither the throttle nor the steering are proportional, so performance is a bit jolting, adding to the fun of course.
Now I want a truck
Check out the Zipzaps monster truck. Looks like just the thing to break the tension at the office, so I stay healthy and productive.
RC tanks?
Sometime ago, I bought a micro rc helicopter (rc as in remote control, not radio control; it’s infra-red, by the way). Recently, I bought a couple more and a tiny mini rc car. To my wife’s chagrin, I’ve found a new hobby. What’s next on my list? An airplane? Perhaps a tank? So far, my price range has been $10–$30. But I also found these monsters, ranging from 1:8 to 1:4 scale and costing from $2000–$12000!
Disposable Web sites and applications
Planned obsolescence. We’re all familiar with our throw-way consumer culture, at least in terms of consumer purchases like food, clothing, electronics, including computer hardware. But what about computer software? Or more to my point, Web applications and even Web sites? Most software, and Web sites, take forever to build and are expected to live for at least a few years. They’re big important investments planned and implemented over time to get everything right, so it will last, dammit. At least that’s the way most people would talk about software and Web sites. In reality, though, we do make lots of disposable Web projects, which are added to the huge monolithic Web sites, thereby making the huge monolithic Web sites even harder to navigate to find what’s actually relevant. Can you tell I don’t like a Monolithic Web site? Even the very foundations of the most important corporate Web site should be disposable and expected to last no more than a year.
Most Web projects I work on are in fact disposable. I work as a flash developer in a marketing department. I actually make the multimedia players used on the site. We do lots of video, software demos, a few podcasts, and live Web events. Besides the main video player I developer, which takes months for each new version, most of the other projects get cranked out and aren’t relevant after a year. I’ve made at least six media players that were used for a few months, then discarded for the next new cool player with the very specific requirements that are all different than before. It become common for me to make a video player specific to a particular product launch, never to be used again on any other product launch. Right now, I am adding a new section to an existing site to be used for a single event. I do freelance work as well, and I often build online presentations and demos in various stages of completion, some to never be completed, in the pursuit of a new client. I’m building disposable software for the next immediate business need. Depending on how business needs evolve during a particular project, the code I’ve written must be sacrificed as needed without remorse.
And a lot of that code must actually be built to be thrown away. Many developers, and designers, are well-versed in the magic tricks of the trade to make a demo or comp that appears to work, but really doesn’t, yet. We hide that from clients, but we shouldn’t. We should deliver something that actually works, but is far simpler than our fancy demo or comp could have pretended to be. But the client can start using it right then. They can play with it. Try it out. Even make simple changes or decide it’s good enough as is. They can’t have that rich interaction if we’re faking it with them. And if they hate it, then we trash it. We haven’t invested too much to go back. And we’ve clarified with the client, in concrete terms using workable software, what they actually want. Comps can never do that. Never. Ever.
All of this disposable this and disposable that. Wtf? It’s how we roll now. Caffienated multitasking. And developers and designers can deliver if we all, with our clients, transcend the mantras of monolithic software ideology: take forever to get it right … add as many features as you can to cover all cases … build it to last at least 3 years …
No!
If you are a Web developer, especially a freelancer, you need to learn Ruby on Rails. And you need to read Disposable Software by Alex Bunardzic and
The Rise of “Worse is Better” by Richard Gabriel.