corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a087a0-e838-70fe-a595-2aef9200c6b7", "title": "10 Examples Why cURL is an Awesome CLI Tool", "url": "https://martinheinz.dev/blog/113", "published_at": "2024-06-25T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b42fc79b5", "title": "A Guide to Python's Weak References Using weakref Module", "url": "https://martinheinz.dev/blog/112", "published_at": "2024-06-25T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4304bd3c", "title": "Recent Docker BuildKit Features You're Missing Out On", "url": "https://martinheinz.dev/blog/111", "published_at": "2024-05-13T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4382e6a5", "title": "Shell History Is Your Best Productivity Tool", "url": "https://martinheinz.dev/blog/110", "published_at": "2024-04-09T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b44288d9c", "title": "Modern Git Commands and Features You Should Be Using", "url": "https://martinheinz.dev/blog/109", "published_at": "2024-03-04T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4520ad63", "title": "Everything You Can Do with Python's textwrap Module", "url": "https://martinheinz.dev/blog/108", "published_at": "2024-02-07T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b453686d6", "title": "Monitoring Indoor Air Quality with Prometheus, Grafana and a CO2 Sensor", "url": "https://martinheinz.dev/blog/107", "published_at": "2024-01-02T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b46169586", "title": "Everything You Can Do with Python's bisect Module", "url": "https://martinheinz.dev/blog/106", "published_at": "2023-11-08T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b46e61089", "title": "You Don't Need a Dedicated Cache Service - PostgreSQL as a Cache", "url": "https://martinheinz.dev/blog/105", "published_at": "2023-10-02T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b46fc8de3", "title": "A Collection of Docker Images To Solve All Your Debugging Needs", "url": "https://martinheinz.dev/blog/104", "published_at": "2023-09-04T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b47dd6aa9", "title": "Weird Python \"Features\" That Might Catch You By Surprise", "url": "https://martinheinz.dev/blog/103", "published_at": "2023-08-14T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b486c7122", "title": "Lessons Learned From Writing 100 Articles", "url": "https://martinheinz.dev/blog/102", "published_at": "2023-08-01T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4945aa10", "title": "Debugging Crashes and Deadlocks in Python using PyStack", "url": "https://martinheinz.dev/blog/101", "published_at": "2023-07-17T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b49c37832", "title": "Goodbye etcd, Hello PostgreSQL: Running Kubernetes with an SQL Database", "url": "https://martinheinz.dev/blog/100", "published_at": "2023-07-03T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4a50911d", "title": "Remote Interactive Debugging of Python Applications Running in Kubernetes", "url": "https://martinheinz.dev/blog/99", "published_at": "2023-06-19T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4b4c96b0", "title": "The Right Way to Run Shell Commands From Python", "url": "https://martinheinz.dev/blog/98", "published_at": "2023-06-05T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4bbf68db", "title": "Real Multithreading is Coming to Python - Learn How You Can Use It Now", "url": "https://martinheinz.dev/blog/97", "published_at": "2023-05-14T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4c51445d", "title": "Python's Missing Batteries: Essential Libraries You're Missing Out On", "url": "https://martinheinz.dev/blog/96", "published_at": "2023-05-01T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4c8d4618", "title": "Kubernetes-Native Synthetic Monitoring with Kuberhealthy", "url": "https://martinheinz.dev/blog/95", "published_at": "2023-04-17T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4ca73ca0", "title": "Make Your CLI Demos a Breeze with Zero Stress and Zero Mistakes", "url": "https://martinheinz.dev/blog/94", "published_at": "2023-04-03T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4d250dbd", "title": "Reduce - The Power of a Single Python Function", "url": "https://martinheinz.dev/blog/93", "published_at": "2023-03-20T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4db02e10", "title": "Why I Will Never Use Alpine Linux Ever Again", "url": "https://martinheinz.dev/blog/92", "published_at": "2023-03-06T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4dc45f32", "title": "Cgroups - Deep Dive into Resource Management in Kubernetes", "url": "https://martinheinz.dev/blog/91", "published_at": "2023-02-20T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4ec301bd", "title": "Dictionary Dispatch Pattern in Python", "url": "https://martinheinz.dev/blog/90", "published_at": "2023-02-01T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4f485765", "title": "Boost Your Python Application Performance using Continuous Profiling", "url": "https://martinheinz.dev/blog/89", "published_at": "2023-01-17T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4fe3fe34", "title": "Lazy Evaluation Using Recursive Python Generators", "url": "https://martinheinz.dev/blog/88", "published_at": "2023-01-04T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b4feda8ec", "title": "Python Magic Methods You Haven't Heard About", "url": "https://martinheinz.dev/blog/87", "published_at": "2022-12-14T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b50364783", "title": "Getting Started with Mastodon API in Python", "url": "https://martinheinz.dev/blog/86", "published_at": "2022-11-29T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b50807d25", "title": "Backup-and-Restore of Containers with Kubernetes Checkpointing API", "url": "https://martinheinz.dev/blog/85", "published_at": "2022-11-15T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b514e3791", "title": "Getting Started with Google APIs in Python", "url": "https://martinheinz.dev/blog/84", "published_at": "2022-11-01T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b51a6ac6d", "title": "Python CLI Tricks That Don't Require Any Code Whatsoever", "url": "https://martinheinz.dev/blog/83", "published_at": "2022-10-17T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b51d95c80", "title": "All The Ways To Introspect Python Objects at Runtime", "url": "https://martinheinz.dev/blog/82", "published_at": "2022-10-04T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b520fba29", "title": "What is Python's \"self\" Argument, Anyway?", "url": "https://martinheinz.dev/blog/81", "published_at": "2022-09-19T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b52bed8db", "title": "Python List Comprehensions Are More Powerful Than You Might Think", "url": "https://martinheinz.dev/blog/80", "published_at": "2022-09-05T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b533c7eba", "title": "You Should Be Using Python's Walrus Operator - Here's Why", "url": "https://martinheinz.dev/blog/79", "published_at": "2022-08-15T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b53ced8f8", "title": "Recipes and Tricks for Effective Structural Pattern Matching in Python", "url": "https://martinheinz.dev/blog/78", "published_at": "2022-08-02T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b5435eaa0", "title": "It's Time to Say Goodbye to These Python Libraries", "url": "https://martinheinz.dev/blog/77", "published_at": "2022-07-20T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b551c4918", "title": "Advanced Features of Kubernetes' Horizontal Pod Autoscaler", "url": "https://martinheinz.dev/blog/76", "published_at": "2022-07-04T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b5596d254", "title": "Data and System Visualization Tools That Will Boost Your Productivity", "url": "https://martinheinz.dev/blog/75", "published_at": "2022-06-13T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b56301d16", "title": "Stop Messing with Kubernetes Finalizers", "url": "https://martinheinz.dev/blog/74", "published_at": "2022-06-01T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b57143edc", "title": "Automate All the Boring Kubernetes Operations with Python", "url": "https://martinheinz.dev/blog/73", "published_at": "2022-05-17T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b578f82e7", "title": "End-to-End Monitoring with Grafana Cloud with Minimal Effort", "url": "https://martinheinz.dev/blog/72", "published_at": "2022-05-02T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b587ab4a8", "title": "Goodbye, Google Analytics - Why and How You Should Leave The Platform", "url": "https://bit.ly/3JLmSgA", "published_at": "2022-04-19T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b596b80c9", "title": "Python f-strings Are More Powerful Than You Might Think", "url": "https://bit.ly/3uETfbi", "published_at": "2022-04-04T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b596bad7e", "title": "Ultimate CI Pipeline for All of Your Python Projects", "url": "https://bit.ly/3MI4Iz0", "published_at": "2022-03-15T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b598fedaa", "title": "Optimizing Memory Usage in Python Applications", "url": "https://bit.ly/3M30D82", "published_at": "2022-02-28T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b59a1f311", "title": "Upcoming Python Features Brought to You by Python Enhancement Proposals", "url": "https://bit.ly/3oMJ6qR", "published_at": "2022-02-14T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b5a6523ab", "title": "Creating Beautiful Tracebacks with Python's Exception Hooks", "url": "https://bit.ly/3IRD7IK", "published_at": "2022-02-01T16:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b5af4b793", "title": "Building GitHub Apps with Golang", "url": "https://bit.ly/3A3B69t", "published_at": "2022-01-18T14:00:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b5b39e1bd", "title": "Profiling and Analyzing Performance of Python Programs", "url": "https://bit.ly/31lKCYA", "published_at": "2022-01-04T14:30:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b5bf16f3d", "title": "Improving Application Availability with Pod Readiness Gates", "url": "https://bit.ly/30uviIM", "published_at": "2021-12-14T14:30:00+00:00" }, { "id": "01a087a0-e839-7163-b02f-405b5cccebf6", "title": "Exploring Google Analytics Realtime Data with Python", "url": "https://bit.ly/3E1X2mw", "published_at": "2021-11-29T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a99319a12", "title": "Speeding Up Container Image Builds with Remote Cache", "url": "https://bit.ly/3Dv7JxP", "published_at": "2021-11-15T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9972f9c7", "title": "Keeping Kubernetes Clusters Clean and Tidy", "url": "https://bit.ly/3GG1BEz", "published_at": "2021-11-01T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9a5b23b1", "title": "Secure Password Handling in Python", "url": "https://bit.ly/3lLavs4", "published_at": "2021-10-17T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9a6e75ef", "title": "Making Kubernetes Operations Easy with kubectl Plugins", "url": "https://bit.ly/39TqP3m", "published_at": "2021-10-01T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9ab54ad4", "title": "All The Ways to Compress and Archive Files in Python", "url": "https://bit.ly/3A5Mpx8", "published_at": "2021-09-13T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9ae95d56", "title": "Signing Software The Easy Way with Sigstore and Cosign", "url": "https://bit.ly/3kGwPl4", "published_at": "2021-09-01T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9b32e4de", "title": "Sigstore: A Solution to Software Supply Chain Security", "url": "https://bit.ly/3iHtulU", "published_at": "2021-08-16T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9b74d71e", "title": "Could Kubernetes Pods Ever Become Deprecated?", "url": "https://bit.ly/3xGjtKS", "published_at": "2021-07-15T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9c3c0965", "title": "Functools - The Power of Higher-Order Functions in Python", "url": "https://bit.ly/3h8DZg0", "published_at": "2021-06-28T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9cdc2f11", "title": "yq: Mastering YAML Processing in Command Line", "url": "https://bit.ly/2RQn1dG", "published_at": "2021-06-15T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9d0736c2", "title": "The Correct Way to Overload Functions in Python", "url": "https://bit.ly/3p2B5wW", "published_at": "2021-05-31T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9d2929e6", "title": "The Easiest Way to Debug Kubernetes Workloads", "url": "https://bit.ly/3tULpb0", "published_at": "2021-05-17T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9d4cbe68", "title": "The Simple Tricks to Make Your Website Blazing Fast", "url": "https://bit.ly/2PHVudx", "published_at": "2021-05-03T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9db46400", "title": "Cloud Native CI/CD with Tekton - Building Custom Tasks", "url": "https://bit.ly/3uPtnb0", "published_at": "2021-04-14T14:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9ddf742a", "title": "All The Important Features and Changes in Python 3.10", "url": "https://bit.ly/3dg3QR9", "published_at": "2021-03-30T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9ea05e59", "title": "Cloud Native CI/CD with Tekton - Laying The Foundation", "url": "https://bit.ly/3qHtSkZ", "published_at": "2021-03-15T11:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9eab220d", "title": "Deep Dive into Docker Internals - Union Filesystem", "url": "https://bit.ly/3kIkTPr", "published_at": "2021-03-01T10:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9eafb917", "title": "Advanced Git Features You Didn’t Know You Needed", "url": "https://bit.ly/3qlRAUN", "published_at": "2021-02-15T10:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9f0dccd2", "title": "Building Docker Images The Proper Way", "url": "https://bit.ly/3pCUJ26", "published_at": "2021-02-01T10:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6a9fdcf51b", "title": "Hardening Docker and Kubernetes with seccomp", "url": "https://bit.ly/3ifZxYr", "published_at": "2021-01-15T10:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa084f7ca", "title": "The Simple Ways to Refactor Terrible Code", "url": "https://bit.ly/34ZhIMt", "published_at": "2021-01-02T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa13d3186", "title": "Scheduling All Kinds of Recurring Jobs with Python", "url": "https://bit.ly/3qSO7h0", "published_at": "2020-12-15T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa1b3ea42", "title": "Networking Tools Every Developer Needs to Know", "url": "https://bit.ly/3muGLOk", "published_at": "2020-12-01T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa26a5d48", "title": "Python Pitfalls - Expecting The Unexpected", "url": "https://bit.ly/35xN79v", "published_at": "2020-11-16T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa297b48f", "title": "Build Your Next Project with Wolfram Alpha API and Python", "url": "https://bit.ly/3mLGshK", "published_at": "2020-11-01T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa30e74f9", "title": "It’s Time to Say Goodbye to Docker", "url": "https://bit.ly/2IvkGQl", "published_at": "2020-10-15T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa3b8c70e", "title": "The Magic of Python Context Managers", "url": "https://bit.ly/2Sk1KFK", "published_at": "2020-10-01T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa43be97a", "title": "Hidden Features of Chrome DevTools", "url": "https://bit.ly/3iCNIL6", "published_at": "2020-09-15T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa47f466d", "title": "Writing More Idiomatic and Pythonic Code", "url": "https://bit.ly/3beQPpy", "published_at": "2020-09-01T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa4ef5aa8", "title": "Scraping News and Articles From Public APIs with Python", "url": "https://bit.ly/2YjCPFO", "published_at": "2020-08-20T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa52365dc", "title": "History of Epidemics in Single Chart", "url": "https://bit.ly/33LK6St", "published_at": "2020-08-14T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa553c130", "title": "Build a Stunning README For Your GitHub Profile", "url": "https://bit.ly/30Wrkok", "published_at": "2020-07-30T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa5ecdd78", "title": "Advanced SQLAlchemy Features You Need To Start Using", "url": "https://bit.ly/3eKpRXc", "published_at": "2020-07-20T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa6eb7fb4", "title": "Better Data Visualization Using Beeswarm Chart", "url": "https://bit.ly/2ZdIGxj", "published_at": "2020-07-10T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa7b9ddc5", "title": "Troubleshooting OpenShift Clusters and Workloads", "url": "https://bit.ly/2YMlfLg", "published_at": "2020-07-01T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa8463194", "title": "All the Things You Can Do With GitHub API and Python", "url": "https://bit.ly/3d11CD1", "published_at": "2020-06-15T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa8a90a9a", "title": "Ultimate Guide to Python Debugging", "url": "https://bit.ly/2XMG33L", "published_at": "2020-06-01T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa99a0145", "title": "Implementing gRPC server using Python", "url": "https://bit.ly/367OYQX", "published_at": "2020-05-15T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aa9e2655b", "title": "Saving Your Linux Machine from Certain Death", "url": "https://martinheinz.dev/blog/22", "published_at": "2020-05-01T08:00:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aaab1058c", "title": "New Features in Python 3.9 You Should Know About", "url": "https://martinheinz.dev/blog/21", "published_at": "2020-04-25T17:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aab4ef992", "title": "Deploy Any Python Project to Kubernetes", "url": "https://martinheinz.dev/blog/20", "published_at": "2020-04-15T16:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aac17c880", "title": "Analyzing Docker Image Security", "url": "https://martinheinz.dev/blog/19", "published_at": "2020-04-01T16:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aad02bf12", "title": "Recursive SQL Queries with PostgreSQL", "url": "https://martinheinz.dev/blog/18", "published_at": "2020-03-15T16:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aadef7ea3", "title": "Automating Every Aspect of Your Python Project", "url": "https://martinheinz.dev/blog/17", "published_at": "2020-03-01T16:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aae72ad72", "title": "Tour of Python Itertools", "url": "https://martinheinz.dev/blog/16", "published_at": "2020-02-15T16:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aae7cfecb", "title": "Implementing 2D Physics in Javascript", "url": "https://martinheinz.dev/blog/15", "published_at": "2020-02-01T16:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aaf3fb459", "title": "Ultimate Setup for Your Next Python Project", "url": "https://martinheinz.dev/blog/14", "published_at": "2020-01-15T16:30:00+00:00" }, { "id": "01a087a0-e83a-7336-8ecf-ab6aafe5ad41", "title": "Making Python Programs Blazingly Fast", "url": "https://martinheinz.dev/blog/13", "published_at": "2020-01-01T12:30:00+00:00" } ] posts
Claim your blog
Back to Martin Heinz | Personal Website & Blog
Blog · corpus.blog/blogs/martinheinz.dev/posts
Martin Heinz | Personal Website & Blog
martinheinz.dev
2024
10 Examples Why cURL is an Awesome CLI Tool
original ↗
25 Jun 2024
A Guide to Python's Weak References Using weakref Module
original ↗
25 Jun 2024
Recent Docker BuildKit Features You're Missing Out On
original ↗
13 May 2024
Shell History Is Your Best Productivity Tool
original ↗
9 Apr 2024
Modern Git Commands and Features You Should Be Using
original ↗
4 Mar 2024
Everything You Can Do with Python's textwrap Module
original ↗
7 Feb 2024
Monitoring Indoor Air Quality with Prometheus, Grafana and a CO2 Sensor
original ↗
2 Jan 2024
2023
Everything You Can Do with Python's bisect Module
original ↗
8 Nov 2023
You Don't Need a Dedicated Cache Service - PostgreSQL as a Cache
original ↗
2 Oct 2023
A Collection of Docker Images To Solve All Your Debugging Needs
original ↗
4 Sept 2023
Weird Python "Features" That Might Catch You By Surprise
original ↗
14 Aug 2023
Lessons Learned From Writing 100 Articles
original ↗
1 Aug 2023
Debugging Crashes and Deadlocks in Python using PyStack
original ↗
17 Jul 2023
Goodbye etcd, Hello PostgreSQL: Running Kubernetes with an SQL Database
original ↗
3 Jul 2023
Remote Interactive Debugging of Python Applications Running in Kubernetes
original ↗
19 Jun 2023
The Right Way to Run Shell Commands From Python
original ↗
5 Jun 2023
Real Multithreading is Coming to Python - Learn How You Can Use It Now
original ↗
14 May 2023
Python's Missing Batteries: Essential Libraries You're Missing Out On
original ↗
1 May 2023
Kubernetes-Native Synthetic Monitoring with Kuberhealthy
original ↗
17 Apr 2023
Make Your CLI Demos a Breeze with Zero Stress and Zero Mistakes
original ↗
3 Apr 2023
Reduce - The Power of a Single Python Function
original ↗
20 Mar 2023
Why I Will Never Use Alpine Linux Ever Again
original ↗
6 Mar 2023
Cgroups - Deep Dive into Resource Management in Kubernetes
original ↗
20 Feb 2023
Dictionary Dispatch Pattern in Python
original ↗
1 Feb 2023
Boost Your Python Application Performance using Continuous Profiling
original ↗
17 Jan 2023
Lazy Evaluation Using Recursive Python Generators
original ↗
4 Jan 2023
2022
Python Magic Methods You Haven't Heard About
original ↗
14 Dec 2022
Getting Started with Mastodon API in Python
original ↗
29 Nov 2022
Backup-and-Restore of Containers with Kubernetes Checkpointing API
original ↗
15 Nov 2022
Getting Started with Google APIs in Python
original ↗
1 Nov 2022
Python CLI Tricks That Don't Require Any Code Whatsoever
original ↗
17 Oct 2022
All The Ways To Introspect Python Objects at Runtime
original ↗
4 Oct 2022
What is Python's "self" Argument, Anyway?
original ↗
19 Sept 2022
Python List Comprehensions Are More Powerful Than You Might Think
original ↗
5 Sept 2022
You Should Be Using Python's Walrus Operator - Here's Why
original ↗
15 Aug 2022
Recipes and Tricks for Effective Structural Pattern Matching in Python
original ↗
2 Aug 2022
It's Time to Say Goodbye to These Python Libraries
original ↗
20 Jul 2022
Advanced Features of Kubernetes' Horizontal Pod Autoscaler
original ↗
4 Jul 2022
Data and System Visualization Tools That Will Boost Your Productivity
original ↗
13 Jun 2022
Stop Messing with Kubernetes Finalizers
original ↗
1 Jun 2022
Automate All the Boring Kubernetes Operations with Python
original ↗
17 May 2022
End-to-End Monitoring with Grafana Cloud with Minimal Effort
original ↗
2 May 2022
Goodbye, Google Analytics - Why and How You Should Leave The Platform
original ↗
19 Apr 2022
Python f-strings Are More Powerful Than You Might Think
original ↗
4 Apr 2022
Ultimate CI Pipeline for All of Your Python Projects
original ↗
15 Mar 2022
Optimizing Memory Usage in Python Applications
original ↗
28 Feb 2022
Upcoming Python Features Brought to You by Python Enhancement Proposals
original ↗
14 Feb 2022
Creating Beautiful Tracebacks with Python's Exception Hooks
original ↗
1 Feb 2022
Building GitHub Apps with Golang
original ↗
18 Jan 2022
Profiling and Analyzing Performance of Python Programs
original ↗
4 Jan 2022
2021
Improving Application Availability with Pod Readiness Gates
original ↗
14 Dec 2021
Exploring Google Analytics Realtime Data with Python
original ↗
29 Nov 2021
Speeding Up Container Image Builds with Remote Cache
original ↗
15 Nov 2021
Keeping Kubernetes Clusters Clean and Tidy
original ↗
1 Nov 2021
Secure Password Handling in Python
original ↗
17 Oct 2021
Making Kubernetes Operations Easy with kubectl Plugins
original ↗
1 Oct 2021
All The Ways to Compress and Archive Files in Python
original ↗
13 Sept 2021
Signing Software The Easy Way with Sigstore and Cosign
original ↗
1 Sept 2021
Sigstore: A Solution to Software Supply Chain Security
original ↗
16 Aug 2021
Could Kubernetes Pods Ever Become Deprecated?
original ↗
15 Jul 2021
Functools - The Power of Higher-Order Functions in Python
original ↗
28 Jun 2021
yq: Mastering YAML Processing in Command Line
original ↗
15 Jun 2021
The Correct Way to Overload Functions in Python
original ↗
31 May 2021
The Easiest Way to Debug Kubernetes Workloads
original ↗
17 May 2021
The Simple Tricks to Make Your Website Blazing Fast
original ↗
3 May 2021
Cloud Native CI/CD with Tekton - Building Custom Tasks
original ↗
14 Apr 2021
All The Important Features and Changes in Python 3.10
original ↗
30 Mar 2021
Cloud Native CI/CD with Tekton - Laying The Foundation
original ↗
15 Mar 2021
Deep Dive into Docker Internals - Union Filesystem
original ↗
1 Mar 2021
Advanced Git Features You Didn’t Know You Needed
original ↗
15 Feb 2021
Building Docker Images The Proper Way
original ↗
1 Feb 2021
Hardening Docker and Kubernetes with seccomp
original ↗
15 Jan 2021
The Simple Ways to Refactor Terrible Code
original ↗
2 Jan 2021
2020
Scheduling All Kinds of Recurring Jobs with Python
original ↗
15 Dec 2020
Networking Tools Every Developer Needs to Know
original ↗
1 Dec 2020
Python Pitfalls - Expecting The Unexpected
original ↗
16 Nov 2020
Build Your Next Project with Wolfram Alpha API and Python
original ↗
1 Nov 2020
It’s Time to Say Goodbye to Docker
original ↗
15 Oct 2020
The Magic of Python Context Managers
original ↗
1 Oct 2020
Hidden Features of Chrome DevTools
original ↗
15 Sept 2020
Writing More Idiomatic and Pythonic Code
original ↗
1 Sept 2020
Scraping News and Articles From Public APIs with Python
original ↗
20 Aug 2020
History of Epidemics in Single Chart
original ↗
14 Aug 2020
Build a Stunning README For Your GitHub Profile
original ↗
30 Jul 2020
Advanced SQLAlchemy Features You Need To Start Using
original ↗
20 Jul 2020
Better Data Visualization Using Beeswarm Chart
original ↗
10 Jul 2020
Troubleshooting OpenShift Clusters and Workloads
original ↗
1 Jul 2020
All the Things You Can Do With GitHub API and Python
original ↗
15 Jun 2020
Ultimate Guide to Python Debugging
original ↗
1 Jun 2020
Implementing gRPC server using Python
original ↗
15 May 2020
Saving Your Linux Machine from Certain Death
original ↗
1 May 2020
New Features in Python 3.9 You Should Know About
original ↗
25 Apr 2020
Deploy Any Python Project to Kubernetes
original ↗
15 Apr 2020
Analyzing Docker Image Security
original ↗
1 Apr 2020
Recursive SQL Queries with PostgreSQL
original ↗
15 Mar 2020
Automating Every Aspect of Your Python Project
original ↗
1 Mar 2020
Tour of Python Itertools
original ↗
15 Feb 2020
Implementing 2D Physics in Javascript
original ↗
1 Feb 2020
Ultimate Setup for Your Next Python Project
original ↗
15 Jan 2020
Making Python Programs Blazingly Fast
original ↗
1 Jan 2020
Next