Araozu

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

Huh, I thought most keybindings where tied to the position of the keys, being vim "motions", as in how you move your fingers or something like that.

Maybe there are vim layouts for dvorak that I can use? Because I think I'd prefer to have the keybindings in the same place.

I use a dvorak-based layout personally, but spanish QWERTY at work. Some time ago I learned EMACS with qwerty, so when I switched to dvorak my muscle memory was ruined, even if I knew the keybindings. I wonder if it's worth it learning 2 keybindings to be able to switch layouts

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

Makes sense. Spanish keyboards have Ñ instead of semicolon, so it'd break. But I'm sure other things break in France, where they use AZERTY. So it's not that universal.

That makes me wonder, is there a way to get a keypress based on the position of the key, rather than the keycode? Would that be useful? Would assuming everyone is using a normal keyboard with letters in the same place even make sense? How would that interop with things like QMK?

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

My main problem with vim is that they use hjkl instead of jkl; , it doesn't make sense to me why they'd do that.

And my second problem is that I use my own custom keyboard layout instead of qwerty, so I'd have to remap all the keys. Why spend hours learning and then rebinding all the keys when I can instead play some Dota? /s

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

cries of apple fanbois on the distance

[–] Araozu@lemmy.world 5 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 1 points 1 year ago (1 children)

Well, you are just one of the (majority of) people who apparently don't care about being tracked by google. Me personally, others in the comments and maybe OP don't use anything google related, have custom ROMs without gapps and avoid Google like the plague. So it is a concern for us, using Sync would open the door to google tracking.

Others have pointed out that even if you pay for pro, Sync still requires Play Services.

You seem to happily Google products, so my point wouldn't apply to you. I just thought that most people would be concerned about google and tracking and fingerprinting and all that stuff, since we are in Lemmy and the Liftoff sub.

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

I think the issue is not with wether the dev collects data, its about the dev using google products, which do collect, store and sell data.

There are alternatives to Firebase, (i think they can even be self hosted), so its something that can be improved without affecting much the development time or other aspects.

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

Posted from my LineageOS phone, no gapps, microG, only foss apps.

I hope you felt good and happy writing your comment, unlike the rabid, angry, superior acting, elite hacker, bitches, knobs, baffoons FOSS fanboys.

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

Do you know yourself for a fact that no data is being taken by Sync itself?

And its a fact that Google and Firebase are taking your data. Even if Sync itself doesn't collect any data, it uses Google products (as stated in their Privacy Policy which I'm 1000% you did read), and any and all google products will take your data.

That's the point of using a FOSS client, if it collected data people would know, the code is public. And the data collection can be removed, since the code is public.

Even outside of data collection or privacy, which clearly you don't care about, we should avoid giving Google more power. Look at manifest v3 or the web integrity API. That affects not only your privacy, but your security and ability to use the internet. And not only yours, but the whole world

[–] 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.

view more: next ›