Blog Post #5

During the development phase of our registration software, we have utilized, appreciated, and vehemently disliked many technologies.

Favorite Technology

A technology that has made the process of creating an online class registration system really seamless is React. From setting up the initial online environment to testing the styling sheets that make creative page designs, React is a really simple to use and a powerfully versatile technology. Being able to see edits to the UI in real time has sped up our ability to develop our site and the vast number of online discussion forums provide seemingly endless tips and tricks for anything you may want to develop using a React framework. 

Technology Difficult -> Appreciated

Initially we were having some trouble getting our CSS style sheets set up because we felt out of practice and unfamiliar from a lack of exposure during the last few years. We all have about the same amount of experience and comfortability setting up style sheets and after reading a few brief articles and looking things up when needed, we can now appreciate how seamlessly the integrate into our codebase. 

Technologies I Would Use if Starting Over

If I were to start over I probably would have liked our group to begin coding with our database in mind. In a way, we set up our entire environment with the hopes of getting our database setup at a later date. I am now realizing it will take a lot of rewriting bits of our code in order to actually interact with our full mock database when active. As of right now we are still testing our code with manually, hard coded examples of data extraction from sample/test database entries. I would have initially liked our code to be written around a NoSql database because it would simplify our development process. NoSql databases offer flexible schemas and have the ability to store data structures as single documents which would simplify the setup process and make it easier to manage overtime. 

Blog Post #4

There is something about revisiting code that I’ve written in the past that is (for obvious reasons) often embarrassing to no end but also powerfully encouraging. At the time when the code was being written it showcased most all of my knowledge and largely the full length of my ability as a programmer. I rarely went into a project without presenting my best foot forward and trying my darnedest to be clever in my implementations but now looking back, I can instantly see flaws not just in logic but in styling and cohesiveness. I wrote very verbose code (sometimes I still do but make my best effort to minimize this) that made comprehending my code nearly impossible in a limited timeframe. In full transparency I viewed a lot of the “software engineering” courses to be a waste of time when they mainly focused on clean code and code smell and organization because it all sounded very obvious and full of extraneous examples of rights and wrongs. Now there is tangible evidence that I have (whether subconsciously or intentionally) taken those guidelines to heart and make an active effort to use techniques to increase the cleanliness of my code. Clean code not only makes understanding and maintaining code easier for the initial writer, it allows others who may have no access to the original writer able to read, understand, and contribute to the same code seamlessly.  

Something from Robert Martin’s “Clean Code: A Handbook of Agile Software Craftsmanship” that seemed incredibly relevant to me when looking back at my old code was the idea of meaningful naming conventions for classes/methods/variables etc. This is something I actually did practice a lot in my beginning coding courses because I would otherwise get lost in my code and forget what each variable actually represents. Not to mention we would have received a 0 grade if we refused this naming convention. I eventually got more comfortable with reading and comprehending my own code that I dropped those practices to make things quicker for me. This created a lot of issues when I started collaborating with others and eventually had to make my code more accessible to other contributors. 

Here is an exaggerated example that portrays a similar issue:   

In some cases it seems like a time saver to take shortcuts when writing code and there are good intentions when doing this. There are times where I find myself naming variables and others using random names or the first letter of a word just for the time being so that I can get all my ideas out as I’m thinking of them to prohibit losing my flow due to the tediousness of writing meaningful and descriptive names. This is fine if you’re willing to go back and clean up your code for other programmers to interact with but either way it is a good habit that I want to do more moving forward. Its one incredibly simple thing a programmer can do that makes a huge impact down the road. 

References:

– Martin, Robert C. *Clean Code: A Handbook of Agile Software Craftsmanship*. 1st edition, Pearson, 2008.

Blog Post #3

It’s Senior Capstone update time! Not exactly Capstone related but here is a brief rundown of things happening lately in my life that have severely affected my ability to focus on schoolwork:

I am historically the type of person who gets all of my assignments done way ahead of time to avoid any and all stress of impending deadlines. Year after year due to nothing more than signing 12 month leases, me and my household of 5 folks move every winter. Yes, winter is a terribly difficult season to move during (weather related). And yes, winter is a terrible time to be looking for places to rent (market related). However, with the power of 5 heads together getting one task done, we’ve never managed to have a hiccup during the process. That is until now…

Brief rant time!

It is difficult to find housing, especially affordable housing that houses 5 individuals. That task alone in addition to finding somewhere that willingly houses a myriad of pets, and is narrowed to certain areas of town for work proximity reasons, and with enough space to house items that make it seem 20 or more people live together, all makes this specific task much much more difficult than the average person moving in winter. What is the phrase? “Beggars cant be choosers”. Agree, however, disagree. We are all working hard for the money we earn and dedicate a lot of hours to do so and like to cultivate a welcoming and free environment in our household that we don’t necessarily want to compromise on. It will be very difficult to convince someone that it is worth spending MORE money on something that brings them significantly less comfort and/or joy. All of this being said, my specific situation now involves a very unexpected and dramatic household divorce, splitting items that have been under joint ownership for the last 5 years. My hunt for additional roommates is tied directly to my inability to afford to live alone. I have been near dropping out of school due to financial hardship and the clock is ticking for me to find a living situation otherwise it’s at best couch surfing, at worst living out of my car. Moving out of our house is usually a full time job for about 3 weeks of pure dedication. This sounds dramatic but if you have ever lived with true hoarders, then you may understand it is not as simple as getting a uhaul and shifting belongings from one domicile to another. Yada, yada, long story short, the rug was pulled out from us when we got the news half of the household had already found a new place and we are left to shift gears instead of doing month to month temporarily while searching for a new home as was previously agreed upon, now our timeline has jumped up to just a week or so left to find roommates, housing, and move all of our belongings, repairing the old house to reclaim security deposit etc. etc. So much of my time has been consumed house searching, touring, cleaning, moving, that my school has fallen by the wayside. I thank my teammates for putting up with my temporary distraction and their generosity of delegating very accomplishable tasks to me with my limited time. I am usually spending my daytimes working and moving into a storage unit and my evenings moving things to different friends houses around town leaving little time to get my work done during finals week. I know this is not a unique struggle but boy is it challenging to get my work done without the promise of a place to sleep in a week.

As I blatantly disobey the blog instructions of “keeping things light”, I hope none of you managed to reach this conclusion as I never intend to bring you down with a bummer of a story. If you did manage to make it through, *thumbs up emoji* and congrats.

Blog Post #2

Buckle up, its time for another update on all things Senior Capstone related! I’ll give you lovely readers brief insight on what our team has accomplished thus far:

Something that may come as a surprise is that we have managed to complete every assignment by the due date with zero fuss, complication, breakdowns, and hardly any procrastination. I am feeling lucky to be part of a group that is so supportive both in and out of class. Working with very down to earth people has likely increased productivity and collaboration while minimizing dread and annoyance that usually rides in tandem with any group project. Our communication I believe has proven to be the key element in our team’s success. We are all pretty much available to chat via Discord at any and all moments of the day allowing constant flow of “back burner” ideas for future project related needs. I think were off to a good start having completed a rather thorough “Requirements Document” and “Design Document” that has mapped out some pretty crucial aspects of our project and given us a good rough idea of how we are going to tackle certain areas. We are currently working on getting our website set up and started and linking a few key pages together and all getting comfortable with using Git.

Stay tuned for updates on how a few new GitHub users navigate the world of branch merging and shared code writing 🙂

Hello world!

Or more specifically “Hello anyone who manages to stumble upon this blog!”

Personal Info

Welcome to my digital diary where I’ll be sharing and lamenting over tales of my journey through my senior capstone project with tidbits about my life beyond the keyboard sprinkled in here and there as I see fit. Lets get into it:

I’m Miles, a degree seeking, computer science major at OSU. Originally hailing from California’s wine country of Sonoma County, I now reside in the lush and rainy city of Portland, Oregon and I could not be happier to be nestled in the heart of the Pacific Northwest!

Pets!!

When tackling the daily monotony that is schoolwork, I am more often than not accompanied by two toe-warming companions of predictably opposite species: dog and cat (shown below)

         

.         

Hobbies / Interests 

I like to get outdoors as much as my schedule will allow; hiking, camping, kayaking, you name it! I also dedicate a considerable amount of time to pursuing my musical interests. I play guitar, bass, some drums, all the standard things plus a few horns. When the opportunity arrises I seek out fellow musicians to collaborate with on projects.

What got me into Computers / Software

My introduction into the world of computers and software is credited to the friends and family I’ve had in my life who worked in tech for years and decided to make their obsession with technology contagious! They introduced me, on a very basic level, to the world of tech and encouraged me to follow my curiosity and develop a deep understanding and passion for computers and software. (Thanks uncle Ted and sister’s ex-boyfriend!)

My Journey with OSU

Fast forward to today and you’ll find me on the cusp of my fourth and final year at Oregon State University’s fully online 4-year Computer Science degree program. I ultimately chose OSU because of this specific program and the flexibility the online degree offers.

When the pandemic started a lot of schools scrambled to establish or enhance their online degree programs or just their basic “temporarily-online” curriculum. OSU stood out to me based on their long standing, reputable undergrad program already in place and I couldn’t argue with the positive reviews pre-“rush-to-get-classes-online”. They seemed to have it “locked down” before lockdown 😉 I’ve gained a lot of valuable insight and knowledge that I hope will serve me well in all my future endeavors.

Wrap Up

If you’ve made it this far, let me be the first to congratulate you. “Hey, congrats!” You may be someone who stumbled upon this blog purely by serendipity but chances are you are a fellow CS_461er doing your due diligence and in either event, you’re doing great, keep up the good work, and stay tuned for the continuing saga of my senior capstone assignment! Cheers!