[video] – Knowledge is Power: Getting out of Trouble by Understanding Git

Have you ever wondered how git works internally or why git does certain things in a certain way? Recently I found an interesting talk about git’s internals on goto; conference. It explains all the building blocks that you need to understand to better understand git.

Knowledge is Power: Getting out of Trouble by Understanding Git

(vYouTube)

How to choose a versioning scheme for your software

As a developer, there comes the time were you think about how to version your software. One approach is “Semantic Versioning” which leverages the level of change on your public API. Depending on what you changed in your code, Semantic Versioning proposes different version numbers:

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards-compatible manner, and
  3. PATCH version when you make backwards-compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Seems to be an appropriate scheme on versioning software. Which other schemes do you think about? Leave me a comment then I’m going to update this post accordingly.

How to mount Novell directory in Ubuntu

First you have to install ncpfs using apt-get:

[code language=”bash”]
sudo apt-get install ncpfs
[/code]

Then mount your novell directories using the following commands:

[code language=”bash”]
mkdir /media/novell
sudo chown <localuser>:<localgroup> /media/novell
sudo ncpmount -S <name-of-netware-server> -A <fully-qualified-name-of-server-or-ip-address> -U <novellusername-using-dot-notation> -u <localusername> -g <localgroup> -o nfsextras,symlinks,tcp,rw /media/novell -p cp850 -y utf8
[/code]

This will mount all of the volumes. If you wish to mount a specific volume use the -V option.

Having issues? Just drop me a line.

Enable HTTPS everywhere

SSL-Report for blog.muehlburger.at
SSL-Report for blog.muehlburger.at

Finally I finished to configure my HTTPS protocol support for blog.muehlburger.at. Supporting encrypted communication is an important part of the internet today. Everybody should support encrypted communication on the web. A good resource on how to select strong cypher suites and to configure your web server to support encryption properly is bettercrypto.org.

There is also a great video covering the current state of the art in crypto held by security researchers at 30C3:

I configured nginx to support encrypted communication exclusively for my WordPress installation. The PDF guide from bettercrypto.org was a great resource for selecting the cypher suits and some additional parameters.

If you would like to configure your nginx webserver and WordPress installation to support https just drop me a message. I am pleased to help you with my experiences.

(via A year in Crypto)

How to install (Oracle) Sun Java SDK 1.6.x (Java 6) on Ubuntu

Dieser Beitrag beschreibt die Installation des Sun Java SDK 1.6.x on Ubuntu (Maverick). The English explanation on how to install Sun Java SDK 1.6.x can be found here.

Canonical-Partner Repositories aktivieren:

Dies geschieht unter “System” -> “Systemverwaltung” -> “Synaptic Paketverwalung”. In der Paketverwaltung finden sich die Paketquellen unter dem Menüpunkt “Einstellungen”. In den Einstellungen wechselt man auf den Reiter “Andere Software” und aktiviert dort “Canonical-Partner” bzw. “Canonical-Partner (Quelltext)”.  Nach dem Klick auf “Schließen” werden die Paketlisten neu geladen.

Terminal öffnen und Java 6 JDK installieren:

[sourcecode]
$ sudo apt-get install sun-java6-jdk
[/sourcecode]

Java Version zur Standardversion auf dem System machen:

[sourcecode]
$ sudo update-java-alternatives -s java-6-sun
[/sourcecode]

Für das aktuelle Java Development Kit wird der Symlink /usr/lib/jvm/java-6-sun erstellt. Dieser zeigt auf die aktuell installierte Version des JDK.

Installation überprüfen:

[sourcecode]
user@ubuntu:~# java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode)
[/sourcecode]

Damit ist die Installation abgeschlossen.

Vielen Dank an Michael Noll für die englische Installationsanleitung, die ich als Vorlage verwendet habe.