Akku Verwaltung

In der Welt der Gadgets sind wir umgeben von Akkus – seien es proprietäre Modelle, die vor allem bei Digitalkameras zum Einsatz kommen, oder aber auch einfach nur die normalen AA-NiMH-Akkus.

Sind die proprietären Varianten meistens mit einem Mechanismus ausgestattet, der den aktuellen Ladestand zuverlässig anzeigt – sei es nun am Akku selbst, oder in der Kamera – so hat man bei den normalen Akkus in Batterieform das Problem, dass dort der Ladestand nicht so leicht zu bestimmen ist. Selbst, wenn man die Teile in die Kamera steckt, so werden sie meist erstmal als voll angezeigt, verlieren dann aber umso schneller ihre Kapazität. Also hat man das Problem der Unterscheidung.

Und dafür habe ich einen netten Ansatz gefunden:

Alles, was man braucht, ist eine geeignete Aufbewahrungsmöglichkeit und eine Markierung, ob der Akku voll oder leer ist. Simpel und doch genial.

via hack-a-day

Die Kernfusion – die Lösung unserer Energieprobleme?

Ich frage mich immer wieder, warum sich erstens so wenige Leute mit derart wichtigen Themen beschäftigen, und zweitens solche Entwicklungen nicht in der Schule behandelt werden…

Aber eines kann ich sagen: Anschauen! Sehr interessant:

Neues Objektiv – Canon 50mm 1:1.8

Die Hauptvorteile von DSLRs sind, neben den erheblich besseren Bildsensoren, natürlich die Möglichkeiten, externe Blitze und verschiedene Objektive zu verwenden.

Bisher hatte ich nur das 18-55mm Kit-Objektiv, welches bei meiner EOS 1000d dabei war, sowie ein älteres analoges Sigma 100-300mm Objektiv. Das nächste sollte auf jeden Fall ein Festbrennweitenobjektiv werden. Glücklicherweise konnte ich dann das Canon 50mm 1:1.8 leihweise ausprobieren und war von Anfang an begeistert. Nun bin ich endlich mal dazu gekommen, das Teil für mich selbst zu bestellen. Und ich bin noch immer begeistert. Hier gleich einmal ein paar Testaufnahmen. Am Wochenende werde ich dann hoffentlich Zeit für eine ausgedehnte Fototour finden….

Verzögertes MouseOver/Hover mit jQuery

Da ich durch meinen Jobwechsel nun in der Frontend Entwicklung tätig bin, muss ich mich natürlich auch stärker mit Javascript – speziell mit jQuery – beschäftigen. Das System ist ziemlich genial gebaut und so kann man sehr schnell einsteigen.

Aber wie das so ist – man stößt auch mal auf Probleme. Und so hing ich an der Aufgabe, ein Hover-Event verzögert auszulösen. Zunächst ging ich davon aus, das jQuery diese Möglichkeit von Haus aus bietet – was aber nicht der Fall ist. Man kann zwar das Plugin HoverIntent verwenden, ich wollte aber eher eine Lösung mit Bordmitteln. Und die gibt es:

$("#cart-summary").mouseenter(function () {
    $("#cart-summary").addClass("hasFocus");
    setTimeout(function(){
        if ($("#cart-summary").hasClass("hasFocus")) {}
            $('.flycart').slideDown('fast');
        }
      }, 500 );
      });
$("#cart-summary").mouseleave(function () {
    $("#cart-summary").removeClass("hasFocus");
});

Das Prinzip ist eigentlich ziemlich genial: Per “Mousenter” wird erkannt, ob sich die Maus über dem Element (in diesem Beispiel “#cart-summary”)befindet. Sofort wird dem Element die Klasse “hasFocus” zugewiesen und der eigentliche Funktionsaufruf (z.B. “slideDown”) wird mittels der TimeOut Funktion verzögert (hier um 0,5 Sekunden) aufgerufen. Der Trick ist nun, dass innerhalb der Timeoutfunktion noch einmal geprüft wird, ob das Element noch die Klasse “hasFocus” hat. Nur wenn dies der Fall ist, wird die “slideDown” Funktion ausgeführt.

Der findige Entwickler wird nun bemerken, dass trotz dieser Raffinessen, das gleiche Ergebnis, wie bei einem einfachen Hover, erziehlt wird – denn auch mit Timeout wird die Funktion in jedem Fall aufgerufen. Und da kommt das zweite Event ins Spiel: bei einem “MouseLeave” wird dem aktuellen Element die Klasse “hasFocus” entfernt. Dadurch schlägt die Prüfung in der TimeOut Funktion fehl und die hinterlegte “slideDown” Funktion wird nicht ausgeführt.

Erst mittels der “MouseLeave” Funktion wird also das verzögerte MouseOver Event ermöglicht.

via stackoverflow.com

Minecraft mit Microsoft Kinect steuern

Es ist immer wieder geil, auf welche Ideen Leute kommen, wenn man ihnen einfach Freiheiten lässt. Seit Microsoft offiziell nun nichts mehr gegen eine alternative Nutzung von Kinect hat, sprießen nur so Tools hervor, die von dieser wunderbaren Hardware Gebrauch machen. Und so war es auch bei Sean Oczkowski oder Nathan Viniconis, die Kinect in Verbindung mit Minecraft verwenden.

Sean hat mittels Kinect eine Gestensteuerung für das Game entwickelt. Mit der rechten Hand steuert man seine Figur, mit Gehbewegungen der Beine läuft man und mit der linken Hand kann man seine Werkzeuge auswählen und diese anwenden. Natürlich ist das derzeit noch nicht die optimalste Art und Weise, Minecraft zu steuern, aber es ist ein netter Ansatz:

Wir befinden uns gerade stark in der Experimentierphase, was Gestensteuerung angeht – und je mehr Leute sich ausprobieren, desto eher werden hoffentlich Konzepte gefunden, die eine angenehme Steuerung des Rechners ermöglichen. Ich kann einfach nicht das Interface aus Minority Report vergessen 😉

Nathan Viniconis ist noch ein bisschen weiter gegangen und baut mittels Kinect aufgenommene 3D Figuren direkt in Minecraft als riesige Klötzchenfiguren ein. Klingt erstmal strange, nach Begutachtung des Videos wird einiges klarer 😉

Genial finde ich, dass die Modelle sogar animiert werden, was dann bei der Jonglier-Szene oder der Katze ziemlich cool aussieht.

Via hack-a-day

3D LED Cube

Krasser Scheiss, den Nick Schulze aus 512 LEDs und einem Arduino Controller per Hand zusammengebastelt hat – nämlich ein rudimentäres, aber “echtes” 3D Display, welches keine Brillen oder spezielle Blickwinkel benötigt. Die Steuerung des Gerätes wird mittels Matlab – einem professionellen Mathe Programm – erledigt.

Wer lange Weile und viel Zeit hat, der findet unter hownottoengineer.com die komplette Anleitung inkl. Schaltplänen und Quellcode, um das Teil nachzubauen.

via engadget.com

Drahtlosen Hardware Keylogger selber bauen

Jerry arbeitet bei keelog.com – einem kommerziellen Anbieter für Hardware Keylogger. Doch Jerry ist auch ein Fan von Open Source und so hat er eine Anleitung ins Netz gestellt, nach der man so ein Teil selbst bauen kann. Darin enthalten sind eine detailierte Teileliste, die Baupläne, PCB Masken (Schaltkreise), die Firmware (also Steuersoftware) und natürlich die Bauanleitung selbst. Wenn man es etwas leichter haben will kann man aber auch ein DYI Kit (do it yourself) kaufen und spart sich somit die Zeit für die Suche der Einzelteile. Im Endeffekt hat man am Ende einen PS/2 Stecker, der am Ziel-PC angesteckt in Echtzeit alle Codes der gedrückten Tasten an ein bis zu 18m entferntes USB-Dongle sendet.

Natürlich bewegen wir uns hier in einer Grauzone, da es sowohl legale als auch illegale Einsatzzwecke dafür gibt. Da mich als Techniker in erster Linie auch nur die Technik interessiert, möchte ich dies erstmal außen vor lassen. Ich denke einfach, dass wenn jemand etwas böses tun will, er auch einen Weg findet dies zu tun. Und dann gibt es uns Nerds, die einfach nur Spass an Technik haben.

So, aber nun genug gequatscht, hier die Anleitung:
keelog.com

Via hack-a-day

Macbook kaputt

Gestern kam endlich das 4GB Ram Upgrade-Kit für mein Macbook an.

Natürlich machte ich mich gleich an den Einbau – Abdeckplatte abschrauben, Festplatte raus, Ram getauscht, Platte wieder dran. Nun einmal zum testen gebootet – lief wunderbar. Nachdem der Test erfolgreich war, gleich wieder heruntergefahren und abschließend die Schrauben der Abdeckplatte festgeschraubt.

Und nun kam das böse Erwachen. Beim erneuten Start des Macbooks tat sich nämlich genau nichts – der Apfel erschien und darunter drehte sich der Warte-Kreis. Erstmal nichts besonderes, aber wenn das ganze auf unbestimmte Zeit so bleibt und sogar die interne Platte in den Standby-Modus geht, dann kann da irgendwas nicht stimmen.

Also schnell die OSX Installations-DVD rausgekramt und darüber gebootet. Da das funktionierte wunderbar und ich war erstmal beruhigt, dass es nicht direkt am neuen Ram lag. Neben der Möglichkeit, OSX zu installieren kann man in diesem “mini-OSX” auch die Konsole oder das Festplatten-Dienstprogramm verwenden. Letzteres zeigte mir auch schnell den Fehler im Dateisystem: “Schlüssel nicht sortiert”. Was genau der Fehler aussagt weiß ich nicht, nach einem kurzen Blick ins Netz war aber klar, dass man die Platte nur formatieren und neu installieren bzw. aus einem Backup wiederherstellen kann.

An dieser Stelle war ich mal wieder super dankbar, dass ich Timemachine verwende und somit ein sehr aktuelles Backup hatte. Ein paar Dateien hab ich trotzdem verloren, da ich bestimmte Ordner vom Backup ausgeschlossen hatte – wie z.B. den Downloadordner und auch meinen Foto-Transfer-Ordner. Die Downloads taten nicht so weh, da man die einfach wiederholen konnte, aber die Fotos waren echt ärgerlich, weil ich Depp schon lange nicht mehr die Fotos korrekt archiviert hatte. Und so hab ich ca. 200 RAW-Bilder verloren, die nun einfach weg sind. Aber egal, rückgängig machen kann ich es nun nicht mehr und muss damit leben. Und da man aus Fehlern bekanntlich lernt wird nun die komplette Platte gesichtert 😉

aget – der Downloadbeschleuniger für die Console (Mac / Linux)

Ein Thema, welches, zumindest meiner Meinung nach, auf dem Mac eher stiefmütterlich behandelt wird, sind Download-Beschleuniger. Es gibt zwar immer wieder die üblichen Verdächtigen aus der Welt der Shareware – ich bin aber der Meinung, dass ein derart simples Tool nicht 20€ kosten muss.

Noch kurz ein Abstecher für alle die, die nichts mit dem Begriff “Download-Beschleuniger” anfangen können: Bei einem normalen Download wird eine Datei vom Anfang bis zum Ende heruntergeladen. Viele Server haben eine Volumenbeschränkung pro Transfer aktiviert oder es liegt eine Datei auf mehreren verteilten Serven, dann macht es Sinn, die Datei in mehreren Prozessen gleichzeitig herunter zu laden. Dabei unterteilt man die Datei einfach in eine bestimmte Anzahl von Teilen und lädt jeden Teil mit einem eigenen Prozess herunter. So kann z.B. der erste Teil einer Datei von Server 1 und der zweite Teil der Datei von Server 2 heruntergeladen werden. Ihr könnt euch vorstellen, dass man somit möglicherweise eine wesentlich höhere Übertragungsrate erreichen kann als wenn man nur von einem Server lädt. Alternativ funktioniert das Ganze auch mit einem einzelnen Server, der aber pro Verbindung eben nur bestimmte Datenraten zulässt – man umgeht das Problem indem man mehrere Verbindungen zu diesem Server aufbaut.

Nach einiger Recherche im Netz fand ich das Consolen Tool “aget”. Das ist zwar eigentlich für Linux gedacht, dank der offenen Sourcen aber natürlich genausogut unter Mac OS verwendbar. Da ich anfangs nur Linux RPM Pakete fand, habe ich den Umweg über Mac-Ports genommen.

Nach erfolgreicher “Installation” kann man mittels

aget [url]

den Download starten. Standardmäßig werden 10 parallele Threads gestartet, man kann alternativ aber auch mit dem Parameter

aget -n N

angeben, dass N Threads verwendet werden sollen.

Die Ausgabe ist erstmal etwas irritierend, da die Statusanzeige scheinbar nur im Minutentakt erscheint. Das sieht dann in etwa so aus:

Und als Abschluss: ja, die Download laufen wirklich schneller. Probiert es einfach aus, wenn euch wget mal wieder zu langsam erscheint 😉

Links:
enderunix.org/aget