Monday, March 24, 2008

Reminder: Call or Send In Your Questions for Vince Bonfanti on Open Source BlueDragon

Just a quick reminder that on Wednesday, March 26 ColdFusion Weekly is interviewing Vince Bonfanti, President of New Atlanta about the recent announcement that the J2EE edition of BlueDragon will soon be open-sourced.

Have a question about why New Atlanta is doing this? What their motivation is? What this means for the CF community? Why they chose the license they did? Something else entirely? Then call or send it in! Call user cfweekly on Skype, call 469-293-3820 from a plain old phone, or email us at podcast at coldfusionweekly dot com. Why speculate when you can ask Vince directly?

Wednesday, March 19, 2008

Audacity: Why Free Software is Better Than Proprietary Software

My annoying travails with Cubase continue. I decided to give it an honest effort to release a very short podcast just making a couple of announcements tonight, and the editing experience was a far cry from Adobe Audition (running the Windows VM for this stuff is starting to look better and better). Not nearly as intuitive as Audition, no ripple delete function from what I can tell, just overall not good. Again, I was making an honest effort before I throw the product out the window (because no, they won't take it back; they claim the use of the dongle is "well documented" and I should have known before purchasing that it worked this way).

So after I made a couple of cuts I went to export the file to MP3 format. Even exporting completely sucked--it wouldn't export anything unless I manually set the left and right markers. Why the hell can't it just export everything intelligently and figure out when there's no remaining audio?

I wasn't totally surprised not to see MP3 as an option in the export list so I did a bit of searching, and sure enough exporting to MP3 is not built into the product. I realize that MP3 is (another!) proprietary technology and that they might have to pay for that to be included in their product but FOR CRYING OUT LOUD JUST BUILD IT INTO THE COST OF THE PRODUCT!

Thinking "in for a penny, in for a pound" I went to the website to see about buying the add-on. 15 euros, OK fine, but they don't list Cubase Essential, only Cubase SE and LE which are the older versions of the "lite" edition of Cubase. I'm annoyed enough that I call the sales number to ask, and I could not have hoped to get a more clueless guy on the phone. He had to go to the web site himself to see what they list there, and then he said "Essential is a new product so I'm not sure what's going on with that." So I asked, "Are they PLANNING on releasing an MP3 encoder for Essential?" His response was to have me call tech support tomorrow and ask them. Brilliant.

Then I decide to download the new Audacity beta for the Mac. Talk about a night and day better experience:

  • It's downloadable! What a concept!

  • It's free (not to mention open source)

  • The download took a matter of seconds

  • Installed in seconds--no dongle required!

I've used Audacity before so I knew what was going to happen when I went to export to MP3, but since that's where I was with Cubase when I ripped the dongle out of my USB port in frustration, I thought I'd just walk through it to compare the experience. Remember that in Cubase's case, MP3 just doesn't even show up as an option, and even their sales guys can't SELL it to me because they're so clueless. Here's what happened with Audacity:

  • Chose "export" from the menu

  • Chose MP3 and set my encoding rate

  • Clicked export

  • It nicely told me I didn't have an encoder but in that dialog box it had a link directly to the LAME MP3 Project

  • I downloaded LAME and extracted the zip

  • The dialog box in Audacity was still open, so I pointed it to LAME and hit export again

In short, I went from not having Audacity on this machine to exporting the MP3, including downloading and installing the MP3 encoder, in less time than it took me to be told by Steinberg that they didn't know anything about their own product.

Please note that I'm not comparing Audacity to Cubase in terms of features. I know Cubcase is an infinitely more capable product. It's also infinitely more frustrating to use, and I have to pay for that displeasure.


What are your thoughts about Coldfusion vs open source alternatives like Python, Java or PHP? Doesn't the same thing apply to programming languages?

I don't know that your title reflects your content.

Audacity was a better experience for you than Cubase.

Sounds like a design/forethought advantage, completely unrelated to free vs proprietary.

If you had had a positive experience with Cubase, you would have never downloaded Audacity on that day.

The price of the software in question doesn't guarantee that it will be a better or worse experience in any individual case, however you would think that people getting paid for making it would be more professional about what they create, but that isn't always the case.

@Calvin--you're focusing on "free" meaning cost. That isn't what I meant. I was pointing out how an open source (aka "free software") solution was, in this case, far better than an antiquated proprietary solution.

To me that gets at the heart of the free software movement. In Steinberg (the maker of Cubase's) case you have a commercial company and the #1 thing that comes across in dealing with their product is "DON'T STEAL THIS SOFTWARE!" They don't give a care about the user experience or having happy customers who feel good about using their product.

On the other hand you have people building free software and their #1 concern is making the experience good for the user. If I'm giving someone money for a product, don't you think that should be THEIR #1 concern as well?

I think my title reflects the point I was trying to make, but maybe I didn't make it very well. My point is that if you build software with "everyone's trying to rip us off" in the back of your mind the whole time, that certainly comes across in the final product and user experience. If the software's free and open source you don't care about that, so you can focus on the things that SHOULD matter in software, namely creating a good experience for the users.


So when do you plan to drop ColdFusion and go with a free open source web development solution? I've already decided that Django looks much better to me than ColdFusion even if my work disagrees for now. But when we have to spend $50000 to run WebSphere and ColdFusion, Django looks much better. Not to mention that its a framework that has 0 lines of XML configuration in it. There's a reason that open source works. Its not written based on marketing results.

@Thiks and Jeff--there are things I can control and things I can't, and also what comes into play with the ColdFusion argument is what you get for your money, not to mention that even though CF is technical proprietary software, I don't feel like Adobe treats me like a criminal and has such a nasty anti-customer stance.

So while I'm a huge advocate for open source/free software, in the case of CF, it does what it does extremely well and I find that for me the cost, features, etc. all justify its use. This is the same reason I use Macs as opposed to Linux as my primary machines. I love Linux, I've used it on and off over the past 12 years or so, and while I realize that Macs are proprietary hardware running (largely) proprietary software (although OS X is based on Darwin, which is an open source BSD variant), I'm willing to give up some of my freedom for something that does a job extremely well.

Some people aren't willing to do this, and while I don't go as far as they do, I applaud their steadfastness and think that their efforts are having an extremely positive impact on the industry and even how people think about software.

This post was really intended to be but one example of how a free software solution, in this particular context, provides a vastly superior experience from a setup standpoint, and this is solely because in the case of Cubase, the proprietary software licenses get in the way and make for a horrid user experience. From the dongle to Cubase's inability (or refusal) to include MP3 encoders in their product, it just puts quite a burden on me to even be able to use the product as a paying customer. Free from all the licensing concerns, the free software solution gets in my way a helluva lot less.

By illustrating these points using this specific example, what I'm hoping to point out is that draconian companies like Steinberg can learn an awful lot from the free software community, and that they should think much more carefully about how they treat their customers.

In the case of ColdFusion, I'm perfectly happy with the balance Adobe has struck between protecting their assets vs. me being able to use it as a paying customer. I don't have to stick a dongle in a server and worry about losing it or it becoming defective thereby rendering the product unusable. Also CF isn't a small desktop app I'm using to do hobbyist type stuff, it's a proven enterprise-level solution and that's worth the license fee in this particular case.

In short, I'm a free software advocate but at the end of the day I'm a pragmatist, and CF gets the job it does done extremely well while not treating its users like criminals. With the open source edition of BlueDragon on the horizon, we'll have that as an option as well, so there soon will be a "free" (both in cost and freedom) option for CFML developers.

Isn't "No Dongle Required" the name of a Phil Collins album?

I've been using Audacity on Windows for a couple years now for light editing, and I've been thoroughly pleased with it. I'm no audio expert, but I was able to be productive with it in minutes and have not needed to do anything that it could not handle.

I have used expensive audio editing suites in the past (it was a long time ago - CoolEdit Pro - which eventually became Audition) and they were expensive and still awful to work with. Audacity is a great Open Source success story.

Audacity is really great software. If you are not professional user.

Like GIMP. It looks a bit strange, but very functional.

is enouph to learn

As an audio pro, I have to weigh in that I find audacity pretty awful compared with protools/logic/wavelab or pretty much any pro editing application. For the simplest tasks it's adequate but pretty clunky, and the quality of some of the effects processing is frankly dreadful. Wish it wasn't so but there ya go.

Princeton Researcher Faces Legal Action if He Tests Voting Machine Security

This is just horrendously disturbing. What the heck do these people have to hide? Makes ya think, don't it? I hope this guy does it anyway--more attention needs to be brought to this situation.


Really certainly does make you think. I think we should just push for open source voting software. Just as the Declaration of Independence is openly readable as well as all the laws, why not how our voting software works. It's not like it should be proprietary or anything.

Apparently this particular voting machine can't even do basic math correctly:

Yeah, that's pretty scary.

I re-read this article recently, and found it disturbing as well--and relevant to this type of article

Cubase 4 Essential, Arcane USB Dongles, Nasty EULAs, and Proudly Proprietary Software

I decided using Windows in a VM to run Adobe Audition for editing ColdFusion Weekly was getting too annoying (even though Audition is a fantastic product), so I started looking around for some good, inexpensive audio editing and mixing software that would run natively on OS X.

The list of contenders quickly narrowed to Cubase 4 Essential and Apple Logic Express, both of which I read great things about. Since Peter uses Cubase on Windows to do his editing, I decided it might be nice if we have the same software so all the editing settings would be identical.

I ordered Cubase 4 online and my first issue was there was no download option. That's fine, maybe it's a huge download and they just don't want to get into the issues with downloads. After placing my order I was told they were out of stock (wtf?), but again, no big deal, it wasn't urgent.

I got the software yesterday and was surprised to see a USB dongle included in the box. I was even more surprised to see that this single USB dongle was where my software license needs to be stored! Now I'm old enough to remember the days when some expensive software packages used dongles of various sorts to copy protect their software, and allow you to install the software on multiple machines but not run it on said machines simultaneously, but it's 2008 for crying out loud, and this is a $149 piece of software, not some $10,000 CAD program.

I tried to keep a good attitude. Truly I did. Then I read the EULA:


To me this is just nasty and basically accuses me of being a criminal. Their way of saying "thanks so much for being a customer!" I guess. "Your software? Your license." This does not give me a warm fuzzy feeling about using this product, and certainly does not make me like doing business with this company.

Oh, but it gets better. I started thinking probably what everyone does, namely what happens if I lose my little USB dongle? So I checked the FAQs and I suppose I shouldn't have been surprised with what I read, but I was a bit shocked at the sheer tone of it. This is straight from Steinberg's FAQs:

I have accidentally lost my USB key! Does it get replaced by Steinberg?

A simple answer: No. You are solely responsible for the USB key and the contained licenses. If you lost your key the only solution is to buy the products/licenses again. Imagine you have lost your watch: Would you get a replacement from the manufacturer? Most likely not. Keep your USB key safe! It is not a problem to replace manuals, installation media or other components but not an USB key with licenses!

Boy oh boy was giving these people my money a huge mistake. This is the most customer-unfriendly stuff I've seen in ages. So if I lose this stupid dongle that I shouldn't have to use in the first place, I have to BUY THE SOFTWARE AGAIN? You have NO WAY of backing this thing up? We're not talking about a watch here, we're talking about a piece of software, and this kind of uber-paranoia just does not sit well with me. The rest of the FAQs were equally anti-customer and again, I regret ever giving these people my money.

To top it all off Cubase doesn't recognize my USB headset, so I can't use the damn product anyway. I thought about emailing customer support to try and resolve it; I'm sure that'll go REALLY well.

In short, I should have looked more deeply into what kind of company Steinberg is before buying their product. I'm pissed about this dongle, I'm pissed that they're so utterly rude and condescending to their customers, and I'm pissed that a simple thing like recognizing my USB headset just doesn't work.

$149 lesson well learned. Time to go buy Apple Logic Express.


I understand the pain - that's truly upsetting. But, I would have given them a chance to rectify it rather than just assuming they wouldn't.

You never know - you might get surprised!

Even if they address the headset problem, which admittedly might just be me not understanding how it works (although I don't have these issues in Audition, Soundbooth, Audacity, etc.), I just don't feel good using the product knowing these people are so paranoid and stuck in this draconian software license mode.

I wholly agree with you Matt. That kind of crap is what companies think they should be able to get away with since they created their product. Most folks probably don't even read as much as you did. And can you imagine what happens later on down the line when they lose their archaic usb dongle?

Plus, you would never see a company like Apple or Microsoft putting this stuff in their documentation either.

Now, how come you can't use Garageband? Or are you wanting a prosumer software package?

Garage Band doesn't do everything I need it to do. I used it a few times and it's OK, but the other thing is last I knew it doesn't export to MP3, only AAC. So that's a long way of saying yes, I'm looking for something just a bit more pro-level than Garage Band.

Actually, I wasn't referring to getting them to fix the headset problem. I'd prefer not to do business with folks who are so blatantly ridiculous in their policies as well, so I was thinking they might give you your money back since it won't work with your headset.

I've been in similar situations with (admittedly, nicer on the surface) other companies who politely gave me my money back.

Assuming you paid with a credit card, they're normally more than happy to give your money back. If they aren't willing to, threaten them with a charge back - they can only have a few of those without getting into trouble. If they still won't, then do the chargeback and send them back the dongle and don't use the software.

Did they even make you aware of this ridiculous licensing scheme before you bought it?

First off, the dongle method of digital restrictions management is definitely old-school, and it's depressing to see people still using it (on a $149 product, no less). The blunt tone of their documentation is definitely juvenile and irritating.

Second, (and more importantly), don't expect that spending more money on another non-free package will make you any less fettered by draconian licenses--however nicely they appear to be written. All of the usual chicanery (license keys, closed source, copy restrictions, call-home "features," etc) will persist.

What a bummer.

You might have to give them a pass on the wording. Steinberg is a German company so they might be suffering from bad translations and they might not know it. As for the USB dongle, I don't have one for Cubase because I have an OEM version that came with my Alesis mixer (although the mixer doesn't have to be connected for me to use Cubase).

Also, I'm not surprised that it doesn't recognize the USB headset since it's not an ASIO device. ASIO is one of the industry standards for audio editing while the USB headset merely uses host audio mapping software. I would think that most studios wouldn't use the USB headset to produce a recording. That's why I still use Audacity to record my local track (since it's geared towards home use) and Cubase to edit everything down.

Thanks for the info on the USB headset Peter. I will not, however, give them a pass on the wording of the EULA. This isn't a bad translation, and they're a big enough company that they would absolutely have an English marketing department.

I just don't get a warm fuzzy about this product at all. I emailed them to see if they'll take a return so I'll see what happens.

There is one thing that the USB dongle does provide that wouldn't be using. Most recording facilities have many DAWs (digital audio workstations) that have the same software installed. However, they would never be a time that all the DAWs would be in use at the same time. The dongles provide flexibility in that they allow the owner to freely transfer the license between host machines.

I must admit that having dongle for $149 version of Cubase seems insane, but a lot of studios buy thousands if not tens of thousands of dollars worth of VST plugins for effects, inserts and other functionality. The dongle provides an infrastructure for the third-party vendors of the VST plugins to use and protect there software (not to mention allowing you to install all the VST plugins and use them where ever you have the dongle).

In a truly perfect world, we would just be able to trust that people pay for what they use, but alas that is not the case.


So I swap managering bits (i.e space free, eternal, unchanging) for managering real physical hardware (which will get lost and/or wear out) ?

Doesn't seem much of a benefit to me.


You could probably have found a cracked version and/or no-key patch if you did have to keep the software.

You don't need a license to wear a watch around. You buy a physical object and because you own/possess it, you can do whatever you want with it.

Steinberg wants it both ways, and are being inconsistent (in their favor, naturally) with respect to their definitions--they want to invoke the idea of a "license" but they also turn their backs when something happens to your physical media (dongles get broken, lost, disks get scratched).

This is very similar to the techniques used by another great organization, the RIAA, who spend their time suing their customers for wanting to use their product.

They say that when you purchase a physical recording, you really only have a "license" to listen to the recording. Well, if I had a "license" for my 1978 Leo Sayer single ("You make me feel like dancing," if you must know), I should be entitled to replacement media (since the license != media) if it became scratched or broken in the past 30 years.

Don't be fooled. These companies (and adobe is no saint here either, by the way) are interested in profit only--and for them "profit" means getting through the next quarter. They have the ethics of tapeworms, and because of their predatory and vexatious nature, deserve none of our money or support.

As a side note, this blog really needs a "preview" button :D

According to this page Apple support page for Garage Band:

You can export a project as a podcast episode and choose either MP3 or AAC compression.

I've never used it, just remembered seeing a list of features.

Thanks Christopher--that must be new (I haven't worked with Garage Band in quite a while). Garage Band still (last time I used it) did weird stuff with the audio, doesn't have the control I need, etc. but I'll give it another look.

The final kick to the groin from Steinberg is that you can't export to MP3 without paying for an upgrade. What a GREAT product! And yes I understand the licensing issues with MP3, but COME ON. Don't nickel and freakin' dime me to death.

So I go to their website and can't even find the upgrade for Essential. They list SE and LE, so maybe that works, but that's not clear at all. Crappy, crappy experience from start to finish with this product.

First off, I'm not defending Steinberg here. USB dongles are not the best solution however the other solutions are just as bad (like I couldn't load Fireworks because I was without an internet connection for a few days and it just wouldn't load -- I don't know if Macromedia/Abobe was doing some sort of "call home" stuff).

The problem is all the tools in the pro-audio arena have some sort of limitations. I know this because I used to do pro-audio recording before I became involved in programming.

Cubase's biggest competitor Pro Tools from digidesign (a division of Avid) uses either a dongle (for the M-Powered hardware bundles) or they build-in the "dongle" to the required hardware that you have to buy in order to use the product. The M-Powered versions really aren't my favorite whereas the Pro Tools | HD versions require you to buy *their* hardware which has the "dongle" built-in. At least Steinberg lets you use any ASIO compatible hardware. I have to give them that! Pro Tools just ties you to their external I/O interfaces, control surfaces and DSP cards.

You could use Cakewalk SONAR which recently went dongle free however they changed their license agreement in a manner that makes it illegal to sell your license if you choose to no longer use the software -- their licenses are non-transferable now.

You can use Logic Express / Pro from Apple, but Apple of course only has a Mac version. However, I think only Mac heads use Logic because I've never heard of a studio (although it's been a while since I've been in one) that uses Logic. Everybody either uses Pro Tools or Cubase which have become the industry standard for mult-track editing.

However, I've heard some good things about REAPER. It runs on Windows or Wine and it's proprietary "uncrippled, unexpiring shareware".

Matt, the exporting to MP3 in Cubase is the one annoying thing I've found. However, again Cubase is aimed at the pro-audio market where the end product is going to a lossless format like WAV not to MP3 (since there are very expensive programs available that most recording studios use to mix down a final product to MP3 for selling on iTunes etc.).

I just mix-down to a stereo WAV when I'm down in Cubase and use Audacity's MP3 exporting which is faster than the Cubase version of MP3.

Peter, I don't really disagree on any points, but to me, for what I want to do, this is just the wrong product. They shouldn't be selling to the home market at a $149 price point and then treat that market like they're the same as the pro market.

I wanted a single product that I could do everything in, and this isn't it. Having to use Audacity to record and Audacity to do the MP3 export makes me question what Cubase is good for other than non-destructive editing. It also makes me seriously miss Audition because Audition is so much nicer to use.

I'm mad about the dongle, I'm mad about the lack of MP3 encoding (Audition has this built in, so Steinberg could do it if they wanted to), I'm mad about the usability, I'm just mad in general. ;-) I'm just glad I didn't buy the mid-tier version of Cubase which I considered; then I'd be raging mad. And no one wants to see me raging mad. ;-)

hey matt, sorry it's not working out for you.

i think though that what you need to understand is that ALL software licenses run along these lines - steinberg are just doing the decent thing and telling you upfront. if you lose a license code - whether written down or on a dongle - you lose the right to access that software, whether it be a game or other device. steinberg providing spare dongles is akin to legitimizing piracy.

the dongle copyprotection system, while not the best, does have advantages in that it does not require an internet connection to validate software like some other methods.

regarding the usb headset, i think you may need to investigate cubase a little more, as i've never had a problem with generic usb audio devices.

or with mp3 export? but i'm not running express...


IMHO the big problem here is that:

1) "Piracy" is not a valid term to use here--it's not like Matt's attacking a ship with cannons and a parrot on his shoulder.

2) Not ALL software licenses run along these lines, just the ones that automatically assume you, the software user, have criminal intent

3) Steinberg (and others) want it both ways. It's a "license" at times when it suits them, it's a "physical product" at other times.

The advantage of using a dongle (vs. using the Internet) isn't really an advantage per se, it's the *absence* of intrusive spyware running without your knowledge/consent on your machine.

That we consider dongles, restrictive licenses, "call home" programs normal or acceptable only shows how little control we have over our own computers.

@evan--Steinberg doing the "decent" thing? That's a laugh. There's a HUGE difference between losing a license and losing a dongle. If I lose the piece of paper that has the license code on it, then fine, I might not be able to reinstall the software, but it will keep working. If I lose the dongle, or even if it just quits working (it *is* a little electronic device, after all, and it *will* fail at some point), then instantly I can no longer continue to use my existing installation. That's a BIG, BIG difference.

You're also mistaken about the dongle not requiring an internet connection--it absolutely does. That's the only way to obtain the actual license file. The dongle comes "empty" and you then use a one-time activation key over the internet to download a license file to the dongle, so an internet connection is absolutely required.

Another problem I have with the dongle that's related is that it's a piece of physical hardware that I have to stick into my computer. How do I know what all it's doing? I don't. I have to trust Steinberg that they aren't doing all sorts of nefarious stuff to my machine. Sticking a physical device into my machine to use a $149 piece of software gives me the creeps.

On the USB headset--I called Steinberg and they flat-out told me it won't work. You must have a magical USB device or something.

Regarding the MP3 exporting, I did buy the MP3 add-on (what the heck; I'm in for $149 regardless so I might as well try to use the software a bit). It was an add-on, it was $26, and it requires a separate license that lives--you guessed it!--on my dongle. So now I have two license files on my dongle that will crap out someday and render my software unusable. Awesome!

you can learn from another

thank you

I perfectly understand your pain with that!!!! The dongle is the dumbest thin in the present... It doesn't even prevent piracy, because you simply can download a dongle-freed (cracked) Version of CUbase via BitTorrent, if you want to pirate it... It's just a piece of Plastic, which keeps you from being creative, when you lose it...

Update on all of this--with shuffling stuff around for my move to Seattle I of course lost that freakin' dongle, rendering Cubase unusable, so I threw it in the trash. Semi-expensive lesson learned, although I have to it admit it was rather cathartic throwing Cubase in the trash. :-)

Well, you should try Reaper from Cockos. Not free, but limitless trying time. Works really well and the company policy is a model of good naturedness. I actually want to buy their product, which I have to say is a first

@Pablo--thanks! Hadn't heard of that one. I'll look into it.

Thursday, March 13, 2008

XMLSearch(), Namespaces, and Lack of Namespaces

I ran into a similar issue using xquery in SQL Server, but today I was back on the ColdFusion side of the world and had to fix it slightly differently.

In the application I'm working on I'm processing tons of XML files and depending on how they're generated, they may or may not have a namespace declared. Luckily other than that the XML structure is consistent, but XmlSearch() in CF behaves differently depending on whether or not a namespace is present.

Luckily I came across this post by Jeremy at his aftergeek blog that solved the issue for me (and to reiterate what I said in another post, I'm a bit of an xpath n00b). Using the local-name() function gets at the XML data correctly both when a namespace is present and when it isn't. So where I was previously doing this:

<cfset foo = XmlSearch(myxml, "/*/mynode").get(0).XmlText />

I'm now doing this:

<cfset foo = XmlSearch(myxml, "//*[local-name()='mynode']").get(0).XmlText />

Blogging this mostly so I don't forget myself, but I also thought others might be interested. Time for me to get an xpath book or something and learn this stuff for real. ;-)


Very useful info Matt thanks for the post.

I thank you.

My forehead thanks you.

My wall thanks you.

I see that this thread is old - but it is clearly not dead. I just wanted to add my two cents:

If you are working with XML from an Excel 2003 Document (which is riddled with namespaces) this is the XML Search code I used to get at a worksheets rows:

subsiteXML = xmlSearch(mapXML, "//ss:Worksheet/ss:Table/ss:Row")

until CF 9 comes out anyways

Thanks Ron--handy tip!