Dennis Forbes ·

I drive lots of places. I’ve had my licence for decades, have countless kilometres under my belt, and see cars as liberating. I’m an “Ontario speeder” which means I generally drive around 20 over, yet have zero infractions over all my years driving. Zero accidents either, aside from a minor thing where I went a bit off-road a bit and hit a mailbox: A bee or wasp somehow crawled into my summer shoes and like most I have an irrational overreaction to such things. Only yielded a scratch on a passenger door and a country mailbox that needed to be put back in place on its stand.

Oh, I also once scratched the bumper of someone in the parking at Awenda Provincial Park as I pulled a 26-foot travel trailer and the combined turning radius wasn’t quite what I calculated.

But I also love biking. I love walking. I love transit. I love being in areas that facilitate and encourage all of the above, where I never need to think about parking or other car-related nonsense. We go on vacations to better-planned cities where everyone is walking and biking and it’s just wonderful, and then we come home to our “designed for cars” cities and just accept this as normal or the best we can do? It isn’t.

Here in Ontario, a leans-on-populism premier recently did a big dictum where he forced his way on a lower level of government and ordered them to remove some already built and paid for bike lanes. This was idiotic, and is the sort of self-destructive nonsense that make us look backwards and clownish, and thankfully the courts have thus far blocked it. A number of propagandist figures posted videos to support the premier’s overreach, lamenting the “low number of cyclists” using the bike lanes, not noticing that in their own cherry-picked video there were more cyclists seen than personal vehicle occupants.

Brian Lilley, for instance, who pretends he’s a reporter but shares a bed with Ford’s media relations manager, and is the sort of guy that just puts out completely worthless, thoughtless partisan noise.

The weird thing, and the only way this car-centric nonsense continues, is the significant percentage of the public that makes being anti-bike their personality. It’s like the obnoxious people who want to start incredibly boring spiels about how much they hate pineapple on pizza. If there is a discussion or media story about bikes, these sorts (likely heart-attack in waiting sedentary lazy-bones) always crowd the discussion, making the cliché bot-like noise. It’s bizarre.

Cities should not be designed around single-occupant vehicles. Indeed, those uses should be massively discouraged, tolled, impeded, and so on. The outcome would be better for literally everyone, even if so many can’t see how self-sabotaging the pro-car prioritization we currently endure is.

Every single-occupant vehicle is a massive failure in basic civic sense and city planning.

Dennis Forbes ·

Obsidian is Electron based, and thus it is an eminently scriptable platform. This is evident in the broad range of core plugins that come with the platform, along with a massive community of plugins from third-parties.

I trust the core plugins. I do not trust community plugins. While there’s a superficial vetting on first inclusion, the potential for supply chain attacks or malicious intentions is enormous.

Thankfully adding your own scripted functionality for novel needs is trivial, and the major LLMs are fully versed in creating simple plugins for the system. For my daily notes I start with a template and on file creation a simple, easily audited script, mostly built with Gemini, grabs the current and forecast weather for the day through a web API, and then grabs my current chess.com ELO, and drops it into placeholders in the template. And yes I used Gemini because I have approximately zero interest in becoming an Obsidian scripting expert. But the result is a tiny plug-in script, kicked off on file creation, that I can audit in seconds, versus massive and overwrought community plugins that I can’t reasonably verify in any rational amount of time.

The chess ELO thing is an odd, temporary inclusion as I realized my chess game had stagnated and I’d become mentally lazy about the game, so it’s just a personal motivation to make it a metric I pay more attention to and stop making the silly mistakes and blunders.

Dennis Forbes ·

I’m a heavy user of Obsidian MD. I use the app across macOS, iOS and Windows, but instead of using the inbuilt sync service I store my vaults on a cloud drive. I use multiple vaults (Research, Daily Notes, General / Family, and then one for each major project) all subs in a shared root directory.

Why not the Obsidian sync service? Because one of my reasons for choosing this product is decoupling from a specific platform and treating it as a file-system structure of markdown files that some editors lubricate the use of. Using the built-in facilities for sync is orthogonal to that goal. Everyone should still support Obsidian with a Catalyst license.

I manage history by storing a git repo of all the Vaults and pushing it to a remote repo, accomplished periodically via launchd on the Mac. But given that I store the git work tree on an external drive this causes just endless pain as the security system interjects itself and normal simple perms do not suffice. Macs really encourage you to use the undersized, overpriced internal drive, and make using external drives a nuisance. Add that eliciting the removable device perm request seems to be a roll of the dice, and other times it just auto-denies.

Running the zsh script from launchd fails because it doesn’t have the environment or perms my user account does, and I refuse to just grant zsh universal perms for this one-off need.

Solution: Create a simple Automator app that just calls the script. Run the Automator app, e.g.

/usr/bin/open -W "/Users/.../UpdateObsidianGit.app" `

Grant it the removable device perms. Now schedule that app to run periodically via launchd. Problem solved. Automator is a pretty neat tool, and I had never touched it before but will leverage it heavily henceforth.

Oh and for the git remote I push encrypted files courtesy of git-crypt. Filenames and metadata is still visible, but contents are not if the remote were compromised. Originally used git-remote-gcrypt but having one or two mega files that have to be fully pushed on every tiny incremental change wasn’t quite what I was looking for. For more secure projects and vaults I store them in Cryptomator volumes on the cloud drive. Cryptomator also uses granular change management, similar to git, so changing a file or two in a large project doesn’t yield a massive transfer.

Dennis Forbes ·

I evaluate the storage usage on my primary Mac Mini occasionally, always to be surprised by some storage bomb that is consuming far more than expected. Today’s lucky winner is Windows App — this is the RDC client I use to connect to my primary Windows CUDA machine — which was consuming almost 200GB in the user Caches folder, accumulated junk going back about a year.

How does a simple VNC app amass such a volume of junk files? Very good question. Each time I do this exercise I find some culprit that subscribes to the add forever but never manage or delete philosophy of file management. And note that the Caches folder isn’t some system service where things are truncated as needed, but instead it’s up to the apps using this facility to delete their junk as they go, which lots of apps never do. Add that on modern flash storage you shouldn’t treat it like RAM where “empty space is wasted space”. For a variety of reasons you should strive to have 20%+ of an SSD unused, yielding the benefits of pSLC/dynamic caching. Lower usage/TRIMming makes wear-levelling more capable as well.

This entry reminded me why I’ve always leveraged external storage on my Macs.

Dennis Forbes ·

A number of local stores were retailing a Neilson protein chocolate milk product over the past month or so. Featuring 26g of very high quality whey protein per 325ml bottle and minimal sugar (only natural milk sugars), this product is an absolute banger, and while a lot of people don’t like the light sweetening — only a small amount of stevia — with an added sucralose sweetener it is an amazing way to start the day.

$9.99 CAD for a 12 pack, which is an astonishing value. I bought some at $19.99 a few weeks earlier and was a big fan at that price too. You can’t make a protein drink yourself this cheap with the dodgiest protein powder.

If you’re listening, Neilson, please continue with this product. Not sure if you just had an excess of powdered milk that you needed to get rid of or something, but this is a great product in a space that is dominated by American brands like Fairlife.

Dennis Forbes ·

When Our Devices Crash Into The Real World

Apple Devices Last…Sometimes

I’m a big fan of Apple hardware. They make excellent smartphones, laptops and desktop computers, whether all-in-ones like the iMac or small form factor like the Mac Mini. The performance is generally excellent and the energy efficiency is top tier. And while some Apple software has regressions — Tahoe should probably have gone through more of a QA cycle, for instance — generally I think Apple has excellent software quality as well.

It’s a great combo.

Their offerings are generally secure and reliable. Their pricing is entirely competitive.

Treated carefully these things generally last forever. I’ve never had an Apple device fail on me, and instead they only go out of service due to extreme obsolescence1, or because of misfortune yielding a physically destroyed device.

I’ve decommissioned some iPhones, iMacs and an iPod due to obsolescence. We lost a couple of iPads and an iPhone due to physically being destroyed. Lost an Intel-era Macbook Pro because my son lightly dented in a corner of the screen, and courtesy of the tiny bezel made of soft aluminum, it destroyed the screen.

If Treated Extremely Carefully

Some Apple devices are built for aesthetics, however, with form clearly prioritized over function. At least in how they can survive the perils and risks of the real world.

iPhones look and feel amazing from the factory, but I don’t even take one out of the box until I have a heavy duty case and screen protector ready to be installed within seconds of its consumer birth2.

“Just buy AppleCare+ and don’t sweat it”

I have zero interest in spending my time at an Apple store, or without my device. Going without my device and then getting some refurbished device is not a valid solution for me. There is literally zero upside to getting a phone repaired or replaced in this fashion, and I’ll avoid it wherever possible3. And to be clear, I usually do buy AppleCare+ regardless and for worst case scenarios, but I still don’t want the hassle.

And clearly I’m not alone. Only maniacs use their iPhone without a case4, and all of Apple’s boasting about making slightly thinner or lighter devices just doesn’t matter to most people who just want a better battery, performance, screen, camera, etc.

See the flop that the iPhone Air has been. Seriously, almost no one thinks smartphones need to be thinner, yet for some reason Apple particularly seems to really care about this. Every release goes on about tiny savings on thickness or weight that no one outside Apple cares about at all. It’s institutional pathology at this point.

An uncased iPhone is an attractive, impressive device. But it isn’t practical for most people. We all occasionally fumble our device, knock it off shelves and chairs, or put it in a pocket with scratchy companions.

The Counterpoint

This whole thought came about while moving my youngest son’s Lenovo laptop5. It offered an example that it doesn’t have to be this way.

The thing is built like a tank. He tosses it in his backpack with little concern. The shell is strong, and the screen is well protected by beefy, strong bezels. It’s still a speedy, impressive device, but somehow it also can survive normal use without babying.

I contrast this with the MBPs I’ve had. All are outrageously fragile devices that I carefully extract from their massively-padded laptop cocoon and carefully place on the desk. MBPs often feature tiny bezels and beautifully curved aluminum shells, so you need to be extremely vigilant that are never hit around these perimeters.

I treat Macbooks more carefully than any other electronic in my life. It is a device I actually don’t like using out and about. Whoa, does that table I put it down on have tiny bits of material that are going to scratch the bottom? Is someone going to bump the edge while moving by?

Give Us Rugged Apple Devices

I know this angers some people who really prioritize looks above all, but we need rugged Apple variants.

I want to use Apple Silicon (especially now that they added “tensor” functionality in the GPU) on the road. I want to use Apple’s software. The outrageous, unacceptable fragility of the devices is the part that I find hard to rationalize, and always reach for alternatives.

Give us rugged options. No, I do not care that everyone knows I have the latest Macbook or iPhone. No I don’t want people marvelling over bezels or soft-metal shells. I absolutely do not care if it weighs a bit more or is thicker or has larger bezels.

Give me some sort of beefy, robust options that I don’t have to fret over and baby. Make it ugly if need be. Make the form fit the actual function. Let those of us who don’t prioritize the aesthetics of a tool the option to have more durable, robust options out of the gate. There is a medium somewhere between “fragile, precious work of art” and “gaudy plastic covered with stickers”, and I think it’s a medium many customers would prefer.

Footnotes

  1. We’re in the process of replacing a couple of XRs in the family. They still operate perfectly, performance is still satisfactory and the screens still look fantastic, but they’re being replaced purely as these seven-year-old devices are no longer getting major OS updates. While they’re still getting security updates, it won’t be long before major apps start gatekeeping on iOS 26.

  2. This isn’t always enough, however. A few years back one of my sons was late going out for the bus to school and had to run down the icy drive to get there in time. An unfortunate fall on an inconveniently situated rock yielded a situation that even Spigen armour couldn’t help with. The iPhone was soundly destroyed.

  3. While maybe it’s just online bluster, often in discussions about driving — whether in the real world or online — people will boast about how people had better not “cut them off” or the like, because they don’t care they’ll smash right into them.

    This attitude fascinates me. I’ve avoid a number of accidents through careful defensive driving because even if the other guy is fully at fault and my dashcams back me up, it’s still an enormous hassle with only downside. I think of this when people use AppleCare+ as their fallback.

  4. Seriously though, I am truly fascinated by people who use fragile smartphones without cases. I mean, often they have multiple cracks on their screen, a dented in enclosure, and so on, and I guess they’re willing to live with that.

  5. He bought this laptop with his own earnings from his various initiatives in the virtual world. At times this teenage Roblox developer/business man in training is out-earning me, which is humbling.

Dennis Forbes ·

Relaxing Background Sounds, Built In

If you go under Accessibility / Audio on macOS, or Accessibility / Audio and Visual on iOS or iPadOS, the operating system has built-in background sounds. The 26 release expands the options, offering up the following gamut of choices-

  • Balanced Noise
  • Bright Noise
  • Dark Noise
  • Ocean
  • Rain
  • Stream
  • Night
  • Fire
  • Babble
  • Steam
  • Boat
  • Bus
  • Train
  • Rain On Roof
  • Quiet Night

More than half of these are new with the 26 release.

They aren’t all winners, but in a pinch they’re a great way to camouflage background noises. They’re especially potent when used in conjunction with a ANR headset.

It is notable that the macOS implementation offers the ability to choose to download higher quality versions, but that function seems to be broken currently. In normal operations when you download the higher quality option the icon will change to a wastebasket for when you might want to delete the local copy, but that doesn’t currently function. This might explain why some options loop too quickly and have clear repeating patterns. For instance “babble” is not great on macOS, where it’s excellent on the mobile variants. That will get sorted at some point.

Note also that you can add these as shortcuts in the control center to make quick toggles and sound selection even easier.

Dennis Forbes ·

It’s a good smart watch

I’m a big fan of the Apple Watch and its health metrics1. It’s a great platform for health and activity tracking, and is just generally a great device. The SE devices are a wonderful value if you’re okay with the mediocre, yet workable, battery life.

That is actually my single real complaint about the devices: competing devices are offering sometimes weeks of usage with a similar feature set, yet Apple keeps boasting about making it lighter or with a slightly bigger screen, barely improving on the 18 hour battery life. It would be awesome if one could go away for the weekend or even the week without worrying about the special needs of charging your watch. And of course, for children it’s one of those annoyance/benefit things where often they’ll have a dead device.

Yes, you can charge it while showering and during other activities and make its limitation work with minimal fuss. It still would be better if you didn’t have to.

And my suspicion is that Apple keeps such a marginal battery in the device to ensure that as the battery fades you upgrade purely to get back to a workable battery life. If the device started with a two week battery life, few would be motivated to upgrade when a couple of years in its down to a week of battery life. Seeing your 18 hours drop to 9 hours, on the other hand, is a very different story.

Regardless, one measure I’ve paid attention to is VO2Maxpdf, using it as a general measure of overall health. Using my Polar H10 and its VO2Max feature I get very different numbers (much better numbers, for what it’s worth). However, I only use the H10 occasionally so it’d be nice if the Watch proved useful on this measure, at least in relation to seeing trends.

But don’t read too much into the VO2Max Measures

I’ve become suspicious of the value of the VO2Max measure, however, at least in regards to movements in one direction or the other.

I’ve had activities where my heart rate has stayed relatively low and consistent, and yet my VO2Max inexplicably drops. Others where I’m a bit under the weather and my heart rate is higher than normal, yet my VO2Max improves. I’ve had walks where I’m carrying 40lbs of groceries2, expecting a big VO2Max penalty — the watch has no idea of the burden I’m carrying, but suddenly my body is working harder for seemingly the same effort — yet it rises still again.

This matters to me because there is the implication that the calculations are seeing something deeper. So when my VO2Max drops, it makes me concerned. It makes me wonder if there is some underlying health condition that the Apple Watch picked up on early.

This led to me exporting the heart rate data from a set of activities to trying to find any correlation with the movements of the VO2Max measures. I found no correlation, and it seemed almost random. Like in broad strokes my overall fitness level justifies the broad band within which my VO2Max sits, but the number is rising and dropping by up to 20% seemingly based upon essentially nothing.

Over the spring and early summer I was doing a significant number of activities where the Watch was reporting it. Every day there would be at least two sessions.

My VO2Max kept improving, jumping almost 20% over a month or two. These were pretty low-effort sessions so I was a bit surprised that they seemed to have such an outsized health benefit.

As the heat of the summer settled in — and Toronto summers are very, very hot and humid — I stopped doing those activities and moved to alternate cardio exercises that weren’t subject to Apple’s VO2 estimates, yet were even more potent for actual cardio training. To be clear, I was absolutely doing activities that maintain if not improve VO2Max, but not under the watch of the Apple Watch.

So on the rare occasion where I did do an Apple Watch monitored VO2 effort, my score kept dropping and dropping. Every week it was a new low. Again I exported actual heart rate data for the relevant activities and it didn’t support this drop, and seemed comparable to heart rate response from the spring when my VO2Max was hitting personal highs.

What gives?

The Man Behind The Curtain

The Apple paper linked above heralds the tight correlation between the Apple Watch’s VO2Max measures and formal measurements using a lab test with a max effort, mask-monitored session. While individuals often differed between measurement devices significantly, it averaged out across the set.

I think that correlation might be overvalued a bit: It is one of those cases where just having rudimentary measures about a person — their age, sex, weight, height, etc — is enough to approximate a set of people to a close to 1.0 correlation: Exceptional people will fall above or below your guess, but it will average out. Getting a good correlation seems to be mostly a parlour trick, in the same way that you can guess someone’s age of death using mortality tables and you’ll also hit an ~1.0 correlation. Some will die much earlier, some much later, but that’s the whole thing about mortality tables is that it will mean out.

Apple documentation on the VO2Max measure makes a big deal about doing relevant exercises frequently, purportedly to give it more data to analyze. After months of monitoring this, I am confident that frequency of activity as observed by Apple Watch is the most important input into their equation, regardless of the heartbeat response to an activity.

It starts by setting you to an average VO2Max for your particulars, then maybe adjusting based upon significant heart rate variations from estimates. As you do Apple Watch activities frequently, it will improve your score regardless of heart rate response. If you do activities less frequently, it will drop it.

Conclusion

Clearly Apple was concerned with wide variations in VO2Max scaring users or making the measure look unreliable, so they put in a longer term averaging that makes general trends almost worthless. If I am feeling sick and am carrying 40lbs of groceries, I would fully expect my VO2Max to drop significantly, yet instead I see it actually improve because for the two weeks prior I took daily walks. And so on. None of this is seen in its measures as it massages it out and seems to use it mostly to gamify doing activities, acting as a bit of a fake feedback loop.

That is unfortunate. It makes it, in my opinion, a poor measure of health and at best is a “how many VO2 max qualified activities have you done in the preceding period?”.

Footnotes

  1. As detailed in the opinions page

  2. I love walking and getting groceries as an bonus of being in a suburb that is nearby many amenities. Occasionally I underestimate the weight of the groceries I’m carrying and it gets a bit ridiculous.

Dennis Forbes ·

Installed the release of macOS 26 (Tahoe) yesterday.

Aesthetically I’m not a fan of what they’ve done on either the macOS or iOS/iPadOS sides of the 26 releases. I’m a pretty chill guy about that sort of thing generally and just try to roll with whatever they deem appropriate — aesthetics like this have a lot of subjective qualities, and I don’t imagine myself to be a great judge so I just assume they’re the experts — but wow, it is seriously ugly.

The ridiculous rounded corners that are dated to begin with, but different apps and even platform features see laughably varying radii. The awful translucency that makes many apps and controls visually confusing, ruining the visual clarity of the display. The control bar on the Music app, for instance, is just just a mess: Gray controls on a translucent background where album covers beneath force you to have to spend mental effort interpreting what you’re seeing. Obnoxious animations that don’t help with affordances at all.

Music app controls

Ugh.

I can roll with all that. It’s ugly and with reduced usability, but…whatever. Adapt, Darwin, I Ching. Whatever Man, We Gotta Roll With It

Woke up to find my Mac unusable, having exhausted all of its memory overnight. For those who have ever encountered this, even after you’ve force quit the culprit consuming 90%+ of the memory, it’s still almost impossible to make the machine usable short of a reboot. macOS deals with memory exhaustion very poorly.

The culprit was Messages1 (aka iMessage), sitting at 60GB+ and still trying to acquire more. I wonder how much of my SSD wear it rolled through paging garbage out endlessly through the night. Good times. At least I have Applecare+.

It wasn’t some esoteric new service or JetBrains app eating all the memory, but instead one of the most banal core apps on the platform.

Best I can tell, my brother-in-law sent an overnight message in a fantasy football group sharing a funny video. My power napping Mac momentarily wakes for things like this and it seems that sent it spiralling.

So that’s nice. I’ve disabled waking for network access and now sit with activity monitor open and Stats running in the menu bar. Sad.

Foreboding. Every indication is that Tahoe is going to be a disastrous release. Something is going wrong in Apple’s software development process.

Footnotes

  1. At least this is what the system is attributing the memory to, though I’ve seen a number of reports of similar massive leaks against other basic apps.

Dennis Forbes ·

Like many people, I use a third-party mouse with extra buttons on macOS. I enjoy the gestures available on the Magic Mouse, but it isn’t an ideal mouse for precision work. The extra buttons of the third-party mouse are a great productivity boost. For instance I’ve set the scroll wheel button press to bring up Mission Control1, and use this constantly.

Support for the back and forward buttons should be pervasive. We’re about two decades past this being a known benefit. Some apps just automatically utilize these extra mouse buttons, for instance Microsoft Edge, but Safari explicitly does not. Safari stubbornly does not. It’s obnoxious.

A similar daily annoyance is the lack of system volume controls for individual apps. Sure apps that emit audio often have their own volume control, but there are many cases where they simply don’t and you want to reign them in at the system level without having to decrease your master volume. macOS has no such facility.

And finally Bluetooth and audio devices. When bluetooth connects it has a variety of protocol/profile options at vastly varying levels of quality. If it uses a profile that uses the microphone on a headset — and sadly almost every headset has a microphone now, which is unfortunate given this problem — it will use a terrible quality profile for output audio (HSP/HFP), prioritizing high quality recording of the microphone and dropping the audio to a low bitrate, mono mess. If a single app on your system asks for audio input, even optionally, bluetooth headsets will fall to this AM-radio quality level audio output.

All I want for Christmas is to be able to configure the headset to not use the microphone, and to never ever fall to HSP/HFP. There is no such facility. Buy airpods that have their own solution is the fix, I guess.

For each of these missing features, and for many similar little itches, there are third party apps to hack in the ability. I don’t want to have to trust or use sometimes dodgy third party apps for simple things like this. For instance background-music can be used to individually control the volume of apps, but it’s so overwrought and has such ugly edges it’s not something I want running normally.

They’re big oversights and it’s absurd this continues to be a problem.

Footnotes

  1. Before some recent updates I would have to reconfigure this shortcut in Keyboard & Mouse Shortcuts on every restart, but recently it actually was fixed and retains it.