Here we are at the end of Fall Term, 2024! What I thought would be the start of my final 4 terms at OSU has actually evolved into an additional 3 terms 🤧 I didn’t realize I needed additional credits as an option to my Applied CS pathway.
My Project
Successes (and some Struggles), and their associated Why’s and How’s
I feel like, for the first time, I roughly understand the code base for Parchment! It’s taken a lot of tinkering, but I think I mostly get it. My current task is to integrate a read-only Gmail API that allows users to read their emails in a side-bar. I spent a whole week building a Gmail API (separately from Parchment, to be safe), and realized it’s way more complicated than just a simple API call. Google requires apps to authorize users using OAuth, so a call has to be made to GAPI to authenticate the user and have the user give the app permission to access their account.
Then! Code has to be built (by me ðŸ¤) to pull a struct representing a list of email IDs for the user. The IDs are extracted from the struct, then passed back to Gmail to request the actual emails. Gmail byte-encodes the emails, but it does it ever-so-subtly differently than JavaScript can handle, so a decoder with a regex to replace certain characters has to be coded.
But! Before the email body can be decoded, the app has to determine the type of email (multi-part, HTML only, etc) and then process it differently depending on the type. So far, I’ve been able to extract HTML-only emails and display them in a new browser tab.
Plans and Detours
Currently, the plan is to try and desperately get a rough ability to pull and render a single email from Gmail into Parchment. There have been significant detours in that our group has had personal struggles (I’m currently sick), and adapting to a ‘legacy’ codebase hasn’t been easy. We need this done before Wednesday since we are presenting Friday.
New Technologies
So far, the newest technologies to me through my Capstone have been Electron, which is a UI framework, and the Google suite (GAPI, Gmail, GDrive). I really, truly, genuinely though that Gmail would be easy to integrate, but just read-only access is so much for someone whose computer is covered in sticky notes with reminders for basic tasks. Electron has been interesting since it has a lot of functionality around custom elements, and the UI it generates feels very seamless with very little code.
Also, in my Programming Language Fundamentals class, I’ve been exposed to various programming paradigms, which has been really interesting. Considering 90% of my coding experience has been Python, seeing a shift away from a newly-created OOP language to older languages with different paradigms has been eye-opening. I was surprised to find I really like Raku, not surprised to find out Regexes are a nightmare, disappointed by how difficult Ruby was to grasp, and, FINALLY, Racket helped recursion make sense.
Career – Current State, Planned Updates
I’m currently working as a Helpdesk Technician for an agency’s billing platform. I’m hoping that this (combined with my current internship through my Capstone) will be enough to get me noticed by future employers. In all honesty, I’m still not sure what I want to do. My dream goal would be anything in the gaming industry. I’ve messed around some in Blender, and have started (trying!) to make my own card game in Godot, but the going has been slow thanks to work and school. I have completed a Godot tutorial to make a 2D game, which was fun and informative.
Also, I’m not sure if it helps my career prospects, but I’ve been signing up for playtests through a developer whose games I play a lot. I’ve yet to be selected but I’m hopeful!
Life Hacks
Don’t get sick during the last 2 weeks of the term when you have 3 large projects due.
Also, something I’m still working on myself is the ability to speak up. I’m really realizing it’s important, especially when you feel like you’re taking on a lot and others just keep piling on more.
Also, I know this isn’t feasible for everyone, but try your hardest to make small trips outside your regular zone of travel. A couple weeks ago I had to go to North Carolina for a week, and I was super anxious about travelling while still in school. We ended up in a pretty nice place right on the beach (which was, unfortunately, only possible because of the lack of tourism due to the hurricanes. The beach itself was pretty much devastated, and we saw several houses that looked freshly destroyed, which was heartbreaking).
Although I was anxious, the trip was really refreshing, and just doing homework in a different environment than my home desk really shifted my mental health. Though I will admit I’m not thrilled to be back in sub-freezing temperatures, I was grateful to be home (instead of dreading coming home to school work after a long day at work-work), and since then I’ve felt both grateful for my house, for the fact that my area is largely unaffected by climate change, and hopeful that such trips will be more possible in the future if I can achieve my career goals.
In conclusion, I think many people (myself included) need to realize that working yourself to death isn’t admirable, and that sometimes you just need to give yourself a break (because nobody else will, when the chips are down).
“Education is an admirable thing, but it is well to remember from time to time that nothing that is worth knowing can be taught”