Posted by & filed under Software, Software Development.

This post is attended to everyone who is creating Java applications with Eclipse Rich Client Platform. This article describes a working tycho configuration on working project (demo) project. That project can be build fully automatically with tycho on your CI server e.g. Jenkins.
If you have developed Eclipse RCP, you maybe also come to the conclusion that PDE-Build out of Eclipse IDE is not really an apropriate and stable way to build serious, production ready applications. But also automatization of PDE Build was not straightforward task, and a such is still not well documented (IMHO).
Furthermore maybe you heard about some alternatives like buckminister approach or athena. There is also a couple more approaches, but my focus yet is on tycho because i believe it has bright feature.
So again this post describe kick stat tycho approache the next topic may cover, artifact repository, CI Server or, advanced tycho tasks, fill fre to comment…


Let me introduce tycho in few words here. Technically tycho is a set of maven plugins. But let it be said at the beginning, tycho tries to use all the eclipse PDE/JDT metadata first, everywhere it’s possible and therefore one of the goals of tycho project is to minimise configuraton duplication in maven artefacts. I try to show how this works on a working example.

But first here is the self-speaking list of tychos packaging types, i will covers here some of them more detailed.

  • eclipse-plugin result in Eclipse Plug-In bundle
  • eclipse-test-plugin result in a test Plugin
  • eclipse-feature wich eclipse feature as Result
  • eclipse-application builds Eclipse Applicaton
  • eclipse-repository builds repository an executables
  • eclipse-update-site responisble for update-sites

Tycho current release is 0.13.0 and is used in my example.
Read more »

Posted by & filed under Linux.

Looking on my block at the end of the year i see than nearly two years ago i wrote about extracting archives under Linux but not about putting files in to archives. Now a have some time to continue.


Here are some common way to create your archives.

#Creates simple targetfile.tar without compression.
tar cvf targetfile.tar sourcedir/*

#Zip everything beneath sourcedir to targetfile.tar.gz
tar cvzf targetfile.tar.gz sourcedir/*

#Bzip2 everything beneath sourcedir to targetfile.tar.bz2
tar cvjf targetfile.tar.bz2 sourcedir/*

Parameters explanation:

  • c  or –create create a new archive
  • v or –verbose  verbosely list files processed
  • z or –gzip  usage of gzip compression (or also decompression, context dependent)
  • j or –bzip2 usage of bzip2 compression
  • f or –file  use archive file

Alternative with pipe usage:

tar -cf - sourcedir | gzip -c > filename.tar.gz


Some examples

#Zip every file in current directroy to
#But hidden files like (.htaccess) are not included.
zip sourcedir/*

#also includes hidden files.
zip sourcedir/*.*

The above examples include directories but still not their content recursively, -r option is required.

#Adds all files and directories recursivly.
zip -r /sourcedir/*

#Same as abowe with addtional enryption and password lock.
#Password is prompted on the terminal.
zip -re /sourcedir/*

#Splitts creted archive to parts not bigger than 2 Gigabytes.
zip -s 2g -r ./*

Hope that helps someone.

Happy new year!!!

Posted by & filed under Linux, Personal, Software.

This is a short step by step explanation of the setup of JBoss 7.0.2 on your Linux (explicit debian). Nowadays there is still no official Debian package for JBoss 7 out there, so we have to do a couple of steps manually.  First i describe how to download and to prepare the jboss. Secondly we do some basic configuration that you’ll be needed and at the end i will show you one of the ways to register JBoss as a service.

1. download and prepare.

Start by download  currently available version (7.0.2) of the JBoss 7.

#Web Profile version download.

Extracting files to the final location using tar.

Read more »

Posted by & filed under Java, Linux, Software.

Here is just an example of how to install java 7 on your linux.
I use current Debian and oracle (former sun) java 7.

First i had to download the latest java from oracle site and then extract it. I have to do it because at the moment the is no official debian package for java 7.
So we are not able to do it with apt-get as we can it for java 6.
Read more »

Posted by & filed under Java, Personal, Software, Software Development.

What is your favorite Free or Open-Source UML Plug-in?

Every year i try some of them and  remove them after few hours. As i remember, they where resource-hungry or just bad in reverse engineering

Some weeks ago i tried ObjectAid UML Explorer Class Diagram and liked it. It could quick and easy create simple class Diagrams – just by Drag & Drop. And i had no problems with static constructors or inner classes and other stuff in the code which causes problems to another Plug-ins.

Unfortunately Object Aid Sequence Diagram are not free but cost not much for private usage. Maybe i’ll try it soon.

But first i would ask you what is your favorite Eclipse IDE Plug-in for fast and easy (e.g. partly) revers engineered UML diagrams which can be used to show some architectural details to your colleagues?

Thank you for comments!

Posted by & filed under Linux, Personal, Software.

The pictureon the right (klick to enrange)  shows  how Ubunto boot process is going on my 5 years old Thinkpad T60. Bootchart utility does such charts automatically. If you interestiong how easy it it to enable such bootcharting read below.

Installing bootchart

See how to install bootchart logger on ubuntu, and other linux distributions.

Yo need bootchart and, pybootchartgui

apt-get install bootchart

apt-get install pybootchartgui

Read more »

Posted by & filed under Linux, Personal, Software, Software Development.

I want to share with you some thoughts on GIT because I think that was a right invention to the right time and place.

(This article should be finished half year ago right after i wrote about svn server installation, but unfortunatelly i didn’t find any time to finish it untill now.)


My first version control system (VCS) was CVS and i used it with eclipse 2.0 for programming in java. I found CVS quite impressive and liked it a lot. It was also quite reliable and moderatelly fast.
Then someone at the university told us to use SVN, because it has “plenty” of advantages. Somehow i found SVN not bad even if the eclipse svn plugin quality was never quite good. However SVN matured  and became powerful source control system and many many people and companies started using it. I think it’s the most used version control system.

I like SVN for easy branching and tagging (with good eclipse plugin support), for global version numbers, for understanding “http://” (with Web-Dav) as well as for more comfortable managing tools and easy installation and configuration.

But that’s all what i like… There is no more practical advantages over CVS and moreover there are even some disadvantages also in comparison to cvs.

  • SVN is slow and double slow over HTTP. It may not be critical if you do your changes on several files and them commits ‘em. I’m doing so in my  java project and it’s ok. But there could be also other scenarios e.g. if you deal with such “monsters” like magento, performance gain very fast on importance ;)
  • Folder movement is a nightmare. With the subversion you have to know what you do when you start move around your folders. ;)
  • Ugly .svn folders in the folder tree of your project. O course cvs had them too. But do we really need them? Sometimes i just wanna to copy my project tree without that stuff.
  • Not closed connection (don’t know if it is an server or eclipse plugin bug). Sometimes svn commits leave not closed connection. Eclipse hangs. :(
  • SVN consumesa lot of space, more than cvs local and on the server.
  • You need to be online if you want to commit.

All of these disadvantages i mentioned above are fixed in GIT. Git is much faster, flexible. So let  install it! Read more »

Posted by & filed under Java, Software Development.

This post visualizes changes between Java EE Standards 5 and 6. The comparison of standards is listed in four sections Web-Services, Web-Container, Enterprise Application technologies and Maintenance. Hope this helps someone.

Web Service related changes

Java EE 5 (JSR-244) Java EE 6 (JSR-316)
JAX-RPC 1.1 JSR 101 JAX-RPC 1.1
Enterprise Web Services 1.2 JSR 109 Enterprise Web Services 1.3 (new version)
Web Service Metadata 1.0 JSR 181 Web Service Metadata 1.0
Streaming API for XML 1.0 JSR 173 Streaming API for XML 1.0
JAX-WS 2.0  JSR 224 JAX-WS 2.2 (new version)
JAXB 2.0 JSR 222 JAXB 2.2 (new version)
SOAP with Attachments API for Java (SAAJ) JSR 67 Java APIs for XML Messaging 1.3 (new version) spec
new! JAX-RS 1.1 JSR 311
new! Java API for XML Registries (JAXR 1.0) JSR 93

Read more »

Posted by & filed under Linux, Software.

Today i describe the few steps of installation of subversion (with repository) on Linux (Debian lenny). That description show the installtion proccess in 5 steps. And the configuration of Apache Mod-DAV as additiona information. So let’s start.

Step 1: Install subversion

If subversion is not installed, install it with:

$apt-get install subversion

Read more »

Posted by & filed under Linux.

Today i’ll give you some interesting examples of using lsof command.

lsof stands for “list open files”. So actually it shows all files used by some processes of a system. That command exist on most of and on different Linuxes and Unixes.
It bases on architecture of a kernel which causes evety procces to hold it used files in /proc – (a virtual file-system).  A typical hierarchy wold look like:

/proc/process id/fd/file descriptor

In the absence of any options, lsof lists all open files belonging to all active processes of a system. But that is to much for most cases, because many of cases are networkrelated. An if you consider that sockets are files in linux we can use lsof to search fo them. Read more »