1. Dezember 2011: Zähl mich!

Manchmal gibt es Weisheiten, deren Klarheit sich erst nach Jahren vollständig erschließt. You can’t manage it if you can’t measure it ist eine von Ihnen. So offensichtlich diese Erkenntnis auch sein mag: Ich habe einige Zeit gebraucht um sie zu schätzen – und noch länger um sie auch zu leben.

Nun wurde ich vor einigen Monaten auf die Quantified Self Bewegung aufmerksam. Im Prinzip geht es dabei darum eben diese Weisheit auf ein neues Feld auszudehnen: Den eigenen Körper. Der Gedanke dabei ist, dass man wesentlich gesünder und bewusster lebt wenn man weiß wie man mit sich umgeht. Im Grunde genommen ist das keine neue Erkenntnis, beruht doch zum Beispiel Weight Watchers auf derselben Annahme. Doch bei QF(Quantified Self) wird der Gedanke noch ein wenig weiter gesponnen – und um ein paar neu-modische Spielereien angereichert auch wesentlich kurzweiliger gestaltet. Fitbit ist eine davon.

Fitbit Chart

Dahinter versteckt sich ein kleines Gerät, das erfasst wie viel man sich tagsüber bewegt. Wirklich interessant wird es jedoch erst sobald man es mit der Fitbit Webseite abgleicht: Auf einmal erhält man Aufschluss über die eigenen Gewohnheiten, Routinen… und Unzulänglichkeiten. Wer hätte gedacht wie wenig man sich als Schreibtischtäter im Land der unbegrenzten Möglichkeiten tatsächlich bewegt? Erfasst man dazu noch weitere Daten (wie viel Kalorien nehme ich zu mir, wie viel Sport betreibe ich) gewinnt man schnell Erkenntnisse über sich, die einem kein Arzt in diesem Maße hätte veranschaulichen können.

Hat man dann Gefallen daran gefunden an seinen Schwächen zu arbeiten (und vielleicht den ein oder anderen auch dafür begeistert), kann man sich auch gegenseitig messen: Wer bewegt sich mehr, wer erreicht sein Ziel als erster? Und Dank Internet funktioniert das sogar über Kontinente hinweg.

5. September 2011: Löten nach macht Spaß!

Programmieren ist ja im Grunde genommen nichts anderes als Löten mit der Tastatur: Kreatives kombinieren bekannter Zutaten zu etwas Neuen. Oder, wie manch einer sagen mag, Legos für Erwachsene. Auch wenn das in meinen Augen den Legos nicht gerecht wird. Um den heranwachsenden Lego-Fans den Übergang zu vereinfachen, gibt es nun jedenfalls zwei gelungene Anleitungen. Passender Weise im Comic-Format.

Das eine beschäftigt sich nicht nur mit den Grundlagen des Lötens. Es möchte auch den Spaß vermitteln, den man dabei haben kann. Ob nun beim Basteln nach Anleitung oder eigenen Gehversuchen (allen Vätern sei empfohlen mit einem roten Schalter zu einer bunten Lampe anzufangen – es lohnt sich). Soldering is easy ist im übrigen auch bereits in etliche Sprachen übersetzt worden.

Das zweite Werk, das mir in dieser Woche untergekommen ist, beschäftigt sich mit Arduino – und auch hier stehen wieder die Grundlagen im Mittelpunkt. Wenn auch mehr Sinn und Zweck des Open-Source Baukastens denn handwerkliches Know-How. Introduction to Arduino sollte dennoch jedem Bastler einen Blick wert sein – denn die Möglichkeiten des Arduino sind schier endlos (wenn man weiß wie man einen Lötkolben zu bedienen hat).

30. März 2011: Virtueller Umzug II

Ich scheine langsam Übung darin zu haben Webseiten um zu ziehen. Jedenfalls ging dieser Umzug scheinbar anstandslos über die Bühne.

Zugegeben, diesmal hatte ich direkten Zugriff auf die DNS-Einstellungen der Domain – das hilft ungemein. Und auf Textpattern-Seite gibt es neben den Änderungen an der Datenbank-Konfiguration eigentlich auch nur die Pfade anzupassen. Und zwar auch die in der internen Konfiguration.

Oder hat irgend jemand etwas bemerkt?

28. Februar 2011: Jetzt auch mit Zwitschern

Seit letzter Woche werden die Kurznachrichten (siehe auf der Startseite, rechter Hand) nicht mehr von identi.ca ausgelesen, sondern von Twitter. Warum? Abgesehen davon, dass es einfach wesentlich leichter ist Updates von anderen – zum Beispiel der City of Miami Beach – zu folgen. Ich kann auch endlich die eingebauten Funktionen in meinem Telefon nutzen. Yay…!

Natürlich kann man sich die Kurznachrichten so auch selbst abonnieren. Oder antworten. Falls das jemanden überhaupt interessiert.

Follow me on Twitter

21. Januar 2011: Bosch bei Channel9

Über was man manchmal so stolpert:

Leider wird Silverlight für die Darstellung benötigt.

19. Februar 2010: Virtuelles ganz physisch

Im Rahmen eines neuerlichen ASUG Florida Chapter Meeting gab es heute eine zutiefst interessante Rechenzentrums-Tour zu sehen: Bei Terremark direkt hier in Miami. Kannte ich das Unternehmen bis vor ein paar Tagen selbst noch nicht, bin ich nun umso mehr von dem beeindruckt, was in ihren Wänden statt findet.

Als Tier-IV Knoten des Internets laufen hier, in Wurfweite der American Airlines Arena die Unterseekabel von circa 160 Telekommunikationsunternehmen zusammen. Die Deutsche Telekom landet hier genauso an wie der Rest Europas. Oder komplett Südamerika. Daher stehen hier auch einige von Verisigns Rootserver für die .com und .net Domains sowie einige der ICANN-Rootserver für .gov und .edu. Und, das muss man durchaus so sagen: Sie sehen verdammt gut aus! Ist der normale Server dazu verdammt sein Dasein in einer anonymen grauen Kiste in einem dunklen Raum zu fristen, sind die Rootserver hübsch angestrahlt und hinter Glasscheiben zur Schau gestellt. Inklusive Status-Monitor mit aktueller Anzahl an DNS-Abfragen pro Sekunde.

Allerdings stelle ich mir jetzt doch noch die Frage, warum meine Verbindungen gen Deutschland nicht über Miami direkt nach Deutschland geroutet werden, sondern den Umweg über Washington gehen:

Tracing route to www.t-online.de [62.153.159.92]
over a maximum of 30 hops:

1 <1 ms <1 ms <1 ms shar.selune [172.16.0.8]
2 8 ms 12 ms 9 ms 10.156.0.1
3 10 ms 22 ms 12 ms 172.23.80.81
4 14 ms 10 ms 9 ms 172.23.80.1
5 25 ms 25 ms 24 ms xe-5-0-0.edge2.Miami1.Level3.net [4.59.84.49]
6 31 ms 32 ms 36 ms ae-32-52.ebr2.Miami1.Level3.net [4.69.138.126]
7 28 ms 58 ms 30 ms ae-2-2.ebr2.Atlanta2.Level3.net [4.69.140.142]
8 * * 45 ms ae-63-60.ebr3.Atlanta2.Level3.net [4.69.138.4]
9 55 ms 55 ms 67 ms ae-2-2.ebr1.Washington1.Level3.net [4.69.132.86]

10 57 ms 77 ms 48 ms ae-61-61.csw1.Washington1.Level3.net [4.69.134.1
30]
11 44 ms 60 ms 47 ms ae-14-69.car4.Washington1.Level3.net [4.68.17.6]

12 63 ms 50 ms 41 ms 62.156.139.129
13 148 ms 135 ms 140 ms ulm-ea3-i.ULM.DE.NET.DTAG.DE [62.154.58.125]
14 152 ms 139 ms 137 ms 80.156.161.42
15 162 ms 155 ms 138 ms www.t-online.de [62.153.159.92]

Trace complete.

Auf der anderen Seite gibt es hier aber auch einen der drastischsten Gegensätze, die ich bislang sehen musste. Findet in den Wänden diese dedizierten Internet-Knotenpunkts Hightech aus aller Herren Ländern Verwendung, ist also sozusagen die Inkarnation der ersten Welt dort zu Hause, ist an der Rückseite des Gebäudes der Treffpunkt der ärmsten der Armen, die Miami zu bieten hat. Zwischen den den Überresten ihrer Existenz sitzen sie dort zu Dutzenden und harren mit ihrem Schicksal. Ein merkwürdiges Gefühl.

28. Januar 2010: GeoIP-Lookup in GeoRSS umwandeln

Um die Frage zu beantworten wie ich denn IP-Adressen in eine Google-Karte bekommen habe: Mittels geoip, GeoRSS und (logisch) Google-Maps. Und zwar folgendermaßen.

  • geoiplookup <IP> >> geolookup.txt speichert die Ausgabe in einer Datei.
  • Mit regulären Ausdrücken extrahiert man die Längen- und Breitenangaben.
  • Diese legt man als GeoRSS-Feed ab.
  • Den Feed wiederum kann man in Google-Maps importieren.

Fertig ist die Karte. Wer es ein wenig einfacher haben will, kann auch folgendes PHP-Script zum umwandeln der geoip-Ausgabe in einen GeoRSS-Feed nutzen.

PHP:
<?php

// Check for Data
if(!$_POST['geoiplookup']){
        ?>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head></head>
        <body>
                <form method="post" action="<?= $_SERVER['PHP_SELF'] ?>">
                        <textarea rows="20" cols="50" name="geoiplookup"></textarea><br />
                        <input type="submit" />
                </form>
        </body>
        </html>
        <?php
        die();
}

// Setup Variables
$regex  = "/^.+Rev 1: ([^,]+), ([^,]+), ([^,]+), ([^,]+), ([0-9\.\-]+), ([0-9\.\-]+), [^,]+, [^,]+$/";
$geodata['line']        = "<entry><title>%s, %s, %s</title><georss:point>%s %s</georss:point></entry>\n";
$geodata['points']      = array();
$geodata['rawdata']     = explode("\n", $_POST['geoiplookup']);

// XML-Special Characters-Function (alonso05 at gmail dot com)
function xml_character_encode($string, $trans=''){
        $trans = (is_array($trans)) ? $trans : get_html_translation_table(HTML_ENTITIES, ENT_QUOTES);
        foreach ($trans as $k=>$v)
                $trans[$k]= "&#".ord($k).";";
        return strtr($string, $trans);
}

// Parse input
foreach($geodata['rawdata'] as $data)
        if(preg_match_all($regex, $data, $results))
                $geodata['points'][] = array(
                        xml_character_encode(htmlentities($results[3][0])),
                        xml_character_encode(htmlentities($results[2][0])),
                        xml_character_encode(htmlentities($results[1][0])),
                        $results[5][0],
                        $results[6][0]
                );


// Create GeoRSS-Feed
header('Content-type: application/xml');
echo('<?xml version="1.0" encoding="utf-8"?>');
echo('<feed xmlns="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss">');
foreach($geodata['points'] as $point)
        vprintf($geodata['line'], $point);
echo('</feed>');

?>

11. Dezember 2009: Die beliebtesten

Heute kam Post von Google. Offenbar ist unsere unbekannte, kleine und eher inaktive Unternehmung unter den 100.000 beliebtesten (lies: am häufigsten aufgerufenen) Unternehmen in Google-Maps.

Da fragt man sich doch irgendwie, welche Aussagekraft diese Schildchen eigentlich haben. Aufhängen dürfen wir es jedenfalls nicht, da ein Büro im Eigenheim gemäß der Miami Beach-Statuten nur dann erlaubt ist, wenn man keine Besucher empfängt – und keine Werbung vor der Haustür macht.

4. November 2009: Feuriger Fuchs

Firefox ist ja schon seit nunmehr etlichen Jahren mein Browser der Wahl. Weniger aus philosophischen oder sicherheits-technischen Gründen, sondern schlichtweg wegen der Funktionalität, die durch diverse Add-Ons geboten wird. Nachdem ich erst letztens wieder erfahren musste, dass man sich besser notiert was einem lieb geworden ist, hier mal eine ebensolche Liste der bei mir installierten Add-Ons:

Adblock Plus Hinweg mit den teils dreisten Werbebannern (und einigen Signaturen in Foren)
All-in-one Gestures Mouse-Gestures – geht es noch ohne?
Brief Praktischer RSS-Reader
Delicious Bookmarks Bookmarks direkt aus dem Browser heraus ablegen
Deutsches Wörterbuch Damit die Rechtschreibprüfung auch auf deutsch funktioniert
Dictionary Switcher Um die Rechtschreibprüfung schnell umzustellen
Locationbar² Zum schnellen navigieren im URL-Feld
New Tab King Prima Homepage/Neuen Tab-Ansicht
Perspectives Damit SSL auch sicher ist
Searchbar Autosizer Platz dort, wo man ihn braucht
Web Developer Klasse Toolbar, mit der man auch Webseiten austricksen kann
Xmarks Klasse Bookmark-Synchronisation

2. Oktober 2009: Schon wieder?

Das die Welt schlecht ist, hatte ich ja bereits zuvor erwähnt (wobei das seinerzeit eher ein Speicherproblem gewesen zu sein scheint). Aber das ich so wahnsinnig beliebt bin, habe ich dann doch nicht gedacht. Nachdem ich einen Beitrag von Gunnar Wolf gelesen habe, musste ich doch mal auf meinem öffentlich zugängigen Linux-Rechner nachschauen. Und siehe da:

Oct 2 05:24:25 lantan sshd[28580]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=221.234.43.137 user=root
Oct 2 05:24:30 lantan sshd[28584]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=221.234.43.137 user=root
Oct 2 13:00:08 lantan sshd[11050]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=ds150.reliablehosting.com user=root
Oct 2 13:00:11 lantan sshd[11062]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=ds150.reliablehosting.com user=root

Dergleichen erscheint 11185 Mal in meinem Log. Es scheint sich dabei wohl um ein globaleres Problem zu handeln. Fragt sich nur, was damit bezweckt wird. Der Login mittels root ist selbstredend deaktiviert, daher gibt es eigentlich keinen Grund zur Sorge. Dennoch habe ich das entsprechende Port-Forwarding jedoch vorerst deaktiviert (Sorry, Flo).