Month summary - November 2022

Posted by Tobiasz Kedzierski on 30.11.2022

November 2022

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

I created and maintain small private kubernetes cluster on Google Kubernetes Engine [GKE].

Articles

I Read 210 Books to Learn How to Grow My Business…Only These 4 Actually Helped

If I were starting my business all over again, I would buy only these four books and I wouldn’t hire any coaches or attend any seminars. I would just read them over and over and over again and apply everything I read into my business.

Photopea: The Free Photoshop Alternative Making Millions

Adobe Photoshop is the most popular image editing tool in the world. It's used by over 29 million people and has become a household name.

Advice for Junior Developers

The blog post mentions and links to many valuable concepts that you can explore further as you see fit.

50 Useful Vim Commands

Here are 50 useful Vim commands that work in normal mode. Many of these can be combined and modified to produce dozens more. Use these as inspiration for your own repeatable workflows.

Redis Explained - An in-depth tutorial

A deep technical dive into all things Redis. Covering various Redis topologies, data persistence and process forking.

Transakcje ACID

Powszechnie gwaranty bezpieczeństwa transakcji rozpatruje się w ujęciu czterech właściwości, które nie przypadkowo tworzą kwaśny akronim (ACID – Atomicity, Consistency, Isolation, Durability). Tak, jest w nim pewien zgrzyt, ale nie taki jak w jazzie – oczekiwany, dostrzegalny dopiero przy odpowiedniej dozie wrażliwości, powodujący gęsią skórę na potylicy i podróż gdzie przewodnikiem jest muzyk. Kwas w tym akronimie jest toksyczny jak siarkowy, jeszcze nie zabija, ale powoduje trwałe uszkodzenia – w postrzeganiu transakcji. Czas na rewizję tego skrótowca, by odrzucić toksyczne idee i destylować czyste zasady.

10 Mental Models for Learning Anything

A mental model is a general idea that can be used to explain many different phenomena. Supply and demand in economics, natural selection in biology, recursion in computer science, or proof by induction in mathematics — these models are everywhere once you know to look for them.

12 Factor App Revisited

The Twelve-Factor App methodology is a methodology for building software-as-a-service applications by Adam Wiggins. We cover how they have since evolved, and what we can learn from them today and how they changed the status quo of yesteryear.

Web Automation: Don't Use Selenium, Use Playwright

The killer feature of Playwright is: You can automatically generate tests by opening a web browser and manually running through the steps you want. It saves the hassle I faced with Selenium, where you were opening developer tools and finding the Xpath or similar. Yuck 🤮

GitHub stars won't pay your rent

Solve your own problem, everything else will follow.

The bubble has popped for unprofitable software companies

Ride the big money to the moon or die trying. Anyone interested in living on earth just don't have the vision or the courage to reach for infinity and beyond. Operating within your means, taking profits along the way, and aiming for a stable, long-term business is not just dismissed, but frowned upon.

Productivity

Skip the Digital Detox—Abstinence Won’t Work (But This Does)

So, the next time your weekly screen time summary makes you gasp in horror, don’t listen to the gut reaction to turn off your phone and hide it in a drawer. Let’s not moralize and medicalize the issue unnecessarily.

Instead, consider whether you’re spending time with your device in a way that matches your values, not the tech company’s.

Python

Generating memes and infographics with Pillow

Pillow is used for simple operations on images, like resizing, converting to other file formats, and so on. It also can be used to generate custom graphics like infographics or composites of multiple images - memes, infographics, and more. Let's take a look at how it can be done.

PyCon US 2022 - YouTube Playlist

Recordings from PyCon US 2022 in-person event in Salt Lake City, UT

Python 3.11: Cool New Features for You to Try

Python 3.11 was published on October 24, 2022. This latest version of Python is faster and more user-friendly. After seventeen months of development, it’s now ready for prime-time use.

Getting Started with Google APIs in Python

A crash course in using Python and Google APIs to automate all the things you do with Gmail, Google Drive, Calendar, or any other Google API.

Caching trick for Python web applications

I'd like to share a simple trick I use to reduce roundtrips pulling data from a cache server (like Redis or Kyoto Tycoon.

The right and wrong way to set Python 3 as default on a Mac

There are several ways to get started with Python 3 on macOS, but one way is better than the others.

Hexagonal architecture in Python

Let me show you a hands-on example using our lovely Python language (FastAPI example included).

Simple, sane, and sensible Logging in Python

If you’re not already using it, there’s a simple, powerful wrapper around Python’s Logging module called log2d that gives you access to all sorts of advanced features using a deceptively simple syntax. It’s literally all you need if you’re in the 80% of Developers who just want to adopt good logging practices quickly, using sensible default settings, without having to learn yet another peculiar syntax, and without having to store away long snippets of boiler-plate code which are too convoluted to be memorable.

Sentry: How we run our Python tests in hundreds of environments really fast

Supporting seven Python versions, and around twenty frameworks, and between 2 and 9 versions of each of those frameworks amounts to over 400 environments we run our tests in.

Parallel Nested For-Loops in Python

In this tutorial, you will discover how to change a nested for-loop to be concurrent or parallel in Python with a suite of worked examples.

Django

Django Performance Improvements - Part 4: Caching in Django Applications

In the first three parts of this series around improving performance in your Django applications, we focused on database, code optimization, and frontend optimization. In part 4, we will focus on ways to improve the speed of the Django applications.

How to Filter Django QuerySets – 15 Examples For Beginners

A tutorial on creating QuerySets with Django ORM and filtering the data. Includes how to convert QuerySets into lists.

RealPython: Deploy a Django App With Gunicorn and Nginx [paywall]

Taking a Django app from development to production is a demanding but rewarding process. In this video course, you’ll go through that process step by step. You’ll start at square one with a no-frills Django application then add in Gunicorn, Nginx, and domain registration. After working through this video course, you’ll be better equipped to take your Django app into production and serve it to the world.

Python libraries

Typer

Typer, build great CLIs. Easy to code. Based on Python type hints.

Tools

Mock Turtle

As software engineers we probably all faced situations where mock JSON data is required for testing. But making mock JSON data is an extremely tedious task that requires a lot of code. Therefore, we created this generator to make generating random JSON data more convenient.

Hari Sekhon - DevOps Python Tools

80+ DevOps & Data CLI Tools.

Hari Sekhon - DevOps Bash Tools

800+ DevOps Bash Scripts.

jaeger

Jaeger, inspired by [Dapper][dapper] and OpenZipkin, is a distributed tracing platform created by [Uber Technologies][ubeross] and donated to Cloud Native Computing Foundation.

Cloud

What’s new in Cloud Run 2022

Top 5 problems that Cloud Run solved for me in 2022.

2022 Google Cloud Professional Cloud Developer Certification Review

TL;DR — I highly recommend this certification for anyone looking to validate their knowledge on what it takes to develop and deploy modern applications on GCP.

Google Cloud Region Picker

This tool helps you pick a Google Cloud region considering carbon footprint, price and latency.

CloudFront vs Cloudflare, and how to reduce response times for both by ~35%+

A few months ago we started working with a company operating in Singapore and Hong Kong that’s using Foxy to expand their online services in the grocery and restaurant industries. Foxy was a perfect fit, but they were finding our API far too slow to meet their needs.

GCPinstances.info

Easy GCP Compute Engine Instance Comparison

Other stuff

monorepo.tools

Everything you need to know about monorepos, and the tools to build them.

Open Library

The ultimate goal of the Open Library is to make all the published works of humankind available to everyone in the world.

musicforprogramming.net

To be fully engaged in your own creative or logical challenges, while at the same time fully on board the emotional rails of the musical ideas of another person can make for an experience not dissimilar to meditation — but rather than focussing on the simplicity of nothingness while swatting away introspective daydreams, you are engulfed in enough complexity to cause introspective daydreams to burn up on re-entry.

Podcasts

Internet. Czas działać!

„Internet. Czas działać!” to podcast, z którego dowiecie się, jak internetowe technologie wpływają na społeczeństwo i jak być ich świadomym konsumentem.

Videos

PyCon US 2022

Recordings from PyCon US 2022 in-person event in Salt Lake City, UT

Jakub Nabrdalik - Things that work for me so well I cannot believe you are not using it

"A Hipster History of CORS" by Devdatta Akhawe (Strange Loop 2022)

PyCon US 2022 - Sam Scott: Why Authorization is Hard

OpenTelemetry: The Vision, Reality, and How to Get Started - Dotan Horovits, Logz.io

When To Use Microservices (And When Not To!) • Sam Newman & Martin Fowler • GOTO 2020