Zipzap Bumblebee
[youtube:http://www.youtube.com/watch?v=9BEQ7-DFWdE&feature=related]
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.
[youtube:http://www.youtube.com/watch?v=D1CXnLRzD6w]
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.
Newbie using RadRails on Eclipse
I'm trying out RadRails. I need to start using an IDE since I will be leading a rails project at work for a new intranet site. So far, I've been creating rails apps from the command line and editing files in notepad++. I've spent a few hours figuring out how to configure my projects, create news rails apps, etc. via RadRails. I have not been impressed so far with using RadRails to create new rails projects. I had an issue creating new rails apps and using the RadRails built-in console. But I do expect to be impressed later on when I start actually writing code. I need an editor with great code hinting, etc. And I new a project view. But first the bad news.
Well, it's not all bad. I got it working in the end. And it's all my fault. I just didn't know. I'm still fairly new to Eclipse, and I just did not understand how to use workspaces. On top of that, RadRails projects were new to me as well. So I had two new project types that I had to organize and integrate.
I thought that I could just start Eclipse, switch to the RadRails perspective, and then create a new Rails project. Well, in theory, yes you can. And you might even find yourself fortunate enough to generate a proper rails app without any issues. If so, congrats and get out of here. You don't want to hear this.
I'm using rails 1.2.3. I don't have rails 2 or sqlite3 installed. Yet the default database for RadRails projects is sqlite3. When creating a simple hello world app in RadRails and accepting all the project defaults, it should just work. I could understand if I had rails 2 installed as well, so that I had two version of rails, and it chose the newer version.
And the feedback I got was via the built-in console: another disappointment. It's probably really cool once I figure out how to work it into my workflow. right now, however, it's just confusing. It's not a replacment for your normal console. The command line still seems better, even on Windows
. Trying to enter ruby commands through the RadRails console just isn't supported. I wish it had a full windows console view in the application; that would be sweet! And the include Rails Shell console seemed promising at first, but it's not replacement for the command line. Plus, I'm using Rails 1.2.3, so there were some default project settings I had to change when create a new rails app from RadRails. Using the command line is simple enough when creating a new rails app. Also, I'm not sure if everything was installed correctly for sqlite3. I'm new to that as well, so I might just be misunderstanding something about it. But it seemed to work fine after I installed it myself. I thought RadRails would have set that up, but I guess that would like expecting it to setup mysql. So after I downloaded sqlite3.dll and placed it in the ruby/bin everything was fine.
Overall, I got everything running. I have also sucessfully created a new rails app using RadRails, but only after reading this article, Getting Friendly with Eclipse Workspaces. I'm still kind of new to eclipse and I found an aritlce that helped a lot. So thanks, Darron! I've been creating rails from the command line and moving to using eclipse and radrails at the same time was confusing, since I now had two new project types to organize.
As I mentioned eariler, I'm sure RadRails will be more helpful when I'm actually writing code. But forcreating new rails apps it's a little confusing at first, since it overrides the default database for new projects using rails 1.2.3.
SXSW Interactive 2008
Living in Austin is great. We're so lucky to have SXSW. Of course, my main interest is in Interactive festival, and I was not disappointed. The 2008 SXSW Interactive festival had many very worthwhile panels. Here are the noteworthy ones, good and bad, of the panels that I attended, in order of my interest. I'm sure there were other greats ones that I didn't attend. So please don't think that I'm saying these were the only good, or bad, ones from the whole festival.
Scalability Boot Camp (Monday, March 10th)
Scalability is a hot topic. Although scalability issues are not as sexy as design and features, the goal of any Web site should be to have enough traffic to need scalability. What's the point of getting all that traffic to only hose your site?
I thoroughly enjoyed this panel, which included Blaine Cook (Architect, Twitter Inc), Jakob Heuser (Architect, Gaia Interactive), Alan Kasindorf (MySQL DBA, SixApart), Sandy Jen (Co-founder, Meebo), and Kerry Miller (Writer, passiveaggressivenotes.com).
One of the biggest issues on my mind was database issues. A new issue to me was thinking about browser connections for downloading css. javascript, and image files.
Secrets of JavaScript Libraries (Tuesday, March 11)
The star-packed panel was interesting and included John Resig (Mozilla Corporation), Sam Stephenson (37signals), Andrew Dupont (Frog Design Inc), Thomas Fuchs (script.aculo.us), and Alex Russell (SitePen, Inc. ). I got a kick of out hearing the panel speakers reveal some of their programming choices and browser-support attitudes while buiding their JavaScript libraries. Overall, however, the format relied too much on the crowd responding to the speakers. The whole event mostly awkwardly trudged along until it was over. Hey, I didn't ask any questions either, so I'm not blaming anyone but myself. The format doesn't really work, because most people, like me, don't feel that comfortable asking questions in a big crowd. I don't mind public speaking at all; in fact, when I'm prepared and know exactly what I'm talking you almost can't shut me up. It's just that I wasn't really prepared with any questions for those specific people. A panel discussion like requires the audience doing their homework beforehand.
Taking Your Web Talent to the Video Game Industry (Saturday, March 8th)
The format of panel discussion/audience interaction worked much better on this panel. People had an easy time asking getting-started questions. I've always been interested in how people get started making professional games. And I was curious, as the title states, in possible opportunities for a Web/Flash developer. I didn't really see any, though. But the panel was extremely interesting.
Cyber Safety in the Interactive Age (Monday, March 10th)
Unfortunately, I was late getting back from lunch at ... so I missed getting into the Browser Wars panel. The room overflowed into the hall and they weren't letting anyone else in. I heard it was a lot of fun. Oh well. My backup was the Cyber Safety panel. I thought it would be very informative. You can't know too much about security, right?
My mistake was misunderstanding the word "Safety" in the panel title. I was thinking "security." Basically, the whole discussion was culture war against freedom of speech on the Internet, because of the proclaimed dangers to children. I could have appreciated a technical discussion of censorship, but not the literal complaining of pornography on the Internet. We were told to not link to porn sites. Excuse me? I doubt many people in the room do that. What a disappointing panel, which included Ron Teixeira (National Cyber Security Alliance), Marian Merritt (Symantec Corp), Greg Pierson (iovation Inc), Steve Wildstrom (BusinessWeek) . I must note, however, the panel had a mix of enjoyable and unenjoyable speakers.
The future of web dev
I don't post work-related articles on my personal blog very much. But this one is important. I also don't ruminate much online, but again, important. Anyone doing Web development who reads my personal blog should check it out. I've been developing Web sites for 10 years. And in the past couple of years, a major shift has occurred that every career developer should take to heart. A lot of it is obvious. The Web has changed dramatically. But what doesn't appear obvious, but should be at this point, is that Web development (and design) has morphed along with the blurring of client-side and server-side due to Web 2.0 and new frameworks like Ruby on Rails, Ajax, and Flex (ActionScript 3.0). Go read DHTML development grows up.
WEBbrick localhost:3000
If that title interests you, then you must be as geeky as me. And if your're just learning Ruby on Rails, then you're probably, unfortunately, also a little confused about the Ruby on Rails' WEBbrick server. I mean, why localhost:3000? And how do you get this working with your normal web development server like Apache or Microsoft IIS? And the BIG question: what if you already have a website running on the local domain http://localhost?
First off, for the meantime, forget about your normal web server's way of doing stuff -- we're talking about ruby on rails here, supposedly the most productive web framework in the world, right? So everything should be easy "out of the box."Â That's the productive part. How many steps does it take to get nothing to something running. Here is example code showing the creation of a fully functional website, content management system, and web server, plus code to start the server so you can test your brand new website at http://localhost:3000.
Now, at a command prompt (Windows):
cd path/to/my/websites
rails blog
cd blog
ruby script/server
Line 1 "cd path/to/my/websites" navigates to where you want to store your new rails app.
Line 2 "rails blog" creates your new website in a new directory named "blog" at "path/to/my/websites/blog." Note that this one line creates dozens and files and default settings that make you website fully functional and ready to start customizing. Of course, there is only one page at the moment. The home page you will see after starting the server, later.
Line 3 "cd blog" simply navigates us into our new blog directory.
Line 4 "ruby script/server" starts the built-in web server, WEBbrick, at "path/to/my/websites/blog/script/server."
And we're up and running. Open a browser and go to http://localhost:3000. You will see a welcome to ruby on rails page. An instance of WEBbrick is running locally, just for your spanking new app, in "path/to/my/websites/blog."
But all is not well in our dreamy web production scenario. In my experience, when first learning rails (and thereby first using WEBbrick), I whipped out my Apache chops in spite of WEBbrick. I thought I'd just getting this working with Apache from the get go and just skip all this WEBbrick stuff. What a mistake! WEBbrick is an essential tool in the Productive part of developing a rails app.
Taking the plunge into perfect waters with port 3000
We're going to see how WEBbrick, because it's sooo friggin' easy to setup is also sooo friggin' easy to misunderstand. "What's that?," you ask, "It's so easy that it's confusing?" Yep.
We're accustomed to web server setups being a pain, right? Here's an overview of the pain: add new local domain name to hosts file, add new virtual server to web server config file (for example, an Apache .conf file), restart server, read errors and repeat. Wash, rinse, repeat. Hit your head. With a hammer. Etcetera.
So taking the plunge into this morass of server config details with a new framework and language? Um. No thanks. If I were you, I would just give up and stop reading now. where do we all this stuff in WEBbrick. You don't. And trying to find out will just lead you in circles.
All you need to know
"So reading all that," you wryly espouse, "I get to 'All you need to know?' Thanks."
The beauty of localhost:3000 is that you don't need to configure anything, like 1) you don't need to add a domain name to your hosts file and 2) you don't need to add a virtual host to your web server config. WEBbrick just runs on port 3000 for localhost. And it runs from within your particular rails app directory using the command line ruby script/server. So there is no configuration needed for WEBbrick. Each individual rails app contains it's own WEBbrick server, and when you start the server is starts on localhost:3000 (or 127.0.0.1:3000, which is the same local domain). Effectively, WEBbrick starts up and listens to port 3000. So you could also have Apache running on http://localhost:80 (or just http://localhost for short).
It's that easy? Yes. Here's all you need to type, after you've setup you rails app.
cd path/to/rails_app_directory
ruby script/server
And the WEBbrick server at path/to/rails_app_directory/script/server will start and run itself on localhost:3000. So every rails app uses localhost:3000, you can't have more than one WEBbrick server instance running at the same time. So, for example, if you want to test App1 and App2 then you have to stop the WEBbrick server running in path/to/App1/script/server and then start WEBbrick at path/to/App2/script/server. When you reload localhost:3000, App1 will no longer be running and will have been replaced by App2.
Adobe is on fire
The designers should really like this. A new app just for them, Thermo.
Adobe claims that Thermo enables designers to directly draw flash RIA interfaces. In other words, when you draw a comp or the final interface, Thermo generates the code to draw your interface in Flash (well, Flex really which is new type of Flash developer tool). Now, designers can be part of the development production workflow directly, without the developer having to write a bunch of code based on what they see in a photoshop file.
[youtube=http://www.youtube.com/w/?v=R2pgnNSpi_M&rel=1]
With Flash, Flex, and now Thermo, Adobe will continue to dominate Microsoft in the rich internet experience arena. Thermo will be a "Silverlight killer." The merger between Adobe and Macromedia has obviously given the former Macromedia developers a lot of extra resources. All the new cool web stuff has "Macromedia" written all over it. It's good to see that Adobe didn't mess things up.
Austin boutique amplifier, new web site
Sean Eason and I launched the new Web site for Carter Amplifiers. He had been selling amps exclusively on ebay but now also has on online store to sell from his Web site. The site also has a complete content management system as well as many other features. The site store frontend and the backend inventory and order tracking systems are all integrated and even provide workflow. And the Audio upload and integrated MP3 player let Sean add many clips of the Dragonfly amp using an easy Web interface. Anyway, enough tech talk, check out different amp settings in the Soundroom.
Mini helicopter stupid fun for $20
The radio control (rc) mini heli phenomenon is sweeping geekdom. For as low as $20 (at ToysRUs) you get a sweet mini helicopter for inside flying. They're six inches long and weigh 12 oz, and the small size enables the heli to have plenty of flying room indoors. And since they're cheap, they're good for beginners. I bought mine just a few weeks ago and have already broke both the main rotor and the tail rotor. Well, actually a friend at work broke the tail rotor, because this thing is fun and everyone wants to play with it. I am awaiting the arrival of the replacement rotors I ordered: two main rotors and three tail rotors for $15 (including shipping). These parts can be hard to find at decent prices. I also bought six tail rotors off ebay but the shipping was more than the rotors.
I recommend buying a rc mini heli now. This heli has many clones. Just look for the small rc helicopter for less than $30. They all look basically the same: white form body. There is also another make with a plastic body. The original it seems was the Picco Z manufactured by Spin Master and sold at Radio Shack. The clone model I have is the Microgear Mini Heli by Ecoman. Spin Master also makes the Air Hogs line of helicopters (check out Havoc and Reflex), of which the Havoc Heli is apparently the newest model by of the original Picco Z by Spin Master.
I love that it's cheap. I went to a local hobby store in search (my now obessive search) for a new main rotor, so I can go home and fly my heli. Anway, the clerk's answer to my inquiry about a spare rotor for my Microgear Mini Helicopter was a little condescending. Apparently, they only sell good helicopters, not the little toy I bought at Fry's. And this dolt actually recommended at $169 helicopter that was the size of a football with rotors over a foot long, for flying inside. Can you imagine when I crash that into my wife's head? I actually did crash the mini heli into her head, with no harm done, case in point. So, that's awesome: I like the mini helicopter even more now. It's $20, it's fun, and I want to make it work, and so do a lot of other people.
I found quite a few super geeky rc forums praising this mini helicopter. I found out that I had no idea how to fly it when I first started. And when I get my new main rotor in so I can repair it, I will start having a lot more fun than even before. Also, there are a few mods listed on the forums that I want try.
Robots
Funny what kinds of videos one ends up finding on youtube, while searching for rc mini helicopter videos. Even rc robots came up. Some amazing, like the nuvo, and some also interesting but people call sexy. Funny how every story ends in robots.

