Kategorien
PC & Accessoires Sonstiges

DSL – Nur noch eine Frage der Zeit .. UPDATE

Wir aktivieren Ihren Anschluss am 02.07.2009.

Aha. Also noch weitere zwei Wochen ohne Internet daheim. Mindestens. Aber bestimmt klappt alles reibungslos. *hust*

Kategorien
PC & Accessoires Wordpress

Google Analytics

Mithilfe eines tollen Plugins, jetzt alles noch einfacher 🙂

analytics

Kategorien
PC & Accessoires Sonstiges

DSL – Nur noch eine Frage der Zeit

Arcor-Kunden-Service-Center

Kategorien
Arbeit PC & Accessoires Sonstiges

10 Dinge die man an einem Sonntag machen sollte ..

  1. Ausschlafen 
  2. Frühstück mit Brötchen und Croissants 
  3. Wählen gehen 
  4. Pirat werden 
  5. Einen Sommerregen genießen 
  6. Einen Sommerregen verfluchen, weil man gerade durch die Stadt radelt 
  7. Ein gutes Gefühl haben, weil man seine Bürgerpflicht erfüllt hat 
  8. Einen Flug nach England (beinahe) buchen 
  9. Seine Festplatte neu organiseren 
  10. einen sinnlosen Beitrag in seinen Blog schreiben 
Kategorien
PC & Accessoires Sonstiges Spass

You bought some stuff…

monkey-island-preorder

Kategorien
Linux

Ubuntu + Openoffice 3.1

Weil es schon ne Weile die 3.1er Version gibt, und standardmässig nur die 3.0 installiert wird, hier eine kleine Hilfestellung:

  1. Hinzufügen der Quelle zu den /etc/apt/sources.list
    deb http://ppa.launchpad.net/openoffice-pkgs/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/openoffice-pkgs/ppa/ubuntu jaunty main
  2. Dann noch den passenden Schlüssel hinzufügen:
    sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 60D11217247D1CFF
  3. Updaten & Upgraden
    sudo apt-get update
    sudo apt-get upgrade
Kategorien
Linux

Postbox unter Linux

Ich mag Postbox. Leider gibt es (noch) keine native Linux-Version. Aber unter WINE läuft es bisher prima. Hier eine kleine Anleitung für (K)Ubuntu:

  • Wine installieren (neuste Version, siehe hier)
  • Postbox herunterladen und über WINE installieren, z.B.
    wine postbox-1.0b12-win32.exe
  • Danach einfach nur Postbox mittels WINE starten, z.B.
    /usr/bin/wine ~/.wine/drive_c/Programme/Postbox/postbox.exe

Funktioniert. Ein paar grafische Bugs gibt es, aber bisher klappt alles wie gewohnt und sehr stabil.

UPDATE: Ok, kleines Problem existiert doch. Beim Verfassen von E-Mails sieht es so aus:
bildschirmfoto1
Ist aber nur ein Darstellungsfehler, die E-Mails sind trotzdem „richtig“ und „lesbar“.

Kategorien
Arbeit PC & Accessoires Studium

Windows 7 und meine Seminararbeit

Damals™, als ich noch Student war, durfte ich mich mit dem Thema „Wie groß ist Windows“ im Rahmen einer Seminarbeit beschäftigen. Damals ging es nicht wirklich um die Inhalte, sondern eher um das Präsentieren. Nunja, inzwischen nimmt Windows 7 konkrete Formen an und ich vergleiche mal meine Prognose mit der Wirklichkeit.

Auf Seite 27 meiner Präsentation habe ich behauptet die Systemanforderungen wären:

  • Jahr 2010
  • 1,8 Ghz CPU
  • 1,6 GB Hauptspeicher
  • 45 GB HDD

Microsoft behauptet jetzt:

  • 1 GHz or faster 32-bit (x86) or 64-bit (x64) processor
  • 1 GB RAM (32-bit) / 2 GB RAM (64-bit)
  • 16 GB available disk space (32-bit) / 20 GB (64-bit)
  • DirectX 9 graphics processor with WDDM 1.0 or higher driver

Naja. Zumindest beim Speicher lag ich einigermassen richtig. Ich bin aber auch sehr froh das es nicht so gekommen ist, wie ich prognostiziert habe. Deshalb schließe ich mit dem Zitat:

„Prognosen sind schwierig, besonders wenn sie die Zukunft betreffen.“

zugeschrieben Karl Valentin, Mark Twain, Winston Churchill u.a.

Kategorien
PC & Accessoires

Festplatte klonen

Seit geraumer Zeit macht sich die Festplatte im PC meines Vaters genüsslich und hörbar bemerkbar. Wird also Zeit für einen Austausch. Geschickterweise ist es auch noch die Festplatte mit Windows drauf, somit wird das also noch besonders interessant.

Ich hatte schon erfolge mit dd_rescue und einer Knoppix-CD, wollte aber mal was neues probieren 🙂 Somit hat mich der David daran erinnert, das ich ihm schon einmal HDClone empfohlen hab.

Also, die Free-Edition besorgt, die ISO-Datei gebrannt und von der CD gebootet. Alles relativ selbsterklärend.

1) Festplatte auf Festplatte auswählen
hdclone_1
2) Quelllaufwerk auswählen (bei mir die 20GB Festplatte) und Ziellaufwerk auswählen (bei mir die 320GB Festplatte)

hdclone_2

4) Optionen einstellen (ich hab alles gelassen wie es ist)
hdclone_3
5) Und STARTEN.

hdclone_4

Dann ist er irgendwann fertig (die Free-Edition ist in der Geschwindigkeit begrenzt) und hat auf der 320GB-Festplatte eine passende Partition erstellt:

hdclone_5Wunderbar. Und Windows bootet auch prima. Herzlichen Glückwunsch zu diesem Programm 🙂

Kategorien
Linux PHP Sonstiges Spass

Quassel – PHP_search

Ich nutze ja schon eine Weile lang Quassel-IRC. Leider durchsucht die Suche nur das bereits vorhandene Backlog (bzw. die „Chathistorie“) und man muss immer erst mühsam bis zum Anfang hochscrollen, damit er sich „mehr“ holt.

Jetzt hab ich einfach auf dem Server auf dem der Core läuft folgendes PHP-Script hinterlegt:

#!/usr/bin/php -q
<?php
$shortopts  = "";
$shortopts .= "h:";
$shortopts .= "u:";
$shortopts .= "c:";
$shortopts .= "s:";

$options = getopt($shortopts);

function getMessage($db, $quasseluser, $channel, $search = null) {
    $quasseluser = sqlite_escape_string($quasseluser);
    $channel = sqlite_escape_string($channel);
    $search = sqlite_escape_string($search);

    $sql = '
        SELECT DISTINCT
                backlog.time AS time,
                sender.sender AS sender,
                backlog.message AS message,
                buffer.buffername AS buffername
        FROM backlog
        OUTER JOIN quasseluser, buffer, sender
        ON (
                quasseluser.username = "'.$quasseluser.'"
                AND
                backlog.bufferid = buffer.bufferid
                AND
                quasseluser.userid = buffer.userid
                AND
                buffer.buffername LIKE "%'.$channel.'%"
                AND
                sender.senderid = backlog.senderid
        )';
    if ($search != null) {
        $sql .= ' WHERE message LIKE "%'.$search.'%";';
    }
    $output = array();
    $longestname = 0;
    foreach ($db->query($sql) as $row) {
        $sender = explode("!", $row['sender']);
        $sendername = $sender[0];
        if (strlen($sendername) > $longestname) {
            $longestname = strlen($sendername);
        }
        array_push(
            $output,
            array(
                date("Y-m-d H:i:s", $row['time']),
                $row['buffername'],
                $sendername,
                $row['message']
            ));
    }
    foreach ($output as $entry) {
        printf("%s (%s) %s : %s\n", $entry[0], $entry[1], str_pad($entry[2], $longestname, " "), $entry[3]);
    }
    printf("Es wurden %u Ergebnisse gefunden.\n", count($output));
}

try {
    $homepath = $options["h"];
    $username = $options["u"];
    $buffer = $options["c"];
    $search = $options["s"];

    if(!$homepath || !$username || !$buffer) {
        $output = "usage: ";
        $output .= __FILE__." -h <path/to/quassel/sqlite> -u <quasseluser> -c <channel/buffer> [-s <string>]";
        die($output . "\n");
    }

    $db = new PDO('sqlite:' . $homepath);
    getMessage($db, $username, $buffer, $search);

} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

Keinerlei Fehlerbehandlung, wenns schiefläuft geht bestimmt irgendwas irreperabel kaputt. Keine Garantie für nichts 🙂 Ein möglicher Aufruf wäre:

14:34:46 pennywise ~# ./searchQuassel.php -h quassel-storage.sqlite -u pennywise -c quassel.de -s foobar
2008-11-03 11:49:01 (#quassel.de) pennywise    : und da war der Bot jetzt halt drin, weil er irgendwas gesagt hat wie "hallo foobar, wilkkommen in der hölle"
2008-11-06 20:35:57 (#quassel.de) pennywise    : kann ich auch ein temporäres netzwerk haben? sowas wie /join irc.server.com/#foobar?
2008-11-12 11:52:56 (#quassel.de) hanswurst    : im core-log steht nur "foobar benutzer x getrennt"

manpage

-h : Pfad zur SQLite-DB von quasselcore. Liegt meist in ~/.config/quassel-irc.org/
-u : Der Benutzer mit dem man sich in quassel einloggt. Dies hat nichts mit der IRC-Identität zu tun.
-c : Der Channel (bzw. das Query) in dem gesucht werden soll. Ist case insensitive und kann auch nur teilweise übergeben werden (z.B. „quassel“ findet „#quassel“, „#quassel.de“ und „quassel-announce“)
-s : OPTIONAL. Der Text nach dem gesucht werden soll. Wenn weggelassen, dann werden alle Nachrichten im übergebenen Channel zurückgegeben

Ich hatte auch noch ne Version mit Prepared Statements, aber die hat beim „$db->prepare($sql)“ einfach kein Statement erzeugt. Ohne Fehlermeldung ohne alles. WTF?!