Papier Tux

http://blog.choas.net/2006/05/26/papier_tux

Copyright (C) 2003-2006 LarsGregori (Lizenz: Creative Commons)

26.05.2006 - Basteln

An verregneten Tagen mal eine Pinguin basteln? Beim Origami Club  (Semantik) gibt es den Origami Pinguin  (Semantik) inklusive Bastelanimation:

Lupe  (Semantik)

... und wer gerne Kleb(stoff) an seinen Händen haben möchte, kann bei ThePaperShaper.com  (Semantik) sich Tux the Penguin  (Semantik) basteln.

 

Scheme, Javascript und call/cc

http://blog.choas.net/2006/05/24/scheme__javascript_und_call/cc

Copyright (C) 2003-2006 LarsGregori (Lizenz: Creative Commons)

24.05.2006 - CallCc, JavaScript, Scheme

Chris Double  (Semantik) schreibt in seinem Bluish Coder  (Semantik) Blog über Scheme Implementation in Javascript  (Semantik) . Hierbei geht es um jsScheme, ein in JavaScript  (Semantik) geschriebenes Scheme  (Semantik) , das Scheme-Code im Browser ausführen kann.

In dem Beispiel wird auch call/cc verwendet. Was ist das?

call/cc  (Semantik) steht für call-with-current-continuation und lässt sich durch ein einfaches define wie folgt definieren: (define call/cc call-with-current-continuation)

Was ist aber call-with-current-continuation?

Hierzu gibt es ein paar interessante Seiten:

  • A page about call/cc  (Semantik) von DavidMadore  (Semantik)
  • call/cc  (Semantik) (siehe Wikipedia-Links in der Semantik)
  • A short introduction to call-with-current-continuation  (Semantik)
  • Chapter 13 - Jumps  (Semantik) ( Teach Yourself Scheme in Fixnum Days  (Semantik) )
  • call-with-current-continuation  (Semantik) ( An Introduction to Scheme and its Implementation  (Semantik) )
  • A short introduction to call-with-current-continuation  (Semantik) ( Community Scheme Wiki  (Semantik) )
  • Standards? Standards!  (Semantik) aus dem Linux Magazin  (Semantik) unter dem Punkt "Unüblicher" Kontrollfluß
  • ... und Continuations  (Semantik) (pdf) von Iskrena Avramova  (Semantik) . Leider lässt sich die Original .pdf-Datei (siehe Proseminar Grundlagen höherer Programmiersprachen - Wintersemester 2002/03  (Semantik) ) nicht unter Linux betrachten und auch nicht unter Windows ausdrucken. Aus diesem Grund habe ich mit ImageMagick  (Semantik) die Datei in .png-Dateien konvertiert, in OpenOffice  (Semantik) die Bilder eingefügt und als Pdf-Datei exportiert.

    ... call/cc  (Semantik) ist die Lösung des Browser-Back-Button  (Semantik) Problemes, das ich bei Scheme in der realen Welt  (Semantik) erwähnt habe.

     

    Scheme in der realen Welt

    http://blog.choas.net/2006/05/19/scheme_in_der_realen_welt

    Copyright (C) 2003-2006 LarsGregori (Lizenz: Creative Commons)

    19.05.2006 - Scheme

    In der Fallstudie Scheme in The Real World: A Case Study  (Semantik) beschreiben Michael Bridgen  (Semantik) , Noel Welsh  (Semantik) und Matthias Radestock  (Semantik) den Einsatz von Scheme in einer realen Web-Anwendung.

    Lupe  (Semantik)

    Wie im Bild zu sehen ist, wird für die Präsentationsschicht Cocoon, Castor und XSLT verwendet. Für die Businesslogik JavaBeans, OJB und (natürlich) Scheme  (Semantik) , hier kommt der Java-basierte Scheme-Interpreter SISC  (Semantik) zum Einsatz.

    ... in der Fallstudie wird auch auf das Problem mit dem Browser-Back-Button  (Semantik) eingegangen, und wie sich dies elegant mit Scheme lösen lässt.

     

    Text mit Hintergrund

    http://blog.choas.net/2006/05/17/text_mit_hintergrund

    Copyright (C) 2003-2006 LarsGregori (Lizenz: Creative Commons)

    17.05.2006 - Gimp, Scheme

    Hin und wieder möchte man seine digitalen Fotos auch mal beschriften. Vielleicht nicht gerade den Gemütszustand seines x-ten Selbstportraits, aber ein paar nette Landschaftsbilder der letzten Urlaubstour.

    Nun gibt es genügt Grafikprogramme - für Windows auch kommerzielle - die es ermöglichen einen Text mit einer bestimmten Schriftart, -größe und Farbe beliebig auf einem Bild zu positionieren. Da die Positionierung und Schriftfarbe bei hell-dunkel Bilder nicht so einfach ist, empfiehlt es sich einen Hintergrund für den Text zu verwenden, eleganterweise einen transparenten.

    Da dies alles zu einem wilden Mausgeklicke (und irgendwann zu einem Mausarm) führt, habe ich für Gimp  (Semantik) ein Skript geschrieben.

    Das Skript Text With Background  (Semantik) basiert auf Script-Fu, dem Scheme  (Semantik) Interpreter von Gimp  (Semantik) . Es zeichnet im unteren Bild einen schwarzen Balken, 50% transparent, mit einem weißen Text. Die Schriftgröße und die Höhe des Balkens passen sich automatisch an, abhängig von der Bildhöhe.

    Um das Skript Text With Background  (Semantik) zu installieren, muss es erst runtergeladen und in das Skript-Verzeichnis von Gimp kopiert werden. Um dieses Verzeichnis zu finden kann man unter Datei / Einstellungen und dann unter Ordner / Skripte das Verzeichnis finden. Nachdem das Skript kopiert wurde, muss Skript-Fu noch aufgefrischt werden. Hierzu Xtns / Skript-Fu / Auffrischen aufrufen.

    Wenn ein Bild dann geöffnet wird, befindet sich im Menü Skript-Fu der Eintrag "Text with Background", diesen Auswählen einen Text eingegeben, Bild speichern - fertig.

    ... sehr hilfreich für die Erstellung des Skripts ist das Tutorial A Scheme Tutorial for Gimp Users  (Semantik) von Dov Grobgeld  (Semantik) .

     

    Ion gegen Mausarm

    http://blog.choas.net/2006/05/16/ion_gegen_mausarm

    Copyright (C) 2003-2006 LarsGregori (Lizenz: Creative Commons)

    16.05.2006 - Ion, WindowManager

    Beim SpOn  (Semantik) Artikel Mit Dehnübungen gegen den Mausarm  (Semantik) geht es darum, dass der Mensch nicht dafür "ausgelegt" ist, stundenlang auf einer Maus rumzuklicken.

    Intelligente Window Manager  (Semantik) , wie Ion  (Semantik) , LarsWm oder wmii  (Semantik) , deren Aufgabe darin besteht, dass sie das Management der Fenster übernehmen, könnten vielleicht einen Beitrag gegen einen Mausarm leisten. Denn die Hauptaufgabe bei den üblichen Fensterverwaltern, sei es Windows  (Semantik) , KDE oder GNOME  (Semantik) , ist es, dass man seine Fensterchen, die sich irgendwo öffnen, an den richtigen Ort und in der richtigen Größe verschieben und anpassen muss.

    Bei Ion  (Semantik) gibt es hingegen feste, unterteilbare Bereiche, in denen sich die Fenster öffnen. Mit einfachen Tastenkombinationen wechselt man zwischen den Fenstern und Bereichen. Dadurch entfällt ein Großteil der Mausarbeit.

    ... und wenn dann die Finger die meiste Zeit auf den Tasten liegen, könnte man sich noch ein paar Gedanken über ein ergonomisches Tastaturlayout, wie zum Beispiel das NEO Tastaturlayout  (Semantik) , machen.

     

    bookzilla.org

    http://blog.choas.net/2006/05/11/bookzilla_org

    Copyright (C) 2003-2006 LarsGregori (Lizenz: Creative Commons)

    11.05.2006 - FreeSoftwareFoundation

    An vielen Plätzen im Internet kann man Bücher kaufen, jedoch Bookzilla  (Semantik) fördert Freie Software  (Semantik) .

    Stefan Richter  (Semantik) , einer der Gründer von freiheit.com  (Semantik) , habe ich bei einem Vortrag auf der OOP2004 gehört. freiheit.com  (Semantik) hat die Software, die hinter Bookzilla  (Semantik) steht, entwickelt und erhält pro verkauftem Buch 5% Provision, die sie zu 100% der Free Software Foundation  (Semantik) spenden.

    ... warum ist Bookzilla  (Semantik) noch zu erwähnen? Ganz einfach, auf der Startseite ist das Common Lisp  (Semantik) Buch von PeterSeibel erwähnt, beginnend mit dem Text, dass man jedes Jahre eine neue Programmiersprache lernen soll ... mein letztes Thema, aus dem Buch The Pragmatic Programmer  (Semantik) .

    Bisher war die Seite von Bookzilla lediglich über die .de-Domain  (Semantik) zu erreichen, da aber eine .org-Domain  (Semantik) auch irgendwie etwas freies assoziiert, habe ich mal eine Email geschrieben, dass es doch nett wäre, wenn Bookzilla auch darüber zu erreichen wäre. Diese Idee fand man gut, registierte die Domain und schickte mir ein T-Shirt und ein paar Lesezeichen ... und nun mache ich Werbung :)

    Hinweis: Für diesen Text hier bekomme ich keine Gegenleistung und muss ihn auch nicht schreiben!

     

    Scheme

    http://blog.choas.net/2006/05/05/scheme

    Copyright (C) 2003-2006 LarsGregori (Lizenz: Creative Commons)

    05.05.2006 - Programmiersprache, Scheme

    bwolf  (Semantik) meinte kürzlich ich solle mir doch mal Scheme  (Semantik) anschauen. Bei Scheme handelt es sich um eine funktionale Programmiersprache  (Semantik) und einem LISP Dialekt  (Semantik) . Auf dem Diagramm der Computer Languages History  (Semantik) ist zu Erkennen, dass Scheme von LISP  (Semantik) und Algol60 beeinflusst wurde.

    Mit Scheme bzw. LISP  (Semantik) bin ich schon vorher in Kontakt gekommen:

  • Gimp  (Semantik) benutzt Scheme  (Semantik) als Script-Sprache  (Semantik) .
  • Emacs  (Semantik) wurde und wird in LISP  (Semantik) programmiert.
  • AutoCad benutzt auch LISP  (Semantik) , was ich damals, als ich noch klein war und zur Schule gegangen bin, gar nicht so richtig realisiert habe.
  • Im Buch The Pragmatic Programmer  (Semantik) , wird auch erwähnt, dass man jedes Jahr eine neue Programmiersprache  (Semantik) lernen soll, da sich mit jeder Programmiersprache ein Problem auf eine andere Weise lösen lässt und man dadurch verschiedene Denkansätze gewinnt.

    Da Java  (Semantik) zum täglichen Brot und Arbeit gehört, lässt sich diese nicht einfach mit Scheme erledigen. Jedoch bieten ein paar Scheme-Implementierungen, die in Java geschrieben sind, eine Möglichkeit um bei kleinen Aufgaben Scheme einzusetzen:

  • JScheme  (Semantik)
  • SISC  (Semantik)
  • KAWA  (Semantik)
  • ... und für den Einstieg in Scheme ist die Homepage von DrScheme  (Semantik) ein guter Einstiegspunkt.