Vision therapy the second

Introduction

The vision therapy adventure continues. My second round of appointments brought some new exercises for voluntary vergence control and some updated vision status measurements. I also suggested some VR applications to the vision therapist. Four more weeks of home exercises until the first follow-up with the doctor to check progress.

Read more

Starting vision therapy

Update:

Introduction

I have refractive amblyopia which is a condition where the brain tends to suppress sensory input from one eye due to poor vision in that eye (ambloypia). The refractive part is the cause, which is substantially worse vision in my right eye. Even though, with glasses, vision can be optically corrected for my right eye I am (neurologically) unable to see well with it, as the brain filters its input to protect overall vision.

My amblyopia leads to a number of vision issues: ocular cross-dominance (left-eye dominant with right-side dominance), depth perception inconsistency (though I have no issues with autostereograms), difficulty with object tracking, right-eye vision suppression, eye control issues, occasional double vision, and infrequent motor control challenges.

Historically, the professional consensus was that much past six years old, it wasn't possible to correct amblyopia due to decreased brain elasticity. After mostly unsuccessful attempts at patching starting around six, and with a few other false starts up to around eleven, I forget about the issue for many years. However, in 2018 I went to a new optometrist who suggested I might benefit from vision therapy.

I started vision therapy in January 2021. My goal is to document my experience with vision therapy and its impacts on my amblyopia in a series of blog posts over the course of the year. This first post covers my history with amblyopia, some of my subjective experiences with the condition, and my introduction to vision therapy.

Read more

Cover your hardcover books

Update:

Tags

Introduction

The modern dust jacket came into common use by the second half of the 19th century. Early dust jackets were intended primarily to protect the bindings of hardcover books, which were the decorative center-pieces of the books of the time, and were usually disposed of before sale. As economics of book publishing shifted in the first part of the 20th century, book publishers moved the aesthetic highlights from the binding to the dust jacket.

Modern hardcovers typically have paper bindings (perhaps with quarter cloth on the spine) that offer little decorative interest beyond simple lettering of the title, author, and publisher on the spine. The dust jackets are what give hardcovers visual interest on a shelf.

Unfortunately, paper dust jackets are fragile. Dust jackets left on the book while reading are easy to tear, dent, or otherwise damage unless you're careful in handling them. Some readers remove them and the jackets often either get lost, disposed of, or damaged by creases while pressed between books in a stack.

The solution to this is cover your dust jackets with a polyester cover, which prevents both mechanical (rips and tears) and UV (fading and discoloration) damage to the cover.

Read more

Migrating a call-off process to Twilio Functions

Update:

Introduction

As I discussed in my article on my reporting automation workflow, I don't get a lot of IT resources to lean on, so I've relied a lot on local code execution to accomplish process automation.

My best (worst) example is the process for the associate call-off voicemail. We have a voicemail that associates are required to call when they miss, or will miss, any part of a scheduled shift. Call the number, leave a voicemail with your information: chat notifications go out and the voicemail gets logged. My automation flow for this depends on no fewer than four independent points of failure and brittle steps that need to be babysat.

This year I decided to re-implement the whole thing on a cloud communications platform to improve error handling, operate consistently with no or minimal manual intervention, and be easily handed off to another person or team. I ended up going with Twilio due to their in-platform serverless function support (Twilio Functions). This post covers my learning process in assembling the new flow and walks through the final result.

Note: This is firmly in the Learning In Public category, so don't depend on any of the following to represent correctness or best practices. Feedback welcome, though.

Read more

Reporting automation workflow

Update:

Introduction

I work for a retail company and one of the consequences of this is IT not being a core competency of the organization. This is driven by a variety of factors—from internal customer demand to the sort of talent the organization attracts to where budget money gets allocated—but the net impact is an IT infrastructure and tooling that can be extremely limiting. This is in stark contrast with my peers, many of whom work in tech directly or in closely related fields, for whom provisioning a new VM is as simple as clicking a few buttons on an internal tool.

As an analyst, my work involves a lot of data wrangling. Most of this can and should be automated, but our IT limitations can make this a challenge. Figuring out how to automate with the available tools, which usually don't offer APIs—and if they have reporting at all it's to PDF or RTF documents formatted for printing and faxing (and can't be scheduled), has been a challenge.

These limitations have offered opportunities to get creative. This post outlines some of the convoluted processes I use to automate reporting with constraints on data retrieval, data processing, and report distribution.

Read more

Thoughts on Animal Crossing: New Horizons

Update:

Animal Crossing: New Horizons
Title screen of Animal Crossing: New Horizons 1.5.1

I came of age at the ideal time to enjoy the first Animal Crossing game on GameCube, so it holds a place of nostalgia in my heart—paying off Tom Nook, hunting for rare fish, basement gyroid-dungeon, lectures from Mr. Resetti, collecting all of the K.K. Slider songs, and playing Balloon Fight and Excitebike—my sister and I both played the game excessively.

I finally decided to pick up a Nintendo Switch (ironically, the Animal Crossing special edition—though mostly because it was in stock at the time) at the end of the summer and Animal Crossing: New Horizons was one of the first two games I purchased with it.

So how does the fifth entrant in the main series hold up nineteen years after the first release and how does it hit now that I'm nineteen years older?

Read more

Petrov Day 2020 and the pandemic

Update:

This year has been tough for in-person gatherings. Petrov Day, an event commemorating the anniversary of the Petrov incident on September 26th, 1983, which is typically an in-person event, is at risk from the pandemic. The LessWrong community is planning a virtual Petrov Day ceremony, but as I consider ritual and in-person gatherings important to community building, I wanted to work with our local group in Austin to create a COVID-19-compatible version of the ceremony.

Petrov Day candelabrum

Highlights:

  1. Forgo the customary potluck.
  2. The ceremony will be held outdoors (typically it's held indoors around a kitchen table or similar).
  3. Everyone will wear masks.
  4. Everyone will maintain physical distance.
  5. Minimize handling of ceremony equipment by multiple people.
  6. Designate a "Keep of the Flame" to perform most of the candle actions.

The forked repository with the changes and new versions of the handbook and organizer's guide is available on GitHub. The updated materials were announced to on LessWrong, but have, so far, not garnered much attention.

Big thanks to the folks in the Austin LessWrong who helped work on these updates.

Read more

YubiKey OTP, Dvorak input, Karabiner Elements, and Goku

Update:

Introduction

YubiKey 5 NFC
YubiKey 5 NFC on keychain

I use a YubiKey for 2FA. I also use the Dvorak keyboard layout on my desktop machines. The YubiKey OTP emulates a USB keyboard to input the OTP, which means its beholden to the system input layout. This means when you set up the key with Dvorak and try to use the YubiKey on a device whose input is set to QWERTY then the key won't work. This is an acute problem using it with NFC on a smartphone.

For macOS, which is my primary OS, there two good guides out there on remapping the relevant keys for the YubiKey device with Karabiner Elements:

Since I use GokuRakuJoudo to compile an EDN format Karabiner config for easier editing, I needed to rewrite the configuration for the right format.

Read more

Adventures in interior lighting

Update:

Introduction

Light is underappreciated as a way to improve the quality of an indoor environment. The technology has only gotten to the point relatively recently where the energy cost and technology make it feasible to implement adaptive lighting setups with the output to sufficiently light an interior space.

I'm in front of the computer a lot and spend too much time indoors, so indoor light quality has a disproportionate impact on my mood. Good incentive to understand how it impacts mood, energy levels, and sleep quality.

Based on my experience, the areas of opportunity are in matching color temperature to time of day, improving the Color Rendering Index, increasing lumen output during the day, and automation.

Read more

Contact Center headset recommendations

Update:

Introduction

A recent technology change at work resulted in switching our contact center agents from phones to WebRTC. This was a good opportunity to upgrade headsets, as many of the analog headsets they're using are difficult to adapt consistently reliably and motherboards on mid-range business machines often have fairly terrible analog audio inputs. I tested a range of USB headsets for suitability for use by work-at-home contact center agents during an 8-hour shift.

Note: When I initially wrote up this article, it was at the beginning of March before the COVID-19 situation had really hit. Availability of anything related to remote work is extremely limited at this time, so the prices outlined below are no longer inline with reality. Availability has improved a bit compared to in March and April.

Read more

Model F keyboard review

Update:

Introduction

Model F77 on keyboard tray
Model F77 on the keyboard tray of my desk

The Model F keyboard by Model F Labs is a new reproduction of some models of IBM's classic Model F range that aims to be as good as or better than the originals.

I have a bit of a fixation on buckling spring keyboards, having several modern Unicomp models, and the Model F is the best of the buckling spring boards. When the project first came to my attention in 2016, I was extremely excited and I pre-ordered a keyboard in 2017.

I am reviewing an F77 (ID # 739) that I received in June 2020. My impression after a couple weeks of use is extremely positive. The keyboard is both a high-quality reproduction and an excellent keyboard in general.

Read more

Products I recommend

Update:

Introduction

Lists of things people recommend have been floating around on blogs lately. The idea resonated with me—though not many of the recommendations—as I have a lot of Opinions about Stuff. This list is a loosely organized collection of products I like.

Most of these recommendations are targeted at the category of product rather than a specific manufacturer, but if I feel strongly about a particular manufacturer I will note it.

The post will be updated as I encounter new worthwhile stuff.

Read more

Traveling with extreme food intolerances

Update:

Introduction

I am an extreme outlier on food intolerances, so relying on food service while traveling is not an option for me. This makes travel a challenge as I need to either bring enough food to cover the entire trip or have access to tools to make food while I'm traveling. The strategies in this post reflect these constraints, which will only apply to an extremely small minority of people.

I've been traveling a lot over the past couple years, and it's offered an opportunity to improve how I approach this problem. I talked about some of the strategies I used to cope during my family trip to Disney in 2015, but I've learned a few new things since then.

Read more

DIY macro flash bracket

Update:

Introduction

Macro photography (I dabble) requires a lot of available light or good artificial lighting. Small apertures for wide depth-of-field and close focusing distances limit the amount of light that gets to the sensor. Normal speedlites can work fine to augment or replace ambient light, but when you're shooting freehand it's difficult to handle a flash and the camera.

Camera brackets

A flash like the Canon MT-24EX is a good solution for keeping all of the parts on the camera, but at close to $1,000, it's difficult to justify on top of your existing flashes. Wimberley's F-2 macro flash bracket is an excellent compromise. With it, you can mount one or two regular speedlites to a tripod colar and position them using the balljoint arms. Problem is, they run $169 per arm.

The Wimberley components are of very high quality, so the price is justified, but since they use slightly-customized RAM Mounts equipment for most of the flash arm, it's simple to construct a DIY solution slightly more cheaply.

Other people have documented this approach, but based on my difficulty finding the correct parts from their instructions, I'm not sure how many of them have actually assembled the bracket.

Read more