Nothing beats voting in Washington

Voting in Washington state is the gold standard for how voting should be done. It’s safe, secure, insanely convenient, and encourages informed voting.

voting-ballotsWashington state is a vote-by-mail state so everyone votes by mail in every election. A few weeks before the election you receive a ballot in the mail addressed to you by name. You open it, fill in some bubbles, put it into the provided return envelope, sign the envelope, and drop it in a US Postal Service mailbox — no stamp required. Unlike some states, which must receive your ballot by election day, in Washington your ballot must be postmarked by election day.

Or you can put it in one of dozens of official ballot drop boxes across the state. King County alone has over 70 drop boxes and 94% of King County’s 2 million people live within 3 miles of a drop box. Ballot drop boxes are open from when ballots are mailed until 8p on election day.

Once the elections office receives your ballot, your signature on the envelope is matched with your voter registration. If it doesn’t match, the elections department will reach out to you and confirm it’s from you. If it does match, your voting record is updated to indicate that you voted — allowing you to confirm online that they received your ballot. The envelope is then separated from your ballot. This way who you voted for is still confidential and not tied to you. The ballot is then tabulated and retained as a paper trail if ballots need to be recounted.

It’s literally that simple. You get something in the mail, you fill it out, and you send it in. You can vote from the comfort over your own home with a beverage of your choice in hand.

You don’t have to:

  • take off work
  • find your polling place
  • stand in line
  • remember which propositions you were against
  • remember which candidates with similar names you wanted to support
  • navigate confusing electronic voting interfaces
  • worry the voting machine marked your ballot incorrectly
  • worry about someone hacking the electronic voting machine
  • request an absentee ballot
  • be around people in a pandemic

But it gets better. Yes, really.

voting-pamphletsIn Washington state about a month before the election every household receives two voter’s pamphlets. One from the state and one from the county. The state pamphlet contains information about state-wide elections, including bios on every candidate running for office (submitted by the candidates) and information about every measure on the ballot. The county pamphlet contains similar information for the county and city measures, again with bios on every candidate running for office and information about every measure on the ballot.

Picture it: it’s a lazy Sunday morning and you sit down at the kitchen table with a muffin, a cup of coffee, your ballot, a pen, and the voter’s pamphlets. You read over the ballot measures and candidates, mock Goodspaceguy, do some googling on candidates, laugh along with The Stranger’s voting guide, maybe even look up some endorsements. Fill in a few bubbles on your ballot, put it in an envelope, seal it, sign the back, mosey over to your local US mailbox or county ballot box, and drop it in. Congratulations, you have successfully participated in democracy in your pajamas.

This. This is the pinnacle of voting.

If you don’t have this already, demand it from your state government. There is no reason for your state not to adopt the same thing as Washington, Oregon, California, Colorado, Utah, and Hawaii — besides voter suppression, disenfranchisement, and cronyism.

Demand it from your state representatives.
Demand it from your state senators.
Demand it for democracy.

Peanut Butter & Oat Protein Bars

During the workday I always end up needing a snack around 3p. Before the pandemic that would often be a Kind Bar or Larabar. Since I’ve been working from home during the pandemic I’ve been iterating over making my own no-bake protein bars and here’s the recipe I’ve settled into.

Several of the recipes I found online included a large amount of sugar — one recipe called for a cup of maple syrup! — so I’ve tried to reduce the overall sugar in these.

Peanut Butter & Oat Protein Bars

  • 2.5c cut rolled oats
  • 0.5c yellow pea protein powder
  • 1c creamy peanut butter
  • 0.5c almond milk
  • 0.25c agave

Mix dry ingredients together in a mixing bowl. In a sauce pan, add remaining ingredients. Warm and stir until fully incorporated and add into bowl with dry ingredients.

Using your hands mix everything together, pour into a 8×8 pyrex dish, and pack the mixture down well. Place in refrigerator for 15 to 30 minutes, then cut into 12 bars.

Store these in the fridge until you’re hungry in the afternoons!

Estimated nutrition value per bar

  • 254 calories
  • 22.7g carbs
  • 12.5g fat
  • 12g protein

Plex and Sonos

With the death of Google Play Music I needed another way of managing my music library and playing it through our Sonos system. We opted to go with Plex and in general it has been a good experience.

Plex

We have a Mac Mini hooked up to our TV for those times we want to watch something on YouTube or some other service that our not-very-smart TV doesn’t support. This was clearly the logical choice for the Plex server as it is always on and has worked really well.

I keep a copy of my music on my main laptop. Despite not using Music (formerly iTunes) to play music, I use it to manage my music on the filesystem. When I purchase music (now from Bandcamp or Amazon if I can’t find it there), I import it into Music and then run an rsync script to refresh the copy on the Mac Mini. Plex automatically picks up the changes and my music is ready for playing.

After some work I was able to import my playlists from Google Play Music (GPM) into Plex as well. See my GPM playlist reconstructor and Plex playlist importer gists for some python code to help get you going in the right direction.

Now I can access music, including all of my playlists, from my phone and any web browser.

Sonos

Being able to play my music through our Sonos system is one of my primary use cases and one of the reasons why YouTube Music is such a poor substitute for Google Play Music. Plex integrates nicely with Sonos without requiring a Plex Pass.

When I first got Plex and Sonos connected two months ago everything worked perfectly. Then a few weeks ago Sonos stopped reliably finding my music which was incredibly frustrating. When the Sonos couldn’t see the Plex library I was still able to access the library from the Plex mobile app and the web interface. Indeed, everything except Sonos seemed happy to talk to the library.

We did all of the usual things like rebooting the devices. I followed the Plex and Sonos troubleshooting docs both from Plex and from Sonos. I even tried upgrading the Sonos system from S1 to S2 to no avail.

Eventually I found this Plex on Sonos forum post which goes into a lot of details about the nuances of how the two devices connect. We had a 9-year-old Netgear WNDR4500 wireless router that in theory supported UPnP but it didn’t seem to be working to allow Sonos to reliably access the Plex library. I set up a manual port forward which seemed to make things slightly more reliable but didn’t fix the problem.

Eventually out of frustration I bought a brand new TP-Link AX1800 wireless router to replace the Netgear and suddenly everything just started working and has been rock-solid for a week now. No special configuration & no fuss.

So if you’re having trouble getting your Sonos to talk to your Plex library and are using an old wireless router, consider upgrading it.

Accessibility of Unicode as styled text

Facebook, Twitter, Instagram, and other internet sites often lack the ability to style text, like making it bold or italics. Some “clever” people have discovered ways of abusing Unicode to make the appearance of styled text with these sites. Unfortunately doing so renders the text completely inaccessible by users of assistive technology.

You might have run across an Instagram profile, Facebook post, or tweet that includes styled text and wondered how the person did that. They probably used a site like YayText [which I’m loath to reference at the risk of encouraging its use]. These sites take a string of text as input and present the user with what visually is the same text but styled in a variety of ways. How does this work? To explain that, we need a brief primer on Unicode.

Unicode is a technology standard that allows computers to encode and represent hundreds of thousands of characters, letters, and symbols used in over 100 world languages. It allows computers to differentiate between the English letter K (U+004B) and the Greek letter ฮš (kappa, U+039A) because while they are visually similar — at least in many fonts — they are two very different letters and mean two very different things.

But Unicode supports more than just languages, it also supports mathematical symbols including a whole slew of alphanumeric ones. These mathematical symbols are intended to be used for math texts and are semantically different than their Latin counterparts. Said another way: just because the ๐ด looks like an italic A doesn’t mean it is one.

Why is this important? Is this just a language nerd getting uppity about incorrect use of Unicode? It matters because beyond being semantically incorrect, using Unicode in this way renders the text completely unintelligible to assistive technology like screen readers.

When a screen reader encounters ๐ด (U+1D434), it will read it as “mathematical italic capital a” because that’s what it is. It isn’t the English letter A (U+0041) that is italic. Which means that the string “apples ๐ด๐‘๐ท bananas” will be read to the user as:

apples mathematical italic capital a mathematical italic capital n mathematical italic capital d bananas

The video in this tweet by @kentcdodds does an excellent job of demonstrating just how horrible this is for people with screen readers.

While I can certainly sympathize with the desire to add style and emphasis to help convey emotion in written form, let’s not do so at the exclusion of others.

Thank you to this StackExchange question & answer for confirming my suspicions and providing the video link when I was investigating this back in July.

YouTube Music is a poor replacement for Google Play Music

Google is replacing Google Play Music (GPM) with YouTube Music (YTM) starting this month and shutting down GPM entirely in December 2020. Google is touting YTM as a great replacement for GPM but are conveniently not revealing that YTM does not have feature parity without a YouTube Music Premium subscription.

With GPM I can listen to my music in the background on my Pixel. But with YTM you need a monthly subscription to do that.

With GPM I can listen to my music on my Sonos. But with YTM you need a monthly subscription to do that. Ars Technica reports that Google Home users will need a YTM subscription too, just in case you forked out money for Google-branded smart speakers.

And it doesn’t matter if this is music that you’ve uploaded or that you’ve purchased from Google. That’s the real kicker for me. I’ve been buying music from Google since 2013 — 669 songs to date, some of them via albums and some of them as individual songs. It’s hard to know exactly how much money I’ve paid to Google for music over the past 7 years, but at $1/song that would be just under ~$100/year. 

I don’t subscribe to music; I still purchase music. More over I’m not going to pay $12/month for YouTube Music Premium to be able to access the music I’ve already purchased. If I wanted a subscription service I would pay $10/month to Spotify. I realize that I am no longer Google’s target audience.

Instead I’ve downloaded my purchased music from Google and am trying out a Plex server. I can listen to music on my phone and Sonos without a subscription of any kind. So far it’s working out well.

Now I just need to figure out who to purchase music from that isn’t Amazon or Apple.

“Beefy” seitan

As a vegetarian household we use a lot of different sources for protein, like beans, tofu, and seitan. Many of you might be familiar with seitan through Field Roast products. Indeed, their Italian and Apple Sage sausages are some of our household staples.

Over the past few years we’ve been making our own after discovering two great recipes in Isa Chandra Moskowitz’s Isa Does It cookbook. We’ve played with the recipes a bit and crafted something of mashup between her Simmered Seitan (p240) and her Steamed Chicky Seitan (p241). This “beefy” seitan slices up great and browns nicely for saucy recipes like “beef” and broccoli and numerous other stir-frys. These also freeze very well.

“Beefy” Seitan

  • 1c veggie broth
  • 2T tomato paste
  • 1/4c soy sauce (yes, you read that correctly)
  • 1/2c water
  • 2c vital wheat gluten
  • 5T nutritional yeast
  • 2t onion powder
  • 1t garlic powder

Prepare a steamer and bring the water to a boil. Tear off 4 squares of aluminum foil.

Mix together all wet ingredients. Add in the dry ingredients and mix well. While you can start off with a fork be prepared to get your hands dirty to knead it all up towards the end.

Divide the mass into 4 equal patties (ours end up resembling very thick hamburger patties) and loosely wrap each in a piece of foil.

Steam for 40 minutes.

You can use them immediately or store them in a ziplock in the fridge (for about a week) or in the freezer (for several months).

Searching for evidence of beauty you cannot see

[I]n this pandemic haunted world in which we now live, some of yโ€™all are in dark places too, some of you for the first time. And while I donโ€™t know what it is like to be you, I do want to let you know that it is important to realize that your reality is not the only reality, and the world is still a beautiful place and worth fighting for, and that sometimes the best you can do is to search for the evidence of the beauty you cannot see, and then rest in it until the darkness passes.

Hugh Hollowell, Life is So Beautiful #54

Accepting the new normal

I think I’ve moved into the final stage of grief: acceptance.

For 8 weeks I’ve been grieving, among many things, that my old life is over. Going to the gym at 5:30a every morning. Running with good friends on Sundays and laughing with them as we share lunch together. Going to shows at ACT and listening to the Seattle Symphony. Eating out at amazing restaurants. Hugging friends so dear to you that they’re family. Board game nights and shared dinners with loved ones.

That life is over for the foreseeable future for very valid reasons.

This is the new normal.

Now I’m focused on switching from “surviving until this is over” to “living in the mid- and post-pandemic world”. It’s hard and sad. It’s also necessary for me to drag myself out of “I’m alive out of obligation” back into “living again”.

Accessing Ubuntu desktop UI over SSH+VNC

During this pandemic I’m working from home on my Mac laptop and accessing things on my Ubuntu 18.04-based Linux desktop in the office. For most things this is fine via SSH or sshfs, but there are times you just need access to the desktop UI to get things done.

Specifically I had a 500 MB OVA that I needed to upload to an ESXi system — both of which are in the office. I could have downloaded the OVA to my laptop over the VPN, then uploaded it back over the VPN to ESXi but that is both slow, tedious, and wasteful. Instead after a bit of googling I figured out how to get a VNC client on my Mac securely accessing my work Xwindows display and do it all local to the office:

On your desktop, install x11vnc:

sudo apt install x11vnc

On your home computer, open an SSH tunnel and start the viewer on your remote system (below as $HOSTNAME):

ssh -t -L 5900:localhost:5900 $HOSTNAME 'x11vnc -localhost -display :0'

Then start a VNC viewer on your home computer (on MacOS I recommend RealVNC) and connect to localhost:5900

Security advisory: when accessing your desktop like this your computer is unlocked and accessible by keyboard and mouse to users who wander by your desk. Granted, in a pandemic when everyone is working from home is this really a problem? Lock your computer when you’re done as if you were walking away from your desk and you’ll be fine.