• 2 Posts
  • 12 Comments
Joined 1 year ago
cake
Cake day: June 13th, 2023

help-circle





  • If all you do in the Err(e) => ... match arm is returning the error, then you absolutely should use the ? operator instead.

    If the match arm also converts the error type into another error type, implement the From trait for the conversion, then you can use ? as well.

    If you want to add more information to the error, you can use .map_err(...)?. Or, if you’re using the anyhow crate, .with_context(...)?.



  • Apparently the maintainer trusted the first-time contributor enough to propose tackling another bug.

    There is no trust needed when asking someone to fix a bug. It’s not like the maintainer would lose anything if the contributor failed to fix the bug.

    Besides, I think it is natural to want recognition when you do a lot of work for free. Many other people wouldn’t do this unpaid work at all; recognizing their contribution is the bare minimum of good manners. Even in a company where employees are paid for their work, it is customary to give credit to co-workers who have helped you. Most people don’t like to work in places where they don’t feel appreciated, and that is also true in Open-Source.


  • It’s not possible to instantiate or assign, which is more like a never type than a unit

    Actually, this is because void is not a type, it is just a keyword, a placeholder used instead of the return type when a function doesn’t return anything.

    If it were a bottom type, that would mean that a method returning void must diverge, which is simply not true.

    Also, if it were a bottom type, it would be possible to write an “unreachable” method

    void unreachable(void bottom) {
        return bottom;
    }
    

    Even though it couldn’t be called, it should be possible to define it, if void was a bottom type. But it is not, because void isn’t a bottom type, it’s no type at all.



    • Svelte/Vue/React components need to be compiled
    • JavaScript should be minified if the project has a significant size
    • File names should have a content hash, so they can be cashed in the browser
    • Even with HTTP/2, there’s still a case to be made for bundling hundreds or thousands of JS modules into a single file for better performance
    • Bundlers give you a dev server with live reload and hot module replacement for great developer experience
    • Setting up Vite is really easy and requires minimal configuration (compared to Webpack, for example)

  • I’ve been using Manjaro with KDE for a few years now. It works smoothly, I never ran into any issues with it.

    The pacman package manager is pretty nice, too, I found it faster and easier to use than apt-get, and the provided packages are always kept up-to-date. Updating the system (even installing a newer Linux kernel) is very simple and works reliably. So you always have the latest version of your apps, the kernel, and the DE.

    In the rare occasion that a program is not available in the official repositories or the community-maintained AUR, you can also install snap or flatpak packages.

    And since Manjaro is derived from Arch, you can use the Arch Wiki, which is very useful when you want to set up a database, use the android debug bridge, install another package manager, or do anything else less than trivial.