Skip to main content

Using tools with appropriate ability

409 words (approximately 2 minutes reading)

As you may have learnt from my previous posts (blog post and fedi posts), I’m writing a client for lotide named Luna. And you might also have seen me saying it’s using Django as framework and my remark on it being unfitting. I am going to elaborate more on this in this post.


Django is a batteries-included web backend framework. It includes:

There is a lot more that can be installed as plugins, and some of these tools can be unplugged from the INSTALLED_APPS in the settings. However, given that the default contains so much, it can be troublesome to get a minimal setup.


On the other hand, Luna is just a frontend for lotide (a server-side-generated frontend, not to be confused with JavaScript front end), alternative to its official front-end hitide.

I started writing this client (with Django) because:

It doesn’t need database handling, or administration, or emailing. I would definitely have no use for most, if not all of djangoadmin and commands.

Django is an overkill for Luna. Using a big tool for small task feels very clumsy, with all the tools you won’t use and tools that you have to use.


As I get quickly annoyed with the generated and the lengthy getting out of hand, I haven’t worked on the client for quite a while, and am planning to drop development if no one else is taking over.

I have also tried to rewrite it in Go, but it seems internationalization support for Go is quite lacking. So, I backed to a more familiar stack using Quart (with better support for asynchronous programming, though it might be another overkill) and Jinja (which has somewhat matured internationalization support) and renamed it to a less common name (Yue) to avoid name conflict which led me to call Luna’s package lotide_luna. I’m less motivated than before, and also have less time, so this will move much more slowly.


Look at my fedi fellows' sites:
  1. Previous site
  2. What is Fediring?
  3. Next site

Articles from blogs I read

Generated by fead