aloso

joined 1 year ago
[–] aloso@programming.dev 1 points 11 months ago* (last edited 11 months ago)

Thanks!

Piping in a shell script should be doable, it just hasn't been requested yet.

 

l just released a new version of to-html. I created to-html a few years ago for my blog. It is very easy to use: When you want to include the output of a command on a website, run it with to-html:

to-html "cargo clippy"

Then copy and paste the output into your website. to-html comes with some options to customize its output. Starting with this release, you can create a configuration file, so you don't need to repeat the same CLI arguments every time you use to-html. This release also adds shell completions, a way to customize terminal colors via CSS, and a flag to not print the shell prompt. A big thank you to the contributors who implemented these features!

[–] aloso@programming.dev 2 points 1 year ago

It is well supported in all browsers and operating systems. At least VS Code and IntelliJ support it, and even some terminals.

 

Author of Pomsky here. Feel free to ask me anything!

[–] aloso@programming.dev 2 points 1 year ago

I don't understand the "serde2" issue. Isn't "someusername/serde" strictly worse than "serde2"?

GitHub being the only auth provider is something the maintainers wanted to fix, but didn't have enough bandwidth to implement. I think they would welcome contributions!

[–] aloso@programming.dev 7 points 1 year ago* (last edited 1 year ago) (1 children)

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(...)?.

[–] aloso@programming.dev 2 points 1 year ago

I can't remember ever needing more than two question marks (??), and even that is very rare in my experience.

[–] aloso@programming.dev 6 points 1 year ago* (last edited 1 year ago)

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.

[–] aloso@programming.dev 1 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] aloso@programming.dev 4 points 1 year ago (3 children)

No it's not, it is 100% a unit type (except it's not really a type, since you can only use it as return type and nowhere else)

[–] aloso@programming.dev 4 points 1 year ago
  • 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)
[–] aloso@programming.dev 3 points 1 year ago* (last edited 1 year ago) (1 children)

Easy interop with legacy code is how kotlin took off, so maybe it will work out?

Good interop was a requirement for widespread adoption, but not the reason why programmers want to use it. There's also null safety, a much nicer syntax, custom DSLs, sealed classes, type inference, data classes, named and optional arguments, template strings, multi-line strings, computed properties, arbitrary-arity function types, delegation, custom operators, operator overloading, structural equality, destructuring, extension methods, inline functions and non-local control flow, reified types, ...

Some of these features have since been added to Java.

[–] aloso@programming.dev 1 points 1 year ago* (last edited 1 year ago) (1 children)

It gives you more type safety, because you use a ProxyᐸFooᐳ instead of just usize.

[–] aloso@programming.dev 3 points 1 year ago (1 children)

Actually, it's not a package repository (it doesn't store crates), it's "just" a website to display metadata from crates published on crates.io. It also shows certain information from docs.rs, GitHub, rustsec.org, etc, and has many useful features that the crates.io website lacks, including a pretty good full-text search.

view more: next ›