Archiv der Kategorie: PC-Kram

Meine Lieblingsbeschäftigung :)

BitBastelei #18 – Solar-Stromverteilung

BitBastelei #18 - Solar-Stromverteilung

(122 MB) 00:07:11

2012-08-26 18:29 🛈

Die Solarzelle läuft, die Akkus laden – doch wie kommt der Strom nun zu den Geräten?

PHP Google+ Library – und es postet doch…

Google+ dümpelt weiter vor sich hin – zwar hält mich die mangelhafte Clientauswahl weiterhin davon ab dort mehr im „Tagesgeschäft“ zu machen, allerdings sind Features wie die Hangouts Gold wert. Meine erste Anforderung für regelmäßige Nutzung bin ich nun einmal angegangen: Ich möchte posten. Nicht über einen vorgegebenen Client, meine Rechner sammeln ohnehin schon eine Menge Informationen zusammen und die sind vermutlich nicht nur für mich interessant. Gut, dass es eine API gibt. Nicht. Googe stellt zwar bereits eine API mit OAuth & Co zur Verfügung, aber die ist derzeit nur lesend zu benutzen.

Zum Glück bin ich nicht der einzige mit diesem Wunsch, so hat Luka Pusic bereits einen Google+-Bot in PHP geschrieben und praktischerweise auf GitHub veröffentlicht. Statt mit einer API zu kämfen emuliert sein Script schlichtweg einen (Handy)Browser und liefert so die Daten bei Google ab. Zwar ist das Ganze nicht unbedingt für Webapplikationen brauchbar, für lokale Single-User-Scripte wie meine aber perfekt. Auf Basis seines Codes habe ich nun eine kleine Google+-Library gebastelt – neben etwas Codeputz gibt es auch eine Funktion um einen Status mit Bilddatei zu veröffentlichen. Leider ist das Mobilinterface recht eingeschränkt, sodass bisher keine (schönen) Links oder Verknüpfungen zu anderen Personen auf G+ möglich sind. Also kein allumfassender G+-Zugriff, aber genug um z.B. einen Twitter2G+-Bot zu realisieren, wie er sich derzeit auf meinem Account austobt. Die Post sind momentan auf den Kreis „Öffentlich“ hardcoded, sollte sich aber bei Bedarf recht leicht anpassen lassen.

Den Code der G+-Lib gibt’s auf GitHub, der Twitter-Bot ist noch nicht so komplex, als das sich das lohnen würde. Und wenn ich schon mit den neuen Netzen rumspiele kann man das Projekt dann auch Flattrn.

BitBastelei #17 – Solarmonitoring mit dem Volkszähler

BitBastelei #17 - Solarmonitoring mit dem Volkszähler

(77 MB) 00:05:29

2012-07-22 19:46 🛈

Software:

Hardware:

BitBastelei #16 – Kurzreview Münzzählautomat

BitBastelei #16 - Kurzreview Münzzählautomat

(96 MB) 00:07:29

2012-07-14 14:57 🛈

Während mein Solarsystem noch nicht so ganz will etwas Zwischenunterhaltung: Funktionsweise eines billigen Münzzählers

…und da YT ein paar Sekunden verschluckt hat: Preisklasse ist 10-20€, wenn man ab und an Münzansammlungen zählen muss ist es aber ganz praktisch

Abstraktionswahnsinn

Abstrahieren – das Zauberwort für jede Tätigkeit, das Erste, was man an weiterführenden Schulen lernt. Warum muss ich als Softwareentwickler wissen wie ein Computer funktioniert? Warum als Käufer wo T-Shirt und Kartoffel her kommen? Warum als Autofahrer aus welchen Teilen ein Motor besteht? Heute ist diese Denkweise offenbar die ideale Methode um Lern- und Entscheidungsprozesse zu vereinfachen. Der Strom kommt aus der Steckdose, die Nudeln aus der Dose und die Blutkonserve aus der Kühlkammer.  Wenn etwas schief geht oder sich herausstellt, dass die Herstellung ethisch nicht ganz so sauber ist kann man ohne Gewissensbisse den Zulieferer verantwortlich machen – man hat sich ja schließlich nur am Markt oder sonstigen verfügbaren Ressourcen bedient. Trotzdem schaut man in diesem Fall erst mal in die Röhre: Bis die Zulieferprobleme behoben sind kann man seine Tätigkeiten pausieren. Ob das auf Dauer gut geht wage ich zu bezweifeln – ich für meinen Fall möchte wissen wie meine Geräte funktionieren, wo und wie die Produkte wie hergestellt werden und was an diesem Prozess mir in nächster Zeit um die Ohren fliegen könnte/wird (Gruß an unsere Banken). Die Hersteller einiger Branchen versuchen natürlich diese Informationen nicht an die Öffentlichkeit dringen zu lassen – mit diesen könnte man schließlich ihr Geschäft schaden. Als Endanwender hat man dafür dann die Entscheidungshoheit, die möglichkeit selbst bei Problemen zu improvisieren oder – wie bei einigen Lebensmitteln oder Geräten – Teile der Herstellung selbst zu übernehmen. Ich such dann mal weiter nach Informationen…

Virtualisierung ist keine Redundanz…

In letzter Zeit wird mir immer wieder vorgetragen wie toll doch Virtualisierung ist. Kostenersparnisse, einfache Backups, und obendrein gibt’s Hochverfügbarkeit. Nun wer die aktuellen Lizenzpreise des Marktführers VMWare kennt weiß, dass man zum Kosten sparen leider immer tiefer in die Tasche greifen muss – auch das Backup-Argument ist durch die Macken von VCB mit einem unübersehbaren Sternchen zu lesen. Was mich aber am meisten auf die Palme bringt ist die Annahme, das Virtualisierung eine nahezu unfehlbare Hochverfügbarkeit biete. Ja, die meisten Virtualisierungssysteme können per shared Storage oder Storage Replication  VMs bei Ausfall eines Hosts oder Wartungsarbeiten auf einem anderen Hypervisor starten und so die Verfügbarkeit erhöhen – das deckt aber nur einen einzigen Bereich ab: Hardwarefehler. Schaut man sich aktuelle Server mit ECC, redundanten Komponenten und RAID an sollte klar sein, dass diese Problematik bereits seit langem bekannt ist und die Hersteller an der Verfügbarkeit gearbeitet haben. Die letzten größeren Ausfälle, welche ich bei mir verzeichnen konnte, waren mit einer einzigen Ausnahme Softwarefehler – solche, die Virtualisierung nicht abdecken. Wenn das Windows in einen Bluescreen rennt, die Datenbank entscheidet sämtliche Tabellen zu löschen oder ein Update bei der Entfernung der Sicherheitsdateien etwas zu gründlich ist muss man weiterhin auf Backups zurückgreifen und mit Ausfallzeiten rechnen. Man könnte jetzt mit Snapshots argumentieren, aber  meist sind nur einzelne Softwarekomponenten betroffen und ein Rollback des gesamten Servers unerwünscht. Selbst den erwähnten Hardwarefehler hätten viele Virtualisierungsumgebungen nicht abgefangen: Ein amoklaufender RAID-Controller, welcher frisch eingesetzte, leere Platten eines RAID1 auf die Vollen spiegelt, kann auch in einer SAN/NAS auftreten, welche als VM-Speicher dient. Also: Virtualisierung kann Sinn machen um Ressourcen besser zu nutzen oder die Verwaltung zu vereinfachen, aber wenn es um Verfügbarkeit geht kann es bestenfalls eine kleine Komponente darstellen. In diesen Fällen würde ich weiter auf Clustering – vorzugsweise mit integrierter Möglichkeit auf vorherige Zustände zurückzukehren – setzen und entsprechende Watchdogs oder Monitoringsysteme bereithalten. Die Hersteller von Virtualisierungssoftware arbeiten zwar daran ähnliche Funktionen in ihre Produkte zu integrieren, vom Funktionsumfang der „abgehangenen“ Lösungen sind sie jedoch noch weit entfernt.

NVidia X.Org Video-RAM information leak

Bereits seit etwa einem Jahr ist mir beim Start von X.Org – oder eher gesagt beim laden von Gnome – ein seltsames Flackern auf mehreren Rechnern aufgefallen. Meist trat es nach abstürzen oder Neustarts auf, nicht jedoch wenn der PC vollständig abgeschaltet war. Da mir einige der Muster im Flackern bekannt vor kamen griff ich Heute mal zur Digitalkamera und zeichnete es auf. Das Ergebnis: Es ist tatsächlich kein wildes Flackern, sondern Bildausschnitte diverser vor dem Neustart verwendeten Programme! Hierbei ist es nicht das letzte Bild, sondern z.B. auch Programme, welche im Hintergrund aktiv waren (also z.B. auch Ausschnitte des Browsers wenn der Bildschirmschoner zuletzt aktiv war). Im heutigen Fall hatte ich den Rechner sogar kurz (~500mA) vom Strom genommen (Stecker gezogen), da sich der Kernel aufgehangen hatte und der PC keinen Reset-Knopf besitzt – dennoch konnte man Bildausschnitte erkennen. Bisher ist mir das Phänomen auf meinem Privat-PC (ArchLinux, GeForce 8600GT, X.org 1.12.2-1, nvidia 295.53-1, Xinerama Multihead) und meinem Arbeits-PC (GeForce 9600GT, X.Org 1.11.2-r2, NVidia 295.20-r1, NVidia TwinView) begegnet. Könnte mir durchaus vorstellen, dass ein Angreifer über diese Methode die „Sicherheit“ des Bildschirmschoners umgehen und so an Informationen über die verwendeten Programme gelangen könnte. Da hierzu offenbar nur ein gewisser Zustand der Grafikkarte erreicht werden muss könnte dies auch per OS auf einem Stick erfolgen und so die Informationen trotz Festplattenverschlüsselung preis geben. Im Gegensatz zu den bekannten Cold-Boot-Attacks muss hierzu nichts an der Hardware geschraubt werden.

—EN—
About a year ago i noticed a strange flickering while loading X.Org/GNOME on several of my PCs. It appeared mostly after crashed and restarts, not if the PC was turned off for some time. Since i noticed several patterns inside this flicker i grabed my camera today and recorded the process. The result: its not a random flicker but image-parts of programs that ran before the reboot! They where not limited to the last shown picture before the boot – also programs that where running but not shown (like a browser when a screensaver was active) appeared. In today’s case i even cut the power (~500ms via power cord, Kernel crashed and the pc has no reset-button) – still i was able to recover image-parts. I could observe the behaviour an my home-PC (ArchLinux, GeForce 8600GT, X.org 1.12.2-1, nvidia 295.53-1, Xinerama Multihead) and my PC at work (GeForce 9600GT, X.Org 1.11.2-r2, NVidia 295.20-r1, NVidia TwinView). I could imagine that attackers could use this to bypass a screensaver and get information about running programs. Since you only need to reach a certain state of the GPU it should be possible to use an USB-based OS and grep this info even if the local harddisk is encrypted. Contrary to known Cold-Boot-Attacks there is no need to open the case.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/06/capture-clean-300×226.jpgBild: https://www.adlerweb.info/blog/wp-content/uploads/2012/06/capture-cap-300×226.jpg

http://www.youtube.com/watch?v=fuHcbQxl6d0

Kurzer Report von der Bastelfront

Festivals schön und gut, aber die freie Zeit muss natürlich auch etwas produktiv genutzt werden. Momentan heißt das hauptsächlich Housekeeping – Systeme reparieren und allerhand Basteleien, welche auf die Schnelle erfolgten, halbwegs vernünftig verpacken und fest einbauen. Trotzem sind einige neue Projekte dabei, zu denen ich in Kürze noch mehr schreiben werde, unter anderem hat meine Solaranlage eine neue Überwachungselektronik und viele neue Abnehmer erhalten. Zudem haben einige Webprojekte Updates erhalten, unter anderem kann mein Archivsystem, welches ich für die Bildarchivierung des Geschichtsvereins Saffig entwickelt hatte, inzwischen einige wichtige DMS-Funktionen wie Kontaktverwaltung und ORC erfüllen und sammelt nun in einer lokalen Installation meine Papierkorrespondenz in nerdgerechter Form. Auch einige Haushaltsgeräte sind inzwischen soweit, dass sie theoretisch Meldungen an meinen Steuerrechner übermitteln könnten – wenn denn ein Kabel da wäre. Da die Geräte weit entfernt von jeder Infrastruktur stehen und auf Grund baulicher Gegebenheiten das verlegen neuer Kabel für eine solche „Spielerei“ zu aufwändig wäre habe ich mir einige NRF24l01+ organisiert, ein Funkmodul welches mit integrierter Transportschicht glänzt und mit <3€ preislich sehr ansprechend ist. Leider konnte ich den Sample-Code nicht zum laufen bewegen, daher suchte ich nach Debug-Möglichkeiten. Zum Glück fiel mir mein guter, alter BusPirate wieder in die Hände, welcher sich direkt mal als simpler Logic-Analyzer versuchen durfte und – zu meiner Überraschung – gemessen an Preis und Ausstattung sehr gute Ergebnisse liefert, so konnte ich z.B. ermitteln, dass der Sendebefehl definitiv korrekt ans Sende-Modul übermittelt wird. Also wird gleich die Empfängerseite dran glauben müssen.
Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/06/test2-300×38.png

BitBastelei #15 – 12V-Solaranlage im Eigenbau

BitBastelei #15 - 12V-Solaranlage im Eigenbau

(68 MB) 00:05:58

2012-05-14 20:31 🛈

Derzeit sind Solarmodule recht günstig zu haben. Meist binden Wechselrichter die Anlagen an das öffentliche Stromnetz an, ich gehe einen anderen Weg.

3€ AVR-Board im Test

Ein ATMega für 3€? Nichts neues, aber dank Steffen Vogel bin ich auf einen chinesischer Händler gestoßen, welcher für diesen Preis derzeit einen kompletten AVR-Programmierer auf Basis des USBasp anbietet. Mit an Board sind neben einem ATMega8A auch ein 12MHz Quarz, ein V-USB-Kompatibler USB-Port, 2 LEDs, ein Jumper und ein 3,3V Spannungsregler (AMS1117, 800mA). Zudem befinden sich auf dem 10-Pin Programmer-Port neben dem üblichen SPI auch die RS232-Pins des Atmel-Controllers, ein passendes Flachbandkabel ist ebenfalls im Lieferumfang. Viel Technik für wenig Geld, oder? Ein erster Blick zeigt: Das Board kommt nicht gerade in Vorzeigequalität, ab und an ist mal eines der SMD-Bauteile etwas schief, aber dennoch funktionierten alle Boards einwandfrei. Bei den Bauteilen hat man ebenfalls gespart: Die LEDs sind im Gegensatz zum zweifarbigen Original beide Rot, 2 der 3 im original vorgesehenen Jumper sind nicht bestückt. Die Controller sind – wie der Produkttitel es vermuten lässt – mit der Programmiersoftware des USBasp-Projektes versehen, wenn auch nicht in der aktuellen Version.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8440-150×150.jpgBild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8441-150×150.jpg

Also – wenn ich schon einen haufen Programmieradapter habe programmieren wir auch mal etwas: Mit einem Drahtstück wird der nicht bestückte J2 eines Boards überbrückt – hiermit wird dieser in den „Self-Programming“-Modus geschaltet und kann so über die ISP-Schnittstelle mit neuer Firmware versorgt werden. Über eins der mitgelieferten Kabel wird das neue Ziel nun mit einem anderen Programmer verbunden. Steht bei beiden J1 auf 5V Target (wie ausgeliefert) wird das Ziel über den Programmer mit Strom versorgt. Die aktuellen avrdude-Versionen erkennen den Programmer ohne Probleme und versorgen das Ziel mit der neuen Firmware. Im ersten Versuch wurde ein Programmer mit der neuen Firmware des USBasp versorgt – und unterstützt nun auch die neuen Funktionen.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8421-150×150.jpgBild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8422-150×150.jpg

Ein Zweites Board durfte sich mit den Demo-Codes des V-USB-Projektes begnügen, namentlich der HID-Maus-Demo. Das Makefile muss auf den Atmega8 angepasst werden, in der usbconfig.h muss der IOPORT auf B, Minus auf 0 und Plus auf 1 geändert werden. Bekommt man den Code dann noch kompiliert (neuere Compiler stören sich etwas an veralteten Definitionen im V-USB-Code) kann man den Stick dann problemlos verwenden um Arbeitskollegen zu verwirren.

Im nächsten Schritt soll einer dieser Sticks dann den etwas teureren und eher provisorisch angeflanschten Arduino als Stromzähler ersetzen, welcher derzeit die im letzten Post genannten Auswertsysteme versorgt. Die Timer laufen schon, nur das mit den USB-„Interrupts“ zum spontanen senden von Daten via V-USB produziert derzeit noch abstürze – muss ich wohl noch etwas nacharbeiten…

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8408-150×150.jpg