Building Emscripten on Apple ARM M1 #

Update: [2021-01-24] The workarounds in this blog post are now obsolete, as openjdk, yuicompressor, and emscripten are now available in ARM homebrew.

On Mac, Emscripten is available in the Intel version of Homebrew, but not the ARM version of Homebrew. I use Emscripten rarely enough that this doesn't bother me. However, I thought I'd try compiling it on the ARM version.

I couldn't get openjdk working in ARM homebrew, but I was able to get emscripten installed in ARM homebrew by using the Intel/Rosetta version of openjdk:

Labels: ,

Tags vs labels #

In online collections (photos, bookmarks, blog posts, emails, etc.), “labels” and “tags” are typically words attached to the content. For example I have a photo of a hummingbird on which I used the labels hummingbird (what it is) and coyote hills (where it was). These words are non-hierarchical, unlike “categories” or “folders”.

But are “labels” and “tags” the same thing?

A long time ago, I read that they're different. The distinction as described was:

  • “labels” are when you mark your own content (first party)
  • “tags” are when you mark other people's content (third party)

This matches the behavior I see in other contexts:

  • the “label” on a t-shirt is what the manufacturer (first party) put on, while the “price tag” is what the store (third party) put on
  • in emacs and vi, there's a "tags" program that creates a mapping of words to source code, but it's attached by a third party (the tags program), not by the author of the source code
  • a “car label” is put on by the manufacturer (first party), while a “car tag” in the U.S. is given out by the state vehicle registration agency (third party)
  • “tagging” is graffiti, most often put on someone else's building
  • web servers have an “etag” which is attached to content not created by the web server itself, so that makes it a third party addition

But I think the distinction isn't clear. For example, Flickr uses “tags” when you mark your own content, but also “tags” when you annotate other people's content and also “tags” when the algorithms mark content automatically. And Gmail uses “labels” for your own emails, but also for other people's emails. Maybe this distinction is not relevant anymore.

Separately, “hashtags” are something that started on Twitter. They're tags, but using the # symbol. This is different from “channels” on IRC, where topics are named #dogs, #cats, etc. Slack and Discord get the # channel names from IRC. Twitter's use is different from channels. Instagram, YouTube, and other sites also have hashtags like Twitter.

(I wanted to write this down as a reference for myself, the next time I'm wondering about tags vs labels.)

Labels:

Building Emacs 27 on Apple ARM M1 #

On Mac, I sometimes run a prebuilt binary and sometimes compile my own. For Apple M1 (ARM) I am using the x86 binaries from emacsformacosx.com but I wanted to try compiling a native ARM version too. I saw that the work branch of Mitsuharu Yamamoto's Mac port already has patches applied, so I decided to try it.

Screenshot of Emacs 27 compiled on Apple ARM M1

Labels: , ,

Emacs: prettier tab-line #

Back in 2018 I posted about making tabbar.el look pretty. Emacs 27 includes two built-in ways to display tabs:

  1. tab-bar-mode works per frame to show window configurations
  2. tab-line-mode works per window to show buffers

Tab-line mode seems similar to tabbar.el, so I decided to switch from tabbar.el to tab-line.

Screenshot of emacs 27 tab-line-mode
Emacs 27 tab-line mode

Labels:

Notes about eyeglasses #

These are my barely-organized notes about my need for eyeglasses to correct my nearsightedness. It is likely that I have some of this wrong because I don't fully understand it.

Correction

When an optometrist measures your "prescription" they're measuring the 0th and 1st order zernicke polynomials. The 0th order is "sphere" and is a single number, rounded to the closest 0.25. The 1st order is "cylinder" (astigmatism) and has two numbers: a direction axis and an amount. There are higher order aberrations too but the optometrist doesn't measure these. These higher order aberrations can cause halos and other effects; see this example image that shows a "coma" (point smeared out like a comet), "spherical aberration" (starbursts and halos), and "quadrefoil" (point spreads out multiple directions). Laser surgery can often correct these but sometimes the healing process generates new ones.

Labels: