Month summary - March 2021

Posted by Tobiasz Kedzierski on 31.03.2021

March 2021

I am aggregating here some more or less interesting stuff of various IT related materials which I came across this month. Some of them are strictly related to the things I did or am currently doing.

Some thoughts

The main event of the month was the Poductivity step by step (PL: Produktywność krok po kroku) course. I wrote more about it in a separate post: Productivity course

Articles

How to Work From Home: 10 Tips to Stay Productive

There are lots of ways to keep yourself working productively from any location.

A solo journey to 100k

Dracula PRO has hit 100K in sales — here's everything I learned along the way.

Common Nginx misconfigurations that leave your web server open to attack

Detectify Crowdsource has detected some common Nginx misconfigurations that, if left unchecked, leave your web site vulnerable to attack. Here’s how to find some of the most common misconfigurations before an attacker exploits them.

Super-Slim Docker Containers

A guide to reducing the size of your Docker images.

10 Software Engineering Laws Everybody Loves to Ignore

Worth to revise from time to time.

Speed is the killer feature

Phones in 2007 had the same features as the iPhone. The Palm Treo even had a touch screen. The difference was speed.

Elegant bash conditionals

The if-statement is a very basic thing, not just in bash, but in all of programming. I see them used quite a lot in shell scripts, even though in many cases they can be replaced with something much more elegant.

Don’t Deploy Applications with Terraform

Seriously, Terraform is not application deployment software. Some of you are already using Terraform in this way.

I Almost Got Fired for Choosing React in Our Enterprise App

React was supposed to ease our development. Instead, it created roadblocks.

Two Amazon Developers Created a $24.9 Billion Amazon Killer

How two average programmers created an e-commerce empire by imitating their former employer

Praca zdalna programisty w 2021. Wady i zalety pracy zdalnej w IT

– Nie ma co ukrywać, że praca zdalna potrafi rozleniwić i można stać się zbytnim domownikiem, co mi też zdarzyło się w pewnym okresie życia. Skoro można pracować z łóżka to po co z niego wstawać, po co przebierać się z piżamy, skoro całą dobę można spędzić w sypialni. A jak już człowiek jest cały dzień w piżamie, to przecież nie wyjdzie na zakupy, ani na siłownie, ani do ludzi – powiedział nam Grzegorz Krukowski, Programista z 15-letnim doświadczeniem.

Nie ma czegoś takiego jak dobry kod

Nauczyłem się, że mogę co najwyżej osiągnąć stan “dobrego kodu w obecnej sytuacji”.

What Remote Work Really Does To Your Engineering Productivity

With companies on lockdown, remote work is currently at the peak of its hype cycle. Leaders and managers are touting its efficiency and flexibility... The data-backed reality, however, offers a more nuanced perspective.

Unironically Using Kubernetes for my Personal Blog

There’s no shortage of posts like “Let’s use Kubernetes!” Now you have 8 problems, or Do I Really Need Kubernetes?, which tend to argue that unless you’re orchestrating 1000 containers, you’re good without Kubernetes.

Czy Developer może zostać DevOpsem? Historia Mateusza Lubańskiego

Mateusz po blisko sześciu latach pracy na stanowisku Backend Developera został DevOpsem. Nie była to łatwa decyzja, bo w organizacji, w której pracował, był pierwszą osobą na tym stanowisku. Brakowało więc wypracowanej kultury DevOpsa, a przede wszystkim świadomości współpracowników, w jaki sposób może im pomóc rozwiązywać problemy. O pracy DevOpsa rozmawialiśmy z Mateuszem Lubański, DevOps & Software Engineer w ICE Mortage Technology.

What a Year of WFH Has Done to Our Relationships at Work

More than a year into the Covid-19 pandemic and WFH, new research from Microsoft shows that employees and teams are becoming much more siloed. In particular, connections with people outside our immediate teams has shrunk dramatically, leading to fewer places to connect around innovative ideas and fewer opportunities to build social capital. Further, this trend is making employees feel lonely and isolated. To help address this issue, leaders should focus on being proactive about connecting employees across the organization, make space for connections outside official meetings, encourage and reward social support, and improve the structure of meetings.

SQLite is not a toy database

Whether you are a developer, data analyst, QA engineer, DevOps person, or product manager - SQLite is a perfect tool for you.

How to create a 1M record table with a single query

Let’s say you want to check how a query behaves on a large table - but there is no such table at hand. This is not a problem if your DBMS supports SQL recursion: lots of data can be generated with a single query. The WITH RECURSIVE clause comes to the rescue.

10 Infographics That Make You More Productive at Work

“Amateurs sit and wait for inspiration, the rest of us just get up and go to work,” wrote Stephen King.

Python

syntactic sugar

"In computer science, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express. It makes the language "sweeter" for human use: things can be expressed more clearly, more concisely, or in an alternative style that some may prefer." -- https://en.wikipedia.org/wiki/Syntactic_sugar

Poison packages – “Supply Chain Risks” user hits Python community with 4000 fake modules

In a supply chain attack, the crooks don’t break into your network and install the malware directly. Instead, they insert their malware upstream from you, implanting it into someone else’s network, repository or delivery mechanism and waiting for the infection to pass down the chain until it reaches you.

Pattern matching tutorial for Pythonic code

Structural pattern matching is coming in Python 3.10 and this article explores how to use it to write Pythonic code, showing the best use cases for the match statement.

Django

Exciting New Features in Django 3.2

A list of some new features in Django 3.2

Five Django Packages We Love at Monadica

One of the biggest draws to Django is its ecosystem. If you encounter a problem, the chances are that someone else in the community has too, and has been kind enough to abstract it into a package and release it.

Writing tests for the Django admin with pytest-django

Using the admin_client fixture.

Five Common Django Mistakes

When you’re starting out with Django, you can introduce subtle bugs due to lack of knowledge. I wrote this post partially for myself to reference in my professional development, but also to help illuminate some mistakes that I see.

Tools

Dracula Theme

A dark theme for many editors, shells, and more.

Watson

A wonderful CLI to track your time!

DockerSlim

Optimize Your Experience with Containers. Make Your Containers Better, Smaller, More Secure and Do Less to Get There (free and open source!)

dive

A tool for exploring a docker image, layer contents, and discovering ways to shrink the size of your Docker/OCI image.

kubectx

Faster way to switch between clusters and namespaces in kubectl.

Cloud

hcl2json

Easily convert between HCL, JSON, and YAML

Infrastructure as Code at Enterprise Scale: Identify the Right Approach for Your Organization

An in-depth look at the tools and guidelines to help scale your IaC approach.

pulumi

Modern Infrastructure as Code. Create, deploy, and manage infrastructure on any cloud using familiar programming languages and tools.

cdktf - CDK for Terraform

CDK (Cloud Development Kit) for Terraform allows developers to use familiar programming languages to define cloud infrastructure and provision it through HashiCorp Terraform.

Other stuff

The Architecture of Open Source Applications

Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well—usually programs they wrote themselves—and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's successes.

Our goal is to change that. In these two books, the authors of four dozen open source applications explain how their software is structured, and why. What are each program's major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to these books provide unique insights into how they think.

If you are a junior developer, and want to learn how your more experienced colleagues think, these books are the place to start. If you are an intermediate or senior developer, and want to see how your peers have solved hard design problems, these books can help you too.

howtodeal

How to Deal with Difficult People on Software Projects.

Why All My Servers Have an 8GB Empty File

On Linux servers it can be incredibly difficult for any process to succeed if the disk is full. Copy commands and even deletions can fail or take forever as memory tries to swap to a full disk and there's very little you can do to free up large chunks of space. But what if there was a way to free up a large chunk of space on disk right when you need it most? Enter the dd command.

Compare AWS and Azure services to Google Cloud

The table which lists generally available Google Cloud services and maps them to similar offerings in Amazon Web Services (AWS) and Microsoft Azure

Podcasts

Talk to my backend, czyli Miłosz Kusiciel o platformie chmurowej GCP

Jak wyglądają chmury z perspektywy Head of Technology? Żeby uzyskać odpowiedź na to pytanie, zwracamy się do… właśnie do Head of Technology. W czwartym odcinku FlyTalks Miłosz Kusiciel dzieli się doświadczeniami z 12-letniej współpracy z software house’m Merixstudio, a co za tym idzie, z tysiącami ambitnych specjalistów, setkami globalnych firm i dziesiątkami zagranicznych startupów technologicznych.

Videos

Linux Sucks 2021 - The End of Linux is Nigh

Top 10 Work from Home Productivity Tips [PART 1] | The Art of Remote Work Series

TechWorld with Nana - Kubernetes Tutorial for Beginners [FULL COURSE in 4 Hours]