• 0 Posts
  • 10 Comments
Joined 10 months ago
cake
Cake day: February 7th, 2025

help-circle

  • I’m not sure if the natural language approach is best, but that might just be me, I never resonated too well with this kind of high level analogies.

    Without knowing your level of technical background, I defaulted to the same kind of analogy I use with family. If that isn’t the best approach for you, I’m happy to try a different angle.

    So the networking part is abstracted away ?

    Yes, mostly.

    For a brief excursion, the rough gist of networking is that the world wide web is just a bunch of connected computers, which is where the web analogy is from. To get a message to a specific computer, you first have some links that get your data packets from one node to the next. Then you have a routing protocol that figures out which node to send to next (IP being the most common one).

    Then you have a transport protocol that prepares the packets to send on one end, reassembles the full message on the other if it had to be split up into multiple packets and checks that the contents look intact. In the case of TCP, it also establishes a connection to verify that all packets actually have arrived. In the case of UDP, it’s more like that online retailer that sent my parcel without tracking and didn’t care when it disappeared. Still mad about that. Anyway.

    Transport doesn’t care how routing works. A computer directly connected to yours is no better than one halfway across the world, aside from being faster to reach. Likewise, routing doesn’t care how the packets get across. Whether by WiFi, optic fiber or SD card strapped to a homing pigeon – so long as the next node gets the packet, the job is done.

    There are cases in web development where you do care about the transport protocol, but for making HTTP requests like you do with curl, you generally use a standard set of protocols (TCP/IP) and trust the network stack to get your messages there and back again. All you need is the address or the name (in which case, again, you trust the network to figure it out) and the actually relevant application info.

    For this comment, my app knows the lemmy server to send to and the authentication token it uses to prove I’m actually @[email protected], so it bundles the ID of the parent comment I’m responding to and the body of my message up into a request, adds that authentication token and sends it to the server. How it gets there? Not Voyager’s business.

    If I had a token, the exact recipient address and whatever metadata it requires, I could probably send the comment via curl too.


  • Technically, it’s not so much networking (though parts of it are) as development of webservices and -applications.

    Most of the stuff you do with these tools happens in the application (the actual information of the question and answer) and some in the presentation (how the question and answer are phrased), where you don’t generally worry about the actual transport of your question across the network.

    Basically, if you’re asking someone for the time, “what’s the time?” would be the application data, while the presentation would be “hour and minute in 24h format” (or some shorthand for that).

    The actual network part would be how you figure out who to ask, how you open the conversation (“Excuse me,”) or how you transmit the question (speech, text message, written letter) in the first place, but if we’re talking about asking for the time, we usually just take those communication basics for granted.

    If you would like me to, I could try to explain more about the various options and parts of these requests (“questions”) in low-tech terms. I don’t think you need extensive knowledge about networking or software development to grasp the basics, if you’re interested (and I manage to translate it well enough).


  • Excerpted from the manual linked by the other response by @[email protected] for those who don’t want to dig through it:

    aria2 is a utility for downloading files. The supported protocols are HTTP(S), FTP, BitTorrent, and Metalink. aria2 can download a file from multiple sources/protocols and tries to utilize your maximum download bandwidth.

    Basically, a powerful and versatile file downloader. It includes options to distribute downloads across multiple connections, download a bunch of files at once, automatically retry failed downloads, authorization, cookies and a lot of fancy options.

    @[email protected] has already explained what the specific flags in this case do:

    I think (a while ago)

    • -c is with a temp file to pick up again on failure
    • -x 10: # of connections
    • -k 5M: block size or something

    Specifically -x is the maximum number of connections per server, relevant mostly if multiple downloads are queried at once. -k defines the minimum size per block downloaded. In this case, if the file is smaller than 10MiB, it won’t be split because that would make the parts smaller than 5MiB. If it is larger, aria2c will split it into multiple connections, up to a default of 5 (unless a differenr value is specified by -s).



  • The same guy that parses JSON by hand (rather than use a library)

    Of course I know him. He’s me.

    Or a past version of me anyway that was too dumb for its own good and also tried to do datetime stuff and several other complex things. Daft moron, that guy. Glad I don’t have to work with such idiots any-

    Looks at coworkers

    Glad I can now look down on such-

    Looks at own work

    You know what, never mind.


  • The low-tech version of it is that there is a certain technical way of asking computers for stuff, usually across the Internet. To do that as a human, for instance to build a system that can ask or answer these questions, there are a few different tools.

    One is Postman, which is a fancy, graphical tool that essentially loads a full browser for interacting with parts of the question, sending it and displaying the answer. Of course, it’s a commercial product, so some nice features are locked behind paywalls. The full browser also requires more memory and more time to load.

    Another is cURL (alias curl), which is a command line tool, meaning you just enter the various parts of the question as text. It’s a little less convenient for more complex questions to remember how to specify the question’s parts and adjust them, because instead of a nice table where you enter them, you have to type it in text, but you can use various other features of the command line to make it easier for yourself. In some cases such tools may have advantages over the graphical ones, allowing you to do things the other can’t do (or at least not easily).

    The whole page is a rant about people using the heavier and commercial graphical tool instead of the lighter and freely available command line tool. It’s a tongue-in-cheek continuation of an old argument in some software developer circles, where you will have people who prefer to use certain graphical tools and others that not just prefer command line tools (or generally text-based code), but also feel like everyone should just use them instead. For some, that’s just friendly banter. For others, it’s a deeply ideological conviction.

    Personally, I’d suggest that people use whatever works for them and their team. For example, I have little choice but to use a mostly graphical tool because I work together with people who don’t have the time to learn the text-based options. They might be a great tool for me, but if my work is unusable to others, that makes it harder to work together (and accordingly means that I’d be stuck doing everything myself, which I frankly don’t have the time for).



  • I think he’s an asshole¹ but he’s not nearly on the same level as Elmo or any other billionaire. Between actually working and contributing, not being as hardcore exploitative capitalist, and not having nearly the same level of hoarded wealth², there’s just far less potential for assholery.

    1: Mind, I still value his work, but the way he sometimes treats people reaches into asshole territory for me.
    2: A superficial search suggests a net worth of $50 million. In perspective, that’s $0.05 billion, compared to the late Jobs’ $10.8 billion (0.5%) or Musk’s ~$400 billion (0.01%)


  • Running a 3060, no issues I can tell.

    YMMV obviously: There was some driver fuckery I had to sort out because I’m stupid (curious and clueless is a dangerous mix), and I might not be running the most demanding games or programs (Jedi: Survivor might be one of the heavier ones? I have no idea)

    I also might have lower standards: I’m playing 1080p 60fps and generally don’t notice FPS issues unless it drops below ~45, because I grew up using to an old-as-fuck laptop to play Skyrim at 20fps (unless there were too many spells flying around and it dropped to 5-10).

    Still, the consensus seems to be that AMD is better for Linux, and I’m coming around too.