Sometimes people put files into my home directory without giving me the ownership. This Gist fixes the problem.
ceving
Der Ort, an dem ich mein persönliches Sendungsbedürfnis befriedige.
Dienstag, 13. September 2016
Montag, 5. September 2016
Freitag, 2. September 2016
Replace all editors with Emacs client
I have to work on a Ubuntu system having installed some text editors I would never use. Instead I like to use Emacs client, because I have Emacs always running.
Graphical desktops like Gnome are believed to be user friendly, but it took me more than a hour to replace the useless editors with Emacs client. First it is necessary to remove all existing MIME type associations. Next it is necessary to define a new application. And finally new MIME type associations have to be set. This is done in two files in the directory $HOME/.local/share/applications.
- mimeapps.list
- This file defines your own associations overriding the system defaults.
- emacsclient.desktop
- This is a newly defined application necessary to execute Emacs client.
I have cloned the already existing Emacs application to define the Emacs client application. The original Emacs application definition is stored in /usr/share/applications/emacs24.desktop. This is the application definition.
[Desktop Entry] Name=Emacs Client Type=Application Terminal=false MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; Exec=emacsclient -n %F Categories=Utility;TextEditor;Development; Comment= Keywords=editor Icon=/usr/share/icons/hicolor/scalable/apps/emacs24.svg
Now it is necessary to override the existing MIME type associations. This is done in the section "Default Applications" of the file mimeapps.list.
[Default Applications] application/x-shellscript=emacsclient.desktop text/english=emacsclient.desktop text/plain=emacsclient.desktop text/x-c++=emacsclient.desktop text/x-c++hdr=emacsclient.desktop text/x-c++src=emacsclient.desktop text/x-c=emacsclient.desktop text/x-chdr=emacsclient.desktop text/x-csrc=emacsclient.desktop text/x-java=emacsclient.desktop text/x-makefile=emacsclient.desktop text/x-moc=emacsclient.desktop text/x-pascal=emacsclient.desktop text/x-tcl=emacsclient.desktop text/x-tex=emacsclient.desktop
And next all already existing associations have to be removed. This is done in the section "Removed Associations" of the same file.
[Removed Associations] application/x-shellscript=emacs24.desktop text/english=emacs24.desktop text/plain=emacs24.desktop;gedit.desktop;leafpad.desktop text/x-c++=emacs24.desktop text/x-c++hdr=emacs24.desktop text/x-c++src=emacs24.desktop text/x-c=emacs24.desktop text/x-chdr=emacs24.desktop text/x-csrc=emacs24.desktop text/x-java=emacs24.desktop text/x-makefile=emacs24.desktop text/x-moc=emacs24.desktop text/x-pascal=emacs24.desktop text/x-tcl=emacs24.desktop text/x-tex=emacs24.desktop
The MIME type text/plain had three associations separated by semicolon. After this modifications the file manager PCManFM does not show any useless but only one useful program in the context menu.
Montag, 11. Januar 2016
Compile Git on Solaris 10
To compile Git 2.7.0 on Solaris the Makefile must be changed to use gcc
CC = gcc
After that Git compiles, when I disable gettext, iconv and Tcl/Tk. I did not need curl but it seems to work.
NO_GETTEXT=1 NO_ICONV=1 NO_TCLTK=1 CURLDIR=/usr/local \ gmake prefix=/my/git install
Freitag, 8. Januar 2016
Diablo III Beta 2.4 PTR: Delseres Opus Magnum
Normalerweise bin ich kein Freund von Online-Services, die einem den Eindruck vermitteln, sie würden die tollste Erfindung seit geschnitten Brot sein, obwohl sie nur mit ein paar OpenSource-Tools zusammengeschustert sind. Aber in diesem Fall muss ich eine Ausnahme machen. Wenn man "mal schnell" ein Video zu einer animierten GIF-Grafik machen will, ist Ezgif.com ein prima Webseite. Man sollte natürlich tunlichst nur völlig öffentliche Videos dort hoch laden.
Das folgende GIF meiner Zauberin Horima aus der Diablo III PTR Beta 2.4 ist mit Hilfe des Dienstes entstanden. Aufgenommen habe ich mit OBS. Ezgif hat konvertiert, zugeschnitten und skaliert. Und mit Gimp habe ich das Fine-Tuning der Frames gemacht, damit die Animation sauber loopt.
Es ist meine erste Melee-Sorc seit Diablo I, die wirklich funktioniert. Alle Zauberinnen, die ich bislang geskillt habe, mussten sich schön weit von den Gegnern fernhalten. Auch die Experimente mit dem Sturmschild in Diablo II waren nicht wirklich effektiv. Aber mit dem 2.4er Patch hat Blizzard endlich mal ein Set mit ein paar praktischen legendären Ergänzungen geschaffen, mit denen man sich auch als Zauberin an die Gegner ran trauen kann. Es ist das Set "Delseres Opus Magnum". Das Set an sich ist nicht neu.
Und der dazu gehörige Helm ist es auch nicht.
Aber die neuen beziehungsweise überarbeiteten Zusatzgegenstände haben es in sich. Da wäre zuerst dieser Ring, der eine Schadensreduktion von 60% bietet. Und damit nicht genug: außerdem castet er quasi ständig Frost-Nova. Der Ring zusammen mit dem Helm lassen alles um einen herum so gut wie zum Stillstand kommen.
Als weitere Unterstützung gibt es die folgende Armschiene, die die Schilde verdoppelt.
Aber so richtig genial sind erst die nächsten Teilchen. Fragment der Bestimmung gibt eine 50% erhöhte Angriffsgeschwindigkeit für Spektralklinge und eine Erhöhung des Schadens von 200%. Damit alleine wäre Spektralklinge schon super schnell. Aber es kommt noch besser.
Der folgende Gürtel gibt nochmal eine Erhöhung der Angriffsgeschwindigkeit von Primärfertigkeiten um 50%. Damit ist Spektralklinge 100% schneller und geht ab wie eine Nähmaschine.
Das alleine ist angesichts der 2000% Schadenserhöhung durch das Set schon recht knackig. Aber so richtig knallt es erst mit dem neuen Triumvirat. Der erhöht nämlich den Schaden von Arkankugel um satte 200%. Und das ist auch noch drei mal stapelbar. Zusammen mit der 100%igen Geschwindigkeitserhöhung von Spektralklinge hat man die drei Stapel quasi sofort.
Und wem das immer noch nicht reicht: es gibt noch ein Sahne-Häubchen: Instabiles Zepter. Das lässt Arkankugel doppelt explodieren und steigert zusätzlich noch den Schaden von Arkankugel um 65%. Zusammen mit den 600% vom Triumvirat und den 2000% vom Set knallt man damit alles um, was nicht bei drei auf den Bäumen ist.
Damit habe ich gerade relativ entspannt im Solo ein Level 60 Portal beendet. Zugegeben am Ende hat mich der Steinsänger mit seinem Sprungangriff ein paar mal umgehauen aber bis dahin war alles problemlos.
Ich bin mal gespannt, wie schnell die Items nach der Beta droppen. Die Zeiten des Überflusses dürften in Kürze vorbei sein.
T_T
Freitag, 11. Dezember 2015
Screencast an X11 window by keyboard events
Recently I had the requirement to generate a screen cast of a keyboard interaction. There are many full featured application for Windows or Linux to generate screen casts, but they generate often big MPEG files, because they capture 30 or 60 screens per second and use lossy compression algorithms to minimize the file size. This is fine for video games and OBS does a pretty fine job, I have used it recently myself to capture a Diablo III PTR 2.4 session. But all this is not necessary, if one wants to capture keyboard interactions.
Keyboard interaction is triggered by pressing any keys. On Linux running a X11 server xinput
can be used to capture keyboard events. And the standard X11 tool xwd
can capture a window. And the ImageMagic can be used to combine several images into an animated GIF. This makes it possible to illustrate a keyboard interaction by pretty small GIF images.
I wrote a simple tool called xscreencast
, which implements the above idea. It is hosted on GitHub. I have used it to illustrate the difference of the cursor color of a terminal window and Emacs on Stackexchange. This are the screen casts generated by the Perl script.
This is the terminal.
And this is Emacs.
Automatically follow IFRAME wrapper in Google's image search
Google adds a wrapper around the search result of image searches. They say that this might add some kind of convenience, which is by no means obvious to me. I would say that this is just another way to monitor your internet usage.
In order to get rid of it, you need Tampermonkey, if you use Chrome. The following script automatically follows the IFRAME in the search result.
// ==UserScript== // @name Follow IFRAME in Google image search // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @author You // @include *://images.google.*/imgres?* // @grant none // ==/UserScript== /* jshint -W097 */ 'use strict'; location.replace(document.querySelector('iframe').src)
By default Tampermonkey uses the @match
option, which is quite limited, because it is not possible to match any top level domain. Instead of @match
you have to use @include
, which supports a more general globing.