QZ qz thoughts
a blog from Eli the Bearded

Unicode Sponsorship


Inspired by someone else's tale of "adopting" a Unicode character, I looked at the "adoption" form yesterday and decided that I could easily afford the low-end "bronze" level for U+2417 SYMBOL FOR END OF TRANSMISSION BLOCK, the icon for ASCII character 0x17 END OF TRANSMISSION BLOCK, commonly called ETB. The shared initials with "Eli the Bearded" attracted me to those pair of characters, one of which has a symbol that shows those initials.

I've had a fondness for Unicode in general for years which is how I ended up writing my Unicode Toys, first the grep tool to explore the characters and see them, then show tool to identify characters found in the wild, and after that the rest of them. The convert tool is the one that has attracted the most attention. It does real and toy shifts of characters to other parts of Unicode.

I have mixed feelings about that one. The converter is a fun toy, but also sadly somewhat overused. Because the characters have meanings besides their appearance, using them for for their appearance alone ends up being a huge accessibility barrier. The only conversions I use on a regular basis are the the fraction maker to access the super and subscripts and vulgar fractions plus the Braille converter.

I see Braille on-screen as quite ironic: non-raised dots that are only accessible to the sighted, but are quite unreadable to the sighted. The doubly unaccessible nature of that quite tickles me.

Tiny Media, revisited


A few weeks ago I posted about getting a tiny cassette tape and commented that I needed a microdrive to complete the collection.

Four pieces of tiny media with a dime and Lego brick for scale

Clockwise from top: a 36 exposure film cartridge for a Minox camera (takes 8 × 11 mm pictures on 9.2mm wide film); a US dime and green a Lego brick of the most generic type (3001, 31.8 × 15.8 × 11.4 mm); a Seagate 4GB microdrive in Compact Flash package (43 × 36 × 5 mm; platter is 26mm Ø); a 120 minute Sony NTC-120 cassette tape (30 × 21.5 × 5 mm; 2.5 mm magnetic tape) and a Samsung micro SD card (15 × mm × 1 mm).

I checked ebay, and microdrives are easy and cheap to find these days, so now I have one. Upon getting I found out I had to buy a new Y000 size tri-lobed screw driver (well, bit for my modular driver) to take it apart. My set of bits, the complete range from Ifixit when I got the set, only went down to Y0. Ifixit now has them. I got a Y00 at the same time to not have a gap.

Somewhere I have a few UMD disks, the DVD-esque media for the Sony Playstation Portable (PSP). At 64mm in diameter, it was smaller than the Minidisk (68mm) format, but it is still much larger than any of these.

getcert


I've typed these commands in by hand dozens of times over the years. But today I decided, "No more, script it."

So here's a simple script that takes a hostname, with optional port, and optional output filter. It makes an SSL connection to the given host, and extracts the certificate presented. With the validity filter, you can see the dates the cert is good for. With the dns filter, you can see hostnames the cert covers.

#!/bin/sh

host=$1
port=443

full() { cat; }
valid() { grep -A2 'Validity'; }
dns() { grep -E '(Subject.*CN *=|DNS *:)'; }

case "$host" in
        *:*) connect="$host" ;;
        ?*)   connect="$host:$port" ;;
        *) echo "usage: host[:port] { full | valid | dns }"
           exit 2
           ;;
esac
filter="full"

case "$2" in
        full) filter="full" ;;
        val*) filter="valid" ;;
        dns*) filter="dns" ;;
esac

: | openssl s_client -connect "$connect" 2> /dev/null |
    openssl x509 -noout -text |
    $filter
exit

Some examples of it in use:

$ getcert www.cvs.com dns      
        Subject: C = US, ST = Rhode Island, L = Woonsocket, O = CVS
Pharmacy Inc, OU = CVS Caremark Corporation, CN = www.cvs.com
                DNS:www.cvs.com, DNS:www.minuteclinic.com,
DNS:www.cvshealth.com, DNS:voices.cvshealth.com,
DNS:videovisit.cvs.com, DNS:vaccines.cvs.com,
DNS:vaccines-west.cvs.com, DNS:vaccineclinicscheduler.cvs.com,
DNS:tnl-photo.cvs.com, DNS:t.cvs.com, DNS:static.cvs.com,
DNS:services.cvshealth.com, DNS:services.cvs.com,
DNS:scheduling.minuteclinic.com, DNS:r.cvs.com, DNS:photohelp.cvs.com,
DNS:photo-store.cvs.com, DNS:photo-smetrics.cvs.com,
DNS:photo-metrics.cvs.com, DNS:payments.cnpapi.cvs.com,
DNS:optical.cvs.com, DNS:mypassword.cvshealth.com,
DNS:mypassword.cvs.com, DNS:myhr.cvs.com,
DNS:mychart.minuteclinic.com, DNS:mobile.cvs.com,
DNS:minuteclinic.com, DNS:message.cvs.com, DNS:meddplanfinder.cvs.com,
DNS:m.cvs.com, DNS:i.cvs.com, DNS:health.cvs.com, DNS:flushot.cvs.com,
DNS:express.cvs.com, DNS:es.minuteclinic.com, DNS:es.cvs.com,
DNS:entservices.cvs.com, DNS:e.cvs.com, DNS:depservices.cvs.com,
DNS:ddl.cvs.com, DNS:d.cvs.com, DNS:cvs.com,
DNS:citrix.minuteclinic.com, DNS:circular.cvs.com,
DNS:catools-photo.cvs.com, DNS:cvsh-tv.cvs.com, DNS:c.cvs.com,
DNS:seo.cvs.com, DNS:s.cvs.com, DNS:ds.cvs.com, DNS:design.cvs.com,
DNS:alvie.cvs.com, DNS:smartbytes.minuteclinic.com, DNS:care.cvs.com,
DNS:www.care.cvs.com
$
$
$ getcert www.nato.int valid
        Validity
            Not Before: Dec 17 14:09:55 2020 GMT
            Not After : Dec 31 22:59:59 2021 GMT
$

There you have it. CVS has a list of subject alternative names (SANs) as long as a CVS receipt, and you now know what to get NATO for xmas.

Tiny Media


Three pieces of tiny media and a Lego brick for scale

Clockwise: a Lego brick of the most generic size; a 120 minute NTC-120 cassette tape, a micro SD card, and a 36 exposure film cartridge for a Minox camera.

Extremely tiny things amuse me, so when I recently learned about the NT tape format from Sony, I looked on ebay to see if I could find one. About twelve bucks later and I have one. Now I need to get a microdrive to complete the collection.

Update: with microdrive