Friday, April 18, 2008

Geeky fun

Warning: Lots of geek content follows. Feel free to read anyway, but if you're not a geek or don't have one nearby, I hope you brought your own flotation device.

I've rediscovered an old hobby: taking things apart. Also known as "hacking," but these days that word has certain negative connotations. This hobby of mine is what originally got me interested in engineering. As an engineer I had daily opportunities to hack and design many projects. It was great fun. I even tackled many DIY projects at home just for the fun of it. But now that my career has taken a different path I no longer have the daily opportunities to work my hands and mind in that way. So, I've been finding ways at home, as time and budget allows, to fill that void.

Last year I built a MAME arcade cabinet. That didn't require much "hacking" as I didn't repurpose or reuse old hardware other than a used computer I bought off Craigslist. Everything else that went into it was purchased or built new. That was a really fun project. I put the finishing touches on it a couple months ago when I installed a coin door (that I now need to wire up for lighting). So it's also (optionally) coin operated.

So now that that project is done I'm moving on to others. Here's what I've currently got on my plate:

1. A friend at work has been wanting a motion activated flash (as in, camera flash). He plans to use it to scare off would-be home intruders/snoopers. It might be a little paranoid of him, but it's a fun project (that I don't have to pay for) that he asked me to take on. So I got a couple free used disposable cameras from Walgreens, took them apart, and have been figuring out ways to get them to work with a motion sensor he provided. I've had my eye on a new toy called the Arduino and this looked like the perfect project to use it on.

The Arduino is a great little gadget. I've finished programming it and so far I haven't fried it. I've been having a little trouble figuring out the proper circuit design to trigger the flash from the Arduino's output signal. I think I've finally found the solution thanks to a similar project. The flash trigger uses a capacitor that discharges so quickly and with so much current that it would fry the Arduino so a relay switch needs to be used. I was trying to use a reed relay switch from RadioShack, but it kept sticking due to microwelding on the contacts. I just ordered the optoisolator used in that other project. If it works out then the prototype will be all finished.

2. I mentioned to another friend of mine that I've been looking for a donor laptop that I can turn into a digital picture frame. He just happened to have a laptop he was going to get rid of and gave it to me. The most time intense part of this project will be building the frame, which I just haven't gotten around to yet. But I have been tinkering around with testing various software options. It currently has Windows XP installed, but I don't like any of the slideshow options available to XP. Instead, I'm thinking of using Mythbuntu, or some other variation of MythTV. It has a lot more capability than I would need. But the parts I will use I do like very much. Ha, maybe I'll just get really geeky and write my own software. Isn't that what a real hacker would do anyway?

So this project sort of paved the way for other projects...

3. I needed a wireless router for use with the digital picture frame, and for other general wifi fun (ie Nintendo DS, etc.) I had heard about how the Linksys WRT54GL uses opensource firmware and that the opensource community had created new and better firmware for it called DD-WRT. So I bought a Linksys router and flashed the firmware to DD-WRT. Was it absolutely necessary to change the firmware? No. I could have left it as is and been fine, but why not make something good even better? Especially when it's a free upgrade! I haven't done much with the new capabilities DD-WRT brings other than boost the wireless signal strength. But I also haven't had enough time to learn about and implement any of the other new capabilities.

4. Having one "hacked" Linksys product just isn't enough though. At the time I learned about DD-WRT I also learned about a cool little device called the NSLU2 or "slug." It's a tiny computer you can attach 1 or 2 external drives to and have "instant" network attached storage. Seeing as I was going to need a place on the network to store photos to be displayed on the digital frame, and I didn't want to use our main computer (which is quickly running out of space anyway), this would be the perfect solution. It's silent, uses very little power, takes up very little space,'s "upgradeable" too. I flashed the firmware and installed the Debian distribution of linux on it.

This has been the more challenging project because the NSLU2 doesn't have a graphical display. I have to SSH into it and use linux command lines to install and configure various software. So it's been a fun learning experience. So far I've got it sharing folders on the network using samba. It's running a web server (apache, php4, and mySQL) that isn't really doing anything note worthy yet. I even have it running a music server. I had it streaming music to me at work from home the other day. I've since disabled external access to the music server though because I don't want the RIAA knocking down my door. I'll have it enabled again once I do some additional configuration to lock it down securely. And no, I'm not going to post a link to it. I don't want a web spider to find it and have the scary kind of hackers testing its limits.

(Don't leave yet. There's more.)

5. I have given David the opportunity to earn a computer of his own. In Portland there is a computer recycling place called Free Geek. If you donate 24 hours of volunteer work for them they give you a computer. It's not a new, powerful computer. But it's not bad either. It's probably worth only about $100 so you're only getting "paid" about $4/hour. But it's for a good cause. They're a great company and are doing great things in the area of computer reuse and recycling. So David and I put in a few Saturdays' work and have each earned a computer. We'll be picking them up tomorrow.

On a side note, Tammie and I aren't quite sure about how sure we are in letting David have a computer (if that makes sense). So we'll be monitoring very closely. It's kind of a pilot program for us. We're testing the waters. I'll be putting some network monitoring tools in place and we'll see how things go. I'm hoping that this will be a good learning experience and tool for him and not just a distraction or a danger. There is much good that can come from it, but an equal amount of harm.

But my's going to be given a raid array and become a very large network attached storage and backup server. Also, another toy to use to tinker and learn linux.

(Are you still here?)

6. I recently subscribed to a quarterly magazine called Make and I read their blog on a daily basis. (For those of you into crafts you might want to check out their sister publication Craft and the Craft blog.) They feature projects for home brew technology and give lots of ideas to people like me. One such idea that I'm now running with is putting a one-time use camera into a model rocket. This involves stripping down the camera to save weight and hacking it to make it possible to download the videos to your computer and reuse the camera. I've already assembled the rocket. I'm just waiting for some parts to arrive (free samples!) in the mail for use in hacking the camera. If I can do it well I'd like to buy more of these cameras for the kids to use for shooting their own videos on vacation or just for fun. So stay tuned in the coming months for some rocket cam videos!

That's it for now. I'm sure there will be more as I keep reading Make and the Make blog. In fact, today I just read about another fun project with kitchen vacuum forming. I try to find projects that can involve the kids. David's having fun following along with my computer exploits. Adam is excited about this rocket. I think Rachel will love vacuum forming.