Daily Head Voices on Monday 2023-12-25

  • Merry Christmas everyone!
  • In spite of my hip niggle but because of great weather, decided to do a normal weekday run. Due to family’s beach plans, I ended up for the most part on a coastal hiking trail which was amazing!
  • Family Christmas (buffet) lunch at Joe Fish. The food was so amazing that I might have eaten a a tad or three too much. I think this is what folks in the US feels like after Thanksgiving.
  • Drove (relaly slowly) back home to recover…
  • … and to continue with https://github.com/cpbotha/org-roam-to-apple-notes
    • After switching back to built-in HTML export with some hacks, results are looking much better. Rest of my 1800 notes are being exported as we speak.

Read More

Daily Head Voices on Sunday 2023-12-24

  • Christmas Eve everyone!
  • Just realized that my trick of setting default-dir does work for the temporary org file and output html file that ox-pandoc creates, but of course all image links will break, as they are relative to the actual location of the source org files. 😭 (this means I will have to redo everything via the temporary buffer after all)
  • A simply brilliant late afternoon at the beach with the whole family, and even squeezed in a short barefoot run on the beach.
  • Car battery was so much on the edge that a phone forgotten on the USB charge cable managed to push it over said edge, and so car refused to start. A minute or two before a friend arrived with jumper leads, a random kind stranger with a truck and jumper leads offered to help and did!
  • I do need to emphasise what a sublime day this was. So much joy!

Read More

Daily Head Voices on Saturday 2023-12-23

  • First thing, could not resist taking another quick peek at ox-pandoc and figured out that it honours default-directory, so instead of trying to find the last *pandoc <N>* buffer it created, I can just write to a file in a temporary directory
  • difficult 12km run in St Francis. Wind, heat and that durn hip niggle. Year goal is starting to slip out of reach… I’ll deal.
  • Made use of perplexity.ai offer of two months free: https://www.threads.net/@perplexity.ai/post/C1KquV6gyWd
  • Spent a substantial amount of time struggling with AppleScript, Notes and Emacs, and I’m not sure yet how I feel about all of this. https://github.com/cpbotha/org-roam-to-apple-notes is out there for other people to learn about all the ways in which this can fail.

Read More

Daily Head Voices on Friday 2023-12-22

  • Throughout the day, probably spent far too much time fighting with AppleScript to figure out attachments (learned stuff, also that Apple Notes AppleScript is quite broken), and then also some time on ox-pandoc export, as it can embed image attachments as base64, which is what should in theory work for Apple notes (haha…)
  • I used a mix of perplexity (free), bing chat in gpt4 mode and even a bit of you.com to help me, but AppleScript and specifically its application in notes is pretty obscure, with ox-pandoc not very far behind.
  • Did get https://github.com/zerolfx/copilot.el working in Emacs – this has turned out really useful for my most recent emacs-lisp adventures! My config is below in case you find it useful.
(use-package copilot
  :ensure t
  :vc (:fetcher "https://github.com/zerolfx/copilot.el.git")
  :config
  ;; only copilot in insert mode
  ;; https://www.irfanhabib.com/2022-04-26-setting-up-github-copilot-in-emacs/
  (customize-set-variable 'copilot-enable-predicates '(evil-insert-state-p))
  ;; binds inspired by https://code.visualstudio.com/docs/editor/github-copilot
  (define-key copilot-completion-map (kbd "<tab>") 'copilot-accept-completion)
  (define-key copilot-completion-map (kbd "TAB") 'copilot-accept-completion)
  (define-key copilot-completion-map (kbd "M-]") 'copilot-next-completion)
  ;; command-right on macOS, windows-right on Linux / Windows
  (define-key copilot-completion-map (kbd "s-<right>") 'copilot-accept-completion-by-word))

Read More

Daily Head Voices on Wednesday 2023-12-20

  • Morning run on the gravel road along the Serpentine river in Wilderness, probably one of my favourite routes ever.
  • On a new wifi network with Apple TV, but forgot remote at home. Moved TV and Apple TV closer to AP to plug in via ethernet, which allowed the iPhone remote to connect, BUT Apple decided to be infuriating again: If your Apple TV has an Ethernet port, make sure your Apple TV isn’t connected to an Ethernet cable. If you’re using an Ethernet cable, you won’t see the option to connect to Wi-Fi. see https://support.apple.com/en-za/102346 – this is of course a great big catch 22 for us at the moment.
  • On the other hand: Based on the following two recent publications, it really looks like Apple is cooking up something really interesting with large language models (LLMs):
    • Apple announces ProTIP: Progressive Tool Retrieval Improves Planning – so they are working on much improved ways of hooking up LLMs to tools, perhaps even on their devices? via https://twitter.com/_akhaliq/status/1736982938942677421
    • New Arxiv paper by Apple titled “LLM in a flash: Efficient Large Language Model Inference with Limited Memory” – from the abstract: “These methods collectively enable running models up to twice the size of the available DRAM, with a 4-5x and 20-25x increase in inference speed compared to naive loading approaches in CPU and GPU, respectively. Our integration of sparsity awareness, context-adaptive loading, and a hardware-oriented design paves the way for effective inference of LLMs on devices with limited memory.” via https://www.threads.net/@sung.kim.mw/post/C1Dwx7Iypg4/
  • Spent some time digging into AppleScript (again) and how I could make a better orgmode to apple notes workflow

Read More

Daily Head Voices on Tuesday 2023-12-19

  • Made a Zapier Zap to send new cpbotha.net posts (picked up via RSS) to a Telegram bot called HeadVoices who lives on a Telegram (announce-only) channel named “cpbotha.net blog”.
    • I have not (yet) been able to pipe the post’s HTML to the telegram API so you can read more of the post there, because Telegram’s HTML mode is quite limited, and I would have to figure out to sanitise my post’s HTML. Don’t think it’s worth the effort.
    • My idea here was to show more ways in which folks can get cpbotha.net content, if they really want to, on the communication channel of their choice.
      • RSS and email remain first class citizens, but people do like their social apps!
      • It looks like RSS to Mastodon is also doable, although the Zapier way would not be as free as IFTTT or just running curl from cron. BTW, IFTTT seems to support only two active applets in the free version.
      • I’m getting serious rabbit hole feelings here, but do let me know if there are other channels where you would like to be notified of new posts.
  • After a few hours of driving, we ended up in Wilderness, one of our favourite places in the world.
    • Braai with long time great friends.

Read More

Daily Head Voices on Monday 2023-12-18

  • First day back after two day hike in the Cape of Good Hope Nature reserve (the park containing Cape Point). Day 1 was about 14km, and day two was about 20km. Group of 11 people, so was interesting balancing hiking styles. The double peak crossing at the end of day 2 in the summer heat was challenging! Was really great seeing these particular old friends. We did our previous multi-day hike together, before life and family, in the late 90s at Magoebaskloof!
  • Unpaired and re-paired various Apple Watch units as they waterfall (aka hand-me-down) through my family. We’ll soon do a similar action with the new MacBook that has entered the family. You can say many things about Apple, but they do make hardware that is eminently hand-downable.
  • I’ve been having more fun than I expected publishing a low-pressure daily #lifelog over on the emacs.ch Mastodon instance emacs.ch. I have just over 30 days covered – that tag will give you more interesting folks who are also worth checking out.
    • However, more recently I was quite disappointed by my fellow instance users voting to defederate (block) threads.net’s attempt to interoperate with the mastodon universe via ActivityPub (the sort of thing ActivityPub was designed for…) before even giving it a chance. In the end, I am truly happy with whatever the instance admin decides, because him getting overloaded is an entirely valid reason to block pre-emptively, but I am disappointed in the super vocal armchair activist folks who feel that this is their day to exact justice on Meta. You can read my contribution to that discussion if you want (So sorry: Friends stefanv and k0b13 have pointed out that that is not visible to the public, it’s an instance-local discussion. I’ll copy the contents of only my posts to the subsection below.).
    • This is not my hill to die on by any stretch of the imagination, but it has served as a reminder that even your favourite social media platform (emacs.ch in my case) can go in directions that you don’t agree with.
    • And so, I think this is as good a moment as any to move this #lifelog back to where it belongs, namely my blog, 23 years under my control and counting.
      • threads.net users are more than welcome! 😀
    • Another advantage is that the path that content has to take from my private Emacs notes to Hugo is much more efficient thanks to the amazing Kaushal Modi’s ox-hugo.
    • OTOH, I have a bit more setup work to do for each day’s post, vs just pasting the plaintext into the mastodon app or website. Hopefully I’ll be able to streamline the ox-hugo-lifelog workflow some more after this first edition.
    • Who knows, maybe this is what the Weekly Head Voices wanted to be when it grew up.
    • Whatever the case may be, please do note that #lifelog is an experiment. It could stop or morph or even move back to emacs.ch at any time!
      • During the Christmas break, posting will be more erratic than usual.
  • It’s Monday… have a great week everyone!
Figure 1: Panorama of Cape Point, made from one of the last peaks we had to cross at the end of day 2

Figure 1: Panorama of Cape Point, made from one of the last peaks we had to cross at the end of day 2

Read More

Weekly Head Voices #253: Weekend Warrior

Welcome back everyone!

It’s clear to me that I have to get back in the WHV saddle, but preaching sure is easier than practising, and so I thought it might be a good idea to try and bullet-list myself back into it.

(When I say “bullet-list” I mean “helpfully named hierarchical sections”, because Emacs tends to frown quite disapprovingly at mere bullet lists. Here I am after the intention of the bullet-list, namely to just get on with it.)

Read More