How to sharpen pencils

Das Anspitzen von Bleistiften, sollte den meisten Menschen leicht von der Hand gehen. Aber es kann auch sehr kompliziert sein, wie das folgende Video beweist:

Die Frage die sich natürlich stellt ist, ob es sich hierbei um eine Satire handelt oder nicht? – frei nach der berühmten Frage: Was wollte uns der Autor damit sagen?

Command Line Tools unter Mac OS X 10.9 installieren

Unter Mac OS X 10.9 (Maverick) kann man die „Command Line Tools“ augenscheinlich nicht mehr direkt über Xcode installieren. Stattdessen gibt man im Terminal folgendes ein:

xcode-select --install

Anschließend bekommt man folgendes Fenster zu sehen:

Die "Command Line Tools" werden benötigt

Die „Command Line Tools“ werden benötigt

Bestätigt man das ganze werden die „Command Line Tools“ in rund 5 – 10 Minuten installiert.

MySQL Datenbanken einzeln sichern

Möchte man mittels „mysqldump“ die einzelnen Datenbanken einer MySQL-Installation sicheren, so sähe das so für eine Datenbank in etwa so aus:

mysqldump -u root -p<passwort> --result-file=example.sql --databases example

Packt man das nun ein Skript, muss jede Tabelle von Hand in dieses Skript eintragen werden. Allerdings könnte man das ganze auch über den SQL Befehl „SHOW DATABASES“ lösen und das ganze in ein automatisches Skript gießen. Auf der Webseite dev.mensfeld.pl findet man ein solches Skript. Ich habe das ganze kleineren Modifikationen unterzogen (so wird z.B. die „performance_schema“ Tabelle nicht mitgesichert) und auf GitHub zur Verfügung gestellt.

Probleme beim MySQL Dump mit nicht existierenden Nutzern

Unter Linux kann man mittels

mysqldump -u root -p<Passwort> --all-databases --result-file=dump.sql

alle MySQL Datenbanken in eine SQL Datei sichern. Allerdings kann es unter Umständen passieren, das man folgende Meldung bekommt:

mysqldump: Got error: 1449: The user specified as a definer ('u123456789'@'%') does not exist when using LOCK TABLES

Ein Workarround wäre es das ganze mit dem Parameter „–lock-tables=false“ aufzurufen:

mysqldump -u root -p<Passwort> --all-databases --result-file=dump.sql

Allerdings behandelt dies nur die Symptome. Um das Problem zu lösen wird im ersten Schritt der fehlende Nutzer angelegt.

GRANT ALL ON *.* TO 'u123456789'@'%' IDENTIFIED BY 'passwort';

Meist ist ein View oder eine Storaged Procedure in welcher der nicht existierende Nutzer definiert wurde, wie in diesem Beispiel:

ALTER ALGORITHM=UNDEFINED DEFINER=`u123456789`@`%` SQL SECURITY DEFINER VIEW `mana_v_online_chars` AS select `l`.`char_id` AS `char_id`,`l`.`login_date` AS `login_date`,`c`.`user_id` AS `user_id`,`c`.`name` AS `name`,`c`.`gender` AS `gender`,`c`.`level` AS `level`,`c`.`map_id` AS `map_id` from (`mana_online_list` `l` join `mana_characters` `c` on((`l`.`char_id` = `c`.`id`)))

Nachdem der View korrigiert wurde, in dem dort ein gültiger Nutzer angegeben wurde, kann der temporär angelegte Nutzer entfernt werden.

Windows 1.01 testen

Wer schon immer das tiefe und unerklärliche Bedürfnis hatte, Windows in der ersten Version auszuprobieren, der kann dies nun tun. Möglich wird dies mit der Webseite jsmachines.net. Das ganze basiert dabei auf dem unter GPL stehenden PCjs. Dabei handelt es sich um einen IBM PC Emulator, welcher in Javascript geschrieben ist. Der Quelltext soll später auf GitHub zur Verfügung stehen.

Der Windows 1 Emulator in Aktion

Der Windows 1 Emulator in Aktion

Die Windows-Emulation ist neben einigen anderen Emulationen (unter anderem Zork I und DONKEY.BAS) auf der Webseite zu finden.