VCVRackTutorial: The Turing Machine

The patch file:

Audio Example:

The two implementations of the Turing Machine Sequencer — in the case of this patch, the one from the Skylights plugin — are not immediately understandable without doing some reading of manuals, which is never anyone’s favorite activity.

Turing Machine sequencer have a property that is one of the best about modular synthesis (or in fact music in general) in that it takes a single simple idea and implements it in a way that can have surprising and musically useful results.

There’s a full document describing what the Skylight folks implemented here, but I think I can describe it very simply.  If you look at the byte symbol above, it shows how it is comprised of bits.  A particular sequence in the Turing Machine uses this byte (or 16 bit word, maybe) in two ways.

  1. The bits are rotated in the buffer.  And by ‘rotated’ I mean that each bit is shifted left, and the last bit on the right  is placed in the leftmost bit location.  This makes sense if you visualize it physically. If you had a row of black & white marbles, you take out the rightmost marble, and place it in the leftmost position, shifting all the other marbles right one space.
  2. In computing a byte is two things: a collection of bits, and the representation of a number in the range of 0 and 255 (or often, one of the ASCII characters).

The Turing Machine Sequencer uses those two representations to generate a pitch and a gate signal. The pitch is the numeric value of the byte, and the gate signal goes from zero to one when the rightmost bit is one.

That’s all that really happens, except for what the LOCK knob does.  When the knob is fully counter-clockwise, every time the sequencer receives a clock, every bit in the sequencer’s byte is replaced by a new, random value.  When the knob is at 12 O’Clock, half of the bits are randomized.  When the knob is fully clockwise, the sequence is locked, and none of the bits change.

So when you use the Turing Machine as a sequencer you have a choice between an always changing random sequence, an unchanging sequence, and a sequence that changes gradually over time.  This example patch comes with a locked sequence that sounds like a classic analog sequencer patch from Kraftwerk or Tangerine dream.

The output of sequencer is a tunable combination of chaos and order. It follows a very musical paradigm.  If the LOCK knob is somewhere around 3 O’Clock it means that the sequence playing changes very slowly a note or two at a time.

It also has one of  most charming features of modular synthesis: Because of how the pitches and triggers are generated, the pitches and triggers have a deep structural relationship.  A change in underlying data byte changes both the pitch and trigger in a predictable way. Well, mostly predictable, as it does it’s magic by random, probabilistic bit flipping.

When two things in music have that kind of relationship, where they’re both tied to different views of the same input, it’s something you can hear.  The sound of the SkyLights Alan Turing machine is the sound of that relationship.

Another about this patch is the quantizing setup of the pitch output of the Turing Machine:

The pitch coming out of the Turing Machine changes at every clock step, so I run it through a sample & hold triggered by the gate output of the Turing Machine.  This means that the note only changes when a new note is triggered.  Then it’s quantized by VCV Scalar.  I’ve selected notes that are a sort of 5 note scale, but different than the standard pentatonic scale.  This is followed by a Fundamental Octave module, that transposes up or down by one or more octaves.

This is kind of a standard setup for most sequencers that I use, because I want things to add up musically, and I want one pitch per note. You can certainly bypass the sample & hold and go directly from the sequencer to the Scalar Quantizer , if you want the effect of the note pitch changing as it decays.

Ableton Live — a Different Way to Swing.

I’m doing two posts in one day after months of silence?

This just occured to me; I had to share.

1. Get a clip loaded. MIDI or whatever.
2. Click on the Groove hot-swap icon, and choose any groove:


3. Set Timing, Random, and Velocity in the Groove.
4. Set ‘Base’ to 16T.
5. Tweak the quantize control.


This will give your clips an adjustable swing; about 11% sounds pretty good.

For extra points, you can hack your own groove:
1. Make a clip with 16 16th notes — the actual note doesn’t matter. A closed hi-hat will help you get the groove right.
2. mess with the velocity of notes so that it has some ebb and flow type funk.
3. Apply the triplet swing groove, and hit commit.
4. Drag the midi clip into the groove pool. Your own custom groove!

Windows 8 and Audio Performance: File History Kills!

I had Ableton Live’s audio get interrupted several times last night. The culprit was a nonsensical ‘warning’ to reattach my ‘file history drive.’

I had never set up File History, and certainly not set it up to write to an external drive. Grrr.

Anyway — turning it off.

Instructions on turning it off here.

I think it’s probably better to keep to a regular schedule of backups, rather than to have some mysterious background process periodically hosing up your audio performance.

And the Windows 7 backup is still available in Windows 8, they just hide it. I’m happy overall with Windows 8, but man they sure can make some strange decisions, and it sure seems like they don’t care one bit about hosing up real time applications like audio production and performance.

Sound Forge Pro + Windows 8 = Frustrating Frustration.

With the advent of Windows 8, Sound Forge users may run into a registration brain fart that can’t be fixed simply. I ran into this on two different machines. The symptom is that Sound Forge works fine, for a while, and then forgets that it is authorized, and refuses to re-authorize, either on-line or off-line.

I don’t know what the minimum fix is, but following the instructions from Sony Tech Support below get you past this problem. It isn’t lost on me that this requires digging into things that 99% of Windows users are not comfortable with. Complain to Microsoft and Sony, not me.

We are still looking into the matter why this could not be registering properly on your system although all the information is being entered correctly. If you have not already, try using the registration repair tool for the program: If this does not yield any results please follow the instructions for a clean uninstall and reinstallation of the application below. A clean uninstall is more indepth then a regular uninstall and will clear out any data of this application that may have been accidentally installed incorrectly through the application.

Before doing a Clean Reinstall, it is important to do the following:
•All audio and video effects chains and presets will be erased, so if you need to make a back up of your presets please download our Preset Manager program. For more information about backing up presets: Backup and Restore Audio Presets | Backup and Restore Video Presets

•Safely disconnect any external USB or Firewire devices like hard-drives or dongles.

•Temporarily turn off ALL anti-virus programs, as well as disabling any Registry Blockers, Spy Ware, Firewalls, etc. These applications have been known to interfere with software installation and registration.

Start the process of removing programs go to Start > Control Panel > Programs and Features – find and remove your Sony Creative Software applications (ACID, Sound Forge, Vegas, DVD Architect, Cinescore, CD Architect or Media Manager, as well as any other Sony Media Software or Sony Creative Software programs).

Also, remove the Microsoft SQL Server Desktop Engine (SONY_MEDIAMGR), any and all Microsoft .NET Framework versions, and the Microsoft Visual C++ Redistributable software if it is listed.

Once un-installed, delete the following folders:
•C:\Program Files\Sony\
(Do not delete this entire folder if you have other Sony applications installed such as Sonic Stage, Everquest, Star Wars Galaxies, etc. If that is the case then only delete the folder for the Sony Creative Software application you are using as well as the Shared Plug-Ins folder.)

•C:\Program Files (x86)\Sony\
(Do not delete this entire folder if you have other Sony applications installed such as Sonic Stage, Everquest, Star Wars Galaxies, etc. If that is the case then only delete the folder for the Sony Creative Software application you are using as well as the Shared Plug-Ins folder.)

•C:\Program Files\Sony Setup

WARNING: The next step will require you to delete Windows Registry Keys. The Registry is a very sensitive area to work in. If you are not comfortable with advanced configuration and system changes, ask an administrator to help you with this. (Related Topics: How to back up and restore the registry in Windows: http:////

Next, open the Registry Editor. Select Start and type REGEDIT in the ‘Start Search’ box.

In the Registry Editor, locate and delete the following registry entries:

HKEY_CURRENT_USER\Software\Sony Creative Software

32 bit applications (like ACID and DVD Architect) installed in 64 Bit Windows 7 will also store registry keys in a different location. Locate the following registry keys and delete them. (Depending on which versions you have installed you may see one or more of these entries. If you do not see all of these, that is normal. Delete those which you do find.)

If you locate a folder labelled “Sonic” please DO NOT confuse this with Sonic Foundry. Leave it alone.

HKEY_CURRENT_USER\Software\Wow6432Node\Sony Creative Software
HKEY_CURRENT_USER\Software\Wow6432Node\Sony Media Software

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Sony Creative Software
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Sony Media Software

Close the Registry Editor.

After removing all of the previous items, you may download and re-install from this link –

When finished with all reinstallation, please restart your computer. When your computer has restarted, you will have a complete clean installation.

PaulStretch 2.0 — OS X PPC Build!


My PaulStretch build was unfortunately Intel-only, and probably would only work with OS X 10.5 or later.

Now, a friend who shall be known (at his request) as “the anonymous benefactor” has done the build on a G5 PowerMac, running OS X 10.5.8:

This is supplied with no warranty, express or implied, and no doubt, it will NOT run on some PowerMacs. I have no idea how binary compatibility works OS X and the PPC chips, except that it does not, as Apple is wont to say “just work.”

Again, if you download either of the disk images and they do not work, feel free to follow these instructions in order to build things for yourself. According to the aforementioned Anonymous Benefactor — the instructions do, in fact “just work.”

PaulStretch — New Build For the New Decade…

EDIT: If you want the latest & greatest go here

Judging from the WP Stats, my posts about the PaulStretch extreme audio timestretching application are by far the most popular blog posts I’ve ever made, indeed I think people will be downloading it after I’m dead if this domain outlives me.

Well, today I took the time to ‘refresh’ the PaulStretch stuff. This means I updated all the libraries it depends on to current versions and rebuilt the program. I don’t mess with the program source code itself — nothing has changed in appearance or tools.

The one thing that has changed — and it’s a biggie! — is that it now can load MP3 files for processing without crashing. Huzzah!

If you want to know what I’m talking about, check the original post here. I’ve updated the build scripts but the instructions here still apply.

The application:

The build scripts: EDIT: I had the link wrong. Sorry — one letter off.

The Disclaimer

I did this for my own amusement. I don’t want to be the guy providing tech support on Paul Stretch. So try and take care of yourselves. As far as I know no one has bothered to try and use my scripts to compile it for themselves, which I find annoying because A) people are so damn lazy and B) there should be hundreds of people around the world capable of building this program and troubleshooting any issues that come up. That’s why there’s no PPC or Snow Leopard build avaiable — not one damn person stepped up.

And as to the functioning of the program itself, or any new versions, that zynaddsubfx dude who wrote it went AWOL shortly after releasing the program. He’s never responded to any of my e-mails.

Typography joke T Shirt made me laugh

From Boing Boing

We’re really talking Meta here: The audience who’d instantly get this joke would be anyone who works in the Web Ghetto, and old-school nerds like myself. But consider this: this joke wouldn’t exist 30 years ago. Comic Sans was invented in 1994 and I’m not sure when the Comic Sans backlash started. Helvetica was born in 1957 — it’s the same age I am! But Helvetica as a signifier to the common folk dates back only to 2007 when the Helvetica movie came out.

So long as we’re deconstructing — consider the black guy in this picture. In the age of Obama, the slim, light-skinned black man is a signifier. It says ‘hipper than standard issue white guy, but not all ghetto.’ Would they ever try and sell a shirt like this with a scowling black man in a Sox cap rocking a 5XL? I think not*

*and yes go ahead and call me racist, but I see black men rocking this look every day at the bus stop.

HOWTO: Upgrade XP (32 bit) with the downloadable Windows 7

I had a real adventure last night, installing Windows 7. I ran into a problem so infuriating, and yet so completely boneheaded and ridiculous that I had to laugh. It’s described here. In essence, if you bought the EDU $29.95 Windows 7 Home Premium from Microsoft, the download file won’t actually work on 32-bit Windows XP. It unpacks all the files, and then tries to run a 64-bit
executable. Then it claims it can’t write to the install directory, instead of telling you the real problem — it can’t run the installer program.

Thank Jebus for the Internets — googling the error message turned up the forum discussion linked above and these
instructions on building a bootable Windows 7 Installation Disk.

I ran into another problem then — it might have been my issue, selecting the wrong install option from the menu, but I tried installs onto an existing Windows XP partition, and both ended up in an unbootable disk. Finally I punted — in XP, I deleted the partition on my new Windows 7 boot hard disk, and told it to do a full install. I was concerned this wouldn’t work, since I had the Upgrade and not the Full version, but apparently having a bootable XP disk elsewhere in the system let it do a clean install on an unformatted disk. Huzzah.

So I’ve spent several hours installing hardware drivers and my working set of software. Windows 7 feels faster than XP on the same hardware, but I’m not sure how much is actual performance improvements, and how much is having my main hard drive be a newer, faster hard drive.

The one big boo-hiss goes to M-Audio, who don’t have drivers for the Midisport 2×2 for 64 bit Vista or 7. WTF guys? Everything else seems to work great!

Is Firewire The New SCSI?

So I tried a little experiment last night.  To try and see if I could get better latency for my firewire audio interface, I downloaded the specific driver for my Firewire PCI card.   In case you haven’t had the ‘pleasure’ of their acquaintance, if you have a TI Chipset firewire card, the drivers are by a company called Unibrain.

Only problem is, the Unibrain drivers don’t fucking work at all. Luckily I thought a head and saved a restore point for my XP installation so I could roll back the driver install.

But this is just crazy. It’s great that XP has working drivers for my card, but how the hell is it that the ‘native’ drivers for TI cards are completely useless?

It is really weird how the whole USB vs Firewire thing has fallen out. Firewire is clearly the superior serial protocol for a lot of things, but for a variety of reasons, it has never caught on the way it should. And TI and Unibrain aren’t doing Firewire any favors.

E-Mail ettiquette: the ‘you go girl’ e-mail.

Something has been irking me that probably should not.  To wit: electronic messages that don’t say anything but “That’s Excellent!” or “Nice job!” or “Happy Birthday!”

Maybe it’s rude of me to be irked, but messages that have information other than that seem kind of pointless.  They are, in effect, like the ‘ACK’ in communications protocol, whose only content is ‘message received.’

Case in point, I’ve achieved some sort of critical mass on facebook where I received nearly 50 messages on my birthday.  On the one hand, awesome that you all noticed. On the other hand, as email programs will tell you sometimes, “message has no body.”

My tendency is to follow these guidelines 1) No blog post unless I have something to say I don’t hear anyone else saying 2) No two word e-mails, unless I’m answering a direct question. 3) No e-mailing someone to see why they didn’t answer my e-mail.

Does this make me seem uncommunicative? Maybe.  But I’m a computer programmer, I’m a big fan of the ‘no news is good news’ theory: the nominal behavior of any system is to be silent unless it has a problem or news.  I think what people are trying to do is to convey a one bit message — I acknowledge you.  I enjoy being acknowledged but somehow wish for more.

So hey, for all y’all. If you don’t hear from me, assume I still love you and think you’re the most. Except for you, and you, and you. You know who you are.

PS I was actually kind of touched by the person who e-mailed me yesterday and apologized for not sending me a facebook ‘Happy Birthday!!!’  Somehow,  apologizing for not doing something that I’m not sure I wanted him to do in the first place feels better than if he’d gone and done it.  Confused? Me too!

Miscellany – Food, Computerz, Carz

1. Steamed artichokes tonight, I guess now is the season, they were great. Discovered a new garnish for dipping — Squirt a bit of Sriracha sauce into Hellmans Mayonaise (or Best Foods to you left-coasters!). Insane good. Also: recommended by the cute checkout womanl at New Pioneer Co-op — thai chili paste in Mayo. For the record — ALL the checkout women at toe Co-op are cute.

I’m going to Farmer’s Market for Tomatoes and such in the morning, and Tomatoes with spicy mayo sounds amazing.

2. Wild Turkey in dark roast coffee with your favorite whitener. Who knew??? I think it’s possibly better than Irish Whiskey.

3. I had my first experience with bad RAM sticks. They was name brand too! The computer would work until it got warmed up and then start rebooting any time I tried to run a program. The generic sticks from the local computer shop worked better than the fancy ones from New Egg.

4. Pursuant to the above, anyone who wants a nice Intel Motherboard for Socket 775 (i.e. Core2 Core2 Quad, etc) I have a spare now.

5. Wasted a lot of time at the Toyota Dealer today looking at a Cash for Clunkers deal. Settled on a car, and asked the guy how much he’d knock off to close the deal, and he said 500 to 700 off. I countered with a $1000 and he said “I’ll check with my manager.”

Well then he left and came back and looked it up on the computer and said “well there’s only $700 mark up on the car so I can’t go a $1000.” I said “OK” and he went to talk to the manager. He came back after 5 minutes and said “we are limited on Corollas, they’re the most popular Cash For Clunkers car, so the best I can do is $100.” I said “see ya!”

WTF? I know Corollas are popular but I’ve never had a deal vanish like that. Complete Bullshit.

Windows 7, the upgrade conundrum…

So way back when a friend who worked pretty high up at Microsoft signed me up as a Windows beta tester, something I never really took seriously once I realized what a PITA Vista was. But it did have it’s benefits — I was a Windows 7 Beta Tester as well, something I didn’t do anything with.

At any rate, now that I want to put Windows 7 on a new machine, I can get a legit copy of the RC build and get going with it.

The unfortunate thing is that when my commercial copy of 7 arrives in October, it will want a fresh install. I was going to put XP on and then do a fresh install, but now there’s no reason not to put 7 on.

As someone who in the past has had OK luck with doing Microsoft upgrade installs, this is a little annoying, especially since my ‘working set’ of software takes several hours to install.

What I’m hoping is that some clever person figures out how to circumvent this baloney somehow. Theoretically the RC I downloaded is no different than the release version that will arrive in October on DVD. If that’s the case all that would really have to happen is to get rid of the expiration timebomb, change the version information down in Window’s guts, and brand it with the new activation code.

Or maybe I’ll just put XP SP3 on. I already made a DVD of XP with the service pack and all the drivers slipstreamed in.

How little does Google Chrome OS means to Musicians & Producers?

The big buzz (and trending Twitter topic of the day) is Google OS. This will apparently comprise a minimal Linux Kernel, a graphical rendering engine, and Google Chrome. It will be perfect for what people spend 95% of their computing time on: dicking around in a web browser, and running web applicaitons.

This is all well and good for 99% of users, and not so good at all for people who actually do CPU-intensive computing. That means any sort of scientific computation, CAD, Image Processing, Gaming, and Music Software. All those applications require optimized native code processing, and are usually written in low level languages like C++. While the average person had enough computing power 10 years ago to satisfy their needs, those applications have no trouble soaking up all available CPU bandwidth.

If you read Slashdot or any mainstream Computer publications, they run articles every 6 months or so about how “Today’s software doesn’t take advantage of new Multi-core processors.” That might be true for applications (like Web browsers or Word processors) that spend most of their time waiting for a user to hit the next key or click the mouse, but it is not true of music software or any of the other applications mentioned above. I write software that routinely saturates as many processor cores as it can, and software like Cubase and Ableton Live do so as well.

When Google talks about the browser being the only interface to Chrome OS, and only portable web applications being available, it seems like a missed opportunity. They should allow native development, and expose an API for presentation, because it would allow people to write computationally expensive software that will run very well on their platform. A minimal Linux core and a streamlined GUI platform would be perfect for e.g. music software, and Google has the market presence to finally make Linux a viable commercial software platform.

But once again, as with Microsoft and Apple, the needs of musicians, graphic artists and scientists come last after the unwashed masses who just want to watch kittens play piano, and send nude pics of themselves to their innamorata or innamorato. This seems really short-sighted.

Fun for some value of fun: W3C HTML Validation

So for ‘fun’ I ran through the W3C Markup Validator.

Actually, the thing I was concerned about is that the page looked fucked up in IE8, and presumably other browsers. Haven’t rechecked it yet, since I’m on a Mac at work. But at a minimum it found a bunch of small coding errors. No doubt I wouldn’t have had these problems if I’d been using an HTML editor more capable than emacs, but I haven’t yet found a WYSIWYG editor that’s free and doesn’t screw you somehow…

Anyway I learned some stuff, like XHTML transitional wants ‘self contained’ tags to self terminate, e.g. <br> should be <br />, and attribute values should always be in quotes. I’m not sure the permissive nature of web browsers’ HTML parsers has done us any favors.

I also (DUH) am a big believer in standards compliance. Yeah I’m looking at you Microsoft.

Use Audio Player WordPress Plugin outside WordPress Blogs

I figured this out yesterday, and it is the sort of thing a lot of people would like to do and haven’t figured out yet.

First off, this is the audio player:
and you can read up on it at the AudioPlayer website. It’s very easy to integrate in WordPress, and putting a player in a post looks like this:


Second off, my ‘easy’ way to integrate it outside WordPress:
0. Make sure you can use PHP with your web server. This is pretty standard anymore; you’d probably have to install your own build of Apache to avoid having PHP.

1. First put this php function in a file. My version is here:

function audioplayer($audioURL,$playerIndex )
echo "<script language=\"JavaScript\"
<object type=\"application/x-shockwave-flash\"
id=\"audioplayer1\" height=\"24\" width=\"150\">
<param name=\"movie\" value=\"http://YOURPATH/player.swf\">
<param name=\"FlashVars\"
<param name=\"quality\" value=\"high\">
<param name=\"menu\" value=\"false\">
<param name=\"wmode\" value=\"transparent\">

2. You will need two files to make the player work: audio-player.js, and player.swf. In a WordPress install these will be in wp-content/plugins/audio-player/assets. Copy these someplace in your web directory — maybe the same place you put audioplayer.php. Then replace YOURPATH with the URL for that directory.

3. To use the audioplayer PHP function in an html page:

<?php include("http://YOURPATH/audioplayer.php"); ?>
<?php audioplayer("YourMP3URL",1); ?>

There you have it. Now I realize, not everyone writes their own web pages and most of the above might be pretty forbidding, but I hope that if you can write a simple web page and manage the files in your public_html, this is enough information to get you going.


You can pre-order Windows 7 upgrades 1/2 price right now, which is kind of a good deal. If you don’t need a 64-bit OS right effing now, you’ll never get a better deal.

What I don’t get is this:”There are a limited number of copies available. The offer will end when they’re gone, or July 11—whichever comes first.”

So Microsoft is saying that something digital and infinitely copyable is limited? That’s absurd. Beyond that they’re saying there’s a limited quantity of something that doesn’t exist yet. Maybe I’m being curmudgeonly, but it would be more accurate to say “We will only sell a limited number of copies at this price.” or “we will only honor this price until July 11th.”

But unless Microsoft actually says “We’re only selling X number” and sticks to it, I think they’re lying. I think this is nothing more than a marketing ploy to gauge interest in the new release. Why would they leave money on the table, if people are willing to buy right now? And if their concern is that this pre-order promotion might cannibalize future sales, then maybe they shouldn’t have made the offer at all.

Besides which, the number of people buying a retail OS upgrade is a rounding error with respect to their OS sales. Nearly all Microsoft OS are pre-installed on new computers, and only the geekiest among us ever install a new OS, let alone pay for it. They can’t even get a lot of people to update their current system to fix security problems.

3 Hard Disk RMAs Later…

So I have 2 Western Digital drives to send back and the one big Seagate. On the one hand that will be 2.5 terabytes of disk space to stick somewhere when I get them back. On the other hand, I have to like physically put them in boxes and mail them.

Oh well, I’ve got an MMT8 I promised to mail Shawn Rudiman gathering dust next to the front door too. I might have to stoop to interacting with the world of Fermions, Boogers and the Post Office long enough to get all this stuff out the door…

The amazing hard drive killing computer

I just had a brand new 1.5TB hard drive fail, making it the 4th hard drive to fail in my desktop system since the beginning of the year. So far I’ve lost 2 IDE drives and 2 SATA drives.

What’s confusing to me is that there are 3 drives in the system that have had no problems, and the system is rock solid apart from eating the occasional hard drive. The Power Supply is an Antec 500W supply less than a year old.

And ironically, all this hard drive failure has happened since I started backing up frequently to an external firewire drive.

I don’t know what to think really, but it’s annoying as fuck.


Thanks to Ronnie from for the tip — you can now move forwards and backwards in time in my blog. I will at some point replace the text tags with images, Preferably pointing skeleton hand with flaming torches.

It points up something a little annoying about WordPress. The entry on post_nav_link neglects to say “oh this would go here in this file, most of the time, here’s what it will look like.” It’s one of those things where you can’t really understand what the fuck is going on in the wordpress codebase until you understand a large percentage of what’s going on.

A lot of things are like that — learning to build applications on Windows or Mac, OpenGL, Tcl, Qt, etc. But WordPress isn’t supposed to be MS Comp Sci Hackerish stuff — anyone should be able to use it. At this point I can’t update the theme I’m using because I hacked on it to get the image in my header, and change colors. If I upgrade my theme, any customizations I’ve made will be gone.

In order to NOT lose my customizations I’ll have to try and find the stock code for the version I’m using, do a diff on it, install the new version, and then reapply the changes. This is doable, but it’s the sort of low level, detail-oriented code-gardening that takes up my time at the day job. I hate doing it when I’m not being paid to do it.

I’m not whining, mind you, I’m just saying that WordPress is in dire need of a WYSIWYG theme editor, or the themes need to have customization panels that are easy to use. Otherwise they’re just going to drive people nuts. The best thing about WordPress imho is that it isn’t Blogger.