Archiv 16.12.2010 - 12.1.2011

Life at Eclipse » Blog Archive » Introducing Orion. Eine Browser- basierte IDE auf Eclipse-Ideen aufbauend (aber neu implementiert, also nicht einfach Java-Applets, sondern sauber auf HTML5 und JavaScript aufbauend). Könnte ganz interessant werden - klar, gibt die üblichen Miesredner, und natürlich ist das Web nicht unbedingt die ideale Plattform für eine IDE. Aber der Webbrowser ist überall und der Zugriff ist von überall relativ einfach möglich. Also zusätzliche Option in Ergänzung zu einer normalen IDE kann es also durchaus Sinn machen (z.B. für Arbeiten unterwegs über ein iPad).

Bitte vergessen. Am besten nicht nur die Bilder (was ja bei manchen wirklich sinnvoll wäre), sondern auch den - ziemlich dämlichen und im Falle des "Erfinders" ziemlich durchsichtigen - Ansatz der Bundesilse und ihrem Professor.

Bundestube. Ist doch mal was richtig sinnvolles. Suchen nach Inhalten und Rednern von Bundestagsdebatten und dann angucken der Mitschnitte.

App der British Library: Hohe Literatur für iOS- und Android-Geräte. Wer sich für alte Schriften interessiert, könnte daran vielleicht Interesse haben. Ich würde mir wünschen, andere Museen und Bibliotheken würden ähnlich arbeiten und Werke digitalisiert zur Verfügung stellen.

Chromium Blog: HTML Video Codec Support in Chrome. Woah. Google schmeisst H.264 aus dem video-Support von chrome raus und setzt voll auf Theora und WebM.

MonoMac - Mono. Mal genauer angucken, hat jetzt einen aktuelleren Packager, der den ganzen Mono-Kram gleich mit einpackt in die Applikation. Zum Einen kann man damit dann Apps auf den AppStore hochladen, zum anderen ist es einfach simpler die Anwendungen zu installieren. Und da ich mich ja nunmal mit dem ganzen .NET-Zeug beschäftigen muss, kann ich auch gleich was sinnvolles damit anfangen.

Eisskulpturen in Nizhniy Tagil

Jedes Jahr zu Neujahr werden in Nizhniy Tagil Skulpturen aus Eis oder Schnee gebaut und ausgestellt an verschiedenen Stellen in der Stadt. Hier ein paar die mir richtig gut gefallen haben.

Modernizr könnte praktisch werden, wenn man auf neuere HTML5 Sachen zugreifen will, aber nicht immer nur die neusten Browser antrifft (im Prinzip eine Browser-Weiche, die jemand anderes einem schon programmiert hat und auf die man mittels CSS Rules von Stylesheets oder jQuery Code zugreifen kann).

Malmström: EU-Kommissarin will keine Internetsperren für weitere Themen. Oh, toll, wir müssen nur der EU-Kommissarin das allgemeine Filter-Werkzeug an die Hand geben und dann ihr glauben, dass die EU keine Ausweitung auf andere Themen plant und will. Und das dann auch gleich für alle folgenden EU-Kommissionen mitglauben, weil die würde doch nie ein einmal eingeführtes Zensurmittel in der Anwendung ausweiten. Ich mein, das wäre ja als würde man unterstellen, die Maut-Daten würden auch für andere Zwecke als nur die reine Abrechnung von Straßennutzung verwendet werden. (übrigens: wer Sarkasmus in meinen Kommentaren findet, darf ihn behalten)

Department of Justice: Twitter muss Wikileaks-Daten an US-Gericht übergeben. Wär ja auch noch schöner, wenn sich die USA irgendwie sinnvoll mit Wikileaks und den veröffentlichten Inhalten auseinandersetzen würde - generelle Verdächtigungen und wilder Aktionismus jenseits von jeglicher Rechtstaatlichkeit ist doch viel lustiger. Und glaube keiner, dass wäre ein rein amerikanisches Problem, unsere Prolethiker sitzen warscheinlich schon da und überlegen ob sie das gleiche machen dürfen. Denn so große Geheimnisse wie die Inkompetenz und Arroganz unseres Bundesaußenministers dürfen ja auf keinen Fall an die Öffentlichkeit gelangen.

Nischni Tagil - da gehts hin, wenn es wen interessiert. Start der Reise in einer Stunde, Zug nach Frankfurt (mit viel Luft, man weiss ja nie mit der Bahn heutzutage) und am späten Abend dann mit dem Flugzeug weiter. So alles klappt frier ich mir dann um 7 Ortszeit den Hintern am Ural ab.

A Type-Safe Database Query DSL for Scala. Klingt interessant, ein bischen etwas zwischen LINQ und ORM für Scala. Sollte ich mir mal angucken wenn ich aus der Kälte zurück bin.

"Zudem erfolgte die lange Ansage nur in den Fällen, in denen die Callcenter-Agenten den Eindruck hatten, dass der Anrufer meinte, bei der Deutschen Bahn gelandet zu sein. Für alle anderen habe es eine kurze Ansage gegeben." - faszinierend, dieser Callcenter-Betreiber hat eine Telepathie-Schnittstelle erfunden? Denn die Preisansage kommt doch bevor man mit dem Agenten spricht (der ja so teuer ist, dass man die Gesprächszeit mit ihm vergolden muss). Mehr bei 11861: Betreiber der Bahn-Auskunftsnummer klagt gegen Abschaltung - Golem.de.

Studie: Stromkonzerne verlangen zwei Milliarden Euro zu viel. Erstaunlicher als die Dreistigkeit der Energiekonzerne ist das (vorgespielte) Erstaunen der Prolethiker ob dieser Sache - denn was erwarten die, wenn ein faktisches Monopol bestehen gelassen wird und keine ernsthafte staatliche Regulierung eingesetzt wird? Das Werfen von merkelschen Wattebäuschen bringt ja nun nachweislich garnix und eine Regierung, die von den Energieversorgen auf banale Weise gesteuert wird, hat sicherlich kein Interesse etwas zu ändern. Zahlen müssen wir dann wieder (zahlen müssen wir eh immer, da mach ich mir nichts vor, aber es wär schon schön für sinnvolle Sachen Geld auszugeben und nicht für die Milliardengewinne einer sowieso schon viel zu fetten Strom-Mafia).

Sequel: The Database Toolkit for Ruby. Sieht ganz nett aus, die DSL gefällt mir irgendwie. Erinnert mich in Teilen an Djangos ORM.

MacRuby: The Definitive Guide. Buch bei O'Reilly in der Mache zu MacRuby. Kann man schon viele Teile lesen, vielleicht für den einen oder anderen interessant.

hoc - Project Hosting on Google Code. Nur mal so geblogmarkt, falls ich doch mal wieder mit Haskell spielen will. HOC ist eine Bridge zwischen Haskell und Objective-C und erlaubt damit Zugriff auf die OSX Frameworks.

emscripten - Project Hosting on Google Code. Und das ist das Tool, mit dem Python in den Browser/Server gebracht wurde. Es wandelt LLVM Bitcode nach JavaScript um und ermöglicht eine Reihe von interessanten Spielereien.

Emscripten: Python. Ziemlich cool, eine Crosscompilation des Standard-Python nach JavaScript mit Hilfe von Emscripten. Und damit ein volles Python 2.7 (minus vieler Libraries natürlich) im Browserfenster.

pyfilesystem - Project Hosting on Google Code. Könnte mal nützlich sein, wenn man von Python über einheitlichen Code auf verschiedene Filesystemtypen zugreifen will.

Instagram api - instagram - GitHub. Leider nur inoffiziell, und Instagram hat schon den ersten Dienst aufgefordert deren Nutzung des inoffiziellen API einzustellen. Von daher ist die Nutzung des API mit viel Vorsicht zu versehen. Aber interessant wäre es schon (allein schon damit ich nicht mehr meine aktuellen Bilder von Tumblr klauben muss, denn die sind in letzter Zeit nicht so wirklich stabil). Denn mit dem API könnte ich einfach auf meine damit erstellte Sammelseite meines Bilderfeeds zugreifen.

Monads Are Not Metaphors - Code Commit. Definitiv eine der besseren Erklärungen was ein Monad ist, die ich gelesen habe.

J Home. Weil man ab und zu einfach mal andere Sprachen angucken sollte, die so anders sind, das man garnicht erst in die Versuchung kommt sie mit dem normalen zu vergleichen (und hey, ein APL-Abkömmling mit ASCII-Zeichensatz ist wenigstens einmal im Jahr etwas Aufmerksamkeit wert). Kann man auch einfach als Highend-Taschenrechner betrachten.

'surface' plot 1 2 o. / 0.2 * i.60

Ok, ich hab mich ja für MacVim als Standardeditor bei mir entschieden, einfach weil ich dann nicht ständig meine Finger umtrainieren muss, nur weil ich mal auf Linux rumspiele, aber Kod sieht schon verdammt interessant aus. Ein richtiger OSX Editor, mit guter Integration in Systemstandards, und als Scripting-Umgebung schlicht und einfach Node.js und JavaScript. Oberflächenstyling mit CSS3. Und die ganze Oberfläche multithreaded, so dass aufwändigere Aktionen nicht gleich den Editor blockieren. Könnte man fast schwach werden. Ausserdem ist das ganze auch noch Open Source und damit rumhacken frei - anders als TextMate, bei dem der Ansatz ja mal sehr nett war, aber das ganze dann mehr oder weniger eingeschlafen ist, weil er Programmierer seit Jahren an Version 2 schraubt und nicht released.

Das coolste: wenn man im Diskussionsforum guckt, liest man da einen Kommentar: "Because this app has received such uptake, I would encourage the open-sourcing of it to get a jump start on features. There are a boatload of developers who are really tired of waiting for a specific feature in TextMate (split windows, etc.) and they are smart cookies. If you put the source on GitHub you can pull the stuff you like and leave the rest." - nunja, der Entwickler hat das dann einfach direkt so umgesetzt.

The Art and Science of Smalltalk ist jetzt frei im Web verfügbar (PDF Link). Und da wo das Buch liegt gibts noch mehr Bücher über Smalltalk zum Freien Download.

IPython as a system shell erklärt die Funktion des sh Profils für iPython. Muss ich mal mit rumspielen, denn Python als Systemshell kann schon sehr hilfreich sein.

" ... and the fearsome Teutonic minions of the Chaos Computer Club" via The Blast Shack. Bruce Sterling über Assange und Wikileaks. Irgendwie hat mich der Teilsatz deutlich aus dem Leserhythmus geworfen.

Oni Labs: Apollo. Interessante JavaScript-Runtime für Browser die StratifiedJS nach JavaScript übersetzt und damit erlaubt asynchronen Code weitestgehend so zu schreiben wie man synchronen Code schreiben würde. Gerade mit Ajax kann das sehr praktisch sein, weil der eigentliche Algorithmus nicht mehr in den vielen Callbacks verbuddelt wird.

Jquery Snowfall Plugin 1.4 | Somethinghitme. Ich glaub mich knutscht ein Schneemann. Und wer nicht selber hacken will, kann auch das Wordpress Snow Storm plugin benutzen.

MacBookAir3-2/Meerkat - Community Ubuntu Documentation. Falls jemand die schicken neuen MacBook Air mit Ubuntu ausstatten will. Für mich nicht wirklich eine Option, speziell seit ich mit Homebrew eine wirklich brauchbare Infrastruktur zur Installation normaler Software gefunden habe.

Statement der UN (ok, einer Teilorganisation der UN, die sich unter anderem mit Themen wie Meinungsfreiheit auseinandersetzt) zu Wikileaks. Ob das irgendeinen der losgelassenen Prolethiker mit Beissreflex beeindrucken wird? Wohl kaum.

Skype kaputt. Allein dafür das Wort "Mega-Supernodes" zu lesen hat sich das gelohnt.

Ausfall: Skype für viele Nutzer nicht erreichbar - Golem.de - ey, ich bin auf Skype angewiesen. Lasst den Quark mit den Ausfällen! Und was heisst hier "sieht so aus als wäre Skype offline" - wenn ich keine Kontakte angezeigt bekomme und keine Verbindungen aufbauen kann, dann ist das faktisch offline, egal wie die Technik dahinter aussieht.

Denisovans Were Neanderthals’ Cousins, DNA Analysis Reveals - NYTimes.com. Wow. Und Teile des Denisovan Genom finden sich in heutigen Bewohnern von Neu Guinea wieder. Von wegen die waren alle isoliert.

Python Package Index : futures 2.0. Gerade drüber gestolpert, ist eines der Features neu in Python 3.2, die Referenzimplementation läuft aber auch mit Python 2.6. Macht im Prinzip sowas wie mein lazypy und lindypy (also löst die gleichen Probleme, aber auf leicht andere Art).

Pharo Open Source Smalltalk. Sollte ich mir mal wieder angucken, denn es sieht mitlerweile sehr schick aus und die Installation ist wirklich trivial geworden. Pfiffig wie da ein Pharo.App Verzeichnis geladen wird, welches für OSX gleich die App ist und für Linux und Windows einfache Startwerkzeuge (LNK für Windows und .sh für Linux) mit enthalten sind. Ausserdem gibt es eine neue VM und das ganze ist schon richtig fix geworden. Und sieht auch nicht mehr so altbacken aus (leider immer noch GUI-im-Fenster und keine nativen Fenster).

pure klingt sehr interessant, auch wenn es natürlich mal wieder eine Nischensprache ist. Aber wenigstens mal wieder ein selten begangener (nicht unbedingt neu, aber nicht so oft in Compilern verwendet) Weg. Was besonders interessant ist: der Interpreter setzt voll auf die LLVM Infrastruktur und seit 0.45 kann Pure verschiedene Sprachen für die LLVM Backends existieren direkt integrieren (z.B. C/C++ und mit Faust eine Spezialsprache für Audioverarbeitung). Pure geht damit deutlich über einfache Scriptsprachen hinaus und bietet damit eine sehr interessante Alternative zu klassischen FFIs.

Netzsperren: Großbritannien plant globalen Pornofilter und beweist damit, dass der Rinderwahnsinn von harmlosen Kühen auf Politiker und dann Chefs von ISPs überspringt. Die sich aufdrängende Überlegung einer analogen Behandlung wie bei den Rindern erscheint aber wohl nicht praktikabel. Gibt eben doch noch Unterschiede zwischen Firmenbossen, Politikern und Rindviechern. Erstaunlich. (irgendwelche Wettangebote ob denn das britische Modell flugs auf die EU übergreifen wird lehne ich wegen allzugroßer Offensichtlichkeit ab)

c't aufm iPad. Danke dafür, auch wenn es erstmal nur aufgemotztes PDF ist. Ok, es ist peinlich, dass auf diesen Artikel nicht vernünftig gelinkt werden kann, weil ausgerechnet der hinter der Paywall verschwindet - wärs nicht sinnig gewesen, dazu einen Online-Artikel zu haben? Egal. Was aber verärgert: "bis Februar 2011 für Abonnenten kostenlos" ist nicht das, was jemand lesen will der euch für das tote Holz bezahlt. Denn für schon verkaufte Inhalte zweimal die Hand aufhalten, das macht normalerweise nur der Bodensatz der Medienlandschaft. Falls ihr jetzt noch ein digital-only Abo auflegt, das mehr als die Printversion kostet, gibts aber verbale Haue. Übrigens, auch aufgemotztem PDF kann man ruhig ein Gedächtnis zur letzten besuchten Seite spendieren. Ehrlich. Ist nicht soooo schwer.

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.