27 August 2008

m2eclipse Loves Test Reports

Just a quick note about developing with m2eclipse and how much easier it makes tasks. When running tests in Eclipse, m2e now creates a link to the surefire report for quick access. See the image above for a screenshot. This is so much better than using cat or less from the command line because it just saves time (and I love the command line!). A single click v. typing many keys to view the report - rockin.

Thanks, Eugene ;-).

Live Coding Collaboration With Eclipse - Wow!

You've got to check out this video that demonstrates the a shared coding session using the Eclipse Communication Framework. This is amazing! They're editing the same class concurrently and changes are reflected in real time without saving!

I have often longed for the ability to collaborate with others beyond just commit/update via SVN with folks. In the past I've tried a multiplexing X server in Linux and SubEthaEdit for MacOS X, but neither is ideal. Given that so many people use Eclipse for writing code these days, this is exactly what we need. Now I just need to convince someone to install it and take it for a spin ;-).

26 August 2008

Do You Use Maven? If So, You Need Nexus

If you use Maven for your development or you manage a Maven repository inside your company then you need a Maven repository manager and Nexus is hands-down the best choice. Today Sonatype announced the release of Nexus 1.0, the easiest to use, enterprise-ready Maven repository manager.

Nexus serves as a proxy between your organization and public Maven repositories and as an easy-to-use deployment target for your own, possible commerical artifacts.

Nexus acts as a cache of artifacts between your organization and any public Maven repository. This means that artifacts and their dependencies only need to be downloaded once. I run Nexus locally on my laptop for this purpose and after the first download of artifacts, my builds sped up tremendously. I've done this since it was called Proximity because it works very well.

A shared, internal Maven repository inside of a company can be a very efficient way to share snapshots and releases of internal projects. Using Nexus dramatically simplifies this task and saves large amounts of time and effort.

Start Using Nexus in Minutes

If you want to speed up your Maven builds, follow these steps:

  1. Download Nexus

  2. Start up Nexus ($NEXUS_HOME/bin/nexus start)

  3. Drop this settings.xml in your ~/.m2/ directory

  4. Perform a Maven build

You might need to add more repositories to Nexus, but it's a cakewalk! Trust me, Nexus will simplify your use of Maven.

24 August 2008

On Multi-Ignoring

We all do it, some better than others but I have yet to see anyone who has perfected it - multi-tasking. So I've always referred to multi-tasking as multi-ignoring. Well it seems that Merlin Mann has found someone who thinks the same way. For those not willing the click through, here's the quote:

Multitasking is the art of distracting yourself from two things you'd rather not be doing by doing them simultaneously.

This pretty much sums it up. I say pretty much because I know that I have been guilty of multi-ignoring when I have way too many tasks to handle. That doesn't happen to me so much these days, but I've gone through periods in the past where this just doesn't seem to stop. The other thing that pushes me into this state are constant interruptions. Being interrupted multiple times every hour can make even the most productive person start to do this. That's when you either:

  • A. Log off IRC and IM and just go dark for a few days to get it all done ;-), OR

  • B. Throw it in the bit bucket - /ignore

Tim's latest comment inspired me to update this post regarding some things that author Neal Stephenson said about the process of writing and Merlin Mann blogged about.

Concentration when writing is so important. I think that Neal Stephenson explained it best when he said the following:

Writing novels is hard, and requires vast, unbroken slabs of time. Four quiet hours is a resource that I can put to good use. Two slabs of time, each two hours long, might add up to the same four hours, but are not nearly as productive as an unbroken four. If I know that I am going to be interrupted, I can’t concentrate, and if I suspect that I might be interrupted, I can’t do anything at all. Likewise, several consecutive days with four-hour time-slabs in them give me a stretch of time in which I can write a decent book chapter, but the same number of hours spread out across a few weeks, with interruptions in between them, are nearly useless.

Check it out via Merlin Mann's blog post series about Neal Stephenson's comments.

23 August 2008

from(Keynote 4).to(Powerpoint 2008).sucks()

See this kid here? This is what Powerpoint 2008 told me today after exporting a presentation from Keynote 4.x and attempting to open it in Powerpoint.

I was pretty concerned, but certainly not out of ideas. So I began to Google and found that others were also experiencing the issue, and I discovered that manually removing all the presenter notes from the presentation worked around the issue. This was good news - yay! The bad news was that I had nearly 400 slides in the presentation with notes in nearly half of the slides :-(.

Lesson learned: Until Apple fixes Keynote to export to the Powerpoint 2008 format properly or Powerpoint 2008 can open the Powerpoint 2004 format without crashing, don't put notes in your Keynote presentations.

For those who don't know, the API-like title is taken from the Apache Camel API for message routing and mediation.

17 August 2008

VMWare Appliance Marketplace to the Rescue

Recently I blogged about trouble with shared folders and VMWare and now I've run into it again! Previously I was working with CentOS 5.1 and now I've installed a newer copy of Ubuntu on my MacBook only to discover that folder sharing would not work at all. After searching around a bit, I found some info stating that this was an issue with the commercial version of the VMWare tools and that the open source VMWare tools has fixed the issue. I'm usually not deterred by such solutions at all, but in this case, my install of Ubuntu was plain vanilla and I just need it for testing. So I decided to grab an install from the VMWare Appliance Marketplace.

So I just grabbed an image of Ubuntu 8.04 Desktop with VMware Tools preinstalled (I figured I'd forgo the misery this time). Upon registering with VMWare to download appliances, I was taken to the website of the person who is actually offering the image for download, downloaded the image via bit torrent and had the image up and running in no time.

Until recently I wasn't aware of the VMWare Appliance Marketplace. This is similar in concept to the public and freely available OS images available on Amazon EC2 (e.g., On EC2 I have successfully used the Ubuntu 7.10 Gutsy Base Install). Why spend the time installing and configuring Linux distributions that I'm simply using for testing? My only requirement is Java and some Java-based tools like Ant and Maven. So there's no reason for me to waste time on a custom install when I can download, run and go. So now I've used preconfigured images on both Amazon EC2 and VMWare successfully and I definitely will again. What a time saver!

08 August 2008

Michael Franti and Spearhead at the Fox in Boulder

On Wednesday night Raible, Matt and me saw Michael Franti and Spearhead at the Fox Theatre in Boulder, CO. I've seen them now seven or eight times in the last few years and they never disappoint!

After dinner at the Centro Latin Kitchen, we headed to the hill to find parking around the Fox and get in to the see the show. On the way over, I heard a live performance on the radio by a band named Pictures & Sound that was very good. I recognized the band leader from his days in Blue Merle. Upon arriving at the Fox and navigating the sold out crowd to get a spot on the floor, I told the Matts about Pictures & Sound. Then about 10 minutes later, that very band appeared on stage and played their set to open for Spearhead! Ha! I guess I should've paid better attention to the giant marquee out front with the band names on it - LOL!

Needless to say, Michael Franti and Spearhead are a force! Every time I've seen them perform, they are in top form. While their recorded music is fantastic, seeing them live is soooooo much better. If you get a chance to hear them or see them, I highly, highly recommend it.

07 August 2008

VMWare Fusion 1.1.2 Shared Folders Issue

I just spent the last hour screwing around with VMWare Fusion 1.1.2 on MacOS X trying to get Shared Folders working. As VMWare booted Linux I'd see the message 'Mounting HGFS shares: [FAILED]'. I ran the vmware-config-tools.pl script and nothing changed. I rebooted the VM and nothing changed. So I began searching for other experiencing this issues.

After Googling around quite a bit, I located this forum discussion about how this is actually a bug that is fixed in 1.1.3. After uninstalling 1.1.2 and installing 1.1.3, the one catch was that I needed to install the newer version of the VMWare Tools. After doing this the I also had to install a newer version of the VMWare Tools (Virtual Machine->Install VMWare Tools). It simply offered a newer version so I installed it and ran the configure script again and finally saw the 'Mounting HGFS shares: [OK]' message - yay!

Now after nearly an hour of screwing around with this, it's back to work :-(.

ActiveMQ In Action - Free Chapters Available

If you're a user of Apache ActiveMQ then ActiveMQ In Action will be of interest to you. Not only because we're really focused on helping folks understand and use ActiveMQ, but also because Manning is offering early access to the chapter FOR FREE!

Recently Rob Davies, Dejan Bosanac and myself have embarked on writing a book about Apache ActiveMQ. The first few chapters are now available via the Manning Early Access Program in PDF form with more to come throughout the next few months. These chapters are raw and straight from the authoring/editing cycle so you're really getting an early look into them. There's even a forum for discussion of the book where you can ask questions and make suggestions if you have any.

And Now a Rant on the Writing Process...

It has been fun writing this book so far because we're not using a word processor - yay! When drawing up the proposal for the book, we agreed to utilize DocBook for writing the book. For this purpose, I believe all three of us have wound up using the XMLMind XML Editor because it supports DocBook so well. With the help of an article titled Getting Productive with XMLMind, so far it has been a pleasant experience.

This is a big departure from the other books I've written which were for other publishers and the writing process was very focused on the editors instead of authors. With the first three books I wrote, I was required to use Microsoft Word because that's what tool all of the editors used. The experience of many back-and-forth editing sessions with many people only helped me loath using Word even more. The usability of Word is just not very productive, especially once the document is so incredibly littered with change tracking and comments that it's barely readable. And it's binary format is a real pain in the ass because it can't be diffed or versioned easily.

The processes I've used with Word were really a dead end because once the document is in the Word format, it can't be easily transformed into other formats for the benefit of the technical authors. This is what caused a productivity nightmare for the authors because there was no real round-trip authoring/editing cycle because of this. There are only two solutions to this problem and neither of the publishers were willing to make any changes:

  1. Transform the Word doc to another format at every cycle of the authoring/editing cycle - This is a real non-starter because too much information is lost in the transformation and wouldn't make it out of or back into the Word format. IMO, this is where all word processors fail because the editing information is so tightly tied to the content itself. This is exactly why I like using diff and patch so much and why I write most things in just plain text of some sort. Diffs are completely separate from the source but patch is smart enough to semantically match many things. (If you're not familiar with diff and patch and you're interested, see something like Comparing and Merging Files with GNU diff and patch).

  2. Change the way the editors work, i.e., no more use of Word for editing - This is usually not workable because of the time, effort and cost involved with re-training editors in using different tools.

However, much to my surprise, Manning has already taken the second path I mentioned above! Its editors are perfectly OK with us using DocBook as the content format for the book and they even use XMLMind themselves. Unfortunately the content management system we use for authoring leaves a lot to be desired, but that's a different rant ;-).

As much as XMLMind is still a separate tool requiring point-and-click (I like my hands to stay on the keyboard which is why I'm a VIM nut), I've found it to be much more productive than Word already. I think in large part this is due to the fact that it doesn't have nearly as many bells and whistles as Word therefore there's just less crap in the document. XMLMind is very focused on the content and less focused on the eye candy which I really like - a tool that more or less stays out of your way.

If you've read this far into my rant, I congratulate you. This topic is near to me because I've spent so much time writing and putting together presentations in the last few years mainly using processes and tools that just aggravated the shit out of me. I could go on and on about this topic but for now I'll spare you the details. I know that Jason and I have discussed this at length in the past because it has affected us so much. Maybe I'll continue this later in a separate entry another time.

05 August 2008

A Simple Time Tracker for MacOS X

I didn't have to hunt very far for a simple time tracker for MacOS X before finding one named Time Tracker for the Mac. It tracks the time you spend on tasks and projects. Simple and exact ;-).