Like many kids of my generation with a geeky slant, I gravitated towards electronics. I’d take apart whatever junk I could get a hold of, and with my next door neighbor being a ham radio operator with lots of junk to get rid of, that was plenty. VCRs, televisions, radios.. They all fell to my screwdriver and soldering iron. Soon I’d amassed a huge collection of components.

My understanding of what I was doing– what all those parts meant. What you could DO with them– was limited, though. I never tried to make anything with them; I just collected.

All my electronics education at the time revolved around the 555 timer. It’s a fine chip, but it’s just a timer, an oscillator. Since that was the only “active” component I’d ever been exposed to, I looked at all problems through that lens, and eventually shrugged my shoulders and followed the path of software.

15 years later, I decided to try picking it up again. I had a project in mind: Making the stars in a painting I had fade in and out. I decided to make a concerted effort to pick up electronics again. What did I do? I picked up “The Art of Electronics” and a 555 timer again. Ugh. Art of Electronics is not for beginners. It’s a text book and it reads like one. Once again, I got frustrated and set down the iron.

7 years later, and I come across “Intro to the Arrr-duino”, a short video from MAKE Blog. It explains that making that light blink is just a simple matter of loading a microcontroller with a short bit of C code! C! I know this! Suddenly, all that pent-up 9 year old enthusiasm for electronics jumps into gear again, as though I never left it. I got the Arduino, I got some parts. I tore through the Arduino Playground, harvested any random piece of hardware from the trash bins at work and tried to figure out how to interface it. Motors! Memory chips! LCDs! Rotary encoders! So much learning. So much fun.

I guess what this blog entry is, is a big thank you to the Arduino team. By making a toolkit that makes electronics accessible with a minimal investment in time and money, they’ve jumpstarted a generation of makers, me included.

Gangster Gadget makes awesome and reasonably priced protoboards to assist in making electronic projects. They’re through-hole plated, high quality boards, and fun to hack on.

They’ve just released a new board they call their Boss Board. It has spots for a PS2 connector, Audio/Video jacks, and even an NES controller (where do you get the connectors??).

The more I get into etching my own PCBs, the more I see the value in pushing out a project quickly with a protoboard. It doesn’t look as nice, but it’s just a LOT easier.

Here’s how to grab a single frame from a live video stream using GStreamer on Linux in Ruby.

The trick is to use the “last_buffer” property on your video sink. That contains the last frame that was displayed to your screen.

You can use RMagick to convert that into something you can use like this:

#!/usr/bin/ruby

require 'gst'
require 'RMagick'

@pipe = Gst::Pipeline.new
@source = Gst::ElementFactory.make("v4l2src")
@sink    = Gst::ElementFactory.make("xvimagesink")
@pipe.add(@source,@sink)
@source >> @sink

@pipe.play

[ ... Later ... ]
# This is the actual capture.
capture = Image.from_blob(@sink.last_buffer.data).first