diff --git a/README.md b/README.md index bf50b271e9ef438b34b6c7f75e27063065e5206a..5a754c78271ccd10122474db76a3177ae0666648 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,35 @@ Service has … - A simple web UI - A simple backup procedure (database is a single file) - No user management (this is a *personal* service after all) + +## But … why? +Good question. URL shorteners are (usually) terrible and useless. Except when +used correctly :thinkingsmart: + +I take a lot of hand-written notes on things and, having both a passion for and +job in IT, my notes would be much more useful if they included links to the +things I'm writing about. However, there's no way I'm going to hand-write a 50+ +character URL. + +That's where URL shorteners come in! + +Most shortener services I've found that are both open source and self-hosted use +something like 6-character-long paths for the link as they're meant for use by +multiple people; 14.8m possible URLs (your cap with 4 character paths) aren't +enough for public services. + +Six characters is *fine* but why write six characters when you could write four :D + +Also, why deal with user management and a relational database when you're only +going to have one user and a bunch of keys with values :D + +I also had a case of the typical "programmer unsatisfied with the {language|tech +stack|license|feature set|all of the above}, wants to make something better" +problem. I'm not a big fan of Node, PHP is ok, Python is meh, big relational +database is unnecessary, heavy frontend is unnecessary, complex backend is +unnecessary, I don't care about link tracking, click counts, link referrers, +geo-location of visitors, etc., etc., etc. + +All this put together, I decided I would be best served by using this as an +opportunity to learn more Go and write my own thing that does nothing more than +what I want need :)