Friday, May 04, 2007

Spring Rich Client Platform: PetClinic

I'm already decided to use Spring IoC in MR7. What I'm considering is Spring RCP. The motivation is to build the UI tier faster and also Spring RCP provisions - components and included/integrated libraries like JGoodies.

Althought here and there you can find some blog post describing how to start with Spring RCP, it took me some time to run PetClinic, so you might find this description useful...
  • Prerequisite: Subversion client
    Download Tortoise Subversion Client for windows (or your favorite one).
  • Checkout Spring RCP from the Sourceforge repository
  • Build the project
    • Download and install Maven 2 (configure your PATH environment variable to run mvn from anywhere).
    • Change to the root directory of the Spring RCP checkout (in our example it is c:\spring-rcp)
    • Run mvn install
    • ...now you may get a cup of coffee ;-)
    • If a repository item is not available (might happen), run mvn install again and again until it successfully finishes.
  • Run PetClinic (standalone)
    • Presuming that you are Eclipse developer...
    • Finish Maven2 installation by defining Eclipse classpath variable M2_REPO.
    • Go to Eclipse menu/Window/Preferences.../Classpath Variables. Select New... and create M2_REPO variable. It will point to the directory like C:/Documents and Settings/[user name]/.m2/repository
    • Let Maven2 create Eclipse projects by running mvn eclipse:eclipse in the root of the project (c:\spring-rcp).
    • Import projects to the Eclipse. Go to menu/File/Import.../Existing Project Into Workspace/ and select root directory (c:\spring-rcp). Eclipse will find several projects - import them all.
    • In package explorer open spring-richclient-petclinic-standalone project, find the package src/main/java/org.springframework.richclient.samples.petclinic.
    • Run PetClinicStandalone class by right click and Run as/Java Application
    • When you will be asked for username/passwd, just click Cancel.
    • And that's it ;-)



Documentation:

Labels: , ,

Thursday, May 03, 2007

AndyC @ Roxy Prague

Big shot to AndyC! I'm looking forward to this event for more than two months... and as usually - anytime I bought a ticket / rearrange my schedule / the action is not spontaneous... I'm down (fighting angina) :-Z



Anyway, I will be there because I can not help myself. I have seen Andy live several times - I still remember the set he used to smash Roxy 2 years ago. I really like RAM stuff (although sometimes it is a too hard for me), so Saturday is going to be BIG.

And that's not enough, Andy will return two months later and I guess that he will play something completely different, not too much RAM, expecting set similar to the One Nation 12/31/06.

Now let me finish my nano fight ;-)

Labels:

Wednesday, May 02, 2007

Mindraider7: Complete Rewrite

As I described in my former start over post, the pause in the MR development was very useful for me. In the meantime I flirted with several technologies/specs (Spring, Hibernate, XML Beans; ASF/APP, SKOS) and finished couple of projects . Finally I found distance and determined that further improvements of existing code would be inefficient. Therefore I decided to completely rewrite MR in order to achieve remarkable improvement. There are two aspects of this decisions...

Functional architecture: MR is about cognition gathering and correlation in a way that enables you to find what your are looking for extremely efficiently (following SW and brain paradigms). As my personal mind map grows (hundreds of concepts), I see lack of features allowing to efficiently navigate and search the map. Although I know what I'm missing, it would be problematic to implement these new features on top of the existing MR technical infrastructure.



Technicall architecture: former MR releases (up to version 0.512) primary purpose was SW technology trainer. I didn't pay enough attention to the architecture - it was monolith with extremely complex dependencies (and initialization) that have large memory footprint and big portion of dead+undead code.

I fall in love with Spring (dependency injection container in particular). I hope the create nice declaratively described component architecture (avoiding singleton and factory patterns). I want to design independent presentation and repository tiers. Thus I would like to get filesystem, but also RDBMS and remote repository variants enabling to perform complex searches and views of the mind map maintained by MR.

The source code is mostly 1.4 (obsolete), I want to incorporate most of the 1.5 features in order to make it concise and efficient. And much more :-P

It's also your turn...

It's the right time for new ideas, features and also technical architecture proposals and suggestions. I'm looking forward to your feedback and criticism.

And last, but not least... if you want to join me and you are coder (java 1.5 developer, familiar with Spring (ideally RC), Swing and SW specs (RDF & comp)) or graphic freak, I'm looking forward to mail from you ;-)

Labels:

Tuesday, May 01, 2007

Klute @ FabGroove Show // BBC Radio 1



I'm listenning to the Fabio/Grooverider Radio every week for about 3 years (having log of that ;-). For me this is cool opportunity to determine what is going on in dnb. New releases, even white labels, interviews with the artists by guys who live in the scene.

This week Fab invited one of my favorite artists. Klute is dropping great tunes for quite a long time. I discovered his music when Klute founded his label Commercial Suicide. I already have both Lie Cheat & Steal and No One's Listening Anymore releases (double CDs). His sound is like... soft... liquid funk stuff which (sometimes @ the last album) sounds even like dub step. I have been already listening to The Emperor's New Clothes and like it much. Looking forward to get it - London 2 Prague, will take it few weeks...

Labels:

Monday, April 30, 2007

Let Me Start Over...

MindRaider project seems to be dead, this blog seems to be dead, ... and what about me?



Sometimes it's time to work hard... sometimes it's time to take breath... sometimes it's better to let blogs, projects and ideas asleep in order to get your head out of the swamp, look around and make your mind... sometimes it's time to start over.

This blog wont be no longer focused on the technology only. While seeking balance in life, I'm going to ramble innovation, gadgets, corporate life, music, running, technology, society, and more...

The time is now!