Sad analysis of the traffic decline on Stack Overflow:
https://blog.pragmaticengineer.com/stack-overflow-is-almost-dead/
I've spent a lot of time on SO over the years, but it hasn't been the same since the founders left. The site claims my posts have helped 13 million developers, so I think it was worth the time.
I wonder if any AI tool will figure out how to give credit to its sources. One of the things that SO did so well in the early days was motivate developers to share their knowledge by letting them know when their answers had been helpful.
#StackOverflow #DevTools
Don Kirkby
mastodon 4.7.3Playful Programming - I write bioinformatics software at the BC Centre for Excellence in HIV/AIDS, and I design board games and puzzles for fun.
Here's a description of some nice features I didn't know about in #PyTest's parameterize() decorator. My favourite is how to avoid really long names for test cases.
https://nedbatchelder.com/blog/202602/pytest_parameter_functions
The schedule was recently published for the @pycascades@hachyderm.io #python conference at https://pretalx.com/pycascades-2026/schedule/
No link to it yet from the main conference website, though.
My talk is second last on Sunday afternoon, so I hope people stick around.
I love it when you find the right algorithm. I've been working on a #Python project to cover a crossword grid with Tetris blocks, and I used evolutionary search, because I couldn't think of anything better. Then recently, I learned about Knuth's dancing links and exact cover algorithm. I even found a couple of Python implementations.
The new algorithm dropped my search time from hours to milliseconds.
https://github.com/miniexact/miniexact
Since I was going to the Terminal City Tabletop Convention in Vancouver last week, I finally got around to writing up my rules changes to Oneonta Whist. It's a #Solitaire #TrickTaking #CardGame, that I think has an interesting decision to make with each hand. Over the past few years, it's become my favourite solitaire. As a bonus, I also included Cribbage Solitaire, another solitaire with interesting decisions in each hand.
https://donkirkby.github.io/oneonta-whist
I don't know if I'd ever have the nerve to really use it, but this writing tool forces you to keep writing until you reach a time goal or a word count goal. If you pause for too long, it deletes everything! It's like "Speed III: At The Keyboard". Hard-core mode doesn't even let you read or edit what you've written until you reach your goal.
https://www.squibler.io/dangerous-writing-prompt-app
I published a new release of my Live Coding in #Python plugin for #PyCharm today.
https://plugins.jetbrains.com/plugin/9742
* Support PyCharm 2025.1.2 and higher.
* Stop the window from scrolling away after you undo in live coding mode.
* Fix Read access error in PyCharm.
* Highlight small differences in LiveImageDiffer.
* Fix rounding error in live turtle coordinates.
* Improve Pytest support.
* Support Python 3.14.
I just noticed that Python 3.14 deprecated argparse.FileType. I use that quite often to automatically open input and output files for command-line utility scripts, but I guess there's a failure mode where one argument successfully truncates an output file and then a later argument is invalid and aborts the script. They're saying you should validate all the arguments before you open any files.
Guess I have some cleanup to do.
I added another sorted words #puzzle to my Book Blender collection of #WordGames. It's "The Kiss", by #KateChopin - somewhere between a romcom and a comedy of
manners.
https://donkirkby.github.io/book-blender/the-kiss.pdf
#ShortFiction #Fun
Played a nice block pushing puzzle: Loopholes. Each level has an extra rule and you have to find the loophole.