• Martin Thoma
  • Home
  • Categories
  • Tags
  • Archives
  • Support me

Recent Posts

ReDoS — Denial of Service by RegEx 😈

ReDoS — Denial of Service by RegEx 😈

A redos example Regular expressions (RegEx) are a formal language to define simple patterns. It is commonly used to find interesting parts within a larger body of text or to validate data. It is typically fast and sometimes a clean solution. However, in some cases, an attacker can craft input … Read More »
9 Clean Code Patterns I wish I knew earlier

9 Clean Code Patterns I wish I knew earlier

Do you know the feeling when you look back at code which you wrote early in your career? I always feel a bit horrified. But there is a positive side to it: I learned something new 😄 A core part of good software is readability. Keeping the mental complexity low so … Read More »
Python 3.10 is Released

Python 3.10 is Released

Photo by Vraj Shah from pexels and Mike from pexels, edited by Martin Thoma Python 3.10 was released on the 4th of October 2021 according to PEP 619. Let’s see what’s in store for us. Type Annotations I absolutely love type annotations. Since Python 3.6, they … Read More »
Is it worth changing the Lightbulb?

Is it worth changing the Lightbulb? Switching for a more efficient lightbulb for economic reasons

A rough estimation how much energy the four different types of lamps use to get a specific brightness. The old incandescent lamps are clearly the worst. Interestingly, LEDs get manufactured also for very low brightness lamps. This image was created by Martin Thoma. The light bulb images were created by … Read More »
Bundestagswahl 2021

Bundestagswahl 2021

Die Bundestagswahl 2021 findet am 26. September 2021 statt. In diesem Artikel ordne ich ein paar Gedanken dazu. Themen Seit März 2020 dominiert die COVID-19-Pandemie das Weltgeschehen. Spätestens seit 2005 mit dem Kyoto-Protokoll muss auch jedem Politiker klar sein, dass die globale Erwärmung ein riesiges Problem ist: 216 Millionen Klima-Flüchtlinge … Read More »
Blockchain 101

Blockchain 101 Transactions, Blocks, Consensus, Protocols, and Networks

Photo by Dmitry Demidko on Unsplash Bitcoin and Ethereum made it to the news in 2021 due to all-time high price records. People know that they somehow are related to “the blockchain”, but very often the knowledge is rather fuzzy. During the onboarding process at my new job at Cashlink … Read More »
Hooks vs Callbacks vs Webhooks

Hooks vs Callbacks vs Webhooks How do I use them and where is the difference?

Photo by Dan-Cristian Pădureț The Unix programming philosophy is to do (just) one thing but do it well. Focusing on one core task is hard as developers see and feel their users' pain points and desires. To be able to focus on the core product but allow additional functions we … Read More »
Synchronous vs Asynchronous vs Concurrent vs Parallel

Synchronous vs Asynchronous vs Concurrent vs Parallel What is the difference and why does it matter?

Photo by Edurne Chopeitia on Unsplash We developers like to throw around terms that feel natural to us, but are technical terms that most non-developers don’t use in the same way. This article is aimed at all the poor souls who have to deal with us, e.g. product … Read More »
10 Robustness and Resiliency Design Patterns to Learn Today

10 Robustness and Resiliency Design Patterns to Learn Today

Software is correct if it acts as specified. It is robust if it can take a high load until it goes down. Software is resilient if it can go back to normal after a disruption. The disruption could be a power outage, a temporary network outage, a full disk, or … Read More »
How to use GPG

How to use GPG Send and receive encrypted messages

Having full control over encrypted messages is sometimes just nice and crucial in other situations and/or places in the world. GPG, the Gnu Privacy Guard, is a commonly used tool to encrypt, decrypt, and sign secrets. After reading this article, you will know how to use GPG. Let’s … Read More »
  • Martin Thoma - A blog about Code, the Web and Cyberculture
  • E-mail subscription
  • RSS-Feed
  • Privacy/Datenschutzerklärung
  • Impressum
  • Powered by Pelican. Theme: Elegant by Talha Mansoor