The vaults are insufferably damp.
Sunday, December 12, 2010
Fun With CouchDB
I'm learning to use CouchDB. It's a fun way to keep track of stuff. You can put JSON documents in the db, and you can attach files too. I've always like the idea of having a template in the cloud that you can use to build a working environment on any given computer. I'm setting one up now. You download a single script from CouchDB that will install other tools and create folders and so on.
Sunday, April 04, 2010
Friday, March 12, 2010
What was I thinking?
My dwarves have been busy digging an underground empire.
I watched Rise of the Fallen with William. This is a Transformers movie.
We also watched GI Joe together. That's a fun movie.
Cindy went to Arizona with her mom. She came back with a cold.
Image via Wikipedia
I've been using Enso on my computer. I'm liking it.
Friday, November 13, 2009
My go development box is a virtual machine
I've been playing around with the new go language from Google. It is a very interesting computer language. It is currently only supported on Linux and MacOSX. I've been watching the #go-nuts IRC channel on freenode.net the past few days. A lot of the messages there are pleading for a Windows implementation. I also saw complaints about the mercurial source code version control system used (Oh no, not another version control system...).
Haven't any of these people heard of virtual machines?
I set up a Gentoo Linux image in Qemu and use that for learning Go. It doesn't matter that my laptop is running Windows, the tools I need for Go are right there in the vm. Install mercurial? All I had to do was emerge it. And since I wasn't installing it on my primary machine I didn't think twice.
With all the work I've done on embedded systems and Processing I just don't care so much about what OS or device some software will run on. I have the tools to connect the different platforms. This early release of Go seems especially suited for running network services, and I can whip up a Processing GUI for that, no problem. I do think that a ready-built vm image, either for Qemu or a VMWare appliance, would be a great thing.
Saturday, November 07, 2009
Arduino Audio Sandbox
I'm listening to my rendition of the 4ms Autonomous Bassline Generator. Here's how I put it together. First I needed a reasonable audio generator for the Arduino. I found an Adrian Freed Arduino sketch that makes a good sine wave using the PWM2 output. Adrian uses a 256 slot wavetable and some fixed point math. I took his wavetable and his interrupt routine and got that running. Next I wanted one octave of musical notes, so I looked up the frequency values and put them into a 12 slot array. I started with five notes in a melody array that I would cycle through over and over, but now that has grown to eight notes. I play that three times in a row, then generate a new set of melody nodes and run that.
The sine wave I was getting was good, but I wanted a raspier sound, so I added a second wave table (this one in RAM) and filled it with random values. My first attempt at mixing this with the sine wave failed. All I got was noise. I worked with the values some and got it working, but I think the next build will have a total volume level. The noise level is user variable, and the sine level is the master volume minus the noise level.
I used a LDR (light sensor) to set the noise level, but it was more fun to use it to alter the tempo. My desk gets a sliver of sunlight crossing it around 12:30 pm, so I set the Arduino on the desk. The music starts out slow, getting faster as the light moves over it, then slowing again as darkness returns. If a cloud passes in front of the sun that also slows the tempo.
This is more fun than you might expect already, but I have several ideas for continuing the project. I'm going to use one of my Arduino Pro boards to build this as a permanent fixture. I'll have to build an enclosure for it, with a built-in audio amplifier and speaker. I'll mount the LDR on top and a few variable resistors. I also want to try IR synchronization like the original ABG project. I'll probably add a breadboard section for experimenting with the generated audio.
On the software side I want to expand the melody section to three 'passages'. The default will be to cycle through each in turn, over and over again. A second mode will change just one or two notes in each passage. There will also be a way to replace all the notes in the melody at once. The goal here is to make a kind of musical game, with the Arduino playing the bassline and the human improvising over the top.
Saturday, October 31, 2009
USBtiny build notes
Spent a few hours this morning building the USBtinyISP AVR Programmer from adafruit.com. Very happy to report that it went together easily and worked the first time out. Awesome! I did make one small blunder though. I should have read through the installation instructions before starting. You are supposed to put the LEDs one half inch over the pc board. I mounted them flush to the board, and now you have to look down into the enclosure to see them. I'm hoping a little work with coffee stirrers and perhaps a little hot glue can remedy the situation.
The online assembly instructions are very good. I did wait to install R7 as suggested and I was glad for it. One change I would make is to put the USB jack on after the 6 and 10 pin headers. The headers have a lower profile and I had to prop them up on something when I soldered them. Also, my kit had a smaller C2 100 microfarad capacitor than in the instructions. It fits in beside the '125 buffer chip so I didn't bend it over the '125.
After it was all assembled I turned off the solder iron and downloaded the Windows drivers. The USBtinyISP runs as an actual USB device and not as a serial port emulator, so for AVRDude you just use "-c usbtiny". That's a lot nicer than plugging in the Arduino and then trying to figure out what COM port it got. I connected it first to a project I have installed on the Evil Mad Scientist MegaXX8 target board but that didn't work. I'll have to sort that out later. Next I connected it to the six pin port on an Arduino. This time it connected and read out the device signature just fine. Last I hooked it up to a Larson Scanner I built with a Tiny2313 chip. Read that one also. This is so cool, now I have an AVR programmer that I can just plug in and use!
The online assembly instructions are very good. I did wait to install R7 as suggested and I was glad for it. One change I would make is to put the USB jack on after the 6 and 10 pin headers. The headers have a lower profile and I had to prop them up on something when I soldered them. Also, my kit had a smaller C2 100 microfarad capacitor than in the instructions. It fits in beside the '125 buffer chip so I didn't bend it over the '125.
After it was all assembled I turned off the solder iron and downloaded the Windows drivers. The USBtinyISP runs as an actual USB device and not as a serial port emulator, so for AVRDude you just use "-c usbtiny". That's a lot nicer than plugging in the Arduino and then trying to figure out what COM port it got. I connected it first to a project I have installed on the Evil Mad Scientist MegaXX8 target board but that didn't work. I'll have to sort that out later. Next I connected it to the six pin port on an Arduino. This time it connected and read out the device signature just fine. Last I hooked it up to a Larson Scanner I built with a Tiny2313 chip. Read that one also. This is so cool, now I have an AVR programmer that I can just plug in and use!
Saturday, August 08, 2009
Saturday Is Over
I didn't work on the morse code trainer or the dresser for Sarah. We went to the zoo and saw the baby giraffe. Then I went over to my inlaws and helped set up a new television. Why can't they just put up an external antenna? They need one if they want over-the-air television. Then I loaded the dishwasher, after that I took Cindy out for dinner at Mimi's.
Subscribe to:
Posts (Atom)
