A tiny mouse, a hacker.

  • 0 Posts
  • 23 Comments
Joined 6 months ago
cake
Cake day: December 24th, 2023

help-circle

  • It’s not. It just doesn’t get enough hits for that 86k to matter. Fun fact: most AI crawlers hit /robots.txt first, they get served a bee movie script, fail to interpret it, and leave, without crawling further. If I’d let them crawl the entire site, that’d result in about two megabytes of traffic. By serving a 86kb file that doesn’t pass as robots.txt and has no links, I actually save bandwidth. Not on a single request, but by preventing a hundred others.



  • That would result in those fediverse servers theoretically requesting 333333 * 114MB = ~38Gigabyte/s.

    On the other hand, if the site linked would not serve garbage, and would fit like 1Mb like a normal site, then this would be only ~325mb/s, and while that’s still high, it’s not the end of the world. If it’s a site that actually puts effort into being optimized, and a request fits in ~300kb (still a lot, in my book, for what is essentially a preview, with only tiny parts of the actual content loaded), then we’re looking at 95mb/s.

    If said site puts effort into making their previews reasonable, and serve ~30kb, then that’s 9mb/s. It’s 3190 in the Year of Our Lady Discord. A potato can serve that.


  • I only serve bloat to AI crawlers.

    map $http_user_agent $badagent {
      default     0;
      # list of AI crawler user agents in "~crawler 1" format
    }
    
    if ($badagent) {
       rewrite ^ /gpt;
    }
    
    location /gpt {
      proxy_pass https://courses.cs.washington.edu/courses/cse163/20wi/files/lectures/L04/bee-movie.txt;
    }
    

    …is a wonderful thing to put in my nginx config. (you can try curl -Is -H "User-Agent: GPTBot" https://chronicles.mad-scientist.club/robots.txt | grep content-length: to see it in action ;))




  • It’s about 5 times longer than previous releases were maintained for, and is an experiment. If there’s a need for a longer term support branch, there will be one. It’s pointless to start maintaining an 5+ year branch with 0 users and a handful of volunteers, none of whom are paid for doing the maintenance.

    So yes, in that context, 15 months is long.


  • A lot of people do. Especially on GitHub, where you can just browse a random repository, find a file you want to change, hit the edit button, and edit it right there in the browser (it does the forking for you behind the scenes). For people unfamiliar with git, that’s huge.

    It’s also a great boon when you don’t want to clone the repo locally! For example, when I’m on a slow, metered connection, I have no desire to spend 10+ minutes (and half of my data cap) for a repo to clone, just so I can fix a typo. With the web editor, I can accomplish the same thing with very little network traffic, in about 1 minute.

    While normally I prefer the comfort of my Emacs, there are situations where a workflow that happens entirely in the browser is simply more practical.




  • Or one could buy any of the existing pre-built splits. Which might be more expensive, but it does not involve something one very explicitly said they don’t want to do.

    I’d rather spend twice as much on a well built keyboard with warranty than trying to solder one together myself and botch it up, and then it suddenly costs more than if I just bought a pre-built one.


  • There’s a very easy solution that lets you rest easy that your instance is how you want it to be: don’t do open registration. Vet the people you invite, and job done. If you want to be even safer, don’t post publicly - followers only. If you require follower approval, you can do some basic checks to see that whoever sends a follow request is someone you’re okay interacting with. This works on the microblogging side of the Fediverse quite well, today.

    What I’m trying to say is that with registrations requiring admin approval gets you 99% of the way there, without needing anything more complex than that.



  • The single best thing I like about Zed is how they unironically put up a video on their homepage where they take a perfectly fine function, and butcher it with irrelevant features using CoPilot, and in the process:

    • Make the function’s name not match what it is actually doing.
    • Hardcode three special cases for no good reason.
    • Write no tests at all.
    • Update the documentation, but make the short version of it misleading, suggesting it accepts all named colors, rather than just three. (The long description clarifies that, so it’s not completely bad.)
    • Show how engineering the prompt to do what they want takes more time than just writing the code in the first place.

    And that’s supposed to be a feature. I wonder how they’d feel if someone sent them a pull request done in a similar manner, resulting in similarly bad code.

    I think I’ll remain firmly in the “if FPS is an important metric in your editor, you’re doing something wrong” camp, and will also steer clear of anything that hypes up the plagiarism parrots as something that’d be a net win.




  • I use a keyboard with 64 keys (Keyboardio Model 100), with a layout that would likely drive any normal person mad: there are no numbers on the base layer, and all modifiers are on the thumb cluster. My top row is shifted symbols like @*$^%!&. I love it. I can reach every key without moving my hand, which helped tremendously with my RSI. With clever use of layers, one-shot modifiers & layers (where one-shot means that you press and release a modifier, and it remains active for the next keypress only), I have access to every symbol available on a traditional layout and more, without having to move my hand or do weird finger gymnastics.

    It’s not a keyboard I’d normally carry (it’s heavy, split, and takes up more space than a traditional full-size one), that’s not why I like it small. I like it small because I don’t need to move my hand to reach all the keys, and that increases my typing comfort a lot. I have no use for a dedicated numpad: I can just press my right palm key and turn that half of my keyboard into a numpad. If I’m typing a single digit, I don’t even need to hold the palm key. If I’m typing a longer number, I can double tap the palm key to toggle the numpad layer on, and tap it a third time once I’m done. I don’t need cursor keys, because I can tap the left palm key to turn the keyboard into navigation mode: the right side controls the text cursor (ie, arrow keys, page up/down, home/end), and the left side controls the mouse. Most of the time, I don’t even need a mouse, because I can control the pointer from the comfort of my keyboard. I do have a trackball placed inbetween the two halves for the rare cases where I require more mousing than what is comfortable with keys, but… that’s not used all that often.

    So, in short, the reason I prefer small and split is because they let me type without moving my hand, or stretching my fingers uncomfortably, and I still have convenient access to every symbol I need. I might need to do a bit more “work” to type certain things, but that’s a small price to pay for the comfort I gain by not having to move my hands.

    I can write at ~120WPM with this setup (but I normally don’t need to, my normal typing speed is closer to ~60WPM, because my speed is limited by thinking speed, not my typing speed), I write code with this, I write prose in both English and Hungarian, and I even play some games with it! (Most games I play with a controller though, because I can do that from the couch.)

    Just because it is small doesn’t mean it can’t do everything a full-sized keyboard can. I just do the same things in a different way, with different compromises. With a full-sized one, if you want to type numbers, you either have to move your hand to the numpad, or use two hands to type something like 1994. I can type that number with one hand, without moving my hand: instead of moving hands, I switch layers. With a full-sized keyboard, if you need Home, End, PageUp, PageDown or the like, you either need to move your hand, or you need whatever program you’re using to have different bindings for the same functionality. I can just press a key to go into navigation mode, and move the cursor whatever way I like, without moving my hands, or finding an alternative binding - works in every program, anywhere - instead of moving hands, I press an extra key. I found that pressing an extra key (especially if I don’t need to hold it) is more comfortable than moving hands. I also found that not moving my hands increased my accuracy, because I don’t need to find the home position when moving my hand back: it never moved in the first place.


  • In most games, I move with a mousetrackball, controlling everything with one hand didn’t quite work out for me. I do use the thumbstick to navigate menus or the like, and it works well for that. As for the thumb button: I usually bind that to Jump, or to Esc (or whatever other key gets me to the game menu). It really depends on the game how much I use the thumb button.

    If I were building a gamepad, I’d build something very close to the Azeron, but probably replace the thumb stick with a D-Pad, or 4 buttons or something along those lines. I’d put those to better use than the thumbstick. And I’d make the thumb button trigger by pressing downwards, rather than out.