2021 Favorite Things List

This is a list of my favorite things I came across this year.

2021 Favorite Things List

This is a list of my favorite things I came across this year.

Services

These are services that drastically change the way I work, I am always on the lookout for more tools, so hit me up if you have any recommendations.

Outline - Self hosted Virtual Private Network

There are a few reasons you will want a VPN. You might want to secure your connection from your local network if you are in a public cafe. You might want to avoid data collection by your Internet Service Provider, you might want to hide your identity from the websites you are visiting.

Outline solves two of out of three concerns. I am self hosting a dockerized instance of it, so my traffic will be encrypted between my docker container to my device, hiding my traffic from my ISP and any spoofers on my local area network. They have clients on most major platforms. Since I run it on docker I have full control over its configuration and I can run it over commonly used ports like 80 or 443 or 17 so it works over networks with restrictive firewall configurations like in schools or libraries.

Gitpod - Changing the way I think about development setups

What comes to mind when I mention text editor? Is it an Integrated Development Environment (IDE)? Is it a heavily customized VSCode with many different plugins? Is it a lightweight command line editor like Neovim?

Gitpod is a tool that challenges that traditional thinking. It allows you to spin up a full-fledged development set up from the browser, allowing you to code regardless of the hardware specifications of your laptop or even on an iPad. You get full access to the command line with the ability to install any packages or configure the runtime. Gitpod thinks of developer setup as ephemeral, changing the way I think about writing code and abstracts away the need to constantly think about different environment variables or reinstalling dependencies.

I only used it for a school application where I wrote ReactJS with TypeScript and Firebase, but it was an interesting experience. I could context switch with a simple click and no need to manually switch branches and rebuild my dependencies and application. Not to mention their strong community engagement, talking to their users about different use cases and how they use Gitpod. Looking forward to what they would bring to the table in 2022.

n8n - Self-hosted no-code workflow automation

Robotic Proces Automation (RPA) is a rising trend in recent years. Many companies have very good no-code offerings like Shortcuts from Apple, Power Automate from Microsoft, Step Functions from AWS.

I am using n8n because I wanted to have a dockerized service where I could easily create automation, allowing me to create telegram bots or run scheduled jobs visually and quickly. n8n allows all of that. I can create automation jobs visually based on a drag-and-drop interface, I can schedule jobs or run them via webhooks. I can open the same job 4 months later and instantly understand the process, no documentation is needed since the visual editor IS the documentation itself.

Since I am hosting it, I own all of the data that it consumes, and I have full control over its runtime. And since it is running in a docker container in the cloud, I have full control over its availability. I lose some elasticity, but it's only serving one user, me, so I think its elasticity is not important. And if I need it to serve multiple users, I will probably think about using a more managed service.

Apps

These are applications and programs that I find to be well-designed and a blast to use. Most of them are iOS specific since I started using an iPhone this year.

Best Functionality - FairPrice

Shopping at my local supermarket is a weird experience. I will buy the items, and then look at the arbitrary code names on the receipts and try to figure out which item is which. Not anymore with the FairPrice application. Now I can just pay with the app and then look at the price of each item with the discounts attached to the price. Before I physically go to the store, I could select the store I am going to and pick out all the items I want in a virtual basket, check their availability and discounts before estimating the checkout price all within the application. I even rank up points for the first time within their membership.

The FairPrice application has very interesting but useful twists that actually improves the experience of users in the store. I am glad they took their time to research the use cases and come up with a focused application.

On the technical side, I cannot tell what type of stack they are using at a glance (hybrid or native or something), but it's very performant. The animations are simple but pleasing, the icons and labels are sensible.

Best Usage of the Platform - Yoink

The Apple ecosystem is a bit eccentric. There is no clipboard history on the mobile devices even tho they synchronized their current item across all your iCloud enabled devices. Yoink helps to elevate the problem.

Yoink acts as a chipboard manager on the iOS and iPadOS systems. You can drag and drop rich text or pictures or files into the app and it stays there until you remove it. They prompt you to save your current clipboard item automatically when you open it. You can open their app in Slide Over and summon it quickly with a swipe. It synchronizes the items across devices really quickly with handoff. They support drag and drop on both iOS and iPadOS (which is a rather new API for the iPhone).

Basically, they are a seemingly unremarkable app that helps us manage our clipboard, but it pulls together a lot of platform APIs in a sensible way to create a really transparent experience for the user.

P.S. While writing this article, I also found out they have a 3rd party keyboard that allows even faster access to your clipboard items.

Content Creators

Just a shoutout to creators who make great content.

Ladybug Podcast - Its a discontinued weekly podcast hosted by @emmabostian, @aspittel, @kvlly and @shidonichan where they talk about code and career. Listen to their old episodes on Spotify here and look at some highlighted episodes here.

Pauline P. Narvas - Senior Community Engineer at Gitpod. You can find her on LinkedIn or Twitter. She writes and talks about the soft skills and experiences of being a software engineer living in England.

Aivars Meijers - Free lance iOS developer. He frequently uploads YouTube content about the experience of being a freelance iOS developer, showing off the benefits, the sacrifices of his lifestyle.

Me - Hey, I have a telegram channel where I schedule daily articles. Check it out at The Communting Software Engineer.