Home IT: Backup

I have to say I am quite serious about losing any bit of my data. It was a time when I backed up everything, including the web-browser history: actually I have dropped this practice only when I realized that every of my tar.gz files overgrew the standard DVD size and that a half of the data I stored didn’t worth it at all.

There is however, a lot of important stuff I’m backing up regularly: projects, documents, Basket notes, emails and so on. A long ago, I have developed a custom automated backup procedure that has been greatly improved with the help of a dedicated server in my home network. The solution is simple, based on standard Linux tools and works perfectly for me.

RDFBeans 2.0

The second edition of RDFBeans Java-to-RDF databinding framework is finally out. In 2.0 version the library underwent major refactoring to clean and enhance the API and provide new databinding techniques.

RDFBeans is an open-source object-RDF databinding and persistence library for the Semantic Web development with Java language. It provides a framework for mapping an object-oriented domain model to RDF resource descriptions.

For more information, see:

See what’s new

Nepomuk-KDE with the Sesame backend

There is a helpful article on how to make Nepomuk a lot faster by switching its default storage backend to Sesame2:

Pimp my Nepomuk

Simple RDF data binding

A large part of SW development is representing the information as RDF for persistence and interoperability. It’s usually done with lots of the glue code to map the programming object model to RDF triples and vice versa.

Compose key magic

There are some amusing things in Linux which are hard to discover because they are invisible. Entering Unicode characters and sequences with a Compose key is one of those hidden features which can make user’s life much easier.

Custom ClassLoaders: The Black Art of Java

Java is great platform for component development but there are some odd and counterintuitive things on the way. One of these hidden pitfalls waiting for a developer who is going to replace default system ClassLoader with a custom one.

How to make a shortcut for Memoranda in KDE

Because of its crossplatform nature (“run anywhere”), Memoranda has no default “installer” to be embedded into user’s desktop environment automatically. But it is pretty easy to integrate it into that environment. Let’s see how to do that in KDE case.

Using “win-key” in KDE

It is nearly impossible to buy a PC keyboard without a key with the flag icon, which is usually referred as a “Win-key”. It is, of course, a question if there are any logical reasons to stamp a particular private OS logo on a universal hardware, but I am not going to discuss it right now. Instead of that, let’s see how to use this additional key for improving Linux user productivity.

Getting new mail onto the desktop

I had nice last weekend gathering new harvest of apples, drinking fresh apple juice and playing with SuperKaramba widgets – a good opportunity to take a sort of “recreational programming”. Perhaps all modern KDE users know those nice resource eaters eye-candies which are living right on the desktop surface and displaying the clocks, calendars, weather forecasts, system monitors and so on.

Instead of developing some Yet Another Big Animated Clock, I decided to write something practical. What I’d like to have is a widget which would ask my e-mail client (KMail) for the headers of the latest unread messages to show them on the desktop.

[Tips & Tricks:] Required text fields in Swing


This article starts a “Tips & Tricks” serie of “Chronicles” which is a result of my comeback to heavy coding. The posts in this serie are the bits of coding experience, a small inventions and solutions which every programmer does everyday. Read the latest Tips&Tricks in Technology::Coding category.

Swing dialogs by default have no idea about “required” text fields, that is the fields which should be filled to perform a task. In this article I suggest a simple way how to automatically highlight the fields which have to be non-empty.