Introduction
I am a programmer, and I approach software as such most of the time.
On occasion, however, I approach it like an ordinary user would, and every time I do, I learn something. This is one of those things.
Lesson
Another lesson I learned recently was this: eat your own dog food.
If you don’t, you have no idea what works on your software and what doesn’t.
I wrote an implementation of bc
, and even though it is not the best
tool for the job, I use it. I don’t use a desktop calculator, nor a handheld
one. I use my bc
alone. (Unless I don’t have access to my computer.)
I have found more bugs than users have, and I have found more complicated bugs.
This is a very good thing. If users are not running into bugs as often as me, and I run into bugs very little, then users are not getting bit by bugs much at all.
Experience
Contrast that with Gitea, the software I use to host my code on git.gavinhoward.com.
You would expect that they would host Gitea under Gitea, right? Wrong.
To be fair, they have a list of requirements, and an argument can be made why they were right to wait.
But my experience shows that it still causes problems for users.
In fact, I am of the opinion that Gitea should not have come out of beta, i.e., released version 1.0, without self-hosting.
When I switched from an Arch Linux server to a Gentoo server (to more easily get ZFS), the migration of Gitea was the thing that took the longest.
In fact, it just simply wouldn’t work with Gentoo’s OpenRC. It would work fine
if I ran it by hand over ssh
, but I could not get it to start as a service
under OpenRC.
Eventually, I had to write a small tool to force it to the background, and I have to run it every time I reboot that server. (It’s a small price to pay for a working setup.)
I don’t know if self-hosted Gitea would have helped them find this bug, since
they would probably use systemd
, but it might help.
Conclusion
Eat your own dog food. Seriously. If you can’t, what makes you think other people can?