Weekly Head Voices #255: You lift me up

Figure 1: Het Stadhuis, Delft, taken in August from a quick bicycle trip with my good friend the TPN. Mood: Enchanted. Part of me still lives there.

Figure 1: Het Stadhuis, Delft, taken in August from a quick bicycle trip with my good friend the TPN. Mood: Enchanted. Part of me still lives there.

There is a nerd joke I could make about using a single byte to store the WHV post number, which would explain the long stretch of time between this edition and the previous one in March, itself also lamenting the growing interval between posts, but I’m not going to.

Read More

Hivemind / Proximity: Distributed interactive personal lighting art project at AfrikaBurn 2018

At AfrikaBurn 2018, the South African / Dutch theme camp Burniversity (that’s us!) was again present and active with a range of workshops and other learning experiences.

(Strangely, although I wrote vaguely about our AB 2018 experience on this blog shortly after the event, I did not even mention this electronics project, and now it’s only taken 6 years to get around to the nerdy bits.)

That year, we had perhaps a bit too much energy and decided to design an electronic artwork, inspired by the fun we had in 2017 with a giant bottle of helium, a bag of CR2032 button cell batteries and leds, and another bag full of helium-grade balloons. (In short: On the less windy nights, we would inflate clusters of 4 to 5 balloons with helium, each with a burning led inside, and attach the cluster to a theme camp member. Picture little clouds of illuminated helium balloons floating above their humans as they were roaming over the Binnekring.)

Read More

Weekly Head Voices #254: Ratio

Hello there WHV enjoyers, and welcome back! …ish.

The last official WHV, by name, was WHV #253, published on September 2, 2023, although the 2023 to 2024 transition post certainly deserves its honorary WHV title.

In the meantime, I have been experimenting with the Daily Head Voices / lifelogs, which was fun, but ultimately not sufficiently meaty to fill the WHV vacuum.

We are clearly going through a pretty significant WHV-hiatus.

Although I’m still not sure what the new stable state is going to be, I have some extremely modest plans, and in addition to those I’ve decided to dust off and revive the draft of WHV #254 which was just lying there on my disc since September of last year, all languishing.

Read More

Daily Head Voices for week 9 of 2024

Monday 2024-02-26

  • started the morning (and the work week!) with stupid indecision: Had all my work gear in the car, but chose to drive back home after dropping of GOU#3 for a logistical task which one of my other clan members would gladly have taken care of.
    • Indecision irrelevant against the backdrop: We had such a good time in the car first being on time (GOU#3 loves that), then listening to Skrillex together, then talking, and then performing our morning ritual of verbally attesting our super-infinite love for each other as I drop her off at school.
  • During highly technical demo outside of my domains, used perplexity in real-time to lookup various details as the demo was going on, and thus could focus on the really interesting questions for the presenter.
  • Between meetings, struggled a bit to focus in the focusy bits, but managed to do quite a bit of work eventually (with focusapp and some deep house) and even got milestones done.

Tuesday 2024-02-27

  • Super frustrated during the morning rush, because could not find running shoes at the critical moment when we had to leave for school
    • Reverted to backup shoes (old ones, with too many kilometres on them)
    • Good run in L&Z, but it took so long to disconnect from my shoe moment, in spite of really putting my mind to it. Succeeded a little bit at the end, shocked at the mental cost of something this trivial.
    • BTW, it was almost a textbook “not inside it’s on top!” situation.

Wednesday 2024-02-28

  • For once some Waking Up in the morning! (I once had a streak of more than a year. Currently happy if I do just one!)
  • Started the day in pensive mood (before and after the meditation) thinking about what I would like from the future
    • Naturally I wanted to write a note, so then I tapped out a topic in the daily list so that I could use org-roam-node-find-similar to surface similar notes from the past. I did find the correct historic note which I would not have otherwise, but then I got sucked into emacs config…
    • After extricating myself back out of Emacs config yak shaving, I did spend some quality time writing up my thoughts, helping to clarify them.
      • I don’t know the answer yet, but the direction I’m moving in feels good.
  • Lunch with inner circle friend and mentor DMW at No Way Jose was great thank you!

Thursday 2024-02-29

  • Run at shortly after 7. Legs did not really want to cooperate.
  • Got distracted by meetings day at work, so almost no writing in the daily. Now, [2024-03-10 Sun 18:35], I’m really sorry.

Friday 2024-03-01

  • Pool repair at my house. They are able to pump out all water, repair floor of pool, then pump all water back all in a few hours.
  • I have two ideas for the weekend
    • Build and publish a QRCode contact card generator using marimo and wasm
    • build a telegram bot to manipulate my org-mode database, e.g. adding tasks, searching for existing tasks and notes.
      • I don’t like this second idea, but it keeps on coming back to me.

Saturday 2024-03-02

Sunday 2024-03-03

  • After sunday morning coffee and scrolling, dug into marimo to see if there’s some way to create the WASM locally. There does not seem to be.
  • Scanned through https://core.telegram.org/bots to see (again…) what might be possible.
  • Actually, now I’m thinking about the idea of making a telegram bot that sends me random tasks from my org-mode every day. I already have a proof of concept in Python that uses emacsclient to expose org-roam nodes via API (see https://github.com/cpbotha/org-roam-canvas ) so I would probably follow a similar path, probably with something like org-ql. Does anyone know if something like this exists somewhere?
    • Apple’s Journal app, that suggests a new journalling possibility now and then, made me think that this could help.
  • In iTerm2, press the Option-Cmd keys together to make a rectangular selection.
  • Sublime lunch at Millhouse Kitchen with inner circle family
  • Back home, tried to get MobileOrg going again; looked promising, but then after successful sync ran into this bug with empty outlines in the app when synced via iCloud. 😥
  • Configured perplexity via gptel in my Emacs; I am especially interested in using perplexity’s sonar-online internet-capable models.

Read More

Daily Head Voices for week 8 of 2024: India Venster

Monday 2024-02-19 to Wednesday 2024-02-21

  • Prepared for and did business trip to Johannesburg with longest time friend FS.
    • Highlight was tripping with FS, and trip was successful to boot.
    • Only one night away, really missed the famjam.
  • Dealing with stomach issues this week, relatively mild but distracting nonetheless.

Thursday 2024-02-22

  • Short run this morning in school district. Not feeling 100%, but good enough for run and conditions perfect.
    • Did run into G-J on Reservoir road and had quick chat, serendipity! Lunch will follow.
  • Stomach getting better, but not yet in a good place.

Friday 2024-02-23

  • Ran into the Kagi sidekick proposal, which made me think about frontend-only search functions for my static websites
  • Spent some cycles today exploring ways to save a tweet so that it can be archived and searched offline
    • If I could just traverse the DOM tree, starting from the <article> or the parent <section>, and also gathering all of the applicable styles, I would be golden
      • Discovered three different paid-for chrome extensions that do exactly this. Small side-hustle idea right there.
    • MarkDownload extension for saving any page as markdown came quite close
    • Dev tools “capture node screenshot” saves to PNG. Would have been great if it could have done the same to PDF.
  • Had a lovely lunch with great colleague from 1999/2000 at Mont Marie in Stellenbosch.
    • Randomly reached out when I heard that he was back in this valley, super grateful for this enjoyable reconnection.
    • Remember, call up your friends!

Saturday 2024-02-24

  • Spent too many hours building a Tampermonkey script with which I can get tweet threads reasonably clean in order to print them
    • First time using Tampermonkey, good tool to have on the belt!
    • Twitter makes this a lot more tricky than it needs to be.
    • Ideally, people would stop using twitter altogether, but for the ML crowd, I still need to go there
  • Perfect dinner at Decameron in Stellenbosch with the family, because we had to take GOU#1 to a party in the region
  • Karpathy proclaims his love for Obsidian, very cool! https://twitter.com/karpathy/status/1761467904737067456

Sunday 2024-02-25

  • Thanks to serendipitous serendipity the previous day, took part in an unexpected and epic hike up India Venster with a lifetime friend (first hike together in the 90s!) and a fantastic new friend. Experienced maximal presence. Glorious.

Read More

Daily Head Voices for week 7 of 2024: Rest For Success

Most people in high-stress, decision-making industries are always operating at this kind of simmering six, as opposed to the undulation between just deep relaxation and being at a 10. Being at a 10 is millions of times better than being at a 6. It’s just in a different universe. – Josh Waitzkin (see Sunday below)

Monday 2024-02-12

  • I really enjoyed this Rolling Stone article about Nine Inch Nails’ Head Like a Hole
    • Yes, that’s also a subtle jab at those of you who read last week’s title and did not get the reference. :P
  • Extreme almost asymptotic anger moment at Outlook PWA: Spent time crafting a detailed meeting description. Unrelated meeting notification came in, meeting edit dialog disappears, all of those beautiful words gone. Forever.
  • Accidentally upgraded Emacs to 29.2 (brew upgrade if you must now, and there it went building emacs along with installing all the other smaller dependencies, the ones I actually had in mind)
  • Added ad-hoc similar node search for org-roam-similarity (that links to the new function’s documentation)
    • This means you can also select any text, or just use the whole current buffer as your input, and then get a completing read list of similar nodes to open
  • The area of my forehead around the scar feels like it has substantial nerve drop-out. I can’t feel much there, and I also can’t actuate much. The reconstructive surgeon warned before the time that this might be the case. Thanks again cancer. I’m crossing my fingers that there’s still some recovery that needs to happen and this is not my forehead’s final form.
  • bitbar is now xbar. It looks like xbar can eat RAM https://github.com/matryer/xbar/issues/725
    • I looked this up, because during my previous macOS phase I contributed code to bitbar to support Lua plugins. That work is now gone. Oh well.
  • What a craptastically unproductive day. I had all of the time, and in that time I utterly failed at my selected task. I did some other interesting and possibly valuable stuff, but the majority of the time was wasted.
    • Old lesson on this blog: some days gonna be crap
    • However, responded to this by reviving my old FocusApp licence (see pro-tip #2 in WHV #126) and installed on my machine

Tuesday 2024-02-13

  • First day back at the office. Lots of conversations due to the giant scar criss-crossing over half my forehead.
  • Implemented the new (but very very old) “avoid all social media during work hours except a little bit on your phone during real breaks” rule.
  • Using terminal Emacs for some remote work, because reasons
  • Today was much fun at the office. Also much higher productivity due to above-mentioned no-social-media-goofing-off-rule.

Wednesday 2024-02-14

  • Happy Valentine’s day everyone!
  • Utterly crazy this morning because load-shedding, but due to GOU#3 being so very on time we left at 7:05 and could avoid most of that chaos.
  • 6.5km short run just to get back into it, after 1.5 weeks out thanks to surgery and recovery. Garmin not happy with my fitness, but man it felt good.
  • Went to doctor’s rooms to have stitches removed. Kind and professional nurse left the stitches in the middle, because skin there still needed some time to relax into the new situation. Feels really good to have the others out. Will go back on Friday for the rest.
  • Pro-tip: it was a bit of a change management challenge, but I’ve converted my household to the new shopping list support in Apple Reminders. If you’re an Apple family, this woks much better than a WhatsApp group named “Shopping”. True story.
    • Thanks to said app, remembered to get flowers.
  • FocusApp really did its work today.
  • I’m a tiny little bit bummed that no-one picked up on the Head like a Hole reference from last week’s Daily Head Voices. Or maybe someone did, but they just have not contacted me about it.
    • Hopefully this week’s title does better.
  • SUCH A GOOD DAY today thank you!

Thursday 2024-02-15

  • Pretty busy day with meetings (Thursday is secondary meeting day at work after all), good conversations with colleagues, and an internal product playbook workshop.

Friday 2024-02-16

  • Sublime run in Land & Zeezicht (school district) right after dropping off GOU#3, which also helped to avoid most of the traffic back home, again utterly crazy due to the 6 - 8:30 AM load-shedding slot disabling some critical (for us) traffic lights.
  • Best afternoon ever: Father and daughter picnic with GOU#1 (school event, so many other fathers and daughters) at Zorgvliet Wine Estate
  • In the evening, got my work inbox unread email count to just under 4000. Thank you for coming to my TED talk.
  • Spent a bit more time reading about the new and open source Observable Framework
    • I’ve always liked the ObservableJS notebooks, but this new development which supports working locally and self-hosting is really exciting!
    • marimo is very nice for experimentation, but big advantage of OF is that it builds a static site as output. marimo needs Python to be running on the server.
    • Again that idea: How automatically could I push a completely new OF built dashboard to a newly allocated CloudFlare pages site?
    • Tried it out on Sunday evening (IN THE FUTURE): Was really quick to get the intro dashboard going in my case with pnpm, but a big challenge at this moment is the developer experience: There is very little coding assistance of any kind as you work on the javascript code blocks in the markdown pages. Hopefully they will be able to improve this with a vscode extension and/or a web-based editing experience, like marimo.
  • Tried out Thunderbird 115.7 on the macbook.
    • Much better than the TB 115 experience I had just after its release on Windows, where its currently selected mail logic handled it very badly when I archived a mail.
    • I am trying out TB, because I miss the today, yesterday, last week date grouping.

Saturday 2024-02-17

  • Woke up with low body battery (Garmin). Somewhat surprised, because only two beers last night. Perhaps the stress of the arguments, and probably still the alcohol because I’m old now.
  • Wrote some Mojo to see if I could create a Pandas DataFrame and write to disc as Parquet.
    • I love parquet.
    • Although Mojo is still missing some data structures, it was not too involved to use the imported numpy and pandas libraries to do this job.
  • Smoked snoek braai (so good! 🤤) at friend LM’s place with more friends.

Sunday 2024-02-18

  • Super enjoyable 13km run. Not too hot, just a little bit of wind, and enough energy to finish strong.
  • George Mack makes the statement: “There’s no such thing as working too hard. There’s just being under rested.”
    • This might indeed be a controversial statement, but I really like that his advice is to focus on the quality and purity of one’s rest (a very mindful idea), leading to much more energy for intensity 10 work.
    • See his tweet (also embedded below, but please do click on “show more”) for a bunch of interesting examples.
  • Figured out that it’s pretty easy to setup “Smart Mailboxes” on Apple Mail for today, yesterday, last week and so on.
  • Truly sublime lunch with family at Stables on Vergelegen wine estate.

Daily Head Voices for week 6 of 2024: Head Like a Hole

Why do I lifelog?

One of the reasons to publish these lifelogs is to make available a peek into the minutiae of another life (mine) that could help someone else get out of a rut, or just supply some alternative input that’s not form their own mind.

Put differently, I think that when I see what other people are doing and thinking day to day, it feels like a small, external disturbance (i.e. new information) that will help to nudge me in interesting and new directions.

Read More

On the two world problem and personal knowledge management

Figure 1: Photo by Igor Omilaev on Unsplash

Figure 1: Photo by Igor Omilaev on Unsplash

In this recent Mojo community blog post, I came across the term “two-world problem”, describing the disconnect in bio-informatics between the high-performance, low-level (often C++) and the more expressive, high-level (often Python) software layers.

As someone who has experienced this first-hand in scientific visualization and image processing, also between C++ and Python (quite acutely with VTK and ITK, less so but still relevant with SciPy), I really like this term.

Read More

Daily Head Voices for week 5 of 2024

Monday 2024-01-29

Tuesday 2024-01-30

  • Started with trying to write up Fabric notes in word doc, but did not get far. I do miss Dropbox Paper for things like this. Still, I should be able to get somewhere with just a DOCX and all of the screenshots I’ve been making.
  • Defining high-level sprint goals worked much more nicely than I expected!
  • Managed to get some sqlite3 data imported via Fabric Notebook into OneLake. Great feeling that it just works!

Wednesday 2024-01-31

  • Started run at about 7:30 in Land en Zeezicht after dropping off GOU#3
  • Coffee with ex-colleague J at Deluxe Coffeeworks in Dorp Street Stellenboch. Grateful for the catch-up, and also the exceptional coffee.
  • llava 1.6 (VLM) release post: https://llava-vl.github.io/blog/2024-01-30-llava-1-6/
  • Through reactflow, discovered ELK and elkjs for the layout of graphs! Play around with it here: https://rtsys.informatik.uni-kiel.de/elklive/
  • Renewed vehicle license via https://online.natis.gov.za/ and not via City of Cape Town eServices as we usually do, because heard from colleague Z that natis delivers via courier and not via the South African Postal Service, which does not really function anymore thanks to the current government, and either takes months to deliver the licence or sometimes just loses track of it.

Thursday 2024-02-01

  • Breakfast with almost lifetime friend CFS
  • Did some work before he arrived, but got SUPER frustrated with DSTV because I was checking in on all my TODOs as I transferred them to the new month file and thus discovered that they had still not changed my subscription (this is after months of them confirming the change and not following through), and so after 10 years of their most expensive subscription I have now terminated our relationship.
    • Did you know: DSTV can be found in the dictionary under “galaxy-level grudge purchase”?

Daily Head Voices for week 4 of 2024

Monday 2024-01-22

  • As GOU#1 and GOU#2 were busy leaving for school, #3 came in to #2 for a hug but #2 was a bit too focused on getting all of her things ready to go in the car. Good Charl, in his only appearance of the day, spontaneously interjected with: “When you’re in a hug, for that moment, you put your full attention into that hug. For that moment, nothing else exists but the hug.”. I could really see the message hitting home with #2, and she vocalised as much. Monday: BIG SUCCESS!
  • At work, managed to spill black coffee all over meself as I was just doing step 1 of living the one cable dream (read: attaching usb-c cable to my macbook). Clumsy Charl clearly at the wheel…
  • Short but really nice streamlit demo during a work meeting. I knew about streamlit, but I’ve never actually played with it.
  • Spent the rest of the day fighting trying, without success, to update the webcola d3 adapter to the latest version of d3.
    • In bed that night, had light-bulb that React was probably a better solution for this visualization in any case…
    • … and then realised that few years back I built something similar for work, and had a similar evolution of ideas which ended up with react + webcola.

Tuesday 2024-01-23

  • At the office nice and early (7:30).
  • Chatted with colleague about the abovementioned React + webcola thing we worked on together, at which point he pointed me at react-flow and comfyui
    • react-flow looks like it could work pretty well for this new project. Also: SO SHINY!
  • streamlit app life cycle: script re-runs every time user interacts, see https://docs.streamlit.io/get-started/fundamentals/summary
    • it does have caching mechanisms to make this go faster
    • marimo, although much newer, approaches this issue with its reactive cell pattern
  • Idea: We should write focused technical memos at work. This is now howto, but rather “things I learned” formulated to teach not just to document.
  • Upgaded phone to iOS 17.3 and MacBook to macOS 14.3. Apparently there’s a zero day vulnerability in previous versions that can be exploited via malicious websites.

Wednesday 2024-01-24

  • 8km run at just after 7 AM before it really got hot
  • dip in the pool (friend LM says we must but pool is probably not cold enough due to +30℃ temps), then started to work
  • right after dip in pool, partially pulled back muscle. Partial, because two warning spasms, but not complete lock like many previous times. PHEW!
    • Remember kids: Our spine’s vertical operation is a major evolutionary hack job and a mechanical disaster just waiting to happen. My advice: Spend more time horizontally.
    • This is also the reason why I’m still searching for a long enough reclining chair.
  • Lovely working lunch with friend S at No Way José
  • Some random ideas that popped into my head as I was trying to work:
    • idea: make github so that people can pipx install marimo-turbo to get install with pandas, altair, matplotlib, and so on.
    • idea: figure out way to publish marimo dashboard to HTTPS url somewhere, for really really cheap
      • sounds like AWS API gateway + lambdas can do something complicated to host streamlit, which also uses websockets
      • in the end, probably better to do this on my own VPS
    • idea: (which has been active for a bit longer) A reliable pattern to lazy start upstream processes only when the first request comes in, and to stop them when no-one is connected. Client -> nginx -> supervisord -> tornado
  • ran into dude who built kubernetes thing for Hetzner using Crystal, a programming language of which I remembered that it just had a release, so quickly lost some more time on “crystal vs nim-lang” googling

TIL: mastodon embeds are not as durable as twitter embeds

As I pasted the above embed, I saw to my disappointment that it’s just pulling in the mastodon post URL via iframe.

Read More