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”
I have been working on Parchment, a new OS that seeks to change the way users interact with their files, through a sponsored capstone, and so far the journey has been interesting. We started out with a team of 7, then down to 5, then just me. I have joined the Campus team for Parchment, which has been a bit of a pivot but overall great! I wish the best for my Ecampus team on their new project, and I’m looking forward to working on Parchment.
So far, my work with Parchment has mostly been environment setup and getting familiar with the code base. There’s already a pretty significant amount of functional elements, and the project uses Electron, so I have been getting some experience with new technologies, which I really appreciate.
As far as feedback on the course, I think overall it’s been great! I’ve appreciated the assistance from the instructional team, especially as things have gotten chaotic with transitioning to the Campus team. I really appreciate the opportunity to learn new technologies and libraries from my Capstone project. I’m also currently taking Intro to Networks, and during this past week I’ve taken such a deep dive into different transmission protocols that I can’t even use the Internet without imagining every single packet travelling worldwide just to show me images of cats. I’m also taking Programming Language Fundamentals, and the past few lessons have focused on learning Raku. I genuinely never thought I’d be learning so many new things all at once!
I honestly wish I had some groundbreaking life hacks for handling stress. I work full time and take a full load of courses, which has been a lot. I’ve seen some of my classmates mention they also have kids on top of a similar schedule, and I cannot imagine that stress. I’m grateful that I can handle the amount of stress I have, and (in the least suck-up way possible) I’m very fortunate to have some very understanding professors. On the off chance that any member of an instructional team reads this, I cannot stress my (experience-informed) opinion enough: flexible deadlines are a lifesaver in a program where most students have multiple obligations outside of school.
As basic as this is, I think the thing that helps me is carving out time for recreation, regardless of how behind I am or how little I feel like doing something ‘fun’ when I’m stressed out. Forcing myself to play a game for an hour, or watch a show or movie, or even just take a nap after work, is truly the only hack I have for getting this far. If I could go back to the beginning of my professional and educational careers and tell myself one thing, it would be to make time for myself because nobody else will do it for you.
In conclusion, I’m very excited to learn more about Parchment, to start learning Ruby in my Programming Languages course, and to work more in earnest with my Campus team. This week I had some family obligations that allowed me a bit of time on the beach (wow, what a sad little life) in North Carolina, and I was blown away by how beautiful it was. There’s so little light pollution that the stars are so vivid!
Wow, my first post! It seems not just fitting to leave the title as the default, but almost necessary. I can’t remember exactly where I read this, but I’d never dream of displeasing the gods by not having my first anything in CS start with “Hello world!”.
A little bit about me. My name is Hunter (they/them, hence the blog’s title 😏). Originally from Western Colorado, I moved to Oregon as a teen, got my Associate’s of Science at Mt. Hood Community College, and am working on my Bachelor’s of Science at OSU all the way from upstate New York.
Little me at Rifle Falls in Colorado
Back in high school in Oregon, I was on the school color guard team
Shortly after moving to New York, I found some very on-brand (and delicious!) ice cream
Originally, I wanted to be a doctor. I spent most of my adult life working in the medical field in preparation for this. However, at one point I realized the thing I loved most about my work: seeing how people interact with technology. A well-designed program could make a job 100x easier, and a poorly-designed one often caused more headaches than it solved.
I suppose this should’ve made sense. I spent a lot of time with my grandma as a little kid, who taught Business Computing at a high school. At the end of every school year I would help her tear down her classroom: disconnect computers, wipe hard drives, etc. Then, at the end of summer, we’d put it all back together again. I learned a lot about computer hardware, basic OS functions, and various programs, before I could even read. Computers have been a big part of my life, and over the course of this degree path I have developed an even deeper appreciation (and, dare I say, love) for them.
My journey in Computer Science has had a lot of ups and downs. Pivoting from healthcare to CS was difficult to say the least, and, couple that with working full-time and trying my best to have some semblance of a social life, there’s been a large adjustment curve. However, here I am at the start of my senior year, having accomplished some things that would’ve seemed downright magical at the beginning of my education. I’m really looking forward to this projects series! I see this as an opportunity to push myself to learn new technologies, to showcase the skills I have acquired over the past 2 years, and to produce something I can truly be proud of.
I currently work as a helpdesk technician in an agency that provides residential and community services to people with developmental disabilities, which has been an eye-opening experience. In my (increasingly sparse) free time, I love playing video games, watching movies and TV with my spouse, exploring the area around us (we’ve been on some really beautiful hikes), and trying to teach myself game dev as a hobby.
Here, where the world is quiet;
Here, where all trouble seems
Dead winds’ and spent waves’ riot
In doubtful dreams of dreams;
I watch the green field growing
For reaping folk and sowing,
For harvest-time and mowing,
A sleepy world of streams.
–The Garden of Proserpine, Algernon Charles Swinburne