Fueling your passion

Humans are intelligent, social creatures. Most of us follow a routine or schedule and have responsibilities that need to be fulfilled. However, everyone of us have those few (or frequent, depending on who you are) times where we have nothing to do. Nothing on the agenda. And that is when we feel something we all experience: boredom.

We all need stimulation, or our minds get restless. Time feels like a drag. This is where our hobbies come in to the rescue. Some people like to go out and socialize. Some of us enjoy immersing ourselves in a story-setting via film/novels/games. Some like to work on a project of some sort of skill. Ultimately, we just need something to keep our minds busy.

With the 2020 pandemic and forward, this was even more evident. People were stuck in their homes. I myself picked up a new hobby… cooking. I never really bothered to learn how to cook other than the simple fried eggs, fried rice, or boiled vegetables. Other than that, it was always ordering from restaurants or frozen foods. But with so much extra time, I was able to start to practice more complicated cooking!

As of now, I can’t make anything extravagant, but I can make a decent meal without burning anything. Just dishes with protein and vegetables and grain. I will say that cooking is actually more fun than I had originally thought and much more cost-effective. Although I still despise cleaning and washing dishes (no, I do not have a dishwasher).

In fact, my entire beginnings with programming and coding started out as a hobby. During my first college and years after, I always dabbled in coding simply because I wanted to know how websites and the internet worked. While I did not do much more than simple HTML and CSS, I still remember following along beginner tutorials. My first website was just a local HTML file with <p> and <li> elements. It was a hobby, and one that I did not take too seriously until I decided it was time for a career change.

Now, it is pretty much the main thing I do. Whether it is coding for a class, or programming for a personal project, my hobby has become my next main focus. So all in all, hobbies are a wonderful thing that can simply be a way to pass the time, or even become our next big endeavor in our lifetime.

The wonders of a break

Resetting the mind

There I was. Trying. Thinking. Working. And failing.

What is the problem? Why won’t this work? I followed the documentation. I double checked my syntax. I retraced my steps and reviewed my logic. But my code is failing and I am not getting the result I am expecting. What is missing?

Working on the capstone project with my group, I encountered this experienced that I’ve been through multiple times before (as do all coders). The experience of seemingly doing everything correct, yet getting an incorrect feedback from testing. It happens when learning a new language, while still occurring while using familiar tech.

Our project requires the use of a natural language parser to interpret and manipulate user input. I decided to venture out to learn regular expressions. And wow. After several hours of reading documentation, looking through tutorials, I just barely was able to return a searched group of characters from a string.

I was frustrated. Did I just waste the all this time and not even see if this was applicable to our project? I decided to take a break and work on something else.

The day after, I decided to return to my venture. Lo and behold, I was able to successfully do what I intended with regex. It was, as if, something clicked and I was able to better see how the syntax worked, and use regular expression.

This was not the only time this happened. It really does seem that taking a break and distancing your mind on a certain topic really does more than brute forcing it for another few hours. I’ve really heard a lot of advice, not just for programming, about the importance of taking a break.

Taking a nap is good for you… sometimes

It just feels both good and exasperating that sometimes, all I needed was to step away and focus of something else for a while. I was so close, but just blocked off at that moment in time. Just need to breathe and relax to find they way through.

Learning new technologies

I have been working on some new personal projects with the aim of using a technology that I have not used before. One of these is Android development, which meant I would have to start learning Java. Through this experience, I am again reminded just how familiar yet different learning something new is.

In OSU, I have worked with Python, C, and Javascript. So coming into Java, there were many things that were already familiar, being another object-oriented language. Going through the some tutorials and documentation, I was able to pick up the similarities with Python and C. The main thing so far that is causing me problems is syntax.

It seems that having similar syntax sometimes makes it more confusing. Keeping track of keywords and parentheses usage is usually the cause of error for me at the moment. So many times where the build breaks, only for me to realize an hour later that I declared a variable using Python syntax.

Then, there are the completely new concepts. While there are familiar concepts with objects and classes and inheritance, I am still trying to wrap my head around the features I have not used before. Interfaces are still eluding my understanding on where a programmer would use them. Some more practice and studying will be needed in this area.

Overall, it is an interesting endeavor to learn something on my own. I am reminded of where I started 2 years ago when first enrolling in this university. So far, I have built a simple command line tool. Hopefully it goes on to building a working mobile app, the ultimate goal.

Importance of a strong vision

The role of the director / lead designer

This is the first week where my teammates and I started doing heavy brainstorming for our capstone project. We are tasked to create a text-based adventure game. I was very excited to start working on it because I have been a fan of video games and adventure stories since childhood. Even though most games already had 2D or 3D graphics already for me growing up, I still have played some text adventures on my father’s old computer back in the day.

Oregon Trail was a game allowed on school computers

As my team started discussing and deciding on what to do with the project, it became clear that everyone had a different ideas. I have worked in teams before on other projects and classes, this was the first time where our project goals were unlimited and not held to specific requirements. In these previous teams, the directions of the assignment were clear enough that most team members started off on the right track.

This was something different though. It was the first time I experienced team members having very different interpretation on the project goals than what I had. While not a bad thing at all (my teammates were very nice and eager to discuss), it became clear that we had to have a clear direction set in stone. This was the first time I realized how important and powerful a director/lead designer is, whether it be software development, game development, movies, etc. It was something I never really thought about before.

The director is the one who decides where the project is going to go, and makes sure everyone is working in that direction. Without the director and a set vision, the team would not function cohesively. Everyone would have differing ideas on how things are. This is how my team meeting felt the first hour as I realized everyone had varying visions of our adventure game. I can now see why the director is always the one praised when the project succeeds.

From another perspective, I now understand what it means to “have too many cooks in the kitchen”. Often times I would hear that about sports teams that under perform, despite having all-star talent. The media would say that there are too many coaches on the staff. I can see now how this would be a problem when too many “leaders” are trying to push the team in multiple different directions.

While my team of 3 ultimately all worked out the theme and direction of our game and are in agreement, I can see how much more difficult it would be on a huge project with dozens of team members. While we didn’t appoint anyone as the “director”, we agreed to always have a discussion on major ideas as a group.


Hindrances to productivity

Recently I’ve had to help a friend take care of their cats while they were away (“cat-sitting”). This experience has allowed me to understand the many memes from the internet about a cat getting in the way of daily life.

“Don’t worry, my cats are just like dogs”

-my friend as they left

The very first day, the cats were weary of my apartment, but quickly started exploring my humble abode. They didn’t seem like much, just sitting and laying in certain spots. I followed the instructions my friend gave me and had food and water out

Every time I would sit down in front of my computer to do some coding, there will be a sudden cat on my desk blocking my monitor or keyboard within 10 minutes. Move them aside, and they reappear. My personal project took a huge dive in progress due to these feline interruptions.

In the past, I have only had to take care of dogs, but this was a different experience. Unlike canines, the cats would take their time with their food. Nibbling on a little bit here and there, while dogs would usually just eat their fill until the next meal.

For a few mornings, I would wake up to some furry entities crawling around my bed, informing me that it was breakfast time. On some nights, I would endure some loud cat calls that spookily sounded similar to a child crying (I guess it is Halloween month).

All in all, these pets would be in my care for only a few more days. I don’t know if I will miss them, but at least I will be able to do some coding in some peace soon. Also will have to do some cleaning with all the cat hair left over. Perhaps I can use this experience to fuel an idea for a future coding project (some sort of cat-sitting app maybe?).

There and back again

An Intro

Growing up, I was always interested in computers. The first video games I played were on the computer. The internet was increasing in popularity, and it only became more mystical after my family switched from dial-up to high speed internet.

After graduating with my first degree in Pharmacy, I proceeded to work full-time in a retail pharmacy. But I still dabbled with programming and code as a hobby. Nothing complex, just simple HTML and CSS. It was a few years before I decided that I would rather have a career in a field I actually am interested in: creating things that can make people’s lives better.

A New Journey

It was a new beginning as I enrolled into the OSU post-bacc computer science program. I decided to go all in to chasing a new career. It was difficult at first, as I was learning topics on things that I had no concept of at first. Code syntax, algorithms, and even simple calculus and algebra were subjects that were new or I haven’t used in a long time (probably since freshman year of college).

As tough as it was, it was the second semester where I felt a sense of achievement. The final project of coding a board game in Python felt very satisfying. After that, I knew that this is what I wanted to do

Now here we are

Now as I come close to the end of the curriculum, I feel a mix of emotions. Apprehension in what comes next. I am feeling nervous if I will be able to land a job. And if I do, will I do well? I do feel confidence in my ability to adapt. After 2 years of learning and improving my knowledge in computer science, I know that I can learn what I need to learn. I also feel happiness in knowing that I will be able to complete my second degree in a completely different field

All in all, it was a journey and my second time experiencing these feelings. The same emotions I had as I was about to finish my first degree. I have a good feeling that this time will be better.