Tag: arc
When “downgrading” to ARC fixes everything
In the Raspberry Pi CEC automation I mentioned that my Samsung TV is on ARC (not eARC). This is the backstory: eARC wouldn’t stay put, so dropping back to ARC was the only reliable option.
Setup
Samsung S95B hangs on the wall, its eARC port feeds a Denon AVR-X1700H, and every source runs through the receiver with CEC enabled.
With HDMI eARC Mode = Auto, the S95B would sometimes boot to TV Speakers instead of “Receiver (HDMI-eARC),” silently fall back to TV Speakers after source changes, and after the 1651 firmware update it would wake up that way every single time even with an ARC/eARC device attached (Samsung Community).
Tag: august smart lock
State of my home automation in 2018
Since moving to Seattle I have been gradually automating an ordinary apartment. The goal is not to build a trade-show demo; it is to make the lights, TV, door, and vacuum respond consistently. Online discussions often highlight the worst connected gadgets, but with some patience (and a few hubs) the living room can anticipate daily routines instead of fighting them.
Where we are and how we got here
The automation itch started in the laziest way possible: I was already under the blanket and wished the lamp would turn off by itself. That nudge toward Philips Hue led to HomeKit, which led to buying a Raspberry Pi at 1 a.m. because I could not believe there was no native way to control the TV. Once one subsystem cooperated, every other annoyance turned into a candidate for automation. The snapshot below shows the apartment as it stands today.
Tag: autofocus
Stop missing focus with this one-button trick for Sony α6700
The Sony α6700’s subject recognition feels magical until the bird is small in frame or the background is busy. Then “Wide + Bird” starts looking like a coin flip. If you’ve been frustrated by this, you’re not alone1.
The fix: stop asking the camera to find the subject and start telling it where to begin.
The problem: Wide AF with Subject Recognition can get confused
My default Focus Area is Wide (why?). With Subject Recog in AF enabled and set to Bird, Sony prioritizes recognized subjects inside or around that area.
Tag: birds
Stop missing focus with this one-button trick for Sony α6700
The Sony α6700’s subject recognition feels magical until the bird is small in frame or the background is busy. Then “Wide + Bird” starts looking like a coin flip. If you’ve been frustrated by this, you’re not alone1.
The fix: stop asking the camera to find the subject and start telling it where to begin.
The problem: Wide AF with Subject Recognition can get confused
My default Focus Area is Wide (why?). With Subject Recog in AF enabled and set to Bird, Sony prioritizes recognized subjects inside or around that area.
Tag: cable management
Cleaned up the network/media closet
One closet to house all our networking and media equipment. Most of the hard work was done by the previous owner with the CAT6, HDMI, and speaker wires all in wall.

Here’s the network panel close up. I’m not super stoked about putting my eero gateway in here to act as the router but currently not sure what to upgrade to. Suggestions welcome.
Tag: codespaces
NFS on k3d inside GitHub Codespaces
I need to use NFS with Kubernetes in GitHub codespaces for reasons. k3d1 already handled my throwaway clusters nicely, so the obvious move was to add an NFS-backed2 ReadWriteMany volume via nfs-subdir-external-provisioner. I expected it to “just work.”
It did not. Pods sat in ContainerCreating until they timed out with mount.nfs: Operation not permitted, the same failure called out in k3d issue #1109. The root cause is boring but important: the stock k3s image ships from scratch3, so it contains none of the NFS client tools (nfs-utils, rpcbind4, or even the OpenRC5 metadata needed to start services). GitHub Codespaces run on cgroup v26, and k3d tries to be helpful in that environment by swapping in its own entrypoint script, which meant every hand-rolled fix I wrote was silently discarded.
Tag: curiosities
Seattle is the #16 most expensive city in the world for dining, #5 in the US
(Among cities with population of 100,000 or more)
A few weeks ago I was in Rome, where $$$$ on TripAdvisor equates to Ballard prices, I started to wonder how expensive is Seattle for dining? Is it top 10? I thought it must be but had no data to back it up. Results on Google weren’t too helpful. I wanted to understand the cost in absolute terms (not adjusted to local cost of living or purchasing power), like a traveller’s perspective.
Mystery? Everclear 190 not actually illegal in Washington state?
A quick google shows that the entire internet says that Everclear 190 is illegal (or “banned”) in Washington state. There’s even an /r/seattle post from 2015 that says the same thing.
Open and shut case, right? Not really. You can order it for pickup straight from Total Wine’s website. Right now it says it’s in stock.
Curious about this discrepancy, I go to Interbay Total Wine to verify. It’s right there, next to a bunch of other high-proof liquors, at “Aisle 04, Left, Bay 26” just like the website says.
Tag: curiousities
"Vision Pro's passthrough isn't depth-correct"...?
This is a long post. TL;DR: what did Apple do to make Vision Pro’s passthrough not feel like crap despite not being depth-correct?
Depth-correct passthrough: what’s the big deal?
It’s well documented that it’s critical for video passthrough mixed reality to be “depth-correct” (AKA perspective correct) or you’ll have issues:
- Unpleasantness that persists even after removing the headset
- Can’t catch a tossed bottle
- Can’t grab things or estimate distances, feels like flailing, looks totally weird, and feels unusably bad
- Pico 4 passthrough unusable, disorienting
- “The importance of depth-correct passthrough reprojection… absolutely cannot be understated and is a make or break for general adoption of any MR device”
But perhaps the best analysis is this one by /u/kguttag. The conclusion is clear: if the passthrough is not corrected via reprojection to account for the difference between the locations of your eyeballs vs cameras looking outside (good quick explanation), you’re going to have an experience that feels weird at best and at worst unusable, disorienting, or even dangerous. You’ll have bigger problems than not being able to catch a ball.
Tag: data
Seattle is the #16 most expensive city in the world for dining, #5 in the US
(Among cities with population of 100,000 or more)
A few weeks ago I was in Rome, where $$$$ on TripAdvisor equates to Ballard prices, I started to wonder how expensive is Seattle for dining? Is it top 10? I thought it must be but had no data to back it up. Results on Google weren’t too helpful. I wanted to understand the cost in absolute terms (not adjusted to local cost of living or purchasing power), like a traveller’s perspective.
Tag: denon
When “downgrading” to ARC fixes everything
In the Raspberry Pi CEC automation I mentioned that my Samsung TV is on ARC (not eARC). This is the backstory: eARC wouldn’t stay put, so dropping back to ARC was the only reliable option.
Setup
Samsung S95B hangs on the wall, its eARC port feeds a Denon AVR-X1700H, and every source runs through the receiver with CEC enabled.
With HDMI eARC Mode = Auto, the S95B would sometimes boot to TV Speakers instead of “Receiver (HDMI-eARC),” silently fall back to TV Speakers after source changes, and after the 1651 firmware update it would wake up that way every single time even with an ARC/eARC device attached (Samsung Community).
Tag: dining
Seattle is the #16 most expensive city in the world for dining, #5 in the US
(Among cities with population of 100,000 or more)
A few weeks ago I was in Rome, where $$$$ on TripAdvisor equates to Ballard prices, I started to wonder how expensive is Seattle for dining? Is it top 10? I thought it must be but had no data to back it up. Results on Google weren’t too helpful. I wanted to understand the cost in absolute terms (not adjusted to local cost of living or purchasing power), like a traveller’s perspective.
Tag: frc
Last day at robotics
In our last meeting for the 2014-2015 FRC season, I received this gift from the team.

I was pretty speechless. Thanks team.
Team 4955's website is up!
Thanks to the business team, the website can now be found at http://www.frc4955.com
Tag: hades 2
To get 4K60 for Hades 2 on Switch 2, disable “120 Hz Output” in system settings
Did a quick search and didn’t see anyone else post this. To get 4K 60 FPS output while docked for Hades 2 on the Switch 2, disabling “120 Hz Output” in Switch 2 System Settings > Display is required. Just choosing 4K TV resolution is not enough.
IMO, since the 4K seems to be upscaled, it’s not really enough of an image quality improvement to be worth it. But you could test for yourself.
Tag: hdmi
When “downgrading” to ARC fixes everything
In the Raspberry Pi CEC automation I mentioned that my Samsung TV is on ARC (not eARC). This is the backstory: eARC wouldn’t stay put, so dropping back to ARC was the only reliable option.
Setup
Samsung S95B hangs on the wall, its eARC port feeds a Denon AVR-X1700H, and every source runs through the receiver with CEC enabled.
With HDMI eARC Mode = Auto, the S95B would sometimes boot to TV Speakers instead of “Receiver (HDMI-eARC),” silently fall back to TV Speakers after source changes, and after the 1651 firmware update it would wake up that way every single time even with an ARC/eARC device attached (Samsung Community).
Fix HDMI-CEC weirdness with a Raspberry Pi and a $7 cable
For years I treated HDMI-CEC like a house spirit: sometimes helpful, mostly temperamental, never fully understood. My living-room stack is straightforward: Samsung TV on ARC (NOT eARC - story for another day), Denon AVR-X1700H hidden in a closet, Apple TV plus a bunch of consoles connected to the receiver, and a Raspberry Pi 4 already doing Homebridge duty. When it comes to CEC, the Apple TV handles it like a dream, but every console behaves like it missed the last week of CEC school. They wake the TV, switch the input, then leave the Denon asleep so I’m back to toggling audio outputs manually.
To get 4K60 for Hades 2 on Switch 2, disable “120 Hz Output” in system settings
Did a quick search and didn’t see anyone else post this. To get 4K 60 FPS output while docked for Hades 2 on the Switch 2, disabling “120 Hz Output” in Switch 2 System Settings > Display is required. Just choosing 4K TV resolution is not enough.
IMO, since the 4K seems to be upscaled, it’s not really enough of an image quality improvement to be worth it. But you could test for yourself.
Cleaned up the network/media closet
One closet to house all our networking and media equipment. Most of the hard work was done by the previous owner with the CAT6, HDMI, and speaker wires all in wall.

Here’s the network panel close up. I’m not super stoked about putting my eero gateway in here to act as the router but currently not sure what to upgrade to. Suggestions welcome.
PS5 works great with homebridge now
Steps I took
Go to the homebridge terminal, you can SSH or I just used the homebridge UI.
Install Playactor
sudo npm install -g playactor.Run
playactor browseand find your PS5, remember its name like “PS5-XXX”, you’ll need it later.Run
playactor login --host-name PS5-XXX --no-open-urlsto register your device as a remote play controller. The--no-open-urlsis important here because by default it tries to open a browser which isn’t gonna work if you’re using SSH or homebridge UI.
Tag: hdmi-cec
When “downgrading” to ARC fixes everything
In the Raspberry Pi CEC automation I mentioned that my Samsung TV is on ARC (not eARC). This is the backstory: eARC wouldn’t stay put, so dropping back to ARC was the only reliable option.
Setup
Samsung S95B hangs on the wall, its eARC port feeds a Denon AVR-X1700H, and every source runs through the receiver with CEC enabled.
With HDMI eARC Mode = Auto, the S95B would sometimes boot to TV Speakers instead of “Receiver (HDMI-eARC),” silently fall back to TV Speakers after source changes, and after the 1651 firmware update it would wake up that way every single time even with an ARC/eARC device attached (Samsung Community).
Fix HDMI-CEC weirdness with a Raspberry Pi and a $7 cable
For years I treated HDMI-CEC like a house spirit: sometimes helpful, mostly temperamental, never fully understood. My living-room stack is straightforward: Samsung TV on ARC (NOT eARC - story for another day), Denon AVR-X1700H hidden in a closet, Apple TV plus a bunch of consoles connected to the receiver, and a Raspberry Pi 4 already doing Homebridge duty. When it comes to CEC, the Apple TV handles it like a dream, but every console behaves like it missed the last week of CEC school. They wake the TV, switch the input, then leave the Denon asleep so I’m back to toggling audio outputs manually.
PS5 works great with homebridge now
Steps I took
Go to the homebridge terminal, you can SSH or I just used the homebridge UI.
Install Playactor
sudo npm install -g playactor.Run
playactor browseand find your PS5, remember its name like “PS5-XXX”, you’ll need it later.Run
playactor login --host-name PS5-XXX --no-open-urlsto register your device as a remote play controller. The--no-open-urlsis important here because by default it tries to open a browser which isn’t gonna work if you’re using SSH or homebridge UI.
Tag: hid
I had to patch the Linux kernel to wake my PC using a browser
I rely on TinyPilot to manage a Windows PC that lives in a closet. TinyPilot is a Raspberry Pi-based KVM: it streams HDMI video from the PC and pretends to be a USB keyboard and mouse so I can type over the network. My PC also sleeps aggressively to save power. A real keyboard wakes it. TinyPilot did not, so every remote session began with a trip to the closet. Wake-on-LAN was unreliable on that motherboard, so I decided to make TinyPilot behave like a normal USB keyboard during suspend.
Tag: home automation
Fix HDMI-CEC weirdness with a Raspberry Pi and a $7 cable
For years I treated HDMI-CEC like a house spirit: sometimes helpful, mostly temperamental, never fully understood. My living-room stack is straightforward: Samsung TV on ARC (NOT eARC - story for another day), Denon AVR-X1700H hidden in a closet, Apple TV plus a bunch of consoles connected to the receiver, and a Raspberry Pi 4 already doing Homebridge duty. When it comes to CEC, the Apple TV handles it like a dream, but every console behaves like it missed the last week of CEC school. They wake the TV, switch the input, then leave the Denon asleep so I’m back to toggling audio outputs manually.
PS5 works great with homebridge now
Steps I took
Go to the homebridge terminal, you can SSH or I just used the homebridge UI.
Install Playactor
sudo npm install -g playactor.Run
playactor browseand find your PS5, remember its name like “PS5-XXX”, you’ll need it later.Run
playactor login --host-name PS5-XXX --no-open-urlsto register your device as a remote play controller. The--no-open-urlsis important here because by default it tries to open a browser which isn’t gonna work if you’re using SSH or homebridge UI.
State of my home automation in 2018
Since moving to Seattle I have been gradually automating an ordinary apartment. The goal is not to build a trade-show demo; it is to make the lights, TV, door, and vacuum respond consistently. Online discussions often highlight the worst connected gadgets, but with some patience (and a few hubs) the living room can anticipate daily routines instead of fighting them.
Where we are and how we got here
The automation itch started in the laziest way possible: I was already under the blanket and wished the lamp would turn off by itself. That nudge toward Philips Hue led to HomeKit, which led to buying a Raspberry Pi at 1 a.m. because I could not believe there was no native way to control the TV. Once one subsystem cooperated, every other annoyance turned into a candidate for automation. The snapshot below shows the apartment as it stands today.
Get reliable connection with your HomeKit devices
Update June 2021: people felt the methods in this post are too extreme. Fortunately, ASUS has since published a new support article on this topic, and I’ve heard that it works better. I haven’t tried it myself since I changed to eero (which works perfect with HomeKit) more than a year ago. Original post below.
I’ve had pretty good experiences with HomeKit with Philips Hue and Lutron Caseta. However, I noticed that standalone devices (ones that don’t have hubs) would often show “No Response” in HomeKit. This post shows some things that I learned trying to get all my devices to be reliable.
Deal with Homebridge crashing
Homebridge is a key part to my home automation setup. I run it on a Raspberry Pi (gen 1, pictured in header) and it allows me to integrate my TV, Apple TV, and robot vacuum into HomeKit. However, it does crash quite a bit. Here are some things I did to make Homebridge easier to deal with.
Tag: home lab
I had to patch the Linux kernel to wake my PC using a browser
I rely on TinyPilot to manage a Windows PC that lives in a closet. TinyPilot is a Raspberry Pi-based KVM: it streams HDMI video from the PC and pretends to be a USB keyboard and mouse so I can type over the network. My PC also sleeps aggressively to save power. A real keyboard wakes it. TinyPilot did not, so every remote session began with a trip to the closet. Wake-on-LAN was unreliable on that motherboard, so I decided to make TinyPilot behave like a normal USB keyboard during suspend.
Tag: home networking
Cleaned up the network/media closet
One closet to house all our networking and media equipment. Most of the hard work was done by the previous owner with the CAT6, HDMI, and speaker wires all in wall.

Here’s the network panel close up. I’m not super stoked about putting my eero gateway in here to act as the router but currently not sure what to upgrade to. Suggestions welcome.
Get reliable connection with your HomeKit devices
Update June 2021: people felt the methods in this post are too extreme. Fortunately, ASUS has since published a new support article on this topic, and I’ve heard that it works better. I haven’t tried it myself since I changed to eero (which works perfect with HomeKit) more than a year ago. Original post below.
I’ve had pretty good experiences with HomeKit with Philips Hue and Lutron Caseta. However, I noticed that standalone devices (ones that don’t have hubs) would often show “No Response” in HomeKit. This post shows some things that I learned trying to get all my devices to be reliable.
Tag: home theater
When “downgrading” to ARC fixes everything
In the Raspberry Pi CEC automation I mentioned that my Samsung TV is on ARC (not eARC). This is the backstory: eARC wouldn’t stay put, so dropping back to ARC was the only reliable option.
Setup
Samsung S95B hangs on the wall, its eARC port feeds a Denon AVR-X1700H, and every source runs through the receiver with CEC enabled.
With HDMI eARC Mode = Auto, the S95B would sometimes boot to TV Speakers instead of “Receiver (HDMI-eARC),” silently fall back to TV Speakers after source changes, and after the 1651 firmware update it would wake up that way every single time even with an ARC/eARC device attached (Samsung Community).
Fix HDMI-CEC weirdness with a Raspberry Pi and a $7 cable
For years I treated HDMI-CEC like a house spirit: sometimes helpful, mostly temperamental, never fully understood. My living-room stack is straightforward: Samsung TV on ARC (NOT eARC - story for another day), Denon AVR-X1700H hidden in a closet, Apple TV plus a bunch of consoles connected to the receiver, and a Raspberry Pi 4 already doing Homebridge duty. When it comes to CEC, the Apple TV handles it like a dream, but every console behaves like it missed the last week of CEC school. They wake the TV, switch the input, then leave the Denon asleep so I’m back to toggling audio outputs manually.
To get 4K60 for Hades 2 on Switch 2, disable “120 Hz Output” in system settings
Did a quick search and didn’t see anyone else post this. To get 4K 60 FPS output while docked for Hades 2 on the Switch 2, disabling “120 Hz Output” in Switch 2 System Settings > Display is required. Just choosing 4K TV resolution is not enough.
IMO, since the 4K seems to be upscaled, it’s not really enough of an image quality improvement to be worth it. But you could test for yourself.
Cleaned up the network/media closet
One closet to house all our networking and media equipment. Most of the hard work was done by the previous owner with the CAT6, HDMI, and speaker wires all in wall.

Here’s the network panel close up. I’m not super stoked about putting my eero gateway in here to act as the router but currently not sure what to upgrade to. Suggestions welcome.
Tag: homebridge
PS5 works great with homebridge now
Steps I took
Go to the homebridge terminal, you can SSH or I just used the homebridge UI.
Install Playactor
sudo npm install -g playactor.Run
playactor browseand find your PS5, remember its name like “PS5-XXX”, you’ll need it later.Run
playactor login --host-name PS5-XXX --no-open-urlsto register your device as a remote play controller. The--no-open-urlsis important here because by default it tries to open a browser which isn’t gonna work if you’re using SSH or homebridge UI.
State of my home automation in 2018
Since moving to Seattle I have been gradually automating an ordinary apartment. The goal is not to build a trade-show demo; it is to make the lights, TV, door, and vacuum respond consistently. Online discussions often highlight the worst connected gadgets, but with some patience (and a few hubs) the living room can anticipate daily routines instead of fighting them.
Where we are and how we got here
The automation itch started in the laziest way possible: I was already under the blanket and wished the lamp would turn off by itself. That nudge toward Philips Hue led to HomeKit, which led to buying a Raspberry Pi at 1 a.m. because I could not believe there was no native way to control the TV. Once one subsystem cooperated, every other annoyance turned into a candidate for automation. The snapshot below shows the apartment as it stands today.
Deal with Homebridge crashing
Homebridge is a key part to my home automation setup. I run it on a Raspberry Pi (gen 1, pictured in header) and it allows me to integrate my TV, Apple TV, and robot vacuum into HomeKit. However, it does crash quite a bit. Here are some things I did to make Homebridge easier to deal with.
Tag: homekit
PS5 works great with homebridge now
Steps I took
Go to the homebridge terminal, you can SSH or I just used the homebridge UI.
Install Playactor
sudo npm install -g playactor.Run
playactor browseand find your PS5, remember its name like “PS5-XXX”, you’ll need it later.Run
playactor login --host-name PS5-XXX --no-open-urlsto register your device as a remote play controller. The--no-open-urlsis important here because by default it tries to open a browser which isn’t gonna work if you’re using SSH or homebridge UI.
State of my home automation in 2018
Since moving to Seattle I have been gradually automating an ordinary apartment. The goal is not to build a trade-show demo; it is to make the lights, TV, door, and vacuum respond consistently. Online discussions often highlight the worst connected gadgets, but with some patience (and a few hubs) the living room can anticipate daily routines instead of fighting them.
Where we are and how we got here
The automation itch started in the laziest way possible: I was already under the blanket and wished the lamp would turn off by itself. That nudge toward Philips Hue led to HomeKit, which led to buying a Raspberry Pi at 1 a.m. because I could not believe there was no native way to control the TV. Once one subsystem cooperated, every other annoyance turned into a candidate for automation. The snapshot below shows the apartment as it stands today.
Get reliable connection with your HomeKit devices
Update June 2021: people felt the methods in this post are too extreme. Fortunately, ASUS has since published a new support article on this topic, and I’ve heard that it works better. I haven’t tried it myself since I changed to eero (which works perfect with HomeKit) more than a year ago. Original post below.
I’ve had pretty good experiences with HomeKit with Philips Hue and Lutron Caseta. However, I noticed that standalone devices (ones that don’t have hubs) would often show “No Response” in HomeKit. This post shows some things that I learned trying to get all my devices to be reliable.
Deal with Homebridge crashing
Homebridge is a key part to my home automation setup. I run it on a Raspberry Pi (gen 1, pictured in header) and it allows me to integrate my TV, Apple TV, and robot vacuum into HomeKit. However, it does crash quite a bit. Here are some things I did to make Homebridge easier to deal with.
Tag: images
Photos
I take photos with my Sony α6700 and DJI Phantom. I upload them to Wikimedia Commons so they can be reused on Wikipedia and elsewhere.
Unless otherwise noted, you’re welcome to use my photos under their listed licenses as long as you provide proper attribution.
For the full gallery, see my Wikipedia profile. Some of my favourites are below.
Gallery
Tag: k3d
NFS on k3d inside GitHub Codespaces
I need to use NFS with Kubernetes in GitHub codespaces for reasons. k3d1 already handled my throwaway clusters nicely, so the obvious move was to add an NFS-backed2 ReadWriteMany volume via nfs-subdir-external-provisioner. I expected it to “just work.”
It did not. Pods sat in ContainerCreating until they timed out with mount.nfs: Operation not permitted, the same failure called out in k3d issue #1109. The root cause is boring but important: the stock k3s image ships from scratch3, so it contains none of the NFS client tools (nfs-utils, rpcbind4, or even the OpenRC5 metadata needed to start services). GitHub Codespaces run on cgroup v26, and k3d tries to be helpful in that environment by swapping in its own entrypoint script, which meant every hand-rolled fix I wrote was silently discarded.
Tag: kubernetes
NFS on k3d inside GitHub Codespaces
I need to use NFS with Kubernetes in GitHub codespaces for reasons. k3d1 already handled my throwaway clusters nicely, so the obvious move was to add an NFS-backed2 ReadWriteMany volume via nfs-subdir-external-provisioner. I expected it to “just work.”
It did not. Pods sat in ContainerCreating until they timed out with mount.nfs: Operation not permitted, the same failure called out in k3d issue #1109. The root cause is boring but important: the stock k3s image ships from scratch3, so it contains none of the NFS client tools (nfs-utils, rpcbind4, or even the OpenRC5 metadata needed to start services). GitHub Codespaces run on cgroup v26, and k3d tries to be helpful in that environment by swapping in its own entrypoint script, which meant every hand-rolled fix I wrote was silently discarded.
Tag: la tech
Last day at robotics
In our last meeting for the 2014-2015 FRC season, I received this gift from the team.

I was pretty speechless. Thanks team.
Tag: lg webos
State of my home automation in 2018
Since moving to Seattle I have been gradually automating an ordinary apartment. The goal is not to build a trade-show demo; it is to make the lights, TV, door, and vacuum respond consistently. Online discussions often highlight the worst connected gadgets, but with some patience (and a few hubs) the living room can anticipate daily routines instead of fighting them.
Where we are and how we got here
The automation itch started in the laziest way possible: I was already under the blanket and wished the lamp would turn off by itself. That nudge toward Philips Hue led to HomeKit, which led to buying a Raspberry Pi at 1 a.m. because I could not believe there was no native way to control the TV. Once one subsystem cooperated, every other annoyance turned into a candidate for automation. The snapshot below shows the apartment as it stands today.
Tag: linux
I had to patch the Linux kernel to wake my PC using a browser
I rely on TinyPilot to manage a Windows PC that lives in a closet. TinyPilot is a Raspberry Pi-based KVM: it streams HDMI video from the PC and pretends to be a USB keyboard and mouse so I can type over the network. My PC also sleeps aggressively to save power. A real keyboard wakes it. TinyPilot did not, so every remote session began with a trip to the closet. Wake-on-LAN was unreliable on that motherboard, so I decided to make TinyPilot behave like a normal USB keyboard during suspend.
Tag: liquor
Mystery? Everclear 190 not actually illegal in Washington state?
A quick google shows that the entire internet says that Everclear 190 is illegal (or “banned”) in Washington state. There’s even an /r/seattle post from 2015 that says the same thing.
Open and shut case, right? Not really. You can order it for pickup straight from Total Wine’s website. Right now it says it’s in stock.
Curious about this discrepancy, I go to Interbay Total Wine to verify. It’s right there, next to a bunch of other high-proof liquors, at “Aisle 04, Left, Bay 26” just like the website says.
Tag: logistics
Call Tesla if you move countries after making your Model 3 reservation
I made my reservation on presentation day on March 31, 2016 when I used to live in Canada. I moved to the US later that year, so I went to Tesla’s website to update my account info with my new US address.
I got the invite to configure my Model 3 last weekend and noticed that everything was in CAD$. I called sales who told me that I need to cancel my old reservation and make a new one with US in the settings, and that they would honor my place in line. It’s nice that Tesla would do this but they also noted that this process can take up to 20 business days - an entire month.
Tag: logitech harmony
State of my home automation in 2018
Since moving to Seattle I have been gradually automating an ordinary apartment. The goal is not to build a trade-show demo; it is to make the lights, TV, door, and vacuum respond consistently. Online discussions often highlight the worst connected gadgets, but with some patience (and a few hubs) the living room can anticipate daily routines instead of fighting them.
Where we are and how we got here
The automation itch started in the laziest way possible: I was already under the blanket and wished the lamp would turn off by itself. That nudge toward Philips Hue led to HomeKit, which led to buying a Raspberry Pi at 1 a.m. because I could not believe there was no native way to control the TV. Once one subsystem cooperated, every other annoyance turned into a candidate for automation. The snapshot below shows the apartment as it stands today.
Tag: lutron caseta
State of my home automation in 2018
Since moving to Seattle I have been gradually automating an ordinary apartment. The goal is not to build a trade-show demo; it is to make the lights, TV, door, and vacuum respond consistently. Online discussions often highlight the worst connected gadgets, but with some patience (and a few hubs) the living room can anticipate daily routines instead of fighting them.
Where we are and how we got here
The automation itch started in the laziest way possible: I was already under the blanket and wished the lamp would turn off by itself. That nudge toward Philips Hue led to HomeKit, which led to buying a Raspberry Pi at 1 a.m. because I could not believe there was no native way to control the TV. Once one subsystem cooperated, every other annoyance turned into a candidate for automation. The snapshot below shows the apartment as it stands today.
Tag: matlab
Efficient animation with MATLAB
I used animation to help me visualize some of the work I did for my honours thesis (PDF warning). Prior to MATLAB R2014b’s major graphics changes, it wasn’t exactly easy to create efficient animations with MATLAB, so I spent some time figuring out the best way to do it.
Tag: model 3
Call Tesla if you move countries after making your Model 3 reservation
I made my reservation on presentation day on March 31, 2016 when I used to live in Canada. I moved to the US later that year, so I went to Tesla’s website to update my account info with my new US address.
I got the invite to configure my Model 3 last weekend and noticed that everything was in CAD$. I called sales who told me that I need to cancel my old reservation and make a new one with US in the settings, and that they would honor my place in line. It’s nice that Tesla would do this but they also noted that this process can take up to 20 business days - an entire month.
Tag: nfs
NFS on k3d inside GitHub Codespaces
I need to use NFS with Kubernetes in GitHub codespaces for reasons. k3d1 already handled my throwaway clusters nicely, so the obvious move was to add an NFS-backed2 ReadWriteMany volume via nfs-subdir-external-provisioner. I expected it to “just work.”
It did not. Pods sat in ContainerCreating until they timed out with mount.nfs: Operation not permitted, the same failure called out in k3d issue #1109. The root cause is boring but important: the stock k3s image ships from scratch3, so it contains none of the NFS client tools (nfs-utils, rpcbind4, or even the OpenRC5 metadata needed to start services). GitHub Codespaces run on cgroup v26, and k3d tries to be helpful in that environment by swapping in its own entrypoint script, which meant every hand-rolled fix I wrote was silently discarded.
Tag: nintendo switch 2
To get 4K60 for Hades 2 on Switch 2, disable “120 Hz Output” in system settings
Did a quick search and didn’t see anyone else post this. To get 4K 60 FPS output while docked for Hades 2 on the Switch 2, disabling “120 Hz Output” in Switch 2 System Settings > Display is required. Just choosing 4K TV resolution is not enough.
IMO, since the 4K seems to be upscaled, it’s not really enough of an image quality improvement to be worth it. But you could test for yourself.
Tag: passthrough
"Vision Pro's passthrough isn't depth-correct"...?
This is a long post. TL;DR: what did Apple do to make Vision Pro’s passthrough not feel like crap despite not being depth-correct?
Depth-correct passthrough: what’s the big deal?
It’s well documented that it’s critical for video passthrough mixed reality to be “depth-correct” (AKA perspective correct) or you’ll have issues:
- Unpleasantness that persists even after removing the headset
- Can’t catch a tossed bottle
- Can’t grab things or estimate distances, feels like flailing, looks totally weird, and feels unusably bad
- Pico 4 passthrough unusable, disorienting
- “The importance of depth-correct passthrough reprojection… absolutely cannot be understated and is a make or break for general adoption of any MR device”
But perhaps the best analysis is this one by /u/kguttag. The conclusion is clear: if the passthrough is not corrected via reprojection to account for the difference between the locations of your eyeballs vs cameras looking outside (good quick explanation), you’re going to have an experience that feels weird at best and at worst unusable, disorienting, or even dangerous. You’ll have bigger problems than not being able to catch a ball.
Tag: philips hue
State of my home automation in 2018
Since moving to Seattle I have been gradually automating an ordinary apartment. The goal is not to build a trade-show demo; it is to make the lights, TV, door, and vacuum respond consistently. Online discussions often highlight the worst connected gadgets, but with some patience (and a few hubs) the living room can anticipate daily routines instead of fighting them.
Where we are and how we got here
The automation itch started in the laziest way possible: I was already under the blanket and wished the lamp would turn off by itself. That nudge toward Philips Hue led to HomeKit, which led to buying a Raspberry Pi at 1 a.m. because I could not believe there was no native way to control the TV. Once one subsystem cooperated, every other annoyance turned into a candidate for automation. The snapshot below shows the apartment as it stands today.
Tag: photography
Stop missing focus with this one-button trick for Sony α6700
The Sony α6700’s subject recognition feels magical until the bird is small in frame or the background is busy. Then “Wide + Bird” starts looking like a coin flip. If you’ve been frustrated by this, you’re not alone1.
The fix: stop asking the camera to find the subject and start telling it where to begin.
The problem: Wide AF with Subject Recognition can get confused
My default Focus Area is Wide (why?). With Subject Recog in AF enabled and set to Bird, Sony prioritizes recognized subjects inside or around that area.
Photos
I take photos with my Sony α6700 and DJI Phantom. I upload them to Wikimedia Commons so they can be reused on Wikipedia and elsewhere.
Unless otherwise noted, you’re welcome to use my photos under their listed licenses as long as you provide proper attribution.
For the full gallery, see my Wikipedia profile. Some of my favourites are below.
Gallery
Tag: posts
Posts
Tag: ps5
PS5 works great with homebridge now
Steps I took
Go to the homebridge terminal, you can SSH or I just used the homebridge UI.
Install Playactor
sudo npm install -g playactor.Run
playactor browseand find your PS5, remember its name like “PS5-XXX”, you’ll need it later.Run
playactor login --host-name PS5-XXX --no-open-urlsto register your device as a remote play controller. The--no-open-urlsis important here because by default it tries to open a browser which isn’t gonna work if you’re using SSH or homebridge UI.
Tag: raspberry pi
Fix HDMI-CEC weirdness with a Raspberry Pi and a $7 cable
For years I treated HDMI-CEC like a house spirit: sometimes helpful, mostly temperamental, never fully understood. My living-room stack is straightforward: Samsung TV on ARC (NOT eARC - story for another day), Denon AVR-X1700H hidden in a closet, Apple TV plus a bunch of consoles connected to the receiver, and a Raspberry Pi 4 already doing Homebridge duty. When it comes to CEC, the Apple TV handles it like a dream, but every console behaves like it missed the last week of CEC school. They wake the TV, switch the input, then leave the Denon asleep so I’m back to toggling audio outputs manually.
I had to patch the Linux kernel to wake my PC using a browser
I rely on TinyPilot to manage a Windows PC that lives in a closet. TinyPilot is a Raspberry Pi-based KVM: it streams HDMI video from the PC and pretends to be a USB keyboard and mouse so I can type over the network. My PC also sleeps aggressively to save power. A real keyboard wakes it. TinyPilot did not, so every remote session began with a trip to the closet. Wake-on-LAN was unreliable on that motherboard, so I decided to make TinyPilot behave like a normal USB keyboard during suspend.
State of my home automation in 2018
Since moving to Seattle I have been gradually automating an ordinary apartment. The goal is not to build a trade-show demo; it is to make the lights, TV, door, and vacuum respond consistently. Online discussions often highlight the worst connected gadgets, but with some patience (and a few hubs) the living room can anticipate daily routines instead of fighting them.
Where we are and how we got here
The automation itch started in the laziest way possible: I was already under the blanket and wished the lamp would turn off by itself. That nudge toward Philips Hue led to HomeKit, which led to buying a Raspberry Pi at 1 a.m. because I could not believe there was no native way to control the TV. Once one subsystem cooperated, every other annoyance turned into a candidate for automation. The snapshot below shows the apartment as it stands today.
Tag: robotics
Team 4955's website is up!
Thanks to the business team, the website can now be found at http://www.frc4955.com
Tag: samsung
When “downgrading” to ARC fixes everything
In the Raspberry Pi CEC automation I mentioned that my Samsung TV is on ARC (not eARC). This is the backstory: eARC wouldn’t stay put, so dropping back to ARC was the only reliable option.
Setup
Samsung S95B hangs on the wall, its eARC port feeds a Denon AVR-X1700H, and every source runs through the receiver with CEC enabled.
With HDMI eARC Mode = Auto, the S95B would sometimes boot to TV Speakers instead of “Receiver (HDMI-eARC),” silently fall back to TV Speakers after source changes, and after the 1651 firmware update it would wake up that way every single time even with an ARC/eARC device attached (Samsung Community).
Tag: seattle
Seattle is the #16 most expensive city in the world for dining, #5 in the US
(Among cities with population of 100,000 or more)
A few weeks ago I was in Rome, where $$$$ on TripAdvisor equates to Ballard prices, I started to wonder how expensive is Seattle for dining? Is it top 10? I thought it must be but had no data to back it up. Results on Google weren’t too helpful. I wanted to understand the cost in absolute terms (not adjusted to local cost of living or purchasing power), like a traveller’s perspective.
Mystery? Everclear 190 not actually illegal in Washington state?
A quick google shows that the entire internet says that Everclear 190 is illegal (or “banned”) in Washington state. There’s even an /r/seattle post from 2015 that says the same thing.
Open and shut case, right? Not really. You can order it for pickup straight from Total Wine’s website. Right now it says it’s in stock.
Curious about this discrepancy, I go to Interbay Total Wine to verify. It’s right there, next to a bunch of other high-proof liquors, at “Aisle 04, Left, Bay 26” just like the website says.
Tag: sony
Stop missing focus with this one-button trick for Sony α6700
The Sony α6700’s subject recognition feels magical until the bird is small in frame or the background is busy. Then “Wide + Bird” starts looking like a coin flip. If you’ve been frustrated by this, you’re not alone1.
The fix: stop asking the camera to find the subject and start telling it where to begin.
The problem: Wide AF with Subject Recognition can get confused
My default Focus Area is Wide (why?). With Subject Recog in AF enabled and set to Bird, Sony prioritizes recognized subjects inside or around that area.
Tag: tesla
Call Tesla if you move countries after making your Model 3 reservation
I made my reservation on presentation day on March 31, 2016 when I used to live in Canada. I moved to the US later that year, so I went to Tesla’s website to update my account info with my new US address.
I got the invite to configure my Model 3 last weekend and noticed that everything was in CAD$. I called sales who told me that I need to cancel my old reservation and make a new one with US in the settings, and that they would honor my place in line. It’s nice that Tesla would do this but they also noted that this process can take up to 20 business days - an entire month.
Tag: thesis
Efficient animation with MATLAB
I used animation to help me visualize some of the work I did for my honours thesis (PDF warning). Prior to MATLAB R2014b’s major graphics changes, it wasn’t exactly easy to create efficient animations with MATLAB, so I spent some time figuring out the best way to do it.
Tag: tinypilot
I had to patch the Linux kernel to wake my PC using a browser
I rely on TinyPilot to manage a Windows PC that lives in a closet. TinyPilot is a Raspberry Pi-based KVM: it streams HDMI video from the PC and pretends to be a USB keyboard and mouse so I can type over the network. My PC also sleeps aggressively to save power. A real keyboard wakes it. TinyPilot did not, so every remote session began with a trip to the closet. Wake-on-LAN was unreliable on that motherboard, so I decided to make TinyPilot behave like a normal USB keyboard during suspend.
Tag: twilio
State of my home automation in 2018
Since moving to Seattle I have been gradually automating an ordinary apartment. The goal is not to build a trade-show demo; it is to make the lights, TV, door, and vacuum respond consistently. Online discussions often highlight the worst connected gadgets, but with some patience (and a few hubs) the living room can anticipate daily routines instead of fighting them.
Where we are and how we got here
The automation itch started in the laziest way possible: I was already under the blanket and wished the lamp would turn off by itself. That nudge toward Philips Hue led to HomeKit, which led to buying a Raspberry Pi at 1 a.m. because I could not believe there was no native way to control the TV. Once one subsystem cooperated, every other annoyance turned into a candidate for automation. The snapshot below shows the apartment as it stands today.
Tag: vision pro
"Vision Pro's passthrough isn't depth-correct"...?
This is a long post. TL;DR: what did Apple do to make Vision Pro’s passthrough not feel like crap despite not being depth-correct?
Depth-correct passthrough: what’s the big deal?
It’s well documented that it’s critical for video passthrough mixed reality to be “depth-correct” (AKA perspective correct) or you’ll have issues:
- Unpleasantness that persists even after removing the headset
- Can’t catch a tossed bottle
- Can’t grab things or estimate distances, feels like flailing, looks totally weird, and feels unusably bad
- Pico 4 passthrough unusable, disorienting
- “The importance of depth-correct passthrough reprojection… absolutely cannot be understated and is a make or break for general adoption of any MR device”
But perhaps the best analysis is this one by /u/kguttag. The conclusion is clear: if the passthrough is not corrected via reprojection to account for the difference between the locations of your eyeballs vs cameras looking outside (good quick explanation), you’re going to have an experience that feels weird at best and at worst unusable, disorienting, or even dangerous. You’ll have bigger problems than not being able to catch a ball.
Tag: wifi
Get reliable connection with your HomeKit devices
Update June 2021: people felt the methods in this post are too extreme. Fortunately, ASUS has since published a new support article on this topic, and I’ve heard that it works better. I haven’t tried it myself since I changed to eero (which works perfect with HomeKit) more than a year ago. Original post below.
I’ve had pretty good experiences with HomeKit with Philips Hue and Lutron Caseta. However, I noticed that standalone devices (ones that don’t have hubs) would often show “No Response” in HomeKit. This post shows some things that I learned trying to get all my devices to be reliable.
Tag: wildlife
Stop missing focus with this one-button trick for Sony α6700
The Sony α6700’s subject recognition feels magical until the bird is small in frame or the background is busy. Then “Wide + Bird” starts looking like a coin flip. If you’ve been frustrated by this, you’re not alone1.
The fix: stop asking the camera to find the subject and start telling it where to begin.
The problem: Wide AF with Subject Recognition can get confused
My default Focus Area is Wide (why?). With Subject Recog in AF enabled and set to Bird, Sony prioritizes recognized subjects inside or around that area.
Tag: wiring
Cleaned up the network/media closet
One closet to house all our networking and media equipment. Most of the hard work was done by the previous owner with the CAT6, HDMI, and speaker wires all in wall.

Here’s the network panel close up. I’m not super stoked about putting my eero gateway in here to act as the router but currently not sure what to upgrade to. Suggestions welcome.
Tag: xiaomi vacuum
State of my home automation in 2018
Since moving to Seattle I have been gradually automating an ordinary apartment. The goal is not to build a trade-show demo; it is to make the lights, TV, door, and vacuum respond consistently. Online discussions often highlight the worst connected gadgets, but with some patience (and a few hubs) the living room can anticipate daily routines instead of fighting them.
Where we are and how we got here
The automation itch started in the laziest way possible: I was already under the blanket and wished the lamp would turn off by itself. That nudge toward Philips Hue led to HomeKit, which led to buying a Raspberry Pi at 1 a.m. because I could not believe there was no native way to control the TV. Once one subsystem cooperated, every other annoyance turned into a candidate for automation. The snapshot below shows the apartment as it stands today.
Tag: xr
"Vision Pro's passthrough isn't depth-correct"...?
This is a long post. TL;DR: what did Apple do to make Vision Pro’s passthrough not feel like crap despite not being depth-correct?
Depth-correct passthrough: what’s the big deal?
It’s well documented that it’s critical for video passthrough mixed reality to be “depth-correct” (AKA perspective correct) or you’ll have issues:
- Unpleasantness that persists even after removing the headset
- Can’t catch a tossed bottle
- Can’t grab things or estimate distances, feels like flailing, looks totally weird, and feels unusably bad
- Pico 4 passthrough unusable, disorienting
- “The importance of depth-correct passthrough reprojection… absolutely cannot be understated and is a make or break for general adoption of any MR device”
But perhaps the best analysis is this one by /u/kguttag. The conclusion is clear: if the passthrough is not corrected via reprojection to account for the difference between the locations of your eyeballs vs cameras looking outside (good quick explanation), you’re going to have an experience that feels weird at best and at worst unusable, disorienting, or even dangerous. You’ll have bigger problems than not being able to catch a ball.



















