Ephes Blog

Miscellaneous things. Mostly Weeknotes and links I stumbled upon.

Date -

Weeknotes 2025-04-21

, Jochen
Generic expert Python programming advice: "Or, you could just not do any of that." --David Beazley

Software Architecture and Django

I recently attended a Django-Cologne Meetup focusing on Django and software architecture—two topics I'm quite passionate about. The discussions were fascinating. I appreciate Django for its "batteries included" approach, allowing you to get projects up and running quickly, but it can become somewhat restrictive as projects grow in size and complexity.

From a software architecture perspective, inheriting from models.Model presents a dilemma. You either make your business logic dependent on Django and tie it to your database structure (which isn't ideal), or you try to abstract Django away behind a Repository pattern, expending considerable effort going against Django's grain.

But perhaps there's a middle ground? What if we keep Django as an UI entry point handling mostly CRUD operations, while maintaining most business logic separately and only invoking it from Django when necessary? I'm still exploring this question, though I'll admit that implementing business logic directly in Django via fat models works well enough for many projects and might be the most practical approach in most cases.

New Podcast Episode: Bytes and Strings

It's been a while since our last release! I just published an episode we recorded almost two months ago—I simply couldn't find the time to get it out sooner. As a result, we ended up announcing a conference that has already taken place and discussing "news" that's no longer particularly new. Despite this timing issue, I really enjoyed the episode.

One challenge I often face is evaluating episodes shortly after recording them; it's difficult to judge whether content is actually interesting or boring when it's all still fresh in my mind. With this episode, enough time had passed that I'd forgotten many details, and revisiting it now, I found it quite engaging! This is definitely motivation for us to record more episodes soon.

Articles

Fediverse

Software


Weeknotes 2025-04-14

, Jochen
markets soar as investors realize that mommy didn't actually disappear, she was just hiding behind her hands --Everything's Computermeyer

Last week I attended a meeting of the Düsseldorf Python User Group (PyDDF) where we had an engaging discussion about Django versus FastAPI. While I had set aside some time for open source work last week, I found myself struggling to pick up any of the loose threads on my existing projects. Instead, I decided to channel my energy into "vibe coding" a new pet project: a minimalistic monitoring system. After just a few weekend hours, primarily using Claude Code for development, I've made quite some progress.

I've been thinking for long about the potential advantage of building specialized tools tailored to your specific needs rather than relying on general-purpose solutions that do everything adequately but nothing exceptionally well. For those comfortable with comprehensive frameworks like Django, creating custom tools might actually be faster than learning to navigate complex standard software. Plus, with custom solutions, you understand how everything works, can debug efficiently, and can leverage synergies between components you've built. The alternative - using standard software - often comes with significant long-term risks: vendor lock-in, companies going bankrupt, or vendors whose interests don't align with yours and who ultimately treat you as just another revenue source to squeeze dry.

Looking at software history provides some perspective. In an era when software was distributed through physical media or came pre-installed on computers, having general-purpose applications that covered multiple tasks made sense. The optimal solution might have been something like an office suite. Over time, people began to believe this was simply how things should be - running business logic in Excel became normalized, despite being a dystopian hellscape. Far from ideal. Gradually, as internet distribution made specialized software more accessible, we've seen a shift toward more purpose-built tools like Jupyter notebooks instead of spreadsheets. The hellscape isn't completely gone, but we've made some progress.

Now, with the emergence of LLMs, we're entering a new phase where we can delegate boilerplate code and routine craftsmanship to machines. By writing specifications in natural language and letting LLMs generate custom applications, development becomes even more efficient. While you still need to understand your technology stack, you can work much faster. The implications aren't entirely clear, but there's definitely emancipatory potential here.

Sure, LLMs might also make configuring corporate standard software easier, but let's be clear: LLMs from megacorps configuring standard software from other megacorps is just another dystopia in disguise. The last thing we need is easier SAP migrations -
that's a step backward, not forward. But the openness of current developments is what makes this moment exciting despite these risks.

My optimistic view is that we might be entering a golden era of individualized software development. We can not only download and use other people's code via the internet but potentially integrate diverse codebases through LLMs and MCP. We'll need to address challenges like prompt injection, perhaps by compiling MCP server code to WebAssembly and running it in sandboxes with precisely defined capabilities.

Articles

Software


Weeknotes 2025-04-07

, Jochen
Software engineering is programming over time --swizec

I still have so much on my plate. Really looking forward to taking a break during Easter and attending DjangoConEU.

Articles

Software

Videos

Out of Context Images