Published

Where are the non-English programming languages? Thoughts prompted by a small but mighty bug

A short two-parter

Part 1: A small-but-mighty bug

I’m doing a few coding-for-designers workshops with the students in the MA Graphic Media Design programme at the LCC, the first one was this past Thursday.

We’re focusing on web stuff since that’s what they expressed the most interest in and it’s in my wheelhouse. We started with a broad and brief overview of code, about how we use human-readable programming languages to communicate with computers. But 99% of the time, when we say “human-readable” we really mean “English-based”. More on this later.

After my short intro, we put together a simple webpage with HTML and CSS. A few of the students ran in to a small-but-mighty bug that I’ve never encountered before.

We were working on a basic CSS rule set, something like:

body {
  background-color: linear-gradient(blue, pink);
}

And for one of the students, it just wasn’t working. I checked it a bunch of times, it was all typed perfectly. No missing spaces or characters, spelling was fine. VSCode indicated that the background-color declaration wasn’t finished, which seemed weird. I looked really closely at it and noticed that the semicolon seemed a little thinner than the others in the file.

Turns out that the student had typed a full-width semicolon (U+FF1B) instead of a semicolon (U+003B). The full-width semicolon is used in Chinese to “demarcate parallel structures in a paragraph”. Another student ran in to the same problem a few minutes later, using a full-width left curly bracket (U+FF5B) instead of a left curly bracket (U+007B).

I had asked them to type in a semicolon, to type in a curly bracket, and so they typed the characters the way they normally do in their native languages. Super understandable.

If you were just starting to learn what code is and how it works, I can’t imagine how hard it would be to debug this sort of language-based problem on your own.

Part 2: Where are the non-English programming languages?

Gretchen McCulloch wrote a very worthwhile Wired article titled “Coding Is for Everyone—as Long as You Speak English”. I feel like every programmer / dev should read it.

Programming doesn’t have to be English-centric. As McCulloch puts it:

The computer doesn’t care. The computer is already running an invisible program (a compiler) to translate your IF or <body> into the 1s and 0s that it functions in, and it would function just as effectively if we used a potato emoji 🥔 to stand for IF and the obscure 15th century Cyrillic symbol multiocular O ꙮ to stand for <body>.

How would we go about implementing non-English HTML tags? W3C has an FAQ on the topic where they state that “HTML or XHTML tags are all pre-defined (in English) and must remain that way if they are to be correctly recognized by user agents (eg. browsers).

Since browsers just implement the standards set by W3C (I’m pretty sure that’s right?), I’m guessing that W3C would have to approve it if we wanted native non-English HTML support. It seems like it would be a bit of a mountain to climb but if we take something like Wikipedia’s translation efforts as an example, surely there are tons of people out there that would help with translation?

Gonna keep an eye on this. Need to find a book or good article on the history of ALGOL.

Published

Getting STRONG

I want to get STRONG

Yoga is relaxing but expensive, and I’m not sure about learning it at home. Gyms suck. Swimming is *lovely* but doesn’t do my angry skin any favours. Can’t run much b/c of lifelong knee issue. Excuses, excuses.

At-home bodyweight exercises FTW. This is what I’ve been trying recently, every other day for about 30 minutes. I can do all of them within the confines of a yoga mat in my postage-stamp flat.

They’re based on a few decent exercise vids on YouTube, but I prefer not to refer to the full videos all the time. Too high-energy / shiny. Instead, I’ve got the movements programmed in to a circuit training app and I listen to that alongside a mix.


Glute + quad workout

About 11 minutes. Need a yoga / exercise mat. Related video

0:30 – Pulse lunge, left side
0:30 – Pulse lunge, right side

0:30 – Lunge with leg raise

0:30 – Jump squats

0:30 – Side squat steps

0:30 – Sumo squats

0:30 – Abductor squats

Move to mat, tabletop position

0:30 – Donkey kicks, left side
0:30 – Donkey kicks, right side

0:30 – Fire hydrants to straight kick back, left side
0:30 – Fire hydrants to straight kick back, right side

Lie on stomach, head resting on forearms

0:30 – Frog kicks, alternating legs
0:30 – Frog kicks, both legs

Lie on back

0:30 – Glute bridge

0:30 – One-leg glute bridge, left side
0:30 – One-leg glute bridge, right side

0:30 – Glute bridge, narrow stance

0:30 – Glute bridge, alternating leg raise

0:30 – Glute bridge, hold it


Standing arm workout

About 4 minutes. Completed standing in one spot, arms extended the whole time. These are hard to describe, see related video.

0:30 – Arms extended, palms up and then down

0:30 – Butterfly stroke then curling under as if holding beach ball

0:20 – Pulsing with palms facing forward
0:20 – Pulsing with palms facing backward

0:20 – Small circles clockwise
0:20 – Small circles counter-clockwise

0:20 – Forward, bend elbows, up, down

0:20 – Up, bend elbows, forward, back (reverse of above)

0:20 – Straight arm clap

0:30 – Trace ball in front


I’ll add more as I come across things that I like.

I found Piskel while writing this post, what a cool little site / tool. Neat CSS tip via SB: use image-rendering: crisp-edges for extra crispy pixel art.

Published

Ceramic cat by a young David Hockney

Life-size black and white ceramic cat by David Hockney

Ceramic Cat
David Hockney 1955

On loan from Jean and Paul Hockney.

This cat was given to David Hockney’s brother and sister-in-law as a wedding present in September 1955. It was one of approximately four cats made by the artist whilst a student at Bradford College of Art. After the model was produced the mould broke, making this sculpture unique as it was the only one with indentations. Subsequent versions were produced with a smooth finish and in different colours.

This life-size ceramic cat with stubby little legs is in one of the display cases in the ground floor of Salts Mill alongside many other pieces by David Hockney.

Published

To read: “The Ego and Its Own” by Max Stirner

To read: The Ego and Its Own by Max Stirner. Via a black-crowned night heron in a midnight pond:

stirner’s whole schtick was being against ideology in general. […] behaving a certain way in the name of an Idea is therefore completely illogical, because, it’s not real! what’s real is your own happiness and comfort in the world.

Published

The CD-ROM tree

Remember those free trial CD-ROMs you’d get in the mail or with a magazine? It started with AOL Online and then tons of other software providers caught on. Instead of tossing them away, my mom collected them. Around Christmas time, she’d drill holes in the top and hang them outside on the bare tree near the mailbox. I’m sure I gave her a hard time about it as a teen, but they made me smile when I got back home from school each day.

At the end of the holidays, she’d get rid of the discs that were too banged up and would keep the ornaments that still had their rainbow surface for the next season. The tree got fuller every year until the mid-2000s when they stopped arriving. Eventually the lacquer and aluminum flaked away from the remaining discs, and then the CD-ROM tree was no more.

The Internet Archive has an AOL CD-ROM collection online for anyone that wants to browse this slice of tech history.

Published

“Political rewilding” vs. libertarianism, and attempting to escape the barrel with Mastodon

In a recent Guardian opinion piece, George Monbiot calls for “political rewilding” to fight against demagoguery.

At the moment, the political model for almost all parties is to drive change from the top down. […] I believe the best antidote to demagoguery is the opposite process: radical trust. To the greatest extent possible, parties and governments should trust communities to identify their own needs and make their own decisions.

Makes a ton of sense at first glance. But isn’t “political rewilding” just the best of libertarianism repackaged, the freedom of choice and voluntary association? I can understand why he didn’t use that word. The worst of libertarianism — civil liberties at all costs, at the expense of others, the earth, and more — has usurped the rest of it ideologically. “Libertarian” is to the left as “socialist” is to the right.

Related, but separate: in his article, Monbiot draws attention to Finland’s impressive (and seemingly successful) efforts to teach their populace how to spot fake news. In the CNN article he links to, the former secretary-general of the European Schools Kari Kivinen cautions that “it is a balancing act trying to make sure scepticism doesn’t give way to cynicism”.

That line hit home. Reading the news, parsing Twitter, fielding well-intended but misguided email forwards from loved ones. I’ve been living in the barrel for a while now, and it’s exhausting.

On the upside, I’ve joined Mastodon on the vis.social server. My handle is @piper@vis.social, and I’ve downloaded Toot! for iPhone since I like their stance against servers that spread hatred. I’m excited to give a smaller community a whirl, hopefully it will expose me to a more human and humane part of the social web.

Published

Sharing a big, sensitive file with someone nearly 5,000 miles away

I needed to get a large, sensitive PDF from my mom who is roughly 5,000 miles away. I didn’t really want it sitting in either of our mailboxes or on a mail server somewhere, and it was probably too big for email. I decided to work with her to set up Beaker so that she could do a peer-to-peer transfer with me over Dat.

Read more