Posts

High Lonesome 100: 2017

We staggered up the last few steps in the dark to the top of Monarch on the Continental Divide trail. A relentless wind slapped me in the face, and kept on slapping. A chill burrowed into me despite the wool shirt, rain jacket, gloves and buff. I couldn’t see more than three feet in front of me; it wasn’t fog, we were standing in a cloud. I turned back to Aaron, now nothing more than a diffuse headlamp glow and a voice in the dark.…

Cruel Jewel 50: 2016

Before we get into this, I want to clear up a few things: Trekking poles - Bring them with you. Take them out immediately. Don’t bother putting them away. This isn’t Umstead or the Virginia Creeper trail. Some points of the race are so steep that you can reach out in front of your face and touch the ground. The downhills are straight down, because you know, who likes switchbacks.…

Seven Languages in Seven Weeks

Introduction Think about the way you think. Think about that thought, and this one. Did you think using words? Did you see the words? Sound them out mentally? If someone asked you describe yourself, you would probably think of a series of adjectives (at least if you’re an English speaker). We think via language, spoken or written. It’s the source of our intelligence and in some ways the root of our consciousness.…

Be Careful With your Redis BitSets and Java

A while back a popular article hit Hacker News. Written by the guys over at Spool, it contained a slick methodology for storing metrics such as user logins per day, song plays by user, etc using using Redis BitSets. How about a basic example. When a user logs in, set a bit in a bitset at the location of that user’s ID number. If you have a bitset allocated for each day, you can tell for any given day how many users logged in by looking at the cardinality of the bitset.…

RPM 2012: Year Of King Richard

Occasionally, between the software, traveling, work and more work, I get a rare opportunity to play the drums. The call usually comes at the end of January, and has become the most welcome distraction in February in years. It’s The RPM Challenge In February 2011, Tim Alexander asked me to “play on a few tracks” for his Letter Seventeen album. I hadn’t had a chance to record in over a year, so I eagerly accepted and contributed a few tracks.…

Casio MG-510 Midi Guitar

Back when I documented the repair of the Casio PG-380 MIDI Guitar, I had no idea that this post was going to dominate the traffic patterns to my little home on the web. Fully 1⁄3 of all visitors to this site come to that post, asking questions, posting comments, and requesting repairs. One request I’ve gotten over and over is a repair on the Casio MG-510. The Casio MG-510 is like the little brother of the Casio PG-380.…

Coffee Sack Sound Baffles

Several years ago I began acoustically treating my studio for recording drums and mixing. I did some research and pricing; it didn’t take a spreadsheet to discover that acoustic paneling was both overpriced and hideous. I searched some more and devised a solution that was both economical and classy. Acoustic paneling is simple stuff. You get some kind of absorbent material, optionally covered with sonically neutral fabric, and hang it on a surface.…

Another Southern Odyssey

Exhausted, sore, and half-asleep, I stare into the read-view mirror of our van. While I wait for Jeremy to appear on the horizon behind me, I strike up a conversation with a much younger version of myself. “We enjoy this?” “Hell yes!” The young me grins from ear to ear, gripping a roll of quarters at an all-night arcade lockin. A bearded, haggard, and much older me smiles back before I run off into a maze of video game consoles.…

Another Schwinn Prelude?

After a leisurely lunch on the Marietta Square yesterday, I came across this: Another Schwinn Prelude! It seems I’m not the only one who was unimpressed with the original rusted gunmetal gray look. The owner of this Prelude painted theirs similarly to mine. A base coat of cream with an accent color for the lugs and forks. Observe: This Prelude owner went with green, no doubt as an accent to the sexy leather Brooks seat and handlebar tape.…

Programming, Languages, and Hacking the Way We Think

Last night I read a wonderful article about programming languages. It opened with a quote: A language that doesn’t affect the way you think about programming is not worth knowing. -Alan Perlis After a few minutes of thinking about it, I changed the quote to read: A language that doesn’t change the way you think is not worth knowing. I don’t think in Ruby. Or Perl. Or Python.…

Todo-CL 2.0.0

A while back I created a simple command line tool that allowed me to create tasks from Launchy and send them directly to Toodledo. My process was simple. I’d create a bunch of tasks throughout the day while doing other stuff, then sometime that night (or the next morning) I’d go through all those tasks and put them in the right container, assign due dates, and make projects out of them if necessary.…

The RPM Challenge and The Power of Constrained Creativity

It seems like there is a time-boxed challenge for everything out there on the internet. For writers there is NaNoWriMo, for moustache growers there is Movember. Game programmers have Dream.Build.Play. If you do it, there is a challenge for it, and if there isn’t, you can create one. I’ve always wanted to get involved with one of these little challenges, but find myself unwilling (or unable) to commit the time.…

A Launchy Todo Client and the GitHub Paradigm

I use Launchy hundreds of times in a day. The Alt and Spacebar keys are usually the first to show significant wear and tear on any new computer I work with. It’s the first thing I install, and it’s how I keep my hands on the keyboard and off the mouse. I also use a web service called Toodledo for task, todo, and personal project management. Toodledo sounds like a lame children’s toy, but it is extremely good at what it does: being an ugly but efficient task management system.…

GOLSequencer, HarmonicTable, and MidiReference on GitHub

With just a little trepidation I have checked in the code for all of my free software goodies into GitHub. I was getting several requests to provide access to the source for several of my old projects, so rather than emailing code around on a case by case basis, I have simply checked everything in to GitHub for posterity. Who knows, maybe someone will jump in there and fix all the bugs.…

RWMidi and Pitch Bend: Another Adventure in Social Coding

In my previous post, I discovered that the RWMidi library was available via GitHub, leaving it open to the possibility of forking and making my sync and pulse resolution changes public. Proving that Jung and Sting were on to something, while making these changes I received an e-mail from a user struggling with RWMidi: I’m trying to send a simple Pitch Bend message and it’s proving impossible! I was already in the code, so I poked around.…

RWMidi, GMS, and GOL Sequencer: Adventures in Social Coding

Many moons ago, I created a little tool called the [GOL Sequencer Bank][1]. You can read more about it [here][2], and [here][3]. In order to create the tool, I used [RWMidi][4], a Java/Processing library created by Manuel Odendahl of [Ruin&Wesen][5]. While creating the sequencer bank, I discovered that the RWMidi library had no support for MIDI Sync messages, preventing me from syncing the sequencer with a master, like Ableton Live. This simply would not do.…

200 Miles, 8 Runners, 31 Hours: A Race Log

Introduction I’ve always thought of distance running as an individual sport. You throw on some shoes, pop in some earbuds and put one foot in front of the other for a long time. Sure you may go out in a group from time to time, but if you can have a conversation than you’re not working hard enough. This weekend changed my outlook on distance running, and opened my eyes to how fun running with a team can be.…

An Evolving Experiment in Fitness

My lungs are raw from gasping for 7 minutes solid. My vision has only now returned from the blurry and wild eyed stupor I was in just a few hours ago, when I crashed on the gym mat in an effort to get my heart rate down to a safe level. I still haven’t fully recovered from tonight’s workout as I write this and reflect; slightly sick and slightly satisfied feelings mingle with one another and I cannot predict if I will wake up with an upper respiratory infection or the desire to push myself to this upper limit again.…

STFUnity, GOLSequencer, and a Month of Home Repair

Well, it’s been a while so a big rambling update is probably in order here: First, the wife and I made the decision to go ahead with a kitchen remodel we’ve been planning for several years this last month (May). I know the last time I posted was March, but April was busy for other reasons. Other than a little wall arranging, we did the entire thing ourselves from demolition to crown molding.…

Harmonic Table 0.5: Midi Input & Lit Keys

While I thought the GOL Sequencer Bank would get the bulk of my attention this Winter, it turns out I’m getting far more requests to update to the Harmonic Table controller. Among them were Midi Input capabilities, buttons lighting up, and some bug fixes here and there. All that completed, I give you Harmonic Table 0.5. Here is the breakdown: Midi Input – This feature allows you to accept midi note on and off events and display them as key presses on the main screen.…

Casio PG-380 Midi Guitar

Several months ago Jason asked me if I could fix a MIDI Guitar. I didn’t have the slightest idea how to fix one, and had only speculative knowledge about how they work, so naturally I said “yeah, sure, piece of cake”. If I’d have known at the time the kind of gear lust this project would create I might have turned him down at the outset. The Casio PG-380 is a guitar that translates the notes you pick on the strings into MIDI Notes.…

STFUnity: GOL Sequencer Bank, Sound Design, and New Music

I’ve undertaken a new musical collaboration with a very eclectic (and eccentric) group of guys called [STFUnity][1]. The project for me started when Bill mentioned putting together a completely virtual collaboration between he, Jason Blain, and myself. The idea was that rather than the traditional setting of getting a couple musicians in a room, rehearsing some material, then playing it live, we’d instead pass around a bunch of tracks and see where each member took the material.…

The Evernote Workout Log

A few weeks back I wrote about a little fitness experiment I had started to try and reduce the amount of time I spent training while maximizing results. During the experiment I needed a place to document my workouts so I could review my progress and see if I was meeting my goals, as well as plan future workouts. I had some basic requirements in mind when selecting a logging system:…

Inside The Korg DW-8000

Recently a friend asked how hard it was to replace the CMOS battery in Korg DW-8000 keyboard. I assumed it couldn’t be that hard, looked up what kind of battery it accepted (CR2032) and said “yeah, 5 minute job”. I failed to take into account early 80s circuit construction. Sure, its no Maestro PS-1B, but I certainly discovered some “opportunities” upon cracking open the case… Getting it open is easy enough.…

An Experiment in Fitness

Disclaimers Update 03-01-2019: Almost 10 years later, I no longer subscribe to the following. I haven’t since 2012. Looking back on old writing, old training and old ways is illuminating. I’m happy for the time I spent with this experiment and where it led me, but I’m older and wiser now. I’m an ultrarunner and train like one. I also lift big weights, jump high and rest a lot. Every now and then I do something that looks like an old Crossfit workout.…

Cheap and Easy Speaker Stands

I built some speaker stands recently for the home studio. Rather than go through the trouble to add all the steps here, I just created an Instructable for it. You can find it here: DIY Speaker Stands for Cheap I got the original idea from these guys, but I thought they were a bit small so I scaled them up. Here is a picture of them setup in the studio:…

Cut PVC With Electrical Tape and a Hacksaw

Between parallettes and speaker stands, many of my recent projects have included PVC pipe. I used to really struggle making perfect right angle cuts, the end of the pipe would usually end up looking like a ragged curve no matter how hard I tried to keep the line straight. With all the practice I’ve had lately, I found a method that seems to work. A few months back I found some instructions for making parallettes that gave me helpful little tip:…

Schwinn Prelude Redux: Complete?

The Schwinn is all back together now with the new paint job, decals, handlebar tape, and cabling: Here’s a before pic for reference: The red and white striped bar tape was a nice final touch: So what’s next? I might replace the seat with an old Selle Itialia Flite saddle if I can find one, but other than that, we’re pretty much done here. Anyone have a $20 steel bike they want to sell me so I can do this again?…

Schwinn Prelude Bicycle Restore: Clear Coat

It’s been a while but I finally found some extra time to slap a clear coat on my Schwinn redux. I saw “I”, but really my father-in-law took care of this one. Its delicate work, and I’m just not in to that. Maybe next time. Clearcoating is really to hide and protect. It masks any blemishes that might be left on the bike, and protects the coats of paint you slapped on previously from rust, nicks, and other marring.…

Converting 24PPQ Midi Sync in Java/Processing

I would be the first person to say that for the most part, MIDI is perfectly acceptable as an interface between musical devices, and has survived for as long as it has because of how dead simple it is. MIDI is still plenty fast, and in terms of interoperability, has yet to be bested. However MIDI does have its shortcomings, and while helping John Keston over at AudioCookbook with his Gestural Music Sequencer, I ran in to a big one.…

Schwinn Prelude Bicycle Restore: Decals

With all the painting done its time to move on to puttin’ fancy stickers on the bike. It occurs to me that I didn’t post a picture of the bike with the paint all finished, so here is a shot: Looking pretty slick. I ordered two sets of decals for the bike from eBay. If you do a search for whatever bike brand and decals you’ll come up with hundreds. In retrospect I should have looked for Roll-Royce decals, hindsight is often hilarious.…

Schwinn Prelude Bicycle Restore: Painting II

Its been a few weeks, but I finally moved on to the last of the painting over the weekend. In the previous post we painted the frame in its entirety with a primer and the cream colored base coat. We did a test with the red paint for the lugs and details on the fork, and it looked excellent, so we continued using the same process on the rest of the frame.…

Harmonic Table 0.3

Bit slow these days with work and other stuff to get around to some of the changes I’m been meaning to make to these projects, but here is a quick 0.3 stab. I had more changes planned for this release, along with some stuff for playing back patterns and keyboard playback support, but for now I only had time to make a few changes: Chord Mode – Chord mode allows the user to hold down a key on the keyboard and play a chord when a note is clicked.…

Game of Life Sequencer Bank Beta

I finished up a bunch of changes to the Game of Life Sequencer Bank. Here is a brief overview: UI Overhaul - Rather than trying to stuff all the sequencers into 1 window, I gave them each their own tab. So now you have 6 tabs across the top with an independent screen for each sequencer. This allowed me to create a 32 x 32 grid rather than just a 16 x 16.…

Java MidiReference 1.0

Several months ago I started working on a series of classes to make my life easier when programming for music. I’d started several projects and realized that trying to refer back and forth between MIDI Numbers and Notation by hand was tedious, so I created a library of functions to do it all for me. I finally got around to formalizing this into one library, and released it here. I’ve put this into action already with the Game Of Life Sequencer Bank and HarmonicTable projects, and its really made it easy to pull scales, chords, drum maps, you name it quickly from a preset library…

Game of Life Sequencer Bank Alpha

I wrapped up the Game of Life Sequencer Bank Alpha release (which I’ll probably start calling GOL SeqBank because it’s easier to type). Documentation, downloads, etc can all be found here: Game of Life Sequencer Bank Hopefully it doesn’t break on anyone. I’ve been using it to generate all kinds of random noise successfully for at least a few days now.…

Game of Life Sequencer Bank Demo

Some time ago, Wesen of Ruin&Wesen created a screencast of a sequencer based on the game of life concept. I followed the screencast, and thought there was a lot you could do with something like this. I thought of several features, making it a step sequencer, a drum sequencer, perhaps enabling multiple scales. I had some free time (we took a vacation), so I worked on it on the plane and early in the morning while my wife slept in, and came up with the Game of Life Sequencer Bank, a bank of 6 GOL sequencers each capable of individual operation and synced via MIDI.…

Drawing a Hexagon in Processing / Java

As part of my little HarmonicTable project I spent a lot of time figuring out how to draw a proper hexagon. It seems I wasn’t alone in this endeavor, as I’ve received a few comments and e-mails about how exactly to do this. At the request of others I’ve moved the Hexagon class back into Processing, and written a dead simple PDE sketch to show you how to use it.…

Make Your Apple Pro Speakers Useful

I am convinced that everything Apple develops fits in to one of two categories: awesome or suck. In the awesome category you have stuff like the iPod, iPhone, and OS X. In the suck category, iTunes, iPhotos, and ahem their font management. Many years ago, when Apple started putting an ‘i’ in front of anything to make it the future, you could get an iMac. This was a neat little machine, underpowered but fun, that my wife bought to handle some graphic design.…

Maestro PS-1B Teardown

A friend of the band recently had a problem with his Maestro PS-1B, a phase shifter from the early 70’s designed by the famous Tom Oberheim, and asked me to take a look at it. Based on the problem, a loud humming at the output with no sign of any other signal, I figured it should be an easy fix. It was probably just a ground fault or a bad output or something, so I took it home with me and cracked it open.…

Schwinn Prelude Bicycle Restore: Painting I

In the last post I wrapped up all of the prep work on the bike frame. It was taken apart completely, sandblasted to remove rust and sanded from top to bottom. Now it’s time for painting! Most of the tools I got to use on this project belong to my father-in-law. In the past he has painted cars and motorcycles, so using this kind of equipment to refinish a bike is probably a lot like using a firehose to fill a bucket, but its a treat to use this high-end stuff.…

Processing Harmonic Table 02

Mac users pointed out some problems with 01, so I fixed the following: When dragging notes, the note would only sound once until the mouse was released. The software would not start up automatically on many Macs unless the java version was set to 6 Unreported: Notes would only sustain as long as the mouse button was held. May be seen as a feature, see below for fix. I fixed the dragging problem, and recompiled the software in Java 5 so that it will work in either 5 or 6, so Mac users should be able to start up without issue.…

Processing Harmonic Table 01

UPDATE: This is no longer the latest version, I fixed some bugs for Mac users and reposted. To get the latest version click here. Since I don’t have a touchscreen to test this with, I’m releasing the 01 version with mouse functionality, along with a few GUI functions to change the midi out port and the starting note number. At some point I’ll get a tablet and add the touchscreen functionality, or if someone has a tablet I can pass the source code on and they can test/implement that functionality.…

Schwinn Prelude Bicycle Restore: Prep Work

Cycling might be the perfect sport for an engineer. The mechanics of a bicycle are beautifully simple, and the gear porn aspect of owning and operating a performance machine may be paramount to the health benefits of actually riding. Data is key as a cyclist as well. Altitudes, cadences, heart rates and watts determine my performance on a ride. I can criticize or praise myself in a quantifiable way, and I have my bicycle to thank for much of it.…

Processing Harmonic Table: Part 2

Since the last post I’ve had to make far more changes than I expected. If you looked at the previous examples, there was using a loop to create the hex buttons, making translations to relative to other translations on the screen. In the process I completely lost track of the absolute position of the button, which basically made it impossible to detect the location of the mouse on the screen in order to tell which button I was pressing.…

Processing Harmonic Table: Part 1

Earlier this year while reading Harmonic Experience by W. A. Mathieu, I was introduced to the concept of lattices to represent tones, chords and keys. These lattices can be used to represent the basics of music composition in a visual way that makes more sense than standard scales on staffs. Here is an example: The lattice is effectively several staffs of music stacked on top of each other, so that the note can be displayed horizontally and vertically.…

Java Midi Reference Class

Lately I have been doing some work with Processing to create visuals from music. One of the concepts I’m working with is live visuals based on video feeds from cameras that are tracking the show, or band, or whatever. This alone would be enormously boring, so to heighten the experience, I thought of using the audio output of the show to control features of the video feeds, like playback speed, positions, color and hue, etc.…

American Gods and running with the dead

So I finally got around to reading American Gods by Neil Gaiman this past winter, and as it turned out I couldn’t have picked better circumstances. Actually I didn’t so much “read” American Gods as I listened to it. As narrated by George Guidall, who I am convinced is the finest narrator of audio books I’ve ever had the privilege to listen to. It turns out the story takes place largely in winter, and since this book was to be my running companion for much of the season it turned out to be perfect.…