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.