JRoller down until after soccer practice.

After months of relatively trouble free operation, JRoller is straining against the load of 3980 users and heavy traffic. I adjusted some of JRoller's mod_jk2 settings today and restarted the server. It failed to start, so I reversed my settings change and tried again - still no luck. Unfortunately, I'm not going to be able to touch the system until tonight, after I get off work, take the kids to soccer practice, and to the end-of-season dinner. Sorry JRollers, I'm a soccer dad first and a JRoller admin second. Matt Schmidt may be able to do something after he gets out of class this afternoon.

Update - 11:30PM EST - JRoller is back up. JRoller's JIRA instance should be up shortly.

Gentoo it is.

I'm replacing Redhat 9 Linux with Gentoo 2004.0 Linux on my old AMD Athlon 1600+ box tonight. So far, the process has gone very smoothly.

Update: Around the time that I wrote "the process has gone very smoothly" my install suddenly took a bad turn. I am in the bootstrapping part of the install and, every time I run the bootstrap script, the build fails with a compiler, assembler, or loader crash. Each time, it fails in a slighly different part of the process; once in gettext and once in ncurses. One of the error messages indicated a hardware problem and the guys on the #gentoo IRC channel say the same thing. Perhaps I have some faulty memory./p>

Another update: Turns out, I did have a bad memory module and I forgot to properly configure my swap partition. I removed the bad module, configured my swap partition, and the bootstrap build proceded without a hitch.

Stupid irrestable urges.

Why do I do it? Why do I have to re-install Linux every six months? Every time I do it, without fail, I find myself on my knees with my computer case open, swearing out load, and muttering "why the hell did I do this." I have the same problem with room re-arrangement. Every couple of months I find that I must, I simply must, rearrange some room in the house. I empty the bookcases, take everything off of every surface, and burn a day re-arranging and cleaning and putting everything back together again. Sometimes it works out for the best - I learn something cool about Linux or I find a better way to use the space in my house. Usually, it is just a waste of time.

My latest re-installfest was a classic example of this phenomenon. I had told myself and even mentioned to my wife that I wouldn't do it. I would resist the urge to install Gentoo Linux. I had too way to many things to do, but late one night in a moment of weak geekness I burned a Gentoo install CD and it was all downhill from there. It took me a week and a half to get back where I started: a Linux box with Apache hooked up to Tomcat via JK2, MySQL Roller, and Gallery. Along the way I installed Gentoo three times, took out memory modules then put them back in, moved my CD drive from one IDE controller to another, installed Debian unstable, unstalled Debian testing, and fought and won a bloody battle with JK2. I gained nothing! I think need a therapist.


A couple links to help with Apache-JK2-Tomcat on Debian

During my recent re-installfest, I searched high and low for JK2 documentation. I could not find any "official" documentation on building JK2 for Debian, but I was able to fumble my way through by following the steps in a Debian mailing list post titled mod_jk and mod_jk2. I tried using the latest version of JK2, which is 2.0.4, but I could not get it to compile. I ended up using version 2.0.2. I'm using Debian testing, by the way.

Once I had built JK2, I followed the JK2 documentation on the Jakarta website. I was able to get JK2 working, but I kept getting intermittent HTTP 500 errors from the server. I started looking for alternative ways to configure JK2. I found some very helpful instructions at Greenfield Research titled Tomcat-Apache using JK2 Connector. I followed those instructions and I haven't seen a 500 since.

Eclipse and Netbeans on MacOS

I'm not exactly pleased with the open source Java IDE situation on MacOS. Eclipse 3.0 M8 works and connects to SourceForge CVS/SSH just fine, but it is slow, looks obnoxious, and it just crashed while I was editing a Java source file. I hope that, by the 3.0 release, Eclipse will be usable on MacOS. Next, I tried Netbeans.

Netbeans 3.6 seems fast, fits in with the MacOS GUI, and even recognized the SourceForge CVS/SSH configuration that Eclipse left behind, but... when I attemped to login to CVS, Netbeans showed me a stack-trace. I decided to try using a real cvs client instead of Netbeans built-in implementation. I used Fink to download the cvs command-line client, configured it, and confirmed that it works with SourceForge CVS/SSH by doing an update on the Roller CVS. I configured Netbeans to use the command-line cvs client, but no luck. Netbeans says "Permission denied (publickey,password,keyboard-interactive)." I have CVS_RSH set in my .bash_profile and in Netbeans CVS environment variables... is there some other trick?

Anybody had any luck connecting to SourceForge CVS/SSH with Netbeans on Mac OSX?

PowerBook first impressions.

I picked up my new PowerBook on Wednesday. I bought one of the new 15" models with 1.5Ghz processor, 1.25GB RAM, and Apple Care. Apple provides a great out-of-box experience - everything is attractive, even the packaging, and well designed and everything just works - right off the bat. I was happy to find lots of cool software pre-installed, including, to my surprise, both vim and JDK 1.4.2. The system comes loaded up with cool Apple software including iPhoto, iDVD, iMovie, and GarageBand as well as 3rd party programs like the OmniWriter outliner and the Visio-like Omni Graffle diagrammer. Within an hour I had established a WIFI connection, mounted shared folders from my Windows box, and ssh'ed into my Gentoo Linux server. Very cool! I'm gushing now. Sorry about that. I haven't bought an off-the-shelf computer in about ten years and I've never bought a laptop. Normally, I build my own machines from el cheapo components, crappy cases, and noisy fans. This is a very different experience than that.

After getting comfortable with the UI and some of the pre-installed software, I started to download some of the same software that I use on Windows: Firefox 0.8, Thunderbird 0.3, Eclipse 3.0M8, Microsoft's Remote Desktop client, and Palm Desktop. I spent a short time with each of these applications; here are some nutshell reviews. Firefox seems functional, but I prefer the built-in browser Safari. Thunderbird also seems to work, but I could not figure out how to import my existing Thunderbird mail files from my Windows-box, so I guess I'm stuck with the built-in Mail.App. Eclipse 3.0 works, but the new M8 look-and-feel looks especially crummy on Mac OSX. Remove Desktop works well. Palm Desktop works well, but I only downloaded it so that I can get the Conduit Manager necessary to iSync my PalmOS-based PDA. Perhaps I need to try using IDEA instead of Eclipse and Microsoft Office/Entourage instead of Mail.App, but I'm not in the mood to spend more money right now. Plus, I missed the $249 IDEA sale by one day.

Last night, I tried some of the multi-media software. I plugged my digital camera into the USB port and iPhoto popped up. It imported my photos and I tried doing some rotations, cropping, and enhancements. It seems to provide more than adequate thumbnailing and photo management/organization features. I hooked up my digital camcorder and imported some video footage with iMovie but I haven't tried to compose a video yet or burn a DVD. iPhoto is no Photoshop and iMovie seems pretty rudimentary, but I didn't have to set any preferences or install any drivers to get my camera and camcoder hooked up. That has not been my experience with my home-built Windows and Linux machines.

That's all for now. I'll be blogging my Mac experiences as I go and I've sarted a new category just for that: /Main/General/MacOS.

Calling the Netflix bluff.

Netflix is raising prices again, but Kuro5hin suggest that by attempting to cancel your Netflix account, you can get a better deal - even better than before the price hike. I've been a Netflix member for five years now, so I remember how good the service used to be. Turn-around time on DVD shipments has gone up sharply and so has the frequency of critically damaged DVDs. I'm gonna call that bluff. I have nothing to lose.

PowerBook waiting list.

I have a birthday of arbitrary numeric significance coming up and because of that, and a new secret project I'm starting, I've been able to convince my better half that I need one of the new PowerBooks. I've never owned an Apple before, so I'm pretty excited about this (despite the buzzkill build timings that Matt posted yesterday). I've wanted an Apple ever since my Dad brought home a TRS-80 back in the late 70s. I used a Mac for a while in the 80s and ported some software to MacOS back in the 90s, but I always hesitated to buy a Mac for myself because Macs were all GUI and no command-line. Now, Macs have the finest GUI plus the finest of command-line interfaces (UNIX and bash) and I'm on the waiting list for a new 15" PowerBook.

i18n test - Iñtërnâtiônàlizætiøn

Iñtërnâtiônàlizætiøn. Making Sam Ruby's suggested I18N test work in Roller required a code change and a configuration file change. First, the code change: I added the following line to force incoming form data to be parsed as UTF-8.

The config change: I updated my velocity.properties file to support UTF-8:
default.contentType=text/html; charset=utf-8

Unfortunately, this breaks comments as you will see if you try to leave a comment. I'm working on this now.

Update: Roller followed a linkback to Simon Brown's Iñtërnâtiônàlizætiøn post, and lookee there, linkbacks need work too.

Another update: I'm tracking this in JIRA as bug ROL-341. By the way, it appears that JIRA handles iñtërnâtiônàlizætiøn flawlessly.

Yet another update: Thanks to a suggestion from David Czarnecki, who literally wrote the book on Java Internationalization, comments are working on posts with I18N titles. I had to add URIEncoding="UTF-8" in the Tomcat Connector configured in server.xml:

    <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 10039 -->
    <Connector port="10039"
               enableLookups="false" redirectPort="10033" debug="0"
               protocol="AJP/1.3" URIEncoding="UTF-8" />

Javablogs 1.2 using Informa.

Charles Miller posted an interesting write-up on the recent Javablogs 1.2 improvements. I found it especially interesting that Javablogs now uses the Informa RSS parser, which takes the strict XML approach to RSS feed parsing - if the XML is invalid it ignores the feed. They are considering using Mark Pilgrim's ultra-liberal feed Universal Feed Parser which is much more forgiving, but it is written in Python and may need to be run in a separate process. Wouldn't it would be nice if Informa provided ultra-liberal parsing capabilities? Hmmm... I wonder... how hard would it be to port Pilgrim's parser to Jython?

Lucene in Action

JRoller blogger Otis Gospodnetic is working with Erik Hatcher on a book about the Lucene search engine. BTW, Roller's search feature is powered by Lucene.

Gosling responds

James Gosling responds to criticism of the Sun-Microsoft settlement and on Stallman's latest anti-Java jabs. I like his responses and I think it is great that he is using his weblog to respond, but his responses don't really shed any light on the partnership and technical cooperation aspects of the deal.

Another Rave review

First Look: Sun Java Studio Creator (Early Access)

Eclipse short-cuts

from Euxx

Desktop application vs. Web application again

With the right amount of JavaScript and DHTML it is possible to create a slick Web application that behaves a whole lot like a traditional desktop application. Take a look at Microsoft Outlook Web Access, Microsoft's Web client for Outlook. It behaves a lot like a desktop application, even on Firefox.

Google's new GMail Web mail application apparently looks and acts a lot like a desktop application as well. I haven't seen it yet, but take a look at what Rafe Colburn had to say about it:

Rafe Colburn Very slick. Most impressive though is that this is the first email client that I've used (maybe ever) that does something completely different with email than the dominant paradigm. I'm glad to see innovation of some kind happening on the email front [...].

And Aaron's Scwartz's take on it:

Aaron's Scwartz I have also received a Gmail account and can concur. Gmail uses clever JavaScript tricks to try to come close to the usability of a GUI email client -- and it comes quite close. It's incredibly fast, it's got nice keyboard controls, and the interface is simple and clean. But it doesn't have any of the features of a web app. There are no URLs, the back button does not work, links are faked, pages are coded in JavaScript and not HTML. It isn't a web application, it's a GUI application that just happens to run inside a Web browser.

Maybe it shouldn't, but this troubles me. Everybody - and by everybody I mean enterprise software customers and product managers - seems to want Web applications to behave just like desktop applications. I don't like that, but perhaps I am just a lazy developer, spoiled by Swing, and yearning for sweet SWT. This leads me to two questions and these are not rhetorical questions. These are real questions and I do not know the answers to them.

First: is it possible to create a Web application that behaves just like the desktop application and is accessible to those who are differently-abled? Sure, you can create beautifully designed and aesthetically pleasing Web sites that are accessible, but can you create super-slick Web applications that behave just like desktop applications and are still accessible? Obviously, Google put a lot of effort into making Gmail behave like a desktop application and where did that get them? It got them on Mr. Accessibility's shit-list. See what I mean:

Mark Pilgrim: NOTE TO SERGEY BRIN: stop dressing yourself in drag, fire one of your PhDs, and use the money to buy yourself a cluestick. Then beat your developers with it until they start taking accessibility seriously. I don't want to read a single review of Gmail that doesn't contain the words 'discriminates against the blind'. This isn't rocket science, people. Try harder.

Second: assuming that it is possible to create a Web application that behaves just like a traditional desktop application and is accessible, does that mean it is a good thing to do so? Most people - and by most people I mean enterprise software customers - know how to use the Web. They know how to use My Yahoo, they know how to use Fidelity.com, and they expect Web applications to behave like Web applications - don't they?

Roller Editor UI improvements

We've been making some big improvements to the Roller Editor UI. It is not as slick as a desktop application and it is not exactly accessible, but it is a lot better than it used to be. Below is a screenshot and you can see a recent revision running on Matt Raible's demo site. Feedback is welcome.

Poking around for substance in the Sun-MS deal.

I'm not the only one who sees nothing of technical substance in the Sun-Microsoft partnership. Tim Bray, who is now a Sun employee with access to Sun executives, has been poking around inside Sun, looking for details, and finding nothing.

Changing seasons.

Unreasonable deadline season is almost over and life is returning to normal. I should finally have a little time to complete my Struts Control Flow example.

« Previous page | Main | Next page »