Three Bugs That Would Have Stayed Hidden in Excel

When you convert an optimization model from Excel to standalone Python, you expect to do some work. You expect to rewrite the data loading, restructure the variable definitions, test the output. What you don’t expect is for the model to fail in three distinct ways, each one caused by something the Excel version was handling silently without you knowing it.

Handling PuLP solver errors in a Python optimization model

That’s what happened here. Three bugs. All real. All the kind that would have stayed invisible forever if the model had stayed in the spreadsheet.

Continue reading “Three Bugs That Would Have Stayed Hidden in Excel”

PuLP, MILP, and CBC: The Alphabet Soup Behind Your Schedule

PuLP is a Python library for writing optimization models. MILP stands for Mixed Integer Linear Program. CBC is an open-source solver. Together, they’re what makes the Staff Scheduler work — and together, they represent something I find genuinely interesting: the fact that problems that used to require expensive commercial software and specialized hardware can now be solved on a laptop, for free, in a few seconds.

PuLP, MILP and CBC working together in a Python optimization model

Let me explain what’s actually happening under the hood.

Continue reading “PuLP, MILP, and CBC: The Alphabet Soup Behind Your Schedule”

The Client Who Changed His Mind (And Why I Finished the Job Anyway)

Years ago, I was doing gigs on Fiverr. Mostly Excel work — macros, pivot tables, solver models. I had a profile and a handful of listings, and I’d written about that whole love/hate experience back in 2017 (short version: the clients who treat you like a vending machine are the price you pay for the ones who bring you genuinely interesting problems). One day, a genuinely interesting problem showed up.

kindiflost fiverr profile

A training company needed help scheduling their staff. Multiple clients, multiple courses, multiple instructors, limited hours, shared equipment, weird simultaneous constraints. Classic Operations Research territory. I said yes.

Continue reading “The Client Who Changed His Mind (And Why I Finished the Job Anyway)”

My WordPress Site Was a Mess. Here’s How I Found Out.

If you run a small WordPress site and haven’t thought much about optimization, security, or caching — this series is for you. A few weeks ago I used Claude, an AI assistant by Anthropic, to do a full technical review of this very site — the one you’re reading right now. Claude walked me through every problem it found and every fix in real time, while I made the changes directly in my dashboards. What we uncovered was not great — but the process turned out to be genuinely useful, so I’m documenting every step here so you can do the same thing on your own site.

jetpackboost-bad-score
jetpackboost score
Continue reading “My WordPress Site Was a Mess. Here’s How I Found Out.”

Shadow price in linear programming

Linear programming is a mathematical method that is used to optimize the allocation of resources. It can be applied to a wide range of problems, such as maximizing profits or minimizing costs. One of the key concepts in linear programming is the shadow price, which can be used to determine how a change in one of the constraints of a linear programming problem affects the optimal solution.

shadow price linear programming
Continue reading “Shadow price in linear programming”