Covid mask

2020 to 2021

31 December 2020

2020 was the worst year ever for a whole lot of people. I got off super easy being from New Zealand and having steady employment which I could do from home during lockdown. And thankfully we only had the one lockdown, unlike a whole lot of other countries. So I feel very lucky to have done anything at all in 2020.

Some things I learnt in 2020 #

I've learnt a WHOLE lot in 2020. Throughout 2019 I was mainly learning the fundamentals of the web: plain old HTML, CSS and JavaScript, and a bit of PHP and Jquery too. 2020 for me was about learning frameworks, tooling, hosting and the backend.

In March 2020 I pushed to this site. For the first iteration of this site I used static HTML files and a few simple links. This helped me learn about FTP, servers, and DNS.

Then I started reading about React and did a React course. I installed node and started taking a look at webpack, npm and babel - all these heavy powerful JavaScript tools. Like moving from a chisel to a jackhammer. I learnt about the power of React hooks, composability, and functional programming.

I started making commits and pushes using git and github.

I learnt a whole lot about CSS too. Around the middle of the year I did all of Flexbox zombies. I learnt a little bit of colour theory and how to design with colour. In the process of learning this I built a React app to programmatically generate a monochromatic colour scheme. I even got a post up on CSS tricks about the JavaScript functions I used to calculate the changes in hue and saturation. Design is something I read a lot about and something I am definitely keen to continue working on.

Then I started learning about Laravel - the style of building web applications pushing server-rendered HTML. I'm still working on Plantr 2.0 today, which is going to be a laravel app. I didn't want to use JQuery so I pulled in Alpine.js. This felt similar to React, but was very unobtrusive in the server-rendered world.

I thought the best way to learn Laravel would be to rebuild it - albeit with a lot fewer features. So I made Edoras - a little mini PHP framework for blogs based on the Laravel syntax. In the process of this I started reading into SQL queries and databases.

In August I changed up my portfolio site. I rebuilt it to use Edoras and started this blog. I tried to use some of the fundamentals of design I learnt this year. Finally I started getting into Codepen and making tiny little demos on there to get my feet wet with a whole lot of different technologies.

Looking into 2021 #

My new years resolution is to read 12 books in 2021. One per month. I'm going to make them half technical books and half non-technical books. Who knows whether I'll be able to do this when society is going to fall apart and we'll be living in a Mad Max style post-apocalypse if 2021 is anything like 2020. I'll write a post about each book and what I've been learning in the technical ones.

As for what tech to learn: I think after I finish my gardening app I want to start digging further into the React ecosystem. Server rendered components sound pretty interesting so I'd like to try these out when they get properly released for production.

I'd also like to learn Next.js. It looks like the tutorial on the Vercel website is really good so I think I'll start with that and see where we go from there. Next.JS sounds like it will combine my knowledge of React but with the battery-included-framework power of Laravel.

In the React ecosystem I'd also like to get into Styled Components, GraphQL (apollo and urql), React Router, React Transitions, material-ui, jest, xstate and immutable.js. That's a lot. And I'm definitely not going to be able to dig super deep into all of these, but I'll find out what interests me in the process. Also while I'm at it let's throw Node in there too (or maybe deno if it looks like hosting options are coming out).

I also want to get started with TypeScript, as it's sounding like a good way to avoid bugs and get some nice autocomplete going in VScode. Finally, as I love trying to make things look pretty, there'll be more CSS. I'm interested to try out Tailwind, and try to keep up with all the new developments we're getting in browsers.

That's probably enough to keep me busy.

Back to blog