06
Jul 11

Missing title bars in Ubuntu 11.04

On my notenbook running Ubuntu 11.04 from time to time all windows loose their titlebar. I can restore them with the following command:

compiz --replace

In some forums it is also mentioned that

compiz-decorator --replace 

should also be executed, but or me this was not necessary.


11
Nov 10

Fixing installation problem with nokogiri gem : libxml / libxslt is missing

The Nokogiri gem native extensions require libxml and libxslt. If you get an error like “libxml / libxslt is missing” during installation install the development packages for those libs. On Ubuntu do:

sudo apt-get install libxml2-dev libxslt1-dev


26
Aug 10

Debug NodeJS Applications with Eclipse – fix segmentation fault

Node.js is an evented javascript I/O framework using Googles V8 JavaScript engine. In the NodeJS wiki there is a good article on how to use Eclipse as Node Applications Debugger. When I tried it, node stoped with segmentation fault as soon as the debugger connected to the process. The fix is easy: set GCC_VERSION=44 before running make during node installation. Viola, it works perfectly.


04
Aug 10

Thunderbird 3.1 on Ubuntu Lucid

Ubuntu Lucid currently comes with Thunderbird 3.0.x, but Michael found a nice way to install Thunderbird 3.1 on Ubuntu Lucid:

sudo add-apt-repository ppa:ricotz/ppa && sudo apt-get update
sudo apt-get install thunderbird

That’s it.

You can find 64-bit versions of lightning (v 1.0b2) and the google calendar add-on at: http://releases.mozilla.org/pub/mozilla.org/calendar/lightning/releases/1.0b2/contrib/linux-x86_64/


12
May 10

Ubuntu 10.4 : Move window buttons to the right

After upgrading to Ubuntu 10.4 LTS you might notice that the window buttons are left aligned.  After browsing some forums I found a solution to move them back to the right:

run gconf-editor from terminal or Alt-F2, go to

apps - metacity - general

and set

button_layout

to

menu:minimize,maximize,close

Hit OK and the buttons are right aligned :)

Update: Shortcut:

gconftool-2  -s /apps/metacity/general/button_layout -t String "menu:minimize,maximize,close"

09
Mar 10

Checkout sub directories in git (sparse checkouts)

SVN externals is a really nice feature I used a lot. Switching to git I was really missing it. Of course there is git-submodule but it’s not the same. Now, with version 1.7 git supports so called sparse checkouts which allow you to only include specific sub directories of a repository in your project. You still need to clone the whole repository, but afterwards you can tell git to only show the specified sub directories.

Here is how it works:

  1. clone the other repository (in my case, for a Rails app, I did it in vendor/plugins/)
    git clone <repository_url> <directory>
  2. cd to <directory>
    cd <directory>
  3. enable sparsecheckout
    git config core.sparsecheckout true
  4. add directories you want to have in your checkout to .git/info/sparse-checkout, e.g.
    echo app/models/ > .git/info/sparse-checkout
    echo lib/ >> .git/info/sparse-checkout
  5. run read-tree
    git read-tree -m -u HEAD

ls now shows

app lib

Forgot a directory you wanted to include? Just repeat step 4 and 5.


01
Feb 10

Varnish on CentOS

I previously wrote on how to install Varnish on Debian/Ubuntu. Here is how to install it on CentOS and the like:

  1. add EPEL to your repositories:
    rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
  2. install vanish using yum
    yum install varnish.x86_64

Note: Change x86_64 to i386 if you are not on a 64 bit system.

Config files are at /etc/varnish/default.vcl and /etc/sysconfig/varnish


25
Jan 10

DARQ – Federated SPARQL queries – status

There have been several request about DARQ during the past months, so I thought it’s time to post a short project status. DARQ (original website) is a query engine for federated SPARQL queries I worked on in the past. It provides transparent query access to multiple, distributed SPARQL endpoints as if querying a single RDF graph. In other words: It automatically splits an incoming query, sends  sub-queries to the relevant endpoints and merges the results into one resultset. The available endpoints need to be registered in the system using Service Descriptions. This works quiet  well if the vocabularies do not overlap very much, i.e. if two or services store the same properties for resources it can be very slow. However, if there is little overlap query answering can be done in a  reasonable time. Some results of the work were published at ESWC 2008 (paper), the source code is available at sourceforce.

DARQ started as a proof of concept system at HP Labs in 2006, it is in very early stage and I would not recommend to use it in any production environment. I worked on DARQ until early 2008, after that DARQ was continued by a diploma student who added query caching and a basic query translation mechanism, that allows to specify mappings between vocabularies, i.e. “Authors are a subclass of Persons” or “price in EUR can be converted to USD using exchange rare X”. Mappings are defined using SWRL. However, schema mapping support is even more a prototype than DARQ is and has not been tested extensively. He finished his work in Sept. 08, his changes can be found in the svn trunk. The version used for the benchmarks shown in the ESWC 2008 paper is tagged with ‘benchmarks2′ – all documentation writtten by me is for that version. It will likely not work with any of the recent Jena/ARQ releases, though i never tested it. There are currently no plans to continue the development.

If you have any questions related to DARQ feel free to post a comment or email me.

Update: The version in the svn trunk requires a mapping file. This file contains the mapping rules used for query translation. It  must use SWRLs Concrete Syntax representation.


12
Jan 10

Varnish on Ubuntu

“Varnish is a state-of-the-art, high-performance HTTP accelerator.” (varnish-cache.org). It’s configuration language VCL makes it very flexible – it even allows to use custom inline C code ;)

In the past I always build varnish from source myself and used checkinstall to create deb packages. A few days ago I came across a post by Trevor that simplifies the installation on Debian/Ubuntu:

  1. make sure you have all requires libs/tools installed:
    apt-get update
    apt-get install subversion autotools-dev automake1.9 libtool autoconf libncurses-dev xsltproc quilt
  2. checkout the varnish source code from svn (change version number as needed)
    svn co http://varnish-cache.org/svn/tags/varnish-2.0.6/
  3. build deb packages
    cd varnish-2.0.6/varnish-cache/
    dpkg-buildpackage
  4. install (package names may differ depending on the architecture, e.g. i386 instead of amd64)
    cd ..
    dpkg -i libvarnish1_2.0.4-6_amd64.deb
    dpkg -i varnish_2.0.4-6_amd64.deb
  5. you can now change the config in /etc/varnish/default.vcl and /etc/default/varnish

19
Oct 09

Welcome to my blog!

Wow. I finally have a blog. Being involved in a product targeting bloggers (affinityclick.com) I thought it is time to start my own blog (again). Had one ages ago but never wrote that much. It then disappeared during a server crash…. This is a next try.