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.

Inner Source: Bringing Open Source Culture Inside Your Organization

February 11, 2025

Over the years of maintaining open source libraries and running large data science teams in complex conglomerates, I’ve noticed something fascinating: the practices that make open source development successful can be incredibly powerful inside organizations too. This approach, known as inner source, brings the collaborative spirit and efficiency of open source development into corporate environmen...

Read more →

Data Science Things Roundup #13

February 10, 2025

In this edition of Data Science Things Roundup, I’m sharing three interesting developments from the world of data science that caught my attention recently. IBM Granite: Enterprise AI with Clear IP Rights IBM has launched Granite, their third generation of AI language models, with a strong focus on responsible development and clear licensing terms. What sets it apart is IBM’s approach to IP protec...

Read more →

Are Your Tests Enough? Measuring Coverage with Coverage.py

February 9, 2025

In the last post, we talked about why testing is vital for Python libraries and how pytest makes writing those tests easier. You might now have a growing suite of tests, and they all pass - fantastic! But how do you know if those tests are actually running through all the important logic in your library? It’s surprisingly easy to write tests that look good but miss critical edge cases or entire co...

Read more →

Exploring EOS: A Guide to the Entrepreneurial Operating System

February 8, 2025

Early on in the days of Predikto we were running like a real startup: in absolute chaos. Things were getting done, and well, but it was a mix of luck and hard work, we were in fight or flight mode 24/7. Part of the way in, our CEO Mario brought in the Entreprenuer Operating System (EOS) to help us get our act together. We of course rolled our eyes and made sarcastic comments like “this is just Agi...

Read more →

The Evolution of Cursor Rules: A More Granular Approach to AI Guidance

February 7, 2025

In our previous post about AI’s impact on software development, we discussed how .cursorrules files were becoming an integral part of modern codebases. Since then, Cursor has evolved its approach to AI guidance, introducing a more powerful and flexible system: Project Rules. The Shift from Single File to Directory-Based Rules While the .cursorrules file served us well as a simple way to provide AI...

Read more →

Designing for Developer Joy: Python Library Ergonomics

February 6, 2025

In our previous post, we explored the principles of good API design. Today, let’s dive into what makes a library not just functional, but genuinely enjoyable to use. After years of maintaining open source libraries, I’ve learned that developer joy often comes from the small details - those little moments where a library feels like it’s reading your mind. What Makes a Library “Feel Good”? Have you ...

Read more →

The Art and History of General Dynamics' Atoms for Peace Campaign

February 5, 2025

I have no idea how I first stumbled across the striking modernist artwork of General Dynamics’ Atoms for Peace campaign. But somewhere along the way I did, and I’ve been fascinated by it ever since. I grew up in more of an art family than an engineering one, and in particular was a Kandinsky/Bauhaus kid. So not suprisingly, I was drawn to the Atoms for Peace work. But it also struck me as so incre...

Read more →

Why Your Library Needs Pytest (And How to Get Started)

February 4, 2025

So, you’ve built a Python library. Maybe it solves a niche problem, maybe it’s the next big thing. You’ve poured hours into crafting the API, writing documentation, and maybe even setting up linting (go you!). But… have you written tests? I get it. Writing tests can sometimes feel like eating your vegetables - you know it’s good for you, but it’s not always the most exciting part of the meal. For ...

Read more →

The Art of API Design: Making the Right Things Easy

February 3, 2025

After years of maintaining libraries like category-encoders and pygeohash, I’ve learned that good API design is more art than science. It’s about creating interfaces that feel natural and intuitive, making the right things easy and the wrong things hard. Let’s explore how to achieve this delicate balance. The Principles of Intuitive API Design Think about your favorite Python libraries. What makes...

Read more →

Secure Coding Practices for Python Library Developers

February 2, 2025

“It’s just a simple utility function,” I thought to myself as I reviewed the code. “What could go wrong?” Then I saw it: the function was blindly executing shell commands based on user input. One carefully crafted argument later, and someone could have turned our helpful library into their personal backdoor. When you’re building a Python library, you’re not just writing code; you’re creating somet...

Read more →

Subscribe to the Newsletter

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