Archiv der Kategorie: PC-Kram

Meine Lieblingsbeschäftigung :)

Liebe iPhone-Tracking Panikmacher und Kleinreder…

…kommt mal wieder auf den Boden der Tatsachen. Ja, wir wissen es langsam: Die Apple-Ziegelsteine zeichnen Standorte der Nutzer auf und schicken diesen an Apple. Im Netz bildeten sich schnell die zwei üblichen Lager: Die Gruppe, die das ganze zum Weltuntergang hochstilisieren und die Gruppe der Fanboys, die Kritik an ihrem Gerät nicht zulassen können.

Erst mal sollten wir eins festhalten: Diese Erkenntnis ist nicht wirklich neu: Schon letzten Sommer ging das ganze durch die Medien – nur war das Interesse offenbar zu gering. Wer jetzt meint sich groß über diese Tatsache aufzuregen sollte sich mal an die eigene Nase fassen und überdenken, warum er erst jetzt davon Kenntnis erlangt.

Auf der zweiten Seite finden sich immer mehr Leute, die versuchen das Problem aus der Welt zu reden: Telefone müssten ja technisch bedingt immer geortet werden, man würde mit den aktuellen „Social Media“-Diensten mehr Standortdaten preis geben und andere Hersteller würden ebenfalls diese Daten sammeln.

Zur Technik muss ich mit einem klaren „jein“ antworten: Zwar müssen die Netzbetreiber wissen in welcher Funkzelle sich das Handy befindet, die angekreideten Daten gehen aber weit über die technische Notwendigkeit hinaus. Eine Funkzelle hat meist mehrere hundert Meter Umfang, die hier zur Diskussion stehenden Daten enthalten aber neben dieser Zelle auch Informationen aus GPS-Signalen und eine Liste nahe gelegener WLAN-Sendestationen, damit ist der Standort auf wenige Meter bestimmbar.

Das Social-Media-Argument würde ich hier als irrelevant einstufen: Natürlich veröffentlicht man über 4Square, Latitude & Co wesentlich genauere Daten an eine große Nutzerbasis, allerdings freiwillig – man selbst kann entscheiden wann man seinen Standort preis gibt.

Korrekt ist die Aussage, dass auch andere Geräte diese Daten sammeln. Vor allem Google hat diese Technik bereits vor Apple großflächig angewendet: Telefone mit Android und viele Windows-Geräte des Herstellers HTC erheben und nutzen einen ähnlichen Datenbestand. Der Unterschied zu Apple: Die Daten werden nicht über einen Längeren Zeitraum auf dem Gerät gespeichert, zudem war – auf meinen Geräten – die Sammelfunktion standardmäßig abgeschaltet bzw. man musste bei der Einrichtung bestätigen, dass man diese Nutzen möchte. Aber auch, wenn es alle machen: Wird dadurch das Risiko geringer?

Warum die Daten? Für den Nutzer bringt die Aufzeichnung in erster Linie mehr Komfort: Über die so erstellten Datenbanken kann das Gerät schneller, stromsparender und genauer seine Position bestimmen und so z.B. Standortrelevante Suchergebnisse oder z.B. den passenden Wetterbericht bieten. Im Gegenzug wird der Hersteller die Daten vermutlich nutzen, um seine Werbekunden besser zu bedienen: Wenn ich plötzlich statt in München in Berlin auftauche und mit dem Telefon Sehenswürdigkeiten suche zahlen Anbieter von Stadtrundfahrten sicher einen schönen Betrag für diesen Aussichtsreichen Werbeplatz. Zudem gibt es das Risiko, welches jede Datenspeicherung birgt: Die Daten können in die falschen Hände geraten – und was ihr Chef sagt, wenn sie mit dem Firmenwagen einen Umweg über zwielichtige Stadtviertel nehmen kann sich jeder selbst ausmalen.

Mir ist es prinzipiell egal, ob Hersteller solche Daten erheben oder nicht, ich möchte aber selbst bestimmen ob und wann die Erhebung statt findet, die Daten kontrollieren können und nicht durch fadenscheinige App-Voraussetzungen zur Nutzung gezwungen werden. Der Nutzer sollte das Gerät kontrollieren, nicht umgekehrt.

Titanium Backup über ADB starten

Tja, pech gehabt – soeben hat sich mal wieder meine Android-Installation zerlegt – SD-Karten sind nunmal nicht als Systemdatenträger geeignet. Nach dem Lockscreen zeigt sich nur die Meldung, dass der Prozess „acore“ beendet wurde. Kein Homescreen, kein Startmenü. Im Log: I/O error einer Datenbank – nicht nett… Vor einer Neuinstallation würde ich natürlich gerne die Daten sichern, aber wie? Ohne Programmmenü lässt sich das von mir verwendete Titanium Backup nicht starten – oder doch? Wenn USB-debugging aktiv ist lässt sich über ADB einiges retten: Einerseits kann man auch ohne Recovery-System Daten des Systems direkt wegsichern – unter Windows auch Grafisch mit dem Programm „DroidExplorer“, für Linux bastel ich gerade dran. Sicherer fühl ich mich aber eher mit Titanium Backup – das Tool weiß eher was wo zu sichern ist. Android.pk brachte mich auf den richtigen Weg: Über „adb shell“ erhält man einen Konsolenzugang auf das Telefon, mit dem Befehl

am start -a android.intent.action.MAIN -n com.keramidas.TitaniumBackup/.MainActivity

kann man die App manuell starten und auf dem Telefon wie gewohnt seine Daten wegsichern. Nutzer der Free-Version sollten jedoch wenn vorhanden vorher ältere Backups sichern, andernfalls werden die Backups – ggf. mit defekten Daten – überschrieben.

BitBastelei #6: Kinderspielzeug-Hacking – USB-Anschluss für Burgerking-Lampe

BitBastelei #6: Kinderspielzeug-Hacking - USB-Anschluss für Burgerking-Lampe

(59.7 MB) 00:08:49

2011-03-26 04:29 🛈

Was macht man, wenn man als Bastler Kinderspielzeug geschenkt bekommt? Zerlegen und Verbessern! Nun hat der kleine Burgerking-Anstecker mit LED einen USB-Anschluss und kann z.B. neue Mails anzeigen!

Ergänzende Hinweise:
Die gezeigte Schaltung arbeitet mit 5V auf den Daten-Pins – dies entspricht nicht dem Standard und funktioniert eventuell nicht überall. Ggf. kann man wie hier unter B beschrieben Zener-Dioden zwischen Datenleitung und GND schalten.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2011/03/bk-usb-150×150.png

Die Software gibt es unter https://adlerweb.info/files/avr/bk-led/bk-led.tar.bz2 – wie bereits im Video erwähnt handelt es sich im Prinzip nur um das „hid-custom-rq“-Beispiel des Herstellers. Die Original-Lib gibts auf http://www.obdev.at/vusb/

Wo bleibt eigentlich die Twitter-Revolte?

Frueher habe ich soziale Netze nur in sehr geringem Umfang genutzt. Gerade Full-Feature-Netze wie Wer-kennt-wen haben mehr Probleme verursacht als Nutzen gebracht, denn viele Nutzer ohne technischen Hintergrund verstehen die Einschränkungen solch geschlossener Systeme nicht. Zu oft musst ich mir Gemaule anhoeren, dass ich auf dies und das nicht Reagiert haette. Wie sollte ich auch? Wer nicht einen passenden Webbrowser finder und auf die Webseiten schaut hat keine Chance zu erfahren, was innerhalb des Netzes vor sich geht. Mit Twitter hatte sich dies vor einigen Jahren geändert. Anfangs nur als Liveticker zu besonderen Ereignissen konnte sich der Microbloggingdienst in meiner Gunst immer weiter hoch arbeiten. Keine erzwungene Datenangaben, eine klar strukturierte Webseite ohne unnoetigen Ballast und vor allem eine offene Programmierschnittstelle. Dank der vielen Bots, Clients und Tools war es mir ueberlassen was ich mit den Daten hinter Twitter mache. Schnell waren die ersten RSS-Feeds auf Twitter und der Client Marke eigenbau brachte am PC Meldungen zu besonder interessanten Verfolgten. Auch viele Clients von Drittanbietern entstanden, so konnte der Dienst schnell und einfach sogar auf dem Handy genutzt werden. Nur ein Punkt stoerte mich an Twitter: Twitter. Die zentralistische Bauweise koennte ein Problem werden.

Vor gut einem halben Jahr zeichneten sich dann erste dunkle Wolken am Twitter-Himmel: Die Betreiber schalteten die Basic-API ab und erlaubten fortan Drittanbietern nur noch ueber OAuth zu kommunizieren. Was fuer die Nutzer ein Plus an Sicherheit bietet hat fuer Programmierer einen gewaltigen Schwachpunkt: Der Betreiber hinter Twitter bestimmt wer die API nutzen darf. Ohne Registrierung laeuft nichts mehr.

Kurz drauf saegte Twitter am naechsten Standbein: Die Webseite wurde „modernisiert„. Statt simpler und funktioneller Bauweise begruesst einen nun ein Javascript-Monster, welches auf vielen PCs unbenutzbar ist. Auch bei den Clients hat sich etwas getan: Twitter kaufte einige der Hersteller von Twitter-Clients und bot fuer einige Systeme eigene Clients, welche jedoch eher durch Fehlfunktionen und fehlende Funktionen auf sich aufmerksam machten und einige Diskussionen bei Entwicklern ausloeste. . Stoeren tat es die User eher nicht: Er entschied selbst was er nutzen wollte.

Vor einem Monat folgte das boese Erwachen: Nutzer der Clients Ubertwitter und Twidroyd konnten sich ploetzlich nicht mehr anmelden. Was erst nach einer technischen Stoerung aussah war Absicht: Twitter hatte den API-Zugang gesperrt – offiziell wegen diversen Regelverstoessen wie Datenschutz und Markenrecht. Eine genaue Begruendung wurde meines Wissens bis heute nicht geliefert. Nach einigem Hin und Her wurde der Zugang wieder freigegeben.

Heute machte dann eine Pressemitteilung die Runde: Twitter moechte seine Nutzer vor „Verwirrung“ schuetzern und eine „consistent user experimence“ schaffen. Es wurde deutlich gemacht, dass Clients von Drittanbietern unerwuenscht seien, ein ueberarbeitetes Regelwerk stellt klar, dass API-Nutzer nen keinen eigenen Client mehr bauen duerfen. Ein unverschaemter Schritt in meinen Augen, denn einerseits moechte ich als Nutzer bestimmen wie ich die Inhalte lesen moechte und andererseits waere Twitter ohne die Arbeit der Drittanbieter nie in seine jetzige Stellung gekommen.

Und nun? Ich hoffe, dass bald wieder Vernunft einkehrt. Es ist ja nicht falsch daran Nutzern eine einheitliche, offizielle Oeberflaeche zu bieten, aber lasst mir die Wahl auch etwas anderes Nutzen zu duerfen. Ich moechte den Twitter-Machern noch eins auf den Weg geben: Twitter ist im Endeffekt ein Kurznachrichtendienst, XMPP (Jabber) viele der Funktionen bereits Heute ebenfalls bedienen – frei und dezentral. Es fehlt nur an den noetigen Clients und da Twitter qualifizierte Entwickler offenbar vertreiben will sollten sich da auch welche finden lassen. Ich fuer meinen Fall sehe fuer mich keine Zukunft fuer Twitter, wenn man versucht mir beschraenkte, instabile, geschlossene, werbeverseuchte und verbuggte Software aufzuzwingen. Free the API…

Update:
– Ja, es gibt identi.ca und thimbl.net – müssen natürlich auch erwähnt werden 😉

[Fotos] CeBIT 2011 – Technik, Spielzeug und eine schlecht gelaunte Kanzlerin

Das meiste zur CeBIT ist in den diversen Messe-Specials ja zur Genüge zu lesen, daher Beschränke ich mich auf ein paar Bilder, die neben dem Prospektesammeln entstanden sind. [Gallery]

2GB-Files ext4,xfs,btrfs Benchmark

Da ich derzeit meinen Server aufrüste stellt sich unter anderem die Frage nach dem Dateisystem. Für Root & Homes habe ich bereits auf anderen Systemen ext4 seit längerem im Einsatz, für meine Video-Partition war ich aber nicht ganz sicher. Auf dieser liegen Rohdaten z.B. meines Podcasts oder von Konvertieren von VHS etc, also viele große Dateien. Bisher durfte sich xfs um die Dateien kümmern, mit ext4 soll aber nun xfs Konkurrenz bekommen haben. Da die meisten Tests recht allgemein gehalten waren musste ein eigenes Script ran. Zusätzlich zu xfs und ext4 habe ich noch ext4 mit aktivem „nobarrier“ sowie btrfs getestet. System ist ein AMD Opteron 2358 (Quad 2,4GHz) mit 4GB RAM, Storage ein 3-Disk RAID5 mit ~235MB/s Durchsatz bei hdparm -t.

I/O-Performance

Erst ein Blick auf lesen, schreiben, simultanen Lese-/Schreibzugriffen und löschen. Datenquelle fürs schreiben war ein tmpfs, lesen ging auf /dev/null:

write read rw del
ext4 84,4 114,0 49,3 1.941,5
ext4nb 83,1 197,0 29,9 10.077,5
xfs 54,6 207,0 29,9 109.462,1
btrfs 86,0 200,0 51,9 2.006,6

Wie man sieht hat bei Schreibzugriffen btrfs die virtuelle Nase knapp vor den ext4-Varianten, xfs ist gut ein Fünftel langsamer. Wenns ums Lesen geht kann xfs deutlich punkten, auch wenn btrfs hier knapp dran ist. Der Ausrutscher von ext4 mit Barriers mach für mich zwar keinen Sinn, war aber reproduzierbar. Bei parallelen Zugriffen spielt btrfs wieder sein Asse aus, ext4 mit Barriers ist aber knapp dahinter. Xfs leidet hier unter der schlechten Schreibperformance, Ext4nb – tja, gute Frage… Beim Löschen zahlt sich das XFS-Design wieder aus: Löschen geht fast zehn mal schneller als bei ext4nb – mit Barriers macht ext4 jedoch eine eben so schlechte Figur wie btrfs.

Schaut man nur auf die (theoretischen) Zahlen zeigt sich btrfs schon jetzt als klarer Sieger, jedoch ist es noch in der Entwicklungsphase und kann entsprechend zu Stabilitätsproblemen führen. XFS hält sich bei großen Dateien noch knapp vor EXT4 ohne Barriers, mit Barriers ist die (hier) mangelhafte Lesegeschwindigkeit nicht entschuldbar.

Praxis
Da ich noch ein paar Sachen zu schneiden Habe einfach mal ein Praxistest: Jedes Dateisystem bekommt eine Rohdatei (2GB +/- paar MB) von einem tmpfs drauf kopiert, diese wird erst geprüft (md5sum) in ein anderes Containerformat konvertiert, danach wird von der neu erstellten Datei erneut eine MD5-Summer erstellt, im Anschluss greift eine vorbereitete Schnittliste und speichert eine geschnittene Version. Zum Abschluss wird die Quell- und Zwischendatei gelöscht. Alles nahezu reine I/O-Operationen, da nichts umcodiert werden muss.

ext4nb

xfs

btrfs

ext4

Dateisystem Zeit in Sec.
171
174
187
199

Wie man sieht kann btrfs seinen theoretisch deutlichen Vorsprung nicht halten und fällt auf Platz 3 – hier fehlen wohl noch die nötigen Optimierungen um in der Praxis die guten I/O-Werte auszuspielen. ext4nb schafft es auf den ersten Platz, dicht gefolgt von xfs. Ext4 mit aktiven Barriers, welche auf druck der Community nun Standard sind, liegt auch in diesem Test abgeschlagen auf dem letzten Platz.

Fazit
Wenn es um große Dateien geht sind ext4 ohne Barriers und XFS nahezu gleich auf. XFS ist jedoch fast 14 Jahre älter und ist daher als stabiler anzusehen, zumdem nutzt es vorhandenen Speicherplatz besser aus. Die technischen Grenzen der Dateisysteme sind für aktuelle Rechner eher uninteressant, jedoch unterstützt nur ext4 das nachträgliche verkleinern einer Partition.

Ich für meinen Teil werde für große Dateien damit bei XFS bleiben.

Auf in dunkle Zeiten – Softwaregesteuerte Helligkeitskontrolle unter X11

Mein Netbook ist ansich ja ein praktisches Teil: Klein und leicht genug um neben dem Fernsehen ein bisschen rumtippen zu können – leider gibt es einen großen Nachteil, der anscheinend inzwischen bei vielen Geräten modern ist: Selbst auf der niedrigsten Helligkeitsstufe lässt sich mit dem Display das halbe Zimmer beleuchten – an gemütliches Fernsehn ist angesichts dieses Scheinwerfers vor der Nase nicht zu denken. Inzwischen habe ich einen kleinen Workarround gefunden: Mit der Software „xbrightness“ lässt sich die Helligkeit unter X11 auf Softwareebene verringern. Eine solche Softwarelösung führt zwar zu einem gewissen Kontrastverlust, für Web & Code ists jedoch noch erträglich.
Für Archlinux ist das Paket jetzt in AUR.

Mal wieder ein neuer Server

Schon ein paar Jahre her, dass der Unterbau meiner Webseite gewechselt hat, also Zeit für etwas Neues: Soeben ist diese Seite als Erste auf meinen neuen Server umgezogen. Neue Hardware und bessere Infrastruktur sollten auch in Zukunft meine inzwischen 15GB umfassende Gallerie sowie den Blog in hervorragender Geschwindigkeit ins Netz befördern können. Auch ein weiterer und von mir lange erwarteter Punkt ist damit endlich erledigt: Meine Seite ist ab sofort vollständig per IPv6 erreichbar – wehe dem, der seinen Router verbastelt hat! SSL funktioniert prinzipiell, aber aus technischen Gründen bekomme ich bisher keine passenden Zertifikate für TLDs ausgespuckt.
Die Umstellung selbst war mit gewisser PITA verbunden, da sich Dateipfade geändert haben und das vor allem mit der (veralteten) Gallerie kollidiert. Nach mehreren tausend Dateien und der Magie von sed & SQL sollte aber inzwischen alles passen. Dann nehmen wir uns doch gleich den nächsten Kandidaten vor…

IPv6: Lets rename NAT?

Hier zu Archivzwecken ein Copy&Paste meines Beitrags aus dem OVH-Forum. Es geht um die Möglichkeit IPv6 in ein lokales Netz weiter zu routen – dürfte sicher in Zukunft für einige interessant werden…

… Ich verwende feste IPv6-Adressen für Host und Gäste, das Routing läuft über den Host (Also nicht die virtuellen MAC-Adressen, die es inzwischen gibt). Für den Host gilt: eth0=OVH-Netz,br0=Netz mit den Gästen. Ich schreibe nur die nötigen Befehle – da die Config je nach Linux-Distri verschieden sind überlasse ich euch das übersetzen selbst (bei mir tuts aus Faulheit die rc.local). Wie man IPv6-Abkürzt (führende 0en weglassen, kürzen per ::) erklärt bei Bedarf google.

Host:
Als erstes benötigt der Host natürlich eine feste Adresse. Hierzu geht ihr in den OVH-Manager und sucht euer IPv6-Subnet (Steht bei Interfaces in der Server-Übersicht). Ich gehe hier von 2001:41D0:F0F0:F0F0::/64 aus. Das bedeutet, dass euch die IPs 2001:41D0:F0F0:F0F0:0000:0000:0000:0001 bis 2001:41D0:F0F0:F0F0:FFFF:FFFF:FFFF:FFFE gehören – genug Platz. Der Einfachheit halber nummeriere ich nur die letzte Zahl durch – ist aber natürlich keine Pflicht.

Als erstes erhält der Host auf beiden(!) Interfaces eine IP:

ifconfig eth0 inet6 add 2001:41D0:F0F0:F0F0::1/64
ifconfig br0 inet6 add 2001:41D0:F0F0:F0F0::99/64

Zudem benötigen wir ein Routing. Teilweise erhält der Server bereits über die IPv6-Autokonfiguration die korrekten Routen von OVH. Dummerweise unterstützen einige Switche bei OVH kein IPv6 und blockieren diese Autokonfiguration, daher funktioniert es nicht bei jeden. Da es nichts schadet die Route fest einzutragen werden wir das tun. Die Router-IP ermittelt sich wie folgt:

OVH-Hilfe
Der Router (Standardgateway) für jede IPv6 befindet sich immer auf IP:v:6:FF:FF:FF:FF:FF

Ein Beispiel:

Die IPv6 des Servers: 2001:41D0:1:46e::/64 wird zu 2001:41D0:1:4 + 5 Mal FF.
IPv6 Gateway: 2001:41D0:1:4FF:FF:FF:FF:FF

Die IPv6 des Servers: 2001:41d0:1:209::/64 wird also zu 2001:41d0:1:2 + 5 Mal FF.
IPv6 Gateway: 2001:41d0:1:2FF:FF:FF:FF:FF

In unserem Beispiel ergibt sich also der Router 2001:41D0:F0F0:F0FF:FF:FF:FF:FF. Die Route setzen wir mit

route -A inet6 add 2000::/3 gw 2001:41D0:F0F0:F0FF:FF:FF:FF:FF

Da wir zudem den Host als Router verwenden wollen benötigen wir Forwarding, das schalten wir mit diesem Befehl ein:

sysctl -w net.ipv6.conf.all.forwarding=1

Um auch zu wissen wo die Gäste hin sollen tragen wir hier entsprechende Routen ein. Ich habe es pro Host gemacht, sollte aber auch blockweise funktionieren:

route -A inet6 add 2001:41D0:F0F0:F0F0::10 dev br0
route -A inet6 add 2001:41D0:F0F0:F0F0::11 dev br0

Zum Schluss folgt dann der IPv6-Fubar, der meine Probleme auslöste: Ich nenns mal das IPv6-NAT. Die komplette Erklärung was und warum das nötig ist („Proxy the neighbors“) habe ich am Ende verlinkt.

sysctl -w net.ipv6.conf.all.proxy_ndp=1
ip -6 neigh add proxy 2001:41D0:F0F0:F0F0::10 dev eth0
ip -6 neigh add proxy 2001:41D0:F0F0:F0F0::11 dev eth0

Wichtig hierbei: Das eth0 ist kein Typo! Die Zeile bedeutet, dass der Host auf dem Interface eth0 bekannt geben soll, dass er für die genannte IP eine passende Route kennt.

Auf dem Gast sind dann nur analog zu oben die IPs einzurichten, die IP des Host-Interface br0 spielt dabei den Router:

ifconfig eth0 inet6 add 2001:41D0:F0F0:F0F0::10/64
route -A inet6 add 2000::/3 gw 2001:41D0:F0F0:F0F0::99

Weitere Ressourcen:

BitBastelei #5: Stromverbrauch am PC darstellen

BitBastelei #5: Stromverbrauch am PC darstellen

(13.1 MB) 00:09:06

2010-12-17 13:28 🛈

Korrekturen:

  • Wenn man auf der Volkszaehler-Seite statt Wiki die Folien bemüht findet man Dokumentation
  • Zur Ergänzug, da ich nur das Tagesdiagramm gezeigt hatte: Natürlich habe ich auch einen „Live“-Modus, bei meinem Zäher erhalte ich ca. alle 2-3 Sekunden einen neuen Wert

Links zum Thema: