GTK Tutorial

Tagged:  •    •  


Thanks to Nicolas Petton ;)
The GTK Tutorial is now hosted :


Towards a permissive copyleft license for dynamic languages

Tagged:  •    •    •    •    •  

The problem

With the recent increase in free-software releases for dynamic languages, a serious issue is there for people who would prefer to give their software the protection of copyleft. The issue is the difficulty of interpreting the Lesser GPL in the context of these languages.

The difficulties in turn from two different sources. First, it is hard to interpret the language of the Lesser GPL in the context of languages that have no object files but only source code files.

Beginning Seaside: Image, Password, Halos

Tagged:  •    •    •    •  

(This applies to "GNU Smalltalk version 3.1-git" as of 27Feb10)

    This post documents:
  • Creating a new Seaside image to play with,
  • Starting it,
  • Adding a password (authentication) to the default 'config' page, and
  • Configuring a Seaside 'app' to display 'halo's.

    Creating a new Seaside image:

  • Change to your preferred working directory, then:

  •       gst-load -i -I ./ Seaside Seaside-Development Seaside-Examples

    MacPort's GNU Smalltalk Won't Build on Snow Leopard

    I'm posting this on 2 March 2010. The blog preview seemed to think the current date is 31 Dec 1969!

    I submitted a ticket report to MacPorts on 19 Feb 2010.

    I checked Fink but it doesn't appear to have a version of GST.

    I normally program Smalltalk in Squeak but I recently saw Timothy Budd's book, "A Little Snalltalk," and was quite taken with it. Unfortunately there doesn't appear to be an available version of Budd's Little Smalltalk so then I thought I would try GST. I'm at an impasse now unless someone at MacPorts finds the bugs in their GST package.

    Control flow in Iliad


    Today someone asked me how to do a WATask like widget in Iliad. In seaside WATask is a special presenter. Its purpose is not to build html by itself but to display other seaside components in a sequence.

    Iliad doesn't provide such a widget out of the box, but it is very easy create one.

    Iliad.ILWidget subclass: Sequence [
        buildContents [
            <category: 'building'>
            self shouldStart ifTrue: [self start].
            ^super buildContents
        contents [
            <category: 'building'>
            self shouldNotImplement
        start [
            <category: 'control flow'>
            "The sequencing will happen in this method"
        shouldStart [
            <category: 'testing'>
            ^decorator decoratee = self

    Syndicate content

    User login