brainsteam.co.uk/brainsteam/content/posts/2022/11/06/weeknote-44/index.md

92 lines
6.7 KiB
Markdown
Raw Normal View History

2022-11-06 12:01:33 +00:00
---
title: "Weeknote 44"
date: 2022-11-06T10:34:00Z
description: A summary of what I got up to in week 44 of 2022
url: /2022/11/6/weeknote-44
type: post
mp-syndicate-to:
- https://brid.gy/publish/mastodon
- https://brid.gy/publish/twitter
2022-11-06 12:18:59 +00:00
resources:
- name: feature
src: robot.jpg
2022-11-06 12:01:33 +00:00
tags:
- personal
- machine-learning
- open-source
- philosophy
- work
- weeknotes
- digital-garden
---
2022-11-06 12:18:59 +00:00
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.
{{<figure src="robot.jpg" alt="A cute robot standing on the sand in a desert with stars or lights in the sky" link="https://unsplash.com/photos/XNn3SpMhiNE" width="600px" caption="Photo by <a href='https://unsplash.com/@mekanizm?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText'>Justin Ha</a> on <a href='https://unsplash.com/s/photos/cute-robot?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText\'>Unsplash</a>">}}
2022-11-06 12:01:33 +00:00
------
## 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](https://fosstodon.org/web/tags/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](https://thegradient.pub/) 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](wiki.jamesravey.me/) 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](https://www.bookstackapp.com/docs/admin/hacking-bookstack/) 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](https://wiki.jamesravey.me/books/digital-garden-seed-propagator/page/working-with-the-garage-door-up) I have [made the code available already](https://git.jamesravey.me/ravenscroftj/RAFAEL) 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](https://www.pola.rs/),
![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!](2022-11-06-10-42-41.png)
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](https://freshrss.org/) 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](https://apps.gnome.org/app/com.gitlab.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](https://www.wallabag.it/en) 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](https://gitlab.gnome.org/World/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](https://gitlab.gnome.org/World/read-it-later/-/jobs) 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](https://docs.python.org/3/library/datetime.html) library leaves a lot to be desired. Meanwhile our friends over in JS/TS land get all the fun toys with [moment.js](https://momentjs.com/) and [more modern alternatives](https://dockyard.com/blog/2020/02/14/you-probably-don-t-need-moment-js-anymore).
This week I found out about [Pendulum](https://pendulum.eustace.io/) 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.