Category: goatee-stroking musing, or something

  • Weird thrift-store find: homebrew CD player

    I killed some time this lunchtime in a thrift store. I was half-looking for a case for a kit computer, but wasn’t expecting much to turn up. But I found this:

    There really are no identifying marks on this. No idea how it got to be in Canada.

  • ♫yoga then stone ants and I are waving♫

    Robyn Hitchcock – Trilobite – Live At Sonic Boom Records In Toronto

    YouTube’s automatic transcription is not quite there yet:

    … it’s got a different feel to it it’s um
    I write this in a shower in Thunder Bay
    I mean you know like a shower that you
    clean yourself in not a shower of rain
    or you could clean yourself in a shower
    of rain but you don’t always know it’s
    gonna rain and you’re not necessarily
    dirty at precisely the right time to go
    out into the rain but it would be great
    if people could time their dirt so they
    went out and obviously if you’ve got
    small kids and you need to bathroom
    regularly because they’re not old enough
    to voluntarily shower or bathe you could
    just wait for for the shower that would
    doom for you none for the infants anyway
    I wrote this in Thunder Bay and it’s
    about a creature that’s been extinct now
    for about 100 million years but it
    lasted about 400 million years which is
    a lot longer than we are likely to
    nonetheless we in our brief lifespan
    have already named this creature and
    it’s it looks kind of like a ladies
    shaving device from the 1940s but
    obviously it made a stone because it’s
    fossilized it’s called a trilobite
    because it has three lobes three
    sections to it and you can find a lot of
    these still fossilized trilobite sand
    cliffs in various parts of the world
    they may even be on on the moon for
    honor but it’s very hard to prove either
    way but you know we’ve called it this
    thing the trilobite but long after it’s
    like as if somebody dug one of you up in
    years to come and said these are the
    bones of Gloria Swanson you know you
    always who remember you sir particularly
    and not Gloria Swanson um as far as I
    know because you haven’t proved you on
    but I’m assuming you are for all I know
    all of you are actually called Gloria
    Swanson which only proves my point the
    chorus of the song refers to
    refers to Elton John buying cheap
    confectionery in a down market cafe in
    the late 60s before he became famous and
    wasn’t able to do that had to get
    someone else to do it for him and it has
    no connection with the rest of the song
    so ok that’s set the scene for this
    anyway
    trilobite right Dwight’s in the light by
    trilobite right in the light by Dwight
    trilobite right Dwight’s in the light by
    trilobite right in the light by Dwight
    basking on the shores of time the little
    Stein creature ain’t dead to the world
    they call him trilobite right rights in
    the light by trilobite right in the
    light by Dwight trilobite right rights
    in the light by trilobite brighten the
    light by Dwight Weldon Johnson but real
    name is Richard wood creaking away for a
    second of Fame a billion years later
    they give it a name they call a
    trilobite right and whites in life by
    trilobite right in the light by Dwight
    when I’m too wasted these rocks to
    clamber then lean me on the cliff and
    encase me in amber and the creature from
    the future in way out when can clop my
    fossil and name me span that’s a nice
    day
    built for a world where nothing needs
    shaving yoga then stone ants and I are
    waving trilobite right and whites in the
    light by trial of pipe right in the
    light by Dwight let’s hold a clicking
    championship the trilobite wins and
    everybody else loses
    trilobite try to buy

    Robyn Hitchcock, Trilobite, as transcribed by YouTube

    The chorus in real life is:

    Trilobite, right Dwight’s in the Lite Bite
    Trilobite, right in the Lite Bite, Dwight

  • PLOTPOURRI rides again

    PLOTPOURRI at many times original speed on emulated Apple II

    PLOTPOURRI is an old BASIC graphics demo for the Apple II. It plots 3D functions immensely slowly. It was noticed on the stardot forum, and a BBC BASIC version was requested.

    My conversion lives here: scruss/plotpourri_bbc.bas and runs in the browser here.

  • Possibly Painless Network Printing from your Raspberry Pi

    Printing from computers goes through waves of being difficult to being easy, then back to difficult again. This is likely due to the cycles of technology, complexity and user demand flow in and out of sync. I think we’re at peak annoyance right now.

    It’s even harder with Raspberry Pis, as when printer drivers support Linux, 90% of them are for x86 or x86_64 computers only (Canon: ಠ_ಠ). ARM doesn’t get a look in. But one technology does actually seem to help: network printers that support IPP — Internet Printing Protocol.

    We had an old Brother laser printer that just got slower and crankier and less useful as a printer, so yesterday I got a new Brother DCP-L2550DW to replace it. It says it supports Linux in the spec, but I knew not to be too optimistic with my Raspberry Pis. And indeed, it was seen on the network but no driver was found. I had a sad.

    What turned my frown upside down was finding out about Raspbian’s cups-ipp-utils package. For desktop use, install it this way:

    sudo apt install cups cups-ipp-utils system-config-printer

    (leave off system-config-printer if you’re running from the terminal.)

    Update: while you’re here, you might also want to install the print-to-PDF driver too. This allows you to print without wasting paper. Install it (and the IPP driver) with:

    sudo apt install cups cups-ipp-utils system-config-printer printer-driver-cups-pdf

    In many cases, this might be all you need to do: the network printers should be automatically found and added as devices.

    Adding the new printer

    On the desktop, open up Preferences → Print Settings and add a new printer. Yes, it prompts for your user password which you may have forgotten. I’ll wait while you try to remember it …

    Now under Network Printers, you should see a device you recognize. Pick the one that says IPP network printer somewhere:

    IPP network printer

    Here’s where the magic happens: you actually want to pick the generic driver for once:

    Select Generic (recommended) manufacturer

    And again, the IPP utilities package will have picked the right driver for you:

    Just go with what the driver suggests

    Changing the name and location is optional:

    Your new printer’s almost ready to go!

    Hit Apply, and you should be printing!

    (Hey, printer manufacturers have been known to be evil and make good, working stuff suddenly not work. IPP is supposed to make everything sparkly again, but I can’t guarantee that something wicked won’t come this way.)

    Update: After a few months of using the Brother DCP-L2550DW, I don’t recommend you buy it. It’s a perfectly capable printer, but it takes ‘chipped’ toner cartridges that:

    1. stop dead when you hit their page count limit, wasting toner and preventing you from finishing the print job;
    2. can’t easily be refilled by local technicians, so are wasteful of resources.

    To get around (1), select Continue instead of Stop in the Toner Out configuration menu.

    Update, January 2020: with sales and all needing a printer for work, the DCP-L2550DW will go with me to the office. I now have a MFC-L2750DW at home that scans to network, amongst other things. IPP proved it was magic yet again by the new printer being found and just worked with all my machines as soon as I added it to the network.

  • gleeful bash scripting: contrived GCD function

    The greatest common divisor (gcd) of two natural numbers is the largest number that evenly divides both. For instance gcd(8, 12) is 4. There are many clever and efficient ways to calculate the gcd of two numbers on a Linux machine. The method presented here is not among them.

    #!/bin/bash
    gcd(){ comm -12 --nocheck-order <(factor $1|sed 's/^[^ ]*/1/;s/ /\n/g') <(factor $2|sed 's/^[^ ]*/1/;s/ /\n/g')|tr '\n' \*|sed 's/.$/\n/'|bc;}
    gcd $1 $2

    (Contrived) example:

    gcd.sh 24691357802469135780246913578 61728394506172839450617283945
    12345678901234567890123456789

    Which breaks down as:

    prime factors of
    24691357802469135780246913578
    prime factors of
    61728394506172839450617283945
    2 
    33
    33
    33
     5
    77
    1313
    3131
    3737
    211211
    241241
    21612161
    36073607
    38033803
    29061612906161

    Multiply the factors common to both:

    3 × 3 × 3 × 7 × 13 × 31 × 37 × 211 × 241 × 2161 × 3607 × 3803 × 2906161 = 12345678901234567890123456789

    I’m sure someone else has used the output of factor and comm in this way before. The hard part was getting coprime numbers to output 1.

  • Digital Photo Archaeology: featuring hardware DRM from the crypt

    So I picked up this large boy from the MSU Surplus Store:

    Sony Digital Mavica MVC-FD91 (c. 1998 CE) — yes, that’s a 3½” floppy drive on there

    You get about 7 high-resolution pictures on a disk. And high resolution by 1998 standards means this:

    1024×768 whole pixels: that’s huge! The camera is autofocus with image stabilization, so it was quite a nifty unit at the time.

    Pre-dating EXIF, its image metadata is limited. There’s an external ‘411’ thumbnail file that looks a bit like this:

    If you care to dig about in such an ancient file, I’ve got a matching image and its 411 file here: MVC-005X.zip. And manuals? Here: Sony_Mavica-FDC91-W0007229M.pdf

    Most annoyingly, the camera really only likes real Sony batteries, or it shuts down with an “InfoLithium” battery error (swearies in link). As this battery format is now used in generate photo lighting systems and Sony don’t make it any more, this may be a camera that dies from DRM before anything else.

  • Invented right here: the T-Nut

    from US Patent 3480061 ‘Fastener member’ by W. H. Leistner, granted 1969-11-25

    Simple things like fasteners don’t seem to be invented. It’s almost as if they’ve always been around. Like T-nuts — those hammer-in furniture nuts that also find use as 3D printable tripod mounts — someone invented those?

    Sure enough, it seems that local company Sigma Tool & Machine have a lot to do with T-nut development. They’re now on Nantucket Blvd just north of me, and they used to be at 96 Crockford Blvd very close by.

  • The Quirkey: chording USB keyboard

    This may not look much, but it’s a test build of Vik Olliver’s Quirkey USB chord keyboard. I didn’t quite build it to Vik’s specs, which are here:

    The Microwriter was a late 1970s/early 1980s gadget that was essentially a portable word processor. Unusually, its keyboard was a single-hand 6 key layout — the thumb did double duty — that was operated by chording multiple keys at the same time. Later on in the Microwriter’s life it evolved into the Quinkey, a chording adaptive keyboard for computers of the time.

    Technology has moved on a bit, and the ability to wire up a cheap USB-capable microcontroller and 3d print your own case is here. I used an Arduino Micro on a breadboard and six Omron momentary buttons.

    I didn’t quite wire it the way that Vik intended:

    Note lifted pins to prevent useless buttons

    The buttons are wired like this:

    Pin      Button
    ======= =======
    D8 Control
    D7 Thumb
    D6 Index
    D5 Middle
    D4 Ring
    D3 Pinkie

    This requires changing line 22 of Vik’s code from:

    const int keyPorts[] = {8, 7, 6, 5, 4, 9};

    to

    const int keyPorts[] = {8, 3, 4, 5, 6, 7};

    While there are great tutorials on “microwriting” in the original manuals on Bill Buxton’s site, here are the basic alphabetic set derived from Vik’s code:

    Thumb
    |Index
    ||Middle
    |||Ring
    ||||Pinkie
    ●○○○○ : Space
    ○●○○○ : e
    ●●○○○ : i
    ○○●○○ : o
    ●○●○○ : c
    ○●●○○ : a
    ●●●○○ : d
    ○○○●○ : s
    ●○○●○ : k
    ○●○●○ : t
    ●●○●○ : r
    ○○●●○ : n
    ●○●●○ : y
    ○●●●○ : .
    ●●●●○ : f
    ○○○○● : u
    ●○○○● : h
    ○●○○● : v
    ●●○○● : l
    ○○●○● : q
    ●○●○● : z
    ○●●○● : -
    ●●●○● : '
    ○○○●● : g
    ●○○●● : j
    ○●○●● : ,
    ●●○●● : w
    ○○●●● : b
    ●○●●● : x
    ○●●●● : m
    ●●●●● : p

    The astute reader may note that these are binary values (low bit to high) of the character positions in Vik’s alphaTable variable. And yes, that’s supposed to be preformatted text.

    Happy microwriting!

  • Tact & Buttons

    The right and wrong ways to connect buttons

    Buttons, Tactile switches, Momentaries, Clickies, SPST-NO; call ’em what you will, but my world seems to be full of them right now. Wiring them or breadboarding them may not be as simple as they look.

    Whether they are the tiny 6 mm ones or the less-easily-lost 12 mm ones, both types typically have four pins or legs, two on the top and two on the bottom. If your appear to have the legs on the sides, flip ’em 90°: they won’t fit in breadboard sockets the wrong way.

    The pins on the left and right side are common, so connecting top left to bottom left won’t ever change state if you press the button. So use either the pins both on the same side or those diagonally opposed if you want the switch to work.

    You can use these buttons on a common breadboard rail. You must remember to have only one button pin connecting to the rail; lift the other pin so it won’t connect. You can then use just one wire connected diagonally across the the common rail pin and you’ve got a working button. This is especially useful when using a microcontroller with built-in pull up resistors (that’s most of them these days).

    If you connect both pins to a common rail, you’ve just made a SPST-AO (single pole, single throw – always open) switch. Those aren’t much use at all.

  • A real graph

    No, really

    This was a real graph from a project I worked on. I’m not at liberty to tell you what it’s from, but it had a use at the time. It’s not just random scribbles

  • 2005 called …

    Apple iChat icons from 2005

    These iChat icons recovered from OS 10.4 are so pre-Crash genki that I can’t even

  • ephemera: Government of Canada “Action Request” – phone memo slip

    Government of Canada - Action Request slip paper, yellow, 100 × 133 mm (form refs: GC 12E, 7540-21-868-3907) c. 1990
    Government of Canada – Action Request slip
    paper, yellow, 100 × 133 mm
    (form refs: GC 12E, 7540-21-868-3907)
    c. 1990 (est)

    found inside a copy of the “Commodore 64 User’s Guide” bought from JPPBM at World of Commodore 2018.

  • 𒐳 / ༳ == ( ⑽ – 𐹭 ) * ( 𒐲 / 𐅉 ), of course

    I just got brian d. foy’s Learning Perl 6 from the library. It’s a pretty good book, though it’ll take a good few readings for some of Perl 6’s features to stick.

    Since Perl 6 is built using Unicode from the ground up, it does two rather wonderful things when dealing with numbers:

    1. regular expressions match numerals beyond 0–9: ٤ is as much four as 4
    2. numeric constants can (pretty much) be expressed in terms of Unicode values in your Perl 6 source code. Assigning π to a variable does what you think it does. Dividing by ¼ is the same as multiplying by, well, ٤.

    So herewith a table (probably incomplete, and very unlikely to render properly for you) of Unicode glyphs accepted by Perl 6 as numeric values:

    Value Glyphs
    -0.5 ༳
    0 0 ٠ ۰ ߀ ० ০ ੦ ૦ ୦ ௦ ౦ ౸ ೦ ൦ ๐ ໐ ༠ ၀ ႐ ០ ៰ ᠐ ᥆ ᧐ ᪀ ᪐ ᭐ ᮰ ᱀ ᱐ ⁰ ₀ ↉ ⓪ ⓿ 〇 ꘠ ꛯ ꣐ ꤀ ꧐ ꩐ ꯰ 0 𐆊 𐒠 𑁦 𑃰 𑄶 𑇐 𑛀 𝟎 𝟘 𝟢 𝟬 𝟶 🄀 🄁
    0.0625 à§´ à­µ ê ³
    0.1 â…’
    0.111111 â…‘
    0.125 à§µ à­¶ â…› ê ´ ð’‘Ÿ
    0.142857 ⅐
    0.166667 â…™ ð’‘¡
    0.1875 à§¶ à­· ê µ
    0.2 â…•
    0.25 ¼ ৷ ୲ ൳ ꠰ 𐅀 𐹼 𒑠 𒑢
    0.333333 ⅓ 𐹽 𒑚 𒑝
    0.375 ⅜
    0.4 â…–
    0.5 ½ ୳ ൴ ༪ ⳽ ꠱ 𐅁 𐅵 𐅶 𐹻
    0.6 â…—
    0.625 ⅝
    0.666667 ⅔ 𐅷 𐹾 𒑛 𒑞
    0.75 ¾ ৸ ୴ ൵ ꠲ 𐅸
    0.8 â…˜
    0.833333 ⅚ 𒑜
    0.875 â…ž
    1 1 ¹ ١ ۱ ߁ १ ১ ੧ ૧ ୧ ௧ ౧ ౹ ౼ ೧ ൧ ๑ ໑ ༡ ၁ ႑ ፩ ១ ៱ ᠑ ᥇ ᧑ ᧚ ᪁ ᪑ ᭑ ᮱ ᱁ ᱑ ₁ ⅟ Ⅰ ⅰ ① ⑴ ⒈ ⓵ ❶ ➀ ➊ 〡 ㆒ ㈠ ㊀ ꘡ ꛦ ꣑ ꤁ ꧑ ꩑ ꯱ 1 𐄇 𐅂 𐅘 𐅙 𐅚 𐌠 𐏑 𐒡 𐡘 𐤖 𐩀 𐩽 𐭘 𐭸 𐹠 𑁒 𑁧 𑃱 𑄷 𑇑 𑛁 𒐕 𒐞 𒐬 𒐴 𒑏 𒑘 𝍠 𝟏 𝟙 𝟣 𝟭 𝟷 🄂
    1.5 ༫
    2 2 ² ٢ ۲ ߂ २ ২ ੨ ૨ ୨ ௨ ౨ ౺ ౽ ೨ ൨ ๒ ໒ ༢ ၂ ႒ ፪ ២ ៲ ᠒ ᥈ ᧒ ᪂ ᪒ ᭒ ᮲ ᱂ ᱒ ₂ Ⅱ ⅱ ② ⑵ ⒉ ⓶ ❷ ➁ ➋ 〢 ㆓ ㈡ ㊁ ꘢ ꛧ ꣒ ꤂ ꧒ ꩒ ꯲ 2 𐄈 𐅛 𐅜 𐅝 𐅞 𐏒 𐒢 𐡙 𐤚 𐩁 𐭙 𐭹 𐹡 𑁓 𑁨 𑃲 𑄸 𑇒 𑛂 𒐀 𒐖 𒐟 𒐣 𒐭 𒐵 𒑊 𒑐 𒑖 𒑙 𝍡 𝟐 𝟚 𝟤 𝟮 𝟸 🄃
    2.5 ༬
    3 3 ³ ٣ ۳ ߃ ३ ৩ ੩ ૩ ୩ ௩ ౩ ౻ ౾ ೩ ൩ ๓ ໓ ༣ ၃ ႓ ፫ ៣ ៳ ᠓ ᥉ ᧓ ᪃ ᪓ ᭓ ᮳ ᱃ ᱓ ₃ Ⅲ ⅲ ③ ⑶ ⒊ ⓷ ❸ ➂ ➌ 〣 ㆔ ㈢ ㊂ ꘣ ꛨ ꣓ ꤃ ꧓ ꩓ ꯳ 3 𐄉 𐒣 𐡚 𐤛 𐩂 𐭚 𐭺 𐹢 𑁔 𑁩 𑃳 𑄹 𑇓 𑛃 𒐁 𒐈 𒐗 𒐠 𒐤 𒐥 𒐮 𒐯 𒐶 𒐷 𒐺 𒐻 𒑋 𒑑 𒑗 𝍢 𝟑 𝟛 𝟥 𝟯 𝟹 🄄
    3.141592653589793 π
    3.5 ༭
    4 4 ٤ ۴ ߄ ४ ৪ ੪ ૪ ୪ ௪ ౪ ೪ ൪ ๔ ໔ ༤ ၄ ႔ ፬ ៤ ៴ ᠔ ᥊ ᧔ ᪄ ᪔ ᭔ ᮴ ᱄ ᱔ ⁴ ₄ Ⅳ ⅳ ④ ⑷ ⒋ ⓸ ❹ ➃ ➍ 〤 ㆕ ㈣ ㊃ ꘤ ꛩ ꣔ ꤄ ꧔ ꩔ ꯴ 4 𐄊 𐒤 𐩃 𐭛 𐭻 𐹣 𑁕 𑁪 𑃴 𑄺 𑇔 𑛄 𒐂 𒐉 𒐏 𒐘 𒐡 𒐦 𒐰 𒐸 𒐼 𒐽 𒐾 𒐿 𒑌 𒑒 𒑓 𝍣 𝟒 𝟜 𝟦 𝟰 𝟺 🄅
    4.5 ༮
    5 5 ٥ ۵ ߅ ५ ৫ ੫ ૫ ୫ ௫ ౫ ೫ ൫ ๕ ໕ ༥ ၅ ႕ ፭ ៥ ៵ ᠕ ᥋ ᧕ ᪅ ᪕ ᭕ ᮵ ᱅ ᱕ ⁵ ₅ Ⅴ ⅴ ⑤ ⑸ ⒌ ⓹ ❺ ➄ ➎ 〥 ㈤ ㊄ ꘥ ꛪ ꣕ ꤅ ꧕ ꩕ ꯵ 5 𐄋 𐅃 𐅈 𐅏 𐅟 𐅳 𐌡 𐒥 𐹤 𑁖 𑁫 𑃵 𑄻 𑇕 𑛅 𒐃 𒐊 𒐐 𒐙 𒐢 𒐧 𒐱 𒐹 𒑍 𒑔 𒑕 𝍤 𝟓 𝟝 𝟧 𝟱 𝟻 🄆
    5.5 ༯
    6 6 ٦ ۶ ߆ ६ ৬ ੬ ૬ ୬ ௬ ౬ ೬ ൬ ๖ ໖ ༦ ၆ ႖ ፮ ៦ ៶ ᠖ ᥌ ᧖ ᪆ ᪖ ᭖ ᮶ ᱆ ᱖ ⁶ ₆ Ⅵ ⅵ ↅ ⑥ ⑹ ⒍ ⓺ ❻ ➅ ➏ 〦 ㈥ ㊅ ꘦ ꛫ ꣖ ꤆ ꧖ ꩖ ꯶ 6 𐄌 𐒦 𐹥 𑁗 𑁬 𑃶 𑄼 𑇖 𑛆 𒐄 𒐋 𒐑 𒐚 𒐨 𒑀 𒑎 𝍥 𝟔 𝟞 𝟨 𝟲 𝟼 🄇
    6.5 ༰
    7 7 ٧ ۷ ߇ ७ ৭ ੭ ૭ ୭ ௭ ౭ ೭ ൭ ๗ ໗ ༧ ၇ ႗ ፯ ៧ ៷ ᠗ ᥍ ᧗ ᪇ ᪗ ᭗ ᮷ ᱇ ᱗ ⁷ ₇ Ⅶ ⅶ ⑦ ⑺ ⒎ ⓻ ❼ ➆ ➐ 〧 ㈦ ㊆ ꘧ ꛬ ꣗ ꤇ ꧗ ꩗ ꯷ 7 𐄍 𐒧 𐹦 𑁘 𑁭 𑃷 𑄽 𑇗 𑛇 𒐅 𒐌 𒐒 𒐛 𒐩 𒑁 𒑂 𒑃 𝍦 𝟕 𝟟 𝟩 𝟳 𝟽 🄈
    7.5 ༱
    8 8 ٨ ۸ ߈ ८ ৮ ੮ ૮ ୮ ௮ ౮ ೮ ൮ ๘ ໘ ༨ ၈ ႘ ፰ ៨ ៸ ᠘ ᥎ ᧘ ᪈ ᪘ ᭘ ᮸ ᱈ ᱘ ⁸ ₈ Ⅷ ⅷ ⑧ ⑻ ⒏ ⓼ ❽ ➇ ➑ 〨 ㈧ ㊇ ꘨ ꛭ ꣘ ꤈ ꧘ ꩘ ꯸ 8 𐄎 𐒨 𐹧 𑁙 𑁮 𑃸 𑄾 𑇘 𑛈 𒐆 𒐍 𒐓 𒐜 𒐪 𒑄 𒑅 𝍧 𝟖 𝟠 𝟪 𝟴 𝟾 🄉
    8.5 ༲
    9 9 ٩ ۹ ߉ ९ ৯ ੯ ૯ ୯ ௯ ౯ ೯ ൯ ๙ ໙ ༩ ၉ ႙ ፱ ៩ ៹ ᠙ ᥏ ᧙ ᪉ ᪙ ᭙ ᮹ ᱉ ᱙ ⁹ ₉ Ⅸ ⅸ ⑨ ⑼ ⒐ ⓽ ❾ ➈ ➒ 〩 ㈨ ㊈ ꘩ ꛮ ꣙ ꤉ ꧙ ꩙ ꯹ 9 𐄏 𐒩 𐹨 𑁚 𑁯 𑃹 𑄿 𑇙 𑛉 𒐇 𒐎 𒐔 𒐝 𒐫 𒑆 𒑇 𒑈 𒑉 𝍨 𝟗 𝟡 𝟫 𝟵 𝟿 🄊
    10 ௰ ൰ ፲ Ⅹ ⅹ ⑩ ⑽ ⒑ ⓾ ❿ ➉ ➓ 〸 ㈩ ㉈ ㊉ 𐄐 𐅉 𐅐 𐅗 𐅠 𐅡 𐅢 𐅣 𐅤 𐌢 𐏓 𐡛 𐤗 𐩄 𐭜 𐭼 𐹩 𑁛 𝍩
    11 Ⅺ ⅺ ⑪ ⑾ ⒒ ⓫
    12 Ⅻ ⅻ ⑫ ⑿ ⒓ ⓬
    13 ⑬ ⒀ ⒔ ⓭
    14 ⑭ ⒁ ⒕ ⓮
    15 ⑮ ⒂ ⒖ ⓯
    16 ৹ ⑯ ⒃ ⒗ ⓰
    17 ᛮ ⑰ ⒄ ⒘ ⓱
    18 ᛯ ⑱ ⒅ ⒙ ⓲
    19 ᛰ ⑲ ⒆ ⒚ ⓳
    20 ፳ ⑳ ⒇ ⒛ ⓴ 〹 ㉉ 𐄑 𐏔 𐡜 𐤘 𐩅 𐭝 𐭽 𐹪 𑁜 𝍪
    21 ㉑
    22 ㉒
    23 ㉓
    24 ㉔
    25 ㉕
    26 ㉖
    27 ㉗
    28 ㉘
    29 ㉙
    30 ፴ 〺 ㉊ ㉚ 𐄒 𐅥 𐹫 𑁝 𝍫
    31 ㉛
    32 ㉜
    33 ㉝
    34 ㉞
    35 ㉟
    36 ㊱
    37 ㊲
    38 ㊳
    39 ㊴
    40 ፵ ㉋ ㊵ 𐄓 𐹬 𑁞 𝍬
    41 ㊶
    42 ㊷
    43 ㊸
    44 ㊹
    45 ㊺
    46 ㊻
    47 ㊼
    48 ㊽
    49 ㊾
    50 ፶ Ⅼ ⅼ ↆ ㉌ ㊿ 𐄔 𐅄 𐅊 𐅑 𐅦 𐅧 𐅨 𐅩 𐅴 𐌣 𐩾 𐹭 𑁟 𝍭
    60 ፷ ㉍ 𐄕 𐹮 𑁠 𝍮
    70 ፸ ㉎ 𐄖 𐹯 𑁡 𝍯
    80 ፹ ㉏ 𐄗 𐹰 𑁢 𝍰
    90 ፺ 𐄘 𐍁 𐹱 𑁣 𝍱
    100 ௱ ൱ ፻ Ⅽ ⅽ 𐄙 𐅋 𐅒 𐅪 𐏕 𐡝 𐤙 𐩆 𐭞 𐭾 𐹲 𑁤
    200 𐄚 𐹳
    300 𐄛 𐅫 𐹴
    400 𐄜 𐹵
    500 Ⅾ ⅾ 𐄝 𐅅 𐅌 𐅓 𐅬 𐅭 𐅮 𐅯 𐅰 𐹶
    600 𐄞 𐹷
    700 𐄟 𐹸
    800 𐄠 𐹹
    900 𐄡 𐍊 𐹺
    1000 ௲ ൲ Ⅿ ⅿ ↀ 𐄢 𐅍 𐅔 𐅱 𐡞 𐩇 𐭟 𐭿 𑁥
    2000 𐄣
    3000 𐄤
    4000 𐄥
    5000 ↁ 𐄦 𐅆 𐅎 𐅲
    6000 𐄧
    7000 𐄨
    8000 𐄩
    9000 𐄪
    10000 ፼ ↂ 𐄫 𐅕 𐡟
    20000 𐄬
    30000 𐄭
    40000 𐄮
    50000 ↇ 𐄯 𐅇 𐅖
    60000 𐄰
    70000 𐄱
    80000 𐄲
    90000 𐄳
    100000 ↈ
    216000 𒐲
    432000 𒐳
    Inf ∞

    So the title of this post really is accepted as a valid Perl 6 expression in the REPL:

    $ perl6
    To exit type 'exit' or '^D'
    > 𒐳 / ༳ == ( ⑽ - 𐹭 ) * ( 𒐲 / 𐅉 )
    True

    What does it evaluate to? Well:

    • 𒐳 ‘CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN’ represents 432000
    • ༳ ‘TIBETAN DIGIT HALF ZERO’ represents -½
    • ⑽ ‘PARENTHESIZED NUMBER TEN’ represents 10
    • 𐹭 ‘RUMI NUMBER FIFTY’ represents 50
    • 𒐲 ‘CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH’ represents 216000
    • 𐅉 ‘GREEK ACROPHONIC ATTIC TEN TALENTS’ represents 10.

    Definitely into just because you can doesn’t mean you should territory, and a feature to make the Pythonistas reach for the Zantac again, poor dears.

  • The Modern Hectographer

    Way back, if you wanted more than one copy of something you’d written there was no print button. If you wanted copies, each one required a bit of work. Before copiers and printers there were duplicators where you could type or draw onto special membranes that either transferred ink to a printing sheet (Banda or Ditto brand machines) or made holes in a screen to allow ink through (Gestetner or Mimeograph brands). Risograph machines are modern digital ink duplicators still in use and active development today.

    One of the predecessors of duplicators was the hectograph. In the 19th century they still knew their Greek and yet were totally okay with hype, the hectograph was named after the extremely, um, aspirational idea that you could pull a hundred (εκατό= hundred, in modern Greek) copies from one master. Once you’ve made a few hectograph copies, you’ll be more wondering what the heck they were thinking: you might get a few tens of legible copies if you’re extremely careful.

    Some hectographic copies, all pulled from the one jelly sheet impression

    A hectograph copier is basically a sheet of jelly that soaks up certain kinds of ink from a master copy, then oozes the copies back onto paper pressed onto its surface. The ink slowly diffuses down through the thickness of the jelly, allowing different copies to be made with the same plate a day or so later.

    Getting the right ink is a little tricky these days. Tattoo artists use hectograph ink to make stencils, so I got a small bottle of ink ($15) from Studio One (940 Queen St. East, Toronto). You can also use hecto/indelible pencils, but the National Tattoo brand one I got from Studio One barely transfers at all.

    Making a copier in a kitchen is easy. There are several recipes online (University of Iowa Library and W0IS‘s being two: if you follow The New Standard Formulary historic ones, remember that white glue now is quite different from the hoof-and-hide renderings they used then). My recipe is a bit of a blend of all of these:

    • 28 g Gelatin
      (powdered, unflavoured; in North America, it’s sold under the Knox brand in little boxes containing 4× 7 g sachets)
    • 175 ml Glycerin
      (from the pharmacy, possibly sold in the skin care section; about ¾ cup)
    • 75 g Sugar
      (regular white sugar, about ⅓ cup)
    • 350 ml Water
      (1½ cups)

    You’ll need a flat tray, larger that the paper you want to use. Dollar store baking trays are ideal. I used a slightly-too-small toaster oven tray, which seemed like a good idea at the time.

    1. Stir gelatin and sugar into the water and leave it to soak for a few hours. It should form a translucent gel
    2. Heat the glycerin in a double boiler until the boiler water is just simmering
    3. Add the gelatin/sugar solution and stir gently until the boiler water resumes simmering. Keep heating for a few minutes until the solution turns clear
      (The liquid doesn’t have to boil, just get hot enough for the gelatin to melt. Avoiding bubbles is worthwhile, as gelatin foam is not what we’re looking for here)
    4. Carefully pour the hot liquid into your tray, avoiding forming bubbles if at all possible
      (Bubbles can be shepherded off to the edge of the plate with the tip of a scrap of paper before the liquid sets)
    5. Allow the tray to cool and set. This may take several hours at room temperature. The solid jelly hardly changes in appearance from the liquid form
    surface of a freshly-cooled jelly plate: extremely clear with a faint texture

    Now draw your master. Hectographic ink is loaded with dye, so a little goes a long way. It’s also not a modern non-blotting ink, so you need to be more sparing with it than I was.

    The unused master sheet, drawn in hecto ink (purplish black), copying pencil (grey) with guidelines from a plotter pen (red)

    Stick the master face down onto the jelly sheet and leave it there for about a minute. I used a brayer to press the ink onto the surface. When you lift the master off the surface, you’ll end up with a slightly ruined master —

    The used master sheet: probably too blurred to be usable again. Next time I’ll be more careful not to blot. (Colour balance made it yellow, btw; it’s the same sheet as before)

    — and a crisp, reversed image in the jelly plate. I hope yours will be less blot-ridden than mine:

    Image transferred onto jelly. Note blots (dammit!) and complete lack of visibility from hecto/copying pencil. Red lines from plotter pen are clear, though they didn’t end up transferring through to the paper copies

    Now lay your copy paper onto the jelly sheet for a few seconds. Again, I used a brayer.

    First copy, on mulberry paper

    The copies come out remarkably dry, but should still be allowed to dry off for a while: this is a wet copy process, after all. The copier is reusable indefinitely, and should be very lightly dampened before use.

    This is after use (6-7 copies), a light misting of water and a wipe down with a damp sponge.
    This is the same plate, roughly 12 hours after use. The ink has blurred and diffused more deeply into the surface. It was possible to pull a very faint and impossibly blurry copy from this, but it’s pretty close to being ready to reuse

    This process is kind-of on the edge of practicality, but is not without its charms. It might be worth looking at:

    1. alternative jellies, such as arrowroot, hypromellose or agar agar. Gelatin is hydrolyzed animal collagen, and this may create ethical issues for some users. Some glycerin is also from animal sources, but less so than in the past.
    2. other ink/dye sources, including inkjet ink, certain water-soluble colouring pencils and other indelible/copying pencils. I have some vintage — possibly old enough to be quite toxic — copying pencils on the way to me via ebay which may work better.
    3. making 3d printed stamps to transfer to the jelly plate. Since the plate doesn’t need to accept a perfectly flat impression, a relief design might work better than a 3d printed direct stamp.

    (aside: I’d previously tried to make a copying pad from several layers of damp kitchen towel to transfer a drawing made with Stabilo All water-soluble pencils. As you can imagine, the ink quickly diffused along the cellulose fibres, making this process at best a very qualified success —

    A copy attempt made with damp paper towels. The less said about this, the better

    )

  • Great Fencote, 10 cm contours; 50 m scale

    Great Fencote 10 cm contours, 50 m scale
    Great Fencote 10 cm contours, 50 m scale

    in the land of Count Alan.

  • Things Got Weird Real Fast

    things got weird real fast
    things got weird real fast

    this, but with alternate lines from the plot file drawn with alternate pens. The original was slow because it had a point roughly every 0.1 mm, and this has been smoothed. Still took maybe 15-20 minutes to draw, though.

  • In the very unlikely event that you want to repair a broken handset socket on a Princess telephone …

    It seems that Princess telephones — like the one I have — were notorious for having their connectors break. The connectors are made of brittle thermoset resin, and sit just where they’d hit the ground if you dropped the phone. This is definitely what happened here:

    Very broken 616p modular handset connector. Pins are (l to r): Black, Green, White, Red

    For the handset, you want a 616P connector. If your wall connector has gone too, you’ll need the 623P connector for that. These are fairly readily available on eBay.

    These instructions really only apply to the 2702BMG model of the Princess phone. There are many variants, and the 2702BMG was one of the last Princess models made.

    1. Remove the upper body by unscrewing the two screws at each end of the base

      Undo the screws at left and right to remove the case
    2. Remove the body, and remove the keypad. This is held in by two screws, one on each side of the keypad
    3. If your phone’s anything like mine, untwist the wires inside to get the line and handset connectors separated
    4. Unhook the old connectors from the terminals, and attach the new connectors as shown:

      Handset wiring: Green → S, White & Red → R, Black → T
    5. Slot the handset modular connector into its space in the phone chassis
    6. Replace the keypad
    7. Re-route the wires so they don’t get pinched or block the handset hook, then re-attach the plastic body with the two screws.

     

  • You say ‘homage’, I say ripoff: cakeordeathsite’s What a Life!

    So via mefi I find this: What A Life! | cakeordeathsite.

    I love it when people discover this book. It’s been a minor obsession of mine for nearly 30 years. I first put it on the web in March 2000 and updated it to then-current web standards in 2003: What a Life!: an autobiography. Over the years I’ve received a bunch of interesting notes from fans and even a couple from relatives of the authors. I marked it up the old, hard way: by scanning pages then re-keying the text. OCR wasn’t that great back in the day.

    So I get kind of irked that this cakeordeath fella lifts my pictures and markup wholesale. Shame he didn’t understand how to copy CSS, ‘cos his formatting comes out worse than mine:

    cakeordeath’s rendering, viewed 2018-04-01 18:22:34

    my rendering, viewed 2018-04-01 18:23:20

    Crack open View Source on his https://cakeordeathsite.wordpress.com/2017/10/20/what-a-life/ and f’rinstance my Chapter 1, http://scruss.com/wal/chapter1.html:

    mine:

    <div>
    <p><span class="smallcaps">I</span> was born very near the end of the
    year. <img src="Images/wal009a.jpg" width="112" height="104"
    alt="calendar showing 29 December" class="right" /></p> 
    </div>
    
    <p>The grange where I was born was situated in a secluded corner of
    the Chiltern Hills. Rumour had it that Queen Elizabeth had slept
    there.</p>
    
    <div class="centre"><img src="Images/wal009b.jpg" width="160"
    height="232" alt="doll's house" /></div>

    cakeordeath’s:

    <div>
    <p><span class="smallcaps">I</span>&nbsp;was born very near the end of the year.<img class="right" src="https://i1.wp.com/scruss.com/wal/Images/wal009a.jpg" alt="calendar showing 29 December" width="112" height="104"></p>
    </div>
    <p>The grange where I was born was situated in a secluded corner of the Chiltern Hills. Rumour had it that Queen Elizabeth had slept there.</p>
    <div class="centre"><img src="https://i2.wp.com/scruss.com/wal/Images/wal009b.jpg" alt="doll's house" width="160" height="232"></div>

    I mean, come on … including my domain and image path scruss.com/wal in his image urls? Otherwise, it’s whitespace difference. I dunno, these kids today: lift anything without credit, so they would. Seems this dude is a semi-popular blogger, and I’d be vastly annoyed if he were getting ad revenue for this, while I did this for fun and it’s cost me to host it all these years.

    There’s a further uncredited lift from Chris Mullen’s oldweb classic, Visual Telling of Stories. cakeordeath’s banner page scan is straight out of Chris’s Collage Pioneers: E.V.Lucas and George Morrow, What a Life! 1911 with the same file name. Was there credit? Was there shite …

  • CP/M 3.1 manuals as PDF

    The Unofficial CP/M Web site uses some very old file formats. As almost no-one can easily run Amí 3 to read the manuals these days, here are the CP/M 3.1 manuals from that site converted to PDF: