SucheBlog abonnierenVerwaltung des BlogsKategorienKontaktMarkus Brückner |
Donnerstag, 30. April 2009Kaputte Tages-/Wochenansicht im KOrganizer KalenderSo ein paar Geburtswehwechen hat mein frisch installiertes Kubuntu 9.04 dann doch. Nachdem ich etwas länger aus Google Earth einklopfen musste und auch ein Bug im Handling von USB-Sticks schon behoben werden wollte (wenn man einen, der in Benutzung ist, über den Device Notifier auswerfen will, dann friert der ein. Patch ist im Upstream bereits drin.), war nun nur noch das Problem mit dem KOrganizer zu beheben. In der Tages-, Wochen- und Arbeitswochenansicht war nix zu sehen (vgl. passender Bug im Launchpad). Blöd, wenn man wie ich das Teil eigentlich recht exzessiv nutzt (ehrlich mal: ich würde meine Seminare vergessen ohne das Ding). Der Übeltäter ist folgender Eintrag in der ~/.kde/share/config/korganizerrc: [Views]
Der gibt die Trennung zwischen der Zeittafel und den zeitunabhängigen Events in den entsprechenden Ansichten an. Deswegen ist das auch in der Monatsansicht kein Problem: dort gibt es diesen Trenner nicht. Wenn man statt 0,0 sinnvolle Werte einsetzt (ich hab bspw. 800,600 eingesetzt und dann im GUI das wieder zurechtgezogen), dann ist alles wieder wie gewohnt. Eigentlich sollte das Problem laut Bugreport in 4.2.2 gefixt sein (was ich hier installiert habe). Ist es wohl aber für mich nicht. Mal kommentieren... Sonntag, 26. April 2009Google Earth Error Code 29Wenn's mal wieder länger dauert... Jetzt hab ich doch einige Zeit versucht auf meinem 64-Bit-Kubuntu 9.04 Google Earth ans Laufen zu kriegen. Blöderweise verabschiedet sich das Programm immer mit Error 29, wenn es startet und stellt dann nichts dar. Folgender Thread enthält die Lösung des Rätsels: Auf einem 64-Bit-System sind normalerweise nicht unbedingt alle Bibliotheken installiert, die GE so erwartet (es ist ja leider "nur" ein 32-Bit-Programm). In meinem Fall fehlte lib32nss-mdns. Nach einer Installation beschwert es sich wieder über das bekannte OpenSSL-Problem (die GE-eigene libcrypto im Programmverzeichnis ist der Übeltäter. Einfach löschen und schon geht's) und wenn man das auch noch behoben hat, dann läuft das ganze. Einfacher geht's zumindest unter Ubuntu mit aptitude install googleearth-package. Danach kann man sich mit make-googleearth-package ein Debian-Paket bauen, welches die nötigen Dinge tut, damit alles funktioniert. Donnerstag, 12. Februar 2009Eclipse ohne Code CompletionEclipse ist ja auch gerade wegen der Code Completion die Java-IDE. Blöd nur, wenn die nicht tut. Wenn weder nach Eingabe eines Punktes noch nach Strg+Space die erwartete Vervollständigung kommt, sondern stattdessen in der Statusleiste nur "No completions available" erscheint, dann hat man unter Umständen in den Projekteinstellungen oder in den generellen Einstellungen für den Java-Editor (unter Window->Preferences: Java->Editor->Content Assist->Advanced) die Vervollständigung verkonfiguriert. Im Zweifelsfall einfach in beiden Listen alle Einträge aktivieren (die obere Liste ist das, was im normalen Assitententenpopup hochploppt, die untere das, wo man mit Strg+Space durchschalten kann). Aus irgendeinem Grund war das bei mir verpfriemelt (ich hab ja das JBoss-Plugin in Verdacht, kann ihm aber nix nachweisen *grml*) und ich hatte daher keine Code-Completion mehr. Naja, wieder mal was gelernt und gestandene Eclipser zum Rätseln gebracht. Samstag, 31. Januar 2009Mein Google mag mich nicht mehrHm, mag mein Google mich nicht mehr, weil ich auf meine Privatsphäre achte und seine Cookies blockiere? Oder mag mein Google keine Dateisystemverschlüsselung? Fragen über Fragen... ![]() Mein Google ist kaputt... Dienstag, 18. November 2008Pylons und Elixir + Session-HandlingWer mal entspannt Webapplikationen entwickeln will/muss, dem sei Pylons ans Herz gelegt. Nettes Framework, noch einige kleinere Ecken, aber schonmal sehr angenehm zum Entwickeln geeignet. Meist liegt hinter einer Webapplikation ja ein entsprechendes Datenmodell in Form einer Datenbank. Um die bequem ansteuern zu können (SQL von Hand zu coden ist mittlerweile definitiv nicht mehr schön) bringt Pylons eine Integration für SQLAlchemy mit. Nun ist SQLAlchemy flexibel und mächtig, dafür aber manchmal etwas komplexer als nötig. Für viele Anwendungsfälle reichen die Möglichkeiten, die Elixir mitbringt (Elixir ist eine auf SQLAlchemy aufsetzende Bibliothek, die einen deklarativen Stil zur Erstellung des Datenmodells ermöglicht). Mit diesem Trio kann man schonmal recht viel Interessantes tun. Blöd nur, wenn man ein wenig faul bei der Einbindung der verschiedenen Module ist. Dann kann es nämlich dazu kommen, dass plötzlich folgende Fehlermeldung auftritt, wenn man versucht was in der Nutzersession im Pylons zu speichern: TypeError: 'ScopedSession' object is unsubscriptable Der Datentyp deutet es an: das session-Objekt von Pylons ist unter diesem Namen nicht verfügbar. Der Fehler ist simpel: im Datenmodell der Applikation stand mal from elixir import * (um Schreibarbeit bei den Elixir-Datentypen zu sparen). Im Controller wiederum wurde das Datenmodell mit from app.model import * importiert. Tja... Elixir definiert dummerweise ein eigenes session-Objekt, welches durch diese Import-Kette in den Namensraum der Applikation gerät und dort dann das eigentliche Pylons-Objekt überschreibt. Als Lösung bleiben drei Möglichkeiten: man kann den Import im Datenmodell in import elixir ändern und allen Datentypen ein elixir. voransetzen, die benötigten Elixirtypen mittels from elixir import Field, .... im Datenmodell importieren (und dabei keinesfalls session mit reinnehmen) oder in der Applikation das Datenmodell mittels import app.model as m und dann jedem Zugriff auf Elemente des Modells ein m. voranstellen. Danach hat man wieder wie gewünscht Zugriff auf seine Session und kann Daten darin speichern und daraus lesen. Montag, 20. Oktober 2008QWidget auf minimal notwendige Größe bringenManchmal kann man sich auch einen Wolf suchen. Ziel war: ein Widget in dem sich mehrere Children befinden (QLineEdit, Checkboxen, QTableView) immer auf die minimal notwendige Größe zu bringen. Das gilt speziell dann, wenn der QTableView unsichtbar wird. Mit etwas um die Ecke denken geht's: widget->setMaximumHeight(0). (Im dem Fall ging es nur um die Höhe). Muss man erstmal drauf kommen... Update: Unsinn gelöscht. Man schaue sich mal QWidget::adjustSize() an... Donnerstag, 28. August 2008PyQt4 und QAbstractItemViewNach zweitägiger Suche: Python und QT können manchmal sehr hässlich zusammenstoßen, wenn es um die Lebensdauer von Objekten geht. Folgender Code:
class MainWindow(QMainWindow):
[...]
def initTreeView(self, top_level_cats):
model = CategoryModel(top_level_cats)
self.treeview.setModel(model)
[...]
Sieht an sich erstmal unverdächtig aus: ein Model wird erzeugt (wie auch immer geartet) und dem Ein winzig kleine Änderung des Codes bringt die Lösung. Hier fast die gleiche Funktion:
class MainWindow(QMainWindow):
[...]
def initTreeView(self, top_level_cats):
self.model = CategoryModel(top_level_cats)
self.treeview.setModel(self.model)
[...]
Der einzige Unterschied: statt einer lokalen Variable ist Eigentlich logisch. Wenn man's einmal weiß... Sonntag, 24. August 2008Eclipse Ganymede und SubversionDer Titel sagt es schon: es geht um Eclipse Ganymede und Subversion. Beides meiner Meinung fantastische Tools zur Softwareentwicklung, in Kombination allerdings gerade etwas zickig. Das Problem: bei Eclipse Europa (3.3) wurde meist für die Subversion-Integration das Plugin Subclipse verwendet. Für Ganymede (3.4) gibt's das allerdings noch nicht. Dafür gibt es ein neues Plugin direkt im Ganymede-Repository: Subversive. Dieses Plugin soll wohl bald standardmäßig in Eclipse integriert werden. Es ist quasi deckungsgleich mit dem schon bestehenden CVS-Plugin und integriert sich sehr gut in die Oberfläche. So schick das Plugin ist: mir scheint, die Eclipse-Jungs und -Mädels haben bei der Zusammenstellung von Ganymede gepennt. Dummerweise ist nämlich der eigentliche Team-Provider integriert, die Library zum Zugriff auf die SVN-Repositories allerdings nicht. Die darf man sich zu Fuß nachinstallieren. Dabei darf man sich dann auch noch entscheiden, welche man nimmt. Ich hab mich letztlich für SVNKit entschieden, weil mir die Idee gefällt, allen Kram gleich in Java abzuwickeln, statt externe Libs einbinden zu müssen. Dummerweise begrüßt mich mein Eclipse bei der Installation von SVNKit mit folgenden Zeilen: Cannot find a solution where both Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.1.I20080612-1500,0.7.1.I20080612-1500]] and Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0)] can be satisfied. Unsatisfied dependency: [org.polarion.eclipse.team.svn.connector.svnkit.feature.group 2.0.2.I20080801-1500] requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0) Unsatisfied dependency: [org.polarion.eclipse.team.svn.connector.svnkit.feature.group 2.0.2.I20080801-1500] requiredCapability: org.eclipse.equinox.p2.iu/org.polarion.eclipse.team.svn.connector.feature.group/0.0.0 Unsatisfied dependency: [org.polarion.eclipse.team.svn.connector.svnkit15.feature.group 2.0.2.I20080801-1500] requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0) Unsatisfied dependency: [org.polarion.eclipse.team.svn.connector.svnkit15.feature.group 2.0.2.I20080801-1500] requiredCapability: org.eclipse.equinox.p2.iu/org.polarion.eclipse.team.svn.connector.feature.group/0.0.0 Unsatisfied dependency: [org.polarion.eclipse.team.svn.connector.feature.group 2.0.2.I20080801-1500] requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0) Ja, diese Fehlermeldung ist auch im Original so unlesbar. Nach längerem Suchen bin ich in einem Blog auf die Lösung gestoßen: Seit 3. August möchte SVNKit eine neuere Version von Subversive haben (oder andersrum, so 100% schlau bin ich noch nicht draus geworden). Die ist dummerweise nicht in den Ganymede-Repositories, sondern muss unter http://download.eclipse.org/technology/subversive/0.7/update-site/ extra bezogen werden. Diese URL packt man in die Update-Site, muss sie dann noch einmalig via "Manage Sites..." aktivieren und schon kann man sich ein neueres Subversive installieren, was dann auch mit SVNKit spielen mag. Schade, dass die Standardintegration in Ganymede so kaputt ist. Bis zum Nachfolger dauert es ja doch ein wenig und bis dahin sind wahrscheinlich schon einige an Subversion und Eclipse verzweifelt und benutzen glatt wieder CVS *brrrr*... Update: Wie Deka in den Kommentaren angemerkt hat scheint es mit Subclipse 1.4 wohl doch einen Release für Ganymede zu geben. Dienstag, 15. Juli 2008GPS-Tracks aufbereitenWer öfter mit GPS-Tracks arbeitet – für OpenStreetMap, Geocaching [auch wenn man da neuerdings aufpassen muss, dass man nicht gleich als Terrorist abgestempelt wird] oder auch nur zur persönlichen Analyse beim Joggen/Radfahren) – der dürfte sich über ein Programm wie GPSBabel freuen. Zwar nur ein Kommandozeilentool (mit Frontends für Windows und MacOS), aber dafür sehr mächtig. Es konvertiert von und zu x Speicherformaten (und ebnet so nach eigener Darstellung den "GPS-Turm vom Babel" ein) und bietet einen Haufen Nachbearbeitungsmöglichkeiten für die Tracks, die so aus manchen Geräten rausfallen. Ein Beispiel: ein Urlaubstrack aufgezeichnet mit Medion GoPal 4. Intervall 1 Sekunde (was anderes kann das Medion IMO nicht) bedeutet in diesem Fall (Fahrt nach Kroatien, 5 Tage Segeln) mehrere Tracks mit insgesamt ~6MB Größe. Ziel ist es, die Tracks zu einem zusammenzusetzen und deutlich zu vereinfachen. gpsbabel -i gpx -f 1.gpx -i gpx -f 2.gpx -i gpx -f 3.gpx -i gpx -f 4.gpx -i gpx -f 5.gpx -x track,merge,title="Urlaub komplett" -x simplify,crosstrack,error=0.002k -o gpx -F urlaub.gpx Dieses Kommando setzt die Dateien [1-5].gpx zu einem Track zusammen, versieht den mit dem Titel "Urlaub komplett" und vereinfacht den Gesamtweg so, dass die Form erhalten bleibt (bei einem maximalen Fehler von 2 Metern, d.h. der neue Track-Verlauf weicht maximal 2m vom alten ab, was sowieso unter der Toleranz des GPS-Gerätes liegt). Auf diese Weise werden aus 5 Dateien mit einer Gesamtgröße von ~6MB eine mit 833kB. Wenn man jetzt am Ende das -o gpx... noch ersetzt durch -o kml -F urlaub.kml, dann kann man sich den Track gleich direkt in Google Earth anschauen. Das Programm läuft auf allen gängigen Betriebssystemen, auch wenn die Windows- und Mac-User wahrscheinlich ob der Kommandozeilenbedienung weinen. Aber die können sich ja mal die grafischen Frontends anschauen, die allerdings nicht komplett alle Möglichkeiten des zugrundeliegenden Programms bieten. Samstag, 12. Juli 2008Transystem i-Blue 747Transystem hat mit ihrem i-Blue 747 eine schnuckelige GPS-Empfänger/Logger-Kombination im Angebot. Nachdem ich bisher für OpenStreetMap immer mit einem GoPal getrackt habe, wollte ich mir endlich mal einen richtigen Tracker gönnen. Die Vorteile liegen auf der Hand: kleiner, leichter, weniger fehleranfällig. Mit dem GoPal lässt sich zwar im Auto etc. wunderbar tracken, aber wenn man es in die Jackentasche steckt, dann nervt es ein wenig, dass man den Bildschirm nicht ausschalten kann. Braucht unnötig Strom und macht das Gerät aufgrund der Touchscreenbedienung anfällig gegen Fehlbedienungen durch Berührung. Also für Wandern, Radfahren etc. ein eigener Tracker... Ursprünglich hatte ich mich anhand der Hardwareliste von OpenStreetMap auf das Wintec WBT-201 eingeschossen, welches anscheinend genau meine Anforderungen erfüllt. Durch den Test bei kowoma.de kam ich zusätzlich noch auf den i-Blue als Alternative. Der hat(te) zwar wesentlich weniger Speicher (70k vs. 131k Datenpunkte), war allerdings auch ~30 billiger. Nachdem sich der Kauf nun noch ein paar Wochen hinausgezögert hatte, hat Transtec das Rennen gemacht: sie haben den i-Blue in einer neuen Variante auf den Markt geworfen, die den doppelten Speicher hat und damit ~150k Datenpunkte speichern kann. Mehr als genug für meine Ansprüche und deutlich günstiger als der Wintec. Anfang der Woche bestellt, heute bekommen. ![]() i-Blue 747 So sieht das gute Stück aus. Zum Größenvergleich ein 20-¢-Stück daneben. Recht übersichtlich also und mit knapp 70g auch nicht schwer. Die Bedienung ist absolut simpel: entweder man betreibt ihn im Modus NAV, dann ist er ein reiner NMEA-kompatibler Empfänger und reicht die Daten via USB oder Bluetooth an PC/PDA/etc. raus. Betreibt man ihn hingegen im Modus LOG, dann zeichnet er zusätzlich zum Weiterreichen die Daten auch noch auf seinem internen Speicher auf. Mit einer Software kann man vom PC aus einstellen, was er aufzeichnen soll (Längen- u. Breitengrad, Höhe, Geschwindigkeit etc.pp) und unter welchen Bedingungen (alle x Sekunden von, alle x Meter oder über x km/h). Der Knopf in der Mitte des Geräte dient zum Setzen von Wegpunkten: drückt man ihn, dann speichert das Gerät den aktuellen Datensatz mit einem Vermerk und man kann das später als Wegpunkt auslesen. Sehr praktisch, wenn man beim Tracken was interessantes sieht und sich merken will, wo's war. Das war's auch schon am Gerät selbst. Geladen wird via USB, wobei ein Verbindungskabel zum PC, ein Netzteil und ein Stecker für's Auto beiliegen. Ein kleines Problem gibt es (wie üblich) für mich: Software zum Auslesen des Gerätes liefert der Hersteller nur für Windows. Wäre ja auch zu schön... Als NMEA-kompatibler Empfänger stellt er kein Problem dar. Steckt man das Gerät per USB an, hat man plötzlich eine neue serielle Schnittstelle /dev/ttyUSB0 (oder äquivalent), die der gpsd mit Freuden abfragt und die entsprechenden Daten generiert. Damit funktionieren sämtliche linux-basierten Navigations- und Trackingprogramme. Das ganze soll auch problemlos via Bluetooth funktionieren, was ich allerdings noch nicht probiert habe. An die Logs ranzukommen ist schon schwerer. Das Gerät präsentiert sich leider wie alle anderen auch nicht als USB-Massenspeicher, sondern will via serieller Schnittstelle dazu gebracht werden, die Daten rauszurücken. Die kanonische Antwort auf dieses Problem lautet: bt747, ein Java-Programm zum Auslesen und Konfigurieren der Geräte. Dummerweise konnte ich das bisher nicht ans Laufen kriegen, weil mit javax.comm fehlt, von dem mir Sun erzählt, dass es grad nicht zu haben sei. Glücklichweise hat sich jemand hingesetzt und ein Perl-Skript geschrieben, was das gleiche tut: mtkbabel. Funktioniert ebenso, auch wenn es nicht ganz so einfach zu bedienen ist. Wichtigster Aufruf: alle Daten vom Gerät laden: ./mtkbabel -s 115200 -l off -f track -w -t -a legt drei Dateien an. Eine binäre, die direkt vom Gerät kommt, eine track_trk.gpx, die den aufgezeichneten Weg enthält und eine track_wpt.gpx, die die per Knopfdruck aufgezeichneten Wegpunkte enthält. In JOSM geladen sieht das dann so aus: ![]() Daten im JOSM Zu sehen sind hier zwei überlagerte Strecken (Hin- und Rückfahrt) und ein Wegpunkt (das kleine Kreuz mit der Nummer 001). Die Aufzeichnungsqualität ist gut, das Gerät findet seine Satelliten schnell und arbeitet zuverlässig. Nur das Standardaufzeichnungsintervall von 5 Sekunden sollte man evtl. etwas kürzer einstellen (bspw. per mtkbabel). Ich bin im Moment bei zwei Sekunden. Mal noch ein wenig testen, was da brauchbar ist. Insgesamt ein sehr schickes Gerät. Mal schauen, was die Zeit bringt und ob es im Dauereinsatz hält, was es bisher versprochen hat. Es gibt ja noch einige Orte hier in der Umgebung die getrackt werden wollen... Dienstag, 3. Juni 2008Wii WhiteboardJohnny Chung Lee stellt auf seine Webseite einige Projekte mit der Wii Remote vor, die ziemlich cool sind. Das Wii Whiteboard musste ich mir gleich mal nachbauen. Andere Projekte wie das VR Display sind noch in Planung. Außerdem gibt es da noch so Ideen bzgl. Tracking von Personen und Objekten in der Pipeline... Video vom Test des Systems gibt es hier (das Video steht unter einer Creative Commons Lizenz). Donnerstag, 24. April 2008dm-crypt-Container SkripteIm Linux-Kernel eingebaut ist ja nun schon seit geraumer Zeit das Crypt-Target des Device-Mappers, mit dem sich transparent ganze Partitionen auf der Platte verschlüsseln lassen. Das verwende ich schon länger um mein Notebook komplett zu verschlüsseln und so im Falle eines Diebstahls/Verlustes wenigstens nicht gleich meine ganzen privaten Daten im Netz zu finden. Für ein Projekt brauche ich in Zukunft allerdings ein wenig mehr: einen Container, der im normalen Betrieb nicht offen ist, sondern nur wenn ich mit den Daten arbeite, die sich darin befinden (man weiß ja nie, ob nicht unter Umständen unter dem eigenen Nutzer mal was Amok läuft). Recht bequem löst man das mit TrueCrypt: Container anlegen, im TrueCrypt auf "Mounten" klicken, Passwort eingeben, fertig (so zumindest unter Windows. TrueCrypt unter Linux hab ich noch nicht benutzt). Nun will ich mir nicht noch ein Tool installieren, schließlich hab ich mit dm-crypt schon ein erprobtes zur Verfügung. Leider kann dieses nur Devices verwalten und keine Dateien als Container direkt ansprechen. Macht aber nichts, wozu gibt es loop-Devices? Die Schritte sind also ganz einfach: loop-Device auf der Container-Datei anlegen, mittels cryptsetup öffnen lassen und unter einem Mountpoint einhängen. Weil mir das zuviel Tipperei ist, hab ich zwei einfache Skripte zusammengebaut, die den kompletten Ablauf übernehmen. Skript #1 ist zum Öffnen eines Container da. Einfach: mount_container.sh
#! /bin/bash
if [ x$1 == x ]; then
echo "Usage: $0 <imagefile> <mountpoint>"
exit 1
fi
DIRECTORY=$(dirname $1)
IMAGENAME=$(basename $1)
CUR_DIR=$(pwd)
if [ ! "x$DIRECTORY" == x ]; then
cd "$DIRECTORY"
fi
IMAGEPATH=$(pwd)/"$IMAGENAME"
MAPPERNAME=$(echo "$IMAGEPATH" | sha1sum | cut -d" " -f 1) # we use the sha1sum of the image path as mapper device
echo "Mapping $IMAGEPATH to device /dev/mapper/$MAPPERNAME"
MP_TMP=$(losetup -a | grep "$IMAGEPATH" | cut -d':' -f 1)
if [ x$MP_TMP == x ]; then
echo "Setting up loop device"
losetup -f "$IMAGEPATH"
fi
DEVICE=$(losetup -a | grep "$IMAGEPATH" | cut -d':' -f 1)
C_TMP=$(cryptsetup status $MAPPERNAME | grep " active")
echo $C_TMP
if [ x$C_TMP == x ]; then
echo "Opening LUKS device $DEVICE"
cryptsetup luksOpen "$DEVICE" $MAPPERNAME
fi
mount /dev/mapper/$MAPPERNAME "$2"
Irgendwann ist die Arbeit im Container dann mal beendet und man möchte ihn wieder aushängen. Dazu gibt es das Skript umount_container.sh
#! /bin/bash
#! /bin/bash
if [ x$1 == x ]; then
echo "Usage: $0 <mount point>"
exit 1
fi
MAPPER_DEVICE_NAME=$(mount | grep "$1" | cut -d' ' -f 1 | cut -d'/' -f 4)
if [ x$MAPPER_DEVICE_NAME == x ]; then
echo "$1 is not a mounted device."
exit 1
fi
if [ x"$(cryptsetup status $MAPPER_DEVICE_NAME | grep ' active')" == x ]; then
echo "$1 does not seem to be a mounted dm-crypt device"
exit 1
fi
umount "$1"
DEVICE=$(cryptsetup status $MAPPER_DEVICE_NAME | grep device: | cut -d ' ' -f 5)
cryptsetup luksClose $MAPPER_DEVICE_NAME
LO_TMP=$(losetup -a | grep "$DEVICE")
if [ ! x"$LO_TMP" == x ]; then
losetup -d "$DEVICE"
fi
Angelegt wird der Container ganz klassisch als Tipp: Wenn man den Container als normaler Benutzer verwenden will (also ohne root-Rechte), dann sollte man als root einmalig nach dem Anlegen und Einhängen ein Freitag, 4. April 2008Musik online kaufen oder "Kunden vergraulen für Dummköpfe"Ganz ehrlich: ich hab's versucht. Ich habe mich auf die Suche nach einer Möglichkeit gemacht, ein wenig Musik zu kaufen. Kann ja nicht so schwer sein. Ich mein: die da, der da, die da oder auch die da haben ja die entsprechenden Grundlagen dafür geschaffen. DSL und Co. sind auch vorhanden, eigentlich sollte alles glatt laufen. Eigentlich... Doch von vorn. Ich habe ein paar Anforderungen an den potentiellen Verkäufer meiner Musik:
So, meine Anforderungen wären also dargelegt. Eigentlich finde ich die gar nicht so schwer erfüllbar. Kommen wir also zu den Kandidaten:
Tja... und nun? Ich habe hier eine Liste mit 19 Liedern, die ich gern kaufen würde. Könnten durchaus mehr werden. Man hört mal hier, mal da was, was einem gefällt (im Moment ganz gern mal bspw. Apocalyptica oder Nightwish). Blöd nur, dass keiner mein Geld haben will. Aber naja, demnächst darf ich mir bestimmt wieder irgendwo anhören, wie schlecht es doch der Musikindustrie geht. Zu recht, wie ich sagen muss. Zu recht... Ach ja, weil ich mich ja eigentlich aufregen wollte: IHR VERDAMMTEN FLACHZANGEN IN DEN CHEFETAGEN DER MUSIKINDUSTRIE! KOKST MAL EIN PAAR GRAMM WENIGER AM TAG UND HÖRT AUF EURE KUNDEN: SCHATTENGEFECHTE MIT IRGENWELCHEN DOWNLOADERN KOSTEN GELD UND BRINGEN KEINS. UND POTENTIELLE KUNDEN GÄNGELN UND VERGRAULEN IST KEIN GESCHÄFTSMODELL! SEID IHR EIGENTLICH ALLES ABGEBROCHENE BWL-ERSTSEMESTER? So, und was mach ich jetzt mit der Kohle? Röllchen draus drehen und auch anfangen zu koksen? Ich mein: immerhin würde ich mir damit vielleicht den Schädel kaputt genug kriegen um die aktuellen Angebote nutzen zu wollen. Sonntag, 10. Februar 2008Dinge, die man mit einem Navi tun kann...Wie kriegt man lauter Nerds an die frische Luft? Ganz einfach: man macht ein Projekt wie OpenStreetMap auf und schon treiben die sich haufenweise draußen rum. Warum? Nun, ganz einfach: es kommt einfach alles zusammen. Freie Sachen (in dem Fall Kartendaten), Technik (GPS), ein klein wenig Selbstdarstellung (Hey, ich kenn mich hier aus! Ich kann die Straßen richtig einzeichnen!) und die Möglichkeit, nen Haufen Kram zu spielen (wer wollte nicht schon immer mal ne Navi-Software programmieren?... Ok, wahrscheinlich alle normalen Leute nicht, aber um die geht's ja hier nicht.). Worum geht es? Wikipedia kennt mittlerweile jeder, der sich schonmal länger als 3 Minuten im Netz rumgetrieben hat. Aus einem anfänglichen Spielprojekt für ein paar Leute ist eine umfassende, aus aller Welt gepflegte Enzyklopädie geworden, die zu den meistbesuchten Seiten im Netz gehört. Kollaboratives Wissen, je nach Sichtweise mal das beste seit geschnitten Brot oder der Untergang des Abendlandes, als durchschlagender Erfolg. Nicht schlecht für eine Netzgemeinde, die nach Ansicht einiger Leute nur Pornos und Gewaltspiele kann. "Können wir auch.", mögen sich die Initiatoren von OpenStreetMap gedacht haben. Die Wikipedia-Idee angewandt auf Kartendaten: jeder, der mag und kann trägt was bei. Seien es GPS-Daten, Straßenzüge, Namen, Höhenlinien, was auch immer man in einer Karte unterbringen kann. Die, die sich mehr für Software interessieren können diese Daten verwenden: in Renderen, die druckfertige Versionen erzeugen, Navigationskerneln, Filterprogrammen für spezialisierte Karten (Karte von der Isle of Man gefällig? Gibt's bei Navteq, Teleatlas und Co. nicht zu kaufen.) etc. Tja und zuguterletzt profitieren auch die, die nichts beitragen können oder wollen: Anfahrtsskizze auf der Webseite oder im Werbeblättchen? Bitte nicht von Google Maps und Co. Gibt Ärger mit dem Urheberrecht. Mit OpenStreetMap-Daten hingegen kein Problem. Kurzum: eine rundrum praktische Sache, das. Warum der Seromon? Nun, ich bin (eigentlich "wir", meine bessere Hälfte hat's auch erwischt) seit einigen Wochen OSM-süchtig. Wo es geht läuft das Navi und zeichnet GPS-Tracks auf. Immer wenn Zeit ist, werden diese mit JOSM in Kartendaten umgewandelt und auf die Projektwebseite hochgeladen. Erstaunlich, was man dabei so alles lernt (beispielsweise dass Gemeinden selbst Landstraßen als "nicht von überregionaler Bedeutung" erklären lassen, damit sie sie im Winter einfach sperren können, statt sie zu räumen) und wieviel man zum Wandern kommt (Ilmenau Lindenberg? Leichteste Übung.). Kurzum: Leute, bastelt OpenStreetMap-Daten! Wer ein Navi oder ein Handy mit GPS oder sonst irgendwas in der Richtung hat: mittracken, was das Zeug hält, Daten hochladen und freuen, wenn jemand Straßen draus macht. Macht Spaß und man lernt immer wieder neue Dinge seiner Umgebung kennen. So, jetzt nur nur noch Navikernel basteln... Sonntag, 2. Dezember 2007Wenn der ejabberd nicht will...Weil ich grad nen halben Tag gesucht habe: wenn der ejabberd zwar startet, aber keinerlei Ports öffnet und irgendwie nicht mehr reagiert, dann sollte man mal checken, ob der an seine Config kommt. Bei mir war es ein verwürfelter Owner von /etc/ejabberd/, der verhindert hat, daß er sein Configfile einlesen konnte. Blöd ist: sonst loggt das Teil jeden Sch***, aber bei so nem gravierenden Fehler herrscht im Logfile Schweigen. *gnaaa*
« vorherige Seite
(Seite 2 von 8, insgesamt 112 Einträge)
» nächste Seite
|