Month summary - May 2021

Posted by Tobiasz Kedzierski on 31.05.2021

May 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.

Articles

Use Google like a pro

Googling is one of the most important skills for every developer.

How to Learn Complex Things Quickly: A Guide

Cal Newport writes, “If you can’t learn, you can’t thrive.” New languages and platforms are launched, projects get new requirements, libraries and frameworks release new versions ⁠— in software, the only constant is change.

Best practices for writing SQL queries

This article covers some best practices for writing SQL queries for data analysts and data scientists.

5 things I learned while developing a billing system

No matter how easy or simple a problem area looks at first, there’s always a lot of depth, and a ton of questions that need answering.

Dropbox Atlas: Our journey from a Python monolith to a managed platform

In this post, we’ll explain why and how we developed and deployed Atlas, a platform which provides the majority of benefits of a Service Oriented Architecture, while minimizing the operational cost that typically comes with owning a service.

Common mental traps that produce poor time management

Often it seems that no matter how many to-do lists we write, no matter how much earlier we get up or how late we work, there just isn’t enough time in the day to do everything we want.

The 7 Types of Meetings That Should Always Be Async (and 4 That Shouldn’t)

The meetings that should absolutely be emails. Better yet, make them Twist threads.

5 Do’s and Don’ts To Setting Up Your Dream Home Office (With Inspirational Examples)

Check out these helpful tips and inspiration to create a dream home office you can’t wait to work in each day. No design skills or big budgets necessary.

The 10 Best Practices for Remote Software Engineering

This Viewpoint is intended for remote software engineers who are facing new challenges to thinking about routine, responsibility, and goal setting.

Nobody cares about your beautiful code

Often I see developers that seem to care more about writing clean and beautiful code just for the sake of it, completely forgetting the bigger picture, why they are doing it.

Safe ways to do things in bash

Like programming in C or driving a car, contemporary shellscript languages require some knowledge and discipline to use safely, but that's not to say it can't be done.

7 years of open-source database development: lessons learned

It was April 9th 2016, and I tagged my first official release of rqlite — two years after I actually started coding it. Since then there has been 58 releases, 277 closed issues, 416 closed pull requests, 32,785 insertions, 1954 deletions, and 100 files have changed.

Year in Review (2020) - William Vincent

But as part of closing the book on 2020, here’s a look at what I actually did do and then my goals for 2021 assuming the world resumes some sense of normalcy.

Clarity is an underrated skill

I think clarity of communication is one of the most underrated skills as a developer. If the ratio of reading code to writing code is 10:11 then the ratio of talking about code to writing code must be 100:1, especially the more senior you get.

When Do Programmers Retire? Is 35 the End?

Let’s talk about the truth, rumor, and endgame of programmers.

Why Decentralised Applications Don’t Work

TL;DR: Misaligned profit motives.

How We Use Ephemeral Test Environments in the Apache Superset Community

Apache Superset™ has a high volume of contributions and a growing number of contributors. As a popular open source project, the rate of change in the codebase is quite high. As the project matures, it's important to maintain a high quality bar and to prevent regressions from the growing number of contributions.

Using PostgreSQL as a Data Warehouse

With some tweaking Postgres can be a great data warehouse. Here's how to configure it.

Top Ten Git Tips & Tricks

Let's face facts. Git is not fun. Git is not friendly. No. It's just infuriatingly useful, so we're stuck with it. But what if you could make git more friendly? More convenient? Would that make your day a little less stressful? In this article, Julie Kent shows us how we can do this with just a few simple tweaks.

Python

What is Werkzeug?

This article explains what Werkzeug is and how Flask uses it for its core HTTP functionality.

Python Partials are Fun!

Writing reusable code is a good thing, right? The trick is to do so in a way that makes your life and those of others easier, but to do so in a very clear and maintainable way. Recently I've been playing around with Python's functools.partial function, which I've found can help facilitate writing reusable code.

Dynamic Variant Analysis with Python

Variant analysis is a technique that allows developers to find bugs or problems in the codebase that follow the same pattern or behaviour. In this post we explore how to use code instrumentation to achieve dynamic variant analysis.

Django

3 uses for functools.partial in Django

Python’s functools.partial is a great tool that I feel is underused.

Fluent in Django: Get to know Django models better

In the introductory Django tutorials, you usually create a Model with few basic fields, you mess with it in the View and show it in a template.

But Model is and can do so much more. It is the single, definitive source of information about your data. That means that all the logic about your data should be located in the Model (not in View as too often can be seen).

Fluent in Django: 8 Django template tags you should know

Django templating language (Django's default out-of-the-box templating language) comes with dozens of tags that make your template powerful and allows you to do many many things.

Effectively Using Django REST Framework Serializers

In this article, we'll look at how to use Django REST Framework (DRF) serializers more efficiently and effectively by example.

SQL, spotlight on Django problems

As backend developers, after years working high level we tend to forget about database efficiency and complexity because of either the ORM and the database.

Django libraries

django-rest-knox

Authentication Module for django rest auth.

Tools

jrnl

Collect your thoughts and notes without leaving the command line.

NocoDB - The Open Source Airtable Alternative

Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadsheet.

The Fuck

The Fuck is a magnificent app, inspired by a @liamosaur tweet, that corrects errors in previous console commands.

Cloud

The Cost of Cloud, a Trillion Dollar Paradox

There is no doubt that the cloud is one of the most significant platform shifts in the history of computing. Not only has cloud already impacted hundreds of billions of dollars of IT spend, it’s still in early innings and growing rapidly on a base of over $100B of annual public cloud spend.

Other stuff

awesome

Curated list of awesome lists.

GitHub Actions: Limit workflow run or job concurrency

GitHub Actions now supports a concurrency key at both the workflow and job level that will ensure that only a single run or job is in progress.

GitHub Actions: Maintainers must approve first time contributor workflow runs

GitHub actions will now require a collaborator with write access to take action to run workflows from first time users in pull requests.

Videos

DevX Conf

DevX Conf is about developer experience - a space where creators collaborate, listen, discuss and declutter our workflows, toolchains, and minds.

DjangoCon US 2018 - Finally Understand Authentication in Django REST Framework by William S. Vincent