A typical workday during finals season
Let me describe my Tuesday this week:
- Wake up to an alarm labeled “cook a nice sausage breakfast and go to work.”
- Realize I set the alarm way too late to shower, cook, and be at work on time.
- Rush to the Dunkin Donuts across from the train station. Order a coffee and a bacon-egg-cheese croissant.
- Take the food and catch the train. It’s too crowded to sit down, so save the coffee and croissant to eat at my cubicle.
- Get to the office. Set down my backpack and the food. Start drinking the coffee.
- Check Zulip to keep tabs on friends in New York. Follow a link to the TabNine autocompleter. Forget about the croissant.
- Install TabNine in VS Code for a test run. Update my environment setup repo so my other workstations will install it automatically as well.
- Check my notes to brush up on what I did at work yesterday. Scribble 3 TODO items on sticky notes. 2 of them are not work-related. There is already an entire sheet of paper covered in miscellaneous sticky notes.
- Check for GitHub notifications. The Haxe maintainer has responded to my bug report and given me the go-ahead to patch and submit a pull request.
- Maintainer has suggested a preferred course of action for the patch. Spend a few minutes wondering if I could just do things the way I planned originally. Probably not.
- Clone my Haxe fork. Get an error message. Remember that I haven’t actually made a fork yet.
- Make the fork. Wait for the process to finish while drinking more coffee.
- Go to type
git clone
again and realize how repetitive the command is. It always involves typing a full GitHub url, but usually the only unique information is the repo name. - Start making a new bash script to save keystrokes whenever I clone a Github repo.
- Realize the script might be useful for other devs as well. Should I make the Github username an environment variable so others can configure it easily? If I did, I’d have to update my environment repo’s init scripts to set the environment variable. This is getting pretty off the rails, so I should just hardcode my username in it for now and leave a
#TODO
comment. - Note to self: it’s so weird that in Bash,
=
and ` = ` are different operators. Maybe I should get serious about switching to xonsh even though it doesn’t fix my major gripe about using the same script files on Windows and Linux. - Refocus on the Haxe pull request. Start digging in the Haxe code to find where the JSON parsing bug occurs.
- Realize that in Haxe, many standard library functions are re-implemented natively in every target language, so this pull request might involve fixing the bug in C++, JavaScript, C#, etc…
- Well that’s not happening this morning. Maybe I should be doing real work.
- Concentrate all energy on shifting gears to my work projects.
- But first, I wonder if there’s anything like Rust’s
Result
andOption
types in Haxe. I really want to have compile-time null safety in my projects if I’m going to be using Haxe for all my gamedev. - See that Haxe has an Option enum. It would be nice to have a convenience function that converts a nullable reference into an
Option
automatically—maybe I should write that. Seems like it should already exist. Is this another potential PR? - Look at the clock. Realize one of my classes has started. Meh, I have hours to make up this week since the office will be closed on Black Friday. I’ll just stay and keep working.
- Finally transition to work projects. The code is closed-source despite being academic, which is a huge bummer. Wonder if I could convince my boss to let me open it up. That would make for some great blog posts. You know what, so would this morning!
- Why am I so hungry?