Saturday, July 30, 2005

Wheel Cap Black Market

Someone stole the center wheel caps off of my SUV (I love San Francisco). I think I know where they went. The damned things are $18 each new. Maybe I'm in the wrong business. ;)

Tuesday, July 19, 2005

Dvorak Off the Deep End

John C. Dvorak completely and utterly misses the point of the Creative Commons. I can't believe I just wasted 5 minutes of my life reading this crap. Dvorhack finishes his rant with, "And it seems to actually weaken the copyrights you have coming to you without Creative Commons." If he spent 5 minutes researching the subject, he would realize that's the point. He doesn't even seem to understand normal copyright law: "Now you just use the word 'copyright,' add your name and a date, and publish it." Actually, you can do nothing at all, and copyright law will still reserve all your rights whether you want them or not. The Creative Commons provides a standard, incremental framework for giving up your rights, not reserving more rights than the law allows. It's like an Open Source license. Why waste your time and money reinventing the license wheel just so you can give away your content? A creative commons license tells users how they can reuse your content without each and every one having to ask your permission. Users can learn the CC licenses and not have to parse umpteen million similar but slightly different copyright licenses. Update: That is not to say the CC is perfect. Far from it. Lawrence Lessig spoke at my company a month or so ago. He freely admitted that the CC has flaws and told a story about an earlier visit during which one of our founders asked if the CC could negatively impact the public's default rights to use content which isn't licensed under the CC. Could you imagine a world where an image search engine couldn't include a picture because the photographer forgot to tag it with a CC license?

Monday, July 18, 2005

Package Scoping And Unit Testing

After reading the test framework comparison thread and listening to Dave Thomas's interview on TSS, I wrote about package scoping and how many programmers don't seem to understand it on my java.net blog. If more people use package scoping, the World will be a better place. I'm still not completely sure where I plan to draw the line between my two blogs, but I think this entry qualifies as well thought out and generally applicable enough for the java.net audience.

Tuesday, July 12, 2005

Curse java.util.logging

  1. Where is Logger.getLogger(Class)? Using class.getName() instead of class always seems to run my Logger declarations onto a second line.
  2. Have you seen the level names? SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST? At first I thought you could choose between two different sets of level names. You might as well have SEVERER and SEVEREST. Yuck.
  3. Why is Handler an abstract class and not an interface (with an optional abstract support class)?
I have a sneaking suspicion this is just the tip of the iceberg. I miss log4j. At least it's not clogging. ;)

Friday, July 08, 2005

JotSpot Live

Abe Fettig described JotSpot Live, what sounds like an AJAX real-time collaborative editor:
JotSpot Live is a real-time wiki interface that allows multiple users to edit the same page at the same time. Calling it “SubEthaEdit for the web” is an oversimplification, but that’s probably the quickest way to wrap your head around the concept. Unlike SubEthaEdit, JotSpot Live doesn’t require any special client software: it’s a web application that runs in Firefox, Internet Explorer, and Safari, using nothing but HTML, script, and CSS.
A few years back, I wanted to duplicate SubEthaEdit's functionality as a Java IDE plugin. If I recall correctly, SubEthaEdit has zero latency and locking because the clients communicate 100% asynchronously. When faced with edit collisions (i.e. I deleted a word you were editing), each SubEthaEdit client must generate the same resulting document regardless of the change ordering. The result: regardless of the performance of the network or other clients, collaborative editing in SubEthaEdit should respond as quickly as standalone editing. I moved on after realizing this would be a pretty tricky wheel to reinvent. I look forward to taking JotSpot Live for a spin. I'm most interested to see if it's 100% asynchronous like SubEthaEdit and how Abe balances the logic between Javascript and the server side.

Wednesday, July 06, 2005

Opera Integrates BitTorrent

Though there's no official announcement yet, Opera has added support for BitTorrent to their web browser. I was just wishing for this yesterday. A BitTorrent download should be just as user friendly as a normal HTTP download. Moves like this will bring BitTorrent to the non-geek masses (users may not even know they're using BitTorrent). When it comes to performance, a unified application can manage bandwidth better than two separate applications; the browser could prioritize tasks differently and achieve maximum BitTorrent download/upload speeds without slowing down normal web browsing. FireFox and IE plug-ins (or preferably native support) must follow soon for BitTorrent to beat out Microsoft Avalanche in the long run.

Tuesday, July 05, 2005

BitTorrent Port Forwarding on OS X

If you've configured your external NAT router to forward your BitTorrent port, but it still doesn't seem to work, you may also need to open the port in OS X's built-in firewall. Go to System Preferences -> Sharing -> Firewall, and add your BitTorrent port to the allowed list.