Getting your money’s worth

Or, make sure you back up your 2FA codes…

I’ve been using the same iPhone 7 Plus for over three years now. In fact, I just finished paying my carrier the last installment plan for it a few months ago. Since my wife and I are focused on becoming financially independent, having the $40-50 a month back has given me some satisfaction, and I had no desire to upgrade to a new device. In fact, part of my mindfulness practice has been to spend less time on the phone, so I’ve taken a few steps to make the phone less appealing to use. In addition to keeping it in do not disturb mode most of the time, I’ve also turned the screen to greyscale via the Accessibility Options -> Color Filters. There’s also a Accessibility Shortcut that I can activate with a triple-click of the home button to turn this off, but most of the time when I see my icons in full color the vividness is almost unbearable.

Now I’ve had no shortage of accidents with my phone over the years. I dropped it while canvassing back in 2017, and rather than break the screen, it did something with the LCD substrate that caused black lines to creep in from the edges. They went away after a while before coming back, and I dealt with it for several months before they became so large that I couldn’t read things like the battery meter or other elements that I couldn’t scroll to a better part of the screen. So I reluctantly brought the phone to the local cell phone repair store and had it fixed for a hundred bucks. What took me so long, I said to myself, looking at my fully-readable screen.

The next time I broke it I decided to try my own repair. I ordered a kit for forty bucks off of Amazon, and pleased myself by repairing the phone myself in less than an hour. The repair didn’t last much longer than that, as I again dropped the phone and broke the screen again. The next DIY repair wasn’t so lucky.

The encryption for the Touch ID on iPhones are controlled by a small integrated circuit soldered onto the home button’s ribbon cable. This chip is paired to the iPhone’s motherboard and contains hardware keys that are part of the encoded fingerprint data. In the past, Apple maintained tight control over the repairing of the device with a new TouchID button, and it was not something that could be done outside of an Apple store. In fact, a whole market around repairing TouchID flex cables appears to have sprung up in Asia, as there are several how-to repair guides on these cables that involves sophisticated soldering techniques.

This was obviously beyond my ability and resources. My other option was to have Apple replace my screen for $160 or so. It seems that Apple just swaps the screen with the home button attached, to mitigate the risk of damaging the flex button during removal as I had done. That was still a bit much for me, and I relied on the on-screen Assistive Touch button for several more weeks. The most major downside for losing TouchID was that LastPass forced me to type in my full password, but it wasn’t the end of the world.

And then the final straw. The microphone died. I’m still not sure what happened, but at some point I discovered that I couldn’t complete calls. I couldn’t hear anyone, and they couldn’t hear me. But it was strange. Certain videos on Twitter would play, but not others. I couldn’t record sound in the memo app or in videos. I could complete calls via my car’s bluetooth or my iPad, but not using my bluetooth headset. And at first this was fine; I have a VOIP phone for work that I can use for important calls, and everything else went to voicemail. It was actually kinda relaxing for a while. At some point last week I decided enough was enough. I did an iTunes backup, wiped my phone to factory, and checked again. Still broken. I restored the backup to make sure I still had access to my 2FA accounts, and made plans to go to the Apple store for an assessment.

The short story is that the Apple tech couldn’t run the diagnostics. The Lightning dock diagnostic device that they use returned CATASTROPHIC FAILURE and the tech just shook their head. Since I was adamant about another $500-800 phone purchase, I went to file an insurance claim with my carrier, agreed to a $120 for a replacement device, and had a new phone via FedEx the next day. I ran a backup on my old phone, loaded the new one, swapped the SIM card and laughed to myself. What took me so long, I asked myself again.

I wiped the old phone, threw it in the box, slapped on the return shipping label and stuck it in the mail. Then today I went to open Google Authenticator and stared in shock at a blank screen. What followed was an hour of mild shock as I cataloged and prioritized what I had lost. Work accounts were the least of my worries, of course. I have crypto accounts. Thankfully Coinbase and Gemini were in Authy, which seems to use a cloud based storage protected by a key that gets backed up by iTunes. After some mild panic-Googling, I was able to recover one of my Google Auth account keys for another exchange from a note in my password manager, and started a two-week cool-off period on another. I provided some personal details in a ticket to a portfolio tracking site, and they had the account unlocked in less than 15 minutes.

Everything that I reactivated went into Authy. I’ve still got a few vendors that I’m going to have to contact to regain access, but nothing critical that is causing me any stress. I’ve learned a valuable lesson about 2FA.

And next time my screen breaks or my phone gets damaged, I’m not going to wait months for repairs. I’m just going to file the damn insurance and be done with it.

“If you think you’re enlightened, spend some time with your family”

Last night, I spent a couple hours working on a team project, trying to get our development environment setup for our team. I was using a Django Docker container that I had generated using Cookiecutter-Django, but I had forgotten to select the setting that checks in the local .env files. I had already deleted my local copy of the repo to test cloning it, so I had to start from scratch.

I wanted to have an answer file in case I needed to regen the project with Celery support or whatever, so that meant learning about Cookiecutter’s replay capabilities. After figuring that out I determined that the Git repo wasn’t setup properly, so I moved the old one on our uni’s GitLab and ran the whole procedure from one more time, pushing and recloning the entire repo down and deleting my Docker images and building the whole thing again to make sure my teammates wouldn’t have any problems running it themselves.

I popped into our team Discord channel to let everyone know, and found myself in a discussion about dropping Django and pivoting to Android Studio.

I was furious.

Not like annoyed, but actual rage. I felt my blood pressure go up and I had to try very hard to maintain my composure while I responded.

I’ve never been what I would describe as an angry person, in fact most of adult life I’ve been pretty good about not getting mad at people. Computers on the other hand… I’ve been able to deal with things pretty well, I’ve never been one of those guys who loses their cool, gets in fights or screams at people. The last few months though, I’ve been a bit more willing to allow myself to get mad, and I’m not sure whether or not it’s a good thing or not.

When I was younger, I did a great deal of holding things in. I had a lot of unrequited crushes; mostly they were unrequited cause I never let the other person know. But outside of issues around my sexuality, I don’t think things were ever a problem. Now I don’t know if my meditation practice has anything to do with it, or whether part of it is being a father and having young children, but I am definitely way more willing to let people know when I’m mad or upset. I’m sure part of it has to do with how I was raised and disciplined. I’ve probably internalized a lot of abuse — for lack of a better term — and have been struggling with how I deal with that and how I discipline my children.

While I was responding to the team, I made sure to voice my frustration without resorting to any personal attacks. I spent about ten or fifteen minutes trying to respond to a few points and finishing what I had came there to do, to let them know that I had redone the development repo. I said straight up that I was too mad at the suggestion that we drop our entire software architecture plan six weeks out from the end of the semester. I tried not to be snippy and sign off with some useful information, so I told them to let me know what they decide tomorrow.

I haven’t really been able to stop fuming about it since I signed off though. I woke up after an hour of going to bed and tried to read for a bit to go back to sleep, and still woke up an hour before my normal time. My sleep patterns have been a bit fucked and my wife is out of town, but it’s still an unusual pattern for me.

I don’t want to get into any more of the details of this, but want to close with a quote from the Dali Lama that comes to mind: “worrying is prayer in reverse”. Meditating on this incident and writing about it has already reduced some of the anxiety or stress that I was feeling. To circle back around to earlier about being more willing to experience the anger and allow myself to get mad, I want to close and note that it’s important that the anger doesn’t get bottled up inside, and flows out before it can do real harm.

I’m going to post this and move on with my day. Peace.