The Cafes Reloaded

Friday I spent most of the day converting the old custom written site into a new spiffy WordPress 2.0 site. Why I did that was outlined in my previous post, Why Mokka mit Schlag?

Then I promptly caught writer’s block. For a good 48 hours I could think of absolutely nothing to say here. I could have pulled an old article out of the vault, but I wanted to relaunch with something new. So I went on a parrot walk at Brooklyn College, did a little owling in Prospect Park, and got to work on my notes for Macintosh Development with Java at Software Development 2006 in Santa Clara in March. This is a revised version of the Macifying SWT talk I gave at EclipseCon in New York in the Fall. However, this time the focus will be on Swing rather than the SWT. (Swing does a much better job at handling the Mac.)

About the same time, BBEdit decided it didn’t want to connect to The Cafes’ server to edit the stylesheets so I went looking for an alternate editor that would. First possibility was jEdit, a pure Java text editor I used for several years on Windows and Linux before switching back to the Mac for my primary development work a year and a half ago. My god was it ugly! The menu bar was in the wrong place. The application menu wasn’t filled. The Preferences and About jEdit menu items were in the wrong menus. The font was wrong. The whole screen looked grey. The File dialogs weren’t native. It wasn’t a multiwindow application. It was hard to believe this was a product I’d used happily for years. And then the obvious struck me: here was the perfect example for my talk at SD: a well-written, open source Java Swing application that just needs a Mac makeover. So I started to work on that.

The first thing to do was check the latest source code out of CVS. I tried to do it in Eclipse, but as usual that failed, so I reverted to the command line. (By the way, if anyone who does understand how to check SourceForge projects out of CVS directly into Eclipse and configure them properly, please talk to me. Maybe we can get together and write an article here, or contribute a HowTo to the Eclipse site or some such.) However, jEdit is divided into several modules, all of which I wanted. SourceForge doesn’t tell you how to check out an entire project, just single modules; but I thought, “There has to be a way to do this.” Sure enough there was. Next I thought, “I bet there are some other people who wonder about this too.” and there was my first new article.

Next I started exploring the jEdit Ant build file to see what the targets were and how to build everything. There was almost nothing in it, just references to other build files in other directories. I’d always wondered how you did that. I’m sure there was a way, but I’d never gotten around to figuring it out, just writing monolithic build files instead. “I bet there are some other people who wonder about this too,” I thought; and there was my second new article. Then I figured out just what was going wrong with BBEdit to prevent me from opening files over SFTP, and that led straight into my third article. More will come.

Short version: writer’s block cured. The Cafes is off and running again, and I’m hopeful that the ease of writing new articles in WordPress will keep it humming along at a brisk clip for the foreseeable future. Enjoy!

6 Responses to “The Cafes Reloaded”

  1. James Abley Says:

    Hi Elliotte,

    Could you provide more detail as to the issues you hit using Eclipse and SourceForge CVS? I can’t think of any problems I’ve had with it apart from having to configure source path and classpath entries.

    Feel free to contact me directly.

    James

  2. Elliotte Rusty Harold Says:

    The problem with Eclipse is that I end up with a confusing mess of files, none of which are properly recognized and sorted into their right places in the source hierarchy. For instance, a class like com.foo.bar.Example might be loaded instead as src.com.foo.bar.Example or foo.bar.Example. Some of the files aren’t even recognized as Java files. Sometimes I get caught in an infinite loop of being asked to reconfigure the project; and just have to nuke everything and start over. ๐Ÿ™

    I’m sure there’s a way to do this right, but the new project from CVS setup in Eclipse 3 is so confusing and poorly designed that’s it’s pretty much guaranteed no one will figure it out. The whole CVS checkout process needs a complete rethink. Options should be eliminated. User configuration should be minimized. Ideally it should require nothing more than filling in a couple of obvious fields and pressing a button.

    FYI, this is not a SourceForge specific issue in any way. Codehaus, java.net, and other CVS repositories have the exact same issues.

  3. James Abley Says:

    I wanted to check out jedit just to think about the process I go through, rather than just click through it, but unfortunately I’ve not been able to connect to SourceForge CVS for the last couple of days. I agree that it can probably be improved, but I’d need to capture and articulate what it is about the process that bothers me, and then contribute a patch or log it with Eclipse Bugzilla.

  4. Elliotte Rusty Harold Says:

    Sourceforge CVS is notoriously flaky. I often have to try several times over a few hours before I connect successfully.

    I actually wouldn’t suggest capturing what it is that bothers you about the current process as the first step. That presumes that a little change, a nip here and a tuck there, would fix the problem. I think the problem is much deeper than that.

    I would suggest instead designing an approach to CVS checkout from a blank screen and then ripping out the current CVS checkout and replacing it with a completely new interface.

  5. James Abley Says:

    I had another look at this and realised that these days I always use ‘Check Out As …’ and the Java Project Wizard, so I don’t have tend to have so many issues with it. Have you tried that approach?

  6. Elliotte Rusty Harold Says:

    1. It’s not obvious that that’s what one should do. Assuming that that is what one should do, the inboviousness is a bug.

    2. Even when one does exaclty that, there’s still too much that can go wrong, and too many options to configure. See, for example, my latest struggles with Eclipse CVS and jEdit.

    There’s no reason for this to be so complex. Part of the complexity does come from a perfect storm of flaws in many systems all trying to work together:

    • CVS’s inability to move a file
    • Sourceforge’s overloaded servers that frequently just give up
    • jEdit’s poor source tree layout
    • Eclipse’s incomprehensible checkout wizard

    Individually any of those are surmountable. However together they reinforce each other to turn the whole process into a stew of conficting information.

Leave a Reply