Friday, February 17, 2006


Currentrly application is down waiting for new improved version. Something has happened with previous version so some latest messages were lost. I'm investigating what happened and will post updates.

Update: Application is up and running again. No data were lost.

Monday, February 13, 2006

Wednesday, February 08, 2006

Tuesday, February 07, 2006

No More JSF

Previous: Hosting

For just one day I rolled out new HTML component-based presentation layer instead of JSF stuff I was unhappy with. The code can be found in CVS.

I will post more description - just express your interest.

Next: Plan for Iteration II


Previous: Persistence

I needed hosting for my newly created app. I researched and for Java hosting providers and decided to try RimuHosting. Must say their support is great. They answer every question I have, even more they do admin work even while I'm not asking! So if you want to do something by yourself you have to stop them haha!

If you will decide to try their service - remember to include "Recommended by Denis Krukovsky" on their sign up form so I will get some discount for hosting this app.

Next: No More JSF

Experimental Persistence Approach

Previous: Live How to Write Software

I just published an introductory article on persistence approach used in How to Write Software. Welcome read it to get an idea on how persistence works here.

How persistence actually works?
On new message creation, UI passes request for new message creation to MessageRepository, giving it MessageSource it uses to create Message from. MessageRepository creates new Message and gives it MessageSource and StateSource. Message asks StateSource for its state and gives it MessageSource. StateSource creates MessageState, records it into db, and returns it to Message.

Another way Message can be created is from persistent state. When asked for a list of messages it asks MessagePersistence for list of message states. It then creates new Messages giving them state returned by MessagePersistence.

Currently code has no StateSource and its role served by MessagePersistence. This is an opportunity to refactor!

Next: Hosting

Monday, February 06, 2006

"How to Write Software" Now Live!

Previous: Iteration I Phase II Finished

I got everything up and running. The application, with persistence layer and brand new web presentation layer, now live at (update: correct URL is

Next plans - move code from articles to CVS, and write on how did I get here.

Next: Persistence