Tech stuff found in the second half of 2020
Tags: links, tech, 2020
Published: 2020-12-31 12:57:50

2020 has not been the best year ever but with more time at home and less time commuting I did find time to read and discover more online. The following is a list of the best resources I have found while trying to become a better developer in the second half of 2020. 

## Contents

* [Community](#community)
* [Projects](#projects-and-tools)
* [Learning](#learning-and-practice)
* [Good News](#good-news)
* [Videos](#videos)
* [Articles](#articles-and-sites)
* [Podcasts](#podcasts)
* [Conferences](#conferences)
* [Books](#books)
* [Funny](#funny)
* [Gadgets](#gadgets)
* [Twitter](#twitter)
* [Coding Music](#coding-music)

## Community <a name="community"></a>

Obviously [Dev Community](https://dev.to/) but I discovered this years ago :) 

In the second half of this year, I discovered [Indie Hackers](https://www.indiehackers.com/). I really like the content and ideas there. If you are looking to work on a side project it's certainly worth a look. 


## Projects and Tools <a name="projects-and-tools"></a>

A brief list of the best tools I discovered and used recently.

**[Backstage](https://backstage.io/)**

When I worked at Spotify I was blown away by the internal tooling and how quickly I could get set up and deploying code. I got to use an early version of the developer portal there which has since been opensourced. We are using this at my company now and it's really worth a look if you want a nice way to do internal tooling.

{% github backstage/backstage %}

**[Hashicorp Boundary](https://www.hashicorp.com/blog/hashicorp-boundary)**

Most access tools I've had to use kind of suck if your job is actually making stuff (looking at you Cyberark). [Hashicorp Boundary](https://www.boundaryproject.io/) looks like a really promising alternative so far. 

**[GitHub CLI](https://github.blog/2020-09-17-github-cli-1-0-is-now-available/)**

GitHub CLI is a great tool and a lot of fun to use.

{% github cli/cli %}

**[Sizzy](https://sizzy.co/)**

A browser for devs that is very cool. 

**[ZSH Kubectl plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/kubectl)**

I use [zsh](https://www.zsh.org/) + [ohmyzsh](https://github.com/ohmyzsh/ohmyzsh) and I work with Kubernetes a bit. It only occurred to me to use the kubectl plugin for zsh recently which is silly but I am happy I am using it now.

**[Jetbrains Code with me](https://www.jetbrains.com/help/idea/code-with-me.html)**

VSCode has had [Live Share](https://code.visualstudio.com/learn/collaboration/live-share) for a while. A lot of people prefer Jetbrains tools though so I was happy to see this: <https://www.jetbrains.com/help/idea/code-with-me.html>


## Learning and Practice <a name="learning-and-practice"></a>

This article encouraged me to make this list <https://www.learninpublic.org/v1-principles-learn-in-public.pdf>

[Testing JavaScript](https://testingjavascript.com/) is unfortunately quite expensive but this is a subject I keep struggling with despite having a lot of experience with it. That course has changed how I think about writing tests in JavaScript and has made me feel more confident that I understand what's going on now.  

If you want to learn about using GCP (Google Cloud Platform), [QwikLabs](https://www.qwiklabs.com/) is a great resource where you learn by doing.

[repl.it](https://repl.it/) is a site that seems to consistently deliver amazing content and is also a very nice site to use. I recommend signing up for the newsletter. 

I am not looking to interview soon but I suffer serious interview anxiety. To help reduce the stress I practice as often as I can. I love the 30 days challenges at [LeetCode](https://leetcode.com/).
My last attempt (I didn't finish the month) <https://github.com/ruarfff/leetcode-typescript-practice>.
Will try again in January. 

I love to code games but I haven't done much of that since college. I get to dabble a little in it using [Screeps](https://screeps.com/). An RTS game where you code the AI for your units. It's a lot of fun and good coding practice.  

This is my admittedly poor attempt so far: <https://github.com/ruarfff/screeps-scripts>


This massive list of resources to learn and practice with:
 
{% github charlax/professional-programming %}


## Good News <a name="good-news"></a>

Just some good tech news I came across recently.

I did not realise that cookie banners were only required if you use cookies not needed for a site to function i.e. evil tracking cookies and the like. This is good news from GitHub:
<https://github.blog/2020-12-17-no-cookie-for-you/>

I love Hashicorp. I for sure might be wrong but I consider this good news for people like me who spend a lot of time automating deployments and I am very much looking forward to trying it out: <https://www.hashicorp.com/blog/announcing-waypoint>

## Videos <a name="videos"></a>

I could watch GeePaw code all day. There's something so modest and natural about this series. It doesn't make me feel stupid and I am learning a lot from it: <https://www.geepawhill.org/series/real-programming/>

Rich Hickey is a great speaker and [clojure](https://clojure.org/) is my most favourite language I never use for anything: 

{% youtube MCZ3YgeEUPg %}

If you have been struggling to get going with machine learning despite lots of [Coursera](https://www.coursera.org/) courses done, the insights here might be interesting to you:

{% youtube EHXwFhitqvo %}

## Articles and Sites <a name="articles-and-sites"></a>

Despite all the improvements in hardware, software performance, in general, doesn't feel like it has improved at the same speed. This is an interesting read on that subject:
<https://fabiensanglard.net/silicone/>

Some crazy JavaScript demos: <https://www.dwitter.net/>

Something I used in college but only rediscovered recently <https://processing.org/>. It's a very interesting project to help with visualisations in code. 

[GeePaw](https://www.geepawhill.org/) is great. These articles are particularly good ones I read recently: 

<https://www.geepawhill.org/2020/07/17/the-rat-rework-avoidance-theory/>

<https://www.geepawhill.org/2020/08/14/pathing-a-style-of-laying-out-work/>

I don't think I will ever go into management but I still love every post by [@mipsytipsy](https://twitter.com/mipsytipsy) at <https://charity.wtf/>. I appreciate the extra insight I get about management.

If you have worked in a "big corp", you have almost certainly encountered bad COTS (“commercial, off the shelf” software): <https://sboots.ca/2020/09/16/fake-cots-and-the-one-day-rule/>

Pretty much every article by [Kent Beck](https://twitter.com/KentBeck) is great. This is a good one I read recently:
<https://medium.com/@kentbeck_7670/monolith-services-theory-practice-617e4546a879>

A reminder about the risk in crypto: 
<https://decrypt.co/51692/a-crypto-user-sent-50000-to-a-smart-contract-its-gone-forever>

Generally, I am not a fan of the "why I left some big tech company" posts but there was something really nice about this one:
<https://mtlynch.io/why-i-quit-google/>.

Some tips on working on a side project while not immediately having to quit the day job: <https://www.indiehackers.com/article/f7697df2d7>

If you ever worked at a "big corp", you have probably encountered pain with certs on the network. This series helped me understand this stuff better and I learned a bit of rust too:

{% link https://dev.to/wayofthepie/a-rust-cli-for-decoding-certs-280i %}


Bit of a cheat here since this site isn't really on tech but it isn't 100% not tech either and I love it a lot: <https://www.brainpickings.org/>

## Podcasts <a name="podcasts"></a>

I listen to a great many tech podcasts. One I discovered late in 2020 is the Idealcast and I highly recommend it for its positivity and thought-provoking content:

<https://itrevolution.com/the-idealcast-podcast/>


## Conferences <a name="conferences"></a>

I was lucky to get to go to [The DevOps Summit](https://events.itrevolution.com/) in October. The focus was largely on dealing with problems in large organisations and more on culture than tech but this is a problem I care a lot about lately. I really loved this conference and how they made the virtual & remote aspects work well. I loved chatting with the speakers in slack for example. 

I also got to attend [GitHub Universe](https://githubuniverse.com/). It's one of the most fun conferences for developers I think as you end up trying out so many new things at it. They have done a great job of going virtual too.  

## Books <a name="books"></a>

When I was at the DevOps Summit I attended a talk by [Mark Schwartz](https://markschwartz.me/) and learned about his new book [The (Delicate) Art of Bureaucracy](https://itrevolution.com/delicate-art-of-bureaucracy/). It's not the kind of book I would ever have thought to buy, to be honest, but the talk was so entertaining I decided to give it a go. It ended up being one of my favourite books this year. If you struggle with bureaucracy in any aspect of life, you will likely find something useful in this book. 

Brain melting assembly problems <https://www.xorpd.net/pages/xchg_rax/snip_00.html>. I can't really review this book except to say it hurts my brain but I still love it. It's free but you can support the author by getting a hard copy.

I got into coding late in life and really messed up in my younger years by completely ignoring maths. The book [Math for Programmers](https://www.manning.com/books/math-for-programmers) has helped me catch up a little bit and fill in some of the gaps in my knowledge left by a squandered youth.

I read the first edition of **Release It!** by [Michael Nygard](https://www.michaelnygard.com/) about 5 years ago and it changed how I thought about running apps in production in a big way. I am now reading [Release It! Second Edition](https://pragprog.com/titles/mnee2/release-it-second-edition/) and I am learning just as much again looking at it with more personal experience and enjoying some nice updates in the book.

## Funny <a name="funny"></a>

Some amazing CSS <https://tholman.com/obnoxious/>

**Microservices**

{% youtube y8OnoxKotPQ %}

**All your programming pain in one video...**

{% youtube ePhAj8ktiEA %}

## Gadgets <a name="gadgets"></a>

The only gadget I bought for my dev setup in the last 6 months was this keyboard: <https://dygma.com/>. It is absolutely amazing.

This just looks so cool and I want one: <https://www.clockworkpi.com/devterm>

## Twitter <a name="twitter"></a>

On needing a good strategy and vision from your leadership (a thread):

{% twitter 1338224893645651968 %}


On things going bad in a rewrite and sunk cost fallacy (a thread):

{% twitter 1336893874904567808 %}

A profound thought on hackathons:

{% twitter 1320165499863396352 %}

It's always DNS: 

{% twitter 1313858239298260993 %}

Interesting war story (a thread): 

{% twitter 1312536583401160704 %}

On being an opensource dev (need to click into it to see images properly):

{% twitter 1310776927599423489 %}

Same: 

{% twitter 1306613673952149504 %}

GraphQL VS Rest: 

{% twitter 1303673198500814848 %}

How I felt when I saw JSS: 

{% twitter 1303268890638778368 %}

## Coding Music <a name="coding-music"></a>

{% spotify spotify:playlist:5e1dfPbE4qElO9wCQ2AOCm %}