Archiv des Autors: hugo

Am Rande notiert ...

LiveScript. Sieht interessant aus, ein Abkömmling von CoffeeScript, aber mit einer Syntax die stark an Haskell angelehnt ist und einem Prelude, der sich ebenfalls an Haskell orientiert. Man kann damit dann statt JavaScript in einer funktionalen Sprache arbeiten, die allerdings weiter versucht eine Balance zwischen funktionalen und imperativen Elementen zu halten – also nicht der pure-Ansatz wie bei Haskell.

ronnix/fabtools. Sieht interessant aus – ein paar Tools für Fabric, mit denen man einfache Systempakete und Pythonpakete (auch innerhalb virtual environments) verwalten kann. Sollte ich mir mal angucken, könnte ein paar Sachen etwas vereinfachen bei der Initialisierung von Arbeitsumgebungen. Allerdings benutzt Vagrant im Moment nur Chef und  Puppet und nicht Fabric, wenn ich das richtig erinnere.

SET TRANSACTION ISOLATION LEVEL Transact-SQL. Da gibts mehr Infos zum Isolation-Level in MSSQL, speziell was die Snapshot-Geschichte bedeutet. Im Prinzip bringt man MSSQL damit dazu sich ähnlich zu PostgreSQL zu verhalten.

#18251 multithreading deadlock in django.models.loading.get_apps – Django. Und noch eine Sache, die uns vielleicht betreffen könnte – Raceconditions zwischen Django-Threads bei der Initialisierung von Django-Applications. Gibt auch schon einen Patch dafür, der das in den Django Internals behebt.

Enabling Snapshot Isolation – SQLAlchemy 0.7 Documentation. Könnte uns das helfen? MSSQL hat scheinbar einen eher ungünstigen Isolation-Level als Default. Hmm, werden wir wohl mal ausprobieren.

„Prince Flo, King Django & The Deadlock Doctor“ von Bluekilla – laut.de – Song. Ok, ja, ich war auf der Suche nach Ideen zu Problemen mit Deadlocks und Django, und nunja, der Titel dieses Songs klingt so, als könnte er dann die Titelmelodie für mein Problem werden, aber dummerweise hat der Deadlock Doctor auch keine brauchbare Idee parat.

Using SELECT FOR UPDATE in Django. Drin was dran steht. Denn der Django ORM kann derzeit keinen SELECT FOR UPDATE erzeugen, aber manchmal braucht man ihn einfach.

WordPress › WordPress 3.4 “Green”. Erstaunlich – Releaseupdate, zwei Themeupdates (eines – twentyten – benutze ich als Parenttheme für mein eigenes RFC1437 Theme) und ein Plugin Update später und mein Blog tuts immer noch. Tja, und trotzdem unzufrieden: ein Bug im Atom-Posting für Media ist seit ewigen Zeiten offen und nicht gefixt. Und 3.4 ändert zwar die Atom-Posting-Infrastruktur, aber fixt den Bug wieder nicht. Und der alte Patch tuts nicht mehr, weil sich die Filestruktur geändert hat. Und genau an der Stelle zeigt sich immer wieder das Defizit des WordPress-Dev-Teams: auf Bugreports einzugehen und die verdammten Dinger zu schließen. Tickets mit Patch 11 Monate verschimmeln lassen, bis die Filestruktur sich so ändert, dass die Patches nicht mehr funktionieren? Lächerlich. Und für mich bedeutet das, dass mein Posting-Workflow für Bilder in das Blog also erstmal kaputt ist, denn der XMLRPC Upload kann keine Metadaten wie z.B. Titel setzen und der Atom-Upload lädt nur die Bilddatei hoch, erzeugt aber nicht die verschiedenen Bildergrößen, die fürs Posten nötig sind.

Thomas Tempelmann | Arbed – The Advanced RB Editor. Worüber man so alles stolpert – den Thomas kenne ich noch aus Modula-2 Zeiten, er war da sowas wie der Modula-2 Compiler Guru damals. Und jetzt benutzt er Real Basic. Und hat da ein recht interessantes Tool zum Arbeiten mit RBP Files gebaut, das ich mir mal angucken sollte, weil es ein paar Sachen vereinfachen könnte (speziell die Versionierung, die Möglichkeiten die RB von Hause da liefert sind da nicht so beeindruckend). Und ja, ich benutze wirklich Basic. Ist kein Witz.

ucsd-psystem-vm 0.11. Weil ich gerade mal einen Flashback hatte – UCSD-p System lebt! Der Link ist eine VM für UCSD Pascal, die unter Linux läuft. Und es gibt auch noch das originale UCSD-p System zum Download. Dort ist sogar eine Version (IV) für DOS, das kriegt man warscheinlich am leichtesten zum Laufen.

TryAPL. Also im Web. Also, so ein APL in JavaScript. Mit Popup-Tastatur mit den lustigen APL Zeichen drauf. Luschtig.

PEG.js – Parser Generator for JavaScript. Drüber gestolpert als ich ein paar Parser-Implementierungen gesucht habe, unter anderem eben PEG basierte Parser Generatoren, denn ich habe für Markdown eine PEG Definition. Aber ich muss da wohl noch etwas Theorie studieren bevor ich das sinnvoll einsetzen kann. Oder ich löte mir doch den Parser mit der Hand – so kompliziert ist die Syntax von Markdown ja nicht wirklich. Und ich muss für mein Spielprojekt sowieso den Parser um diverse eigene Sachen erweitern.

REALbasic | Open Source | Charcoal Design. Open Source für Real Basic. Jau, ich programmiere zur Zeit Sachen für mich selber in Basic. Und ehrlich: das macht Spaß. Die Site hab ich gefunden als ich nach JSON Implementierungen für Real Basic gesucht habe.

Xcode 4.3 MacRuby compatible problem workaround – 東 . Blog. Lästig, aber notwendig – die AppStore-Migration von XCode hat die Template-Installation von MacRuby zerbröselt, so dass auch mit dem neuen MacRuby (0.11 mit Support für XCode 4.2 und 4.3 ist raus) die Templates nicht auf Anhieb funktionieren und die Integration mit Interfacebuilder nicht tut. Mit der Anleitung hier tuts wieder.

Waterbear: Welcome. Fällt in die ähnliche Ecke wie Google Blockly, aber es ist eher ein Toolkit auf dem aufbauend man visuelle Sprachen bauen kann. Also vielleicht doch interessant für den einen oder anderen. Zum Rumspielen allemal interessant.

google-blockly – A visual programming language – Google Project Hosting. Grundsätzlich halte ich visuelle Programmiersprachen in den meisten Fällen für dead-ends und eher unnütze, wenn auch unterhaltsame Spielereien. In diese Ecke würde ich auch Blockly stellen, zumal es sich hier wirklich nur um eine visuelle Repräsentation klassischer Programmierstrukturen handelt – also IFs, Variablen und ähnliches. Eigentlich enttäuschend, wenn man bedenkt, dass Prograph schon vor Jahrzehnten Datenflussprogrammierung visualisiert hat (und damit ein wesentlich interessanteres Modell für eine visuelle Programmierumgebung geliefert hat).

Emmerich am Rhein und Rees

Diese Galerie enthält 20 Fotos.

Am Rückreisetag haben wir in Emmerich am Rhein und in Rees halt gemacht und in Rees eine kleine Rundfahrt auf dem Rhein gemacht. Netter Abschluß des Wochenendes.

Freilichtmuseum Arnheim

Diese Galerie enthält 61 Fotos.

Und weiter gehts mit dem dritten Tag – das Freilichtmuseum in Arnheim. Es ist direkt neben dem Zoo und genaus schön in einer Wald und Wiesen Landschaft gelegen, drinnen fährt eine Straßenbahn und es gibt immer wieder kleine Showeinlagen. Wirklich … Weiterlesen

Burgers Zoo

Diese Galerie enthält 60 Fotos.

Und hier der zweite Tag – Bilder aus Burgers Zoo, unserem Hauptziel. Wie man sieht, das ganze beginnt und ended mit Pinguinen. Perfekter Anfang und Abschluss.

Eindrücke aus Arnheim

Diese Galerie enthält 19 Fotos.

Hier mal der Anfang des Pfingswochenendes – Eindrücke aus der Innenstadt und vom Rheinufer von Arnheim.

Am Rande notiert ...

AugmenteDev. Absolut cooles Spielzeug – man druckt ein paar Marker (kleine Zettel mit Muster), platziert die in der Gegend und dann lädt man einfach ein paar 3D Modelle aufs iPhone oder iPad – diese tauchen dann an den stellen der Marker auf, korrekt skaliert und rotiert entsprechend den Markern. Sehr unterhaltsam, auch wenn es erstmal banal klingt. Mein Todo ist jetzt, meinen SL Avatar in ein eigenes 3D Modell umzubauen in verschiedenen Posen, und diese dann als Modelle auf dem iPhone dabei zu haben, um Fotos aus allen möglichen Gegenden zu machen mit meinem Avatar im Bild. Oh, und die App ist frei für iOS und Android.

RQ: Simple job queues for Python. Wirklich simpel – man braucht nur einen Redis Server und das Modul und das wars mehr oder weniger. Simple Funktionsaufrufe werden in die Queue geworfen, ausgeführt und Ergebnisse zurückgeliefert. Kein großer Overhead im Code.

apenwarr/bup. Sehr interessantes kleines Tool welches Backups differentiell verwaltet – und zwar auf der Basis der git Datenstrukturen. Im Prinzip könnte man es als einen intelligenten Splitter für große Files mit geringen Änderungen in jeder Version betrachten – also z.B. tar Files von Servern. Dazu wird ein rsync-ähnlicher Algorithmus für die Differenzenermittlung benutzt und das Ergebnis in einem git Archiv abgelegt. Das ganze kann auch noch mit dem vorigen git-annex kombiniert werden und damit eine platzsparende Backup-Lösung bieten.

git-annex. Interessantes Plugin für git mit dem man nur die Metadaten von großen Dateien, aber nicht deren eigentlichen Inhalte in git verwaltet. Die Dateien selber werden als normale externe Files verwaltet, aber die Verzeichnisstrukturen und Verweise werden korrekt versioniert – und das ganze zusammen mit normal versionierten Dateien. Dadurch wird das Problem, dass git mit großen Dateien hat, umgangen. Und damit wird z.B. auch sowas wie ein Foto-Archiv auf git-Basis möglich.

Mumble. Ist zwar irgendwie lustig, wenn man seine Tipps für Software von einer politischen Partei bekommt, aber egal. Mumble ist sowas wie Teamspeak (oder auch ein entfernter Verwandter von Skype Gruppenchats oder Google+  Hangouts), nur halt open source und zum selber betreiben. Clients auch für OSX, Windows, Linux und iOS. Es gibt da übrigens auch Bemühungen, mumble als Alternative zu Vivox in OpenSim als Voice-System zu integrieren.

Sphero. Oh mann, das Teil will ich haben. Wieso gibts so viel cooles Spielzeug jetzt wo ich erwachsen bin? (wer nicht klicken will: Roboter in Kugelform mit präziser Steuerung und der Möglichkeit den zusätzlich als Controller einzusetzen – und gesteuert durch Apps auf dem Smartphone).

Ubuntu 10.04: Why is ksmd eating CPU cycles? | Interphero Miscellany. Ok, bin gerade bei meinem Server drüber gestolpert und blogmarke das mal für spätere Referenz. Bei kvm Einsatz taucht bei neuerem Ubuntu der ksmd auf, der eigentlich die Speicherseiten zwischen virtuellen Maschinen vergleicht und doppelte Seiten nur einmal speichert – das spart RAM, aber frisst CPU. Wenn man also kein over-commit beim Speicher macht, kann man den ruhig ausschalten.

Features | ownCloud.org. Hmm, jetzt fehlt nur noch iOS Zugriff auf die OwnCloud und ich glaub ich hab danach eine längere Installationssession vor mir. Ganz werde ich zwar nicht auf Dropbox oder ähnliches verzichten können (und wollen), aber evtl. reicht es schon um auf die freie Version von Dropbox zurückzugehen, wenn ich die großen Datenmengen nur noch auf meinem eigenen Server verwalte.

TypeQuery. Generische Funktionen für Python. Nur eine einfache Variante mit einem eingeschränkten Zielbereich, aber für manche Sachen durchaus überlegenswert. Derzeit noch single-dispatch auf das erste Argument, aber mulitple dispatch ist geplant. Im Moment also ziemlich identisch in der Funktion zu simplegeneric von PJE. Und sehr ähnlich zu meinem multidispatch, in welchem ich versuche das Modell der Clojure generic methods nachzubauen. Ich muss wohl wirklich mal wieder an multidispatch weiter arbeiten. Oder einfach mehr mit clojure-py spielen, da kann ich dann gleich „the real thing“ benutzen.

PostgreSQL: Documentation: 8.4: hstore. Aus der Reihe „Sachen die deine Datenbank kann, die du aber vielleicht nicht kennst“: Key-Value-Stores innerhalb eines PostgreSQL Datenfeldes. Oder auch poor-mans-object-notation. Oder einfach dann praktisch, wenn man lose strukturierte Daten ablegen will, aber nicht ständig das Schema anpassen will – das Schema sind dann die primären Daten für die Ordnung des Modells, die Abhängigkeiten, Kardinalitäten etc. – und das hstore Feld speichert dann die zusätzlichen Ausprägungen, die sich zum Beispiel durch fachliche Anforderungen dynamisch ergeben. Manchmal die bessere Alternative zu einer ausnormalisierten Property-Tabelle. Und das ganze ist schon seit den 8er Versionen drin (ist allerdings ein ladbares Modul).