Blathr Wayne Lorentz

What is Blathr?
Showing blathrs with the tag “Computers.”

So, what good is it?

Saturday, June 24th, 2023 Alive 19,051 days

A Udamonic Scamp3 starting up

This weekendʼs project: Teaching myself FORTH on a Udamonic Scamp3 single-board computer.

My first introduction to FORTH was around 1984 with H.E.S.ʼ 64 FORTH, which everyone just called “Sixty-Forth” because itʼs easier to say and made us feel clever. I didnʼt get very far with it because the H.E.S. FORTH came on a cartridge, and I had no means of storing my completed programs. Not even a datasette. By the time I got my first 1541 disk drive, I had moved on to other things.

But I have an affinity for old programming languages, so when I ran across the Scamp on the internet, I ordered one right away. I didnʼt receive it right away, though. It was shipped from Australia via a start-up called Sendle, so the computer I ordered in March arrived at the end of June. Iʼm amazed that it works, considering it was packed in little more than a thin layer of bubble wrap, and mailed in a basic envelope, which had been torn open along the way.

By design, both 64 Forth and FlashForth on the Scamp are FORTH supersets. Programs being only semi-portable between platforms is considered a feature, not a bug, in FORTH. Still, all FORTHs conform to the same programming paradigms and seem to have 95% compatibility with one another. Much like computers in the 1970ʼs, when youʼd buy a generic book of BASIC programs at Brentanoʼs and then it was up to you to customize the code to fit your machine.

The default editing screen from 64 Forth on the Commodore 64
The default editing screen from FlashForth on the Udamonic Scamp3

Interestingly, the H.E.S. variation of FORTH seems more capable than the FlashForth that the Scamp runs. 64 Forth has over 500 words in its vocabulary, and comes with a split-screen I.D.E. method of interaction. The Scamp superset of FlashForth has just 425 words, and is designed for very bare-bones TTY output. No fancy ANSI windows here.

On the other hand, the Scamp can be powered off and when it's plugged in again you can pick up right where you left off. With any Commodore 64 FORTH, once you restart, you have to rebuild or reload all of the words you have previously defined. So while FlashForth isn't flashy, it's certainly more useful to use for a long-term project.

So what will I do with a 55-year-old programming language in 2023? Iʼm going to learn. Iʼm going to explore. Iʼm going to expand my ways of thinking and understand how things were done in the past so that I can do things better in the future.

Whenever I get a new piece of kit, Iʼm automatically challenged with ”What good is it?” I shouldnʼt have to answer that. Intellectual curiosity should be rewarded and saluted. Not everything is a start-up. Not everything is a business. Not everything has to make money. 50 years ago, nobody would have asked someone who does woodworking in his spare time, “How are you going to monetize that?” The notion would have been ludicrous. And, not surprisingly, the sort of people who donʼt understand intellectual curiosity are also the same group of people who spend their free time laying on a couch binge watching the latest zombiethon on the trendy streaming service of the day.

❖ ❖ ❖

She just wants to help

Wednesday, November 2nd, 2022 Alive 18,817 days

Annie ignores the computerʼs “Rub out” button, and does it herself

Itʼs O.K., Annie. I have a button to do that.

❖ ❖ ❖

She doesn't even have thumbs

Saturday, September 10th, 2022 Alive 18,764 days

Annie trying to use a TRS-80 Model 100

“Whadda ya mean there's no Facebook Messenger on this thing? I have to call my bookie to beat the spread!”

❖ ❖ ❖

What did you do to your keys?

Thursday, October 28th, 2021 Alive 18,447 days

My new computer on the left, and my old computer on thr right

I got a new computer today. Itʼs hard to believe that Iʼve been using my old computer for (math… math… math…) eleven years.

That wee machine has been with me through a dozen homes and another dozen countries, from Turkey to Japan to exotic Canada. Iʼd miss it, if the new one wasnʼt so much better.

❖ ❖ ❖

Cheaper than Google Cloud, more relianle than Microsoft Azure

Thursday, July 15th, 2021 Alive 18,342 days

Every ten years it seems like the tech world bring in a new batch of people who never bothered to study how things worked in previous decades, and thus end up not only reinventing the wheel, but hyping it up like itʼs the first time anyone ever thought of whatever it is theyʼre all excited about.

Timesharing → Thin clients → Web apps

Hypercard → Web sites

Brittanica → Encarta → Wikipedia

Q-Link → IRC → Second Life → Virtual reality

Rabbitjackʼs Casino → BetMGM

An ad for MicroNET in the February, 1980 issue of Byte magazine

Also not new: Cloud computing. Check out the highlights from this 1979 advertisement for MicroNET:

  • MicroNET allows the personal computer user access to… large computers, software and disc storage
  • You can use our powerful processors
  • Operating time [is] billed in minutes to your VISA or MasterCharge card
  • You can even sell software via MicroNET.

MicroNET was a way for CompuServe to allow people to use spare capacity on its big iron computers. People could upload their personal projects, conduct business, and even develop software using the might of dozens of machines thousands of times more powerful than what they could afford in their own homes. Maintenance, backups, power supply, networking, and other infrastructure details were abstracted away from the end user so the user could concentrate on the task at hand.

Sound familiar, Google Cloud Platform, Microsoft Azure, Amazon Web Services, and a thousand other virtual machine companies?

❖ ❖ ❖

A BASIC IDE

Friday, June 4th, 2021 Alive 18,301 days

An Atari BASIC Programming cartridge

I got a new Atari cart yesterday. Itʼs BASIC Programming.

While the word “BASIC” in the title is properly capitalized because it is an initialism for Beginners All-purpose Symbolic Instruction Code, the title would also work in sentence case as “Basic Programming,” because this is truly basic programming.

Lots of modern-day reviewers on the internet who are more interested in outrage clicks than thoughtful conversation deride this program as a farce or even a toy. I have the unpopular view that BASIC Programming is really quite good, both as a technical achievement and as a cultural change agent. It achieves a number of important goals:

  • Provided ordinary people with an introduction to programming
  • Provides a subset of the BASIC programming language
  • Has the ability to play musical notes
  • Has the ability to display rudimentary graphics

This is all elementary school stuff today. But when this cartridge came out in 1979, it was absolutely revolutionary. For $50, an Atari owner could get a taste of what it was like to actually program a computer. And while computers were starting to occasionally appear in well-to-do homes, they were still staggeringly uncommon, and cost about the same as a new car.

Joysticks and buttons in arcades gave wider society its first opportunity to command an electronic machine to do things. BASIC Programming gave Atari owners the ability to give an electronic machine sequences of commands, and to act on them. Moving a dot around a screen with a joystick had been done long ago through various electromechanical methods. But this was the first chance for ordinary people to actually command a machine to do more than just react to stimulus.

BASIC Programming in all its elementary beauty

BASIC Programming has a limited feature set, but itʼs still an integrated development environment, not fundamentally different from what computer programmers use today. One significant difference is that BASIC Programming managed to present a fully functional I.D.E. in a minuscule 2K of memory. Thatʼs about one sixth of the words in this article.

By comparison, the current version of Microsoftʼs I.D.E. starts at 274,000 times the size of BASIC Programming, and increases rapidly from there, depending on what language you write in.

Atariʼs BASIC Programming crosses the same ocean as Microsoftʼs VS Code, but does it with a styrofoam pool noodle instead of the Queen Mary.

In addition, BASIC Programming is user-friendly in one specific way that few computers are today. Like me, it had Sister Maria for third grade Arithmetic class, where she preached, “Anything divided by zero is zero.” Try to divide something by zero in Atariʼs basic BASIC, and it politely gives you zero. Unlike modern computer systems that fall on the floor, curl up in a ball, and start quietly sobbing to themselves when asked the same question.

The one popular modern-day gripe I agree with is that the input method is cumbersome. Itʼs a pair of keypads, one plugged into each joystick port, and then locked together. I understand why it was done this way, but that doesnʼt make it easy to use.

The left BASIC Programming keypad overlay, the manilla envelope the overlays come in, and the right keypad overlay

Still, the single keypad pair is pulling more than its weight, even for the era. It is used for:

  • The entire common English-language alphabet:
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  • The numbers:
    1 2 3 4 5 6 7 8 9 0
  • A space character
  • Punctuation ., ,, ʼ, and
  • A set of basic BASIC keywords
    • Clear
    • Else
    • Goto
    • Hit
    • Hor1
    • Hor2
    • If
    • Key
    • Mod
    • Note
    • Print
    • Then
    • Ver1
    • Ver2
  • Mathematical and assignment operators +, -, ×, ÷, , <, (, >, ), and =
  • Cursor controls Backward and Forward
  • A Newline character
  • IDE controls for:
    • Erase
    • Graphics
    • Halt
    • Output
    • Program
    • Run
    • Stack
    • Status
    • Step
    • Variables

Just looking at the command set, thereʼs a lot of interesting points.

  • It has an else command. There are modern-day computer languages that donʼt even have this feature.
  • It has a goto command. Only recently has goto come in from the cold, and is slowly being embraced by a new generation of programmers decades after being banished to the Gulag of Oldthink.
  • Its keyboard has Control, Meta, Super, and Hyper modifiers, just like keyboards of today. On a modern-day keyboard you may know these as Control, Command, Option, and Hyper. On the Atari keypad, theyʼre color coded White, Red, Blue, and Green.
  • It has a function to slow down the execution of programs so that the programmer can understand whatʼs happening.

    Imagine being someone in 1979, who has lived his entire life with paper and pencils — someone who has never seen a computer in person before — coming to the realization that the simple little program he punched in on his Atari is running so fast that he canʼt keep up with it. This was an epiphanal moment. An awakening. A sense that the cyber-commander art work on the box wasnʼt just fantasy, but an expression of the type of power being brought to ordinary people in their dens.

In addition, when you run a program, the systemʼs cursor moves through the program during execution, allowing you to follow along with whatʼs happening. This kind of functionality is an add-on in modern systems.

On a personal note, I love the idea that it has a Halt command. It brings a lot of nostalgic feelings to my tummy. Back when computers were commanded to run and then halt because of their military origins. A time when you couldnʼt start a computer without a key. When computers had mechanical odometers behind a panel so that the IBM service guy from New Paltz could write down for how many hours you used the machine, to let Big Blueʼs billing department know.

BASIC Programming in all its constrained ugliness

Yesterday was a quiet Saturday, so I sat down with BASIC Programming and approached it with my programmerʼs analytical mind, and without the biases of modern-day development. My conclusion is that this is really quite fun.

I started by typing in all six of the programs I could find on the internet. Unlike the days of typing in program from the backs of magazines, these all worked the first time, with moving dots and pinging sounds. Then I started to experiment on my own.

The dialect of BASIC that this cartridge uses is very much of its era. Variable assignment is done with , instead of =, just like in 1960ʼs and 1970ʼs computing languages like AP/L. Goto is your friend, not your enemy. And the notion of whitespace for readability goes right out the window. This will be a show-stopper for anyone used to cruising Appleʼs internal codebase.

Iʼm not musical in any way, so naturally I enjoyed stringing along rudimentary bloops and bleeps into nonsensical songs. For an afternoon, I was the e e cummings of synthpop, but I was also doing something: I was creating. This was an a-ha moment, and I felt a rainbow connection to dads of the 1970ʼs, sitting cross-legged in wood-paneled living rooms, scales drifting lazily from their eyes as the future was revealed.

If you appreciate programming elegance, the value of simplicity, or simply dig code golf, this is your course. You are forced to think about what youʼre doing. To make choices, evaluate tradeoffs, and make do with what you have. Itʼs a lot of the brain stimulus that gets some people into programming as a profession in the first place

There are a number of people who enjoy making tiny programs. Some so small that they fit into a PC-DOS boot sector. I think a few of those people might thrive within the constraints of this environment.

The biggest limitation of BASIC Programming is memory. You can only cram a few dozen symbols into the machine. Thatʼs to be expected, since the entire console only has 128 bytes of memory. Thatʼs the reality of 1979. But today, people are able to program Atari cartridges that work with comparatively massive amounts of information. One guy even sells Atari carts that are full-motion videos of popular movies. I suspect one of those clever people could find a way to make a version of this that works around the memory limitation.

The second-biggest problem is the Frankensteinian keyboard. As an input device, it was never intended for long-form content. But the cognitive overhead of shifting modes, double-checking the screen, and the constant hunt-and-peck involved make it hard to concentrate on the program, and not on the controller. Perhaps thatʼs another throwback to 1970ʼs computing, though.

Iʼm old enough to be one of those programmers who wrote their programs out on paper first (graph paper, if you were lucky), then typed it into a shared computer, and hoped that it did what was intended. Maybe if I spent more time thinking about the code beforehand, rather than writing it on-the-fly as is common today, coding in BASIC Programming wouldnʼt be so arduous.

BASIC Programming in all its abject simplicity

Still, I think that with a bit of time, it would be possible to come up with a harness that links a standard Human Interface Design keyboard with the pair of Atari joystick ports to emulate the keypad. In my mind, it would take some kind of Arduino or Raspberry Pi device with a dozen I/O pins. Voltage might be an issue, but nothing insurmountable to todayʼs hobbiest.

In fact, using this method, one could actually load BASIC Programming programs stored in a host system through the Arduino-powered keypad interface. You could write a program in Microsoft VS Code, or Panicʼs Nova, and when you push to git, or the version management system of your choice, it could also be sent wirelessly to the Arduino, which then relays the keypresses into the Atari 2600.

Now I know what Iʼm going to do when I retire.

❖ ❖ ❖

Nerd alert!

Sunday, May 16th, 2021 Alive 18,282 days

A new M1 Mac Mini

My new media server is here!

❖ ❖ ❖

Itʼs the Tower of Pisa

Monday, March 15th, 2021 Alive 18,220 days

Htop, seen with a TRS-80 Model 100 terminal

Today I learned that top does not respect terminal settings. But htop does.

❖ ❖ ❖

Alliteration interrupted

Monday, March 15th, 2021 Alive 18,220 days

Nerd mise en place

Now for a quiet evening of coffee, cookies, classical, and Zork.

❖ ❖ ❖

Because it's nano

Sunday, March 14th, 2021 Alive 18,219 days

Nano editing a file in a terminal on a TRS-80 Model 100

Today I learned that Nano works fine on the tiny screen of a TRS-80 Model 100.

❖ ❖ ❖

You are likely to be eaten by a grue

Saturday, March 13th, 2021 Alive 18,218 days

Zork in a terminal on a TRS-80 Model 100

I can finally play Zork on my TRS-80 Model 100. Sort of.

Iʼm actually using the Model 100ʼs terminal program to connect to a wifi dongle on the back of the machine which connects to my wifi router, which connects to my Mac Mini, where the game is actually running.

Some day Iʼd like to run Zork on this actual machine, but that would entail installing CP/M on the 100, which is still a very experimental process, and more complicated than I have time for.

❖ ❖ ❖

Dead Letter Office

Saturday, October 3rd, 2020 Alive 18,057 days

Computer, coffee, cookies — ready to write

When I want to get things off my chest, I bang the words into an old TRS-80 I keep in the closet. I do it in story form.

I’ve found that writing stories is a good way to expend excess mental energy. I’ve written hundreds of stories on that machine. Every month or so, after they’re perfected, I pull out the batteries and the stories disappear forever.

It’s like in the old days when people would write their confessions in letters and throw them in the fireplace, or deliberately mail them to undeliverable addresses.

You used to be able to buy bundles of these letters from the Post Office’s sorting facility’s Dead Letter Office. I don’t think you can anymore. Now they’re probably auctioned off in palettes with other undeliverable to big companies that throw away the letters and sell the wayward packages on Amazon.

❖ ❖ ❖

Multitasking

Sunday, January 5th, 2020 Alive 17,785 days

An article from Microsystems magazine

I just came across this article about the then-new AT&T 6300 in the September, 1984 issue of Microsystems magazine.

This is the computer that West Virginia Radio Corporation made five of us share in the newsroom at WCHS/Charleston in 1995 because the company didnʼt have money for a second computer. The same machine also had to ingest the Associated Press wire feeds in the background.

This was eleven years after the computer was introduced.

I guess WVRC was a worse company than I thought.

❖ ❖ ❖

Did you press the button?

Thursday, October 3rd, 2019 Alive 17,691 days

A Halloween decoration at Target
  • Square, black keys?
  • CLR/HOME key?
  • INST/DEL key?
  • RESTORE key?
  • RUN STOP key?
  • and cursor keys?
  • Dedicated currency key?

Yep, the Commodore PET has been immortalized as a Halloween trinket at Target.

In keeping with the Halloween theme, the HELLO, HELP, and Escape keys have been highlighted.

❖ ❖ ❖

Recursive

Friday, February 22nd, 2019 Alive 17,468 days

A TRS-80 Model 100 running the Associated Press Mouse program

I have written down my memories of using a TRS-80 Model 100 as a journalist.

To keep it kosher, I wrote it on my TRS-80 Model 100.

❖ ❖ ❖

Saturday, January 19th, 2019 Alive 17,434 days

A commanding finger

I guess I should just be glad that nobody uses the “finger” command anymore.

❖ ❖ ❖

Wednesday, September 12th, 2018 Alive 17,305 days

A screenshot of htop

New machine at work. 12 cores. No waiting.

❖ ❖ ❖

Saturday, July 14th, 2018 Alive 17,245 days

In 1982 I waited three weeks for the UPS guy to deliver a Commodore 1541 disk drive that held 170K of data.

Tonight, Amazon Prime delivered a Western Digital drive that holds 25,000 times more data in just 90 minutes. At midnight.

❖ ❖ ❖

Friday, July 13th, 2018 Alive 17,244 days

Worst tech job of the 1980’s: Typesetter at Computer Shopper.

❖ ❖ ❖

Monday, July 2nd, 2018 Alive 17,233 days

An iDisk icon

Itʼs been six years since Apple discontinued .mac. I guess I can get rid of the WebDAV bookmark now.

❖ ❖ ❖

Tuesday, May 22nd, 2018 Alive 17,192 days

If you spend 20 solid minutes trying to figure out the proper sequence for _']}');";, you might develop in a LAMP stack.

❖ ❖ ❖

Wednesday, August 30th, 1995 Alive 8,891 days

Microsoft is using Start Me Up, a Rolling Stones song from 1981, to introduce is flagship operating system in 1995.

I'm not sure if that's ironic or prophetic.

Perhaps it's an admission that Windows is 14 years behind OS/2.

❖ ❖ ❖