2021 New Years Resolution

I’m a little late on this, but better late than never. For 2021, my goal is make sure I’m practicing my programming skills. Either by taking some training courses or just fiddling with personal projects. Noticed with 2020, I was dealing with depression which was really impacting my motivation. Still dealing with depression, but wasting my time isn’t doing me any favors. As another personal project, I finally started to learn how to play the guitar. Nothing to do with development, but I realized how much learning how to play the guitar was helping me feel more motivated.

Taking that same idea, I remember seeing a 100 Days of Code challenge on Twitter last year. Not going to necessarily commit to 100 days of coding specifically; but I’m going to work on fitting in some coding each week whenever I find myself just wasting time (which is quite a bit of time at the moment still). Something I did happen to catch while reading some of the posts was a link to Learn HTML5 and CSS3 From Scratch – Full Course YouTube training course shared via freeCodeCamp.org. I know I said I’m going to focus on C#; but considering I want to do web development, I need to also make sure I have a solid grasp of HTML and CSS for that front-end development. Won’t do me any good if I’m proficient in the back-end development if I don’t actually have a site to showcase anything.

The video is 11 hours and 30 minutes, so not going to blow through in one sitting. Just going to break it up into smaller sessions. Fortunately, the video itself is from a course that was originally broken up into small parts, and the the first pinned comment breaks up the timestamp for each section start. Will most of this is all a refresher so far, never hurts to re-review the basics to make sure I have them down. Made it through the first 15 parts today so far. I might watch more tonight; but if not, there is tomorrow. Just as long as I’m working on them consistently.

Final Year of School and Finding My Groove

Well, after way to many years, I’m finally look at my last year of college. Barring any major hiccups, I’ll finally have my bachelor’s by next December. It has been a long and slow road, but glad I’m finally seeing the light at the end of the tunnel. As for next steps, it’s time for me to start figuring out what I really want to do.

To be honest, the degree I picked, Web Development and Administration, was originally because that was the degree I was closest to getting without having to retake any classes. What I didn’t expect, was that I would like the field quite as much as I did. I also figured out that I’m stretching myself way to thin. There is so much I want to play with and so much I want to do, I have so many ideas, I have no idea where to start. I seemed to have forgotten a lesson I learned when I was first working towards my degree. Learning to program at its core isn’t about master one or two languages. There’s nothing wrong if you do though. Ultimately, at least for me, it is about understanding what programming is at its core. The ability to break down complex tasks into simple to follow instruction sets, and then translate them in such a way a computer can understand them. Sure, I’m over simplifying it a bit, but it helps remind me that there is no point in overloading myself.

Ultimately, every program language accomplishes the same thing. Tells a computer what you want it to do. The big difference is the syntax between each language. It all comes down statements, loops, functions/methods, variables, arrays, etc.. Just depending on the language, dictates how you write it out or go about it. In Python, you just name your variables and use them. No need to specify what they are. Java, C++, C# you declare what your variable are when you create them (yes, yes, C# has var which can be anything, but you still have to include it when defining it). Also, some languages work better then others for certain tasks. You can write a video game in Python or C#; but it isn’t uncommon for major studios to use C++. Why, C++ gives you some added flexibility with optimizing your code to maximize the games performance. In turn, C++ can be more difficult to grasp. Python on the other hand was made to be easier to understand then C++ and more approachable. Does that mean if you learn one, you can’t learn the other? If you understand programming is all the same at it’s core, no. Just means you have to rethink how to accomplish certain tasks. Like declaring your variable types (something that constantly throws me off with Python).

So while I’m trying to learn them all, I’m not dedicating the time to really learn any of them. So, going forward, I’m going to focus on C# as my go to language. I can use it for .NET web applications and desktop applications, like video game. Then, if I ever need to switch gears, just need to remember that I know how to program. I just need to understand the new syntax and remember to be flexible in my way of thinking.

Fall 2020 School Update

So, finally wrapped up my final course for the year. Only one more year to go and I’ll finally have my bachelor’s degree. I have to say, my original focus heading into my bachelor’s program at DeVry wasn’t Web Development and Administration, but I’m happy that it is now. The primary reason I switched was because my original degree program went away while working on it. It was a degree program more focused on business application programming and was the closest to a pure programming course DeVry offered. When they updated all their IT degrees, they dropped that one and replaced it with something that would have resulted in pushing my progress back. The only course program at that time that wouldn’t result in delaying my progress was Web Development and Administration. A blessing in disguise to be honest.

With only four classes remaining, I have to say that I’m extremely comfortable with ASP.NET/C# website design. Chances are, there are still elements of ASP.NET that I haven’t been exposed to, but I can guarantee it won’t take me long to figure them out at this point. Just need an appropriate use case for me to play around with them. I learn so much better writing out code then just reading about it.

Next up, .NET Core MVC website design. A change from using Forms but looks interesting. That, and I’d rather get more familiar with architecture less platform dependent. The fact that .NET Core works across Windows, OSX, and Linux is far more appealing to me then limiting myself to just the .NET Framework and Windows. Not to say that knowledge is wasted; but I prefer the flexibility.

ASP.NET Class Update

Really happy I had this class to be honest. Learned a lot about ASP.NET (granted, that should be the case considering this is a class towards my degree) and how it to use C# to code the page functionality. The format of the class was nice. Each week had a lab that culminated in the final course project due in the final week. Have to admit, it was fairly easy and I can see setting up my own multi-page site fairly quickly. Granted, I’m restricted to Windows based on what I learned if I were to build a site. Haven’t dug into how .NET Core works with ASP.NET and if/how it would be possible to deploy an ASP.NET site on a Linux system. At least I understand how ASP.NET works now.

Now I just need to review the website I administer at work built using ASP.NET. Biggest hurdle with that though is the fact it was built using Visual Basic about 10 years ago. Not a fan of Visual Basic and haven’t played with it in over 10 years.

Side note, while I was taking the class, I came to find out Microsoft also released Blazor WebAssembly 3.2.0. While I’m thinking of a side project to setup an ASP.NET site, I’m now thinking about digging into Blazor first. Not sure if I’ll completely deploy it though based on how easily I can deploy it for a minimal cost. Thinking my first site will be a static site written in HTML/CSS hosted on S3. No cost unless I go over 5GB, or traffic spikes enough. So many options.