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.

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 ...

Read more →

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...

Read more →

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...

Read more →

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...

Read more →

The Library Author's Dilemma: Managing Python Dependencies

January 21, 2025

Building a Python library often means standing on the shoulders of giants - leveraging the fantastic work already done in other packages. Need to make HTTP requests? Use requests or httpx. Need numerical computing? numpy is your friend. Adding dependencies can save you immense amounts of time and effort. But here’s the catch: every dependency you add is a choice with consequences. For library auth...

Read more →

Data Science Things Roundup #12

January 20, 2025

After a long hiatus, I’m bringing back the Data Science Things Roundup series. For those new here, this is where I share three interesting things from the world of data science that caught my attention. I tend to focus on developments that might have flown under the radar - while breakthroughs like DeepSeek-R1 are incredibly exciting, there’s already extensive coverage elsewhere. Instead, I aim to...

Read more →

Hearty Beef Shortrib Ragu: A Winter Comfort Dish

January 19, 2025

This beef shortrib ragu is a labor of love that transforms basic ingredients into something spectacular. The long, slow cooking process creates a rich, deeply flavored sauce that’s perfect over pasta or mashed potatoes. Ingredients For the Ragu 3-4 lbs beef shortribs 4 medium onions, diced 5-6 carrots, shredded 5-6 celery stalks, diced 1 head of garlic, cloves peeled 2-3 tbsp tomato paste 2 cans (...

Read more →

Avoiding Common Pitfalls: Injection Flaws in Python Libraries

January 18, 2025

Many developers think injection vulnerabilities are only a concern for web applications. But the reality is quite different - libraries and command-line tools are just as susceptible to these attacks. When a library processes untrusted input without proper safeguards, it can expose all of its users to serious security risks. Let’s explore how injection flaws can sneak into Python libraries and, mo...

Read more →

The Art of Saying No: Defining Your Python Library's Scope

January 17, 2025

We’ve all been there, right? You start with a neat little Python script that solves one specific problem. It works beautifully. Then you think, “Hey, I could reuse this!” and decide to turn it into a proper library. Awesome. But then… the feature creep begins. “It would be cool if it also did this…” “What if I added support for that obscure edge case?” “My colleague needs it to integrate with this...

Read more →

Tap, tap, is this thing still on?

January 16, 2025

I’m back. For many years I regularly posted on willmcginnis.com. I was contributing to the open source community, writing about machine learning, software engineering, and Atlanta. At some point the startup I was helping run at the time, Predikto, was acquired by UTC and my world got extremely busy and in some ways chaotic. I still was working on and thinking about similar things but I forgot one ...

Read more →

Subscribe to the Newsletter

Get the latest posts and insights delivered straight to your inbox.