Feb 13

Zuletzt hab‘ ich mir vor ca. 9Jahren radikales Umlernen angetan. Damals bin ich von dem German-Keyboard Layout auf US-ANSI umgestiegen. Die Sonderzeichen zum Coden waren einfach viel leichter zu erreichen. Waren etwa 3 Wochen Schmerz, danach lief es wie am SchnĂŒrchen. Ich will auch nicht mehr mit nem deutschen Keyboard arbeiten 🙂

Einzig die Eigenheiten von OSX/Linux/Windows haben etwas genervt (Win: Layout per ALT-SHIFT_L umschalten um Umlaute tippern zu können // OSX: Sehr angenehm per Modifier-Key (Mod-“ und dann a,u oder o))

Dummerweise ist mein Model-M damals auf der Strecke geblieben, und musste einem Mac-Keyboard weichen. Hab zwar noch mal ein paar AnlĂ€ufe gestartet, und die Keycaps auf US-INTL gewechselt, war aber irgendwie nichts…

Nun ist es mal wieder an der Zeit etwas neues auszuprobieren. Ein 60% Mechanical-Keyboard. Ca. 2 Monate bin ich um das HHKB herumgetingelt und hab mich am Ende dann doch gegen das Teil entschieden. HĂ€ngengeblieben bin ich Schlussendlich beim Vortex Pok3r, fĂŒr knapp 150Euro – nicht gerade billig.

vortex

Gut, was gibt es fĂŒrs Geld?

  • MX-Schalter (in jeglicher AusprĂ€gung, meine Wahl fiel auf blues)
  • Backlight.
  • Ordentliche (+replaceable) Keycaps.
  • 4 Layer, die schnell umschaltbar sind und bis auf einen frei programmierbar sind (ohne Treiber, oder sonstigen Foo). Die Programmierung lĂ€sst, neben Makros, die freie Belegung von Tasten zu.
  • Alu-„Wanne“ in der die Tastatur befestigt ist.
  • Austauschbare USB-Strippe (Die Poker 3 selbst verfĂŒgt ĂŒber einen Mini (NICHT Micro!) USB Port)
  • All in all: Eine extrem wertige Tastatur (und wenn ich wertig sage, meine ich das auch. Also wertig im Sinne von: „MacBook Unibody ist gut verarbeitet…“.
  • 500g solide Tastatur halt.

Was gibt es nicht, bzw. was macht den Reiz aus?

  • F-Tasten – die fehlen komplett. Sind aber bspw. per „FN+1“ (=F1) erreichbar. Das hatte ich mir persönlich schwieriger vorgestellt. Klappt aber super.
  • Multimedia-Keys. Hab ich – bis auf Laut/Leise – eh immer fĂŒr extrem ĂŒberflĂŒssig gehalten. Am besten noch ’ne EMailtaste, oder wie? Dank der Programmierbarkeit kann man sich den Kram auch auf FN+Irgendwas legen.
  • Cursor-Tasten. Das ist – ehrlich gesagt – der grösste Einschnitt. Ich kĂ€mpfe nun nach ca. 3 Tagen immer noch. Da ich recht viel im vim Arbeite, habe ich mich dazu entschieden das Cursormovement auf HJKL zu legen. Jetzt rĂ€cht es sich, dass ich Jahrelang im vi mit den „normalen“ Cursorkeys navigiert habe. Gut, das wird sicher schon. Alternativ kann man sich, wenn man viel navigieren muss, immer noch die Cursortasten nativ (also ohne FN) auf Layer2 und dann WASD legen. Ein nettes Feature, dass ich gestern Abend erst entdeckt habe: R_ALT+Space macht R_CTRL,PN,FN und R_SHIFT zu Cursortasten. Nochmal auf R_ALT+Space gedrĂŒckt, und die Tasten sind wieder das, womit sie beschriftet sind.
  • Der gesamte Block Home/End/PgUp/PgDn fehlt ebenfalls. Auch hier ĂŒbe ich noch mit FN+N (zB fĂŒr End).

Das Teil macht derartig laune, dass ich gar nicht aufhören möchte zu tippen. Man wird auch echt kreativ damit (das war ja der Zweck des Spiels). Bspw. habe ich mir fĂŒr den Chrome das vimium-Plugin installiert. Mit dem Teil bedient man den Chrome weitesgehends per Keyboard ĂŒber die bekannten vim-KeyBindings. Das auf der Bash „set -o vi“ da schon obligatorisch ist, versteht sich vermutlich von selbst 🙂

Wer sich also selbst mal wieder einen Tritt verpassen will, um vielleicht mehr vim-Keybindings in den Kopf zu bekommen, mehr Platz auf dem Schreibtisch zu haben, RechnerunabhÀngige Makros bauen will oder auch einfach nur eine extrem feine mechanische Tastatur sein Eigen nennen möchte, dem sei die Pok3r ans Herz gelegt.

WeiterfĂŒhrende Links? Klar:

  • Reddit-Post, in dem beschrieben wird, wie man das Ding möglichst vim-gerecht umkonfiguriert.
  • Hersteller (Vortex) – dort gibt es manual und firmware-update – Treiber sind, wie oben beschrieben – nicht notwendig.
  • Vergleich der verschiedenen MX-Schalter.
  • Blog ĂŒber mechanische Keyboards (gute Einstiegsmaterie)

[Update 28.02.2015]

So, nun habe ich das gute StĂŒck seit ca. 2 Wochen. Was soll ich sagen? Jedesmal, wenn ich eine Rubberdome in den Fingern habe (auch so ein flaches Apple-Dings), denke ich: OMG! Mit anderen Worten ausgedrĂŒckt gewöhnt man sich sehr schnell (wieder) an mechanische Tasten. Einzig das Profil der KeyCaps ist etwas ungewohnt. LiebĂ€ugele momentan mit DSA-KeyCaps (z.B. diese hier von Signature Plastics). Haken ist: Der Markt fĂŒr Caps existiert – ernstzunehmend – scheinbar ausschliesslich in den Staaten. In Europa bekommt man nur Ducky/Shiny-Caps. Die mögen fĂŒr Gamer recht sein, fĂŒr „Vieltipper“ nicht.

So richtig geblickt habe ich das mit den unterschiedlichen Profilen aber noch nicht. Bei Logitech gibt man die Profile in „R“ows an, bei SP in DSA, SA, usw. Ein guter Anlaufpunkt, bei dem man aber definitiv Geduld mitbringen sollte, ist massdrop. Massdrop ist so eine Art Genossenschaftseinkauf. D.h. mehrere Interessenten schliessen sich zusammen, und wenn 200 Leute zusammengekommen sind, geht man auf den Hersteller zu, sodass dieser eine Kleinserie auflegt. Mal schauen, ob da was fĂŒr mich dabei ist.

Tagged with:
Mai 19

Eigentlich hab ich mich ja immer gewehrt den schönen „Experimentiercomputer“ RaspberryPi zum „MediaCenter“ zu degradieren. Andererseits hatte ich ein wenig Not hier. Bis vor 2 Jahren hatte ich ’nen MacMini am TV-GerĂ€t. Der ist dann irgendwann rausgeflogen und musste einem AppleTV (3) weichen.

Dummerweise kann das ATV3 sich nur bei Apple bedienen. Sprich alle fein sĂ€uberlich gekauften Filme und MP3s auf dem Fileserver konnten nur umstĂ€ndlich abgespielt werden, in dem immer irgendein olles iTunes auf dem Arbeitsplatzrechner lief. Zeit das zu Ă€ndern. Also Pi bestellt und RaspBMC draufgeknallt. Erster Begeisterung folgte direkt die ErnĂŒchterung. Zu langsam, und zu buggy. Wenn bspw. der Pi hĂ€ngt, hilft nur noch Strom raus und wieder rein, was die SD-Karte mit „Could not mount Root-FS“ oder so quittiert. Blöd alles. Doch es gibt eine Lösung fĂŒr alles.

Ziel sollte es sein im Raspberry nur noch den Bootloader auf der SD-Karte zu haben (den braucht der leider, da der Pi kein Bootp/PXE beherrscht), und diese am besten auch noch mit ’nem Schreibschutz zu versehen. Gesagt getan. Was ist also notwendig?

  • 2GB SD-Karte fĂŒrs erste Setup
  • 32MB SD-Karte fĂŒr den spĂ€teren Betrieb
  • Fileserver mit NFS-fĂ€higkeit
  • Irgend ’ne Linux-BĂŒchse um die Karten entsprechend zu prĂ€parieren (Mit OSX oder Windows ist das echt Schmerz)

Vorgehensweise:

  1. RaspBMC ganz normal auf der 2GB Karte installieren (dd if=[imagefile] of=/dev/sdz bsize=16M) wobei sdz das SD-Kartendevice ist.
  2. Rasbperry ans Netz hĂ€ngen und booten/Erstkonfig durchfĂŒhren.
  3. WĂ€hrend der konfiguriert setzen wir den NFS-Server auf (gehe mal davon aus, dass die Grundlagen zu NFS dem Leser bekannt sind)
    1. Directory, in dem das Rasberry-Rootfs wohnen soll erstellen (mkdir /rasberryrootfs)
    2. Directory in die /etc/exports aufnehmen:/rasberryrootfs          IP.VOM.RASP.BERRY(rw,async,no_root_squash,no_subtree_check,anonuid=65534,anongid=65534,insecure)
    3. exportfs -rv aufrufen
  4. Wenn Raspberry fertig, dann:
    1. per ssh einloggen (pi/raspberry)
    2. xbmc stoppen: sudo sudo initctl xbmc stop
    3. NFS-Filesystem mounten: mount IP.VOM.FILE.SERVER:/raspberryrootfs /mnt
    4. Kram umkopieren (sudo cp -axv /. /mnt/.
      sudo cp -axv /dev/. /mnt/dev/.
      )
    5. In der /mnt/etc/fstab folgende Zeile AUSkommentieren (also ein „#“ davorschreiben):
      /dev/mmcblk0p2  /               ext4    defaults,noatime 0       0
    6. NFS-Filesystem umounten (sudo umount /mnt)
    7. Raspberry herunterfahren (sudo init 0)
    8. Karte entnehmen und in die o.g. LinuxbĂŒchse stecken, sowie das vfat-Filesystem der Karte mounten.
    9. Kram aus dem vfat-Filesystem irgend wo auf die Platte kopieren.
    10. Karte umounten / Brauchen wir jetzt nicht mehr.
    11. Jetzt die 32MB Karte in die o.g. LinuxbĂŒchse stecken und ein vfat-Dateisystem auf einer PrimĂ€ren Partition vom Typ „MSDOS/VFAT“ erstellen.
    12. Den Krempel aus 9 auf die Karte kopieren.
    13. Jetzt noch die Datei cmdline.txt auf der 32MB Karte wie folgt anpassen:
      dwc_otg.lpm_enable=0 root=/dev/nfs rootfstype=nfs nfsroot=192.168.1.100:/raspberryrootfs,v3 ip=192.168.1.49:192.168.1.1:192.168.1.0:255.255.255.0:rpi:eth0:off smsc95xx.turbo_mode=N noatime rootwait loglevel=1 zram.num_devices=2
      Wobei folgendes gilt:

      1. Anstelle der 192.168.1.49 die IP des Raspberrys eintragen
      2. Anstelle der 192.168.1.100 die IP des NFS-Servers eintragen
      3. Anstelle der 192.168.1.1 die IP des Routers eintragen
      4. Anstelle der 192.168.1.0 die Netztadresse des Heimnetzes eintragen
    14. Karte umounten
    15. In den Pi stecken, und freuen 🙂

Wenn alles klappt, noch den nupsi fĂŒr den Schreibschutz an der 32MB Karte aktivieren, und dann geht das Filesystem dort garantiert nicht mehr kaputt. Noch ein paar Tipps/Anmerkungen zur Performance von dem XBMC:

  • Alle ĂŒberflĂŒssigen Visualisierung sollten (so schick sie auch sein mögen) deaktiviert werden.
  • Krimskrams wie Samba-Server, Avahi, ftp auf dem Pi auch deaktivieren.

Viel Spass damit.

Tagged with:
Jul 03

Zeche Zollverein / Eingang KokereiGuiding LightFinally pressed 1993Dynamisches TrioKoksofenBlue Escalator

Zeche Zollverein, a set on Flickr.

Auf Tour mal wieder. Diesesmal „Zeche Zollverein“ mit Essen. Bescheidenes Wetter (Himmel bedeckt bis hintengegen) haben der Fotoausbeute nicht gerade geholfen…

Tagged with:
Jan 24

Absolut aussichtslos die Autobahntrasse, im Benachbarten Feld/Wald/Wiesenviertel, zu verhindern ?

Kein Weiterkommen bei der BĂŒrgerinitiative gegen die VerlĂ€ngerung der Rollbahn des Flughafens ?

Hier gibts die Lösung – Feldhamsterverleih !

Jan 14

Einfach nur Göttlich

Jan 03

… fĂŒr Menschen denen selbst das Benutzen von Google zu kompliziert ist. Frage eingeben, Link kopieren, und beim nĂ€chsten mal kommen garantiert keine Fragen mehr 🙂

Guckst Du hier: http://lmgtfy.com/

Tagged with:
Dez 29

Aufmerksam geworden durch diesen Artikel, mit dem ueber den Proxy geholte Webseiten (genauer gesagt werden alle Images einmal um 180 Grad gedreht) on the Fly manipuliert werden habe ich mir das ganze mal nÀher angesehen und optimiert.

Vorweg schonmal das Ergebnis (funktioniert TRANSPARENT mit allen JPGs, GIFs und PNGs). Transparent bedeutet in diesem Falle, dass der Anwender in keinerlei Weise mitbekommt, dass es sich hier um ein manipliertes Bild handelt. Die Requests werden quasi 1:1 durchgeleitet.

Wor moechten also alle Bilder, die aus dem LAN via Proxy angefordert werden, einmal um 180 Grad drehen. Folgende Ausgangssituation:

  • Transparenter Squid auf einem Router
  • Webserver auf einem etwas dickeren Rechner im LAN

in /etc/squid/squid.conf folgende Zeile einfĂŒgen:

url_rewrite_program /usr/bin/updwn.pl
url_rewrite_children 5

Das File /usr/bin/updwn.pl sollte wie folgt aussehen:

#!/usr/bin/perl
# Runs as proxy:proxy
# input - siehe unten (Array params)
# output - URL - transparent *invisble to Enduser :-) *
$|=1;
while (<>) {
chomp $_;
@params=split(/ /,$_);
# 0 = Request URL
# 1 = Requesting IP/-
# 2 = -
# 3 = Request Method
# 4 = myip= ?
# 5 = myport = ?
$url=$params[0];
if (!($params[1]=~/192\.168\.60\.200/)) { # Nicht rekursiv aufrufen (Boese !!)
$url='http://192.168.60.200/ppics/updwn.pl?u='.$url if ( ($url=~/gif/i) || ($url=~/jpg/i) || ($url=~/jpeg/i) || ($url=~/png/i));
}
print $url."\n";
$count++;
}

Wobei die 192.168.60.200 durch die IP des eigenen Webserver zu ersetzen waere. Die eigentliche „Magie“ findet naemlich jetzt im updwn.pl auf dem Webserver statt. Das Ding benutzt, im gegensatz zu dem File, welches in dem Artikel beschrieben wurde, direkt die GD-Library und ruft keinerlei Executables mehr auf. Damit ist das Script ein wenig performanter

Hier der Inhalt von /var/www/ppics/updwn.pl:

use CGI qw/:standard/;
use LWP::UserAgent;
use GD;
binmode STDOUT;

$|=1;
my $url=param(„u“);

chomp $url;
my $ctype=“;
my $content=“;
get_content($url,\$ctype,\$content);
rotate(\$content,\$ctype) if ($ctype=~/image/i);
print „Content-Type: „.$ctype.“\n\n“;
print $content;
print „\n–magicalboundarystring\n“ if ($ctype=~m/image/);

sub get_content {
my ($url,$ref_ctype,$ref_content)=@_;
my $ua = LWP::UserAgent->new;
$ua->agent(„MyApp/0.1 „);
my $req = HTTP::Request->new(GET => $url);
my $res = $ua->request($req);
$$ref_ctype=$res->content_type;
$$ref_content=$res->content;
}

sub rotate {
my ($ref_content,$ref_header)=@_;
my $image=undef;
$image=newFromPngData GD::Image($$ref_content) if ($$ref_header=~/png/i);
$image=newFromJpegData GD::Image($$ref_content) if ($$ref_header=~/jpeg/i);
$image=newFromGifData GD::Image($$ref_content) if ($$ref_header=~/gif/i);
$image->rotate180();
$$ref_header=’image/png‘;
$$ref_content=$image->png();
}
Wichtig: Die URL sollte nicht aus dem Internet erreichbar sein. Ansonsten hat man einen selbstgebastelten offenen Proxy…

Mithilfe der Parameter des Files /usr/bin/updwn.pl kann man sich jetzt sogar lustige ACLs bauen. (Rotiere nur fuer bestimmte IP’s oder fuer bestimmte URLs, etc…) Der Phantasie sind da keine Grenzen gesetzt.

Tagged with:
Dez 28

Oh wie wahr….

Apr 04

Ja nett, was man so alles findet, wenn man sich die Pinnwand beim Kunden mal nÀher anschaut.

Siehe hier:

vhs-rotenburg_kurse

Feb 08

1. Komisch…
2. Nie von gehört
3. Gestern ging es noch
4. Nun, das Programm muss hier und dort noch abgeÀndert werden
5. Wie kann das sein ?
6. Die Plattform/Maschine ist kaputt
7. Da hat wohl einer das OS geupdated
8. Der Anwender hat schon wieder einen Fehler gemacht.
9. Da stimmt was mit deinen Testdaten nicht
10. Das Modul habe ich nicht angefasst
11. Ja, das schaffe ich schon in der vorgegebenen Zeit
12. Du hattest die falsche Version zum testen
13. Oh, das ist ein Feature, kein Bug
14. Ich bin fast fertig
15. Sicher, nur noch ein paar Ă€nderungen…
16. Ich kann ja nicht alles testen
17. DIESES Programm kann DAS nicht
18. Ich dachte dass wĂ€re schon gelöst…
19. Ich habe es schon fertig und es funktioniert – ist nur noch nicht getestet…
20. Irgendwer hat in meinem Code rumgepfuscht
21. Da muss ein Virus in der Applikation sein.

Passend dazu: Wie unterscheidet man Guten von schlechtem Code:

Antwort: Nach „What the fu..“s per Minute 😉

WTF per Minute

Jan 25

Als Richard Dean Anderson Fan (Ja, ich gebe es zu – MacGyver und Stargate habe ich immer gern geschaut), darf ich euch das nicht vorenthalten. Meiner Meinung nach: Das ultimative Multitool. (Mensch, womit man alles Geld verdienen kann … tss)

Leider ist auf dem FundstĂŒck kein Preisschild zu finden – wĂŒrd mich aber doch mal interessieren.

Nov 14

Gestatten:

Ich bin der neue Gatekeeper der hier aufs Blog aufpasst. An mir kommt kein SYN vorbei, denn ich gebe hier die ACKs 😉

Gatekeeper

Okt 30

Ich denke das Symbol fĂŒr Windows-Rechner in der Netzwerkumgebung vom neuen OSX spricht fĂŒr sich, oder ??

Jun 01

Es gibt ein Update des Dension Gateway500. ErhĂ€ltlich via Download bei Dension. Laut Changelog sind eine Menge Bugs gefixed worden. Hoffentlich auch die, die mir am meisten auf den Keks gehen. Z.b. wird der iPod nicht immer geladen, wenn er am Gateway hĂ€ngt. Ein weiterer Negativpunkt ist das Umschalten zwischen den einzelnen Pages innerhalb der Playlists, wenn diese lĂ€nger als 50 Tracks sind. Da hĂ€ngt das MMI einfach mal so eben. Naja, einen Erfahrungsbericht gibt es NACH dem Update 😉

[Kurzbericht 1]: So… Update ist eingespielt. Ging erstaunlich simpel. Einfach die .ROM Datei auf einen FAT32-Formatierten USB-Stick schieben, diesen in den vorgesehenen Pömpel ins Gateway500 einstöpseln, ZĂŒndung an, warten -> Fertig ! Das hin- und herspringen zwischen 2 Seiten (mehr als 50 Titel in der Liste) klappt nun einwandfrei. Genauso hat sich die Bedienung im allgemeinen verbessert (nicht optisch, sondern stabiler ist sie geworden). Das Update hat sich also gelohnt.

Mai 21

Das die Stadt Meschede jetzt Hausnummern fĂŒr Garagen verteilt, ist mir neu. Aber wir wissen ja alle, das der Wohnraum knapper wird 😉

preload preload preload