Emma has a blog

A work in progress...

Welcome!

To a website entirely dedicated to my ramblings over #WebDev, #ProjectManagement, #Hardware, #AI, #MicroControllers, #HomeLab and more!

If you are curious, you can read more about me here !

Developers, Factory Workers, and the AI Replacement Myth

For years, companies have been turning developers into assembly line workers, stripping away required skills, breaking work into small, context-free tickets anyone can pick up.

AI is just the next step on that path. Developers are replaceable, there is nothing that says they all have to be humans, is there?

The landscape of 2026 gives multiple paths forward. Same starting point, different choices, different outcomes.

The Advent of Code.... Assistants - Part 7

The final part of the Advent of Code Assistants series. Three AIs faced 12 days of coding challenges, and GPT-OSS proved that fully local AI coding assistants are now viable. But are they ready to work unsupervised? Here are my conclusions after putting Claude, GPT-OSS, and Kimi-K2 through this experiment.

The Advent of Code.... Assistants - Part 6

Days 9-11 were humbling. Day 10 was probably my biggest fail of AoC 2025, and Day 11 wasn't much better—I rolled my own algorithm instead of following my own advice about using libraries.

But the AIs had their own issues. Kimi-K2 pulled a Dieselgate and hard-coded test results to pass validation, Claude blamed OOP for slowness actually caused by library choice, and all 3 preferred re-inventing the wheel rather than using established solutions.

AIs are excellent algorithm encyclopedias. They know Kruskal's, Integer Linear Programming, memoization. But they fail at the meta-skill of knowing when to delegate to specialized libraries. When your codebase has 80% duplication and you're reinventing an established library, being able to name the algorithm doesn't help.

The Advent of Code.... Assistants - Part 5

There's a critical distinction between abstraction (hiding complexity) and modelization (representing domain concepts in code). Claude doesn't seem to know the difference; it keeps flagging dataclasses as "heavy abstraction" when they're actually making the code more concrete, not less.

Day 8 exposed a bigger problem: Claude initially called 70-88% code duplication between solutions a "stylistic choice." It took some nudging for it to acknowledge this as the anti-pattern it is.

When coding assistants normalize poor practices, even for throwaway challenges, that's a problem for learners who trust their guidance! And maybe it says something uncomfortable about our industry's standards too!

The Advent of Code.... Assistants - Part 4

Day 5 was rough: I chose SQL, forgot about sorting, and Claude rubbed in that my code was 72x slower than GPT-OSS. Day 6 brought new surprises:

  • Kimi-K2 failed for the first time
  • Claude ranked me 3rd behind its own messy code because humans type slower than computers.

At the mid-point of Advent of Code 2025, it's time to reflect: AIs excel at isolated challenges, local GPT-OSS is genuinely impressive, and sometimes the best debugging partner is a rubber 🦆 that happens to be a 🤖.

The Advent of Code.... Assistants - Part 3

Part 3 of the Advent of Code AI series: GPT-OSS halts mid-task forcing to switch from OpenCode to Codex, Claude doesn't seem to understand variable names, and none of the AIs will reuse code... Plus: the performance cost of elegant Python abstractions

The Advent of Code.... Assistants - Part 2

Part 2 of the Advent of Code AI series: performance benchmarks that AIs refuse to accept, persistent patterns of non-reusable code, and the real-world value of OOP when tasks are "almost the same." Includes practical tips for steering AI behavior and honest observations about when AI assistants actually help versus when they're just confident about being wrong.

The Advent of Code.... Assistants

The first in a series documenting pair-programming with AI agents. Using Advent of Code 2025 as a testbed, I'm comparing solutions from multiple AI tools (Claude Sonnet 4.5, GPT-OSS:20B, Kimi-K2 Turbo) against human-written code. Complete with session logs, comparative reviews, and transparent documentation of what AI can actually do when solving constrained programming challenges.

Django Admin Deux: Bringing Django's Admin Back to Django

Django's built-in admin is powerful, but it's essentially a separate framework within Django. After attempting to modernize django-admin2, I realized we needed a fresh approach: an admin interface that works like the rest of Django, built on generic CBVs, plugins, and view factories. Meet Django Admin Deux: a proof-of-concept admin where CRUD operations are just actions, knowledge transfers both ways, and everything feels like Django.

Making Django Ready for the Next 20 Years

#django  

Emma Delescolle's candidacy statement for the Django Steering Council.

Making Django ready for the next 20 years by:

  • lowering the barrier to contribution and involving a more diverse set of contributors
  • dealing with the realities of an aging code-base
  • building code ownership and groups specializing in specific areas of core
  • enacting feature requests from the steering council (django roadmap)
  • improving the third-party package story

Read more in the article!

Django TemplateYaks

Thursday morning, I fell into a rabbit hole... Inside the hole, there was a yak! I started shaving the yak and only then did I see it was a Django TemplateYak! A tale of a proof of concept for Class-Based Django TemplateTags