Let me describe my Tuesday this week:

  1. Wake up to an alarm labeled “cook a nice sausage breakfast and go to work.”
  2. Realize I set the alarm way too late to shower, cook, and be at work on time.
  3. Rush to the Dunkin Donuts across from the train station. Order a coffee and a bacon-egg-cheese croissant.
  4. 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.
  5. Get to the office. Set down my backpack and the food. Start drinking the coffee.
  6. Check Zulip to keep tabs on friends in New York. Follow a link to the TabNine autocompleter. Forget about the croissant.
  7. Install TabNine in VS Code for a test run. Update my environment setup repo so my other workstations will install it automatically as well.
  8. 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.
  9. 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.
  10. 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.
  11. Clone my Haxe fork. Get an error message. Remember that I haven’t actually made a fork yet.
  12. Make the fork. Wait for the process to finish while drinking more coffee.
  13. 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.
  14. Start making a new bash script to save keystrokes whenever I clone a Github repo.
  15. 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.
  16. 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.
  17. Refocus on the Haxe pull request. Start digging in the Haxe code to find where the JSON parsing bug occurs.
  18. 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…
  19. Well that’s not happening this morning. Maybe I should be doing real work.
  20. Concentrate all energy on shifting gears to my work projects.
  21. But first, I wonder if there’s anything like Rust’s Result and Option 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.
  22. 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?
  23. 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.
  24. 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!
  25. Why am I so hungry?