• 0 Posts
  • 85 Comments
Joined 3 years ago
cake
Cake day: June 9th, 2023

help-circle
  • Apple proposed something a few years ago, when governments were making similar threats, that attempted to strike a middle ground. The idea was that upon uploading an image to iCloud Photos, a on-device scan would be run on that image and an encrypted report generated to be sent up along with the photo. There was differential privacy involved, the report would also sometimes be generated for entirely normal photos, so seeing a report didn’t necessarily indicate anything, and they had set it up such that the server would only be able to decrypt the reports if it had a sufficiently large number of photos that had been actually found to be CSAM by the local scan, so there would have to be many false positives to incorrectly get flagged.

    It was incredibly controversial, and they ended up not doing it after all. In my opinion, it’s probably the lightest touch and most responsible way to do something like this, and obviously they always pick the most worthy cause for invading privacy… but I still viscerally dislike the idea that my computer would have code designed to try to get me sent to prison under certain circumstances (not that I’d ever be triggering that code with anything but a false positive of course). Somehow it’s worse than just saying “in the cloud you have no privacy, your photos aren’t encrypted on our servers, and if you upload CSAM we’ll drop a train on you.”


  • chaos@beehaw.orgtoTechnology@beehaw.orgAI Is Slowing Down
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    1 month ago

    For about $2000, I picked up a Mac Studio with 96 gigs of RAM, which is effectively all VRAM thanks to Apple’s architecture. It doesn’t have the raw number-crunching power of the big GPUs but with all that space, you don’t need to worry much about the size of the model until they start getting really big, so it’s pretty easy and flexible.

    I’m able to do basically everything that others are doing with AI, entirely locally. It generates text and writes code (it’s no Opus, but probably on par with the best of a year and a half ago), images, videos, songs, all that stuff (those last few are garbage but it’s basically the same level garbage that the cloud models are making). And I have total privacy, will never get a surprise price hike or lose access to a model I like, and know exactly how many bottles of water I’m using to cool it (zero).

    It’s not heroin, it’s weed. There will be a market for it, but, like, you can also just make it yourself. 90% of what people want will just get done on device. I can’t see any way this turns into a trillion dollar industry.







  • 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.


  • 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.



  • 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.



  • 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!




  • Opt out means “we will be doing this, without permission, unless you tell us not to” and opt in means “if you give us permission we will do this.” Codebases can contain important and sensitive information, and sending it off to some server to be shoved into an LLM is something that should be done with care. Getting affirmative consent is the bare minimum.


  • The right thing is to make it opt-in for everyone, simple as that. The entire controversy goes away immediately if they do. If they really believe it’s a good value proposition for their users, and want to avoid collecting data from people who didn’t actually want to give it, they should have faith that their users will agree and affirmatively check the box.

    If free users are really such a drain on them, why have they been offering a free version for so long before it became a conduit to that sweet, sweet data? Because it isn’t a drain, it’s a win-win. They want people using their IDE, even for free, they don’t get money from it but they get market share, broad familiarity with their tool amongst software engineers, a larger user base that can support each other on third party sites and provide free advertising, and more.