Journal
Posts and long-form series on AI, startups, venture capital, and more.
All Posts
Taming the Python Chaos: Linting & Formatting with Ruff
What linting and formatting actually are, why they matter (a lot!), and how the speedy tool Ruff can save your Python project (and your sanity).
Handling Sensitive Data Securely Within Your Python Library
Handle sensitive data in Python libraries securely. Learn best practices for managing API keys, passwords, PII, and other secrets without exposing them in code.
Decoding Library Updates: Understanding Semantic Versioning (SemVer)
Guide to Semantic Versioning (SemVer) for Python library authors. Understand MAJOR.MINOR.PATCH rules to communicate changes and manage dependencies.
Dependency Security: Managing Vulnerabilities with pip-audit
Your library relies on packages. Learn how to use pip-audit to scan your dependencies for known security vulnerabilities and keep your users safe.
The Center of Your Python Project: Understanding pyproject.toml
From setup.py chaos to pyproject.toml clarity. Learn why it exists, how it standardizes Python packaging/tool config via PEPs (518, 517, 621), and its anatomy.
Bandit Security Rules: Finding Common Python Security Issues
Learn how to use Ruff's Bandit integration to automatically scan your Python code for common security pitfalls through static analysis.
Don't Forget the Fine Print: Licensing Your Python Library
Choosing an open-source license is crucial. Understand common options (MIT, Apache, GPL), why compatibility matters, and how to comply with obligations.
NASA Technology Readiness Levels
A detailed look at NASA's Technology Readiness Level (TRL) system and how this framework, from its space program origins, can guide technology development.
Building and Engaging a Community Around Your Open Source Library
Attract users, encourage contributions, and build a welcoming environment for your open source library. Learn practical steps for community engagement.
The Library Author's Dilemma: Managing Python Dependencies
Python library dependency management balances features vs user pain. Explore best practices for choosing, versioning (~= compatible release), and maintenance.