Our evening snacks have arrived!

🇸🇪

5 minutes remaining…

A MacBook Pro showing an Apple logo system update screen with a progress bar and 5 minutes ETA

Ordered some groceries by robot delivery and now the whole family is anxiously watching it take a very slow and complicated route to our home, probably to avoid intersections and other difficulties.

Impressive typo-per-character ratio there

The Töölönlahti miniature power plant is back in action, yay!

I was going to go for a long walk and listen to some long-neglected podcasts but my AirPods said nope

All your Rosetta AOT binaries: 0xcacaca!

This is the single biggest (small) thing I miss from having a Touch Bar. I still instinctively reach for the Touch Bar “man” button on my laptop when I want to open a man page, even when I’m using an external keyboard.

Does anyone know how to modify the man paths so that Terminal recognises it (ie it works when you right-click on a word an select “open man page”)? Someone asked this on Ask Different back in 2019 but there was no response. Editing /etc/manpaths wasn’t enough, obviously.

Home again

Happy easter! Glad påsk! Hyvää pääsiäistä!

Easter egg with candy and a chocolate rabbit.

It’s spring in Helsinki!

☃️

My Backblaze backup has entered some kind of “safety freeze”. Apparently, if you use their client-side encryption, this is an unrecoverable state where they ask that you manually (using their web-based file browsing UI) check the difference between the Backblaze backup and your local system. I have 3 million files and 3 TB of data backed up. That would be … interesting.

After that I’m supposed to manually uninstall, reinstall, and transfer the backup state. There is no explanation for what caused the freeze except a “major inconsistency between the backup records on your computer and the records on the servers”. I haven’t done any OS reinstall, restore from backup or anything really - this came out of the blue.

I’ve used Backblaze for 10+ years with no major issue, so this one snag in a decade of use I can maybe forgive.

I unironically love it when you open a man page and it just straight up assumes you don’t know what a file system is.

När man är utvilad nog att vara vaken och man stiger upp
Vrider upp musiken av bara farten
Förvånad sträcker man på sig och beter sig
Som om man aldrig sett solen förut när man ser sig om
Efter ett gyllene tecken av säkraste sort
Folk som fånler som om kyla räknades bort
Kort sagt spenderar man vintern inklämd mellan tätade skott
Så kommer man ut sen och ler som om man flätats för hårt

Here’s a rare plug for my work: try the (free) F-Secure beta, called FS Protection! It includes anti-malware, a simple cross-platform syncing password manager (native UI on macOS, iOS, Android and Windows!), identity protection and parental controls. Sign up here: beta.f-secure.com

Turns out I had been triggering various security monitoring alerts, which in hindsight is quite understandable as I did some 144 (or if it was 288) logins per day to check my account balance.

About 20(!) years ago, my bank had a simple password login option with read-only access e.g. account balance. I wrote a script which polled every 5 or 10 minutes and sent an SMS whenever balance changed. After a few weeks they called and told me quite firmly to stop if I wanted to keep my accounts.

My bank has innovated so much I now get three different push notifications when I pay for something with my phone

My UTM Documents folder with all my virtual machines now amount to 8.8 TB of disk space, or possibly 2.63 TB. I have a 2 TB SSD in my laptop, with 963 GB free according to “df”, and 1.24 TB free according to Finder. Copy-on-write file cloning sure is interesting.

Speaking of UTM, it may be time for me to clean up my temporary virtual machines. I miss the snapshot feature of VMware a bit.

Has anyone concocted an /etc/fstab entry that would automatically mount a virtiofs shared with a macOS guest in UTM? docs.getutm.app/guest-sup…

a screenshot from the game Townscape

LSiw8MfIkhK7xUXudZCo_2Zl6joVfNt6wq-_6P0my_wn9Db-C3P1l8NvqP_19VxuPH29dytPQm8JTA13O-R0fN9nVr__aA7PN2vnV8htfhr4Td-m3P_9rg-c4vL_DkJfzsS9twfE9XT-Z1K2vVt-Tva_M2vn9DbDfhb4TdDfwb4jf-K4PH_7i-AZznMr_25Pi_rp-we9wY-e2xH2_FufqL7be-43vC_wh-u4PQ28JwqvdW9R0qPr2991uP029F3uP9_30VzH8_HB7fkslP0l9Zvj-Aa-xW2X4_yvfF8nD-dyqvm29Z1uvv29h2uv4_TvCfDW4fu1v29X61-YYLfnL7De-lk9Po1vnl9htsvx9be-43vC_wh-u43HI-_S53nM-_0rx3gFC-Du_husfpXL-Rs_HB7vsqiPa9wYZfP7H2z_C3P1l9Nvf87XB-5xfX8HI-lzvPZ_9twsPim910uPrm891kP0O9N4h-pU-u1zv0q-yn6_01-JT-M1vXt81rsPj97Z-xW2X4_pufw7H-_VxfO83F-Bzfp87Tm-25Piu810fW93Xn_G8xf9pfy6fgql-BSXfZ6Htq_61Pj97Z-xW2X4z_U3v59jf-K4PHm9dyfg87Ll-k5vd_jo-a6Pr_7rLfDe4fA1zXq_bH6Hk_lplvVl9Rrf96ny_9snPsl9FusP19beHf87XB-5xfX8T9BzqvU_TmLf78HR-10fWd5bxD-So_f_Z67Q-g0zXm_JqsvV9jW-61Pj989sfY7X4z_U3v59jf-K4PH_9dyfg8XKX_k5vdG9R0fN9nVw__a2Haw_ib23gH_w68wP-O0zHk_lpsPR9bV-o1ve9wYPfP7H22_CX2n6z_mX2H-z_K43nDw_uY2HIw_S5PZG9twfE9XTw_s6vv_DtffyN7bx-T2k9Vnf_Z57Q-g0wXm_Jqfr6Ht_1rfG73w_htfh7n6_NvqP_9rg-c4vL_DkZfp8nMj_25Pim910fW93X-h2fyN7bxD-wa-XQ6H2_Hj5Hb_VnlP-87QZfZ6no_tqf06Xv_ZsfP7X4_pufw7H-_VxfO83F-BzsvUm9Jwsvdm9R0fN9nV-91fo9Xcw_G8xvhofR6H0_lt-jWm_GwP2s8Vnf_J7LT-E1vV9jW-61Pj9Lc-U3v59jf-K4PH_7i-A5vU_TmVf78HR-10fW93X-h2fyN7bxD-ji_Jt-Cg_JpfI7n2_TR5nW_NmlP28rOZfC63i_lpfi63q_Rrf96nz_Ntfh7n6_Nvf87XB-5xfX8HI-lzfz83O-R0fN9nV-91fo9Xc7_G8x-gnfT6Hx_tt-Ch_ys-ye_1ofD7X1_PI5XU_plfj5Hbz_8wvD9LT-E1vV9jW-M2vn9Lc-U3v59jf-K4PH_7i-A5vU_Tm-25Pi_rp-s6vv_DtZf6d4bxD-Dcz_C0PJ9DX-S2Pt9XqwvF9rX-m2fJP-I0vg9jZ-lfE9hkfRp5TL-GwP-8LT-E1vV9wY-C3P19be-43vC_wh-u4PQ_Ll-k5vd_jo-a6Pr_7rb-Saz_i0vY9Lb-j38TR-u1Pp9XqwPB9rX-U2-YP-G2vX_fsR03Pi_Qzvo8TL-z0PR9Lc-U3v59jf-K4PH_7i-A5vU_Tm-25Pi_rp-sa2fEmsPI9LV-x2-INZfIq4LW-g2-AOZf45Hg_hrfA7Hz_btY4wG-_R0HS_FlqPt8bM-YT2Xd_5nivD9DS-zUyno_tqf06Xv_ZsfP7H2_Fufq738m_430XBn_c4vL_Dk-S5PZ_bn-I6vmm9bCc6Pz3vE_Pi30XE-HkIh81ihPb87HRfIp6LK-0zvyk9ymsv6U85nfH6Hk_lpfi63q_Rrf96ny_9sfY7X4_lufY8HI-lzfz83O-R0svB-fzyv-N9L37XB-Hxb6bh-F09Li-jN0YMfkI5rF-sy03Pm_Qzvo8TL-GwP2k9Vnf_53h_BpfZ6no_tqf06Xv_ZsfP7H2_Fuf8L77i-A5vU_Tm-2Zzne-N4j-peZfA8v4usvC_PCyv8l9HnL7Lh-FJ8c_2QwHJ_1ijPb87H-Qzvo8TL-GT2Hb_Vnf_53h_BpfZ6no_tqf06Xvz_MW23wz_x2xX4z_m3P_l95xfX8HI-lzfzM7rp-s6vv_Dt-i7P9e8N4j-pd-_X2vUv-y5_Jxs-RCPnw3G_RijvW8wG-_yPk8LK-0S23Y_ymf15nf_dofQ6Xm_Jqfr6Ht_1rsPj97Z-x2vx9wd-u3vCm95xsvLm9BzsvUm9R0fN94wqHff94DtHfy94Tv-G8yfduf57fAv-TCu_kxvNs8Rift4nN_9jfI5XU_plsvy8jN-qwP-87Q-g0vM9TU-W1Pa9rXZfG73w_htfh7H-_VxfOs57i-A5vd_joHfN9nV-91fo9Xc-p3j-Bd-i3fDAbfJY7TCLfbI7jE-ay0nNm__RwHS_FlfaJ7bMZfs5Xd_5nfH6Hk_lpfia6bV-o1vel9ZsfP7H2_Fufw7H-_VxMg6whHjy3F-Bzfz83OP_I6vm_9evPr_7r-Q7yXcP_l0FY_vNk9RitvW8wG-_RwHS_Flfa53Yz_Ywv68wP-O0PI9LT-E1vV9jW-6V2ny_9sfY7X4_pufw7H-qUqPHCAIfz84bn-I6379_a6379_s6vve8h2j-MB-2x2HJ_1if243PS_Qzvo8TL-GT2Hb_Vnf_53h_BpfZ6no_tqf06Xvz_MWy3wK_xWyX4_pufwr7jfAAl6whAgznMP_25Pi_9evvm_wq-_6yv9p-DAm_SxU6bDJfk4XL_Zjkvf8DJ-izPtk9Nmfs5Xd_5nfH6Hk_lpfi63q_Rrsve9wY-eWyH2_Fufqr7jfAAgS95QAg5TmHf78HR-10fW943aw-BA-SxvNk8RikvWM8Zjf-4HS_FlsPtk9Nmsv68wP-O0PI9LT-E1vVl9Rrsve9wYJfPL5Db-C33H-AAgHQ9VQAAAo_cIAABUfz84bn-I6vme8Pm53b_Pp5-AgpvEM9RihvW8wG-_yPk8LK-0S2Xd_5nrvD9DS-z0PR9bVZf0K7rX-eWzH2e_4HAQpUqvCWBUAg6whVKlS9dyqPQW9Jwjvde8R0jfBM-aw-xM-NA8LB-2x1HJu_aR2nN_9jfI5XUz_0zvy8jN-qwP-87Q-g0vM9TU-WV23we_4XlSBAqvC_wh-u4PQW9Jwf7843x5yvAw-BAm_Sx0HJa_ayPb87H-QS2XU_plfj5Hb_Vnf_53h_BpfZ6no_tqsv5V9yvfF8nD-dyfgs6fC0-pf-e5-BA-SxvN08RipvWM9Zjmvfk9hksvok9plsvyk9ymf15nf_dofQ6Xm_JqfrK7TdVfw7XBw_c4vL_DkV-j9_9vq-pR-z3-BATfJY6bMZfs5Xd_5nfH6Hk_lpfiK7bVZfhr6Td-K4PH_7iVfgs6Xg3v_9Ps3fDA-sRz3PS_QSCh8Flkvyk9ymsv68wP-O0PI9LTZfiK7DbVfh7n6_Nvf87XB-5xfXs6PlQ03Gi_aRznN_9jAA5DJ-iSzatWr1Hbz_qwP-87Q-gU2Xvq_MW13wq_x2vx9Td-m3P_9rg-cY1-Eo-WCi_kQ0HJSYMGj91iAAAx_sRAgAYf-IAAAsPkEAAAAY9FlkP2k9VnsP-k9dosveV9ZsfP7H2_Fufq738_yvfFs63Sw-ZDJfk4XLCAkPb87HBAAgBWfI5XUSECh4TLJfs5Xd_5nf0q6rX-M2y3w_htfhb4Td-m3P_l9nSI5bD-IRAg81if2IBAAAx67HBAAg9hkfRJBAACh4TLJAAQIEfiq6bVVf06Xv_ZsfP7H2_Fufq738q_wEk8JhfbIAQ_IyvWksWr1a9ZjkvfEAAA2HSS_iSAAAAAynWSAAg4bMJChQ8ymkvMV9Jqfr6Ht_1rnPj97Z-x2vx9TdV-JAS_SQznESIkvNk8RikvW8wGJf-IhyYM2HS_Flfa53Y_BpqvM9TU-W1Pa9rX-M2vn9Db-CX1fuhkPS8rF-sRz3P_5nfHq6DSVfZq6TUVfrq6jWVf9q6wYVfPr6DbVf