Samstag, 29. Dezember 2012

Festplatten Standby

Stellt den Standby Timer der Sekundären Festplatte auf 10 Minuten.
hdparm -S120 /dev/sdb

Spart laut c't bis zu 4W. Auf der Betriebsystem-Platte ist es nutzlos, aber für einen NAS kann sich das aufsummieren.
Witzig ist, dass es danach eine spürbare Zeit (einige Sekunden) dauert, bis man wieder auf die Platte zugreifen kann.

Und zum Testen, schickt dieses Kommando die Festplatte sofort in den Standby:

hdparm -y /dev/sdb
hdparm -C /dev/sdb

Memo an mich selbst: Das Dollarzeichen durch eine Raute ersetzen, wenn ich root-Befehle aufschreibe.

Update: Da diese Methode bei manchen Festplattentypen (zB. meiner WD Caviar Green) nicht funktioniert, gibt es einen Daemon mit dem es klappt. hd-idle Konfiguration über /etc/default/hd-idle

Montag, 24. Dezember 2012

Strom für einen Tag

Das Tollste, wenn man Daten gesammelt hat, ist zu sehen, dass sie plausibel sind. Dann hat der Messaufbau funktioniert: Die Gedanken, die man sich vorher darüber gemacht hat, waren richtig. Es funktioniert.
Dann ist es nebensächlich, ob sie neue Erkenntnisse liefern, oder nicht.

Ich habe also meine Stromverbrauchsdaten, die ich mit meinem alten Wildfire aufgenommen habe, einmal differenziert, um die Leistung zu erhalten und gegen die Uhrzeit aufgetragen.
Ich habe mal einen Tag mit typischen Stromverbrauch ausgesucht.
Was sieht man? 
Offenbar habe ich ca. 100W "Grundlast". Da fällt der Router und WLAN Access Point hinein (~20W), so wie ein Server (30W). 
Und die restlichen 50W? Die Heizung braucht noch Strom zum Pumpen und zur Steuerung, genauso wie Gefriertruhe und Kühlschrank. Diese Verbraucher habe ich auch für die kleinen periodischen Peaks in Verdacht. Und natürlich braucht auch mein Android basierter Strommesser selbst Strom -- vor allem für die Lampe (~10W).
Offenbar habe ich den ersten größeren Stromverbraucher um 11:00 angestellt. Es gab also keine getoasteten Brötchen oder Tee zum Frühstück. Der Stromverbraucher, der um 11:00 angeht, ist mein Computer -- ein alter mit großer Grafikkarte, der unter Last gerne mal 200W zieht. Zusammen mit den Bildschirmen (~25W+40W) komme ich damit an die 500W Grenze.
Der nächste Peak ist durch die Waschmaschine verursacht. Sie braucht erst jede Menge Leistung, um das Wasser auf 60°C zu bringen -- für das Drehen der Trommel offenbar weniger als mein Computer.
Der Peak dahinter gehört zum Trockner. Ja, man könnte viel Strom sparen, wenn man die Kleidung einfach so trocknen lässt, aber im Energie-Diagramm unten sieht man gut, dass er hier nicht viel mehr als 1kWh benötigt. Und ich habe abgewogen, dass mir das Aufhängen der Wäsche keine ca. 0,30€ wert ist.
Um ca. 17:00 geht wieder der bekannte Computer an und braucht für Skyrim wieder seine 200W. 
Man sieht um ~19:30 sehr schön, wie er wieder aus geht und danach der Backofen 2,5kW zieht um ein paar Nachos mit Käse zu überbacken (eigentlich sind es Tortillia-Chips; mit Käse überbacken transformieren sie sich zu Nachos -- laut Wikipedia).
Danach klingt der Abend Nachos essend und Serien sehend aus. Der Stromverbrauch des Beamers ist erstaunlich niedrig. LED-Beamer sind zwar noch dunkel, aber dafür offenbar ziemlich sparsam.

Und hier nochmal die integrierte Darstellung. Gut um abzuschätzen, wie viel man dann bezahlen muss -- wenn ich jeden Tag waschen würde.
Und für die, die es interessiert. Die Diagramme sind mit der phänomenalen matplotlib für Python gezeichnet.

Samstag, 22. Dezember 2012

Stromzähler mit Android

Da Gas ziemlich langweilig ist, habe ich eine neue App gebastelt, die den Stromzähler ausliest -- ohne OCR.
Dazu speichere ich die Zeitpunkte, an denen der rote Streifen auf der Scheibe im Stromzähler das Bild verlässt.

Der Versuchsaufbau: Man platziere das Android Gerät so, dass das drehende Element im Zähler im Preview liegt, aber nichts anderes rotes.



Die Funktionsweise: Die App holt sich während des Camera Previews jeden Frame in Form eines YUV-kodierten Arrays. Durch eine Funktion, die ich irgendwo geklaut habe (Quelle steht in den Quellen) rechne ich dies in ein RGB Array um, ziehe G von R ab. Dann bilde ich das Maximum der Differenz über das ganze Array und lege, wenn der rote Streifen gerade nicht im Preview ist, einen Schwellenwert fest. Wenn es eine fallende Flanke durch die Schwelle gibt, speichert sie den Zeitstempel in meine Dropbox. Von da aus parse und plotte ich sie per Python Skript.

Soweit die Theorie. Jetzt muss ich nur noch darauf warten, dass genug Daten für eine Auswertung vorliegen.
Ich stelle mir schon vor, was man alles damit machen könnte:

  • FFTs, um die Intervalle zu finden, in denen die Gefriertruhe zum Kühlen anspringt. 
  • Sehen, wie hoch der Leerlaufstromverbrauch ist.
  • Abschätzen, wie viel Strom durch Waschmaschinen und Trockner verbraucht wird.
  • Sehen, ob sich die Lautstärke der gehörten Musik im Stromverbrauch niederschlägt.
  • Erfahren, was mehr Strom braucht: Das Popkorn zu machen oder den Film zu gucken.

Freitag, 21. Dezember 2012

Gas ist langweilig

Mein Gaszähler hat erste Ergebnisse geliefert. Leider klappt das mit dem OCR nicht perfekt, was vermutlich an der durch die Geometrie des Gaszählers bedingten suboptimalen Ausleuchtung liegt. Ich habe die gröbsten Fehler per Hand bereinigt und geplottet. Man erkennt, dass sich die Heizung nachts ausschaltet.


Aber irgendwie ist es doch recht langweilig.

Montag, 17. Dezember 2012

Gaszähler mit Android

Da ich jetzt ja Entwickler bin, habe ich meine erste ((mehr oder weniger) nützliche) App geschrieben und auf mein altes HTC Wildfire installiert. Es macht jetzt in festen Intervallen Fotos vom Gaszähler, lädt sie per Dropbox API, die ein sehr schönes Tutorial bietet, auf meinen Computer (FTP wäre ja zu langweilig -- und in Zeiten der Cloud muss einfach alles übers Internet gehen ;) ), wo ich sie nach etwas preprocessing (ausschneiden, normalisieren, monchromatisieren, weichzeichnen) mit Imagemagick per Tesseract OCR auslese. Das ist zwar nicht perfekt zuverlässig, aber besser als es per Hand zu machen.
Die Lampe ist übrigens da, damit das Handy fokussieren kann. Im Gegensatz zu neueren Gräten ist es zu dumm den Blitz zu benutzen beim fokussieren. Aber keine Angst: Es ist eine sparsame LED ;)

Dabei habe ich gelernt, dass Java irgendwie seltsam ist, aber man von Eclipse so gut unterstützt wird, dass man eine lauffähige App schreiben kann, obwohl man Java vorher nur vom hörensagen kannte.
Und was ich nochmal hervorheben möchte: Es gibt nahezu perfekten Linux Support für das Android SDK. Wäre ja auch seltsam, wenn nicht. Ich musste nur eine "udev rule" hinzufügen, mein Nexus 4 anstöpseln und in Eclipse auf "Run" klicken. Und schon wurde ein Foto nach dem anderen in meine Dropbox geladen :D

Als nächstes werde ich zu Auswertung übergehen. Mal sehen, wie gut man sehen kann, wann ich die Heizung aufdrehe.

Update: Auswertung ist da.

Update 2:
Mit folgendem Codeschnipsel hat das auslesen am besten geklappt. Wobei man beim -crop natürlich nur die Zahlen ausschneidet und die -blur Parameter stark von der Auflösung abhängen.
convert -crop 488x60+186+414 -normalize -enhance -monochrome -blur 10x1.5 $i out.png
tesseract out.png cur -psm7 nobatch digits 1&>2 /dev/null
Leider führt bei mir ein Schatten dazu, dass die erste Stelle nach dem Komma oft fehlerkannt wird, sodass ich mich einem vielversprechenderem Ansatz gewidmet habe: Den roten Strich auf dem drehenden Rad zu erkennen.

Sonntag, 16. Dezember 2012

Entwickler-Optionen Android 4.2

Wie wird man ein Android-Sofware-Entwickler? Nun seit 4.2 ist es ganz einfach: Ihr tippt sieben mal auf die Build Nummer in der Telefoninfo und fertig.
Jetzt, wo man also die Fähigkeiten, die es braucht, um eine App zu schreiben, per Voodoo erlangen kann, sollte ich auch eine App schreiben ;)

Mittwoch, 12. Dezember 2012

Empirische Zombie Forschung

Ich habe heute eine kleine Zombie-Simulation in Python gebastelt. Und ich habe dabei gelernt, dass Verfolgen leichter ist als Fliehen: Obwohl die Nichtinfizierten 20% schneller sind, werden nach kurzer Zeit immer alle gebissen. Vielleicht liegt es aber auch an der schlechten Strategie, immer geradlinig vor dem nächsten Zombie zu fliehen. Man wird leicht in Ecken gedrängt oder von mehren Zombies eingekreist. Aber ich hielt das für realistisch: Wenn Zombies hinter dir her sind, rennst du und denkst dir keine optimale Fluchtroute aus. Obwohl diese kleine Simulation zeigt, dass das schlauer wäre.
Ich werde, sobald ich wieder Lust habe, versuchen jedem Zombie eine Art Potential zu geben und die Menschen entlang des Gradienten fliehen zu lassen. Mal sehen, ob man mit der Strategie besser überlebt. Wenigstens könnten meine Probanden dann vor zwei Zombies gleichzeitig fliehen.
Und auf lange Sicht sollte man wohl noch so etwas wie ein Sichtfeld hinzufügen und Gewehre und Hunde und Cricketschläger und was man sonst noch alles aus den entsprechenden Fachfilmen kennt.

Sonntag, 21. Oktober 2012

Zombie Apokalypse

Jogging ist gesund. Es wirkt lebensverlängernd -- besonders bei einer Zombie Apokalypse.
Ein echter Nerd kann also schnell und ausdauernd laufen. Und einem moechtegerngeek bleibt nicht anderes übrig als regelmäßiges Lauftraining. Damit alle Leute verstehen, warum ich durch die Gegend renne, als ob eine Horde -- Zombies -- hinter mir her ist, trage ich dabei dieses T-Shirt.


Das klärt den Sinn der Übung.

Und damit die richtige Atmosphäre während des Laufens herrscht, habe ich mir die geniale App "Zombies, Run!" zugelegt, die Funksprüche von Überlebenden einer Zombie Apokalypse durch die Kopfhörer schickt und eine Handlung erzählt. Damit man erfährt, wie es weiter geht, muss man laufen. Und ab und zu muss man sprinten, damit man nicht von einer Horde Zombies eingeholt wird, die irgendwie auf dich aufmerksam geworden sind. In der App-Beschreibung nennt es sich Intervall Training. Ich nenne es verdammt anstrengend und verdammt toll :)

Falls es eine Zombie Apokalypse geben sollte, wird die Menschheit nur aufgrund solcher Apps überleben.

Im Übrigen finde ich, dass dies ein sehr würdiger 300ster Post ist.

Samstag, 13. Oktober 2012

16:10

Ich habe meinen Monitor ersetzt. Der alte EIZO war zwar noch gut in Stand, aber die alte 1280x1024px Auflösung musste dringend aufgestockt werden. Jetzt sitze ich vor einem 1920x1200px Monitor von DELL (ja Abstieg, aber dafür günstiger... So kann ich es in drei Jahren besser mit meinem inneren Geizhals vereinbaren, mir einen 4K OLED Monitor zu kaufen.)

Es ist wunderbar. Ich kann soviel Code auf meinem Bildschirm darstellen wie noch nie!

Rechts ist noch der alte Monitor.

Wenn ich jetzt zuviel Geld hätte, würde ich mir noch einen kaufen, beide hochkant drehen und nebeneinander stellen. Dann hätte ich auch wieder das alte 5:4 Seitenverhältnis.

Donnerstag, 11. Oktober 2012

seltsamer Attraktor

Ich hab ja schon mal kurz eine Trajektorie zum Schmetterlingseffekt gezeigt.

Ich habe da mal was gebastelt: Die Projektion in die y-z-Ebene, wie 13 Teilchen den Attraktor durchlaufen.

(mit C gerechnet mit Cairo gezeichnet und mit ffmpeg bewegt)

Sie starten alle fast auf dem selben Punkt, aber nehmen sehr verschiedene Wege. Dennoch sieht es irgendwie  geordnet aus. Seltsam.
Hier sieht es so aus, als ob sich die Trajektorien schneiden, was natürlich nicht der Fall ist. Aber abgesehen davon, dass eine 2D Projektion einfacher durchzuführen ist, haben diese Quadrate in meinen Augen etwas Ästhetisches, was in drei Dimensionen verloren ginge.
Es ist minimalistisch und elegant.

Sobald ich das in 3D in Cairo umgesetzt habe, ändere ich meine Meinung vielleicht ;)

Mittwoch, 10. Oktober 2012

Optimierung

In letzter Zeit hatte ich ein bisschen damit zu tun Matlab Code, der zu langsam lief, zu optimieren.
Leider bin ich kein ausgebildeter theoretischer Informatiker, sodass ich leider nicht sagen kann, in welcher Komplexitätsklasse der Code vorher war und wohin ich ihn befördert habe. (Vermutlich um gar keine, da der Overhead, den ich beseitigt habe ja nicht wirklich zum Algorithmus gehört :/) Aber ich habe ein paar Dinge gelernt, die ich gerne festhalten würde. Allerdings sind dies auch Dinge, die vermutlich jeder, der sich kurz damit beschäftigt, ziemlich schnell herausfindet.

Profiler sind Toll:
Schritt Nummer eins sollte wohl immer sein, das Programm laufen zu lassen und zu sehen, in welchen Funktionen die meiste Zeit verbraten wird.
Egal wie genial die Optimierung sein mag: Sie hilft nicht, wenn das Programm in der optimierten Funktion vorher nur ein paar Millisekunden verbringt, sodass man maximal diese Millisekunden sparen kann.
Für Python zB. sollte man sich die Dokumentation ansehen
In Matlab ruft man ihn mit
profview

Funktionsaufrufe sind Böse:
Angenommen du hast ein Gitter mit gut 10^5 Punkten.
Angenommen du hast außerdem einen Algorithmus, der den Abstand jedes Punktes zu einem Polygon ermittelt.
Dann solltest du die Funktion für diesen Algorithmus nicht für jeden Punkt einzeln aufrufen.
Nach Anpassen des Algorithmus, sodass er die Abstände aller Punkte zu einer Kante gleichzeitig berechnet hat, lief es in meinem Test Fall um Faktor 80 schneller. Für größere Punktwolken, was in dem Fall einer besseren Qualität entsprach, auch schneller.

Schleifen sind Böse:
Das gilt nicht für Sprachen wie C.
Aber bei Interpreter Sprachen, sollte man sie meiden wo möglich.
Beispielsweise wird dies im Matlab Jargon "vektorisieren" genannt. (Was nicht mit dem Vektorisieren compilierter Sprachen verwechselt werden sollte.) (Trotz JIT ist es empfehlenswert diese Vektorierung durchzuführen)
Oder in Python kann man es mit "list comprehesions"/"generator expressions" etwas beschleunigen, wie in diesem lesenswerten Post festgestellt wurde.

C ist Toll:
Angenommen jemand hat einen Algorithmus in einer Interpretersprache umgesetzt (Warum finden in der Physik so viele Leute Matlab toll? Nur weil es einfach und schnell zu schreiben ist und wirklich gute Plot-Funktionen hat?), der nicht mehr stark verbesserbar ist -- zumindest nicht von dir. Aber du willst trotzdem, dass dein Computer das Problem in der Mittagspause löst, statt in der Nacht.
Dann geht es in manchen Fällen ziemlich gut den Code einfach nach C zu übersetzen, wo Schleifen, Funktionsaufrufe und sowieso alles sehr viel schneller geht als in einer Interpreter Sprache, wie Matlab (trotz JIT) .
In meinem Test-Fall hat es eine Beschleunigung um Faktor ~6 gegeben. Tja nicht so beeindruckend.
Aber vielleicht kann ich ein paar Leute damit ärgern, die den Code später abändern wollen, aber kein C sprechen.
Und in Projekte, die in einer freundlichen Interpreter Sprache geschrieben sind, kann man es meistens leicht einbinden.
Für Python habe ich das noch nie ausprobiert.
Und für Matlab gibt es die mex-Tools.

Parallelisierung ist Toll:
Angenommen der Faktor 6 aus obigen Beispiel reicht dir nicht. Und angenommen dein Problem ist genauso gutmütig wie meins ;)
Dann kannst du mehrere Prozesse parallel fahren und im Idealfall, je nach deiner Hardware nochmal Faktor 4-16 herausholen -- vorausgesetzt der Speicher reicht.
Das  habe ich noch nicht umgesetzt. Ich werde mich aber mal dran machen, sobald ich zuviel Zeit habe.
In Matlab gibt es ein "parfor" dafür. Aber ich glaube dazu fehlt mir die passende Toolbox. Doofe unfreie Software.
Für Python klappt "multiprocessing" sehr gut.
Und im neuen C11 Standard ist es auch drin.

Zusammenfassung:
Man kann seinen Code beschleunigen. Und am besten geht das durch einen echt guten Algorithmus. Allerdings ist das gleichzeitig auch der schwerste Punkt. Falls man es einfacher haben will, legt man sich einen Rechencluster zu und parallelisiert seinen Code ;)

Dienstag, 2. Oktober 2012

Schlüsselanhänger

Schlüsselanhänger sind Dinge, die primär den Schlüssel schwerer machen. Ich habe bisher versucht, mich auf einen pro Schlüsselbund zu beschränken. Eine Richtlinie, die immer gut funktioniert hat.

Bis jetzt. Was soll ich tun? Ich kann nicht -- Ich brauche beide!

Sonntag, 30. September 2012

Bad Piggies

"Angry Birds" war eine lange Zeit (und ist es glaub ich immer noch) der Inbegriff der Smartphone-Spiele. Die Physik bestand hauptsächlich aus "freier Fall mit Reibung" und Impuls (für die vielen Kollisionen). Im Nachfolger, der im Weltraum spielt, wurde der freie Fall durch eine Gravitation mit begrenzter Reichweite ersetzt. Auch wenn es eine andere Gravitation ist als in der Realität, ist es meiner Meinung nach der beste Teil der "Angry Birds" Reihe.

Aber jetzt gibt es die ganze Geschichte noch einmal aus der Sicht der Schweinchen: Bad Piggies. Und die hatten es offenbar wirklich nicht leicht an die Eier zu kommen.
Man baut Fahr-/Flugzeuge, mit denen man einen Parcour bewältigen muss. Obwohl alles recht einfach gehalten ist, macht es (mir) riesigen Spaß das Gefährt mit Ventilatoren, Schirmen und "Cola mit Mentos"-Flaschen zu navigieren. Man "spürt" die Physik besser als bei "Angry Birds". Und allein deshalb muss ich es schon mögen.
Außerdem hat man kein so schlechtes Gewissen, die TNT Ladung im Fahrzeug zu zünden, wenn man es vorher selbst gebaut hat. In "Angry Birds" taten mir die Schweinchen meistens doch ein wenig leid.


Ich empfehle hier nur selten Spiele, aber das solltest du mal ausprobieren.

Wenn ich öfter Spiele bewerten würde, hätte ich jetzt vermutlich ein lustiges Bild mit mehreren Sternen, auf dem moechtegerngeekscore stehen würde ;)

Donnerstag, 27. September 2012

Zitat des Tages #29631

UN-Vollversammlung Irans Präsident verzichtet auf wüste Beschimpfungen -- Experten rätseln, warum
Untertitel in der NWZ, s. 6, 27.09.2012

Sonntag, 23. September 2012

Urlaub #2

In Stockholm habe ich noch festgestellt, dass in schwedischen Cafés Kaffeetassen von Ikea benutzt werden (im "Kladdkakan" jedenfalls (laut Google Translate "verschmierter Kuchen". Kann jemand schwedisch und mir sagen, was es wirklich bedeutet?)).
Dann ging es mit dem Nachtzug nach Malmö. Ich muss sagen, dass ein Nachtzugabteil für 6 Leute ziemlich eng ist. Vor allem, wenn die anderen fünf Betten auch alle belegt sind. Aber ich habe erstaunlich gut geschlafen. Nach 15 Minuten Aufenthalt in Malmö ging es dann über die Öresund Brücke nach Kopenhagen.


So doof es klingt, aber was mich an Kopenhagen am meisten begeistert hat, waren die Toiletten am Bahnhof: Man steckt seine Kreditkarte in einen Automaten, der druckt eine Quittung und einen Barcode aus, nachdem er 5 DKK abgebucht hat. Dann geht man drei Meter weiter zu einer Tür, hält den Barcode unter ein Lesegerät, woraufhin die Tür aufschwingt und den Weg zu den Toiletten freigibt.
Aber natürlich war ich auch bei klassischen Sehenswürdigkeiten. "Den lille havnfrue", die meistfotographierte Statue der Welt, wenn man einem Schild neben einem Souveniershop direkt daneben glauben darf. Was man aber glauben darf: Sie ist mit 1,25m das kleinste Wahrzeichen der Welt.

Tut mir Leid Dänemark, aber Stockholm ist schöner als Kopenhagen. In Stockholm hat die Sonne geschienen. Es ist möglich, dass das mein Urteil beeinflusst hat.

Nach fünf Stunden Zugfahrt und einer Stunde Verspätung, war ich in Hamburg. Zurück in Deutschland. Meine Kreditkarte ist wieder Nutzlos :D


Donnerstag, 20. September 2012

Urlaub #1

Ich mache Urlaub. Gestern in Uppsala heute in Stockholm, morgen in Kopenhagen. Und übermorgen in Hamburg.
Hier ein Bild von meinem Anreisefahrplan.


In dem großen Gebäude auf dem Bild sitze ich gerade mit einer Tasse Kaffee für 25 Kronen ~ 2,94€, was für schwedische Verhältnisse ein echtes Schnäppchen ist. Außerdem gibt es hier im Nordiska Museet glücklicherweise gratis WLAN, es ist warm und ich kann meine Füße auf einer der vielen Sitzmöglichkeiten ausruhen. Wegen einer Reihe von unglücklichen Umständen (neue Schuhe, Wollsocken,...) haben meine Füße den Trip nach Gamla Uppsala und durch die Hügelgräber dort nicht schadlos überstanden.
Was ich für heute festhalten möchte: Stockholm ist schön und Schweden hat eine tolle Landschaft.




Sonntag, 3. Juni 2012

Dreikörperproblem

Nein, ich habe keine Analytische Lösung dafür gefunden. (Soweit ich mich erinnere hat Poincaré bewiesen, dass es nicht lösbar ist.)
Aber ich habe eine Numerische Lösung mit dem vorher vorgestellten Runge-Kutta Löser erstellt. Und ich habe einen hübschen Film daraus gemacht.







Als Standbild ist es nicht ganz so ästhetisch, wie der Lorenz-Attraktor, aber animiert ist es (meiner Meinung nach) einfach wunderbar anzusehen.

 Und hier die Startwerte: (bei einer Gravitationskonstanten von 1)
Blau: M=5, x0=0, y0=0, v_x0=0, v_y0=0
Rot : M=1, x0=1, y0=0, v_x0=0, v_y0=1
Grün: M=1, x0=1, y0=1, v_x0=1, v_y0=0

Mittwoch, 16. Mai 2012

Schmetterlingseffekt

Differentialgleichungen numerisch zu lösen macht mehr Spaß, als man erwarten würde, wenn man es hört. Und sobald man den ersten Runge-Kutta-Algorithmus in einer kommerziellen Interpretersprache geschrieben hat, bemerkt man, dass dieses Skript doch recht lange braucht.
Für dieses Problem gibt es zwei Lösungen: Entweder wird man zum Guru und wendet irgendeine okkulte Code-Magie an, um das Programm schneller laufen zu lassen, oder man schreibt das Programm in einer schönen Sprache neu. In C zum Beispiel. (Quellen hier)

Ich habe mich für den einfachen Weg entschieden und wenig überraschend eine Tempoverbesserung von Faktor ~140 festgestellt. Jedenfalls für diesen Lorenz-Attraktor. Geplottet habe ich die Werte dann mit Python und matplotlib

Warum ich den Titel "Schmetterlingseffekt" gewählt habe? Naja, das Bild hier sieht ein wenig nach einem Schmetterling aus :)
Davon abgesehen, wurde der Schmetterlingseffekt nach diesen Differentialgleichungen benannt.



Sonntag, 22. April 2012

mSnake - Noch ein Snake Clone

Mein Hobby: Rudimentäre Snake Clone in verschiedenen Sprachen schreiben.
Da ich gerade (eigentlich öfter mal) in der Uni mit Matlab zu tun habe, präsentiere ich stolz "mSnake". (Quellen bei Github)
Da ich so etwas schon in C und in Python geschrieben habe, möchte ich noch zum Ausdruck bringen, dass mir Python davon am besten gefällt.
Matlab ist irgendwie anders. Vom Syntax ist es C und Python gar nicht mal unähnlich, dennoch sieht der Code (meiner jedenfalls) ganz anders aus: Aufgrund vieler spezialisierter Matrix Funktionen, ist im gesamten Programm nur eine Schleife enthalten: Die while-Schleife, die abbricht, wenn man verloren hat. Ob das jetzt gut oder schlecht ist...

Montag, 12. März 2012

Triathlon

Wenn man Sport macht, dann macht man das nur, damit man die GPS Fähigkeiten seines Smartphones nutzen kann. Mir geht das jedenfalls so und ich kann mir auch keine anderen Gründe vorstellen, wieso man sonst laufen sollte (Ok, zu laufen, um ein Python Script zur Datenanalyse zu schreiben, lasse ich auch noch durchgehen)
Und weil GPS nicht lügt, zeige ich euch jetzt meine Leistung meines letzten Extrem-Triathlons.

Danach habe ich auch glatt 28883 BigMacs gegessen, um die Energie wieder reinzubekommen.

Montag, 27. Februar 2012

Netzwerk Benchmark

Man nehme zwei Terminals und zwei per ssh verbundene Rechner und schiebt danach Nullen durch die Leitung.
dd if=/dev/zero | ssh Rechner dd of=/dev/null
watch killall -USR1 dd 

Und jetzt muss ich herausfinden, warum meine 1 Gbit/s Leitung nur wie eine 250Mbit/s Leitung verhält.

(Nach dem Kopieren einer großen Datei über das Netz, mit höheren Transferraten (~900Mbits/s), bin ich zu dem Schluss gekommen, dass diese Benchmarkmethode wohl doch nur suboptimal ist.)

Samstag, 18. Februar 2012

Röhrenverstärker


Ich habe mir von meinen Eltern einen alten Röhrenverstärker (also älter als 20 Jahre) und zwei Boxen geklaut, provisorisch mit Büroklammern, Krokoklemmen und einem Stromkabel verbunden.
Bisher dachte ich immer, dass meine Aktiv Lautsprecher doch ganz gut klingen. Jetzt ist es als ob ich gerade aus der Höhle gekommen bin und erkenne, dass ich vorher nur die Schatten der wirklichen Dinge sah.
Außerdem lässt ein aus Büroklammern zusammengehacktes Kabel das Herz eines jeden Nerds höher schlagen. Und jeden Menschen mit Ahnung von Musiktechnik wahrscheinlich einen Herzinfarkt erleiden.

Jetzt muss ich nur noch herausfinden, mit welcher Spannung die Röhren betrieben werden, damit ich weiß ob ich mir beim Musikhören besser eine Bleischürze umbinde. (Nach kurzen Recherchen: um 300V, also sollte nichts durch das Glas kommen. Ernsthaft: Nichtmal die 25kV Röhren in Fernsehern haben zu übermäßigen Röntgenbelastung geführt)

Donnerstag, 9. Februar 2012

Zitat des Tages #7094

In Schulen wird die Klimaforschung ähnlich verteufelt wie die Evolutionstheorie.
Die Zeit über die USA

Samstag, 21. Januar 2012

General

Rechtschreibkorrekturen, sind eine feine Sache. Vor allem auf dem Smartphone sind sie (meiner Meinung nach) absolut unverzichtbar. Und unter Android 4.0 sind sie auch schmeichelnder als in OpenOffice:
Und bevor hier jemand auf falsche Gedanken kommt. Damit war natürlich ein Linux ISO gemeint.

Samstag, 7. Januar 2012

Kaffee mit Zucker

Beim Aufräumen trifft man immer wieder auf tolle Dinge. Vor ein paar Jahren, als offenbar irgendwo ein Blitz rumlag, habe ich diese Bilder aufgenommen. Noch schöner, wenn sie richtig groß sind; ich hoffe, sie werden beim Upload nicht zu sehr geschrumpft.


Ästhetisch gibt es zwar bessere Bilder, aber dennoch erkennt man hier gut die Newton'schen Fallgesetze, die Oberflächenspannung des Kaffees, die Phasengrenzen im Zucker und bestimmt noch jede Menge mehr, wenn man etwas mehr Ahnung oder weniger Skrupel, noch grundlegendere Dinge zu nennen, hat als ich.