mozCC 0.7.5 out

Much later than I initially anticipated, mozCC 0.7.5 is now available. This release contains major architectural changes, and attempts to fix several reported bugs.

Beginning with this release, mozCC relies on jsLib. jsLib provides an excellent JavaScript library and is used by many Mozilla extensions. mozCC will attempt to install jsLib when it is installed. If you would like to install it seperately, you can find jsLib’s installation information here.

Changes in this release include:

  • Support for the newly-announced Sampling and Sampling+ Licenses
  • Uninstall and Upgrade functionality
  • Better support for linked RDF
  • Use of ccRdf.js for RDF parsing (relies on Mozilla’s excellent built-in RDF support)
  • Numerous bug fixes

You can find installation links and instructions at the main mozCC site.

As always, feedback is both welcome and desired. You can also file bug reports (please) at MozDev.

date:2004-01-26 12:55:24

And they say we’re bad for marriage

So the American Family Association ran a poll on gay marriage last month, asking surfers whether they support gay marriage, support gay marriage but prefer the phrase “civil union” or oppose gay marriage. The bottom of the poll page promised that the results would be “taken to Congress.” I know, because I voted.

Now Wired is reporting that in an audacious display of hypocrisy (even for the AFA) that because the results were overwhelming in support of gay marriage (regardless of what you call it), they’ve decided to abandon the plan. My favorite part (the emphasis is mine):

“[homosexuals voted in the poll] to try to cause it to represent something other than what we wanted it to. And so far, they succeeded with that.”

What the hell. As I once told my mother: “Defense of marriage? With a divorce rate nearing 50%, I think y’all are doing fine without our help.”

date:2004-01-23 13:52:56
category:my life

Making Music

Last weekend I finally upgraded my iMac to Mac OS X 10.3, or Panther. After using it for a few days, I’d say it’s well worth the price. The changes I’ve noticed aren’t as significant as Steve would like you to believe, but combined they improve on what was already an enjoyable user experience. But that’s not what I want to write about.

I also picked up iLife ’04 at the same time. Ever since I played with Sonic Foundry’s (nay, Sony Media Software’s) ACID when it was first released, I’ve been entranced by loop-based music creation. Reading about GarageBand, I was once again swept away by the delusion of making my own music. I had to have it.

GarageBand is indeed cool. While I haven’t written my magnum opus yet, I’ve been very impressed by it’s clean, intuitive interface and real time music processing. But I have another idea. I was reading Lessig the other day, and he mentions GarageBand, and the fact that it’s currently CC-less. So I was thinking: how would you add CC licensing to GarageBand? I don’t have an answer to that yet (Apple, are you listening?), but the train of thought led me to an idea I think would be cool. Let me share the process with you, though.

So I was thinking about adding CC license generation to GarageBand, and starting poking around looking for Export hooks, etc. And then I started thinking about consuming CC material into GarageBand. I found Apple’s Loop SDK, and began wondering if I could use that to make CC loops/samples available to GarageBand. Feed it CC content instead of making it produce CC content. I haven’t looked at the SDK yet, but I did remember Lucas Gonze’s work on specifying CC metadata in SMIL. And an open source SMIL authoring tool.

And then I thought: what about an application for remixing content using SMIL? It could consume samples (or entire songs) and use SMIL to specify the remix. With repositories of CC licensed music like OpSound and MagnaTune available, it even seems possible to incorporate sample retrieval and search into the application. And of course, everything it produced could be CC licensed.

I call it Remix.

date:2004-01-21 11:47:17

CC RDF in JavaScript

It’s taking much longer than I’d like, but I’m slowly making progress on a new release of mozCC. The update, when it’s finally available, will hopefully play better with more browsers and have fewer “quirks” (read: bugs).

As part of the development process, I decided that Jim Ley’s excellent all-JavaScript RDF parser just wasn’t a good fit. There were an increasing number of things I wanted to do that were CC specific and uncomfortable to accomodate with the code base. What I needed was a library designed to manipulate licenses. Like ccRdf does for Python. So taking what I learned from QuickFile, I put together ccRdf.js.

ccRdf.js is a limited port of ccRdf to JavaScript. Instead of attempting to provide facilities for both creation and consumption of RDF, it focuses solely on consuming RDF licenses. The API is similar, and it seems to work fairly well thus far. You can find the source here. There currently isn’t any other documentation, so e-mail me if you run into problems or have questions.

date:2004-01-20 11:43:42
category:ccRdf, mozCC

Of Distros and Appearances

As I’ve said before, I previously used Linux both at home and at work, 100% of the time. Gentoo was my distro of choice both at home and at work for several reasons. I’ve tried most of the major distros and the experience typically goes like this: honeymoon, annoyance, frustration, anger, fdisk. Mandrake, Red Hat (nay, Fedora) and Lycoris all went this way. I was initially enamoured by their surface beauty, with the anti-aliased icons and clean GTK themes. And then I’d try to either install something or modify something and run into problems with either dependencies or custom patches. And that’s when I’d get pissed off, swear at the screen, and go download an ISO of whatever distro I decided “had to be better.” Gentoo ended up as the longest lasting distro for the simple reason that it did so little on it’s own. It appealed to the control freak in me. The ability to re-build all your software to squeeze the last possible processor cycle out made me feel like I was being efficient and conservation-minded. Never mind that the shear number of configuration files was a little daunting, and that I never really got around to working through all the updated files presented by etc-update, I was in control.

I put an end to the cycle at home about 6 months ago when I purchased an iMac. As I worked to justify my purchase to myself, I realized that there are two things about computing that make me enjoy it: first, the ability to control things. I’m a control freak, and UNIX/Linux/*nix appeals to that demon (daemon?) inside. Second, I like pretty things. I know that beauty is only skin deep, but I am that shallow. I want my desktop environment to look good and be functional. I don’t need lots of eye candy, but good font support, anti-aliasing and pleasing pallettes go a long way, thank you. So Mac OS X is great for me in these respects. That, and it’s crunchy BSD center lets me do all the development work I need to.

debian The problem has now been remedied at work, as well, by an altogether unlikely suspect. My desktop machine at work died right before the holiday break. When my new one arrived shortly after my return, I decided I didn’t have 48 hours to kill while X rebuilt under Gentoo (I’m exagerating, yes, but not by much). So I returned to my first distro, Debian. I left Debian in search of a distro that had a faster release cycle, fresher packages, and prettier look and feel (you know, the trophy distro). But I’ve always missed the great package management and dependency resolution facilities it offered.

So I installed Sarge on my new machine, and I’m blown away by how far it’s come. OK, so the installer is still a little cryptic, and the fact that it uses cfdisk for partitioning will probably turn off beginners, but right out of the box, it looks, feels, and performs better than Gentoo ever did. I was able to install Gnome 2.4, Thunderbird, Firebird and OpenOffice in an afternoon, and within 24 hours I was completely up and running. It’s amazing to me that a distro so frequently maligned for it’s backwardness is now my favorite in terms of integration and the ever elusive “fit and finish.” Is it ready for use by my grandparents? Probably not. But for a developer who secretly longs for Mac OS X at work, it’s just what the doctor ordered.

date:2004-01-19 08:53:18

cascading problems

After a 3 week hiatus I’ve begun working on mozCC bugs again. There’s a handful outstanding, and a few of them are fairly important. OK, they’re all important, but a few are readily visible to most users. These relate to the toolbar button.

Making a toolbar button work in Mozilla Firebird is relatively straight-forward: make a XUL overlay, add some event handlers, and you’re in business. The Mozilla Suite and Netscape, however, are a little trickier. True, the basic steps are the same, but the idea of themes really throws a wrench into the works. Mozilla implements themes using the idea of skins and cascading style sheets (CSS). The problems I’m having relate to the different toolbar-icon sizing in different themes: CSS that works with one theme makes another look awful. And vice versa. As I’ve examined skins and their accompanying JAR files, I’m observing that skin designers can manage the process because they assume control over the entire look and feel: they define the standard toolbar buttons and widget styles as a single unit. I have yet to discover how skins (if they do at all) account for non-standard toolbar widgets.

A quick aside regarding toolbars, the toolbar button, and mozCC. After the last release I received quite a bit of positive e-mail, and a few suggestions. The suggestions related to the toolbar fell into two camps. First, make it configurable in Mozilla/Netscape like it is in Firebird. Second, make it go away. I can’t do anything about the former, and I think the thought process behind the former goes something like this: “I can click on the status bar icons to see details, so don’t go cluttering up my toolbar, damn it!”

So how do I plan to solve these problems? In the tried and true way: by ignoring them. Seriously, I’ve beat my head against this for quite a while, and don’t feel like I’m making any progress. So here’s the new plan: The toolbar button will be designed to work with the Mozilla Classic and Netscape 7 themes. For those using Modern or another theme, there will be an option in Preferences to hide the button. And you’ll still be able to click the status bar icons to see the details. Mozilla Firebird users won’t see any change: they can already hide the icon if they want.

That’s where I’m at. I’m still hacking away on mozCC, and hope to make some serious progress in the next couple weeks. And if anyone knows how to make themes magically work, I’d love to hear it.

date:2004-01-15 09:29:34

Word Processing follow-up

After writing my complaint about Word and word processing on Mac OS X, I decided to do “yet another” search for something to quell my angst. What I found suprised me. Pleasantly.

First, LyX has been Aqua-fied. Sort of. I found a non-X11 distribution of LyX which apparently uses Qt-Mac for it’s widgets. It’s nice: I have lots of LyX documents lying around I can now open and edit with ease. Of course, it’s still obviously not a first-class Mac citizen: keyboard shortcuts and file dialogs look totally wrong. That and, well, embarassingly enough, you can’t really print. Well, maybe some people can, but I couldn’t after an hour of fiddling, and really, that’s about all I can devote to it right now.

My other find is what really knocked my socks off. Mellel is a shareware word processor, and with a price tag of $29USD, it’s absolutely amazing. OK, so it doesn’t import or export to Word, but it has an amazing set of features and doesn’t feel bloated or slow in the least. What’s more, it’s obviously built for Mac OS X, and as such has the typography and layout controls we’ve come to expect. After using it to write a short curriculum guide this morning, I shelled out the purchase cost without hesitation.

To anyone looking for a real alternative for your personal word processing, I can’t recommend Mellel enough. It’s right there with OmniGraffle and OmniOutliner now in my “must-have” pile.

date:2004-01-08 13:43:14

What’s so great about Word?

Windows drives me nuts. I count myself fortunate that I only have to use it at work, and even then not on my own desktop. Until September I used Linux at home and work. Then I broke down and purchased an iMac. And I love it. Except for the fact that I’ve ended up using Microsoft Word on it.

Why Word, you ask? Well, my iMac came bundled with AppleWorks and MacFile (for opening/saving to Microsoft formats). I tried using AppleWorks for a while, and was pleasantly suprised; it wasn’t phenomenal, but it got the job done. Then MacFile started flaking out on me, creating files that seemed, well, like garbage. And when your professors require documents in Word format, you quickly loose patience with the troubleshooting process. So I picked up my $10 campus-license copy of Office v.X and installed it, reluctantly. Since the end of last semester I’ve returned to AppleWorks, but every time I fire it up, I’m reminded that it’s in dire need of an update.

And this leads to my quandry: what’s so great about Word? I know that I don’t need all the “features” packed into Word. It’s one of the most resource-intensive applications I run (my iMac noticably slows just having it open). It crashes less frequently than it’s Windows counterpart, but more often than it should. All in all, there’s nothing that great about Word. Except that it works (mostly), and it looks pretty.

By “pretty” I mean that it has enough fit and finish to appear like it belongs on Mac OS X. I’ve used AbiWord, OpenOffice and Lyx under X11 on my Mac, and while I like certain things about them all, it’s a jarring experience going back and forth between Aqua-land and Motif/GTK/etc-land. So I am on a quest. I want a basic, stable, Aqua word processor. I know that basic is a vague term, but for me it means “more features than TextEdit, fewer than Word.” AbiWord’s feature set definitly fills the bill; OpenOffice may be a little heavier than I’d like. It’s like porn; I’ll know it when I see it. Open Source would be nice, but just slightly less evil than Word would be acceptable. Ideas?

date:2004-01-06 09:50:08

What’s Going On

Today is my first day back after a two week winter break from work and school. I had planned to spend the two weeks much like I spend most breaks: coding. But you know what they say about the best laid plans.

A few months ago I decided that my home office would make me happier if it had wood floors. We had tossed around the idea, and came to the conclusion that installing laminate wood floors was a task that even two people with our dubious home improvment track record could tackle. So the day after Christmas we bought some flooring, a table saw and knee pads, and proceeded to pull up the carpet. Underneath we found hard wood floors, covered in paint splatter. Like the previous owners had painted the ceiling and neglected to put down a drop cloth. Twice.

So with the contents of my home office stacked in the spare bedroom, we returned the laminate flooring and bought some lacquer thinner and steel wool. You may wonder why we chose to scrub off the old paint and finish instead of sanding. And there’s a good reason. Most of the instructions for refinishing floors we found online recommended consulting a professional refinisher if the floor was less than 3/4” thick. Ours was 3/8”; definitly under 3/4”. That combined with the afore-mentioned track record led us to believe scrubbing was the best approach.

The good thing about lacquer thinner is that it’s an excellent solvent. The bad thing about lacquer thinner is that it’s an excellent solvent. It kept eating through our gloves, even after we bought the “chemically resistant” kind. Even so, four days, a few brain cells and five pairs of gloves later, we had the floor stripped and three coats of polyurethane down. And the floors look great. After a 3 hour drive to IKEA, we even had some new shelving and a chair. Not bad.

Now if this were where the story ended, I might still have gotten some coding done. But it’s not. Cocky from our floor success, we decided that we needed some window treatments (I’m gay, remember?) in the office and some custom picture frames. And while we were at it, we might as well rearrange a room in the basement to accomodate the table saw properly. And if we were going to accomodate a table saw, what about a drill press and router table? Yeah, those would be useful, too. And since the shop fits so well in the room, it’s a shame to use all those extension cords; a new dedicated circuit with lots of outlets would be nice. How hard can it be? So let it be written, so let it be done.

So after two weeks of break, I’m ready to be back to coding and my day job. And even though I’m glad to be back, there’s something satisfying about the fact that I now know how to refinish wood floors and install new breakers in my house. I don’t know how often I’ll use my newly acquired basement wood shop, but those should be some damn nice picture frames. When I get around to making them.

date:2004-01-05 08:27:03
category:my life