After a long period of not managing it, this week I am attempting to return to the Weeknote format that I started earlier in the year. This week I’ve been busy with building bots, playing games and getting a date for my PhD viva.

A cute robot standing on the sand in a desert with stars or lights in the sky

Photo by Justin Ha on Unsplash


Viva Date

On Monday a date for my PhD viva was confirmed. I’ll share the outcome after it’s happened rather than what the date is in advance.


Personal Website

On Saturday I spent some time updating my personal landing site (Brainsteam sister-site) https://jamesravey.me. Apart from the site being quite out of date, I was not happy with the look and style, so I decided to use a single page “infinite scroll” type layout which summarises what I’m about and directs interested folks here.


#datadon and The Great Twitter Migration

I’ve been a Mastodon denizen for a little while, so it’s been interesting seeing how the new influx of people settle in. I’m particularly interested in the #datadon tag which a few people are starting to use as an all inclusive data science/machine learning/mlops type term.

If you are an AI/ML/DS type you might also find it useful to join the https://sigmoid.social instance which was set up by The Gradient in order to find like-minded folk.


Gaming, Steam Deck, Half-Life

I’ve been replaying Half-Life 2 on my Steam Deck this week. It works amazingly well and the controller configuration out of the box is very comfortable once you get used to it.

HL2 was a formative gaming experience for me as a teenager, and it still holds up amazingly well today. The world-building is amazing, the physics puzzles are great (perhaps a little irritating to modern gamers who are used to physics engines but in 2004 this stuff was truly amazing). I also love the genre switching and nods to various tropes and cultural references. It switches from Orwellian 1984 cityscape to Romero Night of the Living Dead to War of the Worlds and back again. Truly a masterpiece of modern gaming that I’m enjoying re-playing hugely. By my reckoning I’m about halfway through the main story now.

The Steam Deck is a champ while running it too, I can play for a good 2-3 hours and still have 60% battery left. A very nicely optimized piece of software.


Personal Telegram Bot and my Wiki

As I’m really starting to settle in to using my personal wiki as a public commonplace book and digital garden, I’ve spent some time this week working on a personal telegram bot that can add stuff to my wiki automatically e.g. saving bookmarks, adding photos of paper notes I’ve made to myself, that kind of thing. The Bookstack Docs and API are really nice and simple to use and I had something basic up and running within a couple of hours.

In the spirit of working with the garage door up I have made the code available already but I should warn readers that it is still a bit ugly and there is a serious lack of documentation right now. For those sharp-eyed amongst you, you might see I accidentally committed some API keys to the repo. Let me spare you the curiosity: I already revoked them so don’t even think about it.


Cool Things I Learned About This Week

Polars

One of the cool things I found out about this wee as a by-product of the great Twitter Migration was polars,

Screenshot of Mastodon user Juan Luis: Today I discoered, to my surprise that vectorized string operations in #pandas are slower than raw #python. I thought it was the opposite! You know what’s faster than both? #polars!

Not only is the performance of polars interesting to me but also the fact that it’s a stable rust-native library with Python bindings. I’m really interested in rust and I’ve had one or two attempts at building stuff in it so I’m going to be keeping my eye on what people are building in rust now that it has a decent data frames library associated with it.

Desktop News Readers

RSS is back baby! I’ve been using my own instance of FreshRSS to manage my news feeds for a few weeks and I generally use the web UI and the mobile app to access it. However, this week I was made aware of NewsFlash which is a desktop-based RSS reader which can interface-with and manage your FreshRSS instance via the API. It’s a nice experience on desktop Linux and you can install it with flatpak.

I also use wallabag for “read it later” functionality - when I see a cool article and think “I don’t have time for that right now, I’ll come back to it”. I found another desktop app called read it later which is a Wallabag client. Unfortunately the flatpak build seems to be very old and crashes when I try to link it to my wallabag instance but the nightly build available from their gitlab page seems promising.

Boring but useful: Time in Python

Old-hat Python developers know that timestamps in python are a pain and that the native datetime library leaves a lot to be desired. Meanwhile our friends over in JS/TS land get all the fun toys with moment.js and more modern alternatives.

This week I found out about Pendulum which is like a moment.js for Python. It doesn’t quite do all things like parsing of weird fuzzy human dates, but it does quite a lot of useful stuff out of the box, particularly around parsing ambiguous dates.