Am Rande notiert ...

Alex Gaynor — Getting the most out of tox. Müsste ich mir mal angucken – derzeit bin ich ja noch recht faul beim Erstellen von unittests für meine Projekte, in der Regel teste ich nur gegen die eine Python-Version mit der ich primär arbeite und auch bei den Abhängigkeiten nehm ich nur die, die gerade auf meiner Kiste (bzw. im virtualenv) installiert sind. Wäre mal sinnig da ein etwas umfangreicheres System für aufzubauen, einfach um etwas aussagekräftigere Testergebnisse zu haben.

sparrow – The New Mail for Mac. Sieht richtig gut aus und ist der erste Mailclient, der mich überlegen lässt ob ich nicht von MailPlane wechseln sollte. Denn MailPlain unterstützt zwar – zwangsläufig – alle GMail Features, aber sieht eben auch genau so aus wie das was es ist: eine Webseite. Wenn Sparrow auch noch „universal inbox“ ala iPhone/iPad einbauen würde, wäre es ziemlich perfekt.

coleifer/peewee at master – GitHub. Hatte ich bestimmt schon, kleiner ORM für Python der an Django angelehnt ist und mit sqlite tut. Gerade für kleine Webservices interessant, wenn man eben nicht ein großes Framework reinziehen will, sondern einfach nur den Code etwas lesbarer gestalten will. Vorsicht: unterstützt direkt keine vom Programmierer gesteuerten Transaktionen, sondern ist im Prinzip immer im Autocommit Modus. Kann man aber mit relativ wenig Handgriffen anders machen, wenn man will – einfach UpdateQuery, InsertQuery und DeleteQuery ableiten und requires_commit an den Klassen auf False setzen, und eine erweiterte execute Methode definieren, welche einen expliziten commit-Parameter nimmt.

Middleware_and_Utilities – WSGI Wiki. Wenn man mit wsgi als Basis arbeitet, ist es eine gute Idee hier zu gucken was es an WSGI Applikationen und Middleware schon so alles gibt.

Python Package Index : urlrelay 0.7.1. Webservices mit gevent als Basis brauchen URL dispatching, urlrelay scheint da eine interessante kleine WSGI-Library zu sein, die im Gegensatz zu anderen Systemen nur genau das macht und nichts anderes.

Bug 1044 – CVE-2010-4345 exim privilege escalation. Der zweite Teil des Exim-Durchmarsches. Dieser ist die Rechteeskalation über Exim und ein alternatives Config-File. Denn dadurch, dass Exim ein monolitischer Server unter suid Rechten (also Start mit Root-Rechten auch wenn als anderer Benutzer ausgeführt) ist, gibt es ein kleines Zeitfenster in dem der Dienst immer als root läuft – und durch das alternative Configfile wird das dann ausgenutzt. Der Patch beschränkt die Orte an denen diese Config-Files liegen dürfen und kombiniert mit der Konfiguration der Schreibrechte auf diesen Ort kann man damit vermeiden, dass nicht-root-User eigene Configs einschleusen.

Bug 787 – memory corruption in string_format code. Wichtig, wenn man Debian älter als Lenny betreibt, denn dafür gibt es dann keine Sicherheitsupdates mehr und man muss  selber patchen. Der hier macht die Tür zu. Übrigens durchaus interessant mal auf das Datum zu gucken – der ist seit 2008 gefixt, aber durch die frühe Aufgabe von Security-Updates von auslaufenden Debian-Releases ist es in vielen Debian-Systemen auf Etch Basis (und älter) noch drin. Debian ist nur noch empfehlenswert einzusetzen wenn man tatsächlich auch jeden Releasewechsel zeitnah mitmachen kann. Ansonsten sind Lösungen wie Ubuntu LTS deutlich die bessere Wahl. Abgesehen davon ist es doch reichlich peinlich, dass Lenny noch so eine gammelalte Exim hatte …

rhodecode ist sowas wie bitbucket oder github. Benutzt wie bitbucket mercurial und bietet diverse Werkzeuge in der Oberfläche. Das besondere? Der Code ist frei und damit sowas wie Bitbucket zum selber hosten. Vielleicht eine Alternative zu Trac.

HP Storage Hardware Harbors Secret Back Door | threatpost – erledigt hoffentlich die regelmäßigen „wir müssen auf hp umsteigen weil die ist ja viel besser als die NetApp“ Diskussionen. Und ja, das war Sarkasmus.

The Self Publishing Revolution: Amazon in the Book Banning Business. Diesmal gehts gegen erotische (ok, seien wir ehrlich: pornographische) Bücher von Selena Kitt. Aber wer sagt, dass Amazon da aufhört? Und selbst wenn natürlich Amazon das Recht hat zukünftig ein Buch nicht anzubieten (gibt genug Alternativen für eBook Stores), was ausser ihren ToS gibt ihnen das Recht verkaufte Bücher zu löschen? Nach der 1984 Peinlichkeit dachte man ja, sie hätten es begriffen. Dabei war dort die Ursache ein Rechteverstoß des Publishers auf den Amazon reagiert hat – diesmal ist es reine Willkür. Das ganze bestätigt meinen Ansatz nie eBooks zu kaufen, die ich nicht von ihrem DRM befreien kann. Allein als Investitonsschutz notwendig. (und natürlich vorzugsweise Bücher gleich ohne DRM kaufen wenn möglich)

Bottle: Python Web Framework sollte ich mir auch mal als Alternative angucken zu web.py – denn in Bottle ist die App einfach eine Sammlung von Funktionen mit Routen und Mappings und nicht immer gleich eine Klasse. Ausserdem können die Funktionen für unterschiedliche Verben verschiedene Parameter haben und JSON wird direkt als Outputformat unterstützt. Für Webservices klingt das noch eine Runde schlanker als web.py – und Sieht für mich auch sauberer in der Struktur aus.

In Albanien und Bosnien fällt der Visa-Zwang. Und warum nicht für Russland? Wäre für mich wesentlich wichtiger …

Mehrheit in NRW gegen neuen Staatsvertrag für Jugendschutz im Internet – Computer. Der Versuch der Union, das ganze als Blamage für Rot/Grün hinzustellen, ist schon ausgesprochen putzig. Ich mein, für wie blöd halten diese Prolethiker in Düsseldorf den Wähler eigentlich? Das Rumgeeiere von Rot/Grün ist zwar peinlich – besonders bei den Grünen hätte man nach ihren vollmundigen Äußerungen eigentlich nur eine Ablehnung akzeptieren können – aber die Lächerlichkeit der Grünen kann sich die Union kaum als Erfolg auf die Fahnen schreiben, das kriegen die Grünen auch ganz alleine hin. Gut, dass dieser unsägliche Vertrag jetzt erstmal aufgeschoben ist (wer glaubt, das Thema sei jetzt auf länger erledigt, macht sich die Hosen auch mit der Kneifzange zu), aber ein Verdienst einer der Parteien ist kaum zu erkennen. Alle haben sich dabei lächerlich gemacht, selbst die Linken (mit ihrer Zustimmung in Berlin).

Nicholas Piël » Benchmark of Python Web Servers. Sehr interessantes Benchmarking, ich muss mir definitiv gevent angucken, die Leistung in den Tests ist schon beeindruckend. Update: nachdem ich mir gevent angeguckt habe – ich bin beeindruckt. Für Webservices muss man aufpassen: gevent.wsgi unterstützt nur GET und POST, nur gevent.pywsgi unterstützt auch PUT und DELETE.

RecordExtension – Mercurial. Genial, war mir bisher nicht aufgefallen. Damit kann man einzelne Patches zum Commit auswählen, wenn man mal mehrere Sachen in einem Rutsch gemacht hat, aber nicht zusammen committen will.

Sicherheit: Angeblich Backdoor im IPSEC-Stack von OpenBSD. Autsch. Wenn da was dran ist, brauchen wir wohl mal ein WikiLeaks für Open Source. Und das ausgerechnet bei OpenBSD, das sich Sicherheit auf die oberste Stelle der TODO geschrieben hat.

Home | The FinePix X100 Professional Photographer’s compact digital camera from Fujifilm. Sieht alles doch schon recht interessant aus. Aber solange man sie nicht in den Händen halten kann, ist es alles eh noch Spekulatius.

mrdoob/three.js – GitHub. 3D Engine in JavaScript. Eigentlich hab ich keine echte Anwendung derzeit für sowas, aber für Visualisierungen könnte das mal ganz praktisch sein. Und nunja, es ist einfach cool, allein das rechtfertigt ja schon ein Blogmark.

Namespacing in JavaScript. Alles was man dazu immer schon wissen wollte, aber nicht zu fragen gewagt hat. Oder auch: warum syntaktischer Support für Namespaces überbewertet ist und plain old objects reichen.

The Ball Revealed – Sphero « The Orbotix Blog. Will. Haben.

Wer mit Bytes in Clojure rumfummeln muss: gloss. Im Moment hab ich keine Anwendung dafür, aber mal geblogmarkt für später, wenn ich mal wieder mit Binärdaten zu tun habe.

Mac OS X Automation: Services. Ein Beispiel wie man einen integrierten HUD Browser für Twitter mit Automator und OSX Services bauen kann. Garnicht mal so uncool.

Clojure Libs and Namespaces: require, use, import, and ns – 8th Light Blog. Einfach nur ein kurzer Abriss über die verschiedenen Namespace-Funktionen in Clojure.

ninjudd/cake – GitHub. Nochmal genauer angeguckt, ist mitlerweile ein wirklich praktikabler Weg um Clojure zum Laufen zu bekommen. Vor allem lädt der nicht gleich das halbe Internet herunter wie andere Build-Tools im Java-Umfeld. Lässt sich auch mit einem kleinen Helper-Script in MacVim mittels slimv integrieren und ist zumindestens für mein Rumspielen mit Clojure brauchbar.

slimv.vim – SLIME-like Lisp and Clojure REPL inside Vim with Profiling, Hyperspec, Paredit. Ganz interessant, da deutlich leichtgewichtiger und simpler zu installieren als Slime oder VimClojure oder eine der anderen dicken Lösungen. Und man kann einfach aus Vim heraus Common Lisp oder Clojure programmieren. Ist zwar derzeit nur im „rumspielen und gucken“ Modus, aber klingt durchaus interessant.

Mainz/Landau: Erdwärmekraftwerk wohl für Erdbeben verantwortlich. Tja, aber in Emsdetten und Nordwalde will Exxon Wasser in Erdgasblasen pressen um dieses dort zu fördern. In bisher ungetesetet großer Tiefe und mit bisher nicht wirklich im Dauerbetrieb getesteten Methoden. Aber schon ein Geothermiekraftwerk kann durch eine ähnliche Vorgehensweise zu Erdbeben führen, die Schäden anrichten. Ich glaub Hausbesitzer in Emsdetten und Nordwalde sollen das mal ganz scharf im Auge behalten …

Gundo – Visualize your Vim Undo Tree. Vim hat ja auch beim Undo etwas mehr als übliche Editoren haben – der ganz Baum an Undo/Do/Redo Aktionen wird gespeichert und man kann sich frei darin bewegen. Nur kapiert das niemand mit den normalen Vim Mitteln. Mit dem Gundo Plugin kann man sich diesen Baum direkt visualisieren lassen und damit vielleicht ja mal was anfangen. Sicher, man kann sowas über regelmäßiges Commit und eine Versionsverwaltung auch realisieren. Und klar, wir alle committen ja immer früh und ständig und haben nie irgendwelche langen Editsitzungen, oder?

Chromium Blog: A New Crankshaft for V8. Und damit wird JavaScript noch ne Runde schneller. V8 ist auch die Basis für Node.Js, womit es diese Performanceverbesserung in Bälde wohl auch für den Server gibt.

Bin jetzt auch bei instagr.am zu finden – natürlich als rfc1437. Ich mach ja eh schon geraume Zeit sowas ähnliches auf tumblr, und Instagram ist ein erstaunlich praktischer Uploader für tumblr.

The Risks of Cloud: Lessons from Wikileaks – Simon Says…. Zusammenfassung der Aktionen gegen Wikileaks und was diese für Business im Web bedeuten. Denn das, was der Wau Holland Stiftung mit PayPal passiert ist (denen ist nämlich das PayPal gesperrt worden, nicht Wikileaks) kann auch jedem anderen passieren, wenn wem deine Nase nicht passt. Ohne auch nur einen rudimentären Rechtsweg. Da wird einfach mal behauptet die ToS wären nicht eingehalten worden. Und auch selber hosten hilft nicht wirklich denn man ist immer noch von vielen anderen abhängig (der Laden wo der Server läuft, die Domains …). Komischerweise wird diese Willkür im Netz nie erwähnt, wenn Politiker vom schlimmen „rechtsfreien Raum Internet“ schwafeln.