What I'm Learning

This page will display my updated "status" as to what I am working on currently. It will be sorted by most recent to oldest updates. Each update will be left as-is. In other words, I will not go back to earlier updates to change what my current favorite editor or language is, for example. Each update will be a snapshot in time to show my overall progress.

June - August 2023

While I had time to work on my projects in early June, I had to take a break from my computer work to go on family vacations to Portland and Europe. Then the Alaskan summer really kicked off. It is necessary to take full advantage of Alaskan summers because they are short and intense. Each weekend, I found myself camping or going to concerts or festivals. This provided an excellent rest period so that I could back to work in the late August rainy season. In August, I began by slowly resuming work on my old projects. The most important work was to update this page of what I had been doing for the previous three months followed by tying up loose ends from my color project. This did not prove easy as I had to go back and comment on code after the fact, which is never easy.

May 2023

In May and early June, I spent the majority of my time working on two similar projects: a color palette generator and a color picker. The color palette generator allows a user to get a random palette at the click of the button. The palette can be between 2 and 30 different colors and can be completely random or it can biased towards light, dark, warm, or cool colors. Each color is displayed on the screen with its matching hex identifier and I was even able to make the label text for each color black or white depending on the color's darkness.

The color picker was a slightly different project that allows a user to pick specific colors and then find related colors. A selected color will calculate the matching HSL, HEX, and RGB value and display it. The selected color or its related colors can then be saved at the bottom of the screen by clicking on the color itself. This allows the user to eventually create a custom color selection or palette. This project ended up being more time consuming because of the math that had to be built into various functions. Rounding errors that I had to debug were difficult because of their intermittent nature.

I was fairly pleased with getting these two projects put together in May and early June even though they ended up taking a lot more time than I originally had thought. I think that they go well together and are best used in conjunction with one another. They also happen to be the first two projects that I displayed on my portfolio website projects page. This was a step in the right direction to make it easy for others to sample my work.

April 2023

In April, I made a lot of progress on my GitHub account. At the start of the month, I finished my algorithms-project, which looked at the efficiency of different sorting and searching algorithms. After that, I tried out the Python tkinter module which allows you to make GUI applications with Python. I ended up making a very simple calculator and a GUI version of the password generator I had made in a different repository. Next, I worked on the social-security-data-science repo which used a set of data written in over 100 CSV files that stored information on the names people were born with each year. I used the Python pandas module to make data frames to assist in analyzing the data and made graphs with the matplotlib module. Towards the end of the month, I began working with HTML/CSS by creating a repo to practice my static website design. After all of the work on the different repos, I did some maintainence with my GitHub by creating a README that would display on my main GitHub page so that people could get an idea of what I am working on currently and who I am. I also began the process of moving my personal portfolio website to host on GitHub. Overall, it was a GitHub-heavy month and I was very satisfied with the progress that I made.

March 2023

I have been very busy in March working towards my goal of learning computer science. Much of this time was spent improving my portfolio repository on GitHub, reading books on CS concepts, and working on different classes.

GitHub:

I have more than doubled the code and content that I have on my portfolio on GitHub. This is thanks to the time that I spent on two projects - the "Cipher Project" and the "Algorithm Project". The cipher project followed along with the book "Cracking Codes With Python". I worked on several well known ciphers and made sure that they were functioning efficiently. The algorithm project was similar in that I used several different well known sorting and searching algorithms as coding practice. I tested the real-world efficiency of these algorithms with automated testing and presented the resulting data and graphs based on the data. It turned out that the algorithms were every bit as efficient as I intended them to be. As a way to describe how the code in these two projects worked, I learned how to diagram programs using Mermaid diagrams (they are an easy way to make diagrams written in markdown).

Other:

I read through several books this month, including a book on intermediate Python, a book on coding and cracking ciphers, and a book on data structures and algorithms. I also browsed through a couple different courses on Coursera. I didn't finish all of them because, if I do not feel that it is going to be relevant information to my particular goals, I move on to content that will help me reach my goals faster.

February 2023

This past month has seen an important addition to my computer science journey: the start of my portfolio. I have created two components to my portfolio. First, I have created this website. This website acts as host to my resume and also showcases my background in a way that a resume cannot. It talks about who I am as an individual and why I studying computer science. Second, I have started a portfolio repository on GitHub to showcase code that I write. I decided to create these portfolio components as a way of showing my work. After recently reviewing a year of progress, I realized that I felt much smarter and had a lot more skills than before, but I didn't have anything to show this in a tangible way. For many beginning software developers, the tangible proof of their knowledge is a degree received from a university. Because I don't have a degree in computer science, I will have to create my own proof of my continued progress. This February marks the start of this project and I will anticipate working on this project from now until I begin applying for software developer jobs in a year and a half.

In addition to working on this portfolio, I have been working on a class called "Programming Languages, part B". It has been an informative class and I appreciate two major things that came from the class: working with Racket and working with Emacs. I actually enjoy the strict written syntax of Racket, as I find it very clear to follow the structure when evaluating the code, even though it can be a little bulky to write. I think it may be a language that I want to continue to develop along with Python. Editing code on Emacs has been very interesting and I actually enjoy the way that it interacts with the file system on the computer without having to go back and forth between editor and command line like Vim. I also like that it is less visually distracting when compared to a modern editor like VS Code.

A couple other things that I have been working on in February:

The Past Year in Review (2022)

For the past year (since early 2022) while working as a nurse, I have studied the beginning concepts of programming. I have learned the basics of Python and have tried various other languages like JavaScript and Racket. I have also tried different editors including Vim, Emacs, and VS Code. Also, I started working on open source classes. Some of the biggest obstacles have been simply figuring out how to use the terminal and how files are organized in general on a computer. I have come a long way and have sampled a lot different ideas and I am working as hard as ever to progress toward my eventual goal of working in the tech field as a software developer. As I go forward with about a year and a half until I expect to start looking for work in the field (Fall 2024), I am starting to put together this website and an accompanying portfolio of code on GitHub. Other updates will come over time describing what I am currently working on.