The Grand Locus / Life for statistical sciences

There will be blog

Things have not been going smoothly on The Grand Locus recently. The blog was my first serious Python project, and as a beginner I made several mistakes. In particular, I did not realize that I had a huge technical debt. In 2012, I forked a Python 2 project for Google App Engine. Twelve years later, Google removed support for Python 2 and one good morning the blog went down.

I apologize to the readers who may have found the blog in a sorry state recently. It is a bit of a struggle to rewrite the code for Python 3, but I am getting there. Actually, if you are reading this, then I already managed to fix the back end so that I can publish new posts! With a bit of luck, I will soon be able to share my thoughts on more interesting topics.

In the meantime, here are some things I learned while fixing my blog. They are not particularly insightful, but it is just another way to ease my frustration.

1. The future does not always happen

Fifteen years ago, the future was Google+, microformats and other projects that are barely remembered today. Making the code ready for emerging technologies was not the best way to use my time. In contrast, Python 3 was already out and it was not difficult to see that it would eventually replace Python 2. Of course, nothing was running with Python 3 yet, so there were no incentives to prepare for it. In hindsight, I should have focused more on the release schedule of the infrastructure and prepare for upcoming updates.

2. Cool features are expensive

The hardest part so far is to remove the cool features from fifteen years ago. All I want is that people are still be able to read my blog in a few years. Adding code to gain 10% speed or 10% bandwidth here and there is not worth it. By the time a feature becomes fully mature, it is backward-incompatible because the function calls are not the same, the dependencies have changed etc. These features are for people who want to commit to updating their code all the time to make it optimal. If you introduce them without a clear maintenance plan, they just break your code.

3. Beware of knowledge cutoffs

I found that GitHub Copilot was very efficient at upgrading the code to Python 3. However, it was not so good at fixing the calls to the various Google App Engine libraries. The knowledge cutoff date remained at 2021 for a long time, so the newest changes were not available. GitHub Copilot kept suggesting code that did not work. It took me a while to understand that knowledge cutoff was the reason, and in the end there was nothing to do about it except not use GitHub Copilot.

Epilogue

I am not prepared to abandon the blog just yet, so I will spend the time bringing it back to speed. This is the first post since the blog went offline. Fingers crossed. Publishing in 3, 2, 1... 🚀


«



blog comments powered by Disqus

the Blog
Best of
Archive
About

the Lab
The team
Research lines

Blog roll
Simply Stats
Opiniomics
Ivory Idyll
Bits of DNA