Posted by & filed under WordPress.

Hello out there,
actually I do some upgrades of my blog. Shortly i switched to livefyre (and upgraded it). And yesterday I changed the WP-Theme, finally i’ve changed categories a bit and hope google will not go crazy ūüėČ

The new theme is an addoption of wpbs and is also awailable on github. Is bases on Twitter Bootstrap Framework and you see it, because it is still in default color scheme. But i’m not designer, so i have not much ideas about prettifying such things. Important for me is that Twitter Bootstrap is relative easy to understand and that it bring¬† good typography out of the box. And typography is essential for blogs. Further bootstrap is modern and supports all actual and even not newest browsers ans finally it supports for all kinds of modern media devices too. From now on my blog layout is well suitable for Tablets and mobile phones. Try out! ūüėČ Read more »

Posted by & filed under Linux.

This article provides step by step tutorial of Apache Maven installation. The tutorial uses linux but  can be easy reproduced on windows or mac.


Apache Maven is Software Project Management and Configuration tool. Through it’s bride acceptance in the java-developer community it introduces some kind of unification and standardisation in a structure of java Software projects. Long story short at the end of every build some artifacts (e.g .jar files) are produced, deployed, archived, copied to location here there are referenced and so on. Maven provides basic support for all this tasks. Therefore¬†¬†if you’re interested in professional software development, clean versioning, clear dependency management but didn’t know how to start with maven easy consider to install maven like described here and to understand it by my next article.


I think some command annotation is enough. Pleas feel free to ask in comments if something is fussy.
Read more »

Posted by & filed under WordPress.

In my last post i’ve introduced new comment system WordPress Plugin from Livefyre. Now here is the latest version of it.¬†The latest version seems to bring all the features i mentioned there.


Livefyre WP Plugin v3.17

to Livefyre WP Plugin v3.52 (Can be dowloaded here.)

Now many of new features have to be enabled. Please feel free to test it. Read more »

Posted by & filed under WordPress.

As you might have already noticed, i switched my commenting system to Livefyre. If i got it right it’s relative new but it seems to better for my needs¬†than well established Disqus commenting system. Disqus gained popularity in last two or three years and I tried Disqus some time ago too, but didn’t liked it’s Wodpress Plugin. ¬†Especially i didn’t liked the poor java Script implementation, which was not crawable by google (maybe it’s got better now). Livefyre promise to be SEO friendlier out of the box. Indeed Livefyre WP-Plugin renders all the comments to html, and I saw them ¬†by switching ¬†all the java-scripts off ūüėČ

Additionaly i read many comparisons on that topic, like this one: Disqus vs Livefyte.

Livefyre Features

So let me just depict the features of Livefyre (Look here for details)

  • SocialSync – comment sync with twitter and FB
  • Social Sign In
  • Friend Tagging – you can tag FB or twitter friends.
  • Comment Sharing
  • Comment Liking
  • Rich Text Editor
  • LinkBack – Possible to live backling on every comment you do, wherever you do it.
  • Live Listeners
  • Comment Notifiers
  • Media Embedding
  • Comment Editing
  • User Profiles

UPDATE 12.09.12

Dhara the community manager from Livefyre has pointed me to Livefyre WP Plugin v3 (beta) which should provide all that feature for WordePRess, because now released version is still not good in “Rich Text editor”¬† and “Media Embeding”. I will try this beta soon.
UPDATE 15.09.12
I have installed latest betta v3.52 to this, but nothig has changed to the frondend. See comments.
So please feel free to comment any crap to this post, because i’m still testing livefyre. Let it be comment labor! ūüėČ

Posted by & filed under Java, Software Development.

Apache Camel is a versatile open-source integration framework based on known Enterprise Integration Patterns.

I thing this is enough to decide whether to read or not to read this article. If you thing lightweight Integration framework could be something interesting but you need  further readingo to decide, so maybe the shortest path is to look at  Stackoverflow discussion about what actually Apache Camel is. Read short introduction to Apache Camel with example below.


Apache Camel is java library and engine which is well situated for different Integration patterns. However Camel is not BPMN Engine or ESB but it could be under the hood implementation of such products. Apache Camel is a programers tool for mediation and integration problems. Let’s understand it by looking on the entitiest.


Lets’ start by basic Camel entities: Message and Exchange.


org.apache.camel.Message – is the fundamental entity containing the data being carried and routed in Camel. Massages are contained out of

  • Unique Identifier: of type java.lang.String .
  • Headers may provide some hints about content. Headers are organized as name-value pairs. The name is a
    unique, case-insensitive string, and the value is of type java.lang.Object.
  • The body is of type java.lang.Object . It¬† means that it‚Äôs up to you¬† to make sure that the receiver can understand the content of the message. When the sender and receiver use different body formats you can use a number of camel mechanisms to transform the data into an specific format. In many cases the conversion can happen automatically with pre-defined type converters.
  • The fault flag it is a bit special thing to distinguish between normal and fault returns as defined by some Standards (e.g. WSDL).


org.apache.camel.Exchange is abstraction for an exchange of messages¬† as part of a “conversation”. Below are components of a such conversation, that make this abstraction more comprehensive.

  • Exchange ID
  • MEP a particular Message Exchange Pattern like InOnly or InOut. When the pattern is InOnly, the exchange contains only IN- Message.
  • Exception when it occurs at any time during routing.
  • Properties¬† are similar to message headers, but they last for the duration of the entire exchange also camel may add some properties to a particular exchange.
  • IN-Message¬† or request message is mandatory.
  • OUT-Message or replay message exists if the MEP is defined as InOut. Read more »

Posted by & filed under Java, Software.

This post covers some basic OSGi concepts. Also i’ll present a Tycho buildable example of service definition in declarative approach. Next article will cover OSGi Blueprint DI container. Also look here for more complex tycho example.

Why modules

Breaking a system in modules is a very important architectural task or even a methodology. Remember  the Separation of Concerns (SoC)  principle [1, 2] and consider better system maintainability by enforcing logical boundaries between modules. This  and other aspects explain the growing popularity of OSGi technology in the past years. Since OSGi is very popular today (Nearly every modern Java Application Server and IDE is based on OSGi platform) it is worth to be familiar with it.
Read more »

Posted by & filed under Java, Software.

Modern oracle jvms (java 1.7, java 1.6) are¬†bundled with couple of tools that allow watching to the heartbeat of your jvm during the run-time. One of the prominent is of course VisualVM which evolves even independently of jvm releases. If you didn’t used it before try right now. VisualVM¬†allows relative deep analysis and its comprehensive enough furthermore it’s open source tool.
However¬†it reaches limitats when you have to work with java version prior to 1.5. (in a real world sometimes thing changes slowly ūüėČ Also it’s often the case that its not easy to connect over RMI remotely to productive machines, therefore its never a bad thing to be familiar with console tools modern jdk and jvm’s providing. Furthermore console tools are often very handy, focused on one or few tasks, they are low resource consuming and you can build chains of such tools¬†and reuse them in your way. So let’s look on them.

Read more »

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

This post shows how to clean JPA entities out of Persistence Context overhead when you need to use them outside of container, serialize them and send them over RMI,  SOAP and other protocols to another JVMs.

The Problem

You may found yourself ¬†in a situation where ¬†you don’t have DTO’s, ¬†there existing object-graph ¬†is a bit wide-spreading ¬†but you need to use entity objects outside of the managed scope. So where is a problem? In case of Hibernate first problem appears is huge ¬†object footprint you’ll have to serialize by default ¬†even if you send just one detached entity. I found that at some circumstances nearly the whole Hibernate Context is still connected to your detached entities. If you serializes such an huge but useless object graph every time, you ¬†slows down your client, ¬†last your ¬†network, creates huge RMI/Web Service marshalling overhead, ¬†wastes client memory which even can provokes out of memory problems. ¬†All that you don’t need in your application.

Different Solutions

So how to avoid this? We need a simple way to purify given entities at “low cost”. Which means the solution ¬†has to be simple for developers, with minimal boilerplate code and also performant at ¬†run-time. ¬†The output should contain ¬†clearly detached and as much as possible purified entities. It’s very important to cut any possible references to technical baground object of (hibernate) persistent context.

Before you start you have to be clear about  that such cleaning makes sense only outside of  transaction scope. Then at the end of transaction all participated entities have to maintain their persistent state, so of course they cannot be detached before that point. Otherwise detached and pruned entities cannot be persist by entity manager anymore and have to be refreshed first.

However you don’t have to weak transactional behavior, just do cleaning outside of transactional scope. In container managed transaction environment it simply achieved by annotations.¬† Read more »

Posted by & filed under Linux, Software.

This post was began for more than a 2 years ago and because i was to busy to finish it. But now here is it, better late than never.

The Goal

The goal is simple. There is a need of having a central storage of shared and private documents for small (rarely changing) user group. We have windows and Linux PC that have to access this centralized file storage. A user-friendly access as well minimum of maintenance are also goals here. Furthermore base level of security is a goal here as well.

However the peresented configuration as I think is quite suituable for private use, small working groups and even kinds of small businesses.

The Solution


It think it’s not a bad idea to have two different data spaces: private and shared. An this separation leads to simple rules of usage:

  • Every user can read own documents and documents of other users in the shared place.
  • write and delete is only permitted in user’s private directory.

Read more »

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 »