Main menu:

Site search


My Other Sites



You are here.
Use the links at left, browse the categories to the right, or check out some of the newest posts below. Leave comments and subscribe to the feed to stay in the loop. Check out my creative portfolio at robduarte.com

USB keyboard volume knob with Quartz Composer

Use the volume knob on your USB keyboard with Quartz Composer compositions via the HID Input patch included with QC.

Corrupt mailbox

My email breaks about once a year. Something about one of the mail clients I use, the mail server, procmail or whatever, trashes the mail file somehow. I’ve tried editing the file but that often doesn’t work. I think I’ve found another potential solution…

Convert a Folder of .WAV files to numbered .MP3 files

A quick bit of bash that you can do from the command line on linux (or MacOS, if you have lame installed)…

Daisy Chaining AD5204 Digital Potentiometers

I’m using an Arduino to control two (maybe more – I haven’t tried yet) AD5204 digital potentiometers. Here’s some info about adapting the digital pot Arduino example to work with daisy chaining.

Warranty, Void!

I’ve created a blog that will contain video episodes describing hardware hacks that might be useful to artists and other makers. I seem to use this blog (the one that you’re reading right now) less and less – maybe I’ll start a series of smaller ones to replace this one sometime.

rdqcutils Quartz Composer plugin

During my weekend of procrastination, I created a Quartz Composer plugin. As I need some new patch I will probably add it to this plugin, so it will continue to grow.

Mapping a value to a new range

A handy formula that I usually have to look for when I need it – make a value fall into a specific min-max range. This is the math that gives you a new, scaled up or down, value.

20 Challenges

This is a list of twenty arbitrary challenges for people who are learning to create using a tool like Processing, Quartz Composer, or the like.

Using OSCemote with Processing

This is my tutorial for using Processing with the OSCemote iPhone app.

Bang Section

Part of a drawing for a piece of kinetic sculpture that I’ve been working on for far too long now.


I made a big red button to replace the Escape key. A museum that I’m consulting for needs this for a touch-screen kiosk that runs Crayon Physics.

iPhone and Processing

I made a couple simple demos for the VIS145A students at UCSD to show how we can use an iPhone as the interface to Processing sketches.


A drawing from my sketchbook, with some additions. I kind of just did it as a stream of consciousness so I’m not quite sure what it means.

Creating Visual Rhythm in Processing

I’m teaching Processing to art students at UCSD and the course’s professor has basically asked them to create visual rhythm. I made a few sketches to show a simple way in which this might be accomplished.

How to get your RSS feeds out of Mail.app (and into NetNewsWire)

If you use Mail.app to read RSS feeds and want to export the URLs for those feeds (maybe you want to use some other RSS reader now?), you can use this command.

Solar Recipes

I’ve been cooking with the solar oven. Here’s a log of how it’s been going.

Solar Cooking

I made a solar oven last night and I baked some potatoes with it this morning. Two words: best baked potatoes EVER.

PHP Countries, States and Provinces

I modified my phpstates code include to display countries and Canadian provinces as well. The country codes come from the UPS developer’s API. This is another one of those snippets that I use often, so maybe it will help you out.

Perl template for TextMate

Here’s how you can create perl scripts in TextMate, starting from a template instead of a blank screen.

Simple credit card number validation with PHP

I was looking for a quick and simple PHP function that would validating credit card numbers, but the code I found was mostly clunky and sometimes just wrong. I wrote this function and it seems to work correctly. Feel free to use it and leave a comment here if it works for you.

Organic Butternut Squash Robot

I find things in my sketchbook that I don’t remember writing or drawing. I have no idea where I was going with this, but I like the way my alternate personality is thinking.

Toy Ingenuity

I like the little gems of ingenuity and economy of design found inside crappy toys. I was taking apart some electronic toys yesterday, as is my wont. This particular toy had a few neat mechanisms, but I thought this use of rotary encoders and cams was especially cool.


I created a circuit that zooms a camcorder in and out. This is the path I took.

Free Mind

I’ve been using FreeMind for the past few days and it’s been amazing. I was a little skeptical but it’s been a great way of getting my mess of thoughts into visual form.

World’s Ugliest PC

I needed to hide a linux server inside a pedestal for a piece of sculpture that I’m working on. Bandsaw and drywall screws, it’s ugly but exactly what I needed.

Calculator Hijacking

I’m making something that requires remote control of a printing calculator. I’ve got it working.

Burning the Arduino Bootloader with an STK500v2

I had trouble using Arduino to burn the bootloader onto a blank atmega8 with my ST500v2 development board. I eventually figured it out and here’s the deal.

TextMate Syntax Highlighting for AVR Libc

This isn’t perfect, but it should do a pretty good job of highlighting your C source if you’re using TextMate to program an AVR using AVR Libc.

“Dumb Kit” MIDI Controller

Teach your baby to be a hip hop producer early. This is a MIDI drum kit that I made using a microcontroller and another $2 find at Savers.

“Idle Hands” 555 Keyboard

I made this keyboard from a $1 toy that I bought at Savers. I made some changes to the electronics including pitch control, a 555 timer circuit that adds extra resistance in secret places, a speed control for the timer, 1/4″ output jack, and a touch-contact for good measure. I fabricated the case from cold-rolled [...]

Nintendo Joystick MIDI Drum Kit

Just a quick experiment to show that the NESpad library I wrote for the Arduino microcontroller actually works. An NES Advantage joystick acts as a mini MIDI drum pad.

NESpad/SNESpad: Nintendo Joystick Libraries for Arduino

I wrote this library, called NESpad, for anyone who wants to interface an NES game pad with the Arduino microcontroller. I also made an SNES library (SNESpad), but I haven’t tested it with an actual SNES joystick.

Joysticks & Microcontrollers

Joysticks 101. Basically, we’ve got two types of joysticks: analog and digital. You’ve probably used both kinds. The buttons work pretty much the same on either kind – you either click it or you don’t – but the actual “stick” part is what makes them different. This post starts out with some basic joystick info [...]

Human Powered Organ

I have a stack of wooden church organ pipes in my studio. I was going to make a mobile, solar- and human-powered organ that is played with theremin-like controls or a tangible interface of some kind. I haven’t gotten around to it, but this sketch kind of sums it up.

Vegetable Oil Conversion

A while back, I converted my 1994 Ford E-350 van to run on vegetable oil. I never took really good notes on what I did to convert the van, but I had all kinds of scribble-sketches hanging around all the time. Some of them are here.

The Hit Guitar

My stylish project amp, in all its monophonic glory…

Shower Time Machine

I tried to make a time machine using an AVR Tiny13 and a peanut butter jar. Okay, so maybe it’s not really a time machine, but it’s definitely a kind of trippy time-manipulator ala Doc Edgerton’s stroboscope experiments. Either way, it works and it’s pretty cool.

Lufthansa Flight 420

I’m really leaving.

Bukowina, Poland

Music, dancing and storytelling competition

Karlstein Castle, Czech Republic

A sketch of mistaken identity

Trybsz, Poland

Mary riding a crescent moon

Lachowice, Poland

A couple sketches from a church in Lachowice, Poland.

WordPress Blogging with TextMate

TextMate is pretty incredible. I just started reading the book on it and if I can ever get used to the 8 million key combinations I’m sure it’ll shave minutes off of my year. Really, though, I’m amazed everytime I see a screencast where someone is using TextMate and the code just seems to blast [...]

My Bicycles

I have a few bicycles but these are the cooler ones. I bought both the Raleigh Supercourse and the Columbia Cyclone from the Greenhouse in Needham (or maybe it’s Wellesley), Massachusetts. It’s actually a greenhouse – with tons of used bikes and junk. Anyway, I bought the Columbia to turn into a crazy chopper, but [...]

Flat Tire, Worn Tire on an SV650?

Back when I had my SV, I got a nail in my tire and I documented the process of getting it fixed so I could remember what I did the next time. This info could help you out, but obviously I’m not Suzuki so don’t come looking for me if your wheel falls off.

Nasty MOTDs

motd stands for “message of the day” and it’s the message that you see when you login to a unix-like system via ssh, telnet, the console, etc. Some people like to put cute sayings or “welcome” messages, but if I’m setting up a server for someone else, I generally want to put a less friendly [...]

Tiger Boy Toy Cameras

My gallery of Tiger Boy toy camera photos

Exposure Times for Pinhole Photography

This is a list of different ways to determine exposure times for your pinhole cameras

Vegetarian Food in Boston

Vegetarians and vegans traveling to Boston, get your food on.

Repacking a Renegade Exhaust

Renegade exhausts are awesome. You should own one. The people who make them are the best. But, actually, this page is for people who already own Renegade exhausts and are wondering what’s involved in replacing its wool packing. I think you’re supposed to change the wool every 4,000 miles if you have a carbon fiber [...]

Motorcycle Shops

My general experience with motorcycle shops is that I haven’t really liked any service or sales departments and I’ve only liked a couple parts departments. This post is where we out the stinkers and praise the good guys.

XHTML tips

Some information that might help you understand XHTML and use it in your next web project.

Finding remote host info

This is how I find out where a remote client is coming from. It takes into account proxies and tries to get the hostname using gethostbyaddr(). Frankly, this was written many years ago so I’m not sure if I’d do it the same way. If nothing else, it should be a good starting point for [...]

Creating a 1px GIF with Perl

Ever wanted to create a 1 pixel transparent GIF with Perl? Me neither, but this is still neat to have in the toolbox.

Going from Perl to php

I wrote this cross-reference a while back for people who know how to program using Perl and are looking for some of the familiar Perl functions in the php language. When I originally write it, we were stuck with php 3 so I just reworked the list to include some of the functions that were [...]

Extracting data from MS Access files on MacOS X

The only real way that I’ve found to extract data from an MS Access .mdb file on MacOS X is to use mdbtools. If you aren’t familiar with the unix underpinnings of MacOS X, this information might be too much for you. Otherwise, this is a step-by-step list of what I had to do to get mdbtools to compile and get useful data from a .mdb

How to burn a DVD From a .img file

These are instructions for burning a DVD disc when what you’ve been given is a .img (Disk Image) file. The instructions are for users of MacOS X. If you’re using Windows or Linux, check Google for other pages like this one.

Compressing URLs to make them shorter

This one time, I thought maybe I’d try compressing URLs to make the query strings shorter.

Creating a SELECT list of states with php

I’m posting this short chunk of php code that might save you a few minutes. It creates a list of US states in an HTML or XHTML SELECT list. Download the zip file here.

Tips for Avoiding SPAM (Part 1)

Part 1 of 2 – tips and information that anyone can use to help keep SPAM from filling their own inbox.

Tips for Avoiding SPAM (Part 2)

Part 2 of 2 – anti-SPAM tips and information for web developers and administrators.

Cicero Dashboard Widget

My Cicero Dashboard Widget allows you to instantly copy a chunk of “Lorem Ipsum” to your clipboard with a single click on your Mac OS X Dashboard. Download it now.

Skull & Bones Dashboard Widget

Just in time for Halloween comes a creepy skull & crossbones to adorn your Mac OS X Dashboard. Download it here.

Boilerplate template for Javascript

Here’s a template for adding javascript code to an HTML page. It might save you 30 seconds someday.

Cool Tools

Sort of weird, but a bunch of years ago I was really excited about the variety of tools that I had used in the span of only a few months of working on projects at the Massachusetts College of Art, at Handshouse Studio, and with the Timber Framer’s Guild. I guess I made this page [...]

Motorcycle Gear and Accessories

I wrote this list back in 2001 and I updated it for a year or two. I had a 2000 Suzuki SV650 at the time, so you’ll see a lot of references to that bike. Also, I don’t buy things made from animals and as far as I know, the only products that contain leather [...]