• 7 Posts
  • 385 Comments
Joined 2 years ago
cake
Cake day: June 3rd, 2023

help-circle



  • I’ve used them both a good bit for D&D/TTRPG campaigns. The image generation has been great for making NPC portraits and custom magic item images. LLM’s have been pretty handy for practicing my DM-ing and improv, by asking it to act like a player and reacting to what it decides to do. And sometimes in the reverse by asking it to pitch interesting ideas for characters/dungeons/quest lines. I rarely took those in their entirety, but would often have bits and pieces I’d use.






  • For me, the huge value-add of Discord is for gaming (and is what Discord was created for). In college, my friends and I were originally using Skype calls when we’d play League together, but it was super annoying; essentially in order to not have to create a new call and add everyone who happened to be playing every time we just had one giant call with everyone we’d “redial” when playing. The downside is that if you were on Skype but not part of the game (in class or something) you’d get the Skype call invitation and have to decline it.

    Switching to Discord was fantastic. We’d just have a persistent voice channel for different games, and you could chill in there to indicate it’s what you were playing or wanted to play, and if someone wanted to join they just jump on the call. It was also nice for organizing our text chats into different subjects (using different text channels), so if you were trying to ask if anyone had any advice for a certain class, you wouldn’t have your messages drowned out by people talking about news about a upcoming game. We just have a “games” text channels and a “classes” text channels and a “weekend plans” text channel, etc. This became particularly important as the server grew from friends to friends of friends and would’ve been overwhelming to have everyone stuck in one chat.

    That’s pretty much been the extent of my Discord use, and I’m continually amazed to hear how others have been using it. I’ve seen the “join us on Discord, X, Facebook, etc.” for different games coming out, but never thought much of it or ever considered doing that.






  • AndrasKrigare@beehaw.orgto196@lemmy.blahaj.zonefisherman rule
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    1 month ago

    Definitely a fair question; at least for the large bodies of water near me, before they let you park and take your vessel in, they check the registration on it. I’m doing that, they can check what other bodies of water you’ve taken the vessel to and how recently, and can then determine whether or not it’s safe for you to bring it into that one.

    I don’t actually know what the recourse is if it’s not safe, if they make you spray it down thoroughly there, or completely refuse entry, or something else. My information here is from a vague memory of a sign at a lake parking area that was titled “Why do I need to register?” or something like that.







  • To me, the potential point of confusion is referring to “sent by Ctrl+D” and things “received by the end process” as synonymous, ignoring the tty driver in between. When you Ctrl+d, you send a magic byte value to the tty master (which I would refer to as a EOF character, but I understand the argument against the terminology). On the other side of it the process doesn’t receive this value, but instead has its read call returned even if the buffer is 0.

    A simple example hopefully highlighting the difference

    Window1:
    nc -nvlp 5555 #"far nc"
    
    Window2:
    nc -nv 127.0.0.1 5555 #"local NC"
    Hi there[Enter]
    Hi [Ctrl+D]There[Ctrl+D][Enter]
    
    Window3:
    strace -p [pid of local nc]
    
    Window2:
    [Right arrow][Right arrow][Ctrl+D]
    [Ctrl+D]Uh oh[Enter]
    

    What we see is pretty much as described. From the first line, we see “Hi there\n” on the other side. For the second line, we first see "Hi " appear, then “There” then “\n”.

    From the third line, in the strace we can see the sequences representing the right-arrow key, and we can see the tty driver on the far side takes those sequences and interprets them to render the cursor two characters to the right.

    The fourth line is where it gets more interesting. We send the tty driver the EOF byte, and the tty driver interprets this and gives the current active tty client a 0-byte return to read() and assumes we have no more data to send. But unlike bash, nc doesn’t care about a 0-byte read and is still looking for more data (as we can see in the strace). But if we continue to type and send more data (the “Uh oh”), we can see in the strace that the tty never sends this to the nc. So, to some definition, we’re still sending data to the local nc, but the tty driver isn’t actually relaying it


  • I haven’t heard of that being what threading is, but that threading is about shared resourcing and memory space and not any special relationship with the scheduler.

    Per the wiki:

    On a multiprocessor or multi-core system, multiple threads can execute in parallel, with every processor or core executing a separate thread simultaneously; on a processor or core with hardware threads, separate software threads can also be executed concurrently by separate hardware threads.

    https://en.m.wikipedia.org/wiki/Thread_(computing)

    I also think you might be misunderstanding the relationship between concurrency and parallelism; they are not mutually exclusive. Something can be concurrent through parallelism, as the wiki page has (emphasis mine):

    Concurrency refers to the ability of a system to execute multiple tasks through simultaneous execution or time-sharing (context switching), sharing resources and managing interactions.

    https://en.m.wikipedia.org/wiki/Concurrency_(computer_science)