Exploring Ideas: A Blog on Technology, Startups, Food, and More
Welcome to my blog where I share thoughts and insights on technology, startups, and life in Atlanta. Browse through the articles below or explore by topic.
How Skis Are Made: From Wood to Carbon Fiber
February 1, 2025
As a mechanical engineer who spent years working in bike shops and obsessing over every component of my bicycles, it felt strange to realize I’d spent the last five years skiing without really understanding what was under my feet. My wife introduced me to skiing, and being the impatient learner I am, I jumped straight into the deep end of the sport. While she was already carving up the slopes with...
Taming the Python Chaos: Linting & Formatting with Ruff
January 30, 2025
Let’s be honest, wading through inconsistent Python code can feel like hacking through a dense jungle with a butter knife. Different quote styles, weird indentation, unused imports lurking in the shadows… it’s exhausting and, frankly, slows everyone down. This is where the dynamic duo of linting and formatting ride to the rescue. They might sound like boring chores, but trust me, they are fundamen...
Handling Sensitive Data Securely Within Your Python Library
January 29, 2025
Accidentally exposed API keys and credentials in public repositories remain one of the most common security issues in modern software development. Despite the widespread awareness of this risk, these incidents continue to occur across organizations of all sizes. Let’s explore comprehensive strategies for keeping sensitive data secure in Python libraries, so you can build more robust and secure app...
Decoding Library Updates: Understanding Semantic Versioning (SemVer)
January 28, 2025
When you release a new version of your Python library, how do users know what to expect? Will updating break their existing code? Does it just contain bug fixes, or are there exciting new features? Without a clear system, version numbers are just arbitrary labels, leading to confusion and the dreaded “dependency hell.” This is why Semantic Versioning (SemVer) has become the de facto standard for l...
Dependency Security: Managing Vulnerabilities with pip-audit
January 27, 2025
Picture this: a developer updates a dependency with a simple patch version bump. Everything seems fine until a security researcher emails: “Your library is vulnerable to remote code execution.” The issue wasn’t in the library’s code; it was in a dependency that wasn’t being checked for known vulnerabilities. This scenario highlights a crucial aspect of Python supply chain security. Even if your li...
The Center of Your Python Project: Understanding pyproject.toml
January 26, 2025
If you’ve started a new Python project recently or looked at the structure of modern libraries, you’ve undoubtedly encountered a file named pyproject.toml sitting in the project root. What is this file, and why has it become so important? Gone are the days of juggling setup.py, setup.cfg, requirements.txt, MANIFEST.in, and separate configuration files for every single tool (.isort.cfg, .flake8, .c...
Bandit Security Rules: Finding Common Python Security Issues
January 25, 2025
Security vulnerabilities in Python code can often go unnoticed during development. While code reviews help catch many issues, automated tools like Ruff with its Bandit integration can systematically identify common security pitfalls before they make it to production. This article introduces Ruff’s implementation of Bandit’s security rules, providing a faster and more integrated approach to Python ...
Don't Forget the Fine Print: Licensing Your Python Library
January 24, 2025
You’ve written some brilliant Python code, packaged it neatly, maybe even set up tests and CI. You’re ready to share it with the world! But wait… how exactly are people allowed to use it? Can they incorporate it into their commercial product? If they modify it, do they have to share their changes? These questions are answered by the open-source license you choose. Ignoring licensing doesn’t mean y...
NASA Technology Readiness Levels
January 23, 2025
Ever wondered how NASA decides if a technology is ready for space? Enter Technology Readiness Levels (TRLs) - the space agency’s framework that’s become the gold standard for measuring technological maturity. From its beginnings in the space program to its current status as a global innovation tool, the TRL framework has quite a story to tell. The Birth of a Framework 🚀 Picture NASA in the mid-197...
Building and Engaging a Community Around Your Open Source Library
January 22, 2025
I remember the exact moment I realized the power of community in open source. It was when someone I’d never met submitted a pull request that fixed a bug I hadn’t even noticed yet. They’d been using my library in a way I hadn’t anticipated, found an edge case, and not only reported it but fixed it. That’s when it hit me: a thriving community is what makes open source truly powerful. But here’s the...
Subscribe to the Newsletter
Get the latest posts and insights delivered straight to your inbox.