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
best-practicescorporate-culturedevelopment-practicesinner-sourcelibrary-developmentopen-sourcepython
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...
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...
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...
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...
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...
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 ...
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...
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 ...
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...
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...
Subscribe to the Newsletter
Get the latest posts and insights delivered straight to your inbox.