gvrooyen, to random
@gvrooyen@c.im avatar
  • Travelling for a few weeks, so posts may be less frequent.
  • First day of proper leave without startup or pandemic or business angst in... at least 6 or 7 years? I slept in this morning and spent the day preparing for the trip in a haze. The relaxation washing over me is almost debilitating. I had a vague notion that I was stretched, but am only realising how much now.
  • The travel hiccups (18h flight delay, baggage misplaced) seem almost immaterial.
gvrooyen, to random
@gvrooyen@c.im avatar
  • Last workday of the year, PR review and merge, couple of meetings, email and admin.
  • A bit of time on the programming side project. I spent some more useful time on how to properly write docker files, and how they relate to GitHub actions. Routine stuff for many of my colleagues, but simply not something I got around to over the last few years – good to catch up.
  • Sat back a bit and reflected about how I spend my work time. A 40h work week remains a decent baseline which allows for bursts beyond that when you need to get something across the line, as well as the occasional day off. Based on my time spent on projects over the past year I set up a time budget for Jan-Feb, and plan to block off these times for focus on specific times in the new year.
  • Took the 14yo out for a short run on one of my regular trails. Boy, did he improve over the past few months. He won. I set 3 PRs on Strava trying to keep up 😆
  • Will go running with the lad more often, I think.
  • Cooled down by playing "For the King" with said lad in local co-op. Much fun. Decided to buy it for R32 (!!) on the Steam special for some remote time together when I travel.
  • Set up a Xiaomi Smart Band for the 12yo, which turned out to be somewhat tougher than anticipated. Apparently it's not a "Mi Fit" device anymore, but a device supported by the "Zepp Life" app on iPhone. It's a pretty little thing once you get it working, but caveat emptor in an age where manufacturers come and go.
  • I'm on holiday now. I anticipate those discomfortable few days to allow relaxation to creep in again. It's been too little time off for way too long 🏝️

gvrooyen, to random
@gvrooyen@c.im avatar
  • Since I'll be travelling soon, I decided to get a Covid booster shot yesterday. I had a nasty case back in 2020, and since then my body goes DEFCON 1 when it sees something that looks like a spike protein. Woke up with fever and shivers at 2am and felt pretty bleh the rest of the day 🤒
  • Weekly 7am call with the Japanese client felt bleary 🥴
  • I recently started using 's utop REPL as my desktop calculator (I used ipython prior to my OCamlian epiphany). What I like is that I can create these little convenience functions and operators that make quick calculations easier. For example, when doing timesheet arithmetic I often want to work with times in hh:mm format. Ezpz! let ( /: ) h m = (Float.of_int h) +. ((Float.of_int m) /. 60.);; and now I can just do (19. * 8.) - 32/:20 - 4/:12 - 6/:46 - 16.;;
  • Tempted to do a fork of utop where Enter maps to ";;\n" and Shift-Enter is the plain "\n".
  • My trusty Garmin Instinct watch suddenly died, probably from water exposure in shallow ocean over the weekend. It has a 100m water resistance rating, but I suspect a seal somewhere had perished over time. I immediately replaced it with the Instinct 2; super amped to go running as soon as this stupid booster shot wears off.
  • Docker has been one of these tools where I've always just got along with the minimum knowledge to get something running. Today I invested some time to actually learn the principles and syntax.

cpbotha, to random
@cpbotha@emacs.ch avatar

Charl's log, Earth date Monday 2023-12-18:

Please see https://cpbotha.net/2023/12/18/daily-head-voices-on-monday-2023-12-18/

gvrooyen, to random
@gvrooyen@c.im avatar
gvrooyen, to random
@gvrooyen@c.im avatar

20 years ago today, A & I tied the knot in a beautiful ceremony in . It was a wonderful "kuier" with friends and family, and we've often looked back to the best celebration we've ever experienced.

Today, we met with family for a new celebration at the old estate. We enjoyed a slow lunch over a long table in the shade below centuries-old oak trees with amazing food and wine. We were blessed to have so many of our loved ones present (and dearly missed my dad-in-law who passed away several years ago).

And it was such a wonder to have the new guests – our two young teenagers; their wonderful cousin – that had not yet graced our lives in 2003. What a privilege to live this life ❤️

cpbotha, to apple
@cpbotha@emacs.ch avatar

Charl's log, Earth date Thursday 2023-12-14:

  • Trying to live the single-(usbc)-cable-dream at work as well by going through my old thinkpad dock: mac to dock via usbc, dock to Delly U2713HM DisplayPort. However, DP to DP connection from dock to old Dell U2713HM display only sometimes flickers on and often not. usbc to DP from dock is solid. DP-DP cable is extremely sus. Work has ordered new DP-DP cable and I'm crossing my fingers. Singel cable life is fun.
  • Again discovered how unbelievably badly macOS renders fonts on resolutions that Apple believes to be too low, in this case my Dell Ultrasharp 27" at 2560x1440 aka QHD at work. Microsoft and Windows do an absolutely great job on exactly the same hardware, and fonts look great.
  • BTW, although macOS does marginally better on my 32" 4K Dell IPS display at home, here Windows even further increases its font rendering dominance with fractional scaling and cleartype.
  • As is often the case with Apple, there is a (paid) third-party software tool that works around their attempts to improve matters, namely BetterDisplay: https://github.com/waydabber/BetterDisplay
  • As I wrote in my notes some years ago when this became apparent, this is just the company's philosophy. They want to control all the hardware. They will begrudgingly let you use some third party displays, but they pick their battles to look good. In this case, it does feel quite user-hostile.
  • Ran into a M1-specific bug in the ruff vscode extension, where the arm64 extension build bundles the x86_64 ruff binary. Worked-around, and then reported at https://github.com/astral-sh/ruff-vscode/issues/364
  • Finally got around to write the quickstart for org-roam-similarity. Enthusiasts will hopefully be able to get it going! https://github.com/cpbotha/org-roam-similarity
  • I've been looking at Apple's MLX machine learning / array framework for Apple Silicon https://github.com/ml-explore/mlx as well as at CoreML because I'm curious whether this will give me faster Jina AI embeddings inference on the M1 than I'm currently getting with the PyTorch MPS backend, which is muuuuuch slower on this M1 Pro 10C / 16C GPU / 16C neural than PyTorch CUDA on my oooold GeForce RTX2070 with 8GB.

#lifelog #apple #usbc #pytorch #orgroam

gvrooyen, to random
@gvrooyen@c.im avatar
  • A wonderfully open day without any meetings in the morning. I spent some good time tinkering with the full-stack web framework that I mentioned before, and most of the rest of the morning in code review for one of our larger projects.
  • Wanted to continue focusing, but had already bumped my weekly meeting with my assistant yesterday, so had to take it. 30 minutes so well spent, just helping to sort distractions out.
  • Secret Santa buffet at the office! Fun and some delicious food, but this would be a great finalé to the December corporate socials in the Cape, tyvm.
  • I spent a fair amount of time recently in Python with proper type annotations and Pydantic checks. I'm increasingly unsure about how to feel about languages that are so general-purpose that anything from duck typing to pedantic type specs are supported (often through extensions rather than the language itself).
  • Kids are on their summer holiday, so I'll have to pull back a bit longer days in the study. One more week before I can also take my own proper break.
  • Missing contributions by @cpbotha, who got me into this logging thing 🙂

gvrooyen, to rust
@gvrooyen@c.im avatar
  • Buzzing day in the office. has a hybrid work model, but for some or other reason Tuesdays have become the "everyone rocks up" day, so much so that we have to allocate a board room for extra hot-seat working space. I'm starting to enjoy the balance between office days and quiet working days in my study. It's a given that my billable client hours will tank on a Tuesday, but it's also where lots of the tacit knowledge transfer and hands-on problem solving happens. Also, spending in-person time with really cool and clever people.
  • My happy hacks in in have been diverted by another project in this language that I really like. Bandwidth for side pursuits is limited, so I have to be really picky.
  • In a couple of work projects we're dealing with architectures where third parties (sometimes the clients themselves) have made dubious database choices. It reminded me of a section (3.8.1) in Zero to Production in which says: "If you are uncertain about your persistence requirements, use a relational database. If you have no reason to expect massive scale, use . ... it is much easier to design yourself into a corner by using a specialised data storage solution when you still do not have a clear picture of the data access patterns used by your application."
  • Senior guys from a potential overseas client were in the area and came for a tour of the office and lab. First time we met outside vid calls. It was a fun meeting! The real human connection makes such a difference.
  • Watched half of Season 2 of the really lovely and silly "Fallout: Nuka Break" fan series with the 12yo (a huge [HUGE] fan). Despite having to endure the "did you know Luck / Claustrophobia / Lead Belly / Fat Man / Whatever is a perk/handicap/weapon?" thing EVERY 2 MINUTES, both seasons have been really good fun so far. This really sets a new bar for fan series for me.

gvrooyen, to fallout
@gvrooyen@c.im avatar
  • Tinkered a bit with , but @last distracted me with that much more interesting puzzle I mentioned before (an opinionated full-stack webdev framework in ). Work didn't allow me much tinker time today, but I hope I can poke around with this much more.
  • Had a good conversation with people who don't get paid by us to figure out team salaries and bonuses on our new independent remuneration committee. Thankful to have friends working at "open companies" that have really helped me calibrate my opinions about this.
  • Late afternoon glass of wine at the beautiful Hidden Valley with a good friend, talking about careers, software, AI, relationships, business, and people we love.
  • Watched a few silly and utterly enjoyable fan series episodes with the tall spawn.
  • Wish I had more time in the day to just submerge myself in coding. Probably the biggest thing I need to start fixing.

gvrooyen, to python
@gvrooyen@c.im avatar
  • Yesterday decided that I should probably check out 's regular expression syntax. It does make the input line parsing a lot less verbose, if more cryptic ("and now you have two problems", as the joke goes).
  • I really love the fact that OCaml has a toplevel REPL where you can interactively experiment (e.g. figuring out said regexes) like you do in or #R. To quote the lovely first line from the relevant docs: "An OCaml toplevel is a chat between the user and OCaml".
  • Spent almost too much time hacking around; had to make my Saturday trail run a bit shorter than usual. Sunny but windy in the mountain. Current audiobook: "God Emperor of Dune" by Frank Herbert which I last read in high school.
  • Attended my bro-in-law's band concert, an open-air show at Simonsvlei. He warned us that it was going to be "a school concert but with adults". That wasn't too inaccurate, but school concerts with adults still have craft beer in plastic cups and cheering and vibe – it was super enjoyable. BiL has become quite the drummer in just 3 years, and their cover of Muse's Resistance was the highlight.
  • Today I tackled some of my outstanding puzzles. Had to smile when I saw Day 10, which is a twist on a classic (and favourite) maze-solving puzzle in competitive coding.
  • Asked the 14yo to handle the entire for lunch, and he took control and eschewed advice like only a teenager who just finished their first year of high school can do. It turned out delicious.

gvrooyen, to rust
@gvrooyen@c.im avatar
  • Found my day surprisingly meeting- and deadline-free. Spent a good bit of time clearing the backlog of some non-urgent tasks that were always kicked down the road. Mostly just quiet weeding of long-overdue stuff.
  • was a bit simpler; both parts could be solved with some algebra and without heavy computation.
  • When learning one initially struggles with the borrow checker. The wrestle can sometimes feel Jacobean but is a fundamental part of writing memory-safe code. The iteration happens on compile, and the compiler can be wonderfully helpful – probably the friendliest one I've met (especially with Clippy!). With your mentor is the type checker, but this is a friendlier game of ping-pong happening right in the editor, and feedback is instant. The OCaml LSP is just excellent, and with some optional type annotations it really becomes your pair programmer. Once you test, everything more often than not just works. When it doesn't, you're looking for logic errors in the code rather than anything related to syntax or type.
  • Attended the ribbon-cutting ceremony of a new academic building at Engineering. These events are always good networking. I love catching up with my former colleagues' gossip about academic politics. No soap opera or Netlfix B-drama can compare.
  • Productive evening time sorting out necessary things rather than attending to some or other fire. If I have any resolution for the next year, it would be to assert more of this kind of sente over every day.

gvrooyen, (edited ) to web3
@gvrooyen@c.im avatar
  • Skipped Day 4, Part 2 for now; on to Day 5.
  • Brief 7am check-in with the Japanese client.
  • One of our larger clients today remarked that they like working with us because we are "80% meticulous and 20% pragmatic". The perfect can be the enemy of the good when it comes to getting a project across the line, but boy – quality is still the bulk of it.
  • Blockchain is a dirty word again nowadays, but I had to spend quite some time sorting out transfers of ERC-721/1155 tokens for a Fanfire client today. I really love this tech, especially the magic of authentication rather than brokering my identity through one of the MANGAs.
  • Finished Day 5, Part 1 of . Half the effort was parsing the input; made the list folding a cinch. Got Part 2 mostly done, so might wrap it up later. ⭐
  • Late afternoon trail run in the beautiful .
  • My wife and I kicked back for an episode or so of , Season 2. What an absolutely brilliant series. There are even some small vignettes that I want to tie up with a ribbon and send to people who would appreciate it.

gvrooyen, to random
@gvrooyen@c.im avatar
  • Finally got round to doing Day 3 before work.
  • Starting to actively box in "greedy" commitments that demand attention and time, and disrupt the well-behaved projects. I'm working towards a much less reactive daily workflow. Keep , avoid gote.
  • A fun aspect of is the second part of each day's puzzle which you don't get to see until you successfully complete the first part. If you write your code for Part 1 in a modular way that's easy to reuse and refactor, Part 2 is sometimes really easy. Happy that this worked out for me today ⭐⭐
  • A year ago I would have been very uncertain about the role of an Industrial Engineer in a technology development firm like Octoco. We've just hired our second one, and my current "golden ratio" is 1 IE per ~20 Software/Electronic engineers – for us, these are the people who engineer our work processes; both internal and external.
  • Some admin before bedtime, then finished AoC Day 4, Part 1. Set types in are finicky at first, what with comparator witnesses and all, but really powerful and concise.

gvrooyen, to scuba
@gvrooyen@c.im avatar
  • Day 3. Was just able to quickly look at the first puzzle before I had to start prepping for the day. I've pushed the solutions I have so far to https://github.com/gvrooyen/aoc2023 – any comments or tips are most welcome. I'm a relative newcomer to but is a great way to practise.
  • Went to at Simon's Town. Hopefully my oxygen consumption will reduce as we get to dive more; I had to cut my second dive short when my air got low. Wonderful day out with perfect weather.
  • As with long-distance trail running, what I like about diving is meeting random other people where the known intersection of interests is at first just a single activity. "Slow sports" like these where an excursion leisurely takes up a large part of the day leads to a wonderful discovery of stories and more shared interests.
  • Gradually realising that @cpbotha has slyly hoodwinked me into being more mindful of how I spend my hours. Committing time to a somewhat public, somewhat permanent record would seem to weigh down this lightness of being.
  • Hardly got the chance to dip into the rest of the coding puzzle. Got home mid-afternoon after the dive, ate lunch and took a late-afternoon nap. Gamed a bit with the eldest (work and exams kept us from spending solid blocks of time recently).
  • Power off later than expected with the ; rather calling it a night.

gvrooyen, to random
@gvrooyen@c.im avatar
  • Very (very) grudgingly got up to be at the youngest's school at 07:30 for a 6h-long car washing fundraiser... which turned out to be more fun than I anticipated. The kids seemed to really enjoy it, and my car hasn't been this clean in years.
  • Only got round to doing Day 2 after said car washing marathon. ⭐⭐
  • On Thursday I mentioned expectation tests in (https://c.im/@gvrooyen/111499437538149059) which is a really useful way to debug while you're coding your way towards a solution. A beautiful part of the build system is that you can run dune test to see whether the output looks sane before you have defined the expected output, and then just do dune promote to have it automatically patch your test code with the result. Wicked.
  • The eldest has completed his first year of high school. Birthday parties are now evening events, and everything's a bit cooler in a good way.

gvrooyen, to random
@gvrooyen@c.im avatar
  • Did a 2021 exercise as my morning code kata; from tomorrow it's the real thing. ftw this year!
  • Entering into the more retrospective part of the year where I'm starting to carefully look at commitments that spark joy and create value, versus commitments on which to cut back. Prune to grow.
  • Octoco year-end function was a pleasant social at the Saggy Stone outside Stellenbosch. So wonderful to see more and more faces each year, and to enjoy the convivial banter!

gvrooyen, to zig
@gvrooyen@c.im avatar
  • Really tempted to do a little from-the-ground up OS for my 386, written in . First step would be a custom floppy boot sector; great place to pack those structs and try out the inline assembly.
  • Into some hardcore signal processing R&D again for Custos, which always makes me happy.
  • Took half a day leave to join my wife for her practical training session. I qualified 25 years ago, but my old group dissipated and we never got dives arranged after that. Hope we can now make a habit of it – maybe even get the kids involved!
  • The price of spontaneous leave-taking is catching up on admin in the evening. I'll take it anyway.

gvrooyen, to random
@gvrooyen@c.im avatar
  • Regular 7am call with our Japanese client, which has become a weekly ritual for 6 or 7 years now. We are on very friendly terms, but I've never seen anyone's face, online or otherwise.
  • For my daily code katas to get my brain going in the morning, I'm doing old Advent of Code problems. I plan to do at least the first couple of weeks in this year, even if it's only the first star each day.
  • Keep nomenclature tight during requirements gathering. Currently putting in quite some time on a project where loose usage of terminology caused initial confusion on the specs – don't assume a client means the same thing as you do when they say "user" or "alert".
  • A doctor did a house call to give wife & me yellow fever shots and malaria prophylaxis for an upcoming trip. It took hardly 15 minutes from my day. I honestly didn't know house calls were still a thing.
  • My USB stiffy drive was delivered! (An old-fashioned 3.5" magnetic disk is called a "stiffy" in SA; the 5.25" is the only "floppy"). As a side project I'm restoring an old 386 without hard drive (yet) and with no networking capability. Now I can create disk images of old DOS versions and swop other stuff between my laptop and the 386.
  • Just the briefest of runs in the Helderberg Nature Reserve before I had to jump on a 5pm tech demo because time zones.
  • Tech demo went well I think.
  • First meeting started at 7am, last one ended past 6pm. Delivered decent (I hope!) knowledge work that required time to think and had pressing deadlines. Lunch, run, and brief side distractions were short. Still feeling guilty that I haven't done more, mostly because I couldn't get around to people who hoped to get work done on other projects. The daily struggle to first set aside and let go; save tomorrow for tomorrow

gvrooyen, (edited ) to random
@gvrooyen@c.im avatar
  • Decided to try out a bullet blog on Mastodon like @cpbotha for a few days to see how it gels with me.
  • Entering my 4th week of having a virtual personal assistant; already making a huge difference.
  • Fun conversation with @mobivangelist triggered by a such-a-small-world business thing that required me to contact him.
  • Booked a plane ticket to Istanbul. Client cancelled the meeting 2 hours later. Briefly despaired about non-refundable economy flights. Discovered that Travelstart provides a full refund if you need to cancel on the same day. Much relief.
  • Too few uninterrupted blocks of work time today meant that I could not make much progress with the bigger things on my list that require a few hours of focus. Need to figure out better ways to manage this as my role in Octoco evolves.
  • Wonderful farewell event for someone whom I deeply respect in the local VC space, Andrea Böhmert, who has moved to Germany for a wonderful new opportunity. Good conversation with a wonderful network of founders and investors – a privilege to be in this ecosystem.

cpbotha,
@cpbotha@emacs.ch avatar

@gvrooyen Awesome, thank you!

Consider tagging with maybe we can start a small movement. :D

gvrooyen,
@gvrooyen@c.im avatar

@cpbotha Right?! That's what I always appreciated about WHV, but I never could bring myself to regularly do longer-form write-ups. The bulleted daily is pretty great

cpbotha, to running
@cpbotha@emacs.ch avatar

Charl's log, Earth date Sunday 2023-11-27:

cpbotha, to emacs
@cpbotha@emacs.ch avatar

Charl's log, Earth date Saturday 2023-11-26:

  • published goodreads review of Building Analytics Teams by John K Thompson see https://www.goodreads.com/review/show/6000656140 (TLDR; unfortunately not great)
  • looked at the Emacs htmlize bug exporting org-modern agenda
  • something adds a visual space between : and start of tag name. Cursor jumps over that space, and it does not contribute to current point position, however, it looks like that confuses the htmlize code, which starts the HTML appearance change for that tag one position too late (today it was 906 instead of 905)
  • I could dive into this, but not motivated enough
  • did a quick search for data science lifecycles / models when reading those data science strategic plan blog posts
  • MS team data science process: https://learn.microsoft.com/en-us/azure/architecture/data-science-process/overview
  • Berkeley data science life cycle: https://ischoolonline.berkeley.edu/data-science/what-is-data-science/
  • CRISP-DM which seems be de factor also for DS: https://en.wikipedia.org/wiki/Cross-industry_standard_process_for_data_mining
  • funny that OHRA (our insurer back in NL) was one of the 5 companies leading the ESPRIT EU project that birthed CRISP-DM
  • thinking about ways of building 15 minute planning and 15 minute emali grooming into my day
  • planning crucial, but email grooming and general admin feel like they are taking time away from better activities
  • took a quick look at org-roam-buffer code to see how much work it would be to get a similarity list in there
  • as could be expected with org-roam, code is OK, but API not really designed with this sort of re-use in mind
  • [2023-11-25 Sat 16:42] err I was wrong in this case; you can just add a function to org-roam-mode-sections
  • fixed the consult nearest heading work-around to also take care of =consult-outline= (that was just the advice that needed to get an &optional arg.
  • after dinner I am able to get Simon Willison's =llm= working on my 1700+ node export, and then my own umap code which on my setup is 3 to 5 times faster for initial embedding but also queries
  • so close at [2023-11-25 Sat 22:43] I have the server spitting out top 10 closest org-roam IDs, but time for sleep because run tomorrow!

#log #lifelog #emacs #orgroam #llm

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • ngwrru68w68
  • modclub
  • magazineikmin
  • Youngstown
  • osvaldo12
  • rosin
  • slotface
  • khanakhh
  • mdbf
  • GTA5RPClips
  • provamag3
  • tacticalgear
  • InstantRegret
  • cubers
  • tester
  • ethstaker
  • everett
  • Durango
  • cisconetworking
  • normalnudes
  • anitta
  • Leos
  • megavids
  • lostlight
  • All magazines