Wednesday, April 13, 2011

JMS Working

I got my first JMS implementation in today.  Let me tell you, the trick isn't in hooking into JMS, or even capturing all the ways the hooks can fail, the hard part is the testing.

Testing when you haven't played with a new toy before is almost impossibly done with TDD because half of the work is done in exploratory code, and I haven't become rigid enough in my development practices to prevent my exploratory code from eventually becoming my implementation code.  And I don't write tests first for my exploratory code...sigh, I'm still figuring out the patterns for managing tests first, implementation later.

Anyway, JMockit came into the mix as a HUGE player today. I was able to mock out all of the JMS hooking and notifications, simulating a fully working JMS backend. However, the joke was on me. After my nice, pretty little test had been fully implemented, I discovered it failed in the full build. After much hair-pulling and research, it seems I am yet again looking at an OpenEJB classpath modification interfering with JMockit's AspectJ classpath modifications. Guess the two weren't meant to be together...and I'll probably spend an hour or two documenting those facts (and a bug to one or the other) tomorrow.

Saturday, April 9, 2011

The Redesign

I'm looking at a redesign of and finding it a lot of fun to look at the different tools I'll be using.  I plan on making use of Maven 3.0 for my build management, Java for the couple of servlets I need, and I'm thinking about going back to Struts for tile management.  While Struts may be a bit heavy for such a small, mostly static website, I'd like to think that it is still lightweight enough to properly handle content orientation that CSS just doesn't quite cover.

My preference would simply be if CSS could handle div orientation...just give me one sweet little tag for a CSS block element that supports "after" or "before" and I could truly separate content from layout.

Friday, April 8, 2011

Something Useful

So let me get started with something useful.  I had quite a few problems with VM Server 2.1.  As to why I am using VM server, I wanted to locally host a very small, lightweight subversion server, maven nexus repository, and wiki.  The wiki ended up dying simply because I couldn't find one that was easy to maintain, or a real reason to use anything more than organized notes on the topics of research I needed to keep up with.  I just needed a system for the data I wanted to organize in the wiki, and I ended up just organizing my notes properly, but I digress.

I started with using Ubuntu JEOS operating system, which has a full OS install footprint on VM server of around 500 megs, very nice and compact.  I have two of them, statically hosted as "host only" NICs for VM server, meaning my machine can talk to them, but they really can't talk out or be reached to (preventing unwanted hacker attempts and exposing another attack vector into my laptop).  Now, these machines are pretty low maintenance, and I simply turn them off before running a backup of my laptop.  The problem was that I've had repeated headaches with the new VM Server web access plugins, mainly the console doesn't always work from my browser, both FireFox and IE seem to hiccup from time to time.  So, I tried to upgrade from VM 2.1 to VM Server 2.2.  What I ended up doing was hosing the install and having to reinstall the VM Server from scratch.  When I did this, I ended up changing the subnet for the hosts only virtual NIC.

My insight to the rest of the world, and personal lesson, was that reinstalling VM Server very likely will require you to reconfigure the static IP addresses of machines hosted.  Just know it is coming!

Getting Started

Had quite a few blogs, most of them pesonal, some of them rants, none of them actually maintained for more than a month.  Short attention span?  Perhaps, or maybe just not tailored towards a topic I'm truly passionate about.

Let's see how long I keep this one going...