I found out this afternoon that they want me for the job I interviewed for
yesterday. I'm expecting to start on Wednesday. It's a small team of 3 folks
and should be a lot of fun. I'm really looking forward to getting back into
an office environment where I can converse with co-workers and such. After blogging
for the last few months, I feel like the java.blogs guys are my co-workers,
but it's still fun to talk and interact with folks. I never used to like it -
I'd bring my lunch to work everyday, and hunker down like a code monkey the whole time - just trying to get my 8 hours in and get outa there. I'd get annoyed when people would stop to talk about their weekend or other
random stuff. Now I'm going to be that guy - I'd better watch for the
telltale signs of get the hell out of my cube! I wonder if we'll even
have cubes? The floor where my interview was had just cleared out a bunch of
folks - it was empty when I went in there. When I say cleared out, you know
what I mean. Needless to say, there is plenty of space and plenty of computers
available -- it'll be interesting to see what I get.
My last project had horrible machines - NT4 Gateways with 4MB video cards and
about 700 Mhz. And this was last year!! I had just bought a brand new Dell 8100
P4 1.5 Ghz 2 weeks before I started the gig - so you can imagine my disappointment.
And I was running XP at the time, albeit a beta version. But still, I felt like
I was taking a huge step back in time. So I brought in my own Windows 2000 CD
on my 8th day on the job. It all looked to be going pretty smooth (and the install
was about to finish around 7 a.m. - I got there at 5) when everyone started rolling
in. The video drivers weren't compatible and I was forced to humbly call tech
support and tell that how I had violated all the rules. This place at least
has Windows 2000, and I have my Powerbook, so all should be good. I just hope
I can get a dual monitor setup - there's nothing quite so enjoyable.
This evening I did some minimal development on AppFuse. I spent most of the
day writing the Struts Chapter. I'm on page 12 and expect to do 10-20 more pages.
It was fun writing because I described tools that make developing Struts apps easier: Ant, XDoclet,
JUnit, StrutsTestCase, and Cactus among others. I dug in a little to the Testing
frameworks and played with them, but nothing too serious. I can waste many
hours coding and I need to finish writing, then code later. I used 2 very
cool tools today. The first is Canoo's WebTest.
It basically is a framework built on top of HttpUnit that allows you to write
all your tests as Ant tasks. It's fricken sweet as you don't have to really
write any code, and it just worked for me. Check out this
file (XML) to see how easy it is.
The 2nd tool was written by Erik Hatcher to generate JSPs and a resource bundle
based on a Struts ActionForm. I hadn't tried it out until tonight and it
just worked - my favorite feature in any software. The one
area I think I might run into issues (in generating all this code), is when I have ArrayLists of beans on a form. I think Hibernate will
allow this using Sets, Lists and other types of Collections, but I'm doubting
that XDoclet's strutsform task will support it and I don't think Erik's too;
generates nested tag libraries or anything like that. This is unfortunate because
I'll probably get a wild hair up my you-know-what and want to create this functionality.
And there goes my deadline, right out the window. Need.... to ... stay ... focused..!
Lastly, I made an attempt to mavenize AppFuse. It was pretty easy
at first, as you're only required to alter this
XML file to fit your project's needs. I realized I didn't have much as far
as a CVS repository, mailing lists, etc., but I also realized that these would be almost essential to any project. And they'd certainly make things a lot simpler - even on a small team. When I got to the dependency section
(which is what I really need), I sorta gave up. Here's my dependencies and their
presence at the Maven
Repository:
So while Maven looks
great, it doesn't offer all the third-party jars I need. Is it possible to partially
integrate? Also, I found the documentation to be a bit lacking on how exactly
to configure each dependency. Is there a standard naming convention or versioning to rely
on? It'd be great to have a list and possible versions - or even XML fragments you can copy/past. Can we, as developers, contribute nightly builds to the repository? I'd
love to use both AppFuse and Maven at my new project, but I hate waiting on
things to happen. If I can do anything to make the above modules/versions present in
Maven, let me know.