Monday, 30 April 2007

The Ideal Java Development Environment - Post 1

Starting a new job in a few weeks, my mind has slightly been drawn to what is the quickest way to setup a fledgling company with a stable build system and a structured project and development lifecycle for Java.

Now many of you will be very observant to note that I have tagged few big issues in that first paragraph. Yes, that is the problem.. or the focus of my attention for a short number of days (what, he's mad, setting up something in a short number of days).

So where do you start ?

My new company I am working for primarily exists to raise funds for charities, technically we are not non-for-profit, because it is not 100% of profit which goes to the charities, but let's just say it is more that 40%.

So .. costs are critical, we need to keep them fairly low, and software development certainly sits at the high end of draining resource (money).

Of course being a major supporter, user and contributor of Open Source, it will sit majorly within the realms of my new job.

At a brief glance, these are the items for which I either (a) know intricately and will bring to the table, or (b) know I need to look at them.

So lets start shall we, here is a quick run down of items I will either be using, or will investigate ..
Build and Development
  • Eclipse - (for many years now)
  • Maven 2 - Without a doubt
  • Subversion - goes without saying
  • Continuum - (CI - Continuous Integration) - Would love to use Bamboo (atlassian)
Some things I want to take a look at (suspect they may be of benefit)
  • Bamboo
  • Buildix (ThoughtWorks Out-of-the-Box of all the above)
  • Tracs (it's in the Buildix platform)
  • Artifactory for Maven - Definitely a Winner here
Some standard "stuff" I will always add to the Java projects
  • Checkstyle via Maven
  • Maven Site Build (customise it)
  • Spring (Security, JDBCTemplate)
Some stuff I will certainly look at
  • Maven Dependency Graphs http://philhoser.blogspot.com/2007/01/dependency-graph-for-maven-2.html
So that is a brief list of items that will form the new "bucko" workshop.
I'll keep you all updated on this as I grow this area.
There are a few things I am missing there, but I'll keep you all posted on that front.

Oh, one last thing I do want to add it, when the team becomes >=2 developers.
and that is hooked up to the CI .. build notification.

A lot can be said on this topic. Here is a place for it.

http://www.pragmaticautomation.com/cgi-bin/pragauto.cgi

I have seen a whacky lamp at a lighting shop in Balgowlah, hideous. $100 or so .. and it would be great to "turn" it on, when it all goes bad. It's a foul looking angel on the back of a dragon. Perhaps the ubiquitous (sp?) lava lamp will do.

I will post the steps I take in the next few postings to detail what I setup. But It wont be for a few more posting yet because I am still with my current (and fantastic employer) so need to be honourable there.

Aargh ! Letting Others 0wn U

Having a few issues with the blogs lately.

Hopefully this can be the last place of my blog. The blogger.com / blogspot would not let me migrate the old account across to my recently heavily used gmail account.

So I have ditched the old in favour of the new.

Sunday, 18 March 2007

Installing Ubuntu Server 6.10 on Dell PowerEdge 2400 Server

After much pain in trying to start the install, I was finally able to get the install underway.

What was the problem ?

I have 4 disks (2x 9 and 2 x 18G) and the installer was not recognising the logical disk that I setup on the RAID array (2 x 8 as one, RAID1 or 0)

What was the "possible" solution ?

Apparently it is a common found problem with these MegaRAID adaptors.

Essentially I2O is a specification used in these RAID arrays.

Personally I don't care too much, I just need my server running.

Apparently, the i2o module (i2o_core) for linux loads up first and then the megaraid module can't find the disks when it loads.

A few people found ways around it by manually loading the modules in the right
order (RHE, Fedora).

My answer for Ubuntu 6.10 server:

I found a tip on the RHEL "release" notes for RHEL 5 beta 2.

http://www.linuxcompatible.org/Red_Hat_Enterprise_Linux_5_Beta_2_s76179.html

It states: Change the megaraid mode from I2O to Mass Storage.

I did that .. (Ctrl-M when it pops up) and then went back through the install. No problem.

I can see my 9G and then also my 2 x 18G's.

Nice.

Thanks Red Hat. (Sorry I left you at RE 4.2)

Monday, 8 January 2007

Java and Schema Generation

You'd think that generating an XML schema from a set of Java Classes would be a simple thing. But gee it is hard.

I have spent the better part of four hours and three coffees pouring over the inner workings of the JAXB 2 SchemaGenerator classes. Odd stuff this, I know I am close because I have it working for simple types, but I am trying to work out how I get it to handle a complex map of objects. Hrmm..

[[ Edit ]]

I did work it out in the end. It was horrid code, in that there was so much of it which I suspect means that I didn't have it right. (it does do what I needed it for though so, close that door).



Saturday, 18 November 2006

Thoughts .. Moving away from the DB

This is often the topic of an OO developer. How do I distance myself from the database platform, but not lose, and only gain, as would be the goal.

So I want to not have to rely on a DBA.. I mean, whay have two models. One for the database and one for the code.

The problems I still see are

- Invested expertise in DB coding (SQL sprocs etc)

- Speed of Batch processing. (one of these days Im going to bench mark some hardcore processing and see how I can get the same performance from a platform)


Client requirements, speed, experience dictate that we are tied to the RDBMS, Oracle, DB2, Sybase, SQL Server, great platforms. I myself have extensive experience in knowing how to get the diamonds out of the Sybase Parser, but not practising that black art any more I often wonder what my next "personal" project architecture would be.

James Strachan mentioned to me the other day how cool it would be to have XPath (Xquery) on top of Jaxb2. That is a cool thought.

The XML Content repository JSR-170 is a good read if anyone ever thinks of an XML database :-) that is essentially what it is.. I will certainly look at it again as a thought.

Current 5 booksmarks @ del.icio.us/pefdus