MyProgWriMo – Day 15 – Reset

So I have been working on my project, but Tapestry has been kicking my butt. I have decided to step back and reset. I have useable DAOs and crappy DTOs and not much else.

So I am resetting. Grabbing the code that works, dropping Tapestry (the documentation on the IoC container and testing is not great) and going back to basics. Hibernate, Spring, Sitemesh…

, ,

1 Comment

MyProgWriMo – Day 2 – Lessons Learned

This is going to be harder and easier than I thought.

So Tapestry supplies its own IoC container, so no Spring at this point. Also there is a nice Hibernate integration, so I am starting to mess with my entities and figure out the needed annotations.

Maven profiles seem to manage the different configuration aspects of my application such as properties for development versus a Hudson build. So I can find it in the future, here is the profile snippet for development with a in memory database:

        <profile>
            <id>development</id>
            <properties>
                <hibernate.dialect>org.hibernate.dialect.HSQLDialect</hibernate.dialect>
                <hibernate.connection.driver_class>org.hsqldb.jdbcDriver</hibernate.connection.driver_class>
                <hibernate.connection.url>jdbc:hsqldb:mem:autoblog</hibernate.connection.url>
                <hibernate.connection.username>sa</hibernate.connection.username>
                <hibernate.connection.password></hibernate.connection.password>
                <hibernate.connection.pool_size></hibernate.connection.pool_size>
                <hibernate.connection.autocommit>true</hibernate.connection.autocommit>
                <hibernate.cache.provider_class>org.hibernate.cache.HashtableCacheProvider
                </hibernate.cache.provider_class>
                <hibernate.hbm2ddl.auto>create-drop</hibernate.hbm2ddl.auto>
                <hibernate.show_sql>true</hibernate.show_sql>
            </properties>
        </profile>

, , ,

No Comments

MyProgWriMo – Iteration Zero Complete

Many agile folks will talk about Iteration Zero: the stuff you have to do before you can do stuff. Mine is complete.

Yesterday (11/1) I:

Today I have a light load (since it falls to me to feed the wife). I want to get my first page to render in Tapestry and continue research into the elements I will need like custom dispatching.

, , , ,

No Comments

NaNoWriMo, meet MyProgWriMo

My wife is, for the second year in a row, participating in NaNoWriMo, the National Novel Writing Month. In a effort to leech off her enthusiasm and not distract her by watching House reruns I will be doing MyProgWriMo, My Program Written in a Month.

The plan is to write stories that capture the work to be done in a month, hold one week sprints to execute stories, and release a functional (if not pretty) program at the end of November.

This is the first time I have tried a time-boxed activity like this, so we will see what happens. I will attempt to blog about the experience, but will focus on completing the stories first.

I decided to focus on Java development for this project. I have not done any serious Java programming in YEARS, so I needed a problem set that I understood well so I could focus on the HOW instead of on the WHAT.

SO, here it is. In one month I plan to write (with tests) a blogging platform. I know! Its so cliche… But I understand the issues and there is lots to learn.

Now, no one just writes Java code anymore (or so it seems) so I will be using some tools along the way. Hibernate (duh) will be used for persistence. Spring (double duh) will be used for IoC. I am thinking about Tapestry for presentation, but I have not gotten that far.

Stay tuned, boys and girls. It should be a wild ride.

Oh, and why didn’t I choose Grails? I am pretty sure I can do this all in Grails. I want to know I can do it in Java as well.

, , , ,

No Comments

Announcing Toolbox

I have just released a 0.1 version of Toolbox, a simple command for managing version of Java tools and frameworks.  See the project page for details.

, ,

No Comments

This website uses a Hackadelic PlugIn, Hackadelic Sliding Notes 1.6.3+.