Kategorie-Archiv: Allgemein

Pfadfinder-Regel gehört in jedes Büro

…ok nicht in jedes, aber in jedes in dem Entwickler rumsitzen ;-).

Im Blog von Holger Rüprich gibt es ein schönes Clean Code Plakat, den original Post (zugegebenermaßen schon etwas älter aber immer noch schön) findet ihr hier.

Das Plaket geht übrigens zurück auf das Buch Clean Code von Robert C. Martin (affiliate link).

Eigentlich würde ich ja gerne das Bild als kleine Teaser-Grafik auch hier schon einbinden. Da ich mir aber wegen des Urheberrechts nicht sicher bin, lasse ich das mal lieber. Trotzdem viel Spaß mit dem Plakat!

[EN] New IPv6 features with MySQL 5.6

MySQL 5.6 was released a few days ago on 5th of February 2013 and offers some quite exciting improvements. With that I do not mean the performance things everyone mentions. Nor I mean the new memcached Interface. For our company (an internet hosting company) there is small, but important improvement: There are native SQL functions to store (and work with) IPv6 addresses in an efficient manner!

You may already know INET_ATON, INET_NTOA to store v4 addresses (you want to use INT UNSIGNED or VARBINARY(4) for that). With Version 5.6 you have fully compatible ones for v6 too: INET6_NTOA, INET6_ATON and some goodies like IS_IPV4() and IS_IPV6. You can find a list of these functions in the official MySQL manual concealed under “Miscellaneous Functions“. For the sake of completeness I have to mention that you should use VARBINARY(16) for IPv6/IPv4 mixed addresses to gain optimal efficiency in terms storage space.

As already pointed out, this is a new MySQL 5.6 feature. If you have installed a mysql-server via your package management (e.g. apt-get/dpkg) you probably have installed MySQL 5.5. For those who don’t have the possibility to upgrade, take a look at the watchmouse blog, they already realized an analoge behavior with MySQL user defined functions years ago.

You don’t have MySQL 5.6 running in production until now? Don’t worry! I believe that most current installations are “old” as there isn’t any distribution out there at moment that delivers version 5.6 out of the box. If you plan a migration at your company, I would recommend you to visit Kristian Köhntopps talk at OSDC 2013. For those who can’t wait, I have also written a blog post about how to install MySQL 5.6 on Ubuntu 12.04.

[EN] How to install MySQL 5.6 on Ubuntu 12.04 (Precise)

This how to will cover the upgrade process of MySQL 5.6 on Ubuntu 12.04 precise. This may also work on Ubuntu 12.10 (quantal) but I haven’t tested it at moment.

DISCLAIMER: I am not responsible for any DATA LOSS you may face when using this how to! Use it at your own risk, create a backup and use your brain! With manual installation you will definitely LOOSE the support of your distribution vendor in case of security updates, be aware of this fact! Thank you!

This how to was created on an up to date (at the day of writing) Ubuntu 12.04.2 LTS machine (use lsb_relase -a to check). MySQL was already running on this machine.

First of all you need to download your new mysql 5.6 server software. You will find the latest version at the download page of mysql.com. Select “Debian Linux” as your platform and depending on your architecture (use uname -i to get this info) you should choose the appropriate package. I have selected x86, 64 bit and will use the package “mysql-5.6.15-debian6.0-x86_64.deb” for the next steps. Hint: Oracle suggests you to login or register, you don’t need it as there is a link “No thanks, just start my download” at the bottom of the page ;-).

Download the package (about 300 MB):

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-debian6.0-x86_64.deb -O mysql-5.6.15-debian6.0-x86_64.deb

… and install it using dpkg:

dpkg -i  mysql-5.6.15-debian6.0-x86_64.deb

… don’t be a messy and delete the package as you hopefully won’t need it again:

 rm mysql-5.6.15-debian6.0-x86_64.deb

Now look at your fresh mysql 5.6 setup at /opt/mysql/server-5.6/. You should really read the INSTALL-BINARY file as there are some remarks that are good to know and aren’t covered in this howto.

As I mentioned there was already an running instance of mysql on my system. If something wents wrong we really want to have a kind of backup. You could do this on different ways, either you could use mysqldump or to keep it simple stop mysql using service mysql stop and copy your /var/lib/mysql directory using cp -rp /var/lib/mysql /var/lib/mysql.old. This may take a lot of time depending on the size of your databases. In case of emergeny you could then install your distributions mysql version and use your old data.

service mysql stop && cp -rp /var/lib/mysql /var/lib/mysql.old

Now, as you have saved your production data you can remove your Ubuntu version of mysql-server. You can do this by:

apt-get remove mysql-server mysql-server-5.5 mysql-server-core-5.5

Move your my.cnf from /etc/mysql/my.cnf which is the Ubuntu default location to /etc/my.cnf which is the one mysql uses for the start scripts. Do this by mv /etc/mysql/my.cnf /etc/my.cnf and note that the /etc/mysql/conf.d/* files will be included anyway.

mv /etc/mysql/my.cnf /etc/my.cnf

To get mysql started you will need to copy the new startscript to /etc/init.d by cp /opt/mysql/server-5.6/support-files/mysql.server /etc/init.d/mysql.server. As you probably want mysql to start automatically on system startup use update-rc.d mysql.server defaults to create a standard runlevel configuration.

cp /opt/mysql/server-5.6/support-files/mysql.server /etc/init.d/mysql.server && update-rc.d mysql.server defaults

MySQL 5.6 depends on libaio which can installed by:

apt-get install libaio1

Set correct rights for your mysql installation:

chown -R mysql /opt/mysql/server-5.6/
chgrp -R mysql /opt/mysql/server-5.6/

Update some paths in your /etc/my.cnf (use a text editor of your choice, e.g. nano):

basedir = /opt/mysql/server-5.6
lc-messages-dir = /opt/mysql/server-5.6/share

And update your mysql information schema to the latest version:

/opt/mysql/server-5.6/scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql

Pitfall: This will create my.cnf in /opt/mysql/server-5.6/ which sets SQL mode to strict. Your applications may have problems with this mode. For compatibility reasons you should DELETE this my.cnf and only rely on your /etc/my.cnf. Delete it by rm /opt/mysql/server-5.6/my.cnf. You won’t be able to overwrite this setting with your /etc/my.cnf and remove STRICT_TRANS_TABLES from your sql_mode. Read more about mysql_install_db here.

rm /opt/mysql/server-5.6/my.cnf

Start mysql by

service mysql.server start

And check your /var/log/syslog for errors. If everything works fine, you should see something like "Version: '5.6.10' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server (GPL)" and you shoudn’t find any mysql related errors.

Have fun with your freshly upgraded mysql 5.6 server!

Update (29.12.2013): Updated the download url and package name to mysql-5.6.15-debian6.0-x86_64.deb (Thanks hien)!

Serverumzug zu webtropia und Erfahrungen

Mein Webserver für peterchen.net lief nun lange Zeit auf einem Virtual Server L des Kölner Hosters Hosteurope. Langsam aber sicher wurde mir der Server zu klein, hatte zu wenig Arbeitsspeicher und der Festplatten-Speicherplatz war mit 50 GB auch nicht sehr großzügig bemessen.

Ich habe mich entschieden von einem virtuellen Server auf einen dedizierten Server zu wechseln. Meine Wahl fiel dabei auf den Düsseldorfer Hoster webtropia.com. Ich habe mir dazu heute einen Economy Server 1210 Root-Server für 24,99€ monatlich bestellt. Die Freischaltung des Servers erfolgte innerhalb von wenigen Stunden obwohl heute Feiertag in NRW war. Erwähnenswert ist noch, dass das Passwort für den Server nicht direkt via E-Mail geschickt wurde sondern nur im Kundenbereich zum einmaligen Abruf bereitgestellt wurde. In Anbetracht der Hacks bei einigen großen Hostern in den letzten 12 Monaten sicherlich keine schlechte Idee! Erste Tests des Servers liefen bisher gut. Ich konnte meine Daten vom bisherigen Server mit voller Netzwerkgeschwindigkeit und ohne Einbrüche übertragen. Auch Speedtests von QSC aus waren optimal. Die Hardware ist natürlich wie versprochen und steht voll zur Verfügung.

Meine Kaufentscheidung wurde auch durch einige von Kunden veröffentlichte Beiträge getragen:
http://www.ciao.de/webtropia_com__Test_8799289
http://www.ciao.de/webtropia_com__Test_8799273
http://serversupportforum.de/forum/dedizierte-server/43588-webtropia-erfahrung.html

Bäckerei Moss Ahornstraße Öffnungszeiten, Studentenwerk-Flame

Heute mal was aus meinem Alltag als Informatik Student an der RWTH Aachen :-).

Das hiesige Studentenwerk hat hier am Informatikzentrum zwar eine Mensa und eine Cafeteria, die Öffnungszeiten wirken aber aus Studentensicht eher willkürlich gewählt. In der Mensa gibt es Essen von 11:30 bis 14 Uhr und das Cafe Ahorn55 hat von 8 bis 15:30 Uhr geöffnet – zumindest theoretisch! Praktisch gibt es ab 14:30 Uhr 14 Uhr keinen frischen Cafe/Capuccino/Latte Macciato/Espresso mehr. Wieso? Die Maschine muss noch saubergemacht werden. Damit man auch um 15:30 Uhr pünktlich das sinkende Schiff verlassen kann fängt man sicherheitshalber schon mal um 14 Uhr damit an. Ladenschluss = Schichtende, komme was wolle!

Was bleibt einem also wenn man vor der Vorlesung noch in Ruhe ein Brötchen kaufen möchte oder nach dem Essen um jeden Preis noch einen frischen Cappuccino braucht? Ja genau, 3 Minuten die Ahornstraße zur Bäckerei Moss runter laufen! Seit einem halben Jahr wird jedoch die Website der Bäckerei überarbeitet und *NIEMAND* weiß seit dem mehr so ganz sicher bis wann der Laden überhaupt auf hat. Ich habe deswegen waghalsigerweise mal ein Foto der Öffnungszeiten gemacht, tada:

Neben dem Bild hier auch noch mal die Öffnungszeiten von Moss an der Ahornstraße in Textform:

Mo-Fr: 6:30 – 18:30 Uhr
Sa: 6:30 – 14:00 Uhr
So: 8:00 – 13:00 Uhr

Besonders zu empfehlen ist übrigens das belegte Baguette “La Flute” (RIP Hawaii) z.B. mit Tunfisch. Der Capuccino ist auch ziemlich gut und imho auch besser als der im Informatikzentrum-Cafe vom Studentenwerk (…leider aber auch teurer).

Call of Duty MW3 Gameserver mieten – Vergleich

Du suchst einen COD Modern Warfare 3 Server? Nicht alle gängigen Gameserverprovider bieten CODMW3 an. Hauptsächlich liegt das daran, dass für MW3 keine Linux-Server Files zum Download veröffentlicht wurden.

Hier nun ein kurzer Überblick über ausgewählte Anbieter und die Kosten. Die Konfiguration des Servers im Vergleich soll sein: 12 Slots, keine Werbung im Servernamen, Public (keine Passwortpflicht) Teamspeak 3 Server mit 12 Slots inklusive bei monatlicher Mindestvertragslaufzeit. Alle Angaben natürlich wie immer ohne Gewähr. Stand 1. Februar 2012.

gamed!de Linemax NGZ-Server Dawnserver
Preis 9,99€ 18,50€ 13,80€ 12,30€
Einrichtung 0€ 0€ 19,95€ 0€
Location Düsseldorf (NRW) Düsseldorf (NRW) Coburg (Bayern) Frankfurt (Hessen)
Bemerkung Gameswitching, Fastdownload
Angebot Call of Duty MW3 Gameserver COD MW3 Gameserver COD MW3 COD MW3

gamed!de – Gameserver hat zu MW3 Servern auch einen Blogbeitrag veröffentlicht, indem das Angebot noch einmal genauer erklärt wird. Unter anderem wird darauf eingegangen das die Server auf Windows 2008 Server gehostet werden und wie die Administration des MW3 Gameservers bei gamed!de erfolgen kann.

Viel Spaß mit auf euren MW3 Gameservern!

Battlefield 3 Gameserver in Deutschland

Heute scheint sich was zu tun bei Battlefield 3! Nun können offensichtlich auch Anbieter, die nicht in der Alpha mitgemischt haben (i3d und multiplay waren in der Alpha) Vorbestellungen (Preorders) annehmen. Bisher scheint es so, als wären nur zwei deutsche Anbieter im Rennen. Wie bei Bad Company 2 und Crysis 2 bieten auch nun wieder gamed!de – Gameserver und 4Netplayers als etablierte deutsche Anbieter die BF3 Gameserver an. Daneben gibt es noch einige ausländische Anbieter die auch in Deutschland einige Server deponiert haben.

Hier die Quellen:

Update (9.9.2011, 21:30 Uhr): Die Anbieter haben nun Vorbestellungsmöglichkeiten geschaffen. Offenbar bietet auch G-Portal in Deutschland die Server an.
Hier eine Tabelle mit den Angeboten:

gamed!de 4Netplayers G-Portal
Spieler 16 16 16
Extras Spielekey inklusive - 1. Monat umsonst
Mindestlaufzeit 1 Monat 3 Monate 3 Monate
Serverstandort Düsseldorf Düsseldorf Frankfurt
ESL Zertifikat Ja Nein Ja
Preis pro Monat 14,99 € 24,50 € 17,00 €
Voiceserver 20 Slots
Teamspeak 3
3,00 € 5,49 € (25 Slots) -
Link zum Angebot BF3 gamed!de 4netplayers G-Portal

Vergleichen wurden jeweils die Preise ohne Zwangswerbung im Servernamen (Branding) und kleinstmöglicher Vertragslaufzeit. Je Zeile wurden das beste Angebot markiert. Die beschriebenen Extras sind an Bedingungen geknüpft, siehe jeweilige Anbieterseite. Voiceserver jeweils mit Filetransfer-Option. Stand der Tabelle: 9.9.2011. Alle Angaben ohne Gewähr.

Nerdevents Köln, Aachen und Umgebung

Heute eine (sehr) kurze Projektvorstellung von HCKING, einer Terminübersicht für “Nerdevents” in Köln, Aachen und Umgebung.

Die Seite wurde vor ein paar Tagen unter anderem von meinem Kommilitonen und Dude Lucas Dohmen online gebracht. Dort gibt es stets aktuell Infos zu Usergroups und Veranstaltungen für die gemeinen “Kellerbewohner” im Großraum Köln und Aachen. Die Termine sind auch per iCal abonnierbar, sodass man kein Event mehr verpasst.

Viel Spaß damit :-).

Minecraft Gameserver zum Mieten Vergleich

Hier mal ein kurzer Überblick zur Marktsituation bei Minecraft-Gameservern. Minecraft unterscheidet sich stark von anderen Gameservern (wie z.b. Counter-Strike) und stellen daher besondere Anforderungen an die Gameserverprovider. Insbesondere stellt Minecraft hohe Anforderungen an den Arbeitsspeicher. Während “normale” Gameserver sich hier mit wenigen hundert Megabyte zufrieden geben, benötigt Minecraft bereits für wenige Spieler direkt mehrere Gigabyte aktiven Speicher. Um effektiv Minecraftserver zu betreiben, benötigt man also einen Server mit viel Arbeitsspeicher. Da Arbeitsspeicher – anderes als Festplattenplatz – gewissen Beschränkungen je Server unterliegt, ist man durch diesen in der Anzahl der möglichen Gameserver beschränkt (aktuell sind beispielsweise mehr als 32 GB kaum mit preiswerter Hardware zu realisieren). Egal welche CPU verwendet wird. Auch SSDs als Arbeitsspeicherersatz (SWAP) scheinen nach bisherigen Tests kein gutes Ergebnis zu liefern. Ein wesentliches Unterscheidungsmerkmal für Minecraftserver ist also, wieviel Arbeitsspeicher für den Server zur Verfügung steht. Dies schlägt sich dann auch im Preis nieder.
Außerdem gibt es noch die maximal möglichen gleichzeitigen Spieler auf dem Server. Es liegt auf der Hand das mehr Spieler auch mehr Arbeitsspeicher benötigen werden. Es ist daher in aller Regel z.B. nicht sinnvoll einen 64 Slot Server mit 512 MB RAM zu betreiben. Von den Anbietern gibt es hierzu häufig Empfehlungen wie 512 MB bis 8 Spieler, 1 GB bis 16 Spieler usw.
Daneben bieten Gameserveranbieter häufig auch Extras wie z.B. Voiceserver oder automatische Updates des Spiels an.

Hier möchte ich die Angebote für einen 16 Slot Public Minecraft Server vergleichen. Zusätzlich habe ich noch die Preise für einen 20 Slot Teamspeak 3 Voiceserver dazu zusammengefasst. Stand: 21. Dezember 2011.

gamed!de Nitrado meincraft-server ZAP-Hosting
Spieler 16 16 20 16
RAM 1 GB keine Angabe 1 GB 2 GB
CPU i7-2600 Xeon/Core i/Opteron keine Angabe i7
Standort Düsseldorf Frankfurt Bremen Frankfurt
ESL Zertifikat vorhanden vorhanden nein nein
Preis 9,99 € 16,00 € 11,99 € 11,77 €
Setup - - - -
TS3 Voiceserver 20 Slots 3,00 € 6,00 € 8,49 € (24 Slots) 3,80 €
Link zum Mietangebot Minecraft Gameserver Publicserver Kumpel Server MC Server

Daneben gibt es natürlich noch Rootserver speziell für Minecraft. Von den oben genannten bietet aber nur gamed!de – Gameserver schlüsselfertige Minecraft Rootserver mit Verwaltung via Webinterface an.