Dan Steeves

Bash and Applescript to send iMessage

$ cat imessage.sh
#!/usr/bin/env bash

set -ex

message=$1

osascript <<EOF

    tell application "Messages"
        set myid to get id of first service
        set theBuddy to buddy "+1xxxxxxxxxx" of service id myid
        send "$message" to theBuddy
    end tell

EOF

exit 0

Usage: ./imessage.sh "enter message here"

Tim Bray: OSQI

Gotta start following Dave Winer again. textcasting.org

Steelcase Leap v1

I am the happy sitter/owner of a Steelcase Leap v1 that I purchased from a neighbor via Craigslist (or FB Marketplace?) a few years ago. Mine is a extra-special-cheap model with an un-upholstered plastic back that they only made for a year or two.

I just installed a new height cylinder and arm rest pads from Crandall Office Furniture and I could not be happier.

Now I need to either replace the seat cushion myself using the existing case, or find an upholstery shop to do it right for me with new fabric.

Anyway, happy sitting at your own workspace.

The birth & death of search engine optimization

Way good essay: The birth & death of search engine optimization

Paste Current Selection in Kitty like in iTerm

I have been trying out and liking Kitty as an alternative to iTerm. But I was missing the Cmd-Shift-V “Paste current selection” behavior from iTerm. After a few false starts I found the config necessary spelled out in the default config file.

#: Copy to clipboard or a private buffer on select. With this set to
#: clipboard, selecting text with the mouse will cause the text to be
#: copied to clipboard. Useful on platforms such as macOS that do not
#: have the concept of primary selection. You can instead specify a
#: name such as a1 to copy to a private kitty buffer. Map a shortcut
#: with the paste_from_buffer action to paste from this private
#: buffer. For example::

  copy_on_select a1
  map shift+cmd+v paste_from_buffer a1

Instagram is listening

This morning I asked my wife something like “will you please get us a version of X that does Y” for a simple household product. A couple hours later she opens Instagram and sees an ad for “X that does Y”.

I take a look at Settings and see that my wife had 1. allowed Instagram access to the microphone, and 2. not asked the app not to track.

A bit of searching reveals enough of the same to make me think it is likely that Instagram is using microphone access to record, process, and make ad recommendations. Even when the app is in the background and/or your phone is locked.

It would be nice if someone with the right technical skills could do some research and reporting on this.

The AWS error message [ERROR] ClientError: An error occurred (AccessDenied) when calling the PutObject operation: Access Denied might mean you don’t have s3:PutObject permission. Or, it might mean that the bucket is configured to require server side encryption in which case you need to add the ServerSideEncryption argument to your boto3 put_object operation.

File under: things I learned the hard way.

A Python AWS Lambda function will fail with no useful error messages if it runs out of memory. File under “things I learned the hard way.”

Delta, please help me add my flights to my calendar

I wish Delta Air Lines would offer the same “Add to calendar” widget in all the places.

  • Website summary page after purchase, link adds both flights to calendar. Title “Your Itinerary: …” could be better, but overall what I want: accurate dates, times, flight numbers, and booking code.
  • Website My Trips overview when returning later, can’t find any widget for add to calendar.
  • iOS App My Trips overview, there is a hidden widget behind a “…” button, but it only adds the outbound flight. Better title but less info overall.

What I want

  • Any view of the itinerary has an “Add to calendar” link or button.
  • Download file or connect to app, or whatever, doesn’t matter.
  • Add two events, one for each flight.
  • Title: “airport code 1” to “airport code 2” “airline flight number”
  • Location: “airport 1”
  • Notes include link and booking code

Please

I got access to the Oryx “Layout Tour” feature. Read about my Ergodox keyboard layout here: configure.zsa.io/ergodox-e…

Bought this Zippo from Drop this year. I have both the old fashioned wick and the new fashioned butane inserts. Because why? Who knows. Or, “a man should own a lighter, even if he doesn’t smoke?” Can’t figure out how to refill either where they last as long as they ought to. Always more to learn….

Raid on COVID Whistleblower in Florida Shows the Need to Reform Overbroad Computer Crime Laws and the Risks of Over-Reliance on IP Addresses I tried to read it but had to stop. Too upsetting.

On Trusting Apple Hardware

This is really quite interesting. I love my Mac. LOVE it. When I imagine my life on Linux, I hide under the desk.

I like that Apple is making it harder to profit from stolen Apple hardware.

I do not like that Apple is making it harder to use the hardware in your physical possession as you see fit.

In the words of The King: “Is, a puzzlement.”

FCC Still Sucks

This report does not prove that net neutrality regulations were a waste of time, or that getting rid of them is somehow beneficial. It only shows is that people bought faster internet service when they needed it. Other sources show that the reason for gutting net neutrality in the United States was bunk, and this action produced predictable anticompetitive effects.

We still need rapid tests.

Birchpunk “Russian Cyberpunk Farm

Awfully damn entertaining.

Alex Tabarrok on Pfizer’s vaccine and more.

While I am happy to see the backside of the Trump presidency… I can’t help thinking of the country in comparison to business experience: “Boss, the good news is more employees completed the work satisfaction survey than ever. The bad news is half of them think we’re in great shape and you’re on the right track, and the other half think things suck and are only getting worse due to your leadership.” Good luck fixing that…

I am building a guitar amplifier

This weekend I started a new project. I am going to do a stealth refit my inexpensive solid state guitar amp with a hand-built Fender 5F1 Champ circuit.

My primary sources of information so far are

The goal is to keep the front of the amp looking stock with input, volume, on/off all working. So if you happen to have a knowledgeable audience they’re gonna be like “What is that!?” when it starts making great tweed tone.

Stay tuned…

Mask Theater

Regarding Fishcher et al “Low-cost measurement of facemask efficacy for filtering expelled droplets during speech

Since shortly after lockdown, I have been using a doubled-over neck gaiter by Buff like these as a face mask. I find it far more comfortable than any ear-loop masks I’ve tried, and subjectively I think it fits more snug than many masks I observe in public.

With this bias in mind, I was disheartened today by an email from my son’s high school stating

The study revealed that knitted masks, bandanas, and neck gaiters (e.g., buffs) do not provide effective protection and are not acceptable mask alternatives. Based on this recommendation, knitted masks, bandanas, and neck gaiters/buffs are not acceptable facial coverings for use at [school].

This jump to mask discrimination at a time when as a society we are struggling with mask compliance in general, and on scant evidence, seems premature. The paper is primarily about a novel inexpensive testing method. There is no description of how each mask is worn, its fit, or pictures as worn. Indeed there is little description of the materials. The Buff pictured is called a “fleece,” clearly a mis-characterization, although understandable since at Duke in Durham, NC, you don’t need to know what an actual fleece is.

I anticipate having to give up my preferred mask type in many situations, for one less effective and comfortable, due to the publicity of this initial paper. Even if I use several layers of the perfect filter material inside my Buff, it will be rejected on appearance alone.

Mask theater, coming to the indoors near you, just like TSA security theater at the airport.

Process COVID tests last in first out?

I wish someone in Formula 1 journalism would fully explain the PR / economic / and political reasons that Ferrari don’t fire Binotto and Vettel right now. Maybe Binotto inherited the engine debacle from his predecessors? But shouldn’t Binotto be responsible for Vettel’s lack of give-a-shit, I mean pace? And Vettel is clearly like ¯_(ツ)_/¯ I just work here.

Why haven’t Ferrari fired Binotto and Vettel? Maybe Binotto deserves a year to get the team back to form. But Vettel is obviously just phoning it in after being given notice. #Formula1

Ergodox Thoughts

After first week of almost full-time use.

Layout
  • Currently configure.ergodox-ez.com/ergodox-e…
  • Need dash more accessible when typing command line options
  • Need underscore more accessible when typing code / filenames / etc.
  • Practice pipe with symbols layer
  • Still not happy with shift modifier arrow editing chords
  • Are dash and equals good enough in current index finger positions?
  • Get better / consistent at using auto shift
  • Is there a way to put Hyper and Meh on the regular keyboard to make more shortcuts available when not using Ergodox?
  • Do something with Alfred clipboard shortcut and up/down arrows to select in it. Note: learn to use the search feature more often.
Placement
  • Mouse between or outside halves?
  • Want a solution for tenting. Buy from Ergodox or build?
  • Return Ergodox wrist rests or keep? Had a neat idea for my own beanbag & wool design…
Switches
  • Wait for drop.com Everglide Jade Green order before I do anything else.
Keycaps
  • Want something more colorful for modifiers and the handful of marked caps that I’m using in the wrong position now. Not urgent.