Daily Head Voices for week 3 of 2024

Monday 2024-01-15

  • Discovered that we (at work) now have access to GPT-4 Turbo via Azure OpenAI: 128K context and much cheaper than the old GPT-4. Will have to upgrade our private internal assistant, code name StoneGPT.
  • Inspired by stefanv, carefully trying out weekly planning, but in a slight deviation I’m doing this in addition to my daily planning, which I only get around to a fraction of the time in any case. I think that this sort of multi-scalar examination and planning will help.
  • Went to Bloemhof for the welcoming of the new grade 8 learners. Was really great to see GOU#1 and GOU#2 there, on two very opposite ends of the spectrum.

Tuesday 2024-01-16

  • MS Copilot Pro ($20) has been announced, and also Copilot 365 is now available for businesses of all sizes (not just enterprises who can commit to 300 seats): https://blogs.microsoft.com/blog/2024/01/15/bringing-the-full-power-of-copilot-to-more-people-and-businesses/
    • Copilot Pro not yet available in South Africa 😥
      • $20 per month for integration with some Office apps (which could be useful, will have to see), priority access to latest models such as GPT-4 Turbo, and custom Copilots. I’m not convinced, will stick to my perplexity.ai for now.
    • Copilot for 365 can be purchased per seat, but minimum 1 year commitment which is $360 per person per year. Ouch.
  • In addition to many meetings (Tuesday = meetings day), did manage to spend some quality time with a new visualization project. Slowly starting to use webcola again, but this time with d3@latest – sorta works, but no dragging. Have found work-around, still need to test.
  • Went to bed really early, because must be up at 5:30 to help GOU#2 get ready for school and get to the bus stop on time. (Slept super badly thanks.)

Wednesday 2024-01-17

  • Up at 5:30 after a pretty restless night. GOU#2 on the bus at 6 after some serious morning prep multi-tasking, GOU#3 (age 7) so organized and independent, ready to leave for school at 7!
  • Nice and early(ish) slightly longer weekday run before work. My hip sent me a Teams message “Hi…” at about 80% of the route somewhere, but fortunately no follow-up. Colleagues on chat, haha.
  • Got caught up in GEKKO Optimization Suite due to meetings with colleagues about various simulations. My initial enthusiasm was somewhat dampened upon learning that behind the Python API lies an admittedly useful but quite black-box compiled binary called apm.exe.
  • TIL: John Lasseter drew the BSD daemon! See https://www.jacobelder.com/2024/01/17/director-of-toy-story-also-drew-bsd-daemon.html – I remember that daemon from the time when I had FreeBSD on my machine at home instead of Linux (somewhere in the 90s). You might remember that name from the Creativity Inc. book (the one about Pixar!) notes post on this blog

Thursday 2024-01-18

  • AlphaGeometry from Google DeepMind is great work combining a symbolic math engine with a language model to solve Olympiad geometry math problems at just under gold-medalist level. See below for my breathless tweet. (twitter is still the uncontested ML firehose)
  • News on our in-house GPT-wrapper front:
    • Discovered that I now have to upgrade to the new tool_call api as the old functions one has been deprecated. Made use of the opportunity to improve our implementation of the supplied OpenAI type annotations
    • Note to self, and to you: The *Params types are TypedDict declarations which you can use to work directly with JSON requests and responses, while the non-*Params types are pydantic models which you can use to (de)serialize JSON.
  • Went to see a really good Mohs surgery dermatologist who will soon be removing my basal cell carcinomas. As always, AMA in the comments or via email.

Daily Head Voices for week 2 of 2024

Inspired by the impressive power (and philosophy) of One Punch Man’s Consecutive Normal Punches, I present: A Series of Consecutive Normal Daily Head Voices!

Monday 2024-01-08

  • First day back at work 😱
  • … but the most lovely lunch run (not literally) and chat with colleague E.
  • Single cable life at work is there, but it’s complicated: Thunderbolt3 cable from macbook to Thinkpad dock, dock thunderbolt3 to displayport-mini (adapter), displayport-mini to displayport to monitor.
  • Had blood drawn for my quarterly PSA test. (prostate-specific antigen; regular test to check that prostate cancer stays gone)
  • Double Commander (currently at 1.1.8) on macOS is even better than I remember it, and is only a brew install --cask double-commander away.

Tuesday 2024-01-09

  • marimo looks really good! From the github: a reactive notebook for Python. It allows you to rapidly experiment with data and models, code with confidence in your notebook’s correctness, and productionize notebooks as pipelines or interactive web apps. I still have to play with it, but it sounds like an Observable for Python.

Wednesday 2024-01-10

Thursday 2024-01-11

Friday 2024-01-12

  • Short week-day run, no hip issues!
  • Very nice focused day at home: First half wrapping up a code review. Second half diving back into d3.js. So much old memories I have to unearth.
  • In between hacked in an idle mode for org-roam-similarity, in the process discovered that on this M1 Pro, CPU is much faster (2x) and uses much less RAM than the hardware accelerated PyTorch MPS version
  • Lovely weekend-starter braai with family.
  • Ran into the final sections (and private comments the source org file) of WHV #208 – besides the nostalgic music bits, really enjoyed reading some of the older journals. Publish or not, strong motivation to keep on writing journals. (now-you is often a very different person than then-you. interesting to keep in touch!)

Saturday 2024-01-13

  • one of the highlights of the day was phone-call by and substantial conversation with bestie PK
  • rest of day quite laid-back with the whole family, which was great
  • thinking a lot about stefanv’s week planner instead of day planner, and the implications of this seemingly reduced planning effort (my daily planning is mostly only theoretical)
  • greater family braai (GFB)

Sunday 2024-01-14

  • Overslept a bit, woke up at 9 AM. This has not happened in ages.
  • Slightly longer weekend run at 10 with new running hat and SPF50 on me face and neck. Hip issue did not manifest, am touching wood!
  • Because I’ve been thinking about more visual ways to plan my week, worked on org-roam-canvas, making it a whole lot faster.

Read More

Daily Head Voices on Sunday 2024-01-07

  • Last day of my vacation. 🥹
  • Accompanied GOU#1 to the gym so that I could test out their assault bikes
    • Did a 42 minute interval-ish workout on the thing. Can get heart-rate up and keep it there quite easily. Intervals do feel quite harsh, and so I spent more time just pedalling harder than rest in the “rest” periods instead.
      • The assault bike saddles are garbarge.
      • Will probably go back for another airbike session or two to see if / how much it grows on me.
    • Spent the last 30 minutes quite enjoyably running on a “normal” treadmill after failing to get the motorless (self-powered) treadmill under control. It was either going to fast or too slow for me.
      • … hip niggle started to make an appearance by the end, but only subtly so.
  • After getting wlziipsrv built as part of an arm64 docker image, decided to cancel the project (for now…) of porting all of my websites (static, wordpress, more stuff) from the Hetzner CX21 (2 Intel vCores, 4GB RAM, 40GB + 50GB extra) to the CAX21 (4 ARM64 cores, 8GB RAM, 80GB disk) as a neatly dockerized configuration. I pushed my image to dockerhub in case someone else finds its useful: https://hub.docker.com/r/cpbotha/supervisor-wlziipsrv
  • Discovered that karabiner, a tool I used in the past to work around JetBrains shortcuts getting confused with Dvorak, fixes both of my current § vs ` (and ~) button swapping (bug in macOS 17.2) and non-working-ctrl-in-rdp-to-windows issues on macOS!
  • Sublime post-dinner sunset walk with GOU#1 and GOU#2 ❤️

Read More

Daily Head Voices on Saturday 2024-01-06

  • Researching assault-style airbikes as an alternative cardio modality, for when I would like a workout that’s not running (for when my joints need some rest) and that’s not in the sun so much
    • An assault-style airbike uses a big fan as the front wheel, and engages your arms and upper body as well. Seems to be an important staple in the crossfit world. I’m not sure if I’m the right person for it, but it sure looks convincing!
    • Here’s a not-too-crazy beginner cardio workout example on youtube: https://youtu.be/6OMfabFyVFI?si=SId44AGsPX9U2YZJ
  • Really special braai with a group of besties, hosted by SnR. According to the highly scientific DHV-scale, the evening has been classified as “life-affirming” and also “the absolute best possible way to spend those hours”. So much thank you!

Read More

Daily Head Voices on Friday 2024-01-05: Café Zest

  • Woke up to gorgeous day in Betty’s Bay, spent first half on the beach
  • Spent second half of the day slowly packing up all of our stuff (not my favourite vacation phase), some drinks, and working in-between on stuffing the archaic wlziipsrv.fcgi into a debian bookworm aarch64 image. Mostly bunches of ugly new hacks to work around some of the ugly old hacks in wlziipsrv.
  • Scenic Clarence Drive route home, stopped at Café Zest in Gordon’s Bay for dinner. Yellowtail there was absolutely amazing! (thanks to GOU#1 who picked this jewel of a restaurant and made a reservation for us, all from the car)
  • At home, finally got wlziipsrv built. Am secretly hopeful it might even work. (need to hook it up to supervisord, then nginx, then all of the microscopy data)

Read More

Daily Head Voices on Thursday 2024-01-04

  • Pushed through to completion finally, the 2024 edition of the traditional yearly year transition blog post!
  • Added an about page for the Daily Head Voices / lifelog (an edition of which you are reading now)
    • How can I add this as a standard but discrete part of every DHV? Should I?
  • Noticed that I can upgrade my super humble Hetzner VPS + its extra storage for visible-orbit.org to a newer Hetzner VPS with 4 x ARM64 cores instead of 2 x AMD64 (according to benchmarks in total a small step up), double the RAM and enough storage for current needs for only a few cents extra per month. Benefit: Microscopically faster websites. Cost: Some time to modernize the configuration from ubuntu 18.04 to 22.04, perhaps even dockerizing everything in the process.
    • In the process of sniffing around, noticed that someone was bruteforcing the xmlrpc.php on medvis.org (thanks htop and puny VPS CPUs!), and so added a fail2ban configuration to iptables them into oblivion.
    • After that, took a deeper dive into the porting and modernization work. Biggest blocker looks like the super obscure wlziipsrv code I would have to rebuild for arm64 for the visible-orbit high-res slice viewer.

Read More

Daily Head Voices on Wednesday 2024-01-03: Escalating streaks

  • Tom Scott, and the formidable power of escalating streaks a post by Simon Willison, who himself is now stranger to the formidable power of streaks… (hint: blog post monster)
  • Went for easy run late afternoon. Run was super enjoyable. Hip niggle only made its appearance at around 5.5km and was manageable.
  • Dinner with family in Betty’s Bay.
  • During the day and after dinner spent some hours working on the year transition post, which is one of the reasons for this bullet list being shorter than yesterday.

Read More

Daily Head Voices aka lifelogs

Read the “Writing” section of the 2023 to 2024 transition post for the slightly more detailed origin story of the daily head voices.

In short: Starting on November 14, 2023, first on the emacs.ch Mastodon server and from December 18 right here on this blog, I publish a low expectations daily bullet list of life minutiae: Experiences, learnings and observations that might be interesting to Someone on the Internet.

You can find all of the DHV / lifelog posts, or even subscribe exclusively to their RSS, under the lifelog post category.

Read More

Daily Head Voices on Tuesday 2024-01-02: Culture of doubt

Religion is a culture of faith; science is a culture of doubt. – Richard Feynman

  • Went to the beach at just after 11:00. Brilliant weather which for Betty’s is quite special, so the place was absolutely packed.
  • Finally created org-capture-template to do the Daily Head Voices post setup more easily and more consistently, see below for the relevant element.
  • Thought a bit about writing and then self-hosting the tool that scans the cpbotha.net RSS feed and then performs actions, e.g. sending to Telegram, when new posts appear
    • Initial thought was Go, because small and self-contained (like my discord scihub bot and my eureka-alert RSS feed generator), but Python means much higher development velocity. Because it’s a script that will run every few minutes and then stop, RAM is less of an issue, and the official docker images https://hub.docker.com/_/python/ mean I don’t yet have to upgrade the ancient Ubuntu 18.04 on my VPS.
    • Next thought was rather to spend this time writing. Zapier free tier is working fine for now, will get back to self-hosting it later.
  • org-roam-node-find calls org-roam-node-read calls org-roam-node-read--completions calls org-roam-node-list, which always reads the full list of nodes from the sqlite database. Whyyyyy? When I do a semantic search using org-roam-similarity, I already have the small list of IDs. I only want to offer the user this small list, I don’t want to read the full list every time, and then remove everything except the list I already have – so much wasted effort. I’m really hoping d12frosted’s vulpea has something better…

org-capture-template to create DHV after prompting for date

;; select region around your private day notes, then C-c c l
("l" "Lifelog" entry (file+olp+datetree lifelog-org)
 "* TODO Daily Head Voices on %<%A> %<%Y-%m-%d>
:PROPERTIES:
:EXPORT_FILE_NAME: index.md
:EXPORT_HUGO_BUNDLE: lifelog-%<%Y%m%d>
:EXPORT_HUGO_TAGS: lifelog
:END:
:LOGBOOK:
- Created \"TODO\" %U
:END:

%i
"
 ;; - with org 9.6.6 :time-prompt is only honoured when target is
 ;;   "file+olp+datetree"
 ;; - I would have preferred just target "file" for this, but need
 ;;   time-prompt as I often only create post after the day
 :empty-lines 1 :jump-to-captured 't :time-prompt 't :tree-type 'month)

Read More