2025-01-26

Fertile water

Earlier, I was impressed by the number of words you could make with the letters in “Christmas”, but now I found that “submarine” offers even more words. I’m still coming up with more, but these are the ones I’ve come up with so far:

a I am an as be in is me us are arm ban bar bin bum bun bus ear emu man mar men nab nib nub ram ran rem rib rim rub rue rum run sir sub sue sum sun use anus arse bane bans bare barn base beam bean bear berm bias bier bins bran brim bris bums burn ears emir emus main mane mare mean menu mine muse nabs name near nibs nubs numb rain rams ream rein ribs rime rims rise rubs rues ruin rune runs ruse same sane seam sear Serb sine sire snub sure abuse amuse bairn banes bares barns beams beans bears berms biers brain bream brims brine bruin burns emirs inure manes mains mares maser means mines minus names nares nears numbs nurse rains raise reams rebus reins rimes rinse ruins rumba runes serum smear snare urban urine animus brains bruins ermine inures manure marine murine number Sabine sarnie urbane ursine numbers seminar Serbian Sumerian

Some proper names: Ben Ian Amur Iran Mars Brian Burma Maine Marie Marne Sarin Sarum Serbia

And I’d also like to add NURBS if it is allowed.

Now, the question is, what should a word-finding word look like in order to offer the maximum possibilities? Surely someone has been working on this. I will have to search for this.

2025-01-25

Early programming

Way back, the municipal library had Technology books (classification P) on a little mezzanine floor, coincidentally together with English-language fiction. There were lots of interesting books there, like catalogues of all rolling stock on Swedish railways, books on Unmanned Aerial Vehicles, and also, I found, on Computer Science. At the time computers were semi-mythical beasts and programming languages had exotic and magical names (often ending in L for Language), so of course I was curious. The first book on programming I read was Ekman & Fröberg’s Lärobok i Algol (at the time of writing it was not necessary to disambiguate which version of Algol was meant). I can’t say that I understood the contents deeply, not least since I had no way of trying out the exercises—indeed I only got around to trying Algol-programming at uni many years later, and then in the form of Simula 67, designed as a superset of Algol 60. Actually, the book which really taught me programming was Kristel Siro’s Vi lär oss ADB och BASIC, and by then it was possible to get occasional access to an ABC 80 running BASIC, so I could truly try out writing programs. Incidentally, Siro’s book contained the Hailstone program (though without naming it) as well as Conway’s Life as programming exercises. I didn’t really get the point of either at the time, but have used them as test programs ever since.

Much later, a colleague was cleaning out their bookshelf, including their copy of Lärobok i Algol. I nabbed it and have kept it in my bookshelf as a memento. Reading it this much later it is noticeable how horridly badly the example code was written, but everybody was still learning at the time.

There is now a portable GNU Simula compiler which I have installed on my office laptop. Of course I have implemented the usual Hailstone program in Algol/Simula as well. When Algol was created, the designers defined a publication version of the language, which was meant to look good in scientific journals, as opposed to the caps-only, limited-character set hardware language. So, this is the publication version:

begin
  integer n;
  print("Input number: ");
  for n := read while n > 1 do begin
    n := if n / 2 = Entier(n / 2) then n / 2 else n × 3 + 1;
    print(n);
  end
end