F
Feed Atlas
OPML directory + server-side RSS reader

miguelgrinberg.com

SiteRSSBlogs
Back

Latest posts

  • LLM Use in the Python Source Code
    Feb 28, 2026Miguel Grinberg

    There is a trick that is spreading through social media. If you block the claude user on GitHub, then each time you visit a GitHub repository that has commits by this user you get a banner at the top alerting you of the user's participation. It's an easy way to spot projects that have started to rely on coding agents, in this case on Claude Code specifically. Imagine the surprise when you see that

  • My Courses Site is Moving to a New Home
    Feb 15, 2026Miguel Grinberg

    This is a short blog post to announce that I'm migrating the site in which I host my paid courses to a new platform at https://learn.miguelgrinberg.com. If you have purchased a course or ebook directly from me, this article tells you how to transfer your account to the new site.

  • Date Arithmetic in Bash
    Feb 04, 2026Miguel Grinberg

    Date and time management libraries in many programming languages are famously bad. Python's datetime module comes to mind as one of the best (worst?) examples, and so does JavaScript's Date class. It feels like these libraries could not have been made worse on purpose, or so I thought until today, when I needed to implement some date calculations in a backup rotation script written in bash. So, if

  • How to Add a Quick Interactive Map to your Website
    Jan 29, 2026Miguel Grinberg

    In this article I want to share a technique that I recently learned to display an interactive map on a website. For this, you will need just a few lines of HTML and JavaScript. This solution does not require you to sign up for any accounts or services anywhere, it is completely free and open source, and can be integrated with any front or back end web framework. Give the demo below a try and if yo

  • A Year In Review: Flask in 2025
    Jan 01, 2026Miguel Grinberg

    Like I did last year, I reserved some time during my holiday break to prepare an independent report of the Flask ecosystem in 2025.

  • CSRF Protection without Tokens or Hidden Form Fields
    Dec 21, 2025Miguel Grinberg

    A couple of months ago, I received a request from a random Internet user to add CSRF protection to my little web framework Microdot, and I thought it was a fantastic idea. When I set off to do this work in early November I expected I was going to have to deal with anti-CSRF tokens, double-submit cookies and hidden form fields, pretty much the traditional elements that we have used to build a defen

  • How to Securely Store Secrets in Environment Variables
    Dec 14, 2025Miguel Grinberg

    You may have seen the recent reports of a malware that stole API keys, tokens and other secrets from a large number of developers. From where were these secrets stolen from? You guessed it, they were mostly stolen from environment variables. We use environment variables to configure information that processes need to run, but this type of storage was not designed for security, so using the environ

  • Python 3.14 Is Here. How Fast Is It?
    Oct 08, 2025Miguel Grinberg

    In November of 2024 I wrote a blog post titled "Is Python Really That Slow?", in which I tested several versions of Python and noted the steady progress the language has been making in terms of performance. Today is the 8th of October 2025, just a day after the official release of Python 3.14. Let's rerun the benchmarks to find out how fast the new version of Python is!

  • Benchmarking MicroPython
    Jul 31, 2025Miguel Grinberg

    In the Q&A session following my EuroPython 2025 presentation about the Microdot web framework, a member of the audience asked me what the performance of MicroPython running on a microcontroller is. This took me a bit by surprise, because I really had no way to quantify it, I just knew it was, in vague terms, not great. I never questioned the low performance, because it was never a problem for me.

  • Why Generative AI Coding Tools and Agents Do Not Work For Me
    Jun 14, 2025Miguel Grinberg

    People keep asking me If I use Generative AI tools for coding and what I think of them, so this is my effort to put my thoughts in writing, so that I can send people here instead of having to repeat myself every time I get the question. From the title you already know that this isn't a pro-AI blog post. But it isn't an anti-AI post either, at least I don't think it is. There are already plenty of