Am Rande notiert ...

Mental Meta 2: Every Day I’m Shuffling | Dojo Of Lies. Interessanter Artikel über die Effektivität verschiedener Kartenmischverfahren. Besonders interessant für mich, dass der „Ripple-Shuffle“ und „Mash-Shuffle“ im Vergleich zu einem randomisierten „Pile-Shuffle“ gar nicht so gut weg kommt. In MTG Kreisen wird der Riffle-Shuffle oft als Goldstandard betrachtet – aber korrekter ist dann wohl wirklich ein gemischtes Verfahren (was ich mit meinem Overhand-Shuffle und Mash-Shuffle vermutlich auch erreiche).

The Julia Language. Hatte ich das schon? Egal, kann man auch mal wiederholen, vor allem weil es jetzt auch eine kleine kompakte IDE für Julia gibt.

Un peu de math…: Installing and using Sage just got even easier.. – und zwar einfach ein git pull und ein make und das wars. Ok, und größere Mengen Kaffee während man auf den Build wartet. Way cool. Wer Sage nicht kennt: ein Mathematik-Paket mit ähnlicher Komplexität und Ausrichtung wie Mathematica, das komplett auf Open Source Projekten basiert die alle mit Python als „Glue“-Sprache integriert werden.

FriCAS – an advanced CAS. Habe ich ein bischen aus den Augen verloren – FriCAS ist ehemals Axiom, ein ziemlich weit ausgebautes Mathematik-Paket ala Mathematika, geschrieben in Common Lisp. Gibts für verschiedene Systeme, etwas spröde in der Oberfläche (halt eine Kommandozeile), aber sehr mächtig. Und etwas moderner als vielleicht Maxima (wobei für Maxima gibt es GUI Optionen, keine Ahnung was FriCAS da zu bieten hat). Wie jedes anständige Open Source Projekt ist es natürlich nur der Fork eines Forks – unter Open Axiom gibt es ein weiteres Projekt und unter Axiom wird der ursprüngliche Code weitergeführt. Wobei für mich das seit Sage (und eigentlich sogar noch viel mehr seit Anaconda und IPython Notebooks) alles nicht mehr so hohe Relevanz hat – in der Regel sind meine Anforderungen auf deutlich niedrigerem Niveau und mit den über IPython und Python verfügbaren Libraries schon abgedeckt. Klar ist Mathematica und ähnliches immer noch spannend – aber die Motivation die Pakete zu starten und sich in die doch recht andere Syntax-Welt zu begeben ist eher gering. Python hat halt den good-enough Status schon lange erreicht.

Falling Faster than the Speed of Sound « Wolfram Blog. Interessante Analyse von Felix Baumgartners Sprung mit Mathematica. Ich bin ja immer noch in der Spiel-Phase mit Mathematica, daher sind solche Sachen recht spannend um ein besseres Gefühl zu bekommen wie man mit  Mathematica an Probleme ran geht. Arbeiten mit Mathematica ist schon etwas anders als mit normalen Programmierumgebungen.

XKCD plots in d3. Und damit in JavaScript und direkt im Browser. Wäre doch mal was für die Mathe-Fans da draussen, die immer meinen Plots posten zu müssen.

Depth of field. Gute Erläuterung was hinter der Schärfentiefe mathematisch wirklich steckt. Durchaus interessant zu lesen wenn man noch nicht so ganz die Zusammenhänge durchschaut (Hint: primärer Faktor ist das Abbildungsverhältnis, alles andere ist nur eine Funktion davon).

The Julia Manual. Hmm, noch nicht so sicher, was ich von dieser Sprache halten soll, aber interessant klingst halt schon – eine Art Matlab, aber auf LLVM aufbauend und sprachlich deutlich renoviert, mit einigen interessanten Ideen (z.B. werden Julia-Ausdrücke intern in einer  Julia-eigenen Datenstruktur gespeichert, so dass man echte Makros realisieren kann).

StatsModels: Statistics in Python — statsmodels v0.3.0 documentation. Nicht im Fokus für mich im Moment, aber mit dem Modul kann man Zahlen auf ihr statistisches Modell hin untersuchen.

pandas: powerful Python data analysis toolkit — pandas v0.4.1 documentation. Hatte ich glaube ich noch nicht, aber ist recht interessant für Zahlenfresser und Listenvergleicher: ein recht mächtiges Toolkit zur Analyse von Massendaten, speziell mit Behandlung von fehlenden Daten und Alignment von Daten auf eine gemeinsame Basis. Insgesamt nicht ganz uninteressant für ein Projekt auf der Arbeit, bei dem ich häufiger mal mit größeren Datenmengen aus Fremdquellen zu tun habe.

Python, SymPy and Quantum Physics. Bisher waren NumPy/Matplotlib sowie SymPy für mich mehr oder weniger zwei Welten – in diesem Blogpost wird gezeigt, wie man diese beiden verbinden kann, also seine Funktionsdefinitionen über SymPy symbolisch erarbeiten und dann nach NumPy überführen um dort numerische Untersuchungen zu machen. Was gerade im Zusammenhang mit der qtconsole von ipython interessant ist, weil die nur matplotlib Plots inline anzeigt, SymPy Plots aber in einem eigenen Fenster (da diese über pyglet laufen), was zur Speicherung eines Arbeitsergebnisses eher blöd ist.

Issue 438 – pyglet – pyglet 1.1.3 fails on Snow Leopard. Ach menno, das ist jetzt echt ärgerlich. Pyglet wird von Sympy benutzt um mathematische Ausdrücke auszugeben. Dummerweise benutzt Pyglet auf OSX aber Carbon – und das ist nur 32bittig. Und alle Versuche von mir da irgendwas auf 32bit zu zwingen waren vergebens – eigentlich geht das per Environment Variable oder alternativ mit dem arch Tool, aber aus irgendeinem Grund (wahrscheinlich wegen interner indirekten Aufrufe von Programmen) wird das bei Python ausgerechnet nicht so gemacht wie dokumentiert. Ärgerlich, weil Sympy schon länger (nicht erst seit der QT Konsole) auf der Liste der auszuprobierenden Sachen steht.

Orange – Data Mining Fruitful & Fun. Wow, gerade drüber gestolpert, das kannte ich noch nicht, glaub ich. Eine GUI-Oberfläche mit einem Node-Interface zur Definition von Datenanalysen und Visualisierungen, wobei diese Knoten in Python programmiert sind. Das ganze Interface ist mit QT gebaut, daher gibts da auch eine OSX Version davon. Wenn man also größere Datenmengen durchwühlen muss, ist das sicherlich mal einen Blick wert, zumal es Open Source ist und man sich da ja nix vergibt.

Sage: Open Source Mathematics Software. Einfach weil ich ja letztens über Worksheet-Interfaces gegrübelt habe und drüber nachdenke, was es da alles so an Auswahl gibt – Sage ist ja nicht nur ein Mathematik-Paket, sondern primär erstmal eine gigantische Modulsammlung für Python und ein Worksheet-Interface ebenfalls für Python. Ok, man benutzt einen Webbrowser gegen einen lokal laufenden Webserver, aber trotzdem ist das eigentlich eine nette Sache. Und mitlerweile ist Version 4.7 mit vielen Änderungen draußen. Und man kann gute Sachen ruhig mal wiederholen. Billiger als Mathematik ist es allemal und Python gefällt mir auch deutlich besser als Programmiersprache. Da ich warscheinlich dann irgendwann mir meinen eigenen Server installieren will, um auf Notebooks von überall zugreifen zu können, hier mal ein Blogmark auf eine Anleitung, wie man mit Ubuntu einen eigenen Sage Server baut.