all written video podcast

  • 10 Examples Why cURL is an Awesome CLI Tool - Martin Heinz

    10 Examples Why cURL is an Awesome CLI Tool - Martin Heinz

    2024-06-25
    Whether you're developer, DevOps engineer, SysAdmin, QA or in any other technical role, you're surely familiar with cURL - _the command line tool and library for transferring data with URLs_ (as described in docs). ...
  • A Guide to Python's Weak References Using weakref Module - Martin Heinz

    A Guide to Python's Weak References Using weakref Module - Martin Heinz

    2024-06-25
    Chances are that you never touched and maybe haven't even heard about Python's `weakref` module. While it might not be commonly used in your code, it's fundamental to inner workings of many libraries, frameworks and even...
  • Recent Docker BuildKit Features You're Missing Out On - Martin Heinz

    Recent Docker BuildKit Features You're Missing Out On - Martin Heinz

    2024-05-13
    Learn how to use BuildKit - the improved builder backend for Docker - that adds many new features to Docker, including new Dockerfile syntax, built-in debugger and more...
  • Shell History Is Your Best Productivity Tool - Martin Heinz

    Shell History Is Your Best Productivity Tool - Martin Heinz

    2024-04-09
    If you work in shell/terminal often enough, then over time the history will become your personal knowledge vault, documentation and command reference. Being able to use this personal documentation efficiently can hugely boost your ...
  • Modern Git Commands and Features You Should Be Using - Martin Heinz

    Modern Git Commands and Features You Should Be Using - Martin Heinz

    2024-03-04
    All of us - software engineers - use git every day, however most people only ever touch the most basic of commands, such as "add", "commit", "push" or "pull", like it's still 2005. Git however,...
  • Everything You Can Do with Python's textwrap Module - Martin Heinz

    Everything You Can Do with Python's textwrap Module - Martin Heinz

    2024-02-07
    Python has many options for formatting strings and text, including f-strings, `format()` function, templates and more. There's however one module that few people know about and it's called `textwrap`. This module is...
  • Monitoring Indoor Air Quality with Prometheus, Grafana and a CO2 Sensor - Martin Heinz

    Monitoring Indoor Air Quality with Prometheus, Grafana and a CO2 Sensor - Martin Heinz

    2024-01-02
    Low indoor air quality - or high CO2 - negatively impacts cognitive performance, causes headaches, drowsiness and more. It's easy to fix though, just use a CO2 sensor and open a window from time-to-time. But why stop there, when...
  • Everything You Can Do with Python's bisect Module - Martin Heinz

    Everything You Can Do with Python's bisect Module - Martin Heinz

    2023-11-08
    While Python's `bisect` module is very simple - containing really just 2 functions - there's a lot one can do with it, including searching data efficiently, keeping any data sorted, and much more - and in this article we will...
  • You Don't Need a Dedicated Cache Service - PostgreSQL as a Cache - Martin Heinz

    You Don't Need a Dedicated Cache Service - PostgreSQL as a Cache - Martin Heinz

    2023-10-02
    PostgreSQL can be more than just an SQL database. Why maintain a Redis or Memcached instance when you can just use PostgreSQL as a cache instead?
  • A Collection of Docker Images To Solve All Your Debugging Needs - Martin Heinz

    A Collection of Docker Images To Solve All Your Debugging Needs - Martin Heinz

    2023-09-04
    Whenever I troubleshoot anything container-related, I look for a good container image that contains all the right tools to troubleshoot and/or solve the problem. However, finding such an image, or assembling my own is time-consuming...
  • Weird Python

    Weird Python "Features" That Might Catch You By Surprise - Martin Heinz

    2023-08-14
    From time to time, when coding, we all run into weird behaviours of the programming language. Sometimes it's a "feature" we weren't aware of, sometimes it's just quirky behaviour of the language, and sometimes...
  • Lessons Learned From Writing 100 Articles - Martin Heinz

    Lessons Learned From Writing 100 Articles - Martin Heinz

    2023-08-01
    Couple days ago, I published my 100th article, so I feel like it’s time for reflections — looking at how I got there, what I learned along the way and whether it was actually worth the time and effort. As well as some thoughts on ...
  • Debugging Crashes and Deadlocks in Python using PyStack - Martin Heinz

    Debugging Crashes and Deadlocks in Python using PyStack - Martin Heinz

    2023-07-17
    There are certain bugs and issues that are very hard to troubleshoot. Just ask yourself, _"How would I debug deadlock, segmentation fault, crashing application, or a hanging process?" _ Now there's a tool to...
  • Goodbye etcd, Hello PostgreSQL: Running Kubernetes with an SQL Database - Martin Heinz

    Goodbye etcd, Hello PostgreSQL: Running Kubernetes with an SQL Database - Martin Heinz

    2023-07-03
    etcd is the brain of every Kubernetes cluster, the key-value storage keeping track of all the objects in a cluster. It's intertwined and tightly coupled with Kubernetes, and it might seem like an inseparable part of a cluster, or...
  • Remote Interactive Debugging of Python Applications Running in Kubernetes - Martin Heinz

    Remote Interactive Debugging of Python Applications Running in Kubernetes - Martin Heinz

    2023-06-19
    Let's imagine a situation - you have multiple Python applications running on Kubernetes that interact with each other. There's bug that you can't reproduce locally, but it surfaces everytime you hit a particular API...
  • The Right Way to Run Shell Commands From Python - Martin Heinz

    The Right Way to Run Shell Commands From Python - Martin Heinz

    2023-06-05
    Python is a popular choice for automating anything and everything, that includes automating system administration tasks or tasks that require running other programs or interacting with operating system. There are however, many ways to ...
  • Real Multithreading is Coming to Python - Learn How You Can Use It Now - Martin Heinz

    Real Multithreading is Coming to Python - Learn How You Can Use It Now - Martin Heinz

    2023-05-14
    Python is 32 years old language, yet it still doesn't have proper, true parallelism/concurrency. This is going to change soon, thanks to introduction of a "Per-Interpreter GIL" (Global Interpreter Lock) which will land in...
  • Python's Missing Batteries: Essential Libraries You're Missing Out On - Martin Heinz

    Python's Missing Batteries: Essential Libraries You're Missing Out On - Martin Heinz

    2023-05-01
    Python is known to come with "batteries included", thanks to its very extensive standard library, which includes many modules and functions that you would not expect to be there. However, there are many more "essential"...
  • Kubernetes-Native Synthetic Monitoring with Kuberhealthy - Martin Heinz

    Kubernetes-Native Synthetic Monitoring with Kuberhealthy - Martin Heinz

    2023-04-17
    When it comes to synthetic testing, engineers often rely on 3rd party platforms such as Datadog or New Relic that provide this type of monitoring. If you're running your applications and services on Kubernetes though, you can spin...
  • Make Your CLI Demos a Breeze with Zero Stress and Zero Mistakes - Martin Heinz

    Make Your CLI Demos a Breeze with Zero Stress and Zero Mistakes - Martin Heinz

    2023-04-03
    Running live demos can be stressful. You know what you want to say and show. You prepare the CLI commands you want to run to best showcase what you've built, but then you waste time typing long commands; you make typos; the...
  • Reduce - The Power of a Single Python Function - Martin Heinz

    Reduce - The Power of a Single Python Function - Martin Heinz

    2023-03-20
    While Python is not a pure functional programming language, you still can do a lot of functional programming in it. In fact, just one function - `reduce` - can do most of it and in this article I will show you all the things one can do...
  • Why I Will Never Use Alpine Linux Ever Again - Martin Heinz

    Why I Will Never Use Alpine Linux Ever Again - Martin Heinz

    2023-03-06
    Nowadays, Alpine Linux is one of the most popular options for container base images. Many people (maybe including you) use it for anything and everything. Some people use it because of its small size, some because of habit and some,...
  • Cgroups - Deep Dive into Resource Management in Kubernetes - Martin Heinz

    Cgroups - Deep Dive into Resource Management in Kubernetes - Martin Heinz

    2023-02-20
    There's a lot of "magic" that happens behind the scenes to make whole Kubernetes work. One of those is resource management and resource allocation done by Linux cgroups. In this article we will take a deep...
  • Dictionary Dispatch Pattern in Python - Martin Heinz

    Dictionary Dispatch Pattern in Python - Martin Heinz

    2023-02-01
    Have you ever written a long chain of if/else statements or a huge match/case block, with all statements just matching against a list of values, and wondered how could you make it more concise and readable? If so, then...
  • Boost Your Python Application Performance using Continuous Profiling - Martin Heinz

    Boost Your Python Application Performance using Continuous Profiling - Martin Heinz

    2023-01-17
    Continuous profiling is a great tool for optimizing the performance of applications. It allows us to continuously monitor and analyze application's resource usage, identify bottlenecks, and use resources more efficiently. In this...
  • Lazy Evaluation Using Recursive Python Generators - Martin Heinz

    Lazy Evaluation Using Recursive Python Generators - Martin Heinz

    2023-01-04
    We all are familiar with Python's generators and all their benefits. But, what if I told you that we can make them even better by combining them with recursion? So, let's see how we can use them to implement _"lazy...
  • Python Magic Methods You Haven't Heard About - Martin Heinz

    Python Magic Methods You Haven't Heard About - Martin Heinz

    2022-12-14
    Python's magic methods - also known as _dunder_ (double underscore) methods - can be used to implement a lot of cool things. Most of the time we use them for simple stuff, such as constructors (`__init__`), string representation ...
  • Getting Started with Mastodon API in Python - Martin Heinz

    Getting Started with Mastodon API in Python - Martin Heinz

    2022-11-29
    With what's happening at Twitter, many people are considering moving to Mastodon. Like Twitter, Mastodon also offers an API that can be used to create many useful application, bots, to analyze data, respond to notification or...
  • Backup-and-Restore of Containers with Kubernetes Checkpointing API - Martin Heinz

    Backup-and-Restore of Containers with Kubernetes Checkpointing API - Martin Heinz

    2022-11-15
    Kubernetes v1.25 introduced Container Checkpointing API as an alpha feature. This provides a way to backup-and-restore containers running in Pods, without ever stopping them. This feature is primarily aimed at forensic...
  • Getting Started with Google APIs in Python - Martin Heinz

    Getting Started with Google APIs in Python - Martin Heinz

    2022-11-01
    Google has literally hundreds of APIs, including ones for Gmail, Drive, Maps, Translation, Analytics and more. All of these share the same concepts like authorization, pagination or media uploads/downloads. In this article we will...
  • Python CLI Tricks That Don't Require Any Code Whatsoever - Martin Heinz

    Python CLI Tricks That Don't Require Any Code Whatsoever - Martin Heinz

    2022-10-17
    Out-of-the-box, Python standard library ships with many great libraries some of which provide commandline interface (CLI), allowing us to do many cool things directly from terminal without needing to even open a `.py` file. ...
  • All The Ways To Introspect Python Objects at Runtime - Martin Heinz

    All The Ways To Introspect Python Objects at Runtime - Martin Heinz

    2022-10-04
    Python provides a lot of ways to ask questions about your code. Whether it's basic things like `help()` function, builtin functions like `dir()` or more advanced methods in `inspect` module - the tools are there to help you find...
  • What is Python's

    What is Python's "self" Argument, Anyway? - Martin Heinz

    2022-09-19
    Every Python developer is familiar with the `self` argument, which is present in every* method signature of every class. We all know how to use it, but do you _really_ know what it is, why it's there and how it works under the hood?
  • Python List Comprehensions Are More Powerful Than You Might Think - Martin Heinz

    Python List Comprehensions Are More Powerful Than You Might Think - Martin Heinz

    2022-09-05
    Python's list comprehensions (and generators) are an awesome feature that can greatly simplify your code. Most of the time however, we only use them to write a single `for` loop, maybe with addition of one `if` conditional and...
  • You Should Be Using Python's Walrus Operator - Here's Why - Martin Heinz

    You Should Be Using Python's Walrus Operator - Here's Why - Martin Heinz

    2022-08-15
    The assignment operator - or "walrus operator" as we all know it - is a feature that's been in Python for a while now (since 3.8), yet it's still somewhat controversial and many people have unfounded hate for it. ...
  • Recipes and Tricks for Effective Structural Pattern Matching in Python - Martin Heinz

    Recipes and Tricks for Effective Structural Pattern Matching in Python - Martin Heinz

    2022-08-02
    The `match`/`case` syntax that got introduced to Python in 3.10 looks like basic `switch` statement which we all know from other languages - in Python however - it's much more than just an alternative `if` syntax. So, let's...
  • It's Time to Say Goodbye to These Python Libraries - Martin Heinz

    It's Time to Say Goodbye to These Python Libraries - Martin Heinz

    2022-07-20
    With every Python release, there are new modules being added and new and better ways of doing things get introduced. We all get used to using the good old Python libraries, but it's time say goodbye to `os.path`, `random`, ...
  • Advanced Features of Kubernetes' Horizontal Pod Autoscaler - Martin Heinz

    Advanced Features of Kubernetes' Horizontal Pod Autoscaler - Martin Heinz

    2022-07-04
    Scaling application on Kubernetes using _Horizontal Pod Autoscaler (HPA)_ based on their CPU or memory usage is pretty simple. There are however many more features of HPA that you can use to customize scaling behaviour of your ...
  • Data and System Visualization Tools That Will Boost Your Productivity - Martin Heinz

    Data and System Visualization Tools That Will Boost Your Productivity - Martin Heinz

    2022-06-13
    As files, datasets and configurations grow, it gets increasingly difficult to navigate them. There are however many tools out there, that can help you to be more productive when dealing with large JSON and YAML files, complicated...
  • Stop Messing with Kubernetes Finalizers - Martin Heinz

    Stop Messing with Kubernetes Finalizers - Martin Heinz

    2022-06-01
    We've all been there - it's frustrating seeing deletion of Kubernetes resource getting stuck, hang or take a very long time. You might have _"solved"_ this using the terrible advice of removing finalizers or running...
  • Automate All the Boring Kubernetes Operations with Python - Martin Heinz

    Automate All the Boring Kubernetes Operations with Python - Martin Heinz

    2022-05-17
    In this article we take look at how you can leverage Kubernetes Python Client library to automate whatever annoying Kubernetes task you might be dealing with, whether it's creating/patching resources, watching events, accessing...
  • End-to-End Monitoring with Grafana Cloud with Minimal Effort - Martin Heinz

    End-to-End Monitoring with Grafana Cloud with Minimal Effort - Martin Heinz

    2022-05-02
    Monitoring is usually at the end of a checklist when building an application, yet it's crucial for making sure that it's running smoothly and that any problems are found and resolved quickly. Building complete...
  • Goodbye, Google Analytics - Why and How You Should Leave The Platform - Martin Heinz

    Goodbye, Google Analytics - Why and How You Should Leave The Platform - Martin Heinz

    2022-04-19
    With the recent events relating to _Google Analytics_ platform, it's becoming very clear that the time has come for many of us to migrate from Google Analytics to different platforms. In this article we will go over...
  • Python f-strings Are More Powerful Than You Might Think - Martin Heinz

    Python f-strings Are More Powerful Than You Might Think - Martin Heinz

    2022-04-04
    Formatted string literals - also called _f-strings_ - have been around since Python 3.6, so we all know what they are and how to use them. There are however some facts and handy features of f-string that you might not know about. So, ...
  • Ultimate CI Pipeline for All of Your Python Projects - Martin Heinz

    Ultimate CI Pipeline for All of Your Python Projects - Martin Heinz

    2022-03-15
    Every project can benefit from a robust continuous integration pipeline that builds your application, runs tests, lints code, verifies code quality, runs vulnerability analysis and more. However, building such pipeline takes a...
  • Optimizing Memory Usage in Python Applications - Martin Heinz

    Optimizing Memory Usage in Python Applications - Martin Heinz

    2022-02-28
    When it comes to performance optimization, people usually focus only on speed and CPU usage. Rarely is anyone concerned with memory consumption, well, until they run out of RAM. There are many reasons to try to limit memory usage, not ...
  • Upcoming Python Features Brought to You by Python Enhancement Proposals - Martin Heinz

    Upcoming Python Features Brought to You by Python Enhancement Proposals - Martin Heinz

    2022-02-14
    Before any new feature, change or improvement makes it into Python, there needs to be a _Python Enhancement Proposal_, also knows as PEP, outlining the proposed change. These PEPs are a great way of getting the freshest info about ...
  • Creating Beautiful Tracebacks with Python's Exception Hooks - Martin Heinz

    Creating Beautiful Tracebacks with Python's Exception Hooks - Martin Heinz

    2022-02-01
    We all spend a good chuck of our time debugging, sifting through logs or reading tracebacks. Each of these can be difficult and time-consuming and in this article we will focus on making the last one - dealing with tracebacks and ...
  • Building GitHub Apps with Golang - Martin Heinz

    Building GitHub Apps with Golang - Martin Heinz

    2022-01-18
    If you're using GitHub as your version control system of choice then GitHub Apps can be incredibly useful for many tasks including building CI/CD, managing repositories, querying statistical data and much more. In this article we...
  • Profiling and Analyzing Performance of Python Programs - Martin Heinz

    Profiling and Analyzing Performance of Python Programs - Martin Heinz

    2022-01-04
    Profiling is integral to any code and performance optimization. Any experience and skill in performance optimization that you might already have will not be very useful if you don't know where to apply it. So, in this article we ...
  • Improving Application Availability with Pod Readiness Gates - Martin Heinz

    Improving Application Availability with Pod Readiness Gates - Martin Heinz

    2021-12-14
    Making sure your application running in Kubernetes is available and ready to serve traffic can be very easy with _Pod_ liveness and readiness probes. However, not all application are built to be able to use probes or in some cases ...
  • Exploring Google Analytics Realtime Data with Python - Martin Heinz

    Exploring Google Analytics Realtime Data with Python - Martin Heinz

    2021-11-29
    Google Analytics can provide a lot of insight into traffic and about users visiting your website. A lot of this data is available in nice format in web console, but what if you wanted to build your own diagrams and visualizations, ...
  • Speeding Up Container Image Builds with Remote Cache - Martin Heinz

    Speeding Up Container Image Builds with Remote Cache - Martin Heinz

    2021-11-15
    Building images in CI/CD pipeline can be quite different from builds on local machine. One major difference is availability of cache. In the local environment you most likely have all the resources, dependencies and image layers...
  • Keeping Kubernetes Clusters Clean and Tidy - Martin Heinz

    Keeping Kubernetes Clusters Clean and Tidy - Martin Heinz

    2021-11-01
    As your cluster grows, so does the number of resources, volumes or other API objects and sooner or later you will reach the limits somewhere. Whether its `etcd`, volumes, memory or CPU. Why subject yourself to unnecessary pain and...
  • Secure Password Handling in Python - Martin Heinz

    Secure Password Handling in Python - Martin Heinz

    2021-10-17
    Almost every application requires some form of authentication, password handling or use of secure credentials such as API keys. You might not be security expert, but you should know how to deal with all of these securely to keep your ...
  • Making Kubernetes Operations Easy with kubectl Plugins - Martin Heinz

    Making Kubernetes Operations Easy with kubectl Plugins - Martin Heinz

    2021-10-01
    kubectl is powerful tool that allows you to perform literally any and all Kubernetes-related tasks. Some of these common tasks however, can be quite clunky or might include many steps that might take considerable time to perform. In...
  • All The Ways to Compress and Archive Files in Python - Martin Heinz

    All The Ways to Compress and Archive Files in Python - Martin Heinz

    2021-09-13
    Whether it's basics like `tar` and `zip`, specific tools or formats such as `gzip` and `bz2` or even more exotic formats like `lzma`, Python standard library has it all. With all these modules and options, deciding what might be...
  • Signing Software The Easy Way with Sigstore and Cosign - Martin Heinz

    Signing Software The Easy Way with Sigstore and Cosign - Martin Heinz

    2021-09-01
    A hands-on, practical guide to signing software artifacts the easy way with sigstore project and cosign CLI
  • Sigstore: A Solution to Software Supply Chain Security - Martin Heinz

    Sigstore: A Solution to Software Supply Chain Security - Martin Heinz

    2021-08-16
    Everything you need to know about sigstore project and its role in software supply chain security
  • Could Kubernetes Pods Ever Become Deprecated? - Martin Heinz

    Could Kubernetes Pods Ever Become Deprecated? - Martin Heinz

    2021-07-15
    Could resources such as Pods, Services or Deployments ever become deprecated and be removed from Kubernetes and how would that happen?
  • Functools - The Power of Higher-Order Functions in Python - Martin Heinz

    Functools - The Power of Higher-Order Functions in Python - Martin Heinz

    2021-06-28
    Take a tour of Python's functools module and learn how to use its higher-order functions to implement caching, overloading and much more
  • yq: Mastering YAML Processing in Command Line - Martin Heinz

    yq: Mastering YAML Processing in Command Line - Martin Heinz

    2021-06-15
    Learn to parse and manipulate YAML files more efficiently using yq command-line utility and this simple cheat sheet
  • The Correct Way to Overload Functions in Python - Martin Heinz

    The Correct Way to Overload Functions in Python - Martin Heinz

    2021-05-31
    Were you taught that function overloading isn’t possible in Python? Here’s how you can do it with generic functions and multiple dispatch!
  • The Easiest Way to Debug Kubernetes Workloads - Martin Heinz

    The Easiest Way to Debug Kubernetes Workloads - Martin Heinz

    2021-05-17
    The fastest and easiest way to debug and troubleshoot any application running on Kubernetes...
  • The Simple Tricks to Make Your Website Blazing Fast - Martin Heinz

    The Simple Tricks to Make Your Website Blazing Fast - Martin Heinz

    2021-05-03
    Use these quick and easy tricks to optimize your web application's size and performance to make it as fast as possible!
  • Cloud Native CI/CD with Tekton - Building Custom Tasks - Martin Heinz

    Cloud Native CI/CD with Tekton - Building Custom Tasks - Martin Heinz

    2021-04-14
    Learn how to use, build and deploy custom Tasks for Cloud-Native CI/CD on Kubernetes with Tekton Pipelines...
  • All The Important Features and Changes in Python 3.10 - Martin Heinz

    All The Important Features and Changes in Python 3.10 - Martin Heinz

    2021-03-30
    The release of Python 3.10 is getting closer, so it's time to take a look at most important new features and changes it's going to bring
  • Cloud Native CI/CD with Tekton - Laying The Foundation - Martin Heinz

    Cloud Native CI/CD with Tekton - Laying The Foundation - Martin Heinz

    2021-03-15
    The easiest way to kick-start your journey to cloud-native CI/CD on Kubernetes with Tekton Pipelines...
  • Deep Dive into Docker Internals - Union Filesystem - Martin Heinz

    Deep Dive into Docker Internals - Union Filesystem - Martin Heinz

    2021-03-01
    Explore the inner workings of OverlayFS, the filesystem behind layered architecture of Docker images and containers
  • Advanced Git Features You Didn’t Know You Needed - Martin Heinz

    Advanced Git Features You Didn’t Know You Needed - Martin Heinz

    2021-02-15
    You’re missing out on some great git features, such as word diff, auto-correct, plugins or commit signing and it’s time to change it...
  • Building Docker Images The Proper Way - Martin Heinz

    Building Docker Images The Proper Way - Martin Heinz

    2021-02-01
    Let’s optimize Docker builds to create much smaller and more secure Docker images in a fraction of the usual build time...
  • Hardening Docker and Kubernetes with seccomp - Martin Heinz

    Hardening Docker and Kubernetes with seccomp - Martin Heinz

    2021-01-15
    Your containers might not be as secure as you'd think, but seccomp profiles can help you fix that…
  • The Simple Ways to Refactor Terrible Code - Martin Heinz

    The Simple Ways to Refactor Terrible Code - Martin Heinz

    2021-01-02
    It’s time to overcome the fear of messy legacy code and make it cleaner, simpler and more readable with a few simple refactoring tips...
  • Scheduling All Kinds of Recurring Jobs with Python - Martin Heinz

    Scheduling All Kinds of Recurring Jobs with Python - Martin Heinz

    2020-12-15
    Let's explore all the libraries for running cron jobs, deferred tasks, recurring tasks or any other scheduled jobs in Python
  • Networking Tools Every Developer Needs to Know - Martin Heinz

    Networking Tools Every Developer Needs to Know - Martin Heinz

    2020-12-01
    Let’s learn the overlooked networking skills like inspecting DNS records, scanning ports, troubleshooting connections or firewalls and much more...
  • Python Pitfalls - Expecting The Unexpected - Martin Heinz

    Python Pitfalls - Expecting The Unexpected - Martin Heinz

    2020-11-16
    Save yourself hours of debugging by avoiding these common gotchas and pitfalls in your Python code
  • Build Your Next Project with Wolfram Alpha API and Python - Martin Heinz

    Build Your Next Project with Wolfram Alpha API and Python - Martin Heinz

    2020-11-01
    Let’s get curated data, natural language processing, text-to-speech, plot rendering and more from Wolfram Alpha into your next project!
  • It’s Time to Say Goodbye to Docker - Martin Heinz

    It’s Time to Say Goodbye to Docker - Martin Heinz

    2020-10-15
    Docker is not the only containerization tool out there and there might just be better alternatives...
  • The Magic of Python Context Managers - Martin Heinz

    The Magic of Python Context Managers - Martin Heinz

    2020-10-01
    Recipes for using and creating awesome Python context managers, that will make your code more readable, reliable and less error prone...
  • Hidden Features of Chrome DevTools - Martin Heinz

    Hidden Features of Chrome DevTools - Martin Heinz

    2020-09-15
    Be a more productive web developer with these few Chrome DevTools tips and tricks.
  • Writing More Idiomatic and Pythonic Code - Martin Heinz

    Writing More Idiomatic and Pythonic Code - Martin Heinz

    2020-09-01
    Idioms and conventions that will make your Python code readable, effective, concise and reliable.
  • Scraping News and Articles From Public APIs with Python - Martin Heinz

    Scraping News and Articles From Public APIs with Python - Martin Heinz

    2020-08-20
    Let’s explore New York Times, The Guardian, HackerNews and other APIs and gather some news data for your next project!
  • History of Epidemics in Single Chart - Martin Heinz

    History of Epidemics in Single Chart - Martin Heinz

    2020-08-14
    Epidemics and Pandemics are still a hot topic so let’s visualize their history using interactive horizontal bar chart and D3.js!
  • Build a Stunning README For Your GitHub Profile - Martin Heinz

    Build a Stunning README For Your GitHub Profile - Martin Heinz

    2020-07-30
    Show off your projects and skills on GitHub with its hidden new feature - GitHub Profile READMEs!
  • Advanced SQLAlchemy Features You Need To Start Using - Martin Heinz

    Advanced SQLAlchemy Features You Need To Start Using - Martin Heinz

    2020-07-20
    Working with SQL in Python can be easy with SQLAlchemy and its hybrid properties, nested queries, table metadata, dialects and more!
  • Better Data Visualization Using Beeswarm Chart - Martin Heinz

    Better Data Visualization Using Beeswarm Chart - Martin Heinz

    2020-07-10
    Let’s create an interactive Beeswarm chart using D3.js to better visualize your data.
  • Troubleshooting OpenShift Clusters and Workloads - Martin Heinz

    Troubleshooting OpenShift Clusters and Workloads - Martin Heinz

    2020-07-01
    There's a lot of things that can go wrong with your OpenShift cluster and this collection of troubleshooting commands might help you deal with them.
  • All the Things You Can Do With GitHub API and Python - Martin Heinz

    All the Things You Can Do With GitHub API and Python - Martin Heinz

    2020-06-15
    GitHub REST API allows you to manage issues, branches, repos, commits and more, so let's see how you can do that using Python!
  • Ultimate Guide to Python Debugging - Martin Heinz

    Ultimate Guide to Python Debugging - Martin Heinz

    2020-06-01
    Let’s explore the Art of debugging using Python logging, tracebacks, decorators and more...
  • Implementing gRPC server using Python - Martin Heinz

    Implementing gRPC server using Python - Martin Heinz

    2020-05-15
    Your next API doesn't need to be built with REST and JSON. How about gRPC and Protocol Buffers for better performance and structure?
  • Saving Your Linux Machine from Certain Death - Martin Heinz

    Saving Your Linux Machine from Certain Death - Martin Heinz

    2020-05-01
    There's a lot things that can go terribly wrong with your Linux machine and you can solve them with these few techniques and tricks
  • New Features in Python 3.9 You Should Know About - Martin Heinz

    New Features in Python 3.9 You Should Know About - Martin Heinz

    2020-04-25
    Python 3.9 Beta is coming soon, so it's time to explore some of it's upcoming features, like new dict operators, new functools and more...
  • Deploy Any Python Project to Kubernetes - Martin Heinz

    Deploy Any Python Project to Kubernetes - Martin Heinz

    2020-04-15
    It’s time to dive into Kubernetes and bring your Python project to Cloud with this fully-fledged project template!
  • Analyzing Docker Image Security - Martin Heinz

    Analyzing Docker Image Security - Martin Heinz

    2020-04-01
    Docker containers are not inherently secure as many people think. So, it's crucial use tools and scanners like Anchore or Clair to rid your containers of vulnerabilities.
  • Recursive SQL Queries with PostgreSQL - Martin Heinz

    Recursive SQL Queries with PostgreSQL - Martin Heinz

    2020-03-15
    Common Table Expression is lesser-known feature of SQL, that makes it possible to write recursive queries. Let's explore it with PostgreSQL!
  • Automating Every Aspect of Your Python Project - Martin Heinz

    Automating Every Aspect of Your Python Project - Martin Heinz

    2020-03-01
    Every Python project can benefit from automation using Makefile, optimized Docker images, well configured CI/CD, Code Quality Tools and more…
  • Tour of Python Itertools - Martin Heinz

    Tour of Python Itertools - Martin Heinz

    2020-02-15
    Let's explore two great Python libraries - itertools and more_itertools and see how to leverage them for data processing...
  • Implementing 2D Physics in Javascript - Martin Heinz

    Implementing 2D Physics in Javascript - Martin Heinz

    2020-02-01
    Let’s have some fun with JavaScript while implementing 2D physics algorithms for realistic simulations and visualization!
  • Ultimate Setup for Your Next Python Project - Martin Heinz

    Ultimate Setup for Your Next Python Project - Martin Heinz

    2020-01-15
    Whether you are working on some machine learning/AI stuff, building web apps in Flask or just writing some quick Python script, it's always useful to have some template for your project that satisfies all your needs, namely:...
  • Making Python Programs Blazingly Fast - Martin Heinz

    Making Python Programs Blazingly Fast - Martin Heinz

    2020-01-01
    Let's look at performance of our Python programs and see how to make them up to 30% faster!
  • Security and Cryptography Mistakes You Are Probably Doing All The Time - Martin Heinz

    Security and Cryptography Mistakes You Are Probably Doing All The Time - Martin Heinz

    2019-12-13
    There are a lot of myths and wrong assumptions about cryptography and security which people blindly follow. So, let's clear things up a bit...
  • Going Serverless with OpenFaaS and Golang - Building Optimized Templates - Martin Heinz

    Going Serverless with OpenFaaS and Golang - Building Optimized Templates - Martin Heinz

    2019-11-29
    OpenFaaS provides quite a few templates for your Serverless functions. But what if you need custom ones? Let's see how to build them!
  • Going Serverless with OpenFaaS and Golang - The Ultimate Setup and Workflow - Martin Heinz

    Going Serverless with OpenFaaS and Golang - The Ultimate Setup and Workflow - Martin Heinz

    2019-11-16
    Serverless applications are becoming the next big thing in software development, so let's see how to build some with OpenFaaS and Golang...
  • Setting Up Swagger Docs for Golang API - Martin Heinz

    Setting Up Swagger Docs for Golang API - Martin Heinz

    2019-11-01
    Without good documentation, no one will use your RESTful API. So, let's see how to generate some Swagger Docs for your Golang project!
  • Building RESTful APIs in Golang - Martin Heinz

    Building RESTful APIs in Golang - Martin Heinz

    2019-10-22
    Let’s see how to setup project for Golang RESTful API the right way, with everything you will ever need in such a project.
  • Pytest Features, That You Need in Your (Testing) Life - Martin Heinz

    Pytest Features, That You Need in Your (Testing) Life - Martin Heinz

    2019-10-15
    Quality tests are integral part of development process. These Pytest features will make that part of development much easier for you...
  • Setting up GitHub Package Registry with Docker and Golang - Martin Heinz

    Setting up GitHub Package Registry with Docker and Golang - Martin Heinz

    2019-10-05
    GitHub package registry has been in beta for while now, so it seems like it's time to explore its features and do a quick tutorial...
  • Ultimate Setup for Your Next Golang Project - Martin Heinz

    Ultimate Setup for Your Next Golang Project - Martin Heinz

    2019-09-28
    Finding the perfect setup for software project is always a struggle. So, here is a ultimate template for your next Golang project.
  • Python Tips and Tricks, You Haven’t Already Seen, Part 2. - Martin Heinz

    Python Tips and Tricks, You Haven’t Already Seen, Part 2. - Martin Heinz

    2019-09-14
    Here comes another round of Python features that you hopefully haven’t seen yet...
  • Tricks for Postgres and Docker that will make your life easier - Martin Heinz

    Tricks for Postgres and Docker that will make your life easier - Martin Heinz

    2019-09-02
    Working with containers can be hard, that includes databases like PostgreSQL. So, here is a list of tips, that might make your life easier.
  • Getting The Most Out of Reading Books — Reading The “Professional Way” - Martin Heinz

    Getting The Most Out of Reading Books — Reading The “Professional Way” - Martin Heinz

    2019-08-18
    People often run through books quickly, are not concentrated and don’t remember much of what they just learned. But there’s a better way…
  • Python Tips and Trick, You Haven’t Already Seen - Martin Heinz

    Python Tips and Trick, You Haven’t Already Seen - Martin Heinz

    2019-08-05
    There are plenty of articles written about lots of cool features in Python, but there is much more to talk about…