<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    [Repost of the
<a class="moz-txt-link-freetext" href="https://blog.selflanguage.org/2016/06/15/lessons-learnt-from-the-self-archive/">https://blog.selflanguage.org/2016/06/15/lessons-learnt-from-the-self-archive/</a>]<br>
    <div class="moz-forward-container">
      <p>I’ve spent 26 days reading 26 years of messages from the <a
          moz-do-not-send="true"
          href="/2016/06/09/self-mail-conference-in-mbox/">Self mail
          conference archive</a>. Here is what I’ve learned. Please
        note, that everything is highly subjective and may be even
        wrong.</p>
      <h2>Interesting messages</h2>
      <p>If you don’t want to go through all 4334 messages of whole
        archive, you may read just this dataset, which contains only 295
        messages I’ve found interesting enough to save into separate
        directory. I’ve saved each message because it answered some of
        the questions I had, or because it was marking important
        milestone in Self development.</p>
      <ul>
        <li><a moz-do-not-send="true"
href="https://github.com/Bystroushaak/self_mbox/raw/master/datasets/self-interesting.mbox.lzma">https://github.com/Bystroushaak/self_mbox/raw/master/datasets/self-interesting.mbox.lzma</a></li>
      </ul>
      <h2>List of alternative languages / interpreters</h2>
      <p>When I’ve got to year 2004, I’ve realized it may be valuable
        also to store list of alternative interpreters and languages,
        which were sent to the conference, so I’ve began to collect them
        too. When I finished the reading, I’ve spent an hour by scanning
        the 1990-2004 timeframe, but I’ve maybe skipped something.</p>
      <ul>
        <li><a moz-do-not-send="true"
href="https://github.com/Bystroushaak/self_mbox/raw/master/datasets/self-alts.mbox.lzma">https://github.com/Bystroushaak/self_mbox/raw/master/datasets/self-alts.mbox.lzma</a></li>
      </ul>
      <p>Just to give you the idea, here is the reduced list of topics
        (there is more in the archive):</p>
      <ul>
        <li>tinySelf progress report</li>
        <li>JSelf Home Page</li>
        <li>Announcing OpenSelf</li>
        <li>A Self _ BETA Language Hybrid Project</li>
        <li>premature announcement: SELFISH</li>
        <li>Brain language</li>
        <li>SELF for VisualWorks 5i</li>
        <li>dSelf</li>
        <li>New release of Cel</li>
        <li>Self_R not started yet</li>
        <li>Io</li>
        <li>Zero, a programming system</li>
        <li>[ANN] Slate 0.3 Released!</li>
        <li>Re: Self for Squeak</li>
        <li>Klein open-source release</li>
        <li>Self-style outliners for Javascript</li>
        <li>Phos</li>
        <li>Anyone have a copy of Kevo?</li>
        <li>Re: Distributed Objects</li>
        <li>Re: UnitTests</li>
        <li>AmbientTalk</li>
        <li>Self in Javascript progress</li>
        <li>Re: Self in Javascript progress</li>
        <li>Re: goals (was: dynamic deoptimization)</li>
        <li>Pooi: A prototypical object-oriented interpreter</li>
        <li>Avacado: JavaScript trying to be more like Self</li>
        <li>BOS1.2 release — play it again, sam</li>
        <li>Smalltalk interpreter of Self</li>
      </ul>
      <h2>Everything is dead, or dying</h2>
      <p>Self is small project maintained, discussed and used by only
        handful of people over two and half decades (one generation). It
        is slow game, and changes may take years (new releases), or
        decades (porting to new systems). This leads to massive <a
          moz-do-not-send="true"
          href="https://en.wikipedia.org/wiki/Link_rot">link rot</a>.</p>
      <p>It may not be evident if you are just participating from time
        to time, but when you look into archive, it is a clear trend.
        Only a few people were able to keep attention and interest over
        the decades and maintain resources they created. There were a
        lot of those who lost interest or just didn’t have the time and
        their resources are dead.</p>
      <p>Beginning of the Self conference archive is in 1990, which was
        a few years before the HTML and HTTP was invented.</p>
      <p>I have no idea, how people organized work and thoughts in
        groups at that time (text files via FTP maybe? telephone and
        paper notepads?), but it is either converted to a few existing
        HTML resources, or (most likely) dead. You won’t see the design
        decisions, discussions or thoughts from that time.</p>
      <p>Then HTML and HTTP came. People were excited about this new
        protocol:</p>
      <blockquote>
        <pre>From <a class="moz-txt-link-abbreviated" href="mailto:urs@cs.stanford.edu">urs@cs.stanford.edu</a> Sat, 19 Mar 1994 11:53:23 PST:

Thanks mostly to Bay-Wie Chang, Self now has a Mosaic home page,

    <a class="moz-txt-link-freetext" href="http://self.stanford.edu">http://self.stanford.edu</a>

All of our material continues to be available via ftp, but the Mosaic
interface is definitively friendlier (e.g., it has an online
bibliography and paper abstracts).

Enjoy!

-Urs
</pre>
      </blockquote>
      <p>It was definitely an improvement. But idea to create articles
        and webpages about Self and put them on your web lead to massive
        resource fragmentation. I am not criticizing, merely pointing to
        a fact, that almost every link from that time is dead, because
        it was not maintained in long-term and that whole situation is
        actually unmaintainable by one person, even if that person
        really wanted to maintain it. That url in the email is by the
        way – <a moz-do-not-send="true"
          href="https://web.archive.org/web/*/http://self.stanford.edu">dead</a>.</p>
      <p>When you think about it, almost every time anyone counted on
        third-party service, it didn’t pay off. From that point of view,
        everything is dying, we just don’t see it, because it still
        exists. But for the future newcomer to Self, it is already dead.</p>
      <p>If you think in the time-frame of decades, all providers of
        services will end, often without replacement. Look at geocities
        for example. Once it was hosting for hundreds of thousands of
        webs. Now it is dead. Sourceforge killed itself by adding adware
        to user’s packages, and Yahoo is slowly dying and it is only
        matter of time until someone will buy it and shut down most of
        its services for good, because it is not profitable. University
        pages are chapter for itself, because almost all of them are
        dead soon after the person who created them leaves the
        university.</p>
      <p>Even if the webarchive or other web cache archives the
        original, this is not the long time solution. There are various
        copyright attack in place right now, which may cause such
        services to close.</p>
      <p>This may not look like a big issue, but for newcomers, this
        means that half of the valuable resources is not available.</p>
      <p>If you look at what survives, it is almost always only files
        which were downloadable and thus shared by large number of
        people. In this sense, git is the best solution, because it
        allows everyone to clone the repository and synchronize it with
        others, even if the original resource is gone.</p>
      <p>There is two possible options on how to overcome this problem:</p>
      <ul>
        <li>distributed standalone information resources shared by
          everyone</li>
        <li>maintained centralized group resources</li>
      </ul>
      <p>If you create your own webpages, make them easily downloadable
        and sharable. Otherwise, they will be dead soon (5-20 years from
        now). Other option is to write articles in postscript / PDF and
        generally standalone files, which will be distributed to large
        number of people.</p>
      <p>Second option is to make central repository of knowledge
        consciously maintained and hosted over the years by Self
        community at one place. Preferably in the form of Wiki. I will
        get back to this later.</p>
      <h3>Honorable mentions</h3>
      <h4>FTP that refused to die</h4>
      <blockquote>
        <pre>Date: Fri, 25 Aug 1995 12:45:08 +0200
From: <a class="moz-txt-link-abbreviated" href="mailto:rainer@physik3.gwdg.de">rainer@physik3.gwdg.de</a> (Rainer Blome)
To: <a class="moz-txt-link-abbreviated" href="mailto:self-interest@self.sunlabs.com">self-interest@self.sunlabs.com</a>
Subject: non-official ftp site in germany (solaris only)

The link speed to Sun was really not acceptable when I tried it, so I was
glad to be able to get Self from Manchester.  Seems that I have been lucky
now that the site is down.  The FTP admin of our local computing centre was
so kind as to put Self 4.0 on his server.  It is not official and may
vanish any time, but they have lots of disk space and I suppose it won't.
Still, please don't use this site unless it is a lot faster than your link
to the USA.

Since the stuff is the one that I used to install Self here,
it doesn't look exactly like the original (all files have the Self-4.0
prefix) and it is not complete (I only installed the solaris version).

/ftp.gwdg.de:/pub/languages/self:
  total 12110
  -rw-rw-r--   1 emoenke         1475 Jul 26 17:05 Self-4.0.Install
  -rw-rw-r--   1 emoenke         1933 Jul 26 17:04 Self-4.0.LICENSE
  -rw-rw-r--   1 emoenke         1087 Jul 26 17:05 Self-4.0.README
  -rw-rw-r--   1 emoenke        71809 Jul 26 17:05 Self-4.0.readThisFirst.ps
  -rw-rw-r--   1 emoenke     12320062 Jul 26 14:16 Self-4.0.solaris.tar.gz


Also, the tar file is gzipped instead of compressed.  Not having patched
the install script, it won't work anymore (unless you linked zcat to
gzcat), but what Install actually did was just a single line anyway:

gzip -cd Self-4.0.solaris.tar.gz | tar -xfpB -


Greetings, Rainer
</pre>
      </blockquote>
      <p>The FTP is still there, but sadly the Self directory isn’t.</p>
      <h4>merlintec</h4>
      <p><a moz-do-not-send="true"
          href="http://www.merlintec.com/lsi/jecel.html">Jecel Mattos de
          Assumpcao Jr</a> is my new personal hero.</p>
      <p>Not only that <a moz-do-not-send="true"
          href="http://www.merlintec.com/">http://www.merlintec.com/</a>
        still works and didn’t lose any of its contents, also his
        messages on various topics in the conference were really great
        and it was pleasure to read it.</p>
      <h2>Self is really complex</h2>
      <p>There is 114 821 <a moz-do-not-send="true"
          href="https://github.com/AlDanial/cloc">cloc</a> lines of C++
        code (counted without comments, blank lines and so on). There is
        two kind of compilers (NIC, SIC), assembler and other
        platform-dependent stuff. Almost none of it is documented
        outside the code itself.</p>
      <p>This is bad. Really bad. I did a little bit of C++ back in h<span
          id="result_box" class="short_text" lang="en"><span class="">igh
            school</span></span>, but I can’t really imagine going
        through all this code and trying to make sense of it.</p>
      <p>It is extremely hard to get an idea what Self really is, what
        parts is it made from. Best thing documenting how Self works is
        this schema from the handbook:</p>
      <p><img src="cid:part9.06060400.04070009@kitakitsune.org" alt=""></p>
      <p>We need pictures like this that will document components of the
        VM. Schematic blueprints for what Self is and how it
        approximately works. Sometimes, pictures says more than a
        thousand words.</p>
      <p>If you don’t think that this is serious, here is a list of
        reasons:</p>
      <ul>
        <li>It is hard for beginners to even get the idea what Self is.
          We know, that it is a language, but it is also virtual
          machine, bunch of compilers, memory managers and what not. It
          is almost like small operating system.</li>
        <li>It is hard for anyone who wants to contribute to get an idea
          where to do the change.</li>
        <li>It is hard for anyone who wants to port the Self to another
          architecture / OS.</li>
        <li>It leads to fragmentation. People rather create own forks,
          or whole new languages rather than to try to make sense in so
          much C++ code.</li>
      </ul>
      <h3>Linux</h3>
      <p>An example of the complexity of Self was its porting to Linux.
        First message about porting to Linux was probably this:</p>
      <blockquote>
        <pre>From <a class="moz-txt-link-abbreviated" href="mailto:dirkst@POOL.informatik.rwth-aachen.de">dirkst@POOL.informatik.rwth-aachen.de</a> Tue, 18 Aug 92 11:04:58 PDT
From: <a class="moz-txt-link-abbreviated" href="mailto:dirkst@POOL.informatik.rwth-aachen.de">dirkst@POOL.informatik.rwth-aachen.de</a> (Dirk Steinberg)
Date: Tue, 18 Aug 92 11:04:58 PDT
Subject: 
Message-ID: <a class="moz-txt-link-rfc2396E" href="mailto:9208181757.AA24531@messua.informatik.rwth-aachen.de"><9208181757.AA24531@messua.informatik.rwth-aachen.de></a>
MIME-Version: 1.0
Content-Type: text/plain

Hi,

I have recently read about Self and ftp'd some papers from self.stanford.edu,
I even got the sun4 version of Self 2.0 and played around with it for a few
minutes. Otherwise, I have no experience with Self whatsoever, but from what
I read I am kand of enthusiastic.

My question: Is anyone porting Self to some other platform, maybe even to the
386? I have Linux running on a 486/33 w/ 16 Meg RAM and 500 Meg HD, which should
be a workable system for Self; I have gcc-2.2.2 and libg++-2.2, so it should be 
possible to compile the virtual machine (judging from the README's).
BUT: I have the feeling that the compiler really generates native SPARC code and
so one would have to write a completely new backend and assembler for the 386.
I guess that would be a *major* project!?? Is the compiler/assembler written in Self
or C++? If Self is tied to the SPARC achitecure and inherently non=portable, then
that would nagatively influence the impact that this exciting software could have.

How about using the gcc backend?

Thanks for any info,

Dirk

Dirk Steinberg
<a class="moz-txt-link-abbreviated" href="mailto:dirkst@pool.informatik.rwth-aachen.de">dirkst@pool.informatik.rwth-aachen.de</a>
</pre>
      </blockquote>
      <p>This is from 1992. First (not fully ported) Self for Linux came
        in 1999, by <em>Gordon Cichon</em>, but that wasn’t really much
        usable, from what I’ve read. Proper support with GUI and
        everything working nicely took several more years.</p>
      <h2>The bus factor is low</h2>
      <p>As the <a moz-do-not-send="true"
          href="https://en.wikipedia.org/wiki/Bus_factor">wikipedia</a>
        says:</p>
      <blockquote>
        <p>.. the bus factor is a measurement of the concentration of
          information in individual team members. It .. connotes the
          number of team members that can be unexpectedly lost from a
          project (“hit by a bus”, as it were) before the project
          collapses due to lack of knowledgeable or competent personnel.</p>
      </blockquote>
      <p>The bus factor of Self is incredibly low. From my own estimate
        based on reading the archive, I would say it is 5, maybe 7 if
        you want to be optimistic, probably 3 if you want to be
        pessimistic.</p>
      <p>This is not just bad, because it threatens existence of Self
        alone, but mostly because it also means that there is extremely
        low number of people, who <i>really</i> understand Self, and
        almost no documentation, which can train new experts.</p>
      <p>Wikipedia offers following solution to increase the bus factor:</p>
      <blockquote>
        <p>Several ways to increase the bus factor (thus making the
          project more resilient) have been proposed:</p>
        <ul>
          <li>Reduce complexity</li>
          <li>Document all processes and keep that documentation
            up-to-date</li>
          <li>Encourage cross-training.</li>
        </ul>
      </blockquote>
      <p>I don’t think, that there is much space for reducing the
        complexity, but second and third point may be solvable by
        community Wiki.</p>
      <p><a moz-do-not-send="true"
href="http://www.ywamkb.net/kb/Bus-Factor_-_Avoid_to_depend_on_a_single_person">YWAM
          KnowledgeBase</a> also mentions two more interesting points:</p>
      <blockquote>
        <ul>
          <li>maintaining documentation about how the corresponding
            website is working</li>
          <li>forum for learning from each other</li>
        </ul>
      </blockquote>
      <p>Again, both points may be solved by community Wiki. Especially
        the second point is really important.</p>
      <h2>Collected resources</h2>
      <p>I’ve collected following links, which are not yet dead, or were
        archived by webarchive. I didn’t yet have time to go over them,
        so I am sharing them as I added them to my todolist:</p>
      <ol>
        <li><a moz-do-not-send="true"
            href="http://kleinvm.sourceforge.net/">http://kleinvm.sourceforge.net/</a></li>
        <li><a moz-do-not-send="true"
            href="https://github.com/aausch/klein">https://github.com/aausch/klein</a></li>
        <li><a moz-do-not-send="true"
            href="http://adamspitz.github.io/Avocado/">http://adamspitz.github.io/Avocado/</a></li>
        <li><a moz-do-not-send="true"
            href="https://github.com/jmoenig/morphic.js">https://github.com/jmoenig/morphic.js</a></li>
        <li><a moz-do-not-send="true" href="http://lively-kernel.org/">http://lively-kernel.org/</a></li>
        <li><a moz-do-not-send="true"
href="http://web.media.mit.edu/%7Elieber/Lieberary/Softviz/CACM-Debugging/Kansas/Kansas.html">http://web.media.mit.edu/~lieber/Lieberary/Softviz/CACM-Debugging/Kansas/Kansas.html</a></li>
        <li><a moz-do-not-send="true"
            href="http://www.self-support.com/">http://www.self-support.com/</a></li>
        <li><a moz-do-not-send="true"
href="http://www.princeton.edu/%7Eachaney/tmve/wiki100k/docs/Self_%28programming_language%29.html">http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Self_(programming_language).html</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20010813120828/http://www.mri.mq.edu.au/%7Ekjx/tgim.html">https://web.archive.org/web/20010813120828/http://www.mri.mq.edu.au/~kjx/tgim.html</a></li>
        <li><a moz-do-not-send="true"
            href="http://merlintec.com/swiki/Self/2.html">http://merlintec.com/swiki/Self/2.html</a></li>
        <li><a moz-do-not-send="true"
            href="http://merlintec.com/old-self-interest/threads.html">http://merlintec.com/old-self-interest/threads.html</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20050121084338/http://www.lsi.usp.br/%7Ejecel/merlin.html">https://web.archive.org/web/20050121084338/http://www.lsi.usp.br/~jecel/merlin.html</a></li>
        <li><a moz-do-not-send="true"
            href="http://www.merlintec.com/lsi/merlin.html">http://www.merlintec.com/lsi/merlin.html</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/19980123025609/http://www.cs.unm.edu/pad++/begin.html">https://web.archive.org/web/19980123025609/http://www.cs.unm.edu/pad++/begin.html</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20040607063757/http://linus.socs.uts.edu.au/%7Ecotar/proto/programme.html">https://web.archive.org/web/20040607063757/http://linus.socs.uts.edu.au/~cotar/proto/programme.html</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20080307022735/http://www.consultar.com/JSelf/">https://web.archive.org/web/20080307022735/http://www.consultar.com/JSelf/</a></li>
        <li>This file, when read into the initial Self system (empty
          world) creates just the objects needed to run a simple program
          that prints a table of factorials up to 49! and then stops. <a
            moz-do-not-send="true"
href="https://web.archive.org/web/20040312232625/http://www.lsi.usp.br/%7Ejecel/release/fac.self"><a class="moz-txt-link-freetext" href="https://web.archive.org/web/20040312232625/http://www.lsi.usp.br/~jecel/release/fac.self">https://web.archive.org/web/20040312232625/http://www.lsi.usp.br/~jecel/release/fac.self</a></a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/19991006225113/http://www.consultar.com/JSelf/Links.htm">https://web.archive.org/web/19991006225113/http://www.consultar.com/JSelf/Links.htm</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20001109105100/http://www.consultar.com/JSelf/">https://web.archive.org/web/20001109105100/http://www.consultar.com/JSelf/</a></li>
        <li><a moz-do-not-send="true"
            href="http://www.linuxsupportline.com/%7Eopenself/">http://www.linuxsupportline.com/~openself/</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20010405022406/http://openself.seul.org/">https://web.archive.org/web/20010405022406/http://openself.seul.org/</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20070221212847/http://www.lsi.usp.br/%7Ejecel/tut1.html">https://web.archive.org/web/20070221212847/http://www.lsi.usp.br/~jecel/tut1.html</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20000815211509/http://www.research.microsoft.com/ip/">https://web.archive.org/web/20000815211509/http://www.research.microsoft.com/ip/</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20080225110457/http://www.lsi.usp.br/%7Ejecel/persist.html">https://web.archive.org/web/20080225110457/http://www.lsi.usp.br/~jecel/persist.html</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20000615190052/http://www.squeak.org/oopsla99_vmworkshop/jecel.txt">https://web.archive.org/web/20000615190052/http://www.squeak.org/oopsla99_vmworkshop/jecel.txt</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20000817004328/http://www.squeak.org/oopsla99_vmworkshop/">https://web.archive.org/web/20000817004328/http://www.squeak.org/oopsla99_vmworkshop/</a></li>
        <li><a moz-do-not-send="true"
            href="http://www.merlintec.com/selfvmdoc/">http://www.merlintec.com/selfvmdoc/</a></li>
        <li><a moz-do-not-send="true"
            href="https://sourceforge.net/projects/selfish/">https://sourceforge.net/projects/selfish/</a></li>
        <li><a moz-do-not-send="true" href="http://www.3plus4.de/self/">http://www.3plus4.de/self/</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20000504145352/http://www.sun.com/research/self/papers/craig-thesis.html">https://web.archive.org/web/20000504145352/http://www.sun.com/research/self/papers/craig-thesis.html</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20010605131725/http://www.sun.com/research/self/papers/urs-thesis.html">https://web.archive.org/web/20010605131725/http://www.sun.com/research/self/papers/urs-thesis.html</a></li>
        <li><a moz-do-not-send="true"
            href="http://www.ag-nbi.de/research/dself/">http://www.ag-nbi.de/research/dself/</a></li>
        <li><a moz-do-not-send="true"
            href="http://selfguru.sourceforge.net/">http://selfguru.sourceforge.net/</a></li>
        <li><a moz-do-not-send="true"
            href="http://ftp.squeak.org/docs/OOPSLA.Squeak.html">http://ftp.squeak.org/docs/OOPSLA.Squeak.html</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20150220064600/http://www.comtalk.net/Squeak/95">https://web.archive.org/web/20150220064600/http://www.comtalk.net/Squeak/95</a></li>
        <li><a moz-do-not-send="true"
            href="http://merlintec.com/swiki/Self/1.html">http://merlintec.com/swiki/Self/1.html</a></li>
        <li><a moz-do-not-send="true"
            href="http://stefan-marr.de/tag/roarvm/">http://stefan-marr.de/tag/roarvm/</a></li>
        <li><a moz-do-not-send="true"
            href="http://merlintec.com/lsi/tiny.html">http://merlintec.com/lsi/tiny.html</a></li>
        <li><a moz-do-not-send="true"
href="https://dl.dropboxusercontent.com/u/1803213/CS294/8%20Self%20VM%20internals.pdf">https://dl.dropboxusercontent.com/u/1803213/CS294/8%20Self%20VM%20internals.pdf</a></li>
        <li><a moz-do-not-send="true"
            href="https://www.cs.ucsb.edu/%7Eurs/oocsb/self/index.html">https://www.cs.ucsb.edu/~urs/oocsb/self/index.html</a></li>
        <li><a moz-do-not-send="true"
            href="https://liveprogramming.github.io/2013/papers/avocado.pdf">https://liveprogramming.github.io/2013/papers/avocado.pdf</a></li>
        <li><a moz-do-not-send="true"
            href="http://c2.com/cgi/wiki?SelfLanguage">http://c2.com/cgi/wiki?SelfLanguage</a></li>
        <li><a moz-do-not-send="true"
            href="https://news.ycombinator.com/item?id=7047953">https://news.ycombinator.com/item?id=7047953</a></li>
        <li><a moz-do-not-send="true"
            href="http://stackoverflow.com/questions/tagged/selflanguage">http://stackoverflow.com/questions/tagged/selflanguage</a></li>
        <li><a moz-do-not-send="true"
            href="https://www.infoq.com/presentations/oop-language-context">https://www.infoq.com/presentations/oop-language-context</a></li>
        <li><a moz-do-not-send="true" href="http://xanadu.com/zigzag/">http://xanadu.com/zigzag/</a></li>
        <li><a moz-do-not-send="true"
            href="http://www.nongnu.org/gzz/gi/gi.html">http://www.nongnu.org/gzz/gi/gi.html</a></li>
        <li><a moz-do-not-send="true"
            href="http://www.merlintec.com/download/">http://www.merlintec.com/download/</a></li>
        <li><a moz-do-not-send="true"
            href="https://learnxinyminutes.com/docs/self/">https://learnxinyminutes.com/docs/self/</a></li>
        <li><a moz-do-not-send="true"
            href="http://rosettacode.org/wiki/Category:Self">http://rosettacode.org/wiki/Category:Self</a></li>
        <li><a moz-do-not-send="true" href="https://vimeo.com/118826521">https://vimeo.com/118826521</a></li>
        <li><a moz-do-not-send="true"
href="http://homepages.ecs.vuw.ac.nz/%7Eservetto/Fool2014/FundationForObjectAspectAndContextOrientedProgramming">http://homepages.ecs.vuw.ac.nz/~servetto/Fool2014/FundationForObjectAspectAndContextOrientedProgramming</a></li>
        <li><a moz-do-not-send="true"
href="https://www.researchgate.net/publication/285512303_Persistence_schema_evolution_and_performance_in_the_container-based_model">https://www.researchgate.net/publication/285512303_Persistence_schema_evolution_and_performance_in_the_container-based_model</a></li>
        <li><a moz-do-not-send="true"
            href="http://rosettacode.org/wiki/Category:Self">http://rosettacode.org/wiki/Category:Self</a></li>
        <li><a moz-do-not-send="true" href="http://www.gliebe.de/self/">http://www.gliebe.de/self/</a></li>
        <li><a moz-do-not-send="true"
href="https://web.archive.org/web/20070205114801/http://www.lsi.usp.br/%7Ejecel/tiny.html">https://web.archive.org/web/20070205114801/http://www.lsi.usp.br/~jecel/tiny.html</a>
          <del>tinyRick</del> tinySelf</li>
        <li><a moz-do-not-send="true"
            href="http://www.wolczko.com/CS294/">http://www.wolczko.com/CS294/</a></li>
      </ol>
      <p>Next blog will contain some improvement proposals.<br>
      </p>
    </div>
    <br>
  </body>
</html>