Hey there! Some of you may have seen my post from a couple weeks ago to the open source community about this project, if you haven’t, feel free to go there and read it for some context.

But for a quick rundown: A friend of mine showed me how both the official clients and the actual tldr-pages repo either openly took AI submissions, or had a relaxed/non-existant AI policy. She also pointed me to ethical-tldr, which is a repo committed to removing all of the AI submissions from tldr, they have their own client forked from the official, but since it’s still written in python, it’s slow, (and python is very tainted). Thus, I decided to learn C from scratch over just a couple of days, and wrote my own client. Hence, my client is called cldr, opposed to tldr.

Now, let’s look at what makes cldr better than tldr. And yes, this is absolutely me “shilling out” for my project, I think it’s awesome and I want people to use it!

For some direct statistics: at best, when printing a page, tldr is 20 times slower than cldr, but on some systems, (my laptop), it can be over 150 times slower, taking 200ms compared to cldr’s 1-2ms. tldr is slow enough to see a very noticeable gap between the moment you run the command and when it actually prints the page. cldr is also smaller than tldr! Taking only 55kB opposed to the 100+kB of tldr.

cldr just overall has a much more polished user experience, with a cleaner interface (compare cldr --list -p common to tldr --list -p common), detailed error messages and debug logs, and when something goes wrong, cldr gives you suggestions on how you can fix it.
By the way, if you don’t want the fancy visuals (maybe you’re scripting) just add --plain to your arguments.

cldr adds the notes feature, allowing you to write as much additional information about a command as you want. For example, if you frequently use a special ffmpeg command, but can never remember it, just write a note about it! And hey, you can make the note as fancy as you’d like, with all of the formatting of normal page files. To get an in-depth lesson on how to write formatted notes, run cldr --help-notes.

cldr also lets you customize the rendering even more than tldr, you can choose from many different colors, backgrounds, and formatting keys to make different parts of pages look however you want! You can run cldr --colors to see everything available!

cldr stores the database of pages locally at $HOME/.local/share/cldr (this can be customized!) instead of tldr’s default behavior of fetching the pages over the internet, this leads to much faster loading, and means you don’t need an internet connection to use cldr.

And best of all, cldr was (and always will be) developed without the usage of any generative ai.

Oh and, by the way, cldr is a direct replacement for tldr in the command line, meaning for *any command you’d run in tldr, you can simply replace the ‘t’ with a ‘c’ and it will work the exact same.

*The only exceptions to this are with -s/--source, -s must instead be changed to -S, AND, while writing this, I realized that the source functionality is broken. Also, -c/--color and -r/--render are not implemented, because I couldn’t even notice them doing anything in the original client.

  • bugbear
    link
    fedilink
    arrow-up
    4
    ·
    3 hours ago

    Looks interesting, I’ll definitely check it out later.

    Re: local pages as opposed to always downloading them Thank you, that always bothered me about tldr - always wasting my time.

    Edit: also thanks for the link to ethical-tldr