Sign in

G-J van Rooyen

@gvrooyen.com
93 followers 64 following 151 posts

Director: Engineering & Innovation @ octoco.ltd. Associate Professor Extra-Ordinary in Industrial Engineering @ Stellenbosch University. programming languages · trail running · innovation management · startups · good wine · business · reading

PostsRepliesMedia
G-J van Rooyen @gvrooyen.com · 25/08/2026
No cheating. Share the last photo of the sky from your camera roll
020
G-J van Rooyen @gvrooyen.com · 28/07/2025
With the sad passing of Tom Lehrer, a flashback to the place where I heard one of his songs for the very 1st time more than three decades ago
110
G-J van Rooyen @gvrooyen.com · 31/05/2025
:fistpump:
Screenshot of the "Gleam" section of the StackOverflow Developer Survey. Both "Worked with" and "Want to work with" are checked.
120
G-J van Rooyen @gvrooyen.com · 26/05/2025
The prompt string I use in my `.zshrc` to just show the current minimal change ID. Since the working copy is always committed, no need to check for any uncommitted changes.
A `jj_prompt_info()` zsh function that generates a string with the current minimal commit identifier.
200
G-J van Rooyen @gvrooyen.com · 25/05/2025
Love using plain chat as a scratchpad where I can back-and-forth with the AI until I get what I need (I've been desperate to turn my bank's old email statements into flexible machine-readable data for DECADES) and then just ask for a prompt that I can use in future or pass along to an agent
An LLM-generated prompt to give to LLMs. It describes the desired CSV structure, gives key instructions based on prior troubleshooting, and a clear description of the output artefact.
120
G-J van Rooyen @gvrooyen.com · 15/05/2025
I think the git workflow bit is worth talking and writing about even more. This is definitely a topic I'll pick up with my team. I love how new tools can unexpectedly level-up old tools – thanks for pointing this one out!
110
G-J van Rooyen @gvrooyen.com · 14/05/2025
This feels right out of Snow Crash. Read the wrong text and you might catch a serious mind-altering (or -destroying) neuro-linguistic virus. (It's thrilling! Like a new frontier still waiting to be tamed)
010
G-J van Rooyen @gvrooyen.com · 28/03/2025
Upping you one uppance 😁 Yes, it is still functional. Mid-50s wood and bakelite with a vacuum-tube receiver
040
G-J van Rooyen @gvrooyen.com · 15/03/2025
What I adore about South Africa's constitution is how clear it is to understand. E.g. §2 sets out the powers of the President (Hi, Uncle C! 👋) and it's just so simple, direct, and democratic. The Prez has no authoritative powers (we've had enough of that). The director conducts, the orchestra plays.
010
G-J van Rooyen @gvrooyen.com · 07/03/2025
And to you!
010
G-J van Rooyen @gvrooyen.com · 03/03/2025
Well, according to the instructions on my shaving foam can I should spit into the palm of my hand and then tip a cigarette into it. After applying the paste to my cheeks I can shave. Not sure where the shaving foam factors into this
A shaving foam can provides cryptic iconographs as instructions for using the product
010
G-J van Rooyen @gvrooyen.com · 24/02/2025
The litograph "Drawing Hands" by M.C. Escher. Two hands holding pens rise out of the paper and are completing each others' illustrations.
010
G-J van Rooyen @gvrooyen.com · 20/02/2025
Well they *did* control the 6th-largest navy in the world in 1989, right?
A map of the Gulf of Mexico, renamed to "Gulf of PepsiCo"
000
G-J van Rooyen @gvrooyen.com · 03/02/2025
Gave the neighbours a heads-up that there's a visitor on the block. The snake handler rescued it from their compost heap just now 🐍
100
G-J van Rooyen @gvrooyen.com · 20/12/2024
Season's Greetings from the Global South! #DatesAreNotSeasons
Steam Winter Sale. Now - Jan at 10 AM Pacific
020
G-J van Rooyen @gvrooyen.com · 18/12/2024
#remotework
A cast iron pot of lamb stew is simmering in a large solar oven in the Karoo morning sunshine
030
G-J van Rooyen @gvrooyen.com · 13/12/2024
Each Faculty has its own design in its traditional colour. The patterns' symbolism capture elements of the various academic disciplines. I think it's beautiful! #Stellenbosch #Stellies #StellenboschUniversity #academia #graduation #design
Ten academic faculties' pattern designs that represent their various disciplines in repeated patterns reminiscent of Southern African shweshwe.
030
G-J van Rooyen @gvrooyen.com · 13/12/2024
It's lovely to see graduates in the tastefully updated academic dress at Stellenbosch University this week. Undergraduates still wear plain black robes, doctorandi scarlet – but the hoods now have the most intricate embossed patterns reminiscent of shweshwe design (www.google.com/search?q=shw...)
A woman in scarlet academic robes holds a scroll case with the words "Doctor of Philosphy (DPhil), honoris causa". A golden hood with intricate embossed patterns is draped over her shoulder, fastened at the neck by a patterned brooch.
110
G-J van Rooyen @gvrooyen.com · 09/12/2024
Day 9 of #AdventOfCode was a pleasure in #Odin, mostly because it favoured in-memory processing and I could use the language's concise loop syntax. And pretty fast! 2.6 ms for both parts to run in WSL2 Ubuntu on my rather ordinary laptop.
A code snippet that describes the core of a solution for Advent of Code 2024, Day 9; the full solution is available at https://github.com/gvrooyen/AoC2024/tree/master/9
040
G-J van Rooyen @gvrooyen.com · 07/12/2024
But mostly, it's just super easy and computationally efficient to write a power function that does exactly what you do for your specific use case. Libraries don't have to provide trivial utilities that have non-trivial edge cases. You don't need someone else to write your single-liners for you.
for _ in 1..<exp do acc *= base
010
G-J van Rooyen @gvrooyen.com · 06/12/2024
After that, procedural data processing is straightforward. You can natively just add two arrays like a vector sum! Part 2 was a bit of addition logic to also take visited locations' direction into the account... but not that much more Overall, a very joyful bit of puzzle #pogramming!
000
G-J van Rooyen @gvrooyen.com · 06/12/2024
Business rules go into data structures. For today's solution we don't have steenking funkshins, we have data, and we'll have procedures to wrangle them safely, and oh so efficiently! I love that Odin doens't have "glyphs", it has "runes" as 1st-order types. It's a lo-ki in-joke I guess 💜
100
G-J van Rooyen @gvrooyen.com · 05/12/2024
Love it! Had a similar experience earlier this year flying to Mafia Island just south of Zanzibar. The airport on the island is basically a strip of tarmac and a building that looks like a big red shed. Makes travelling so much more fun!
Passengers board a small propeller aircraft in Tanzania.
020
G-J van Rooyen @gvrooyen.com · 05/12/2024
Pretty happy with #AdventOfCode Day 5 in #Odin. I happened to solve Part 1 with a map to all values smaller than the key. That meant Part 2 became a simple sort with a custom comparator. This is also a nice example of using an anonymous procedure in Odin. github.com/gvrooyen/AoC... #Programming
Odin source code showing the solution to Day 5, Part 2 of Advent of Code 2024.
020
G-J van Rooyen @gvrooyen.com · 03/12/2024
My abyss gazes back expectantly, hoping for a backrub or a bite to eat
010
G-J van Rooyen @gvrooyen.com · 01/12/2024
Odin's built-ins also felt too powerful here! Here's the Counter() equivalent. Odin leans towards "I'll give you sane defaults; ask me if you'd like an error result too." Which means that a simple hashmap counter needs no initialisation or extra checks.
010
G-J van Rooyen @gvrooyen.com · 26/11/2024
This is what I'm dealing with. In Acrobat I have to click on each individual block, type a digit, and then reposition it with the mouse. The reference to a cancelled cheque is funny, since I last saw a cheque of any kind in South Africa somewhere around 2001
000