Araozu

joined 1 year ago
[–] Araozu@lemmy.world 0 points 11 months ago (1 children)

Maybe not as much, it would seem that way, but the same thing happened with Sync last month and people were defending the app, ads & google because the app is prettier, more convenient or familiar.

[–] Araozu@lemmy.world 4 points 1 year ago (1 children)

You'll get better with practice. When I started with my Corne i was typing at 5-10 letters per minute the first week. After a month of practice I reached around 50 wpm, and hit a ceiling of ~90 wpm.

Speed should be a metric, not a target. It should be a side effect of using a better keyboard, so don't focus on speed. Instead focus on accuracy, and learning exactly where each key is.

[–] Araozu@lemmy.world 5 points 1 year ago (4 children)

Since we are talking about printers, doesn't CUPS require drivers to be installed? I have an EPSON L3150 & L395 at work and they are the only thing keeping me from installing linux in all the computers.

So basically I just need to set the print quality to high, and use the scanner. I've tried the official DEB drivers in Ubuntu, compiled the source code in Ubuntu & Arch, and nothing works. I can't set the print quality (the option isn't even listed when printing/in the printer settings)

Those epsons have their own scanner program, Epson Scanner or something. Installed from DEB and source, they work only sometimes. Tried skanlite, also sometimes work. Sometimes it detects the scanner, other times it doesn't.

Tried using CUPS, it still required me to install the printer drivers.

Tried generic built-in drivers, don't work.

Tried epson-inkjet-printer-escpr from AUR. Doesn't work.

All done while having the printer directly connected to the PC. Nothing reliably works.

How does one even setup IPP? It's easier to find documentation about the latest JS frontend framework than setting up IPP

Am i dumb?

 

While working with a dynamically typed lang, I came across this:

hash(password, algorithm, algorithmOptions)

Where algorithm is a constant signaling which hashing algorithm to use, and algorithmOptions is a dict whose keys depend on algorithm.

So I thought, can we dictate that if a previous parameter has this value, then this parameter has to have this other value?

E.g.

enum HashAlgo {
    Bcrypt,
    Argon2,
}

type BcryptOptions = {
    Int optionA,
    Int optionB,
}

type Argon2Options = {
    String optionC,
    String optionD,
}


// Here I make this type "depend" on an argument of type HashAlgo
type HashOptions = [HashAlgo] => {
    HashAlgo::Bcrypt => BcryptOptions,
    HashAlgo::Argon2 => Argon2Options,
}

fun hash(
    String password,
    HashAlgo algorithm,
    // Here I use HashOptions, passing the prev. argument
    HashOptions[algorithm] options,
)

This way the compiler can ensure the correct dict is used, based on the value of algorithm

Does something like this exist? I now realize that it would be impossible to type check in compile time based on a runtime value, but if it was allowed only for constants? What do you think?

[–] Araozu@lemmy.world 5 points 1 year ago

Yeah, I once tried to switch to Kubuntu, wanted my macos style global menu. In arch I just

yay -S plasma5-applets-window-appmenu

In Kubuntu, I had to download source and spend 2h compiling, every 5 minutes CMake complained a dependency was missing, searching how the dependency package is called, installing, now another dependency..

[–] Araozu@lemmy.world 15 points 1 year ago (3 children)

You have to accept to being tracked by Google, having an advertising id, all the data Firebase collects. Their ToS is large.

Users were asking for it, that's true. I guess users don't really care about being tracked, allowing google into their phone and indirectly supporting them controlling the web, thus enabling them to do things like manifest v3 or the web integrity API.

Ads? understandable, the dev has bills to pay. Not open source? Purists may hate it, but not the end of the world. Tracking? Google? No thanks, the beautiful design is not worth it.

 

When i connect to my jellyfin server to stream/download video/audio the speeds are tied to my internet speed. If my internet speed drops so does the transfer rate from my server. However it seems tied to my internet download speed (which varies from 0.5 to 80 mb/s), not the upload speed(which is usually 2 mb/s), and if i disconect my router from the internet I'm able to react the maximum allowed by my hardware. Is this normal? Or maybe something is wrong, or needs special configuration?

If relevant, I connect to a tp link router, which connects to the router from my isp.

[–] Araozu@lemmy.world 1 points 1 year ago

... but if even if they were to earn minimum wage, they can just, you know, take bribes? Just don't tell anyone about it. Or pass laws that benefit them.

[–] Araozu@lemmy.world 2 points 1 year ago (2 children)

I think that would allow a "better" democracy in paper, but not much would change. Using my country as an example:

  1. One person, one vote, voting is mandatory, if you don't vote you have to pay penalties and lose access to many government services. Businesses are required to give time off for voting. Elections are so fragmented that in the last one a person with 15% of the total votes won. People voted for they in second round only because they were the lesser of two evils.

Candidats are still shit, evil persons that only care about using the government to enrich themselves (and have a history of doing so), most of the population are so bad educated that they only need to hear a few promises to vote for them.

  1. Not implemented. Would be specially nice for the fragmentation.

  2. We only have congress. Still corrupt, still holds most of the power, uses it to gain money through laws that benefit them and their businesses. It is very fragmented, but it doesn't matter, because they join when they need to pass a law that benefits them. Leaders of the political parties decide which laws to pass, and tell the congresspeople how to vote. If someone does't vote as they are told, they are removed from congress.

And to get to congress you have to bribe a lot of money to a lot of people, so no one would self destruct after getting in debt before realizing some earnings.

  1. Supreme court justices are not permanent, last only 5 years, no reelections, appointed by congress. So what? Just do the things that need to be done during your 5 years. After that the new congress will place new puppets. If a major scandal is revealed, you'll be protected by congress, allowed to leave the country with all your money, and forgotten in a few years.

  2. Bribes are illegal, lobbying is illegal. We did it Patrick! Bribery is no more! You can just get money off the table. However, here the opposite is argued. Congresspeople and the president should have the highest salaries, so that they wouldn't have incentives to take bribes (they earn so much, why risk it to get more). But even if they were

[–] Araozu@lemmy.world 3 points 1 year ago

There're many games I want to play,

But dota 2 says no, so...

[–] Araozu@lemmy.world -2 points 1 year ago

How about "php enables me to code like a moron", or even better, "php breaks common conventions and forces me to think about every little detail and special edge case, slowing me down if I don't want to accidentally 'code like a moron' "

Nested ternary operators emerge because of the lack of if/switch expressions (which is C fault), so they are "useful" (they shouldn't be). However, PHP is the only language that treats it as left associative. This has 2 problems:

  • You are forced to use parenthesis. Some (insane) people might do: (cond1) ? "A" : (cond2) ? "B" : "C" And it makes sense. Its ugly af, but it makes sense. But PHP now forces you to use more parethesis. It's making you work more.
  • It breaks convention. If you come from any other language and use ternary operators, you will get unexpected results. After hours of banging your head against the wall, you realize the problem. And now you have to learn a new edge case in the language, and what to do to actually use the language.

"But you shouldn't use ternary operators anyway! Use if/switch/polymorphic dispatch/goto/anything else"

True, but still, the feature is there, and its bad. The fact that there are other alternatives doesn't make the PHP ternary operator worse than other languages' ternary operator.

PHP works against you. That's the problem. The ternary operator is not a good example, since there are alternatives. But look at something so simple, so mundane like strpos.

If strpos doesn't find returns false. Every other language returns -1. And if you then use this value elsewhere, PHP will cast it to 0 for you. Boom, your program is broken, and you have to stare at the screen for hours, looking for the error.

"BuT yOU sHoUlD AlwAyS cHEcK tHe rETurN eRRor!"

And even if that's true, if we all must check the return value, does PHP force you to do so? Like checked exceptions in Java? Or all the Option & Result in Rust? throws, throws, throws... unwrap, unwrap, unwrap... (Many) people hate those features

PHP works against you. And that's why its bad.