[sugar] Ideas for Sugar development environment from HyperLookSimCity - noch mehr über HyperLook.
programmierung - 12.10.2006 - 21.3.2007
SQLite Introduction - nur gelinkt, weil ich es möglicherweise für ein Banalprojekt brauch (PHP5 und SQLite - ihgitt, muss mir danach die Tastatur reinigen).
Python, Django and DB2: we need your input! - klingt als ob es bald ein DBAPI2 modul für Python und DB/2 direkt von der Quelle geben wird.
LSL Module For BBEdit/TextWrangler - die besten Editoren der Welt für Linden Scripting Language (in SecondLife) benutzen.
Programming Erlang - klingt gut, und bisher waren die Bücher aus der Pragmatic Bookshelf Reihe ganz brauchbar. Könnte mal wieder eines sein, das man sich antun will.
Shill (LSL syntax files) - diverse Editoren für LSL benutzen. Irgendwas wird wohl für jeden dabei sein.
Mono on Nokia 770/800 - gut. Damit bestehen Chancen die libSL Geschichten (z.B. Sleek?) auf dem Nokia zum Fliegen zu kriegen. Und damit gibts Chancen für einen minimalen SL Client auf dem Tablett! (ganz abgesehen von der Vielzahl interessanter Programmiersprachen die jetzt auch für das Nokia verfügbar werden)
Nochmal PicoLisp
Also nach etwas gewühlen und geblätter und gelese: PicoLisp ist genial. Was es ist: einfach ein primitives Lisp mit einem sehr kompakten Sprachkern und einigen sehr ungewöhnlichen Design-Entscheidungen.
Ganz vorne: kein Compiler, nicht mal ein Bytecode-Compiler. Die "virtuelle Maschine" von PicoLisp ist einfach ein effizienter Lisp-Interpreter für Lisp-SEXPRs (die verketteten Listen die man so aus alten Lisp-Interpretern kennt).
Ein weiterer Punkt: nur Listen, Symbole und Zahlen als Datentypen. Keine Floatingpoints (statt dessen einfache Wege skalierte Integer zu benutzen) und Strings sind entweder Listen von Zeichen (die wiederum Symbole sind) oder einfach Symbole.
Auch eher ungewöhnlich: konstant dynamisches Binden von Symbolen, nicht lexikalisches Binden. Alte Lisp-Systeme hatten auch nur dynamisches Binden. Lexikalisches Binden macht Compiler einfacher und beseitigt einige lästige Fehlerquellen, dynamisches Binden aber ermöglicht einige sehr interessante Programmiertechniken (weshalb es in vielen Lisps fluids gibt - dynamisch gebundene Variaben - wie z.B. die globalen Parameter in Common Lisp).
Weitere Besonderheiten: von vornherein auf die Anwendungsentwicklung datenbankgestützer Programme ausgelegt. Es ist eine eigene Datenbank enthalten die alle Merkmale typischer Objekt-Relationaler Datenbanken enthält und eine eigene GUI-Bibliothek, die auf verschiedene HTML-Varianten (HTML pur, HTML mit Java und HTML mit JavaScript) absetzt.
Der Datenbank dann Prolog als Abfragesprache zu verpassen ist nur konsequent weitergedacht - generell ist die Integration von Prolog und Lisp ja nicht neu. Das ganze aber dann wieder derart kompakt hinzubekommen, ist smart.
Was mich daran so begeistert? Nunja, wer von Paul Graham seine Artikel über Arc gelesen hat - die 100-Jahre-Sprache, an der er werkelt - wird erstaunliche Parallelen sehen. Auch PicoLisp beschränkt sich auf das notwendigste, und benutzt recht kompakte Darstellungen und hat auch nur stark reduzierte Datentypen. Bei beiden ist die Idee die gleiche: zurück zur sauberen Abstraktion auf den bekannten Konzepten, nicht die Darstellung des Source durch vorweggenommene Optimierung (Datentypenauswahl) verwässern.
Das Ergebnis? Ein kompakter Lisp-Kern mit sehr interessanten Eigenschaften und einer recht einfachen Möglichkeit Webanwendungen zusammenzudengeln. Aber auch geeignet für typische Scripting-Geschichten (wenn man mal rausgefunden hat, wie man z.B. Programme integriert bekommt). Zusätzlich ein Interpreter mit überschaubarem Source (keine 14000 Zeilen C-Source!), den man leicht um die für eigene Projekte notwendige Funktionen erweitern kann. Insgesamt erinnert mich das stark an die alten TCL-Versionen, nur das hier ein richtiges Lisp unten drin steckt.
Wer selber lesen will, hier ein paar Dokumentationslinks:
Allerdings sind alle Dokumentationen nicht so ganz vollständig - immer wieder tauchen Funktionen in einem der Dokumente auf, die in der Referenz fehlen, oder es werden Funktionen benutzt, die nirgendwo erwähnt werden und deren Funktionsweise nicht ganz klar ist. Aber dazu gibts ja auch noch den kompletten (und nur spärlich) dokumentierten Sourcecode aller Library-Module. Ja, klingt etwas nach Text-Adventure, ist mir klar. Andererseits ist das Volumen an Source gut überschaubar.
Pico Lisp - mini-Lisp-Interpreter, der seit 1988 im praktischen Einsatz für Anwendungsentwicklung ist. Interessantes Konzept - zurück zu Lisp 1.5, schneller Interpreter statt Compiler, hohe Dynamik.
Jungerl - a dense and chaotic Jungle of Erlang code - ist drin was drauf steht.
soaplib - ab und an gibts doch mal was neues. Neben dem doch recht langsam daherdümpelnden SOAPpy und den meiner Meinung nach etwas overengeneered ZSI, gibts jetzt mit soaplib noch eine weitere Python-Bibliothek für SOAP Webservices. Mal angucken.
boto - eine Library zum Zugriff auf Amazon Webservices. Unterstützt werden S3, SQS und EC2 - genau das, was ich brauche. Dokumentation sieht auch ganz brauchbar aus.
Jython 2.2 Beta - endlich mal wieder was neues von Jython, der Python-Implementation für die Java VM. Immer noch Python 2.2 Syntax Stand, aber immerhin ein neuer Release. Allerdings liest sich die Roadmap etwas krass, wenn da von der Code-Qualität gesprochen wird ...
Yahoos kleine Mashup-Revolution - Zombies sind halt nicht totzukriegen. Wie oft ich schon Programmiersysteme gesehen habe, die damit antraten "nicht programmieren können zu müssen" und statt dessen auf die vielbeschworenen Flussdiagramme setzen - keines der Projekte hat wirklich überlebt. ProGraph war auf dem Mac eine sehr frühe Datenfluss-Sprache mit grafischer Darstellung und wenigstens wirklich brauchbar komplett als Sprache - aber natürlich für Nicht-Programmierer nur schwer durchschaubar. Novells AppWare ist nochmal als Mindbrew aufgekocht und verkauft worden, aber auch das ist pleite. Labview ist wohl derzeit einer der wenigen Anbieter einer vergleichbaren Lösung, die allerdings auch in recht speziellen Bereichen eingesetzt wird (Mess- und Steuertechnik, Labors etc.), aber auch da gehts nicht ohne Programmierkenntnisse. Und jetzt das ganze als Web 2.0. Putzig.
Slimbox, the ultimate lightweight Lightbox clone - nettes JavaScript Spielzeug zur Anzeige von Bildern in einer Galerie.
ModWsgi - ein Apache-Modul für WSGI-Applikationen (WSGI ist ein python-Standard für Webanwendungen).
Microsoft copies BlueJ, admits it, then patents it - rip off ala Microsoft. Das ist warscheinlich das, was sie als Entwicklungsarbeit bezeichnen und warum sie meinen, das nur Microsoft in der Lage ist, zu innovieren - komisch verdrehtes Vokabular bei Microsoft ...
Regular Expression Matching Can Be Simple And Fast - warum grep und awk schneller matchen als Perl oder Python.
Die Wahrheit über die Arbeit in der IT-Branche - genau wie eine Prostituierte.
IronPython und libsecondlife
libsecondlife ist ja eine C#-Reimplementation des SecondLife Protokolls. IronPython ist ein Python auf .NET. Sollte man zusammen benutzen können. Geht auch. Allerdings ist IronPython eben nicht Python - die ganze Standardbibliothek fehlt grösstenteils (auch wenn eine Menge der pure-Python-Module sicherlich funktionieren würden). Und externe Libraries werden auch anders gehandhabt. Folgendes macht glücklich:
import clr
clr.AddReferenceToFile("libsecondlife.dll")
import libsecondlife
Damit hab ich das ganze zusammengeladen bekommen. Vielleicht ein Start für mich damit mal rumzuspielen.
.NET Languages - Programmiersprachen, die unter .NET arbeiten (wenns schon .NET sein muss, kann man wenigstens eine menschenwürdige Programmiersprache nehmen)
M is for monkey - Mono auf Maemo. Das wäre spannend - denn mit den Bestrebungen auch die Mono GUI Klassen auf Linux zu unterstützen und der Verbindung mit libSL könnte man so eventuell Sleek (Text-Mode SL client) auch zum Laufen bekommen. Und hätte daher eine mobile Chat-Lösung für SL.
Polyglot - noch jemand mit zu viel Zeit. Ein Hello World Programm, das ohne Änderung mit verschiedenen Sprachen übersetzt werden kann (und eine direkt ausführbare .com Version ebenfalls darstellt). Freaks. Alles Freaks.
Think Gloves!

Das wird jetzt in Zukunft bei mir für überkomplizierte Lösungen stehen. Kommt aus dem DailyWTF Archiv.
Entity Crisis: Unity3D Evaluated. Wow. - werds mir wohl doch mal dringend reinziehen müssen.
What really happened on Mars? -- Authoritative Account - spannender Bericht über einen Software-Bug im Mars Pathfinder und wie er gefunden und behandelt wurde.
SLeek - alternativer Mini-Client (ohne grafischer Anzeige etc, nur Chat/IM und rudimentäre Avatarfunktion) für SecondLife. Könnte interessant werden, wenn man damit dann ein Chat-Relay realisieren könnte - allerdings C# ...
[Google Pagerank Algorithm](http://kraeutler.net/vincent/essays/google page rank in python) - in Python. Interessant.
ajp-wsgi - eine auf AJP (das Java Server Protokol) aufbauende Implementierung von WSGI (dem abstrakten Python Server Protokol), die komplett in C geschrieben ist und die Python-Anwendungen über eingebettete Python-Interpreter ausführt. Könnte sehr interessant für effizienten Betrieb von Python-Anwendungen sein.
LibSecondLife-Java - eine Portierung der SL-Protokolle nach Java (bisher gabs ja nur die in C# geschriebene libsecondlife Geschichte). Und nicht jeder hat oder will Mono installieren ...
Object Debugger - neues Spielzeug für das beste Scheme-System der Welt: DrScheme. Diesmal ein sehr interessantes Debugging-Werkzeug für objekt-orientierte Programme, das den eh schon eindrucksvollen Werkzeugkasten erweitert.
Aus dem Ruhestand bei security@php.net - "Die Gründe dafür sind vielfältig, aber der wichtigste ist, dass ich erkannt habe, dass jeder Versuch, die Sicherheit von PHP von innen heraus zu verbessern, vergeblich ist".
You cannot rely on JavaScript being available. Period. - immer Fallbacks anbieten. Alles andere ist einfach nur unkühl und arm.
3D Game Programming All in One with CDROM (Course Technology PTR Game Development Series): English Books: Kenneth C. Finney - Buch über Game-Design mit TGE. Vorsicht, Amazon.
The Official QuArK website - Editor für Game-Maps. Kann mit TGE benutzt werden.
Rückkehr der Paper Disk: 256 GByte auf A4-Blatt - sowas klappt solange gut, bis mal jemand die Bits ausrechnet, realistische Kompressionsraten ansetzt und dann mal guckt, wie viele Punkte ein Scanner tatsächlich davon verlässlich lesen kann und wie viel davon dann übrig bleibt. Aber dann müsste man ja die eigene Technikgläubigkeit in den Redaktionen abschalten ...
Efficient JavaScript - sollte man ruhig mal durchgehen, kann nicht schaden.
Programming in Color - bunte Pixel machen ein Programm. Insane.
Torque : TGE - interessante Engine für Netzwerkspiele. Multiplatform (Windows, Mac und Linux), Source mitgeliefert und niedrige Hardwareanforderungen. Allerdings nicht verteilte, vernetzte Welten.
[Die Parabel der zwei Programmierer](http://www.csd.uwo.ca/staff/magi/personal/humour/Computer_Audience/The Parable of the Two Programmers.html) - so funktioniert es.
Der "C ist effizient" Sprachfehler - widerlegt. Wieder einmal. Werden sie jemals aufhören?
The Django Book - progressive Beta-Releases der Django-Buch-Kapitel im Web (mit Angaben wann die Kapitel online gehen).
Six Word Stories about Programming Languages - literarisch!
Good Math, Bad Math : Pathological Programming: Ignorance is Bliss, or at least control. - ok, und diese Sprache ist so absurd, man muss gucken gehen. Wobei sie mich ein bischen an krankes Snobol erinnert, vom Format her ...
Good Math, Bad Math : Prime Number Pathology: Fractran - Programmiersprache die nur aus Primzahlen besteht. Autsch.
WebSnapr - Vorschaubildchen für Links. Interessantes Konzept.
new snapshot tarballs finally - OpenMCL bekommt Unicode-Support.
Ogoglio - 3D Welten im Browser. Klingt interessant, mal beobachten.
Ralph Griswold died - Snobol und Icon waren lange meine bevorzugten Sprachen für Stringverarbeitung und Tools. Sein Icon Analyst Newsletter lange Zeit favorisierte Lektüre. Sein Buch über die Implementierung von Icon gern gelesene Lektüre über den Bau von Byte-Code-Interpretern und Compilern.
G2Image - Plugin für Tiny-MCE zur Auswahl von Bildern aus einer Gallery2 Installation - müsste ich auf Django umbauen können.