Monthly Archives: January 2015

Ralph Griswold’s Oral History of the SNOBOL Languages

Courtesy of the YAHOO SNOBOL4 mailing list, I have just heard of a history of the SNOBOL programming languages  by Ralph Griswold, in the form of a transcription of an interview with Ralph in 1972. It is a PDF file:

Narrative Account of the Development of the SNOBOL Programming Languages by Ralph Griswold

GCC: The First Compiler With Its Own Flag

While trying to look up some information about the gcc compiler, I did a search on ‘gcc flag -m’.

Here’s a picture of the results from Google:

Search results for 'gcc flag -m'.

Search results for ‘gcc flag -m’.

This is the first time I have ever searched for info about a compiler option (they are also called flags) and gotten a picture of a real flag.

Thing is, I can’t find the picture of RMS on the flag.

Go figure.

Status Report on the Port of SPITBOL to Apple OSX

We are making progress porting SPITBOL to Apple’s OSX operating system. The needed files can be found in

github osx git repository.

The repository can be downloaded by the command

$ git clone

The makefile has been modified to have 64-bit osx as the default, so to build the system do

$ make

Test spitbol by running various test programs in the subdirectory .text/. For example

$ ./spitbol test/hi.spt

To see if the program runs at all, try

$ ./spitbol

This produces several lines with help information. Note that running spitbol with no arguments just shows the program link is complete and that at least part of the C runtime is working. This does not test any of the translation of the Minimal source code to assembler.

The current status is that the help text can be printed, but even the simplest test yields

Bus error: 10

We will keep you posted.

On a separate front, one user reported problems building 32-bit SPITBOL. The makefile has been updated so that it works using gcc on a 32-bit Linux system.

On the Merit of Transparent Console Windows in Ubuntu Linux

I use Linux Mint — a variant of Ubunbu Linux — for my day to day programming. Here’s a screen shot of what my screen usually looks like:

Usual mode - two console windows.

Usual mode – two opaque terminal windows.

Above you seen two terminal windows. I use the KDE Konsole program; this is my normal mode. I do edits in the right window. I use the left window to view output, search files,
and so forth.

Here’s another mode I’ve just started using:

Screenshot-transparentTwo opaque terminal windows with transparent window in middle

See the difference?

There’s a new terminal window in the middle, but it’s transparent — you can see through it to the windows below.

Now I had known about transparent terminal windows for some time, but I had never never gotten around to trying them. I was happy with my usual mode of just two opaque windows.

A couple of weeks ago I updated my desktop to use the latest version of Linux Mint. Though Mint comes with the Konsole program, you have to dig around in the menus to find it.
There’s always a quick link to a terminal program in easy view, but it’s not for Konsole.

It turns out this version of Mint configures that default terminal program to use a transparent screen. So I tried it, and finally appreciated the advantage of the

Though the transparency is a nuisance when just editing text, it’s great for other situations.

For example, if I need to do a small task, and don’t want to disturb my two normal windows, I just open up a transparent window.

The main advantage I’ve found is that if I’m looking at a web page with instructions on how to do something, then I can open a transparent window, view the instructions
through the window, and enter them directly with much less chance of error.

The Internet is the Open Source Developer’s Reference Manual

What is the internet?

To me the key property of the internet is that was built using freely available — open — source code. So the people who built the internet are, by definition, open source developers, as am I.

We open source developers publish our code on the internet. We also publish our documentation, comments about our code, and comments about the code of others.

We also ask — and answer — questions publicly on the internet. See for example

I have found that when I have a question about how to do something, or how to resolve a problem I come across using someone else’s code, that the best way to get an answer is just to look on the internet. It’s my basic reference manual.

Simply put, the internet is the online Open Source Developer’s Reference Manual.

As a bonus, open source developers have provided a means for other to share content on the internet. Some would view that as the primary function, but I see it as a byproduct of our main goal, to provide a globally useful tool to write more — and better — code each and every day, all whilst keeping a public record of our work.

Version 15.01 of Spitbol Now Available: Supports 64-bit Unix.

This version adds support for x86-64, so that both 32-bit and 64-bit versions of Spitbol are now available.

Downloads in the traditional form are no longer directly supported, since both “Google Code” and “Github” no longer provide downloads built by the project.

Spitbol is now available only from its home at

If you wish to use git to work with the probject, use:

$ git clone

If you just want to use the system, then select “Download ZIP” from the project home page, and extract the files from that.

The binaries for 32-bit and 64-bit versions can be found in ./bin/spitbol.m32 and ./bin/spitbol.m64, respectively.

This 64-bit version is built by default, as 32-bit processors are no longer widely used.

Three tools are needed to build Spitbol:

  1. A C compiler
  2. A C runtime library
  3. An assembler

Previous versions used gcc and glibc for the compiler and runtime support, and the nasm assembler.

This version uses tcc for the compiler, musl for the runtime support, and continues the use of nasm.

The make file makefile now uses tcc and musl to build (only) the 64-bit version. To build the 32-bit version and/or to use gcc, use makefile.gcc.

This version rescinds the support for Unicode added in version 13.05. (This caused enough problems that it was deemed best to abandon this experiment.)

Known problems:

  • The SAVE function doesn’t work. (This loss of function occurred whilst adding 64-bit support).
    Note that SAVE mode was mainly of interest back in the day when Spitbol was proprietary,
    so that one could distribute a program written in Spitbol without having to disclose the source.
  • Pages

  • January 2015
    M T W T F S S
  • RSS The Wayward Word Press

  • Recent Comments

    daveshields on SPITBOL for OSX is now av…
    Russ Urquhart on SPITBOL for OSX is now av…
    Sahana’s Respo… on A brief history of Sahana by S…
    Sahana’s Respo… on A brief history of Sahana by S…
    James Murray on On being the maintainer, sole…
  • Archives

  • Blog Stats

  • Top Posts

  • Top Rated

  • Recent Posts

  • Archives

  • Top Rated