Stephanie Shirley, a pioneer in tech

I think my knowledge of computer history is decent, yet only now am I learning about Stephanie Shirley, a pioneer in the tech industry who started a software company in 1962 employing mostly women working part-time at home. Way ahead of her time 🫡

The Gorton Font

Marcin Wichary has done it again. He has written a wonderful essay on the Gorton font, a font you probably have never heard of but “probably saw earlier today.”

As I read it, I realized I had been noticing it my whole life subconsciously, and the words using it always felt important, since it was almost always engraved. If it’s engraved, it must be important, right?

Carol of the Bells in its original Ukrainian

This holiday season, I learned that the melody of the Christmas carol “Carol of the Bells” is from a Ukrainian New Year’s song called “Shchedryk” (Щедрик), first arranged in the early 1900s, which in turn is based on a traditional Ukrainian folk melody. Here is “Shchedryk” sung in its original Ukrainian:

Happy New Year everyone 🇺🇦

Handcrafted software in a mass-produced world

I’ve joked with my friends that I want to get into building hand-crafted, artisan software. Then Lian Proven of The Register makes the case for it, such as higher quality and being more attuned to a specific group’s needs.

I can think of a few examples of folks making hand-crafted software:

Bob James performs the theme song from Taxi

I’m a bit too young to have watched (or certainly understood) the sitcom Taxi, but I remember the opening theme song vividly. Here is Bob James, who wrote the song, performing it with his jazz trio at age 82. (Sometimes the YouTube algorithm is good for something!)

Yang Liping’s Rite of Spring

Last night, I watched Yang Liping’s interpretation of Stravinsky’s Rite of Spring at Stanford. Totally stunning and definitely worth watching. We also enjoyed her conversation with Thomas Mullaney (Stanford professor of history and East Asian languages and cultures) — like him, I didn’t fully understand what I saw 😂 but it set off my brain in all sorts of directions.

Here is a good overview of her work:

Roy Clay Sr.: a salute to a Black pioneer in Silicon Valley

Wow, Roy Clay Sr. was such a pioneer: leader of the development of HP’s first computer, the first Black executive at HP, the first Black elected to the Palo Alto City Council, and so on. The history of Black Americans in Silicon Valley and the tech industry needs to be better known.

This blog is working again!

Even though I haven’t blogged in a while, I at least try to keep the version of WordPress and PHP up-to-date. Last year, my hosting service DreamHost notified me that it would start charging me for using PHP 7.4, which was no longer supported. So I upgraded all of my PHP installations to version 8.1, to avoid the extra charge. However, I forgot to first upgrade the WordPress installation running this blog. This completely borked my blog, throwing a PHP error for every page.

I finally managed to fix it today, by doing the following steps:

  1. Install a fresh installation of WordPress directly from DreamHost, which allows DreamHost to automatically keep WordPress upgraded
  2. From the DreamHost control panel, go to phpMyAdmin to view the MySQL database for the old WordPress installation. Export the following tables to .sql files:
    • wp_commentmeta
    • wp_comments
    • wp_postmeta
    • wp_posts
    • wp_term_relationships
    • wp_term_taxonomy
    • wp_terms
  3. In the database for the new WordPress installation, also export the tables with the same names as above.
  4. For each exported .sql file from Step 3, copy the CREATE TABLE statement and paste it into the corresponding .sql file from Step 2.
  5. In the database for the new WordPress installation, drop the tables as named in Step 2, and then import the .sql files that I exported in Step 2. In this case, dropping the tables was fine, because the new WordPress installation didn’t have any content yet (besides theme boilerplate).
  6. In wp_user in the old database, copy the row for the user that authored all of the posts, then insert that data into wp_user in the new database.

And voila, it worked!

I also took this opportunity to fix an encoding issue. At some point when I upgraded WordPress in the past, the default encoding to view switched from Latin-1 to UTF-8, but the database was still in Latin-1, so a bunch of characters turned into garbage, such as curly quotes (’, “, ”) and dashes (–, —). I found a StackOverflow post with a SQL statement to change the encoding of particular columns of a database from one encoding to another, and applied it to the post_content and post_title columns in the wp_posts table:

UPDATE wp_posts SET
post_content=convert(cast(convert(post_content using latin1) as binary) using utf8mb4),
post_title=convert(cast(convert(post_title using latin1) as binary) using utf8mb4)
WHERE 1

I’ve also changed the theme to The Minimal Blogger, which is more modern than what I had before, especially that it is a responsive theme that looks good in mobile. It looks quite different from the rest of my website, so I’m not yet sure I’ll stick to it, but it’s better than before.