Spyke

Replies

linux

Comment on

Am in the only one who cringes at install instructions that require piping some curl output into bash?

You have the option of piping it into a file instead, inspecting that file for yourself and then running it, or running it in some sandboxed environment. Ultimately though, if you are downloading software over the internet you have to place a certain amount of trust in the person your downloading the software from. Even if you're absolutely sure that the download script doesn't wipe your home directory, you're going to have to run the program at some point and it could just as easily wipe your home directory at that point instead.

Comment on

Does Lemmy really benefit from Rust? Is code execution speed the bottleneck?

One benefit of using rust for webservers in general is that it's possible to have a consistently lower latency compared to GCd langues: discord mentions this in their article about migrating to rust from go: https://discord.com/blog/why-discord-is-switching-from-go-to-rust

Another difference between rust and e.g. python is that rust expects you to invest more time to get code that's runnable in the first place, but likely more well optimized and correct.

In my experience from writing rust, the language pushes you to write more efficient code compared to python because it makes things like copying visible and also because it's easier to reason about memory usage compared to garbage collection which means that you're more likely to have a useful model of the performance cost of various things while you're programming.

It's possible that a hypothetical lemmy written in python would have allowed the devs to do some big picture optimizations that they haven't had the time to do yet in the rust version, so for the time being it might be slower than a python alternative.

Rust is likely to catch up though: eventually the rust version will probably also have this optimization while the python version has to resort to make smaller optimizations that the rust version already had in the first version of the code or that you get for free from the language.

linux

Comment on

*Permanently Deleted*

Reply in thread

As a terminal fan, my main reasons for preferring them over a gui (for some tasks) are:

  1. It's faster to type than to navigate menus
  2. If I don't know where something is and can't guess it instantly, it's usually faster to search for it in a man page than randomly digging through gui menus
  3. You can combine commands with each other with pipes or $()
  4. You can search through your command history to find previous commands
  5. You can write scripts and aliases to automate common tasks
  6. The terminal requires less context switching. Typing ten commands is less mentally taxing than opening ten different guis

The barrier for entry is higher with terminals but unless you need visual feedback (e.g. because you're editing an image) it's easier and faster for both common and rare tasks.

Comment on

Tabs are objectively better than spaces - gomakethings.com

Another accessibility reason for tabs: when using a braille display, each space takes up one character cell, so indenting with four spaces eats up four cells. Indenting three times with four spaces each eats up 12 characters already. Tabs only take one character cell each, so three indents = three character cells used.

The fact that there (I assume?) isn't a braille oriented text editor that can handle space-based indentation in a smarter way is a bit depressing. Maybe the solution should be better tools based around accessibility rather than convincing everyone to switch to tabs, which is a project that will just never succeed.

Comment on

The empire of C++ strikes back with Safe C++ proposal

I'm a bit skeptical that a borrow checker in C++ can be as powerful as in rust, since C++ doesn't have lifetime annotations. Without lifetime annotations, you have to do a whole program analysis to get the equivalent checks which isn't even possible if you're e.g. loading dynamic libraries, and prohibitively slow otherwise. Without that you can only really do local analysis which is of course good but not that powerful.

Lifetime annotations in the type system is the right call, since it allows library authors to impose invariants related to ownership on their consumers. I doubt C++ will add it to their typesystem though.

piracy

Comment on

I'm doing my part!

Reply in thread

Download a popular movie and keep your computer on for a while 🤷‍♂️

Although, seeding stuff that isn't popular is also important. I don't know what you're seeding but if no one is leeching maybe there aren't a whole lot of other people seeding either. When someone does leech, they might be very happy that you're there keeping that one torrent alive.

Comment on

Is software getting worse?

I think that there are many potential causes, but I would like to add monopolization to the list.

Usually, a bad release spelled the demise of a company, because release times were so long that competitors could take advantage of a bad software release.

People aren't going to switch from windows because they release something bad or buggy, in that case it would already be dead. Windows isn't technically a monopoly, but they have a lot of inertia and there are many programs that only run on windows that people depend on. There is perhaps a limit to how bad windows can be before people abandon it en masse, but they can get away with a lot. The tech world is full of different companies and programs that are in monopolistic-ish positions.

Comment on

Which language you wish would really grow and reach mainstream adoption?

Haskell. I think that more people being familliar with Haskell concepts would be good for programing culture and it would increase the odds of me being able to write Haskell professionally, which is something I enjoy a lot when writing hobby code at least. Having more access to tooling and a bigger eco system would be nice as well.

I'm not a 100% sure about my answer though. For one, I might grow to resent Haskell if I had to use it at work, and there's also a risk that it would be harder to do cool innovative stuff with the language when more big companies depend on it.

linux

Comment on

open letter to the NixOS foundation

Reply in thread

Don't know anything about this particular case so while "social engineering to create a backdoor" is certainly a possibility, so is the more straightforward explanation that it is drama about real or perceived problems in the nix community. I think that it's dangerous to dismiss this altogether because of the recent xz debacle.

rust

Comment on

Lemmy core devs have started work on a new front end using leptos

Reply in thread

What's your point? I understand that you don't sympathize with the devs political position but so what? Either you see some point in lemmy despite this like most people on here who don't agree with them, or you don't and then you should just log off.

I'm not particularly interested in seeing this argument being hashed out anytime lemmy development is mentioned so please stop making this comment on unrelated threads.

Comment on

What the f*ck is a monad

A monad isn't "a thing", it's a common interface shared by several different types that have a common mathematical structure that happens to be useful for structuring programs around. I think that's why it's so confusing to people, other programming languages tend to not have as abstract abstractions front and center.