The End of the Learning on Command Line – Was Returning To School The Right Move???

Too long, didn’t read answer: YES!!!!!!!

I’ve learned a lot over these 60 credits. From Python to Javascript, I was able to get a taste of these languages at the same level as peers from the physical university but online! This unique opportunity without literally starting back from square one was ideal.

Operating systems, Algorithms, Computer Architecture, Mobile, and even Cloud classes, to list a few, were not available at a Community College. Being able to access the material feels great and it rounded out my education quite well.

Recall from my two blogs on Computer Science vs Bootcamps – continued discussion

At the end of the day, I would still choose this Computer Science degree. In fact, I wish I have known of it much sooner after I graduated from my initial university. That is, instead of searching for a “dead end” low waged compared to software engineering job, I would have learned a lot more in addition to basically having a “double major” without compromising not having any degree at all. That is, if I was unable to finish this computer science degree, I would still have a degree from my initial university for the most part.

Big question – where did I graduate from initially?

UC Berkeley – the school with the infamously difficult yet top programs. I know I would not have done well there because I was far easily distracted back then than I am now because of my age. In fact, graduating from university once was an experience because I did fail a class there.

Anyways, back to OSU

I am not saying that OSU is terrible, I am saying that when I was younger, I would not last at UC Berkeley’s computer science program. Besides, UC Berkeley will only take in first time undergraduates, not second opportunity career change undergraduates. So, I do feel blessed that OSU has this program available and at the convenience of being online!

Online – Online Tutorials?

From what I have learned watching tutorials when I was trying to do Visual Basic coding for Excel in my initial finance career was that you can get stuck in “tutorial hell” where you cannot do much unless you follow a guide or tutorial to the teeth. Because of that, I think that learning these fundamentals by either learning them yourself or at a class setting was the best move. In fact, deadlines provided by the class setting provides a very good structure and motivator to do, learn, and finish the material or else you are penalized.

To elaborate on the penalty, I mean that in the time for exams, you have to know what you are doing or you could fail them. Yes, exams and grades are not the predictor for success in any career, but I am stating that there is some starting point and ending point while you must do something in between the starting and ending points – therefore the class setting structure.

Online tutorials, on the other hand, do not have this type of class structure for the most part. So, you could suddenly stop learning the material midway and perhaps never pick it back up again – which has happened to me regarding a few online tutorials.

The Future

This degree gave me, in my opinion, great fundamentals and verification that I accomplished something. At the end of the day, the degree does hold some power to companies that are looking for people with a software or related degree. At least this could get me bypassed through this check accordingly.

Ultimately, thank you OSU for providing many people who wants to do the school route opportunity!

Posted in Blog, Post 8 | Leave a comment

Excel – The Program

I’ve talked a lot about how I got into technology and other miscellaneous topics on my desire to go back to learn computer science. But I should also talk about how I got into, well, programming on the software side instead of particularly hardware related things, right?

Excel – this program was my gateway.

In my previous degree, I have worked a lot of data and doing analysis using Excel – even my Stats class tested us on some of the various functions used. This did translate well into my job – in fact, a little too well.

We all know Excel as a spreadsheet program but it has something special in its sleeve – it can execute functions and also execute code called Visual Basic under the name Macros.

In fact, knowing linear algebra, philosophy of logic, and applying the various concepts in addition to some of the basics to programming found from online tutorials was deemed quite useful.

The Excel Guru

Funny, at my workplaces, I was known as someone who was extremely good at Excel. But all I did was, as listed earlier, linear algebra, philosophy of logic, and basic concepts of programming from tutorials applied all together – if(Boolean, this, that) or Index(array,match(value, matching_array, true)).

Whenever I needed to create a new formula, I kind of refer back to these topics learned from school in order to make something that I needed, only to look online for specific syntax as needed.

Truth Tables

Before taking discrete structures (discrete math), I only took philosophy of logic because I was planning to go into law before I switched over to the economics field during my initial degree because of how little the opportunity it is after graduating law school based on stories from real law graduates. As such, I stopped pursuing that path yet what was taught during that initial journey was truth tables and converting statements into symbols and alike (Literally similar to CS 225 without any proofs or math – just reading and logic analysis).

This Boolean logic translated really well to Excel – in fact, you can construct a truth table in excel using the AND, OR, and NOT functions as you can also do with the operators in programming.

Linear Algebra

I was thinking about going into graduate school in economics so I took this class. I was not particular the best at mathematics but if I had to do something, I will do something for what it takes. Think of matrices – the 2D array or table. Do you understand how the cells would look like after you transpose from a vertical table into a horizontal one? This is where linear algebra and all its table like glory kicks in such as the dot product on an array of numbers. This translated to the special function called Sumproduct in excel!

Other Math – Differential Equations

Differential equations, like calculus, was pointless but I only took it so I can take Linear Algebra. However, there is a concept called “super position” where you have the homogeneous and auxiliary equations “added” together! This relates to Excel where I have a main function finding a certain value acting as the homogeneous equation and then the correction function acting as the auxiliary equation. This certainly helped me make and solve some insane problems on my job working in finance like what if a consumer bought our product if we change these certain aspects on the cost of the product?

Macros

Once I was starting me initial career, I got sick of doing the same spreadsheet formatting and calculations repeatedly. So, I looked into what I can do to simplify my work. Macros was the solution, it used Visual Basic as the language so I spent some of my evenings after work and weekends to learn the language on my own to automate some of the monotonous workload that I had to do.

My visual basic code, reflecting back, was horrendous and procedural but it did get the job done. All I did was look for the vital code that I needed and build on that accordingly. After that, rather than spending on an average of 8 or more hours a day (depending on the time of year), my time working decreased to about 4 hours of work load per day so stress levels were decreased significantly.

I understand the power of coding and this actually piqued my interest in learning more of programming. In fact, there are a lot of talks about how my job was going to be automated away in the future so the choice is to look into ways to get into the field.

Recall that I went back to community college to learn basic coding? This was the cause of it. Obviously, community college classes did not have the upper division classes so I did not pursue further there until I learned of OSU.

At the end

Although I cannot show the formulas that I have made in the past from work since all that are a part of those long spreadsheets, I can say that it did help me build some of the intuition and programming logic early as I continued to move on my career.

Obviously, at the end, I did not go into graduate school as you can refer back to my blog on my technology experience (Blog 5). Regardless, Excel is great! It uses a lot of the background that I have learned at my original undergraduate university and it got my hands wet to prepare me for the postbacc CS degree here at OSU.

Posted in Blog, Post 7 | Leave a comment

Internetworking

Recall from my previous blog post regarding my experience history with technology? Let’s tie that together with the internet – specifically, home internet!

The internet of things (IoT) category has brought and connected a lot of these devices that were once thought of as their own isolated device space altogether (Think calculator or microwave – they are independent devices that do not need to connect to the internet, but now they can). We have smart speakers, smart lights, smart thermostats, and smart whatever today – wow, it is like marketers just put the word smart in front of any device that leverages the power of the internet.

Well, I became a consumer of this category of devices with the smart speaker by Google – the Google Home! Well, my knowledge of getting hands on with the internet began in my middle school years at the start of owning a WIFI all in one router. Particularly, for my Nintendo DS and the games associated – more on that flash back on the previous blog post.

The internet infrastructure can be confusing, and the popularity of the internet made a lot of people, myself included, to be their own mini–Information Technology experts where basic concepts connecting devices together and the like became the core concept involving the inter-connectedness of the modern era. Okay, enough about that, let’s talk about my home network and fast forward this to the 2010s.

Upgrading my home internet

Router bridge mode and Wireless Access Points are unusual for someone who was not particular involved in technology to know (Recall, my previous degree was not related to Engineering or Software at all per my last blog post). And yet, I know of these concepts – but why?

If you know about the old routers, they were not particular the best and have since evolved to Wireless 802.11a, g, ax – whatever standards and 2.4GHz or 5GHz connection speeds. So, why does this matter?

I grew to include an additional router. At the time in high school, I did not know much about inter networking, but I knew that my home needed a new router because the old Linksys router was regarded “slower” based on all those new letters and numbers added to those newer routers.

As you can probably guess, the old Linksys router was but in a hidden drawer somewhere else after it was replaced with the new one as the new router. But this did not solve an issue as my house was particularly “large” and more and more family members are starting to use the internet at all over the place around and outside the house (Outside when the smart phone was introduced to minimize the cost of cellular bandwidth usage).

Range was the issue – there was a lot of interference because of the walls and the house story levels (Basement, Topfloor, etc.) so connecting wirelessly was a pain. So, what did I do? My young adult brain during college at the time made me do some research – Access Point and Bridge mode. Apparently, you could connect multiple Access points together and they will serve to connect the devices in the same network (Again, at the time, I did not study engineering or computer science). All I had to do was to reconfigure a device to act as an Access Point (AP) and connect it with a long ethernet cable – And that is what I did during the winter break from college – the old Linksys router became an access point downstairs on the far side of the living room connected with a long 50ft ethernet cable bought from Amazon.

And do you know what? It worked! Two WIFI points at my house!

Network Upgrade – After DSL to Cable Internet (Refer to timeline from the previous blog post)

But this was certainly not enough – fast forward to around 2018, I began to have issues with my home internet. Why? These consumer all in one routers are not particularly reliable because they take some time to come back online after they are down due to the gateway modem disconnecting. Or, much worst, they had wireless stability connection issues after each update or if restarted.

Because of the growing number of internet of things (IoT) devices growing around my house, this is becoming unacceptable.

So, I have replaced these old routers with this new set up:

  • A dedicated non-wireless router
  • Two dedicated power over ethernet Access Points (To replace the previous ones)
  • 4 dedicated ethernet switches
    • modem -> router -> switch 1 from basement -> switch 2 to upstairs connecting two additional switches: bedrooms (with AP) and living room (with AP).
  • A network attached storage
  • A dedicated firewall
  • A dedicated Raspberry Pi that acts as a VPN and miscellaneous services center (Ad block, etc)
  • Power over Ethernet Security cameras and center recording server
  • And so on and so forth personal devices that either need WIFI or ethernet like the PCs.
  • Each ethernet switch is plugged into their own dedicated uninterrupted power supply so power outages are not going to bring down my home network immediately.

Quite the upgrade to be frank – all came out of my own pocket and before starting this CS degree here at OSU. Note that after taking CS 372, I feel very appreciative of both learning this stuff on my own and understanding additional fundamentals like how the protocols work.

Basement network router, modem, NAS, Raspberry Pi, Switch 1

Learning on Command – The Reflection

I just want to say that doing this home network upgrade was cool. The cause for this upgrade to my home internet network was caused by the growing demand of IoT devices and the stability demanded for the home network to, well, just work!

Posted in Blog, Post 6 | Leave a comment

My History with Technology – A Reflection

I’ve seen this discussed a lot online so why not try to do my take on this topic too!

The 1990’s

My first piece of technology back in the day was really the Television back in the 90’s when I was a kid. The realm of exploring it was not really in my alley at the time because all I thought was if you turn it on, change the channel with a remote, and then it works by your command with funny pictures and sound. Yeah, that was my draw to watching television to about several hours a day after preschool and elementary school.

The next was the telephone, not the cell phone, but the landline phones – old school virtual network phones. I thought these were kind of cool because you can talk with your grandparents and aunts/uncles from far away like they were next to you – again, at the time, I was a kid.

Okay, let’s talk games.

The late 90’s/early 2000’s

I was a Pokemon fan, in fact, I am still a Pokemon fan as I was the target audience when Pokemon became the craze in the late 90’s! So, what is my first hands on with a piece of technology? Yes, my parents bought an eMachines windows 95 computer from Costco!

Wait, no, sorry for that diversion, it was the Game Boy! Video games were the main craze when you are not playing outside the street and at night. This was my first instance of diving into a long run cause of both isolation and socialization. Why? Because this activity, growing up, can be performed independently yet also socially like Super Smash Bros, Mario Kart, or even online games like MapeStory or RuneScape.

Yet, at the time, all my high school friends were in on this like it was some form of sick social drug – we were all playing it, we were all imagining it, and all that – especially when you can connect devices together with something called a Link Cable.

Okay, enough about handhelds and gaming consoles, they are still around today.

Back to my old eMachines computer – Yes, Windows 95 was my first entry into the world of technology through Solitaire and Space Pinball! Okay, those were some fun games at the time but I did not really think much to it because my family were missing one thing: the internet.

Early Middle 2000’s

I was going through Elementary School at the time (Kindergarten and grades 1-5 = 6 years starting from August and ending in May) and my school had the internet! And the computers that the school had were those Apple iMac computers! Rows and rows of them because that elementary had the donation funding.

Source: Wikimedia
Link: https://en.wikipedia.org/wiki/IMac_G3

This was the portal to NetScape and webpages where, at the time, I thought this was cool yet I was still focused on watching TV and playing video games with my neighborhood kids.

Then my parents finally decided to get the internet when I was in the 4th grade – dial up. Dial up internet was horrendous, there was a lot of beeping sounds before you are connected to the internet and even then, it was super slow. The websites that I primarily went to were just, you’ve guessed it, Pokemon.com and some simple flash games websites.

Late middle 2000’s (2004 – 2006)

My dad finally bought a new computer– an HP Windows XP computer and we upgraded to DSL internet around the same time. This was now the trend when I started to go outside less, I got a bit “smarter” to figure out some things, YouTube was starting to be a thing, and I was in middle school.

The computer would last me all the way through the start of high school because the Internet was the “wild west” at the time – viruses, pop ups, and other bad stuff were rampant but I felt protected when an antivirus sweep would detect and quarantine those programs (Not that I went to “bad sites” but rather Pokemon fan sites).

Source: Wikipedia
Link: https://en.wikipedia.org/wiki/Linksys_WRT54G_series

Wifi – the Linksys WRT54g was my family’s first router by the end of the late middle 2000’s. The only reason why we got it was for, you’ve guessed it, the Nintendo DS! I was anticipating for the next release of Pokemon yet playing Mario Kart DS at the time. However, one thing that I would like to add is CS372 made me really appreciate getting hands on with these tech because the concepts like virtual circuit, packet switch, and wifi networking per node made today’s culture possible.

Anyways, late 2000s to 2020.

No one plays outside anymore after my high school age. Then again, the financial crisis 2007 happened.

High school, original college, and work– all of those technologies above became vital to my technological expertise along with the final major gadget release: The smartphone (I only got the iPhone when I was in my original college due to release time and my age ~ 2010 @ iPhone 4).

The only thing pivotal were the upgrades: network service type (DSL -> cable internet), computers (With experience with both Windows/Mac), game consoles, and additional smartphones – in fact, I think technological hardware seems to have stagnated.

2020

Zoom, internet, and now postbacc college. How far have we came and I grew up with a ton of social shift from TV -> Smartphone. In fact, I don’t even have a TV because those technology is superseded by the computer at the end of the day.

All in all, my history with technology throughout my years was mostly for entertainment and social endeavors – I never thought I would do a computer science degree and work directly with technological software because I was focused on a business degree at the time.

Next time – let’s talk about the home networking.

Posted in Blog, Post 5 | Leave a comment

Coding Bootcamps?

Let’s return to what I was discussing previously from “Why Computer Science?”

In 2019, I was met with some difficulty in my Finance job, Since I was taking classes at my local community college at the time, I had to decide: Do I want to get out as soon as possible or can I take my time?

Decisions, Decisions, Decisions…..

I was in a terrible state that I will not elaborate here but I had to save money – fast. I also had to decide on what to do in the event if I was let go early or that I could not withstand continuing my career. So, I had to seek consulting advice.

Bootcamps

I had to look fast – Bootcamps at a cost of a few months of savings. Okay, that seemed reasonable. All I had to do is save money aggressively and tone down my lifestyle spending for this could work. This seemed reasonable but I needed firsthand anecdotes because, you know, reviews online may not be trusted such as if there are all perfect reviews of an Amazon product – you become suspicious of the review’s authenticity. So, I had to probe around to get the information that I need.

Rejoice!

Little did I know, apparently, one of my high school peers had just went through and completed a bootcamp! One thing that was interesting was that I messaged my friend out of whim and I literally got a whole onslaught of response back!

Heck

Yes, it was heckish because the bootcamp experience was simply a tough grind in a super short amount of time to get candidates ready to the job market. There is also a caveat – the obvious answer is job placement is not guaranteed on top of how, if you know how memory works, you can easily forget some of the stuff if you do not keep practicing.

The advice

Prep for the bootcamp and get ready to dive into one heck of a time!

My thoughts?

No job placement guaranteed, high cost, full time, and heckish yet learning experience. Also, you would still have to learn algorithms on your own time for interviews because that is not possible to teach during the bootcamp’s sessions. Okay – online research also tells me that because of the iffy-ness, a degree would be far more worthwhile in the long run because I would not be centered to whatever languages the bootcamp would teach me (HTML, CSS, JavaScript, Databases – CS 290/340 material). In fact, a classic computer science degree would give me far more intuitive knowledge.

PASS

And hence, after finding out this postbacc program after my conversion, here I am!

Consensus today?

Wow, the pandemic changed a lot of things. Bootcamps is now not recommended for most people to do a career change and a Computer Science degree is due to the amount of command of different languages and situations that would require a better buildup of technical knowledge. Also, apparently, Human Resources rather choose a candidate with a Computer Science background with a similar knowledge of a Bootcamp graduate because the CS candidate would have a better grasp of the material, or so I have heard.

I am not against bootcamps.

Bootcamps do work, but for someone like me, I rather not spend additional time later struggling to learn material when I already have a basic framework just forced upon me through school such as Analysis of Algorithms and Operating Systems classes – these classes teach essential knowledge that I would need to both find and keep for a programming career (Algorithms for interviews) anyways.

Unsolicited Advice

Go back to school!

Posted in Blog, Post 4 | Leave a comment

Why Computer Science?

Well, the group project is going fine but because we are currently in the early stages, let’s talk about why I chose to return to school to do a Computer Science degree.

Computer Science was not my initial choice.

Back in 2017, a year after graduating from my undergrad university, I was working in low level finance for some time despite my knowledge of Excel. In fact, I was promoted quickly and was compensated quite well in a short amount of time because my manager was impressed by my skillset. However, I knew that knowing Excel and its fancy formulas was not enough (Yet it was foundational to both Linear Algebra and even Computer Science due to the simple functions that one can implement and perform calculations like the SumProduct equivalent to Dot Product operation of two or more arrays.)

So, what did I do?

I chose to get a quick SQL fundamentals certificate to learn database fundamentals and transactions because that seemed like a relevant next step in my journey in my career of Finance. Why? I am essentially working with a database where I would have data entered and then later retrieved. The only thing is Excel acts as the platform for processing the data into a “tidy” format for my boss to use.

But it was not enough.

Back in 2017, since I was a native San Francisco resident, the local community college offered free classes! So, taking the opportunity to learn something new, I have then decided to go back to school to take the intro level courses in part time after work in Computer Science AND also Accounting because I did my studies in Economics previously.

So, what happened?

I was hooked! I thought I might just get a CPA to complement my Economics background after doing some snooping in LinkedIn where people working in the Finance industry had moved up easily because they have a background in Accounting – but I did not need to have an Accounting degree since the CPA license would qualify me as someone who actually knows their material.

Wait, where’s the Computer Science?

Yes, I was taking a Computer Science class on and off – Intro to CS, Intro to Databases, Intro Unix for one goal: DATA SCIENCE. Why Data Science? I thought that Data Science would complement my background in Finance, Economics, and even the fundamental language of business: Accounting! All this without truly compromising on my studies but instead complementing my studies! The CS courses were just to build the skills! All of this over a span of 3 years interweaving between Accounting and CS classes.

What happened to Data Science in those 3 years?

The pandemic happened in 2020. I thought that despite all my efforts, Data Science was a very niche path that required even higher level Mathematics beyond what I had learned previously not accessible in Community College. So that means I had hit a dead end!

Oh no, a dead end? So, what did you do in 2020?

They say the rest was history. Anyways, I am here and now about to graduate! I was working full time in my Finance job and then later left to pursue this program full time just at the end of 2021. The decision was difficult because I have to cut back in my lifestyle (That is, no UberEats or eating out much) because I had saved so much based on my estimated time to complete this program.

You’ve suddenly found this program? There must be more details there!

Yes, you are right! I will talk about that in a future blog post. I will also elaborate on Data Science and everything in between too. So, stay tuned!

Posted in Blog, Post 3 | Leave a comment

Team Meeting and Coordination

Okay, there doesn’t seem to be much hiccup in the team. That was certainly a relief and we got to complete the team standards document without much hassle. However, I am unsure how will the project play out over the course of this term because things can happen at any moment’s notice each week like unforeseen Jury Duty, family problems, or whatsoever. Even if there are issues, I will only blog about light things.

Thus, going forward, I am going to talk about what I have learned and coordinated on my group project.

Excellent, so I am currently working in a group project involving web development! However, I find it quite amusing that we have 4 people in the group instead of the alleged 3 but whatever. The thing that I am in concern with right now is time – do I have the time to fully commit to the work or do I have to postpone other core responsibilities?

Let’s review what is needed after my group’s meeting.

Database – We are going to stick with the Firebase platform by Google! Firebase is a NoSQL database where we can simply perform CRUD (Create, Read, Update, Delete) through simpler operations without any need of the SQL syntax beside their concept. That is, to get data, just have the keyword “get.” To delete data, just ensure delete is in the code somewhere to perform the query.

Firebase logo by Google
https://firebase.google.com/brand-guidelines

Okay, what is the big deal?

The big deal is this database is free at the basic level and is relatively simple to use. Without getting further into the nitty gritty, this is a modern database like MongoDB (Another NoSQL database) but with a lot of the power from Google Services like user authentication, which is one of the stories that we want to implement into our project. Essentially, we have a lot of the huge work that we want to implement abstracted away so we could all focus on the vital aspects of the project that is only possible AFTER the user has signed up and logged in!

Anyways, that is the current progress right now so until the next post where I can discuss other new developments arising from this project or new observations happening during this time like job offers.

Posted in Blog, Post 2 | Leave a comment

Reflection to Learning on Command

Well, well, well. Looks like this is the final capstone course that I will be taking in the CS postbacc program at Oregon State. The first thing that I want to think about is what to really expect with working with group members again to create a product – will there be proper coordination? Will there be group members who disappear and leave me to become the sole proprietor of the work? Or will I need to delay this class for a term? Who knows? But there is one thing that is for certain – I might be learning a lot or at least something over the course of this capstone class!

But let’s take a step back for a bit to take a look at what I have done recently.

Over the course of the short spring break, I made a donation to a Humble Bundle in the support for the war efforts in Ukraine. From that bundle, I have managed to acquire a program called RPG maker to make role playing games. Also bundled in the package is the introduction to C# to develop games for the Unreal Engine. However, I do not have any game dev experience yet to implement an ambitious project if I am to be assigned to make a game.

Hopefully, I can stick with doing a basic web based CRUD app since classes at OSU were focused on, besides Python, were the standard web development languages such as HTML, CSS, and JavaScript due to CS 290/CS 340. Moreover, for CS 361, I have made a basic web app over the course of the project scope because it was quick to get an interface up and running without having to deal with Python’s App GUI interface.

Regardless, I do not know what to expect in this class but hopefully, it will be great! Planning forward, I do hope that I can work on a project with my current skillset or, if needed, learn something new to support my team. For the reader – yes, I did select mostly web dev projects but some of the games looked fun to develop……

Since this is the first blog, the topic is not particularly focused but the next blog will be different from this one due to the expectations after project groups are officially assigned. Perhaps I will love this class after that point but, if you can read by the tone of this first blog, I am very nervous upon what my project and teammates will be right now.

But, I am ready – Game, Web App, Mobile App, or whatever.

Posted in Blog, Post 1 | Leave a comment