October 27, 2005

Back in the saddle

I have been working at the new company for about 4 days (I did NO coding/design/headwork during my vacation). Luckily, they want me to do what I am good at. Right now it is working with maven.

Yes, I still hate Maven. I also think that it is where we are going to go for at least some of our projects. Maven 2 has been released, and I am now extending it's eclipse plugin. I want it to learn how to update a .classpath, and how to include src and javadoc resources when building a .classpath from a POM. I am hoping that this will get around what we consider to be weaknesses within both eclipse and maven.

While doing this, I am making use of the plexus toolkit (because maven already uses it). Excellent toolkit. I would do some things differently, but I was able to get used to it in 1 day. It is going to become part of those files that I carry around with me from project to project and job to job.

After I get this all finished we will make a decision about how much farther to go with maven. Right now we are just going to go with standardizing resources every developer needs to be able to find. This means that some developers will have to do things differently, but I am NOT the person who has to enforce Best Practices here.

It is so much fun working with a crew of really bright people again. I swear, I haven't worked with a crew like this since I got my dream junior programmer at Nasdaq.

Posted by liz at 01:18 PM | Comments (0) | TrackBack

October 12, 2005

Changing spaces

Today is my last day at Company M. I am taking a week or so off to relax, knit and work on the 3 opensource projects I am committed to. Sometimes I wonder how I managed to persuade myself that I could actually work on 3 projects in my copious spare time. Especially seeing that my pair programmer for the big one just moved across the country from me. But, that isn't what I am blogging about.

What I am blogging about is Maven2. I am one of those fanatic maven haters. It bit me in the ass when I first started here, and I (with company blessing) took all the code OUT of maven. Actually, there are pieces of maven I like, mostly the war and jar plugins. But, they aren't worth the maven workaround.

I am a software nazi. I believe in a standard build structure. Unfortunately, my standard build structure is not the same as maven2's standard build structure. m2 has a tree that starts as src/target (fine so far). But src then splits into main and test. Then both of these break into java and resources. It just lost me there. I think that the use of main adds complexity. Mine starts as src/test. They both then split into java and config. I could rename config, but I think that it is actually more descriptive than resources, which has a very specific meaning in java. Both are perfectly acceptable build structures, but I don't want to user the main style build. I could (and might) change my build to mirror the m2 build, but I am still not sure how well it would work.

I am also still working on adding a ruby on rails project inside a project.


What I loved maven for was the ability to pull jars/poms from ibiblio. I am going to look at ivy next week and see if it will work to pull my dependency tree instead. If it does as good a job (or better) than m2, I will stop thinking about m2.

BTW, one of the things I HATE about m2 is that it STOPS pulling all the dependencies and chokes the minute it needs to use a sun library.

Posted by liz at 11:29 AM | Comments (0) | TrackBack

October 07, 2005

New Company

I just signed an offer letter from another consulting company. I know some of the people in the new team, but I really have no idea what sort of project I will be on. I do know that the new company has redesigned their teams around Agile processes.

This happens at just the right time. My main quickstart is well tested, I start the administration piece of the authorization software today. The company I am working for has no projects that fit me well. I am not sure if they have ever bought into OO, much the less java, .NET or agile processes. My beloved manager has moved to a new job in a big (non-consulting) company that will be perfect for him.

Bill (the manager) and I will continue working on the quickstarts, and the business objects that started this whole mess. They will be opensource. First release (probably just the quickstarts, the common jar and the authorization code should be ready to roll by November.

Posted by liz at 09:28 AM | Comments (0) | TrackBack

September 29, 2005

Embedded Firebird and the new Spring testing classes

I have moved all of my Spring Dao tests from a roll your own test framework to one that is based on spring's
AbstractTransactionalDataSourceSpringContextTests
(a classname that is just too damn long and I will never remember). These tests (and some others) are in the spring-mocks package. Really nice except for a few issues I am learning to deal with (mostly the fact that transactions are never committed unless you force the issue). No problem with the sanity tests, so I decided to try the authorizationDao from some classes that are getting major refactoring).

This dao needs a lot of data to be in the database (this is the project that is going to use ruby on rails to fill the database). I (like most people) have used dbunit to put this data in. Part of setup. Well, setup and onSetup are final for this test - so I moved the dbunit setup (which had been in a static initializer) to onSetUpBeforeTransaction. All of a sudden my tests were not failing - they were going into some weird state and I had to kill eclipse in order to close the database. But, as soon as I moved the database to local (from embedded) everything went just fine.

I think that we had deadlock on the embedded firebird. My cure for this now (other than giving up on the spring class and rolling my own which would happily use dbunit) is to stop using embedded firebird and call through local. I still might roll my own, but it depends a lot on what else has to be done in the next two weeks.

Posted by liz at 01:36 PM | Comments (0) | TrackBack