Book Review: Coding Games with Scratch

This book caught my eye because, as a youth, I enjoyed learning LOGO (specifically, SmartLOGO) and Scratch is a modern equivalent of that fundamental gateway drug.

gordon meyer holding book

Scratch seems like an ideal way to introduce OO concepts, and the built-in sprites make it much easier to make a functional game without getting bogged down with pixels. The Scratch runtime is freely distributed; sort of. You must deploy your creation on their website, which automatically makes it eligible for modification (AKA “remixing”) by others. (A sly indoctrination into open source culture.)

Like all DK publications, the book is visually engaging and well-designed. The copy I read was an older edition, but I see that it is regularly updated to keep up with Scratch releases.

I borrowed the book from my favorite neighborhood Little Free Library, but you can get yours at the Amazon.


A system for aging in place

Since 2007, I’ve written several times about using home automation technology to support aging in place. And over the years I’ve heard from many folks about the peace of mind such techniques can bring to families with seniors who remain in their homes.

I’m really pleased to see that Amazon has introduced an easy and comprehensive service for this. It’s called “Alexa Together,” and for a small monthly fee, it brings together various useful techniques.

Although I’m definitely not a fan of the Alexa service overall, I like that Amazon only requires one Alexa device (placed at the senior’s home), and that the compelling nature of Alexa will help ensure it will work in this capacity. The service also seems to have some nice privacy and security features (if you’re willing to live with Alexa’s other serious flaws in this regard).

Although I haven’t tried it myself — I no longer have a use case for it — I like everything about it and encourage you to consider it when approaching the challenging and sensitive nature of this growing need.



Charging a Ring Stick-up Cam camera

I was faced with an annoying situation that was inconvenient to solve. The problem was an outdoor Ring Stick-Up Cam, which was permanently mounted to a wall, needed to be recharged.

The solar panel that was supposed to keep it charged was poorly positioned and didn’t receive enough daily sunlight to keep the battery topped off. The camera itself, perhaps because it is a first generation model, doesn’t have a “quick release” mount to take it down from the wall. Furthermore, being mounted 10 feet above the ground over some precarious landscaping, makes it tricky to reach the screws that hold it to the wall.

All of this is not a one-time challenge. The camera will need to be recharged regularly unless that solar panel is moved.

My solution? A cellphone battery booster pack. I opted for an Anker Power Bank, which at 20 watts is more powerful than the Ring requires (2 watts) but I thought it might charge the camera more quickly (I was wrong) and be useful in other situations (we’ll see). The Anker unit has a trickle charge option for low-powered devices (which would seem to include the Ring), but I did not use it.

The connection from the Power Bank to the camera is via an extra long cord from IKEA. A great source for low-cost and high-quality cables, as I’ve noted previously. The photo shows the Power Bank resting on a wall box, with the charging cord running up to the Ring Stick-Up camera. The Power Bank is plugged into the camera where the solar panel is normally connected.

photo of camera and power bank

The “device health” display in the Ring app is decidedly not real-time. It displayed 13% battery power when I began charging, and stayed that way for five or six hours, until jumping straight to 100% after letting it charge overnight.

The Ring website wasn’t especially helpful in solving this dilemma. Mostly because they make it very difficult to find support documents for older models. There is no way to filter the results to show only information that is relevant to the product you own.


How to lose a customer, the Amazon eero 6e way

Oh, eero, you disappoint me. I’ve been a customer since before you were assimilated into the Amazon. I even upgraded my original system to your “6 Pro” models. And, I’m an eero Secure subscriber, despite the hassles it causes with overly aggressive site blocking and nonsensical “new client” alerts.

When you recently enticed me to upgrade to an eero Pro 6e system, I took the bait and spent $600 (with discount and trade-in) for your latest models. Boy, do I regret it.

The new Pro 6e stations refuse to recognize each other, and they complain about being placed in the same locations as the stations that I’m replacing, I dutifully tried moving them closer to each other. Then, when that failed, even closer. I tried starting fresh instead of using your “replace an eero” option. Nope. Nope. Nope. These pretty white half-cubes are steaming piles of shit.

Fortunately, I was able to reinstall my “old” 6 Pro stations, which immediately worked perfectly in the same locations where the new ones failed. I wasted nearly three hours of my life trying to accomplish something that should take ten minutes. Something that did take ten minutes the last time I upgraded.

I’ve returned the new system, cancelled my eero Secure renewal, and I will eventually find some 6e stations by one of your competitors. Thanks for the memories, but don’t let the door hit you in the ass on your way out.



Resolving the HomeKit can’t find accessory error

I’m adding a new camera system to my automated home. I chose the EufyCam 2C Pro system, partially because it’s made by Anker, but mostly because it supports HomeKit Secure Video.

However, it was a major headache getting the system configured to use HomeKit. The issue is that the process of adding the HomeBase2 as a HomeKit accessory would fail. I tried doing it in HomeKit directly, and I tried doing it through the Eufy Security app. Adding the HomeBase2 would always fail.

Making it even more frustrating, each attempt took several minutes, and seemed to work until the final step. HomeKit found the HomeBase, it asked for its location and camera names, and so on. It wasn’t until the final step when it would eventually timeout with a frustrating “Accessory not found” error. Well, FU HomeKit, you found it just fine five minutes ago when I started this process!

How did I finally resolve it? By (inconveniently) connecting the HomeBase directly to the router. (I previously had it, like everything else in my home, connected to a switch. A professional-grade switch, I might add, not some cheap Amazon Basics crap.) Once I moved the connection, adding the accessory was fast and smooth. Apparently, the HomeBase (or maybe HomeKit) doesn’t like being behind a switch. Word to the wise.


How to lose a customer the CenturyLink way

If a company can’t provide at least minimally competent customer service before delivering the product, take that as a sign that you should bail on the deal. I did.

Here are the highlights of how CenturyLink makes it hard to be their customer:

  1. Require a long lead-time to install residential fiber Internet service. Your competitor, Cox, says they offer next day installation. But screw that, make people wait nearly a week.
  2. During that week of waiting, pester the customer with multiple email and text messages, insisting they need to come to a website for the latest installation updates.
  3. When the customer comes to the website, give them a garbled summary, so they won’t know what time to expect the installer.
  4. centurlink buggy scheduling
  5. On the day of install, have your tech entirely ignore the instructions they were given by the community’s security guard so that the tech will be unable to access the customer’s neighborhood.
  6. Have the tech call the customer, seemingly to obtain the instructions already given, but when the call drops before either party can utter a word, turn around and leave the area. IMPORTANT: When the customer calls you back, don’t answer. And never, ever respond to the voice mail left by the customer.
  7. Mark the installation order as ‘location unavailable,’ and reschedule it for more than 40 days in the future. But do not tell the customer you’ve done so. Let them call dispatch and ask WTF is going on.

Another reason why Dropbox sucks

There are many reasons why Dropbox sucks. (Go ahead, Google it, the results are shameful) But here is the latest from me. About 98% of the time when I boot my computer, this error message appears. Dismissing the error and restarting Dropbox makes it go away, and the status that the app reports is that everything is just fine.

Screen Shot 2022 04 17 at 9 07 11 AM

Here's what's wrong with the error message:
- It does not tell you how to contact support, only that you should.
- The Help button it refers to does not exist.
- The text implies that the user did something wrong.
- The text implies a specific problem that is vague and not actionable. (And incorrect, based on the error log it references)
- The file it references is a Python crash log. (Completely unhelpful to anyone but Dropbox programmers.)

I tweeted Dropbox Support about this error, and they said to reply with a DM and attach the error log. Twitter does not allow text attachments, and the error log exceeds the maximum tweet length. It also exposes information that I consider to be private.

Remind me again why I'm paying for a premium Dropbox account?


The secret to manually updating Volvo XC-60 nav maps

If the Sensus in your Volvo displays a message about updates being available, but then refuses to list any app updates, it’s probably referring to a map update. Don’t bother contacting Volvo OnCall about not seeing any updates, they will just refer you to your dealer. Then, as happened to me, your dealer will tell you that you need a map update. You can have your dealer install it (for a fee), or you can do it yourself. Kudos to Howard Orloff Volvo for pointing this out to me.

Having previously owned a Nissan Murano, I was pleased to learn that Volvo provides free map updates via their website, but not pleased to discover that Volvo’s instructions for installing the updates are poor and incomplete. After several false starts, here’s the information necessary for success, which I discovered by trial and error:

  • The flash drive must be exFAT formatted, or it won’t be recognized by the Sensus nav system. Some Volvo documentation incorrectly states that FAT32 is supported.
  • The Volvo downloader verifies the data on your flash drive, but does not verify that Sensus will recognize the drive. It could easily do so, but it doesn’t.
  • Volvo implies that you might need to buy their flash drive. I used one that I had in a junk drawer.
  • Don’t be confused that the XC-60 owners manual links to a page describing how to update the XC-90. This is just sloppy work by Volvo’s technical writers.
  • The manual says you can only update a map that you’ve previously downloaded over-the-air. This wasn’t true for me, I installed all of North America but had only regional maps already installed.
  • Final tip: Installing took about 40 minutes, followed by a long “Loading…” pause on the Sensus screen. Have patience.

Good luck!


How to Lose a Customer the FedEx Way

I’ve had a FedEx account for at least 20 years. Earlier this week, I logged into the account to ship a package. The first time I noticed that something wasn’t right was when the website wouldn’t display an estimated cost/timetable for my shipment. Instead, it displayed an ugly red error message stating that the service I had chosen was not available at the destination address. (Which made no sense at all, given my choices.)

But, I needed to send the package more than I needed a cost estimate, so I ignored the message and continued. Now another ugly red error message appeared, this one even more cryptic. It generically told me that an error occurred and displayed a link to click for more information. That link, however, led to a missing (404) page.

Ugh! I picked up the phone and called FedEx customer service. After the voice robot gave up on helping me, I was transferred to an agent. That agent gave up too, and transferred me again.

The new agent confirmed that the credit card they have on file is correct and unexpired. Also, that I could log in to the account (obviously), and then finally discovered that my account was suspended due to inactivity.

In other words, FedEx decided to put a hold on my twenty-year-old account because I haven’t shipped a package in the last couple of months. (Hello, business-stopping pandemic? You might have heard about it.)

Somewhere in FedEx HQ, a programmer created an algorithm that decided “Hey, we haven’t seen this customer for a few months, so fuck him.”

The new agent was able to clear the problem, and then I was able to generate the label for my package (after having to start all over, of course).


Livboj is IKEA’s excellent Qi charger

Qi inductive charging of devices is a convenient pain in the ass. Convenient because you don’t need to plug in; a pain in the ass because it’s slow and finicky. It requires too much attention to precisely align your device with the hidden charging coils — and if you’re a fraction of an inch off, no charging occurs.

The IKEA Livboj Wireless Charger e2010 significantly helps with the alignment problem. It’s very rare that my iPhone doesn’t immediately begin charging when I place it in almost any orientation onto the Livboj. I also have a Belkin charging pad, which cost 7x more than the IKEA model, but is very particular about how the device must be positioned.

The only downside to the Livboj is that the bottom has rubber bumpers, which may cause damage to finished wood furniture. I avoid any issues by placing the Livboj on a drink coaster.

To be fair, IKEA keeps the price low by not including a cable or power supply. All you get is the charging pad, but you almost certainly have the necessary pieces sitting in a drawer anyway. Well, except the pad uses a USB-C cable, so maybe you don’t have one of those lying around (yet). In that case, add a Lillhut braided cable for $5, and you’re still far below the price of the Belkin.