ups and downs
Month summary - December 2021
Month summary · Issue of December 2021

Month summary — December 2021

Fri 31 Dec 20217 min read34 links

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.

Quoted from the source

01Some thoughts

Blog

Last month I stumbled upon the Jack De Winter blog where he published a few articles about Pelican, a static website generator written in Python which powers my blog as well. Inspired by those articles I made some improvements, like:

  • enabling website crawling
  • adding a RSS channel
  • small styling improvements

I also wrote some small sloppy Python script which verifies all links on the website (there may be some typos or pages that were turned down etc.). I had a good time playing with configuration and scripting.

Posts

I published two blog posts this month:

  • Productivity course - this post waited in the queue for a few months to be published
  • Django application on Google Cloud Platform - the idea for this post was born in 2020, however since so many unexpected things happened last year it was not the highest priority to complete it. I published it successfully this year.

Presentation: Terraform

While working on Django application on Google Cloud Platform I spent some time playing with Terraform. Since I like it very much, it led me to this thought: why not make some small presentation about it? I contacted folks from Brival, agreed on the date, and it went pretty well in my opinion. I not only described some theory but also spun up and tore down some examples of infrastructure on GCP. It was pretty nice to meet with people, and I had a good time giving the talk. Cheers and Happy Terraforming.

Brival Tech Talk - Terraform

02Articles

9 links
iamjonas.me

How to read a code

More common is to be thrown into an ongoing project. Or even more common is to be added to a project because key personnel left. With no time for handover. So how do you get up to speed and make changes with confidence then?

iamjonas.me

Overview mode

were not spending enough time upfront explicitly stating and understanding what the problem we’re solving really is. Once well understood we can then propose a solution and assessing whether that solution actually solves the proposed problem. It involves writing things down. A lot.

listennotes.com

The boring technology behind a one-person Internet company - The Official Listen Notes Blog

After reading this post, you should be able to replicate what I build for Listen Notes or easily do something similar. You don’t need to hire a lot of engineers.

iamjonas.me

Want to be great? Know a lot

To become better you need to know what’s out there. You need to turn the unknown unknowns into known unknowns.

adamj.eu

The Well-Maintained Test: 12 Questions for New Dependencies

Joel Spolsky’s infamous Joel Test is a quick heuristic test for checking a software engineering team’s technical chops. I’ve come up with a similar test that we can use to decide whether a new package we’re considering depending on is well-maintained.>

joelonsoftware.com

The Joel Test: 12 Steps to Better Code

I’ve come up with my own, highly irresponsible, sloppy test to rate the quality of a software team.

regebro.wordpress.com

Unconfusing Unicode: What is Unicode?

Unicode can be very confusing and I see a lot of questions and problems based on the same misconceptions.

jpetazzo.github.io

~jpetazzo/Anti-Patterns When Building Container Images

This is a list of recurring anti-patterns that I see when I help folks with their container build pipelines, and suggestions to avoid them or refactor them into something better.

themarginalian.org

Against the Trap of Efficiency: The Counterintuitive Antidote to the Time-Anxiety That Haunts and Hampers Our Search for Meaning

Productivity is a trap. Becoming more efficient just makes you more rushed, and trying to clear the decks simply makes them fill up again faster… Since finitude defines our lives… living a truly authentic life — becoming fully human — means facing up to that fact.”

By Maria Popova

03Python

7 links
cushychicken.github.io

Writing Simple Python GUIs for your Command-Line-Phobe Coworkers

Why add a GUI? Simple: your coworkers know GUIs, and they love GUIs. They love them, even if they’ve never heard the term “GUI” and don’t know what “GUI” means.

jackdewinter.github.io

Fine Tuning Pelican: Enabling Website Crawling

It is worthwhile to ensure that the website is properly set up to regulate any web crawling that does occur. This article details the setup required to enable this regulation.

fluentpython.com

Internals of sets and dicts

Understand how Python dictionaries and sets are built with hash tables to make sense of their strengths and limitations.

blog.jonlu.ca

Writing fast async HTTP requests in Python

I do a lot of web scraping in my spare time, and have been chasing down different formats and code snippets to make a large amount of network requests locally, with controls for rate limiting and error handling.

guicommits.com

Handling exceptions in Python like a PRO 🐍 💣

One of the downsides of a flexible language like python is that people often assume that as long as something works then it’s probably the proper way of doing so. I would like to write this humble guide on how to effectively use python exceptions and how to handle exceptions and log them correctly.

guicommits.com

Structuring exceptions in Python like a PRO 🐍 🏗️ 💣

Given now you know how to properly handle your exceptions with Tryceratops 🦖 help, the next step is to structure them effectively so you can scale and reuse them.

glyph.twistedmatrix.com

The One Python Library Everyone Needs

Use attrs. Use it. Use it for everything.

04Django

1 link
confuzeus.com

The definitive guide to modeling polymorphism in Django

Polymorphism allows you to use one type of object to work with multiple kinds of data. Django makes it super easy to model your database, including polymorphism. However, it also makes it too easy to design a poor performing database.

05Python libraries

3 links
github.com

sitemap - Pelcian plugin

Generates a site map for Pelican-powered sites.

github.com

attrs

attrs is the Python package that will bring back the joy of writing classes by relieving you from the drudgery of implementing object protocols (aka dunder methods).

github.com

cluegen

Cluegen is a library that allows you to define data classes using Python type clues.

06Cloud

1 link
guicommits.com

AWS Organizations with Terraform Workspaces

How to use AWS Organizations to your advantage with meaningful examples, and how to use terraform to manage it and replicate resources across them.

07Other stuff

5 links
github.com

Awesome-Selfhosted

A list of Free Software network services and web applications which can be hosted on your own servers.

github.com

joplin

Joplin - an open source note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS.

github.com

ALL about RSS

A list of RSS related stuff: tools, services, communities and tutorials, etc.

github.com

adamchainz/mac-ansible

Configuring my mac with Ansible

harmful.cat-v.org

cat -v harmful stuff

Encyclopedia of things considered harmful.

08Podcasts

4 links
porozmawiajmyoit.pl

Porozmawiajmy o IT #143: Pasja informatyki

Dziś moim gościem jest Mirosław Zelent – programista freelancer, nauczyciel, współtwórca kanału Pasja informatyki na YouTube, podcaster. Fan filozofii, psychologii, rozwoju i ludzi.

darknetdiaries.com

Darknet Diaries: EP 101: Lotería

In 2014 the Puerto Rico Lottery was mysteriously losing money. Listen to this never before told story about what happened and who did it.

realpython.com

The Real Python Podcast - Episode 90: A Python Journey: Cyber Security, Automating AWS, and TDD

Hugh has a background in programming C and Perl and started to use Python in a cyber security job. He explains the way he used Python to search for malware. Hugh provides some suggestions for security packages and tools.

09Videos

4 links
youtube.com

Travis Fischer, Esther Nam: Character encoding and Unicode in Python - PyCon 2014

Playback on other websites has been disabled by the video owner. Watch on YouTube

youtube.com

Hammock Driven Development - Rich Hickey

Playback on other websites has been disabled by the video owner. Watch on YouTube

youtube.com

HS Talks w Hackerspace Silesia! #2

YouTube · plays here