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

Recent Posts

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 »
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 … 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 »
The 3 Applications of Hash Functions

The 3 Applications of Hash Functions What they are, what the options are, and why they matter

Image by Martin Thoma Hash functions take arbitrary many bytes as input and produce a fixed-length string as output. The string typically looks completely random, but the same input always generates the same output. They also typically produce different outputs for different inputs, but more about that later. After reading … Read More »
6 YAML Features most programmers don’t know

6 YAML Features most programmers don’t know Level-up your YAML knowledge to write cleaner YAML files

YAML is a file format commonly used for data serialization. There are a plethora of projects using YAML files for configuration, such as Docker-compose, pre-commit, TravisCI, AWS Cloudformation, ESLint, Kubernetes, Ansible, and many more. Knowing the features of YAML helps you with all of them. Let’s cover the basics … Read More »
Pre-commit hooks

Pre-commit hooks

pre-commit hooks are a mechanism of the version control system git. They let you execute code right before the commit. Confusingly, there is also a Python package called pre-commit which allows you to create and use pre-commit hooks with a way simpler interface. The Python package has a plugin-system to … Read More »
How to Test Flask Applications

How to Test Flask Applications

As a data scientist, I need to make my models accessible. I usually deploy models with Flask. As a software engineer, I want to make sure things work as expected by unit testing them. Unit Testing websites or web services is hard for multiple reasons: You have Code-within-Code like HTML … Read More »
Coding Fonts

Coding Fonts

The font choice for developing software is important. Developers read code all the time. This is an article I had for quite a while as a draft. As part of my yearly cleanup, I've published it without finishing it. It might not be finished or have other problems. Powerline Fonts … Read More »
Digital Process Automation

Digital Process Automation

Many people work a significant amount of their time in front of a computer today. And for many there are repetitive tasks. If the task is shared by many people, this is a chance to develop dedicated software for it. Tabular calculations (excel), writing documents (word), communicating (e-mail / chat software … Read More »
Python Shell autocomplete

Python Shell autocomplete

One feature I really miss in Pythons interactive shell is tab autocompletion. Thanks to blog.e-shell.org I know how to get it: >>> import rlcompleter, readline >>> readline.parse_and_bind('tab:complete') >>> smtplib. smtplib.CRLF smtplib.__getattribute__( smtplib.LMTP smtplib.__hash__( smtplib.LMTP_PORT smtplib.__init__( smtplib.OLDSTYLE_AUTH smtplib.__name__ smtplib.SMTP smtplib … 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