• 0 Posts
  • 30 Comments
Joined 2 years ago
cake
Cake day: June 20th, 2023

help-circle
  • Well, I started using Emacs because I was feeling limited by my Vim+Tmux-based workflow. Like you’ve heard from others, what convinced me was the consistency in interface, and the composability that enables.

    Everything is a text buffer. When the text is drawn to screen, it might be resized, colored, hidden, replaced with images, etc, but it’s all still just text. Because of that consistency of medium, all your interactions boil down to manipulations of that text.

    What’s important isn’t the verbatim text, but what the text represents. It could be code (symbol, function, library, in any language, literately), prose (word, sentence, paragraph, or whole book), a file or directory, a button, a list, a foldable outline, a process, a container, a game tile, a typo, a secret, a git object, a pull request, the string you’re looking for, a definition, a chat message, an RSS feed/item, a web page, etc…

    Each of those has a mode (or modes) that makes interacting with those objects in a semantically meaningful way both efficient and composable (to varying degrees).

    That’s why Emacs devotees try to do everything in Emacs. Leaving Emacs means leaving that consistency and semantic expressiveness behind. In a CLI shell, yes everything is text, but it’s comparatively raw. The best you can do is define variables and color it. TUIs bridge the semantic-meaning gap, but aren’t composable with each other. (Same with GUIs, but because of administering remote systems I avoided them when possible.) You can’t add functionality to htop without recompiling the whole thing. You can’t pipe ncdu’s results to rsync. Emacs is a live Lisp machine. You can redefine (or advise) any function on a whim, without restarting.

    That’s not even getting into how everything you do to improve interacting with text improves your experience with all those text-encoded objects. Completions can be filtered and ranked by different algorithms, lines can be “narrowed” to, it has an interactive regex builder, you can autofill with simple, intelligent predictions (like, what’s under your cursor, or a prefix-matching word up-buffer), you can deeply integrate LLMs, reflow and pretty print, follow externally-edited files, transparently access remote resources

    I don’t know. Obviously it’s not for everyone, but using Emacs makes me feel liberated; in control of my software. I love it.

    Thanks for giving me a soapbox and the opportunity to put my thoughts together.






  • Dissenting opinion - You don’t need to change your payment method, but you might want to rent a box outside your country.

    The seedbox provider is providing you sufficient cover. They’re the ones who would have to make the link between the IP you’re using and you. That’s unlikely to happen because they’ve protected themselves.


    A copyright owner (or their agent) that is interested in identifying you from your seeding would send a letter to the data center owner (OVH, Hetzner, etc) saying “Hey, one of your IPs is infringing our copyright! Tell them to stop.”

    The data center owner might forward that letter on to the seedbox provider who is renting space in their data center. Either way, the letter will be ignored and everyone goes on with their day.

    If the copyright owner is sufficiently motivated they can press the issue with some lawyers. Then the data center will provide a name, to make it all someone else’s problem. They don’t have your name though, just the seedbox provider’s, and the seedbox provider is smartly incorporated in another country, which makes litigation complicated (to say the least).

    Now, maybe the copyright owner is a cabal of publishers looking to make a point and have buckets of money to spend. (You did say you wanted to mirror Anna’s Archive.) In that case they’ll work with local law enforcement in the jurisdiction that the seedbox provider is incorporated to go after them there.

    That court case will take some years to resolve, but then your involvement will come down to whether the seedbox provider kept logs associating payers and IPs. They might or might not. If they didn’t, you’re just one person in a big pool of customers.

    If they do have logs associating you specifically to that IP at the time you were infringing the copyright… well, who’s to say your credit card wasn’t stolen?



  • On the topic of build times, it took me too long to learn that nixos-rebuild supports remote build workers and targets.

    For example, if I am editing on my laptop, want to build on my desktop, and apply the build to my file server, then I’d run…

    me@laptop$ nixos-rebuild test \
    --flake ~/wherever-it-lives \
    --build-host desktop \
    --target-host file-server \
    --use-remote-sudo
    

    The host names should match the name of the nixosConfiguration output from your flake. If they don’t I think you can specify like, --target-host .#some-machine

    Remote sudo avoids having to SSH as root.

    Bonus tip: Having Tailscale on every machine makes this work reliably from anywhere, network speed as the limit.









  • Thank you for calling that out. I’m well aware, but appreciate your cautioning.

    I’ve seen hallucinations from LLMs at home and at work (where I’ve literally had them transcribe dates like this). They’re still absolutely worth it for their ability to handle unstructured data and the speed of iteration you get – whether they “understand” the task or not.

    I know to check my (its) work when it matters, and I can add guard rails and selectively make parts of the process more robust later if need be.




  • There are a lot of analogies but they all fail in some way. I think PBS Spacetime does the best in general, with good graphics to back up the words.

    My layman’s explanation is probably all stuff you’ve heard before. Massive objects “warp” spacetime and things that get stuck in those “wells” eventually fall to the bottom due to drag (from a variety of sources).

    You’ve also probably seen the rubber sheet with a bowling ball in the middle used to represent that warping. To visualize that in 3D, I like to imagine a 3D grid of nodes and edges (like a jungle gym of joints and bars) where the whole thing is flexed inward towards a center point. More warped near the center, less warped further out. That kind of conveys the acceleration from gravity felt by things around that center mass.


  • Thank you for calling this aspect out. I’m surprised so many people are overlooking it. I protest YouTube for the same reasons, but I’ve got one more to add.

    When they merged Google Music into YouTube, the service became worse. I’d often have music streaming throughout the day over my speakers, but that broke after the merge.

    Anytime I watched a video on my phone that had Content ID-recognized music in it (even in the background), they would cut the stream to my speakers because I am only allowed one stream with any music in it at all.

    This isn’t the behavior when you use the ad supported service. Only the paid.

    Not to mention all the proper features of Google Music that didn’t carry forward.