Skip Navigation

Posts
0
Comments
198
Joined
3 yr. ago

  • Most people don't need a file to be in two places at once, it's more confusing than convenient. And if they do want two of a file at all, they almost certainly want them to be separate copies so that the original stays unmodified when they edit the second one. Anyone who really wants a hard link is probably comfortable with the command line, or should get comfortable.

    The Mac actually kind of gets the best of both worlds, APFS can clone a file such that they aren't hard links but still share the same blocks of data on disk, so the second file takes up no more space, and it's only when a block gets edited that it diverges from the other one and takes up more space, while the unmodified blocks remain shared. It happens when copy-pasting or duplicating a file in the Finder as well as with cp on the command line. I'm sure other modern file systems have this as well.

  • I also think it's AI, the text has that weird "too neat to be done by hand, too loose to be typed" look to it. Not a lot of obvious flaws in the actual drawing, although the coloring between the legs isn't right in a way that I'd think a human would catch.

  • It doesn't have to be a big baroque thing. When there's a dotfile I configure regularly, I move it to a Git repo and use stow to put it "back" into place with a symlink. On new machines, it isn't long before I try something that doesn't work or see the default shell prompt and go "oh yeah, I want my dotfiles", check out the repo, run a script that initializes a few things (some stuff is machine-specific so the script makes files for that stuff with helpful comments for me to remember the differences between login shells or whatever) and then I'm off to the races.

  • Hint: the solution depends on a more realistic and physics-based model of the problem than you're using. And, even bigger hint, it's less intuitive now that light bulb technology has changed to become much more efficient, you should imagine this problem taking place with a '90s bulb.

  • Rules exist so that you think a second time before you break them.

  • I wish this attitude was more pervasive at Apple, my phone actually autocorrects to "Lock Screen" when I type it out in lower case.

  • I don't understand why this works, but it does

    What was happening before was this: Git received your commits and ran the shell script. It directed the script's output stream back to Git so that it could relay it back over the connection to display on your local terminal with remote: stuck in front of it. Backgrounding the npx command was working, the shell was quitting without waiting for npx to finish. However, Git wasn't waiting for the shell script to finish, it was waiting for the output stream to close, and npx was still writing to it. You backgrounded the task but didn't give npx a new place to write its output to, so it kept using the same output stream as the shell.

    Running it via bash -c means "don't run this under this bash shell, start a new one and have it just run this one command rather than waiting for a human to type a command into it."

    The & inside the quote is doing what you expect, telling the subshell to background this task. As before, it'll quit once the command is running, as you told it not to wait.

    The last bit is &> /dev/null which tells your original, first shell that you want this command to write somewhere else instead. Specifically, the special file /dev/null, which, like basically everything else in /dev/, is not really a file, it's special kernel magic. That one's magic trick is that when you write to it, everything works as expected except all the data is just thrown away. Great for things like this that you don't want to keep.

    So, the reason this works is you're redirecting the npx output elsewhere, it just goes into a black hole where no one is actually waiting for it. The subshell isn't waiting for the command to finish, so it quits almost immediately. And then the top level shell moves on after the subshell has finished.

    I don't think the subshell is necessary, if you do &> /dev/null & I think it'd be the same effect. But spawning a useless shell for a split second happens all the time anyway, probably not worth worrying about too much.

  • The top one is fairly normal, the bottom one is the same program, still in C, but redone to be as BASIC-like as possible, complete with line number labels and using goto instead of any of the normal control flow structures like while and for loops.

  • That's a funny bit of progressive cognitive dissonance. Obviously representation is important, and it's critical that kids see people like themselves in all roles, not just the stereotypical ones... but also, why wouldn't women be able to figure out how to effectively teach boys in school, they're just as capable as men are, it shouldn't matter!

  • In Haskell, that's "unit" or the empty tuple. It's basically an object with no contents, behavior, or particular meaning, useful for representing "nothing". It's a solid thing that is never a surprise, unlike undefined or other languages' nulls, which are holes in the language or errors waiting to happen.

    You might argue that it's a value and not a function, but Haskell doesn't really differentiate the two anyway:

     
        
    value :: String
    value = "I'm always this string!"
    
    funkyFunc :: String -> String
    funkyFunc name = "Rock on, "++name++", rock on!"
    
      

    Is value a value, or is it a function that takes no arguments? There's not really a difference, Haskell handles them both the same way: by lazily replacing anything matching the pattern on the left side of the equation with the right side of the equation at runtime.

  • The far right loves a strong man, and by definition there can be only one of those, prefers when "the natural order" is followed, and thinks the ends always justify the means. That keeps them pretty cohesive with the establishment right, who are making buckets of money under the system as it is now and are okay with just about anything else as long as that doesn't change. When they fight, it's because the far right is trying to do something stupid enough that the establishment thinks it risks their money or power, or the establishment is holding the far right back from fully implementing their "natural order" worldview, but there's a lot of overlap where both can be happy, because the establishment really has no morals at all and are happy to use the far right to gain power if all they have to do is throw them some red meat every once in a while.

    The left's a very different story. On the far left, people are very principled, to the point where compromise or partial wins feel hollow because the only real win would be the entire principle being adopted en masse. It makes it harder to work together, because even groups with the same goals can get frustrated by the way the other one is doing it, or because the other group is going to keep going while the other wants to stop sooner. And the establishment left has a fair amount in common with the establishment right, they find the right's goals uncouth and mean, but they do still fundamentally believe in capitalism and don't want to upend the system. That leaves a lot less common ground and a lot more infighting overall.

  • I most associate it with Slashdot comments in the 2000's, complaining about Microsoft spreading fear, uncertainty, and doubt about Linux and the GPL to scare companies into thinking that if they used Linux, they'd have to open source all their software, so yeah, definitely not just a cryptocurrency term.

  • I got the .net and .org of my last name, and offered $50 to the owner of the .com as he wasn't doing anything with it. Kind of a lowball, admittedly, but I would've gone up to a hundred or two. Instead, he told me it was worth thousands, which, lol, but then he didn't renew it, which I only found out because a random third person reached out to me as the owner of the .net offering me the .com. Turns out they hadn't actually bought it yet, though, so instead I scooped it up and now I've got the trifecta!

  • I think I might have the dumbest gender identity, because I'd smash the hell out of that button but then immediately come out as a trans man.

  • Superman wouldn't even be able to see through those Coke bottle glasses Clark's always wearing, duh.

  • I'm curious, what's the worst case scenario in your eyes? I struggle to see why anyone would closed-fork it, or what threat it would pose if they did.

  • I think you've cracked it, Marty changes his past so that he grew up with a more assertive and confident father, so when the changes catch up to him in the second movie he suddenly has a new personality trait that he didn't have before!

  • I'd believe that people are living happy, fulfilling lives there, sure, people usually find a way to do that regardless of their situation. But I'm pretty sure it's not just propaganda that the same damn family has been in charge for the better part of a century, and that alone is enough for me to conclude that it is a fundamentally broken system that, even if it somehow isn't as repressive and evil as it's portrayed, will get there eventually.

  • This is a good point, we should ask some average North Koreans directly, that way we get a better balance of viewpoints. Maybe we can catch some on a vacation abroad or something.