Archive for the 'General' Category

In past years, I made a point of declaring an area of focus (similar to a New Year’s resolution). 2006 marked a year of making more mistakes, and in 2007 I focused on refinement. All my declarations hold for the future, so I still plan on making plenty of mistakes, and I will continue to refine the products that I release.

This year I held off on my public declaration due to the sensitivity of what I was proposing — in 2008, I declared independence. I resigned from my full-time job to pursue a career in independent Mac software development. My first day as a full-time employee of SuperMegaUltraGroovy is February 8th, which also happens to be my birthday.

This is huge. I am turning my life upside-down to pursue a dream I’ve had since I was in grade school. When I first started to program, I was interested in designing my own software, and making music with my computer. From that point forward, writing audio-related software on my own would turn out to be the ultimate career goal.

I’ve written a handful of applications to work with sound over the years (ranging from software synthesis to MIDI control applications), but the experience required to ship a complex application just wasn’t there. FuzzMeasure gave me an excuse to carry an idea to completion, though over the past year I’ve grown frustrated with my inability to devote more time to the software I love.

In June 2006, at WWDC, I started to wonder how long it’d be until I could live out this fantasy. I was a long way from making my salary with FuzzMeasure, and 3.0 had a few months left to go. During this time, Andrew grew older, and even more fun to spend time with — I very much prefer playing with my son to writing more code outside of my day job.

When FuzzMeasure 3.0 finally launched, the response was great. A healthy fraction of existing customers upgraded, and plenty of new customers came knocking at my door. I was still short of making my salary, but the upward trajectory of sales and interest was hard to ignore. I knew I had to start considering a move to full-time development of FuzzMeasure and future products, and quickly.

The final decision was made over the holidays. My wife and I deliberated over the sacrifices we will have to make, but we both agree that I have the passion and skill to pull this off. Given the current sales growth, and a possibility for increased revenue with new applications, it seems like the right thing to do.

We have enough savings to sustain us for about 2 years in addition to the current (relatively stable) revenue stream. Of course, I’m planning to revisit the whole strategy much sooner than that in case things start to go badly — I can’t afford to bankrupt my family.

So with some big sacrifices, a proven track record of skill, and a burning desire to create outstanding products, I’m confident that I can make this work. I look forward to bringing the world more SuperMegaUltraGroovy applications, and continuing to make FuzzMeasure the world’s best audio measurement tool.

You know, I’ve been meaning to make some measurements of iPods with FuzzMeasure, and post them to this site. However, all my free time has to go straight into building FuzzMeasure, that I rarely get a chance to actually use it.

Well, one of my long-time (and very knowledgeable) customers, Marc Heijligers, has done what I’ve wanted to do for years now. Also, he’s done a great job of it and used many of FuzzMeasure 2.0’s new features in the process (step responses, minimum phase, etc).

Read Marc’s analysis to see how the latest generation iPod has decreased in audio quality. I’m curious how it compares to the ‘high-end’ iPod Touch and iPhone devices.

Okay, so I lifted the title from a funny spamusement comic. I’ve been really busy at work lately, and had to take a bit of a break from most of the other things I do outside of work. That includes updating this page.

There really isn’t much going on with FuzzMeasure to report at the moment. I hit a bit of a road block in 2.1 development a short while ago, and I’m hoping that taking a break will clear my mind enough to finish it off.

In other news, WWDC is fast-approaching, and I really have to start getting back in the mindset of a Mac developer. I had a lot of big plans for what I wanted to have done in time for WWDC, but pretty much every single one of those have fizzled away. Maybe I can still hope to pull a rabbit out of my hat by then, but we’ll just have to wait and see.

This post is a little late, but it’s better late than never!

2006 was a great year for me, both personally and professionally. On the personal front, my son Andrew was born on September 10, 2006, and my life has certainly took a positive turn as a result. On the professional front, FuzzMeasure 2.0 launched with great success, and FuzzMeasure was recognized by the Apple Design Awards judges for excellence in scientific software design. Sales were up over 2005, and I gained more than double (possibly triple) the users in 2006 compared to 2005.

I expect 2007 to be another great year for FuzzMeasure. 2.1 is in the works, and I’m focusing hard on cleaning up all the rough corners left in FuzzMeasure 2.0. All the feedback I get from my users is very valuable for creating an easy-to-use, and more importantly, a useful tool for the people who need it.

At the beginning of 2006, my resolution was to make more mistakes — to learn about running a small software shop as I go along. I certainly lived up to that resolution, and I learned some valuable lessons along the way.

Going forward, I hope for 2007 to be a year of refinement for my business and my software. I need to stick with what works, and carefully reevaluate everything that doesn’t. Here’s to a successful 2007!

Before I forget, I should list the snags I hit when moving my pyblosxom posts to WordPress. This post is mostly for posterity’s sake, and any Googlers looking for help on the subject.

I chose to import my posts via an RSS 2.0 feed. If you already have the RSS 2.0 flavour defined, you’re good. If not, or you just want something that’ll get around the import bugs, download my RSS flavour.

The largest problem I encountered while importing came from the timestamps being imported incorrectly using the pubDate tag I set up. My times all had a -0500 time zone designation which totally screwed up the imported timestamps. So, I then poked around in the wordpress database and found that WordPress was importing the dates as local dates, but offset the dates to make them GMT time. Then, it created a GMT timestamp from the local time, which was even further off!

The solution to this problem was to mark my dates (incorrectly, but intentionally) as GMT in the RSS feed. Then, WordPress imports the dates properly. While this might be a bug on WordPress’ behalf, it actually works around another bug in pyblosxom’s lack of proper time zone reporting in the RSS feed (which really only affects those of us in a time zone with daylight savings). So, no complaints from me here.

Now, once the data made it into WordPress, I noticed that there were extra <br/> tags showing up in my posts. It turns out that the importer decided that it should retain newlines in the RSS description tags, and then when WordPress rendered the pages it would convert the newlines to <br/> tags.

The solution to this mix-up was to manually make some changes in the wordpress database:

update wp_posts set post_content=REPLACE(post_content,”\n”,” “);

Note that the above replacement changes newline characters to a space character. Changing it to the empty string (i.e. “”) would concatenate words together in many instances.

The final snag was that the CDATA block termination would appear at the end of every post. The solution to that was yet another database tweak:

update wp_posts set post_content=REPLACE(post_content,”]]>”,”");

After doing all of the above, my blog was completely moved over with few issues. Some of the really old posts have some pretty bad issues (some with completely missing content), but over time I will fix those manually.

Hopefully this helps some of you make the switch.