Skip to main content

A 2020 Recap & Look Ahead

Hello 2021

This was a challenging year for me.  I am the type of person who, once in a rhythm, is loving life, and I feel like I am crushing it.  But finding that rhythm can be challenging, and starting in March, I never really found it.  The changes were difficult to cope with and even now at the end of the year, I am still having trouble adjusting.  It is kind of odd to admit that after almost a year I am still not adjusted.  There are things that I want to do that I have been unable to force myself to do.  I thought that this blog post would be a good way for me to organize my thoughts, goals, dreams and ambitions.

A little backstory

I have never really felt like I knew what I was doing with my life.  I studied Mathematics in college because I liked it the more than any other subject.  This kind of thinking led me to studying Statistics as a graduate student.  I didn't really have a passion, but I wanted a job, and after one year I couldn't convince anyone to give me one with my Mathematics degree, so I opted for an advanced degree instead of continuing the job search.  Once I finished my degree, my life moved quickly and I became a father.  This incentivized me to take my life more seriously - I wanted to provide for my new family.

Ever since then my goals have ranged from 1) make more money to 2) spend more time with family, and many places in between.  My best goal achieving seasons happen when I write things down.  I have never publicly written down my goals, but I thought, why not?  No one reads this anyway.

2020 Personal Goals

Looking back at 2020, I did not formally create these goals.  But I realize now, that if I were to say I had any goals at all, they are listed above.

Zion 50K

The Zion 50K ultramarathon run was my most looked-forward to event of the year.  I had planned to run it with a couple of friends, meeting from across the US to be there.  We tracked our training runs on Strava, which served as a way to motivate each other.  Once we learned the race was cancelled, this motivation to run dropped quite a bit.  I continued to train, but with all of the changes and stress 2020 brought on, I wasn't motivated to continue at the level I wanted to.  

Learning Docker

I started out learning Docker through an awesome Udemy course by Brett Fisher in January.  I became very familiar with Docker after working on multiple self-directed projects at my workplace.  However, this familiarity is only to a certain degree.  I did not finish the course!  When we started learning about Docker Swarm I fell off the bandwagon.  I didn't learn Kubernetes either.  

Software Development Portfolio

I created this website using Blogger!  In it I write about things that interest me, primarily related to software development.  It is very simple to use, it is free, and I am happy with it.

I worked on a project called Interactive Project Euler.  This was my attempt at a project I could highlight for my portfolio.  The project used a lot of technology that I use on a daily basis: Python, data extraction, command line tool creation, database interactions, and some others that I use less frequently: Docker, deployment, front-end development.

I improved my Javascript in a couple of ways this year.  I created a game for my kids using a Javascript library called Phaser.js.  I also created this COVID19 visualization using D3.js.  Through these projects I was able to familiarize myself with Github Pages and at the same time add a couple of interesting projects to my portfolio.  As a side note, I still check my COVID19 visualization frequently.  A win in utility!

The final project I worked on this year was a PowerPoint automation command line tool written in Python, pptx-templater.  This project build upon an existing PowerPoint automation project I found on Github, however with different intended use cases.  

Freelance on Upwork

Early in 2020, I created a profile on Upwork so I could try my hand at freelancing.  Within the first week I was hired to automate PowerPoint creation with Python.  The project direction was really clear, and the experience was awesome.

I had a less-than-great experience on Upwork as well, mostly due to my inexperience as a freelancer.  I was hired to do an automated Extract-Transform-Load project.  The idea was simple, but the person that hired me didn't really know what they wanted, so I spent a lot of time (that I didn't charge) working out solutions.  Eventually the person that hired me lost interest and the project fell apart.  

After taking a break from freelancing for a few months, the first person who hired me on Upwork reached out for another, more generic, PowerPoint automation project.  This project had some interesting generic use cases and there weren't any project quite like it on Github, so I decided I would open source a generic Python project, pptx-templater.

2021 Personal Goals

  • "Compete" in Bryce Canyon 50K Ultramarathon
  • Learn software engineering
  • Become a software engineer

Bryce Canyon 50K

Vacation Races let us defer our race entry from last year.  This year we are running in Bryce Canyon instead of Zion.  I am excited for this because I'll be running and training with my friend.  My family will be coming as well, so we will be able to explore Bryce Canyon together.

Learn

I am taking a course in machine learning.  I would really like to use text classification & machine learning to understand maintenance logbook entries.  It might be fun to try out some kaggle challenges as well.

I want to finish the Docker course I started in 2020.  The Kubernetes section is what really interests me.

Finally, I want to study data structures and algorithms.  I hear they are useful to the software engineer during job interviews, and it will be good to get a more comprehensive understanding of software engineering.

Become a software engineer

I almost didn't put this goal because it seems not possible.  I would like to have the job title as software engineer with all duties and responsibilities that follow.  I have known for the past two years that I would like to walk down this path, but only vaguely, and with no real commitment.  

A look ahead

Each year we have chances to refocus our lives, and I am going to use the New Year to refocus mine.  I'll keep writing about my progress as the year goes on so I can be somewhat accountable.

I'm looking forward to it.

Comments

Popular posts from this blog

PPTX Templates with Python

The ability to create PowerPoint presentations is a requirement these days for most companies. So much so, you may think even stating so is unnecessary. A lot of people are used reading PowerPoint presentations, and despite how much you might dislike it, you are most likely going to need to make reports with PowerPoint. From my perspective as a data analyst, the problem with PowerPoint is loading data to be visualized. I find myself creating charts or tables outside of PowerPoint, and repeatedly manually copying and pasting into the presentation. When you are creating the same presentation day after day, week after week, and the only thing changing is the data used to populate the report, you might think, "why am I doing this?", or "why am I still doing this?". There is a better way, and you don't really need any programming skills (although it won't hurt to be familiar using the command line).  tl;dr Go here to try it out the examples. pptx-template ppt

Getting Into Trouble Scraping the Web

The idea behind web scraping is to get information from a web page.  When people talk about web scraping, people are usually talking about running a computer program to extract information. How to scrape the web You are scraping information right now with your eyes as you read this sentence.  You opened your browser, visited this site, and are mentally tracking things you care about. Ok, ok, so technically that's not web scraping, but the process is similar.  You might really like to scrape my favicon.  Let's try extracting it using Python: >>> import urllib.request >>> web_page_response = urllib . request . urlopen( 'https://hellofrom.liamcryan.com/) >>> html = web_page_response . read() >>> html[html . find(b 'href' ) + 5 :html . find(b "'" , html . find(b 'href' ) + 10 )] b "https://hellofrom.liamcryan.com/favicon.ico" So, there is is; a quick and dirty program that scra

Training for Bryce Canyon 50K

I am starting to get super excited for a long-coming run in Bryce canyon with some friends on May 29, 2021.  The race is 50K - farther than any of us have run.  Well, I may have run one other 50K, but it wasn't exactly a run if you know what I mean. I decided on February 1st that I needed to start easing into training for the race.  My training motivation needed a boost as well as some better planning & record keeping. To ease into training, I chose a few trails and planned to complete them every one to two weeks.  Here is the list of trails I chose:   https://www.alltrails.com/lists/training--1311 .  To really hold myself accountable, I created calendar events and reminders with the trails details. I had planned three runs on my calendar, so that's how many I ran despite wanting to do more (amazing how well calendar planning works!).  The trail running had served as a great motivator, and I felt motivated enough to run on the more boring streets near my house.  By the time