Category Archives: Uncategorized

Back from Break

Coming into this term I am both sad winter break is over but excited at the same time to get back into this class.  My break and holiday season was pretty laid back this year.  My husband and I moved to Pensacola, FL in the middle of last term, so I spent most of the break exploring our new area and getting used to having 70° and humid weather in December (after living most of my life in cold and rainy Oregon, it’s still a shock every time I go out the door).  We were actually planning on flying home for Christmas, but decided at the last minute to stay here and just have a small Christmas season playing video games and watching movies with just us and our cats.

While I had a lot of fun relaxing and not worrying about homework, I am ready to get right back into it and start putting work into our Capstone project.  Last term was very heavily focused on the planning and getting set up phase, but it looks like this term will be aimed at actual development, so I’m to get my hands dirty and see what my team and I can do for the Capstone Project Portal!

Why Do We Need Electives?

A quick update on project progress first: after struggling for the last couple of weeks, we have finally gotten at least some parts of the local development environment set up so we can start working on implementing the first changes for the Capstone Website Project.  Setting up the environment has been difficult and tedious, and has solidified for me the importance of clear and helpful documentation so that future developers don’t have to struggle through simply getting started.

One new technology I had to quickly install and learn the basics of in order to set up development was Docker (as mentioned in one of my previous blog posts). It just so happens that now I’m learning more extensively about containerization in my Cloud Application Development class and have an assignment that specifically uses Docker.  Another fun coincidence is that we had a discussion post on cloud development in this class, and I have been working with Google Cloud for the first time in the same cloud dev class for the last couple of months.  Since these are both Computer Science classes, it’s not that surprising that they have overlapping concepts and tools, but this happens sometimes between completely unrelated classes.  I remember learning about truth tables in an Intro to Philosophy class at the same time as learning about them in one of my early Math classes.  While I never thought some required Philosophy class that I had no interest in taking would be any help to me in my Math classes, by having two different perspectives of the same general principle I was able to get a much better understanding.

I am of the opinion that electives are important, but colleges should not require so many.  Even within the same area of study I don’t think students should not be forced to pay for extra classes that don’t pertain to their specific path.  This intermingling of topics between related as well as seemingly unrelated classes however has shown me the value of getting multiple perspectives.  While I still think you shouldn’t be able to force people to take too many extra classes, I now see the value and potential benefit of getting knowledge in a wide range of topics.

Head in the Clouds

For our Discussion Post this week we had to choose a cloud service to do some brief research and analysis on.  I chose to look into Google Cloud because I am using it in another class this term, and so far my experience has been great.  I had not used a cloud service before this term so it has been really fun and informative getting to learn how to work with “the cloud”, so I thought it would be fun to discuss it here as well.

Google cloud offers a lot of services, around 95 to be exact, that fall into areas such as AI and machine learning, data analytics, computing, API management, and more [2].  From using Google Cloud in my Cloud Application Development class I have been impressed with all the features so far, though I have only used a couple.  

As I mentioned, I haven’t used other cloud service providers other than Google Cloud, so it is difficult for me to compare it to others based on personal experience. I can say Google Cloud’s UI, while a little overwhelming at first,  is very rich with a clean and informative dashboard that I think would be a challenge for other services to compete with.

Comparing it to one of its main competitors, AWS, Google cloud service wins out when it comes to costs by being up to 20% cheaper.  However, it does not offer as many services as AWS, which offers around 200 – over double Google’s amount.  AWS also has a much further reach than Google, having customers in 245 countries and territories where Google only has 35.  Google does have a better option for a free tier though, with basic features that are always free and a free $300 of credit for new users [1].

So when it comes to cloud services, and choosing which one to work with, it really boils down to your project’s specific needs and which fits best for your available resources.  Personally, I think it would be interesting to try out other cloud services in the future, but I am very likely to continue using Google Cloud for both personal and professional projects in the future.

Sources:

[1] “Google Cloud vs AWS: How Do The Two Cloud Providers Compare?”, CloudHealth by VMware, October 19, 2020.  Retrieved from: https://www.cloudhealthtech.com/blog/google-cloud-vs-aws

[2] “Google Cloud Documentation”, Google, Retrieved from: https://cloud.google.com/docs

Our Roadmap to Success

We are finally turning in our official Design Document for the project at the beginning of next week.  This document will include aspects from our Problem Statement, Requirements Document, and Preliminary Design and bring them all together to form our guidelines for the rest of the year. 

I think it is important to have a plan and to stick to it, but I also think it is extremely important to understand that nothing is set in stone.  Not having a clear, concise, and well thought out plan at the beginning of a project is a recipe for conflict and low productivity.  Having goals and a clear path to those goals helps move work along and ensures everyone has a clear idea of what our team is working towards at each step of the project.  

It is impossible to see the future though, so we need to be prepared to deal with unexpected hurdles and roadblocks that may change our plan, and to not get discouraged in the process.  As long as we’re prepared and willing to put in the work now to make a good plan and persevere in the future when things don’t go exactly according to that plan, this design document will serve as a roadmap to our team’s success.

Whale, Whale, Whale… What Have We Got Here?

Docker Community Edition or Docker Enterprise Edition - Everything You Need  to Know | BoxBoat
Image credit: https://boxboat.com/2018/12/07/docker-ce-vs-docker-ee/

This week we are finally starting to get our development environment set up and working.  This hasn’t been as straightforward as creating a new project might be because we are dealing with something that already exists on the OSU servers.  The last week or so we have had to go through the process of getting the source code for the project, getting a development server created with OSU Engineering Support, and trying to figure out permissions.  It’s finally coming together though, but looking through the GitHub repo for this project, it looks like there is a new (well new to me) technology I will need to learn in order to start development, and that new technology is Docker.

I have not had the pleasure of working with Docker before, so to learn more about it and to get myself prepared to use it I did some reading online and watched some videos, and I have to say I am intrigued.  Docker looks like the perfect solution to allow software development locally that can easily be deployed elsewhere without unpredicted problems.  It does this by creating isolated containers that are self sufficient, meaning it is super portable. I can see why this is so useful and am excited to use it on this project.

I’m still in the process of setting it up and still have more to learn, but I think this will be a fun tool to work with, and I’m just excited to be getting experience with new tools and practices and expand my knowledge on this project journey.

Get a Hobby!

Not much has happened with our project since my last post, so I want to talk about a somewhat unrelated topic this week.

Running was my only hobby for a long time, and not too long ago I was going out almost every morning getting some fresh air, sun, and exercise.  I was doing a good 20-30 miles a week, but the last couple months I’ve slowly started to lose my running habit.  Especially in the last four or five weeks since classes started up again, I’ve just been staying inside staring at a screen all day without any form of exercise.  I usually get stressed pretty easily when it comes to homework and other things, but I know for a fact this has made me even more unproductive and anxious about school work and this project, and we’re not even halfway through the term.

I think getting back into running as a form of exercise will definitely help, but I also think I need some variety and more than one constructive hobbies to get me outside and moving… so I’ve started foraging for mushrooms! 

It’s kind of random; I had never had an interest in the subject until I started reading about it a couple weeks ago, but it’s extremely interesting and super fun to learn about.  Also, I didn’t know how common mushrooms are if you just take the time to look; in just the two or three little walks/hikes in the woods near my apartment I’ve done I’ve already scored some awesome finds.  

The best part is I’ve found a topic that I’m interested in and can learn about outside of academics, so I feel like I’m still doing something constructive while keeping some balance in my life.  I’m confident this will improve my focus and attitude when I need to work by helping me relax and have fun when I need to take a break. Plus, a hobby that results in free delicious food is pretty awesome! (By the way, don’t eat any mushroom unless you’re 100% sure it’s edible!)

A Lion’s Mane mushroom I found and made into mushroom nuggets
Red chanterelles were my first find, and they were delicious!
Some honey mushrooms that I didn’t know were edible at the time and were gone when I went back 🙁
A Hedgehog mushroom I will be eating tonight!

The Importance of Planning the Plan

So far, it’s been really exciting being at the beginning phase of our project.  We’ve spent time brainstorming and gathering ideas on what we can include in our project portal update.  We have also been in touch with our project partners, which happens to be our own instructor and the other capstone instructors at OSU. So far it seems like they are all going to be a blast to work with and are going to be very helpful in the whole process.  Altogether, being in this stage has been just so fun because we are really starting to dive in and explore the potential for this project.

One very valuable thing I’ve learned in the short time we’ve had so far though is the importance of planning.  I’m not talking about planning the actual technical details of the project, but the planning for the planning.  Our project didn’t come with a set list of requirements, so when we first got in contact with all the instructors I sent out a simple email asking for any ideas they had for the site, any requirements they had in mind, and any other useful information they had to offer.  This resulted in a jumble of emails or documents with different lists of requirements each in different formats and multiple suggestions on what we should do.  All of it is good information, but altogether it’s unorganized and a little overwhelming having to piece together a list of requirements from it all.  In addition to this, we are trying to survey our fellow students who also used the site to sign up for projects, so that adds another layer to the challenge of making sure we’re getting information in a way that is useful.

It would have been a good idea to ask instructors for a list of specific questions, or a top ten must-have-requirements from each rather than such an open-ended request for any information they have.  Going forward, I think we will find an organized way to survey the instructors and our fellow students in a thought out manner that is more likely to yield tangible requirements for us.  

While dealing with this is kind of frustrating now, I think it is already a good learning moment for me. I now know the importance of thoroughly thinking through each and every action (and email) in a project to save time and effort and make it run smoothly from the beginning to end.

And So it Begins…

Last week we looked through all the available projects for this course and picked the top ten we would like to work on.  Even though there were multiple that I really liked and I would have been equally happy to work on, I started getting pretty stressed in the ranking process; this is something I will be working on for the next nine months after all. I wanted to make sure my ranking was just right so I wouldn’t end up with something I didn’t actually want to work on for nearly a year.  Finally, after waiting anxiously for a whopping FOUR days, I found out yesterday that I will be working on a team to update the very project portal that we all used to look at the projects!

Now, this project was not my first pick, and I admit I was a little disappointed that I didn’t get one of my higher ranked, much more interesting sounding projects, but after thinking about it I’m actually really excited I got this project. 

One of the main reasons is that it deals with fixing a problem I experienced first hand.  The first time I went to the portal page I noticed it was not as good as it could be.  Even before I saw that this was an available project, I remember thinking, “man, they really need to update this portal.”  The fact that I had that exact thought and now I get to fix that problem makes this project feel more like a real world scenario of identifying a problem and designing and implementing a solution.

Another reason I am so happy with updating the portal is that my group and I have the opportunity to leave something better for future students that will be in the same place we are next year.  While making a game or similar “for fun” topic for this project would be cool, I think I’m more excited to be doing something that will be useful for the school and will be used by so many students and instructors alike.

Lastly, I’m mostly excited because I meet the most important qualification…

Hello world!

I want to use this first blog post as an opportunity to introduce myself, share some of my interests, and describe my journey in Computer Science so far. 

My name is Virginia (Ginny) Williams and I am going into my final year at Oregon State University.  I grew up and lived in the same area of Oregon my entire life until this year when I moved across the country to Virginia with my husband (fun fact: our one year anniversary is this Sunday!).  I like to crochet, cook, watch movies, read, and run.  Also, we have two of the cutest cats in the world: Weaver and Gravy. 

Growing up and throughout high school I had no experience with Computer Science or really any interest in it at all.  I started my college journey with my major in Mathematics at Western Oregon University, but wasn’t really sure what I was going to do with it.  I thought about continuing into higher level education, but honestly I was never really passionate about it and didn’t really know what I was going to do.

During my sophomore year I took a random intro to Python class at WOU purely out of curiosity.  Taking that course sparked an interest in Computer Science that caused me to do some more digging into the topic.  After reading into the subject and seeing how intriguing and extensive it is, I decided software development was something I would actually look forward to doing in my life and was something I really wanted to pursue.  So, I decided to not only switch my major to Computer Science, but also to transfer to OSU for its better EECS program.  

Studying at OSU has been a great experience so far.  While I’ve had my struggles, I’ve learned so much more than I ever would have thought. I’m excited to finally be in my final year and so close to using my new skills out into the “real world”.  I am mainly interested in both front and back end web development, but all software development interests me so I’m excited to see what the future holds.