Sunday, November 23, 2008

Failed eHarmony

Thursday, November 20, 2008

Subversion Inconsistent line ending style error message

While trying to do an import of jboss 4.2.3.GA tonight, I've come across this error about 4 times so far.
svn: File 'jboss-4.2.3.GA/server/default/deploy/jbossws.sar/jbossws-context.war/index.html' has inconsistent newlines
svn: Inconsistent line ending style
svn: Your commit message was left in a temporary file:
svn: 'svn-commit.tmp'
Seriously, what the hell? Don't kill the entire commit with fail. Just give me the option to either fix the problem myself, fix the problem for me (default option and pick unix linefeeds) or finally give up. Additionally, why can't the client just do this check before getting 100 files into the commit? Grumble, why do you software developers make my life so difficult sometimes?

Tonight's fix:
Install dos2unix since OSX doesn't come with it (assuming you have MacPorts installed): sudo port install dos2unix
Then run it against any suffixes that need to be converted: find . -name \*.html | xargs dos2unix

Tuesday, November 18, 2008

The Big Three (Losers)

I'm sorry for the people who will lose their jobs as a result of the total fuckups that have happened at the big three automotive companies. But, I do have to say that this is a long time coming and it is only going to get worse. I also have no desire to bail these companies out.

This CNN article asks some hard questions and instead of answering them truthfully with some semblance of humility, Ford Motor Company chief executive Alan Mulally defends his companies total disregard for the environment and the current economic situation that they helped create. To say that you have been concerned with fuel efficiency from day one is a total lie, otherwise you would have actually delivered on your words or even better, been in a position to not need to be bailed out with my hard earned tax dollars.

I say that it is time to fire this guy and put someone with some real concern for the environment (first) and economy (second) into his position.

Update: One down.

Saturday, November 15, 2008

Controlling Spam using Gmail

I had an idea for controlling spam that works really really well for me. I modified my email forwarding to look like this:

jon@latchkey.com -> ABC@gmail.com -> XYZ@gmail.com

XYZ@gmail.com is the only account that I actually read on a regular basis.

I just had a case where a spam message to jon@latchkey.com which can be viewed in my Inbox on ABC@gmail.com. In other words, it wasn't auto filtered to ABC's Spam folder. Well, that message never got forwarded to XYZ@gmail.com. I can't explain why and so far, all of the valid email has gotten forwarded.

So, my Spam folder on XYZ@gmail.com stays clean except for spam that was sent directly to XYZ@gmail.com. Thus, there is barely anything that I need to skim over when purging my Spam folder on XYZ. Very handy.

jon@latchkey.com has been around since 1996. It gets a lot of spam.

Thursday, November 13, 2008

Loader constraints violations

During development, on application redeploy, I was seeing an error like this:

Java5:
15:27:34,647 WARN  [ServiceController] Problem starting service jboss.j2ee:service=EJB3,module=heart-biz.jar
java.lang.LinkageError: loader constraints violated when linking com/kink/heart/biz/admin/i/LiveShowData class

Java6 (it seems they tried to improve the error a bit):
15:15:46,205 WARN  [ServiceController] Problem starting service jboss.j2ee:service=EJB3,module=heart-biz.jar
java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "com.kink.heart.biz.content.ContentMgrBean.getLiveShow(Ljava/lang/Long;)Lcom/kink/heart/biz/admin/i/LiveShowData;" the class loader (instance of org/jboss/mx/loading/UnifiedClassLoader3) of the current class, com/kink/heart/biz/content/ContentMgrBean, and the class loader (instance of org/jboss/mx/loading/UnifiedClassLoader3) for interface com/kink/heart/biz/content/i/ContentMgr have different Class objects for the type com/kink/heart/biz/admin/i/LiveShowData used in the signature

Well, after finding this JBoss FAQ page, I followed the directions on it. They were really helpful!

Once I looked up the offending class (LiveShowData), it became instantly clear what the problem was:

### Instance0 found in UCL: org.jboss.mx.loading.UnifiedClassLoader3@8f036f{ url=file:/Users/jonstevens/checkout/jboss-heart/server/default/tmp/deploy/tmp54117z-ads.ear ,addedOrder=40}

### Instance1 found in UCL: org.jboss.mx.loading.UnifiedClassLoader3@d19a10{ url=file:/Users/jonstevens/checkout/jboss-heart/server/default/tmp/deploy/tmp54118heart.ear ,addedOrder=41}

Sync up the two jar's which contain my EJB3 interfaces and suddenly everything is working again.

Sunday, November 2, 2008

TimeMachine via AFP (netatalk) to a DroboShare

This rainy weekend, I turned the hardcore geek on so now I get to brag about it a little.

On my MacBook Pro, I used an Ubuntu vmware image to cross compile netatalk , dbus , avahi , openssl , expat , libdaemon and berkeley db to the embedded Marvell-Linux (arm-gnueabi) running on the DroboShare. Anyone who has experienced cross compiling knows it is an extremely complicated thing to do and not for the weak. Especially when dealing with so many different products which all have to integrate together. It is also amazing that I can use two different operating systems to compile code for a third operating system.

After getting all of those projects compiled, configured and started, I can now say that I'm the first person to successfully perform a Time Machine backup to the Drobo connected to the DroboShare over AFP. This is something that Apple has put a lot of effort into making very difficult to perform because they are trying to sell more of their proprietary and expensive TimeCapsule devices and now I've beaten them at their game. =)

Time to put this project down and next weekend I'll package things up and make it available to other owners of DroboShares.

Update: I've created a Google Code project called DroboCapsule and put up a binary package for you to download and install. Enjoy.

Gear's heart