Don't understand german? Read or subscribe to my english-only feed.

Extended Vim

April 22nd, 2008

Click for the large version:

Picture of Extended Vim

[shot by Sven Guckes]

know-how != know-how

April 21st, 2008

Screenshot of spell-checker of MS Office 2007

So nahe und doch so fern…

April 18th, 2008

Musik von Ed Partyka unter Windows anhören:

Windows Media Player - Screenshot 1

Windows Media Player - Screenshot 2

Today in IRC (#grml)

April 17th, 2008

21:59 < formorer> mika: pong :)
22:01 < mika> formorer: ping
22:02 < ft> ricmp? :)

Wishlist for the successor of Lenovo’s X300

April 17th, 2008

Screenshot of X300, picture from lenovo.com

My personal wishlist for the successor of Lenovo’s X300 ThinkPad:

  • less noisy fan / better fan regulation
  • docking station support
  • stronger CPU
  • firewire connector
  • SD card reader
  • ExpressCard/PC card slot

What I really like at the current X300:

  • the overall size
  • the 13.3-inch display running at 1440×900
  • the builtin SSD (from Samsung)
  • the keyboard (just rocking)
  • the integrated camera
  • the surface (yeah, it’s really awesome)
  • sound quality of external boxes (being much better than on the Thinkpad X61)

Want to see the X300 in action? Visit the grml booth at Grazer Linuxdays on 19th of april 2008.

The Admin Zen

April 14th, 2008

adminzen.org

Abbruch… Aufbruch… 2008

April 14th, 2008

Ein bisschen etwas in eigener Sache, was schon länger in den Drafts liegt: Nach über 5 Jahren als Sysadmin am Institut für Unternehmungsführung und -organisation an der TU Graz ist es Zeit für einen Tapetenwechsel. Am 14. Jänner habe ich meinem Chef meine Entscheidung mitgeteilt und mit Ende Juni 2008 läuft mein aktueller Arbeitsvertrag aus.

Blick aus der Kopernikusgasse, meinem Arbeitsplatz, Bild

Ich bleibe noch mindestens ein Jahr in Graz. Im Sommer geht es – gemeinsam mit meiner Freundin – auf Wohnungssuche. Wer da was Nettes in Graz kennt: bitte melden!

Jobmäßig möchte ich weiterhin im Bereich Systemadministration und -integration tätig bleiben. Selbstständig? Angestellt? Das weiss ich noch gar nicht so recht. Wer glaubt, etwas passendes für mich zu kennen/haben: meine Mailbox steht offen.

In den nächsten Tagen und Wochen bin ich noch an “Release! Was Open-Source-Projekte erfolgreich macht” (ISBN:978-3937514604) dran und auf dem Weg zum offiziellen Debian-Developer. Am 19. April gehen wie schon erwähnt die Grazer LinuxTage (bei denen ich wie immer im Organisationsteam tätig bin) über die Bühne und am 30. Mai bin ich noch beim Linuxtag in Klagenfurt mit 2 Vorträgen anzutreffen.

Grazer LinuxTag 2008 – 19. April

April 13th, 2008

Kleiner Reminder:

Am Samstag, dem 19. April findet der Grazer LinuxTag 2008 an der FH Joanneum statt!

Vortragende aus dem In- und Ausland werden in einem breit gefächertem Programm in insgesamt 28 Vorträgen versuchen, die Neugierde und den Wissensdurst der Besucher zu befriedigen.

Es besteht die Möglichkeit zur Absolvierung von LPI-Prüfungen zu besonders günstigen Konditionen. Ein Buchstand sowie 14 Infostände zu diversen Projekten (u.a. Debian, Funkfeuer Graz, Gentoo, Kubuntu, OpenOffice) sind vor Ort vertreten.

Dank der großzügigen Unterstützung der Sponsoren ist auch dieses Jahr die Teilnahme kostenlos!

Weitere Details unter linuxtage.at

Failed

April 8th, 2008

Nice failure of a presentation setup (name of manufacturer blackend):

Another nice fsckup – seen at the webcam setup of an assembly line:

Three more nice failures at the same locations – though I can’t provide any pictures (first one containing too much sensible data, second one very bad picture quality and no picture captured at the third location), sorry. ;-)

Re: I am only mad on IRC

April 8th, 2008

Martin, sorry for calling you Madduck on the debian.ch-mailinglist. Luckily I didn’t use that name during our meeting in Zurich last week. *pfuh* ;)

To take part in the pdo-game with my own name (being Michael Prokop ;-)): as many of you might know I’m known as Mika in the community. The name was invented for me around 1999 (IIRC) by a greek flat collegue who liked to call me “Mika” – refering to Mika Häkkinen (for whatever reason). From that on several people started to call me that way. I’m signing mails “to the community” with that nick since many years as well as using it in usenet and on freenode (IRC); on OFTC (another IRC network) I’ve to use mikap instead because mika was registered by another user already. Outside “the community” I’m usually known as Michael, good friends also use Michi and the family of my girlfriend uses Michl when the sister of my girlfriend (named Michaela and known as Michi as well) is present. Oh, and during grammar school I was AKA Proke.</secret> 8-)

So calling me Mika is perfectly fine because it’s a kind of uniqueness for me. There might be just too many Michaels around and at least in Austria my nickname is everything but common. Quoting the marketing department: Great trademark! ;) Oh and my speech parser knows to handle Michael, Michi and Michl as well – though it strongly depends on the situation, place, environment,…. Oh but using Proke is like talking to /dev/null – you’ve never heard of that name, ok?

Einladung zur Anytun release // party im Realraum

March 12th, 2008

Via Otti:

Einladung zur Anytun release // party im Realraum

Freitag, 14.03.2008
Beginn: 19:30 Uhr
Ort: Realraum Graz
Vorstellung von Anytun um 20 Uhr
Anschließend Party

Anytun ist die Implementierung des Secure Anycast Tunneling Protokolls. Es bietet ein OpenVPN ähnliches Interface und erlaubt den Betrieb von redundanten VPN Clustern mit Load-Balancing. Das Hinzufügen und Entfernen von Servern wird über das Routing realisiert, daher sind keine Änderungen an den Clients nötig. Mit Hilfe von BGP kann dabei im Internet geografisches Load-Balancing auf Basis der kürzesten BGP Route realisiert werden.

Anytun ist Teil des Projekts Anycast VOIP Proxy, das von der IPA / netidee.at gefördert wurde.

google hack for your desktop: keyword correct

March 9th, 2008

Do you know the situation where you just aren’t sure whether you are spelling a word the right way? If you know how to type the word pretty well, then a dictionary might work just fine. If you aren’t sure at all you might consider using Google’s ‘Did you mean’-feature. Check out a simple demonstration for the word Wondows, which could mean ‘Windows’. ;-) If you happen to use that google-feature just too many times you might be interested in my small hack:

wget -O google_correct.py http://grml.org/scripts/google_correct.txt
chmod +x google_correct.py

This small python script uses xsel (so it currently works only on systems providing xsel ;-)) to retrieve the currently selected word from your X selection, executes a google search and parses the output for the keyword inside the ‘Did you mean’ section. Finally it sets the corrected keyword as your current X selection. If you provide the keyword directly as an option, then the script just outputs the corrected keyword without touching your X selection so you can integrate it directly inside your $EDITOR as well as an option. This gives you the flexibility to use this feature globally(!) inside your preferred window manager. Select a word, press the keybinding for executing google_correct.py and now you’ve the corrected word available for further actions…

Finally don’t forget to put the affected word (after double-checking it using a real dictionary of course) into your $EDITOR’s dictionary to keep such “help m0m, I can’t sp3ll w0rds anymore” situations at a minimum. I’m using a personal dictionary file and ‘iab wondows windows’ inside Vim to fix spelling errors for words I’m unsure how to spell or which I always get worng.

A whishlist of further ideas/features for the script can be found in the header of the script itself. Further input welcome.

Wie man jemandem im Internet schaden kann…

March 9th, 2008

Aufklärung startet im Kleinen, im Bekannten- und Verwandtenkreis. In einer Diskussion rund um die Vorratsdatenspeicherung und die immer verstärkter aufkommende Videoüberwachung habe ich verschiedene Szenarien aufgezeigt. Ein Szenario davon war, dass man durch Data-Mining und diverse Web 2.0-Dienste immer gläserner wird.

Und zwar muss man dafür gar nicht erst seine eigene Homepage ins Web stellen. Viele Leute wissen nämlich leider gar nicht, was man alles mit den passenden Suchmethoden über sie herausfinden kann. Einer meiner Brüder war der Meinung, dass es zu ihm nichts kompromitierendes im Internet gibt. Das stimmt soweit sogar auch. Seiner Meinung nach gibt er nur bekannt, was er auch bekannt geben will, denn er sei sich der Risiken des Data-Mining durchaus bewusst. Aber wer garantiert ihm, dass nicht doch etwas ungewolltes zu seiner Person vorhanden ist? Nicht öffentlich zugängliche Datenquellen einmal beiseite gelassen; aber kann jemand gezielt seine Person angreifen? Mehrere Personen in der Diskussionsrunde waren der Meinung, dass so etwas nicht so einfach geht. Ich wollte den Gegenbeweis antreten. Und zwar ohne Hijacking irgendwelcher (Web-)Accounts, sondern mit möglichst wenig Aufwand.

Ich habe daher vorgeschlagen, dass ich einfach einen simulierten Angriff auf seine Person im Web durchführe: eine Google-Suche zu seinem Namen ergibt zum Startzeitpunkt als 1. Resultat seine Photosammlung bei Flickr:

Screenshot von der 1. Google-Suche nach Christoph Prokop

Soweit so gut und im Sinne von meinem Bruder. Aber gelingt es mir, innerhalb von einem Monat (so die vereinbarte Deadline, da alles darüber hinaus zu lange für einen realistischen Angriff wäre) bei der Suche nach seinem Namen eine potentiell kompromittierende Webseite unter die Top10 der Suchergebnisse bei Google (alles hinter der 10 ist grundsätzlich ja mal uninteressant) zu schummeln?

Am 4. Februar 2008 habe ich ca. 15 Minuten Zeit investiert: christoph.michael-prokop.at im DNS eingetragen, eine minimalistische Webseite unter Beachtung der einfachsten SEO-Tricks angelegt und dann um 01:45 Uhr an Google-AddURL gefüttert.

5 Tage später (9. Februar) dann ein Zwischenstand:

Screenshot von der 2. Google-Suche nach Christoph Prokop

Und das war auch schon mein gewolltes Ziel: Es hat keine 5 Tage gedauert, um an Platz 7 der Suchergebnisse nach meinem Bruder eine quasi X-beliebige Webseite zu platzieren.

Die Auswertung der Logfiles ergibt, dass es nur sehr kurz gedauert hat, bis der Google-Bot das erste Mal vorbei geschaut hat: 04/Feb/2008:04:48:28 +0100

Dem aufmerksamen Leser wird auffallen, dass ich zwar christoph.michael-prokop.at angelegt habe, dass aber devnull.michael-prokop.at im Suchergebnis auftaucht. devnull.michael-prokop.at war der Default-Eintrag für die IP-Adresse meines Webservers (‘echo “GET /” | nc $IP 80’). Google hat darauf angeschlagen – testweise hab ich devnull.michael-prokop.at dann direkt auf christoph.michael-prokop.at umgebogen. Und wie erwartet hat Google das wiederum bestraft, wie eine aktuelle Suche nach meinem Bruder zeigt.

Selbstverständlich ist der Aufwand, um einen gezielten Angriff gegen eine Person mit einem sehr hohen Pagerank zu fahren höher. Es ist aber durchaus realistisch und machbar. Man erinnere sich nur an die “miserable failure” und “InkompetenzGoogle-Bomben. Die Ziele von so einem konkreten Angriff sind wohl seltener Prominente mit einem hohen Pagerank als die einfachen Leute: der laute Nachbar, die Konkurrenz bei der Jobsuche oder der Lehrer der ja ach so gemein benotet.

Fazit: Wette gewonnen. Mehrere Leute von den Risiken der Vorratsdatenspeicherung und der Videoüberwachung überzeugt. Und was soll ich über dich herausfinden, was du noch nicht weisst?

Linux Live-CD grml 1.1 – Codename Skunk

February 26th, 2008

It’s done, we have new releases of grml, the Debian-based Linux Live-CD for sysadmins and texttool users:

  • grml 1.1 (32bit) – Codename Skunk
  • grml64 0.2 (64bit) – Codename Schwammerlklauber
  • grml-medium 0.1 (32bit) / grml64-medium (64bit) – Codename Pfuh
  • Screenshot von grml 1.1

    It’s the first stable release being based on our new build-framework grml-live which itself is based on FAI (Fully Automatic Installation). Thanks to grml-live we can provide you a new grml flavour grml-medium which tries to close the gap between grml-small and grml.

    As usual you’ll get software and kernel updates, many new packages and features plus additional hardware support. We are using LZMA compression for squashfs and provide several additional kernel modules like atl2, iscsitarget, madwifi and (for the first time) loop-aes. Oh and the grml release is known to work fine on the Asus Eee PC – LAN, WLAN and webcam working out-of-the-box! Find all the glory details about the new releases in above mentioned release notes or just visit grml.org.

    For german readers there’s an article about the new release at pro-linux.de.

    BTW: On the next weekend (1st and 2nd of march) we – the grml team) – will present the new release on Chemnitzer Linuxdays at the grml booth. grml-CDs, grml-shirts und (new!) “ready to go grml-usb-pens” will be available as well as the chance to talk to us in reallife. 8-)

    So, we wish you a fast download and hope you enjoy the new release! :-)

    Why you shouldn’t use copy/paste as root

    February 24th, 2008

    Title: How to subtile fsck your Apache setup.

    Solution (quoting the original command line):

    cd /etc/apache2/mods-enabled
    lrwxrwxrwx 1 root www-data 33 2007-09-28 15:23 auth_basic.load -> ../mods-available/auth_basic.load
    lrwxrwxrwx 1 root www-data 33 2007-09-28 15:23 authn_file.load -> ../mods-available/authn_file.load
    lrwxrwxrwx 1 root www-data 36 2007-09-28 15:23 authz_default.load -> ../mods-available/authz_default.load

    Disclaimer: no, it wasn’t me; it’s the log of a customer.

    Credits: thanks to monitoring and the use of mercurial in /etc locating and fixing the problem was a matter of seconds.

    Der Jahreswechsel-Murphy

    February 8th, 2008

    Die kritischste Zeit ist vorbei, ich probiers mal gegen Murphy. Gegen Ende des Jahres verpulvern nämlich nicht nur die Geiz-ist-Geil-Kundschaft und die Weihnachts-Käufer ihr übriggebliebenes Budget, sondern auch Firmen müssen ihre Bilanz mit kurzfristigen Einkäufen anpassen. Die Folge? Damit Hardware-Hersteller konkurrenzfähig bleiben und beim Umsatz mitschneiden, werfen viele von ihnen billige Hardware voreillig auf den Markt. Die Konsequenz? Schlechte Hardware findet Einzug in das Wohnzimmer genau so wie in so manchen Serverschrank. Das Ergebnis? Rund um den Jahreswechsel häufen sich neben den Arbeitsaufträgen dann auch gleich Totalausfälle, Server-Sterben und der allseits gefürchtete Plattentod.

    Wer um den Jahreswechsel herum einkauft, kauft damit – ohne es zu wissen – in vielen Fällen noch schlechtere Hardware, als er es unter dem Jahr schon macht. Wer billig kauft, kauft teuer.

    Statistiken hab ich dafür leider noch nicht. Und wenn, dann geb ich die mit der Schutzgeldzahlung direkt bei Murphy ab.

    grml im Datencenter

    February 8th, 2008

    Danke an Marc ‘Zugschlus‘ Haber für den Hinweis: der Hosting-Provider FirstDedicated verwendet grml als Rescuesystem.

    Warum ich das schreibe? Es ist als Entwickler interessant zu sehen, wo genau das eigene Produkt denn zum Einsatz kommt. In vielen Fällen weiss man das nämlich gar nicht. Bei der grml-Benutzerumfrage 2007 hab ich ja einige nette Dinge erfahren, die ich aber selbst – wie im Vorfeld versprochen – unter NDA halte. Manchmal wird die eigene Software in Bereichen eingesetzt, von denen man nicht mal zu träumen wagt. 8-)

    Falls jemand noch weitere Firmen/Provider/Institutionen/… kennt, wo grml zum Einsatz kommt: lasst es mich wissen! Ich würde bei Gelegenheit nämlich gerne mal eine ‘Happy customers’-Kategorie auf der grml-Homepage einrichten. Aja, und erzählt auch anderen Upstream-Entwicklern einmal, wie zufrieden ihr mit deren Software seid. Das motiviert manchmal unglaublich.

    Für die konditionierten Benutzer…

    February 4th, 2008

    Rescue and Recovery - Screenshot

    … und sowas findet sich in sogenannter Business-Software[tm]…

    Numerische und Lineare Algebra mit Python

    January 27th, 2008

    Die Gerschgorin-Kreise finde ich sehr elegant und via python.codefetch.com bin ich auf den Geschmack gekommen, die numerische und lineare Algebra mittels Python ein wenig nachzuvollziehen. Nur ein paar ganz simple Code-Snippets (unter Verwendung der interaktiven Python-Shell ipython) zur Anregung:

    % ipython
    
    from numarray import *
    import numarray.linear_algebra as la
    
    # Eigenwerte, Eigenvektoren, Inverse + Determinante:
    a=array(((2,0,-1),(0,1,0),(-1,0,2)))
    print a
    print la.eigenvalues(a)
    print la.eigenvectors(a)
    print la.inverse(a)
    print la.determinant(a)
    
    # Pseudo-Inverse:
    m=array(((0,1),(1,-1),(-1,-1)))
    print m
    print la.generalized_inverse(m,rcond=1e-10)
    
    quit()
    

    Oder alternativ auch via Scipy:

    % ipython -p scipy
    
    from scipy.linalg import *
    
    a = array([[2,0,-1],[0,1,0],[-1,0,2]])
    
    # Eigenwerte + Eigenverkten:
    eig(a)
    
    # Inverse:
    inv(a)
    
    # Determinante:
    det(a)
    
    quit()
    

    Der Post-Murphy

    January 17th, 2008

    Wenn du eh nur einmal unter der Woche am Vormittag daheim bist und dann ein Paket erwartest, dann stehst du genau dann unter der Dusche, wenn der Postler an der Tür klingelt. *hmpf*

    /me taucht jetzt aber mal mit ISBN://1590280539 ab…