Harisont på adventyr: my 2025 December Adventure
The December Adventure is a chill alternative to the Advent of Code, which is exactly what I need in December: the darkness of this month prompts me to spend even more time on my computer, and my goal is to spend at least some of that time every day doing something I’m excited about. Doesn’t even really have to be code, as the organizer says.
Chronological log (if you prefer to browse by project, go to the recap at the end of this page):
- Day 1: plans
- Day 2: WYTIWYS? WTH?!
- Day 3: LaTeX macros
- Day 4: seriously, WTH?
- Day 5: add/remove node complete and new website section
- Day 6: chores and literature
- Day 7: more literature
- Day 8: What You See Is What You Wish You Could Get
- Day 9: music
- Day 10: work, after-work and after-after-work work
- Day 11: small website updates
- Day 12: hobby as work, work as hobby
- Day 13: hmm…
- Day 14: Raspberry fields forever
- Day 15: tired enough to look up games
- Day 16: round-robining
- Day 17: slow, almost still
- Day 18: we don’t need no Code extension
- Day 19: better treview
- Day 20: bikepacking logbook transcript + tripod thing
- Day 21: more treviewing and transcribing
- Day 22: decorating the xmas deptree
- Day 23: DIY gifts and
.zshrc - Days 24-25: hack-a-ton
- Day 26: a day to myself
- Day 27: July Adventure
- Day 28: wrapping up… oh wait, not yet
- Day 29: wrapping up… for real
Day 1: plans
Textbook Monday around here, which leaves little room for adventure besides setting up this log. For the first few days of the month, I’ll be focusing on wytiwys, a programming project that is technically work but also very out of the ordinary (as well as of my comfort zone) and therefore kind of fun. The enjoyment I often find in my job blurs the line between work and play, but I hope to soon make time for my hobby projects too. I won’t necessarily start anything new and big. The plan is rather to do some pleasurable software maintenance, add some new features to my everyday tools, write one or two blog posts and perhaps work on some long-term photography projects.
Day 2: WYTIWYS? WTH?!
So, wytiwys is a web-based graphical dependency tree editor and a component of a larger project aimed at making it easier to look for syntactic patterns in large text collections (WYTIWYS stands for What You Tree Is What You Search).
When the Query Master and I started looking into this, we found that reactive-dep-tree does 95% of what we need, and it does it quite well, so my task is just to implement a couple extra features and make some minor tweaks. Yet, working on wytiwys is definitely adventurous: it requires forking two (if not three) different repositories, intervening on sparsely documented code in TypeScript - a programming language I’ve never learned and have no ambition to learn - and, worse still, doing frontend. Nothing like my usual PhD work.
Contrary to my expectations, I am having a blast.
Sure, progress is slow, but working in TypeScript with little documentation is akin to reading in Danish without a dictionary: I know enough Swedish to figure out what’s going on, but deciphering individual constructions takes effort.
Satisfyingly enough, I’ve managed to guess my way through the code until now.
Today I actively looked up something (list array concatenation) for the first time, and I think it’s wild.
I’m happy to report I’m almost done adding one of the most important missing features, adding and removing nodes, but less so about the current solution for additions. I’ll try to simplify the code tomorrow.
Day 3: LaTeX macros
Change of plans! I thought I’d have some time to work on wytiwys in the afternoon after a seminar, but that was 150% longer than I anticipated (which I didn’t mind), so no lines of TypeScript were written today.
On the other hand, I did squeeze a moment of productination into this morning’s paper writing session and finally reminded myself how LaTeX macros work. It’s so simple I can’t believe this is my first one in years:
\newcommand{\footnoteurl}[2]{
\footnote{\href{#1}{\nolinkurl{#2}}}
} % usage: \footnoteurl{LONG-URL}{NICE-URL}
The macro allows me to create footnotes whose content is a single URL with a short version, rendered in the PDF, that would work if the reader copy-pasted the link in a modern browser (but not necessarily when clicked from a PDF reader) and a “full” version that is used when the reader clicks on the link. For example, I used it as
\footnoteurl{https://universaldependencies.org/sv/index.html}{universaldependencies.org/sv}
Day 4: seriously, WTH?
This was a long, frustrating day with no time for work that doesn’t feel like work at work. Had a short late night wytiwys session where I tried to complete the hacky implementation of the “add node” functionality I was working on the day before yesterday. It seemed to work within a few minutes of writing code, so I thought I’d leave perfectionism aside and keep it that way. Needless to say, I soon found a bug which seems to be an underlying library’s fault (more specifically, it seem to be due to JavaScript’s utter lack of type safety, but take all of this with a grain of salt - the whole reasoning is the output of a tired brain past midnight). It might indeed be necessary to fork a third repository for this project, both if I just want to fix the bug and if I decide to implement a cleaner solution, which would require that either way.
Day 5: add/remove node complete and new website section
News from a late evening at the office: I was right about the cause of the bug, although it was not in the library I thought, but in the code wytiwys inherited from reactive-dep-tree itself. Apparently, TypeScript is perfectly happy to do string + number without throwing a type error, which leads to token IDs such as 31 (“3” + 1) instead of 4 (3 + 1). The fix is a single line change:
// was: headId = e.detail.dragged;
headId = parseInt(e.detail.dragged, 10);
…but come on! Not even Python lets you sum numbers and strings and it doesn’t have “type” in its name.
Anyway, I played a little bit with the stylesheet etc. and now the thing looks like this:

(I just noticed I forgot to record the text field where I was typing the new values… Whatever, it’s late. I should go home)
I also added a new section to this website, because apparently after 12 hours at uni I’m too tired to get groceries, make food or go climbing but not for spending time in my text editor (some days are like that).
I called it [[[a]]] because it’s a list of lists of lists.
The contents have been there for a while, but until now they were only accessible to the selected few that knew what the various URLs were.
I would also like to add a list of all of the Straordinarie Scrittrici Svedesi (extraordinary Swedish women writers) I’ve been reading since starting to learn Swedish.
Day 6: chores and literature
Today was reserved for all chores I postponed throughout the week and I had plans with a friend for the evening. But what about the adventure? I started taking some preliminary notes for the listpost about my favorite Swedish authors I mentioned yesterday. Coincidentally, a short story written by of them - Bortbytingen, by Selma Lagerlöf - is mentioned in a nonfiction book about autistic women I’ve just finished reading. I’ve been wanting to read some Lagerlöf’s short stories for some time, so I went to Litteraturbanken1 with plans to assemble my own ebook (more or less like I do with blog posts and other web content), but I had forgotten that most short stories are only available as part of the anthologies they were originally part of. Well, I guess I’ll just read more.
Listening to: Arja Saijonmaa & Inti-Illimani, Jag vill tacka livet - 13 sånger av Violeta parra - äkta chilefinlandsvenskmusik!
Day 7: more literature
Today is the quiet before the storm of work and social commitments that will be next week, and some cozy adventuring (as well as some climbing, cooking and a choir concert I’ll go to in a bit) is good mental preparation for that.
I spent about one hour trial-and-erroring a single photo of a stack of books I want to use in my upcoming blog post and I’m still unsure whether any of my attempts is good enough. I guess one of the problems is that I decided to make my own “studio light” with candles, whereas I usually decide if I should take a picture at all based on the goodness of the light life happens to offer me.
I also started writing the actual blog post, which will be in Italian (the target audience is my family, mostly my parents).
Listening to: the local vocal ensemble Sot (live xmas concert).
Day 8: What You See Is What You Wish You Could Get
I spent the evening refactoring some copy-paste code in wytiwys and adding some SVG elements that do absolutely nothing yet. Their purpose will be to allow specifying constraints on the (relative) positions of tokens in a sentence. My trees are now almost as cluttered as they will get (I still have to figure out what symbol to use to signal adjacency between words and, more importantly, where to place it):

Listening to: Rolling Stones, You can’t always get what you want.
Day 9: music
Today was an unusually musical day. A large portion of the afternoon was spent preparing for a music quiz some colleagues and I are organizing for an after-work.
The part where I sat in front of my computer and did something exciting was all about organizing and annotating scans of some renaissance music scores to pass them on to a friend who’s part of a wonderful vocal ensemble, Sot, that I’ve had the pleasure to listen to for the first time last weekend. “Excited” isn’t exactly the right word to describe how it felt to do this, though: the concert reminded me of the joy I used to find in singing in that kind of ensemble, and going through my scores from that time brings back strong memories. The whole experience is rather bittersweet.
Ironically, today is also the first day of my voluntary musical deprivation phase. I stopped paying for Spotify (stoppified?) a few weeks ago; now my subscription ended and I don’t have a plan about how to listen to music from now on yet.
Listening to: Tritonus Ensemble (on YouTube, for lack of a better alternative).
Day 10: work, after-work and after-after-work work
Today went like this:
- work
- after-work
- work.
First thing in the morning tomorrow, my group is having a discussion about the reliance of our work (crucially, the development of an open research infrastructure for linguistic research) on proprietary SaaS. I am the proponent and organizer of that discussion. Preparing for that strikes me as adventurous enough.
Day 11: small website updates
I had another very long work day (group meeting, supervision meeting, answering a bunch of emails I had neglected, two and a half hours’ worth of syntactic annotation). All I managed to do was to update my nerdy RAQs about Swedish syntax in the Universal Dependencies framework (which is kind of a time consuming but fun side effect of the annotation work) and start a music listening diary for this transition phase from Spotify to I don’t know yet what.
Listening to: Julbarock med Anna Fusek och La Misticanza - a lovely English + Italian baroque music concert on Swedish national radio (also online).
Day 12: hobby as work, work as hobby
Got up early to meet one the awesome students I’m supervising and compare our syntactic annotations. It is the end of a demanding work week (assuming I don’t have to work during the weekend), so I opted for only doing fun work tasks for the rest of the day. I updated the UD RAQs again and prepared two mini-presentations for the internal end-of-year show-and-tell we’re having on Monday. One is about wytiwys (work that almost feels like a hobby project), one about MagiKarp (hobby project that almost feels like work). They are both light-hearted and riddled with inside jokes because, especially after yesterday’s meeting, I’m tired of taking myself seriously this semester (and if I am tired of myself, imagine my colleagues).
Listening to: Ymna women’s choir (another live xmas concert).
Day 13: hmm…
This morning I finished reading issue number 9 of hmm, my DIY digital magazine (“hmm” stands for “harisont’s multilingual magazine”). I spent some time going through my highlights and bookmarks from the ebook, which led to some further exploration of the WWW and a new [a] in the [[[a]]], posted about the two most interesting reads on Mastodon and prepared the next issue.
I also revamped my RetroPie to play some Tetris with a friend and accidentally ended up with a massively improved setup for my Raspberry Pi (which I mostly use as a media player); details and photos tomorrow.
Listening to: political news podcasts in various languages - El Hilo (es), Limes (it), Europapodden (sv) (all of them have normal RSS-or-similar feeds and can be listened to via brilliant FOSS apps like AntennaPod). And then 8-bit music. Lots of 8-bit music.
Day 14: Raspberry fields forever
So, as I touched upon yesterday, I have a Raspberry Pi that I occasionally use for watching videos on my projector, playing games Tetris and (even more occasionally) listening to the music I still have in a hard drive from the pre-streaming times.
I don’t like video games a lot, but I do enjoy watching movies (as well as other long-form videos) at home. The reason why I only do that sporadically is that my system is a huge mess of wires and peripherals, so impractical to set up that I have to plan for it in advance and so ugly that I always want to disassemble everything as soon as the movie is over. As for music, which I listen to on a daily basis, it goes without saying that streaming stuff with Spotify on my phone is orders of magnitude more convenient than maintaining my own music library and dealing with LibreElec/Kodi (the impressive, yet incredibly frustrating software I use on the Pi) to play it.
Ever since I decided to stoppify (and, in general, to take a step back from music streaming subscriptions at least temporarily), I thought I might give Kodi another chance. Plus, I recently discovered PlayOnDlna, an awesome Android app to stream YouTube videos to Kodi. Combined with LibreTube, it convinced me to finally get rid of my Chromecast and use the Raspberry Pi more. However, the Mighty Jungle of Cables issue persisted.
Yesterday, I finally realized that, on top of the Raspberry Pi itself, I also have a beautiful, odd, solid wood box my aunt gave me as a birthday present last year. The reason why the box looks interesting is that it used to contain a field telephone, and the fact that it contained a field telephone means it has an abundance of differently shaped holes in all the right spots… you know where this is going, right? I call it the Field Raspberry.
The inside is still a mess, but I already love how this thing is turning out.
Today I worked on the software side of things. Not in the sense of writing any software, but as in configuring LibreElec/Kodi. I imported my old music library and movies, installed a couple web radio plugins, got the analog audio to work reliably (it was just a matter of uncommenting a couple lines in a config file, but good luck finding the config file) and set everything up so that I can remote control Kodi from my phone (with the Kore app). This means that, when the Field Raspberry is not connected to a screen or projector (which is most of the time), I can use my phone to play music.
I will happily do that for the rest of the evening while I read through one of my students’ project report draft.
Listening to: random stuff from my outdated digital music library.
Day 15: tired enough to look up games
After a short night’s sleep and a long work day, the only thing I could bring myself to do was to tidy up my RetroPie library, deleting a bunch games I hate and adding a few new ones to try out. The latter is kind of pointless, because as much as I enjoy testing games every now and then, they never keep me entertained for more than a few hours (with very, very few notable exceptions). Also, I didn’t get the one I was most curious about, Captain Blood, to run.
Day 16: round-robining
Spent the morning multitasking (or, to be exact, round-robining) doing loads of laundry and pre-selecting pictures for a photobook I’m putting together as a xmas new year gift for a relative.
I made another one for my parents a few months ago and it took at least a week of work, so being at the selection stage the day before the files have to be ready to ensure the book is printed in time feels a bit stressful.
On the other hand, this book is much simpler: all photos are 4:3 and should appear in chronological order, one per page, so no need to tinker with the layout at all; postprocessing and text will be minimal (most photos are ok straight out of camera, a few need some cropping or similar); not to mention that, unlike last time, I’m using a typesetting software I’m already familiar with and, also importantly, in a language I know.
I will probably do everything else tomorrow, as starting work after lunch usually implies finishing late.
Listening to: the wonderful Paolo Poli reading the classic of Italian literature I promessi sposi.
Day 17: slow, almost still
So, I actually finished the photobook already yesterday night (well… technically today, but it still felt like yesterday), which caused me to amply oversleep in the morning. Despite the late start, it was a rather productive day, enough that I carved about an hour for wytiwys, but with little success. I’m afraid unless I get a few consecutive hours in a row to work on that, progress will continue to be “slow, almost still” (as a legendary piano teacher used to say when people played too fast). Luckily, climbing with some friends before dinner almost made most of the frustration dissipate.
Day 18: we don’t need no Code extension
(…nor do we need Visual Studio Code itself, because a truly FLOSS version exists: Visual Studio Codium)
Today I had two separate meetings with two different students and a significant portion of both involved someone complaining about the linguistic annotation tool Arborator. Now, I don’t think Arborator is bad software. In fact, I think it’s by far the best of its kind and I like its drag-and-drop interface enough that I’m using it as the starting point for wytiwys. The problem is, Arborator is research software, and research software (especially if as-a-service) breaks. I don’t blame Arborator’s maintainers - we have enough issues of this kind despite having excellent research engineers, so I assume that they are also trying their absolute best. The more common causes for research software malfunctioning or becoming entirely unavailable are (choose one or several) understaffed IT departments, overworked sysadmins and limited funding for software development, let alone software maintenance.
As I said, I do like Arborator’s GUI, especially when it comes to editing dependency edges, but I don’t necessarily think it makes me more accurate or efficient (actually, editing certain fields takes too much clicking around for my taste). The two things that do make a difference in this sense, compared to editing CoNLL-U files directly in the text editor, are:
- seeing dependency trees in their graphical form (the fact that they’re interactive is a plus, but a live preview would be more than enough)
- having the output of the validation checks easily available along with each tree.
None of this requires all of Arborator’s infrastructure. For quite a while I’ve been thinking that it’d be nice to have at least some kind of previewing functionality built into my text editor to make it less painful to do annotation work when Arborator is down and, in general, to make it easier to work offline. It helps that I have already written a CoNNL-U visualizer as part of another project.
Today I decided it was time to act upon this thought and started going through the VSCode extensions tutorial… but I hated it.
Since my visualizer outputs HTML-embedded SVG, I started considering forking one of the existing HTML visualizers for VSCode and proceeding by clueless minimal edits, just like I’m doing with wytiwys, until I’d get it to work for CoNNL-U files.
But that was not needed!
In my search for viable starter code, I found the glorious Document Preview extension that allows you to preview anything that can be converted into HTML.
So I did 1+1, made minor adaptations to my pre-existing visualization code, and now I have a basic live tree preview treview in Codium:

Code and setup instructions here. Can’t wait to do some annotation work tomorrow and improve the output as I go. Ah the joy of small programs!
Listening to: Pink Floyd, The wall.
Day 19: better treview
Work-from-home day. Did some annotation work with treview, which is already working great for me, opened an issue to see if the creators of the extension it relies on are willing to fix the only real problem I’ve encountered so far, and added the possibility to display select metadata items.
Listening to: Rachmaninoff’s Vespers, performed by the National Academic Choir of Ukraine ‘Dumka’ (conductor: Yevhen Sachuk).
Day 20: bikepacking logbook transcript + tripod thing
Today I watched this bikepacking video, which rekindled my ambition to write a blog post about last summer’s bike trip.2 It’ll look similar to my Kattegattleden post from last year (in Swedish), with an interactive map and a few photos, but while last year I used the pictures to remind myself of what happened each day, this time I have an 18-page logbook to start off from. I’m tempted to just transcribe those notes and publish them with just minor edits (I love reading Hundred Rabbit’s logbook transcripts!), but as I’m flipping through the pages I realize that the amount of code switching in the handwritten text might be too much even for my chaotically multilingual blog. I’ll figure something out.
I also refined the Field Raspberry a little. I found some shorter cables to reduce the clutter, reorganized the internal storage space and put together a… platform… thing? for quick projector setup that can sit on top of (or be stored inside) the wooden box. It essentially consists of part of an old crappy tripod screwed onto a tiny wooden shelf I found in the box where I keep my “construction material” (aka random items that may or may not eventually be reused). This will come in handy whenever I feel like my proper photography tripod is overkill.
Listening to: George Harrison, Early takes volume 1 (on the Field Raspberry).
Day 21: more treviewing and transcribing
Today I had to finish some syntactic annotation work due tomorrow, but it’s Sunday, so I mix business with pleasure and alternate the actual work that I’m paid for with improving the tool I’ve built for carrying out that work, treview. It is now possible to preview more stuff, but not everything that is available in the file. I prioritized things that are actually useful for me to see and things that I will probably never need but don’t take too much vertical space. I don’t think I’ll implement the remaining visualizations: the source code is available and, I dare say, readable enough that, if someone really wants kilometers of text under each node, they can relatively easily add what’s missing. I also did some basic code cleanup - long lines and inconsistent use of quotes and indentation were bugging me.
I’m really enjoying working both on and with treview: the project is small, fun and actually really useful right now! My annotation work has never been more efficient and every time I see room for improvement or notice missing functionalities I can go back to the code and quickly adapt it to my own needs.
Listening to: Studio Ghibli music in the only version I like.
After dinner, I spent an hour transcribing some of the logbook and choosing photos to go with the text. I’m currently on day 3 of 9.
Listening to: the soundtrack of Mother 3, which I’m trying out on the Field Raspberry. Kinda cool, but I highly doubt I will ever play it through.
Day 22: decorating the xmas deptree
Today, I could finally dedicate several hours of my work day to wytiwys. My brain is a bit fried so please excuse the incomprehensible update. I swear this is not how I explain things to my students.
Anyway. I managed to both:
- add the last few
xmas decorationsbuttons (I mean the chains/links. Centering them between words took me forever because I struggle with spatial reasoning) - implement the logic to toggle the various constraints that they represent by clicking on them, updating the SVG itself (opacity of the various icons), as well as the underlying JSON and tabular representation (under the tree in the picture below).

There’s still a minor UI bug that is most likely my fault (even if I would love to blame it to the code I inherited) but I feel like I can move to the third and last major issue, which is redoing the UI “around” the tree to enable hiding/showing different features.
In the process, I learned about lambdas and basic operations on JSON objects.
Listening to: Naxatras.
Day 23: DIY gifts and .zshrc
The photobook came and it’s beyond expectations! Aside a single very obvious error and a couple typesetting choices that are questionable in hindsight, I’m so happy how it turned out and I almost like the company I ordered it from. The materials and print quality are good (actually, my photograph have rarely looked so good on paper), the only branding in the final product is a minuscule logo and most importantly, they make their desktop app (which is half impressive half horrendous) available from Linux directly from their homepage (the German version is even on AUR!). On the other hand, it’d be nice to do everything with FOSS (and as a bonus, more sensible) software next time. Typesetting a book of this kind from scratch in LaTeX wouldn’t be too hard, but I’d have to investigate how to best get the PDF printed.
I’m spending the night DIYing another gift, the only one that actually needs to be ready tomorrow. Can’t give any details because the friend I’ll spend xmas with does check this website sometimes. I’m looking forward to a couple fun days together doing things we enjoy (including our own mini-hackaton!), none of which is particularly xmassy. Since I’ll have her over for two days in a row, log updates will probably be delayed, but my adventure should continue at least until the 28th, when my actual holidays start.
Because of all the giftmaking and work I didn’t write any code today.
However, inspired by a conversation on Mastodon, I played around with my .zshrc (i.e. my shell config file), especially with the aliases.
I’m getting to a point where I have a few useful and/or fun ones:
alias yogurt="yay"
# used to be an alias for yaourt, which is impossible to type. Stays for
# historical reasons
alias grab="history | grep"
# most used alias ever (I tend to forget it's an alias), even though the name
# should have been something more archaeological
alias open="xdg-open"
# because who thought xdg-open was a good name for a command?
alias pling="aplay -q PATH-TO-A-RECORDING-OF-A-PERSON-SAYING-'PLING'"
# recommended use: COMMAND_THAT_TAKES_FOREVER && pling. The specific sound file
# is from the lovely videogame Hiddenfolks, where all sound effects are
# recordings of someone saying the sounds
alias MY_PYTHON_SCRIPT="python PATH_TO_DEVELOPMENT_VERSION_OF_MY_PYTHON_SCRIPT"
# much better than linking the dev version to /urs/bin/whatever
alias fir="git"
# I always type "fir" instead of "git", so I might as well
alias ops="fuck"
alias skit="fuck"
alias nope="fuck"
# various ways to fix less predictable typos, regardless of the language my
# brain is thinking in (I don't tend to swear in Italian, so ops will have
# to do)
alias please="sudo"
alias suvvia="sudo"
# alternative ways to do things mere mortals like harisont can't do
Listening to: random classical music from P2 (a Swedish national radio station, delightfully devoid of any ads whatsoever).
Days 24-25: hack-a-ton
As I mentioned earlier, my friend C. and I had plans for a two-day xmas hackathon. Literally, though, a hack-athon is a hacking marathon, and marathons are often competitive. Often, the goal is typically to build and showcase a working prototype of an application. This is not quite what we were aiming for: we had no competitors and no clear goal, just a vague project idea. So ours is more of a hack-a-ton, which will be followed by a series of hack-a-bits.
The basic idea is quite simple. C. (who’s currently actually learning web development) and I often cook together and I constantly complain about recipe websites:3 wordy to the point of involuntary comedy, filled with annoying popups and images that I never look at anyway and, most importantly, utterly non-algorithmic! It’s funny how recipes are often used as metaphors for imperative programs and yet they suddenly instruct you to “now add chopped garlic” when the only previous mention of garlic was kilometers away, far up in the ingredient list. Do they think the garlic chops itself? Is this some kind of lazy evaluation? This lack of structure is especially frustrating when cooking together, because it hides any opportunities for parallelization.
That’s why we decided to put together a recipe website by programmers, for programmers.
Recipes are stored in structured files written in a subset of Markdown, possible multithreading is will be clearly visualized based on the number of available CPUs (aka people in the kitchen) and the UI is inspired by command-line applications.
No useless text or images are ever shown unless the --verbose flag is enabled.
Of course, nothing is ready. But we did hack a ton, learned new things and had fun.
Day 26: a day to myself
The hack-a-ton was fun, but (by definition) a lot, so no code today. Spent the day by myself sleeping, roller blading (sunny afternoon, yay!), cleaning the apartment and going to the cinema to see the latest Jafar Panahi movie. Only after I came back home I found some energy to sit at my desk and transcribe some more of the bikepacking logbook. The next couple (pre-travel) days will be hectic, but publishing it as a blogpost as part of my December Adventure doesn’t strike me as unthinkable. We’ll see how things go.
Day 27: July Adventure
Published the full logbook transcript of the Denmark bikepacking trip I went on last July!
I wanted to horizontally align some photos and figured I could use Markdown tables to do that. Then I realized that I could use (one-item) tables for every picture with a caption. Mind blown! Guess I can retire my complicated way of adding captions to pictures (which I also used earlier in this adventure log). From now on, my captioned photos will look like this:
| My favorite photo from my July adventure |
|---|
Right now, I’m actually really happy with having the “caption” on top of the image, but if I change my mind I suppose I can do
| My favorite photo from my July adventure, but this time the caption is underneath |
as well… I feel like a genius.
Finalizing the blog post, though, was 100% procrastinating on packing and doing the work I should complete before leaving for two weeks. I suppose tomorrow’s adventure will have to be a work-related one, but it’s actually good that my brain is in holiday mode. Sometimes it takes longer to decompress.
Day 28: wrapping up… oh wait, not yet
Thought I’d wrap up the adventure today as I’m leaving for a couple weeks tomorrow and was considering leaving my laptop behind.
Next term, I’ll be writing my PhD thesis + a long paper crucial to the thesis itself (not in this order) and, at the same time, supervising a Master’s thesis and co-teaching a course in Computational Syntax.
In other words, the first half of the new year will be intense and I know that, even though I feel unusually energized from working on all of the projects I’ve tackled in this adventure, I need to pace myself and take a real break.
Not only from actual work, however fun (cf. wytiwys), but also from liminal academic work (such as treview) and maybe even from other programming and writing projects (such as Concurrent Cooking and “proper” blog posts) that are definitely in the hobby territory but keep my brain in a similar mode of operation… and ideally from screens altogether, although that’s easier in the summer.
On the other hand, I feel the urge to close all side quests so that I can focus on my four main tasks next semester and I am supervising some students right now as well, meaning I cannot disappear completely until mid January.
After much debating, I decided that the laptop is coming with me and that an x-day break where 10 <= x < 15 will have to do.
On the bright side, some of the remaining work is fun, which provides me with an excuse for one or two more days of adventure.
As for today, I did a little bit of everything:
- I implemented the UI elements (but not the underlying functionality) for hiding/displaying (un)wanted linguistic features in wytiwys:
Once this is complete, I will be done with 3 out of the 3 main features I set myself to add and will put the project on hiatus until I’m back from my holidays -
I packed for my upcoming trip, part of which is digital. I assembled issue #11 of hmm (see day 13 for more context) and I went through my digital music library to select some albums to bring along on my phone. I chose:
- a new album: Real life (Kinga Głyk)
- two almost forgotten albums: Alice (Tom Waits) and Pulchra es (Il Ricercar Continuo)
- a comfort album: R.E.M. Unplugged 1991-2001
- a background album: Ambient 1 - music for airports (Brian Eno)
Doing this brings me back to the portable CD player times, which is both good and bad. What is definitely 100% bad are the absurd limitations of Nextcloud for Android. I naively thought that uploading these albums to Nextcloud would automatically imply that (modulo some “yes I do really want to have these large files on this device”s) they would end up in a normal folder of my Android smartphone where I could do whatever I wanted with them, but no. Apparently I can only access them and download them one by one through the stupid app. What a disappointment, this could have been a simple medium-term solution for listening to my “current rotation” here (on my computer), there (on my laptop) and everywhere
- I finalized (but not yet published) my “2025 stdin” blog post, which is basically just a list of books I read, movies I watched and podcast listened to this year. It will become public on December 31.
Day 29: wrapping up… for real
It is very, very early in the morning, so early that it’d be physically hard for me to wake up now… had I gone to sleep in the first place. It suddenly got too late to go to bed without risking missing my flight and I had another change of heart: to keep myself awake, I did the only work that absolutely a. requires sitting in front of a computer and b. needs to be done within the next few days. I plan to crash as soon as I board the plane and have two as restful and computer-free4 weeks as possible.
So, that’s the end of my adventure. I worked on a lot of different things this month:
- this website, including three different blog posts (days 1, 6, 7, 11, 12, 20, 21, 22, 26, 27, 28)!
- wytiwys, a dependency tree editor for What You Tree Is What You Search corpus queries (days 2, 4, 5, 8, 17, 22, 28)
- hmm, my personal digital magazine (days 13, 28)
- the Field Raspberry (Pi) (days 13, 14, 15)
- DIY gifts: a photo book and a board game (days 16, 23)
- treview, a CoNLL-U to HTML converter for live previewing UD trees in VSCod* (days 18, 19, 21)
- Concurrent Cooking, a recipe website by and for (parallel) programmers (days 24-25)
- other random stuff (days 3, 9, 10, 23, 28)
A few of these projects are now complete, some I made good progress on, some I’ve just gotten started with and some are an eternal work in progress. All of them brightened this dark December.
-
Litteraturbanken is a Swedish organization that makes Swedish literature in the public domain freely available online and as high-quality ebooks. Their website is one of my absolute favorite things about Sweden. Every country should have a litteraturbank. ↩
-
…Yes, I know I have another blog post in the making, but this adventure is supposed to be fun, not necessarily productive. ↩
-
Excepts grimgrains, I like grimgrains. ↩
-
Actually, doing computer work while visiting my family is not really a problem - my dad uses the same Linux distro as I do (because I set it up strategically)! Not having my window manager and development environments ready, though, will hopefully provide a useful disincentive from working on anything major that I’m neither obliged nor really longing to do. ↩