Jerry Stratton's Blog, page 43

September 28, 2019

101 BASIC Computer Games linked on Astounding Computer History

“This is not the first collection of computer games and simulations nor will it by any means be the last.”

If you’re using a Macintosh, you can still program in BASIC if you want to. I recommend Chipmunk Basic but there are others.


If you’re also fascinated by the history of computers (and, frankly, there’s little other reason to use BASIC on your Macintosh, given the other programming options available—there’s a reason there are no BASIC programs in 42 Astoundingly Useful Scripts) there is no book more important, historically, to home computing than David Ahl’s collection of BASIC games. It’s the father of all of the “xx programs for home computers” books that came later, and thus the grandfather of 42 Astoundingly Useful Scripts and Automations for the Macintosh.


Prosumer home computer gamers mined this book for years for some of the best-loved computer games of the era. I doubt the Game of Life would be as popular if it weren’t for its inclusion in this book; it’s not even a game.


If you’ve ever played a Lunar Lander variation, or a tactical space game with quadrants, Klingons, and refueling stations, or a horse race game with characters moving across the screen… it started with 101 BASIC Computer Games.

 •  0 comments  •  flag
Share on Twitter
Published on September 28, 2019 04:00

September 21, 2019

Is It Worth the Time? linked on Astoundingly useful programming tools

“How long can you work on making a routine task more efficient before you’re spending more time than you save? (Across five years)”

The fact that someone actually made this chart up is funny, but in fact it’s quite useful. Douglas Adams’s quote about spending a full day writing a program to save ten seconds notwithstanding (see the book), writing a program almost always takes longer than performing the task once. The issue is, will writing the program save time over the long run?


If you perform a task five times a day, and you manage to shave ten seconds off of it, that’s worth spending a day or two of programming, at least if you’re going to be performing the task for five years or more. Back when I had a nine-to-five (well, technically, seven-to-three) job, I kept this chart posted on my wall next to the computer.


There were times when wasting the ten seconds is so easy, and writing the program was so uninteresting, that I didn’t feel like writing the program; this chart helped motivate me. And there were times when the savings were low but the program interesting, and the chart helped convince me not to waste the University’s time.


Now that I’m programming for myself, of course, interesting holds more importance.

 •  0 comments  •  flag
Share on Twitter
Published on September 21, 2019 04:00

September 18, 2019

Photo-editing with Persistence of Vision

You can use the Persistence of Vision raytracer from the command-line to add elements to photos.
 •  0 comments  •  flag
Share on Twitter
Published on September 18, 2019 04:00

September 14, 2019

Pythonista linked on Astoundingly useful programming tools

“Bring the Zen of Python to iOS.”

Once you start scripting your Mac, you’ll miss scripting on your mobile devices. Probably the best way to script your iPad or iPhone is using Pythonista. You can use it to create apps on your device and also to create sharing scripts. I have the moronify script set up as a sharing script on my iPad so that I can preflight comments. Highlight the text, share it with the script, and paste the result.


Pythonista is an essential tool for weekend scripters if you’re using an iPhone or iPad.

 •  0 comments  •  flag
Share on Twitter
Published on September 14, 2019 04:00

September 11, 2019

Commemorate Patriot Day with Betsy Ross

The Declaration of Independence overlaid on the Betsy Ross flag.
 •  0 comments  •  flag
Share on Twitter
Published on September 11, 2019 04:00

September 7, 2019

The Eudora™ Email Client Source Code linked on Astounding Computer History

“Eventually many email clients were written for personal computers, but few became as successful as Eudora. Available both for the IBM PC and the Apple Macintosh, in its heyday Eudora had tens of millions of happy users. Eudora was elegant, fast, feature-rich, and could cope with mail repositories containing hundreds of thousands of messages. In my opinion it was the finest email client ever written, and it has yet to be surpassed.”

To say that Eudora has yet to be surpassed ignores simplicity as a feature. This is a common mistake that many technologists make. Simplicity is very difficult to create and very difficult to maintain. It’s one of the defining features of the Apple ecosystem that makes it so successful. And Apple’s Mail app is a lot easier to use than Eudora.


That said, I do still miss Eudora’s timed email feature, the ability to schedule an email to go out later. Which is why I added that feature as a Swift script for the Mail app that comes with macOS. I’ve included that script in 42 Astoundingly Useful Scripts and Automations for the Macintosh. It’s the third-largest script in the book, and equally as useful. At this very moment I have an email scheduled to go out in four hours; I may need to modify the email before it goes out but it is essential that the email go out, even as is, before deadline.

 •  0 comments  •  flag
Share on Twitter
Published on September 07, 2019 04:00

September 4, 2019

What the f*** is wrong with Americans?

Do you disagree with the left? Then there’s something the f*** wrong with you.
 •  0 comments  •  flag
Share on Twitter
Published on September 04, 2019 04:00

August 31, 2019

How to Become a Computer Programmer, According to People Who Did It linked on About Astounding Scripts

“Programmers need life experience, an appreciation for design, and patience working with other humans. Computer Science degrees prepare you for the abstract, the ideal, in other words, things that never occur in real life.”

I’m going to have more to say about this from my own perspective later, but this UpJourney article on how to be a programmer has good advice, as well as a great quote. It’s useful information even if you don’t want to be a programmer full-time, but merely a weekend programmer.






A computer programmer is not defined by what ‘they know’ but by what they build. — Bryan Osima (How to Become a Computer Programmer, According to People Who Did It)







Not quite quotable, but still good advice, is Reinder de Vries’s bit on mistakes leading to insights. If you can remember to see mistakes as an opportunity to ask “why?” you are on the road to mastering life. “Why didn’t it work the way I expected it to?” is a good question for any mistake, not just mistakes in programming.


It turns programming into a worthwhile life skill, like any other art.

 •  0 comments  •  flag
Share on Twitter
Published on August 31, 2019 04:00

August 28, 2019

Amazing Grace (Common Melody)

Amazing Grace, by John Newton, with melody by Edwin O. Excell, 1900. This is the commonly-known melody for Amazing Grace.
 •  0 comments  •  flag
Share on Twitter
Published on August 28, 2019 04:00

August 24, 2019

Inkscape linked on Astoundingly scriptable apps

“Inkscape is an Open Source vector graphics editor. Supported features include shapes, paths, text, markers, clones, alpha blending, transforms, gradients, patterns, and grouping. Inkscape also supports Creative Commons meta-data, node editing, layers, complex path operations, bitmap tracing, text-on-path, flowed text, direct XML editing, and more. It imports formats such as JPEG, PNG, TIFF, and others and exports PNG as well as multiple vector-based formats.”

Another astoundingly useful app on the Macintosh is Inkscape. Inkscape relies on X Windows, so you’ll need XQuartz to run it on your Mac. But once you have it you have a full-featured drawing app that is scriptable using Python.


You can edit the colors on a piece of your drawing and even duplicate pieces of your drawing.


You can target any piece of your drawing in a script by giving it a unique name. With that unique name, you can reference it in one line.


Because Inkscape is based on XML, you can manipulate your drawings pretty much in any way you’d like, and turn those manipulations into a script to use on other drawings.

 •  0 comments  •  flag
Share on Twitter
Published on August 24, 2019 04:00