Classy Abstractions
A discussion on Pythonic code design, focusing on abstractions, libraries, and best practices for writing clean and effective classes.
Hynek Schlawack, a Python and Go developer from Berlin, shares insights through blog posts, conference talks, YouTube videos, and open-source projects, focusing on web hosting, software engineering, and community-driven tech.
73 articles from this blog
A discussion on Pythonic code design, focusing on abstractions, libraries, and best practices for writing clean and effective classes.
Explains the importance of documenting unit tests with examples and best practices for writing clear test comments.
A guide on setting up and using GitHub Actions for continuous integration (CI) of an open-source Python package, including a sample workflow.
A call for more public discussion about running Python in production, sharing real-world experiences and lessons learned from web services.
Explores the complexities of Python package metadata, comparing runtime introspection with packaging tools and discussing modern solutions.
A step-by-step guide for migrating a Python project's CI/CD pipeline from Travis CI to Azure Pipelines, focusing on simplicity.
A speaker's perspective on the importance of attending conference talks, arguing that audience presence energizes speakers and improves the experience for everyone.
A guide to maintaining open-source Python projects efficiently, covering tools, workflows, and community management for solo maintainers.
A DevOps-focused review of Python dependency management tools like pip-tools, Pipenv, and Poetry for production applications.
A guide on structuring and configuring Python applications for seamless deployment across environments, covering config, secrets, and load balancing.
Explains Python's __eq__ and __hash__ methods, their interaction, and the critical rule that an object's hash must never change.
Explains common reasons why Docker containers fail to receive termination signals and offers solutions for proper signal handling.
A developer details their year-long process for creating and delivering a single, well-prepared conference talk, demystifying the work behind public speaking.
A technical talk summary on building reliable software systems, covering key concepts, books, and practices from Site Reliability Engineering (SRE).
Explores Python's functools.singledispatch for elegant, extensible JSON serialization of custom objects, moving beyond the standard json module's limitations.
A critique of common Python decorator patterns that break function signatures and introspection, with advice on how to fix them.
An overview of Prometheus for application metrics, covering its architecture, query language, and monitoring philosophy.
Explains how to handle conditional Python package dependencies based on Python version, covering PEP 508, setuptools versions, and workarounds.
A 2016 perspective on Python 3 adoption, analyzing library support, community trends, and the gradual shift from Python 2.
Explains why Python's hasattr() function is dangerous and misleading, especially in Python 2, and recommends using try/except or getattr() instead.