"The only thing that makes life possible is permanent, intolerable uncertainty: not knowing what comes next."
Last one from this book.
"The only thing that makes life possible is permanent, intolerable uncertainty: not knowing what comes next."
Last one from this book.
"Berosty looked up at him as slow as if the hinge in his neck had rusted, and said, 'Did you ask them when I would die, then?'"
"The Orgota seemed not an unfriendly people, but incurious; they were colourless, steady, subdued. I liked them."
"I suspect that the distinction between a maternal and a paternal instinct is hardly worth making; the parental instinct, the wish to protect, to further, is not a sex-linked characteristic."
"A man wants his virility regarded, a woman wants her femininity appreciated, however indirect and subtle the indications of regard and appreciation. On Winter they will not exist. One is respected and judged only as a human being. It is an appalling experience."
I recently did about twenty hours of coach travel (stark reminder that Aberdeen remains miles from anywhere) so finished this book from Christmas and also read a whole other novel. So you are going to get some quotes.
My copy of this novel has three different introductions. One of them remarks something along the lines of it being an easy read, but I found it really hard to get into - although science fiction has historically been my favourite genre, I have a low tolerance for made up words and this definitely surpassed it; However, once I got over myself and into the book I enjoyed it and found it interesting.
Note: Lisa Frankenstein: Brilliantly bonkers. 10000/10.
I recently switched to Android. I got a Pixel 7a on contract for a steal - I couldn’t get any new iPhone anywhere near the price. I say switched, but I’m not a die-hard iPhone user. I was coming from an original iPhone SE (after switching back to that from a iPhone 8).
Things I miss from iOS:
Things I like:
Things I am indifferent about:
I think basically, nowadays, everything is gravy. Android and iOS are both great. Pixel and iPhone are both great. You are basically being a dick if you hate one over the other.
Having an Apple Watch did make me think twice about switching, but the main two things I’ve used it for are:
Thankfully 1 is no longer a requirement: I have saner on-call rotations now. And for 2 I can carry on using it as I always have, which is mostly using it as a sports watch instead of a smart watch.
I still have my iPhone SE plugged in as a “desktop” phone (with headphones taking advantage of that headphone socket) so whilst at home (which is most of the time) my watch still works exactly as it did before, giving me double the iMessage/Airmessage notifications.
And actually, when out and about, connecting my watch to the Pixel’s hotspot works pretty well and means my watch mostly just works as it did before. The only issue is that sometimes it randomly disconnects and then the hotspot turns off.
My thoughts were that my watch is four years old now. It’s stuck on WatchOS 8 and so abandoned by Apple. The battery is still pretty good though and I can see it lasting another year, but I’d be surprised if it lasts much longer than that. And this Pixel I can use until 2028. So when my watch dies I plan on getting a cheap running watch (Garmin Forerunner 55, Coros Pace 2, Polar Pacer, etc), especially as I don’t do that much running anymore anyway. As long as I undercut the Apple Watch SE price I’m winning (for my needs); I still think the Apple Watch SE is superb value especially when coupled with WorkOutDoors (also superb value); The watch is Apple’s best product in my opinion. But I can do Pixel plus Garmin, etc cheaper.
And the Pixel 7a is really a superb bit of kit for the price.
"Armed with his $3.5 million Stradivarius violin, Bell pitched up at the top of an escalator in a metro station in Washington DC during morning rush hour, put a hat in the ground to collect donations and performed for 43 minutes... By the end of his performance, Bell had collected a measly $32.17 in his hat."
From the Art chapter. Not my kind of gig so I doubt I would have stopped or donated, but it is funny how the value of art is perceived based on the context and the reactions of others.
"And that's what happened with Air France flight 447. Although Bonin had accumulated thousands of hours in an Airbus cockpit, his actual experience of flying an A330 by hand was minimal. His role as a pilot had mostly been to monitor the automatic system. It meant that when the autopilot disengaged during that evening's flight, Bonin didn't know how to fly the plane safely."
About planes, but from the Cars chapter. And this is kind of how I feel about on-call and runbooks. Runbooks, automation and safety systems (I.e. tooling that tries to stop you doing stupid things) are important, but you do also just need some skin in the game and some understanding of the fundamentals of the systems you are supporting. Runbooks aren’t the be-all and end-all.
As (somewhat*) recently mentioned I switched back to Taskwarrior. On my server I just re-enabled my cronjob to rollover incomplete tasks each day. On my work macOS machine I was doing this manually to start with until I found time to figure out launchd
(it had been a few years). I ended up with this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.taskwarrior.rollover</string>
<key>Program</key>
<string>/Users/simon/bin/task_rollover</string>
<key>StandardOutPath</key>
<string>/tmp/task.out</string>
<key>StandardErrorPath</key>
<string>/tmp/task.err</string>
<key>WorkingDirectory</key>
<string>/Users/simon</string>
<key>UserName</key>
<string>simon</string>
<key>RunAtLoad</key>
<false />
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>0</integer>
<key>Minute</key>
<integer>1</integer>
</dict>
</dict>
</plist>
And not that I needed to for this case, but if you want to run at multiple times then you need to use array
:
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Hour</key>
<integer>09</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<dict>
<key>Hour</key>
<integer>22</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</array>
(I needed this kind of setup for something else, but might as well include it in these notes/post).
Anyway, the script I was calling was just:
#!/bin/sh
/opt/pkg/bin/task $(/opt/pkg/bin/task rc:/Users/simon/.taskrc status:pending due.before:today ids) rc:/Users/simon/.taskrc rc.confirmation:no rc.bulk:100 modify due:today
I couldn’t figure out getting it working without a wrapper script.
Also, to get it to actually load and run properly I couldn’t use the (deprecated?) load
/unload
commands:
launchctl load ~/Library/LaunchAgents/org.taskwarrior.rollover.plist
launchctl unload ~/Library/LaunchAgents/org.taskwarrior.rollover.plist
I had to do:
launchctl enable user/501/~/Library/LaunchAgents/org.taskwarrior.rollover.plist
launchctl bootstrap gui/501 ~/Library/LaunchAgents/org.taskwarrior.rollover.plist
The 501
you can get from running id
. Then you should see the launchagent listed via launchctl list
.
To run it once:
launchctl kickstart gui/501/org.taskwarrior.rollover
To disable:
launchctl disable user/501/~/Library/LaunchAgents/org.taskwarrior.rollover.plist
launchctl bootout gui/501 ~/Library/LaunchAgents/org.taskwarrior.rollover.plist
You need to disable and re-enable if you make changes to the plist file. I like how Apple streamlined that from two unload
and load
commands to needing four commands. Thanks to stumbling across this Reddit post for those.
Also, the StandardOutPath
and StandardErrorPath
didn’t actually help at all with debugging why it wasn’t running so those can be removed.
Give me the simplicity of NetBSD’s cron any day.
* - I wrote this up ages ago and forgot to post it
Note: Marika Hackman's is probably my favourite so far. Just.
Note: Wonder if The Reytons will release an album next January as well?
Note: In lieu of an actual post: Albums from Sprints, Marika Hackman, The Reytons and NewDad. All in January!
"And it's Bayes' theorem that explains why - even if you have been diagnosed with breast cancer - the level of error in the tests means you probably don't have it."
Got this book for Christmas from Little M. It’s very readable and interesting. This quote actually comes from the Cars chapter which is after the Medicine chapter; The opening page of the Medicine chapter is mind-blowing.
These are the ten most recent posts (not counting any note drivel), for older posts see the Archive.