e0qdk

joined 1 year ago
[–] [email protected] 2 points 2 hours ago (1 children)
[–] [email protected] 1 points 3 hours ago (1 children)

I've tried so many... so... many network filesystems. They all suck in some way.

Definitely agree with you on that! Distributed systems are just fundamentally challenging. Network filesystems try to hide some of that complexity, but it inevitably leaks through in one way or another...

I deal with Ceph at work. Thankfully I'm not the one in charge of its configuration, but I've seen enough of the headaches the admin had to go through to get it working right... Once we got it though, it's been working pretty damned well -- but you basically need a full-time sysadmin (or will become one yourself...) when you're dealing with the kind of scale we've got. (My home needs are not quite as insane though; mere dozens of TB instead of a dozen or so PB...)

SeaweedFS is another I've got in the back of my mind if I ever outgrown my NAS, but I haven't worked with it personally.

[–] [email protected] 1 points 4 hours ago

Yes, but more in a philosophical sense. Basically, just go read this: https://clojure.org/about/state

I generally use message passing rather than the sort of transactional concurrency the language promotes, but the idea of value vs identity has stuck with me.

[–] [email protected] 2 points 4 days ago* (last edited 4 days ago) (3 children)

Ruby is already a functional programming language -- you can pass functions to functions, return functions from functions, and make closures in Ruby already. You're probably already using some functional programming concepts if you've done anything non-trivial in Ruby even if it didn't register for you as "functional programming".

If you want to do ML (current "AI"), you'd probably do best to learn some Python (PyTorch, TensorFlow, etc.) and maybe CUDA for lower-level control. (It's basically C++ with extra features for running code on NVIDIA GPUs.) There might be Ruby wrappers for the underlying ML libraries, but I expect most resources you'll find (e.g. StackOverflow answers) will assume you're working with Python...

If you're still interested in learning one of the languages you listed, you'll get some educational benefits from exploring them but I don't think you're likely to get much practical benefit out of it for AI over Ruby. I learned a lot from exploring Clojure personally -- I particularly liked the idea of identity as a series of values over time -- but I don't work in the JVM ecosystem, and so I haven't actually done anything with the language in 10+ years... The concepts I learned from playing with it were more useful than the language itself to me.

[–] [email protected] 11 points 4 days ago* (last edited 4 days ago)
[–] [email protected] 10 points 4 days ago (1 children)

Top left looks like Bocchi the Rock.

[–] [email protected] 9 points 5 days ago (1 children)
[–] [email protected] 2 points 5 days ago (3 children)

I've got a similar length of experience and plenty of my own horror stories about NFS... but yeah, it's the most effective way to get what I need done at the moment. (When I outgrow my current setup though I'll wrestle the tentacle monster and replace it with Ceph... probably.)

[–] [email protected] 1 points 5 days ago

Well, there's roughly 8 billion people on Earth, and the Wikipedia article for "human" says:

The average mass of an adult human is 59 kg (130 lb) for females and 77 kg (170 lb) for males.

Male vs female is roughly 50/50 IIRC. Ignoring distribution of adults vs kids for simplicity, then roughly 4 billion times 59kg + 4 billion times 77kg = 544 billion kg or 1.2 trillion pounds, if I did my math right.

[–] [email protected] 16 points 6 days ago (4 children)

Based on Kyubey and Monokuma, I can take a guess... but what is the third?

 

I had some free time this weekend and I've spent some of it trying to learn Go since mlmym seems to be unmaintained and I'd like to try to fix some issues in it. I ran into a stumbling block that took a while to solve and which I had trouble finding relevant search results for. I've got it solved now, but felt like writing this up in case it helps anyone else out.

When running most go commands I tried (e.g. go mod init example/hello or go run hello.go or even something as seemingly innocuous as go doc cmd/compile when a go.mod file exists) the command would hang for a rather long time. In most cases, that was about 20~30 seconds, but in one case -- trying to get it to output the docs about the compile tool -- it took 1 minute and 15 seconds! This was on a relatively fresh Linux Mint install on old, but fairly decent hardware using golang-1.23 (installed from apt).

After the long wait, it would print out go: RLock go.mod: no locks available -- and might or might not do anything else depending on the command. (I did get documentation out after the 1min+ wait, for example.)

Now, there's no good reason I could think of why printing out some documentation or running Hello World should take that long, so I tried looking at what was going on with strace --relative-timestamps go run hello.go > trace.txt 2>&1 and found this in the output file:

0.000045 flock(3, LOCK_SH)         = -1 ENOLCK (No locks available)
25.059805 clock_gettime(CLOCK_MONOTONIC, {tv_sec=3691, tv_nsec=443533733}) = 0

It was hanging on flock for 25 seconds (before calling clock_gettime).

The directory I was running in was from an NFS mount which was using NFSv3 unintentionally. File locking does not work on NFSv3 out of the box. In my case, changing the configuration to allow it to use NFSv4 was the fix I needed. After making the change a clean Hello World build takes ~5 seconds -- and a fraction of a second with cache.

After solving it, I've found out that there are some issues related to this open already (with a different error message -- cmd/go: "RLock …: Function not implemented") and a reply on an old StackOverflow about a similiar issue from one of the developers encouraging people to file a new issue if they can't find a workaround (like I did). For future reference, those links are:

[–] [email protected] 13 points 1 week ago (2 children)
  • Sandbox a general computer security term for a limited area that untrusted code can operate in. Essentially, think of an unruly kid -- it's allowed to play in its sandbox and could make a big mess there, but it shouldn't be able to mess up the rest of your house if it's only allowed to play in the sandbox.

  • Site Isolation According to this post from 2021 on Mozilla's blog, "Site Isolation" is the term they picked for loading different websites in different OS processes. As an ELI5... maybe think of it like moving from sites being in the computer equivalent of neighboring apartments to being in different buildings? IRL, you're supposed to have a certain amount of privacy and security in your apartment but there's limits because of the physical construction... A half decade or so ago, people figured out that you can do the equivalent of sticking your ear against the wall to try to hear what people were saying in the apartment next door; it's more challenging to do that if you're in the digital equivalent of a different building...

  • Total Cookie Protection Metaphorically speaking, websites can tape a name tag ("cookie") to your jacket without you noticing. That includes not just the direct operator of the site (who use cookies like that to keep you logged in) but also other people like advertisers on the site. In the old way of handling cookies, whoever stuck that name tag on your jacket can read it, so advertisers could figure out the equivalent of "Oh that's Bob -- he just went to Walmart, and then the bank, and now he's at a swap meet looking at used manga." if they were advertising on all those sites. "Total Cookie Protection" as Mozilla calls it is basically changing your jacket for each place you visit. Bob has a jacket for Walmart, a jacket for the bank, and a jacket for the swap meet. The advertiser can tell if Bob's been to those places before -- the metaphorical name tags are still on each one -- but doesn't know it's the same Bob who was just at the bank since he changed his jacket.

  • First Party Isolation seems to be an older name for a similar idea brought back into Firefox from Tor Browser. "Total Cookie Protection" seems to be Mozilla's marketing of it when they enabled it by default, as far as I understand it? (There may be other features of it that I don't understand though.)

  • Multi Account Container Going back to my name tag and jacket metaphor again, this is a feature that lets you have essentially multiple jackets for the same place that you can choose between. You can have your work clothes and your personal clothes and pick which is appropriate for the situation, metaphorically speaking. Particularly useful if you have multiple webmail/social media/whatever accounts from the same provider and want to stay logged in to all of them.

 

What's in the box? WHAT'S IN THE BOX!?

(will post my own drawing as a comment after I get replies from others -- looking forward to seeing what you all come up with!)

 

Has anyone else been getting long page load times (like ~10 or more seconds) frequently but intermittently over the last couple days?

1
anime_irl (reddthat.com)
 

Silver Spoon

 
view more: next ›