=== ANCHOR POEM ===
═════════════════════════════════════════════──────────────────────────────────────
 Hi, I'm learning about semaphores right now and trying to explain them to a
 friend. But I only sorta understand how they work - can anyone look at this
 pseudocode and tell me if I'm on the right track?
Some C pseudocode working through the semaphore design pattern. Here's the text of the pseudocode:  /* no lock example */  void start_thread(int* x) {   *x += 1; }  int main() {   int x = 0;   for (1000 times){     start_thread(&x);   }   print(x); }  /* in this case you have no idea what will print because thread A will take x and be like "ah yes it's 423" and then in the next instruction it'll be like "I'll increment this to be 424" and in the next one it'll say "okay now it's time to store 424 in the variable X" but like... there's a thousand threads all doing that at the same time, so odds are you'll have 5 that are like "ah yes this is 423 I'll set it to 424" */  /* not a good plan. Need a lock, so only one thread can use it at once. */ /* mutex example: */  void start_thread(int* x, int* x_mutex) {   *x += 1;   *x_mutex = 0; }  int main() {   int x = 0;   int x_mutex = 0;   for (1000 times){     while (x_mutex != 0){ } /* do nothing */     x_mutex = thread_id;     start_thread(&x, &x_mutex);   }   print(x); }  /* this should print 1000, but it's basically as slow as doing it single threaded. */  #define MAX 10  void start_thread(int* x, int* x_semaphore) {   *x += 1;   *x_semaphore += 1; }  int main() {   int x[MAX];   int x_semaphore = MAX;   for (1000 times) {     for (int i = 0; i < MAX; i++) {       x_semaphore -= 1;       start_thread(&x[i], &x_semaphore);     }     while (x_semaphore != MAX) { } /* do nothing */   }   int value = sum(x, MAX);   print(value); }
                                                           ┌───────────┐
 similar                        chronologicaldifferent═══════════════════════════════════════════════─────────────────────────────────────┘

=== SIMILARITY RANKED ===

--- #1 fediverse/111 ---
══════════════════════════════════════════─────────────────────────────────────────
 @user-95 that's why I like programming - it's my favorite form of spelling.
 i'm not very good at remembering all the names and the numbers, but I like to
 think I can make things do a function.
                                                           ┌───────────┐
 similar                        chronologicaldifferent════════════════════════════════════════════────────────────────────────────────────┘

--- #2 fediverse/1246 ---
═══════════════════════════════════════════════────────────────────────────────────
 @user-883 
 
 hehe if I don't understand how it works it's difficult for me to use things.
 My Linux friends get so exasperated with me because I'm like "cool script
 gimme like 2 days to figure it out" and they're like "bro just use these
 flags" and I'm like "no"
                                                           ┌───────────┐
 similar                        chronologicaldifferent═════════════════════════════════════════════════───────────────────────────────────┘

--- #3 fediverse/1221 ---
═══════════════════════════════════════════════────────────────────────────────────
 @user-883 
 
 either that or I might get lost in some C code we'll see how things develop
 >.>
                                                           ┌───────────┐
 similar                        chronologicaldifferent═════════════════════════════════════════════════───────────────────────────────────┘

--- #4 fediverse/1518 ---
═════════════════════════════════════════════════──────────────────────────────────
 ┌────────────────────────────┐
 │ CW: strange-politics-scary │
 └────────────────────────────┘


 acceleration-ism is just "learning the truth faster than they do"
 
 tbh should be more like "learning things to show them" but eh whatever gets
 the job done
                                                           ┌───────────┐
 similar                        chronologicaldifferent═══════════════════════════════════════════════════─────────────────────────────────┘

--- #5 fediverse/3680 ---
════════════════════════════════════════════════════════───────────────────────────
 it's probably a good idea to write pseudocode, then real code, instead of
 starting with real code, and bugfixing something incomplete and more difficult
 to reason with.
 
 unless you write real code easier than pseudocode. idk do what works for you.
                                                           ┌───────────┐
 similar                        chronologicaldifferent══════════════════════════════════════════════════════════──────────────────────────┘

--- #6 fediverse/581 ---
═════════════════════════════════════════════──────────────────────────────────────
 @user-428 
 
 sometimes I think about how much more productive I'd be if I had a code editor
 that let me draw arrows and smiley faces and such alongside the code. Or if I
 could position things strangely, like two functions side-by-side with boxes
 drawn around them. Or diagrams or flowcharts or graphs or...
 
 something that would output to raw txt format, but would present itself as an
 image that could be edited.
                                                           ┌───────────┐
 similar                        chronologicaldifferent═══════════════════════════════════════════════─────────────────────────────────────┘

--- #7 fediverse/5719 ---
═══════════════════════════════════════════════════════════════════════────────────
 I love dispatch tables! which is a term I just learned and a concept I have
 been using for a while.
                                                           ───────────┐
 similar                        chronological                        different═════════════════════════════════════════════════════════════════════════───────────┘

--- #8 fediverse/2459 ---
══════════════════════════════════════════════════════─────────────────────────────
 this is the simplest implementation of scalable anarchism I could think of.
 tell me how it's flawed so I can improve it before I need it.
algorism is a political and economic philosophy designed to wrest power from those who may be corrupted by it, and restore dignity and agency to all of humanity.  It accomplishes this through several layers of abstraction, of votes, of control, of decisions. What do people need? How could we improve? Is there something more we could do?  The idea is to negate bureaucracy by accomplishing goals in an ad-hoc fashion rather than rely on legalism for institutional execution. Projects, not operations.  Society shall be organized into tiers of rotating peers chosen by vote. Each tier sends their top two most voted for up a level to the next tier of organization. the duty of each tier is to provide for the needs and accomplish the demands of each of their lower tier allies. In addition they should provide what they can to their representatives, who offer them on the tier above.  If a need or demand cannot be met by the team of reps, the request is passed upward. This process can be accomplished with paper and pencil, but it's much better to automate and be public.  If desired, there is a queue system to help with the allocation of resources. This system rewards patience and conservation while still allowing for rapid acquisition. Pick two: good, cheap, fast.  It includes also a recycling system - the more you give back in clean and working order, the greater the options available to you.  It is a system of distribution, not control.
                                                           ┌───────────┐
 similar                        chronologicaldifferent════════════════════════════════════════════════════════────────────────────────────┘

--- #9 fediverse/376 ---
════════════════════════════════════════════───────────────────────────────────────
 @user-281 
 
 I'm just a rando but my understanding is that posting on the fediverse is
 sorta like writing on the sky, and anyone that wants can read it. I could be
 wrong though
                                                           ┌───────────┐
 similar                        chronologicaldifferent══════════════════════════════════════════════──────────────────────────────────────┘

--- #10 fediverse/4128 ---
═══════════════════════════════════════════════════════════────────────────────────
 @user-883 
 
 wait until they learn what you've been working on while they were getting
 better at... whatever they're more experienced in than you.
 
 the computer pictures you post are legitimately some of the coolest I've
 known! I don't exactly go looking for that kind of stuff because it's not my
 thing, but I appreciate seeing all the neat stuff you're working on.
                                                           ┌───────────┐
 similar                        chronologicaldifferent═════════════════════════════════════════════════════════════───────────────────────┘

--- #11 fediverse/5663 ---
═══════════════════════════════════════════════════════════════════════────────────
 I'm going to write some lua code that doesn't do anything useful and which I
 don't share with anyone
                                                           ───────────┐
 similar                        chronological                        different═════════════════════════════════════════════════════════════════════════───────────┘

--- #12 fediverse/3124 ---
═══════════════════════════════════════════════════════────────────────────────────
 I should not have to follow 16 steps that I don't understand just because you
 decided my system wasn't good enough for me.
a long list of steps in order to update a gentoo system to a new version (not even the newest version, I might add)
                                                           ┌───────────┐
 similar                        chronologicaldifferent═════════════════════════════════════════════════════════───────────────────────────┘

--- #13 fediverse/3817 ---
═════════════════════════════════════════════════════════──────────────────────────
 hey, anyone wanna build the matrix with me? minus the human CPUs of course.
                                                           ┌───────────┐
 similar                        chronologicaldifferent═══════════════════════════════════════════════════════════─────────────────────────┘

--- #14 messages/264 ---
════════════════════════════════════════════════───────────────────────────────────
 Don't write self documenting code! Force people to read the documentation so
 they know how to use it
                                                           ┌───────────┐
 similar                        chronologicaldifferent══════════════════════════════════════════════════──────────────────────────────────┘

--- #15 fediverse/6292 ---
═════════════════════════════════════════════════════════════════════════════──────
 I'm stuck. I don't know how to leverage whatever talents I have into making
 things happen. Maybe I should seek advice from a wise elder...
                                                           ─────┐
 similar                        chronological                        different═══════════════════════════════════════════════════════════════════════════════─────┘

--- #16 fediverse/4804 ---
═══════════════════════════════════════════════════════════════────────────────────
 I love it when wine doesn't work because it "failed to open program.exe"
 
 ... okay, can you tell me why it failed?
                                                           ┌───────────┐
 similar                        chronologicaldifferent═════════════════════════════════════════════════════════════════───────────────────┘

--- #17 fediverse/4084 ---
═══════════════════════════════════════════════════════════────────────────────────
 ┌──────────────────────┐
 │ CW: re: -mentioned   │
 └──────────────────────┘


 @user-1074 
 
 the more you try, the more you have to calculate, which is a problem, because
 endlessly recursive calculations create infinite loops, which frankly are
 impossible to compute because they defy computation! Not good, not ideal, no
 thank you, not for me, no thanks, not what I'd like.
                                                           ┌───────────┐
 similar                        chronologicaldifferent═════════════════════════════════════════════════════════════───────────────────────┘

--- #18 fediverse/112 ---
══════════════════════════════════════════─────────────────────────────────────────
 I live through the moments where I find a folder of stuff I made that I forgot
 about and I can go back and see it for the first time.
                                                           ┌───────────┐
 similar                        chronologicaldifferent════════════════════════════════════════════────────────────────────────────────────┘

--- #19 fediverse/2774 ---
══════════════════════════════════════════════════════─────────────────────────────
 I want to emphasize that my mask is just as much a part of me as the other
 part.
                                                           ┌───────────┐
 similar                        chronologicaldifferent════════════════════════════════════════════════════════────────────────────────────┘

--- #20 fediverse/466 ---
═════════════════════════════════════════════──────────────────────────────────────
 I love Linux. All I have to do is type "authserver" and "worldserver" and
 wouldn't you know it suddenly a universe is created (with very constrained
 rules) that anyone might inhabit should they desire to. It's not like I'm
 perfect - oh wait I have a toot about that, gimme a sec
                                                           ┌───────────┐
 similar                        chronologicaldifferent═══════════════════════════════════════════════─────────────────────────────────────┘