=== ANCHOR POEM ===
═══════════════════════════════════════════════════════════────────────────────────
 @user-883 
 
 yeah that's probably better too since it'll be easier so there'll be fewer
 bugs, especially since processing audio isn't usually performance critical ^_^
 
 TBH I just want people to make more threading primitives like locks,
 semaphores, and iterators. Like... thread pools, or hashmaps that run a
 function on each record stored within every time each of the threads passes a
 checkpoint, or paginated arrays of data that run a function on themselves and
 the records near them (with slightly different input values, of course) idk
 what those are called but I can't resist putting them in everything
 
 Anyway I do think multithreading programs that don't need it will teach you to
 be a better programmer, so... depends on what you're working on I guess. Are
 you preparing to be ready and working, or are you ready and working?
                                                           ┌───────────┐
 similar                        chronologicaldifferent═════════════════════════════════════════════════════════════───────────────────────┘

=== SIMILARITY RANKED ===

--- #1 fediverse/4123 ---
═══════════════════════════════════════════════════════════────────────────────────
 @user-883 
 
 you're right
 
 but I think your first impulse should be to think about how to do it in a
 multithreaded way
 
 If the result is that single-threading would be better, great! It'll be easier!
 
 But thinking about multithreading first will give you crucial insights into
 the structure of the program.
 
 depending on what kinds of programming you do...!
                                                           ┌───────────┐
 similar                        chronologicaldifferent═════════════════════════════════════════════════════════════───────────────────────┘

--- #2 fediverse/247 ---
═══════════════════════════════════════════────────────────────────────────────────
 @user-195 parallel is when two programs run simultaneously, like two parallel
 lines (threads) that never touch.
 
 concurrent is when the two lines are split up into chunks and the program
 switches between them - like this: -----_----
 
 enter alternate universe
 
 parallel is when two programs operate on the same axis - usually time - and
 never interfere with each other. the OS will switch between them as
 appropriate to make sure they never intersect. Sorta like this: -----_----
 
 concurrent is when two programs are executed simultaneously, primarily
 constituting computation correlated with collective contents of coordinated
 collaboration between contextually related coroutines.
 
 It's simple, even a beginner could figure it out.
                                                           ┌───────────┐
 similar                        chronologicaldifferent═════════════════════════════════════════════───────────────────────────────────────┘

--- #3 fediverse/5405 ---
══════════════════════════════════════════════════════════════════════─────────────
 can't stop thinking about a visual programming editor that can be interacted
 with in the same way that people are used to (think chromebooks dragging and
 dropping icons in a web UI) but produces a text-file full of code and all the
 required compilation scripts for any language the user requires...
 
 seriously, programming is not THAT different between the different languages.
 especially the main ones. they're all essentially variables and function calls
 at the end of the day, so why not abstract away all the extra details and
 build something that n00bz can actually use to build things.
 
 I technically could make this but I don't have the bandwidth and I don't think
 it's important really? who can say, the tools tend to co-create the solutions
 in my experience.
                                                           ┌───────────┐
 similar                        chronologicaldifferent════════════════════════════════════════════════════════════════════════────────────┘

--- #4 fediverse/5237 ---
════════════════════════════════════════════════════════════════════──────────────┐
 that feeling when you're working on a large piece of software which has the      │
 capability to process in advance which operations will go in what order (a       │
 form of constant re-compilation) and schedules tasks like an operating system,   │
 to be executed on one of many individual threads.                                │
 your filemanager probably has a thread for a moment, then passes it back,        │
 waiting it's turn to be updated while you're messing around on Inkscape or       │
 writing something in Neovim or running neofetch 256 times in order to find the   │
 best background to go along with it or whatever it is people do when using       │
 computers                                                                        │
 the task scheduler meanwhile has the glorious opportunity to work at a higher    │
 level of abstraction, managing each individual process and learning bits and     │
 pieces of what needs to be processed next. It all gets put on a list, and        │
 whenever a new thread comes up to be available it can point it toward one of     │
 those in the list of tasks to be executed by the task executor who works on a    │
 schedule and laughs externally in wintertime~                                    │
                                                            ┌───────────┤
 similar                        chronologicaldifferent══════════════════════════════════════════════════════════════════───┴──────────┘

--- #5 fediverse/1121 ---
═══════════════════════════════════════════════────────────────────────────────────
 @user-812 @user-826 
 
 there should exist either the assurance that the default configuration does
 not overheat or crash your computer (as Windows and Mac claim to offer) or the
 OS should provide the capability to solve any configuration problems that may
 prevent a user for utilizing their system as they desire. (as does Linux)
 
 they're all Turing machines after all, why would they not be interoperable?
 Even if there's a translation layer, as long as the functionality of the
 software is the same, why would there ever be considerations as to whether or
 not a program would be able to be run on a particular computer?
 
 lack of hardware capabilities I can understand, that just means you need a
 better computer. But why, if the code is visible, would your computer not
 develop understandings about how to run each and every conceivable program
 written using known languages like C or Python? Seems like pretty basic stuff
 to me. (endless sufficient backwards compatibility)
                                                           ┌───────────┐
 similar                        chronologicaldifferent═════════════════════════════════════════════════───────────────────────────────────┘

--- #6 fediverse/3151 ---
══════════════════════════════════════════════════════────────────────────────────┐
 ┌───────────────────────────┐                                                    │
 │ CW: re: cursing-mentioned │                                                    │
 └───────────────────────────┘                                                    │
 @user-1461                                                                       │
 I'm best at Bash.                                                                │
 I'm most capable with Lua.                                                       │
 My favorite is C.                                                                │
 I'm not a good programmer, I think too hard. Massive systems are too large for   │
 me. I like laying out data, whether that be by files and programs in Bash,       │
 arrays and tables in Lua, or memory and datatypes in C, I like to think about    │
 how programs are constructed.                                                    │
 Which functions point to which piles of numbers? what do they do when they get   │
 there?                                                                           │
 I think I'm better as an artist. But I can do systems administration quite       │
 well (with Bash and a guiding hand telling me what and why to do)                │
 ... though I kinda suck at technical sysadmin, like Gentoo. There's too much     │
 terminology - why is data too complicated? Just use data!                        │
 anyway. I sound opinionated, but I listen closely to good arguments and          │
 quickly change my tune when I am incorrected. I am a team player, and I firmly   │
 believe that sometimes a bad plan executed with cohesion and precision is        │
 better than the best play executed too late and with too little strength.        │
                                                            ┌───────────┤
 similar                        chronologicaldifferent════════════════════════════════════════════════════─────────────────┴──────────┘

--- #7 fediverse/3155 ---
═══════════════════════════════════════════════════════────────────────────────────
 ┌───────────────────────────┐
 │ CW: re: cursing-mentioned │
 └───────────────────────────┘


 @user-1461 
 
 my issue is that I've never really had project-mates. Every time I try nobody
 will work with me. I applied to like, fifty different jobs, and nobody
 interviewed me! Sheesh, guess they don't want me. FIFTY JOBS. Entry level.
 Beginner programmer.
 
 ah well. I guess they confused someone who would work for 40,000$ per year
 with someone who was 1/3rd as useful as someone who deserved 120,000$ per year.
 
 I'd love to get experience. I'm sure I'd feel significantly differently with
 as much. Perhaps I'd even decide that programming professionally isn't for me,
 which would feel... quite defeating
 
 who can say. Not I, for I have not experienced it. Though I will say my time
 in hardware taught me that I'm fragile and can't work too much. Like a scalpel
 that dulls when used consistently, I am a scalpel that gets no practice... Is
 that really useful at all? who can say. Not I, for I have not experienced it.
 Though I do like writing logical machines. Laying out data. Picturing
 structures.
                                                           ┌───────────┐
 similar                        chronologicaldifferent═════════════════════════════════════════════════════════───────────────────────────┘

--- #8 fediverse/849 ---
══════════════════════════════════════════════────────────────────────────────────┐
 wish there were ascii characters that took up more than one line of code         │
 vertically.                                                                      │
 wonder if we could use a sorting algorithm, or markup language, or something     │
 like that to organize less structured data along user-customizable rules.        │
 Like, a code editor that worked with your ideas, rather than the strict          │
 expression of your text. You could pretty much write in any language, even       │
 pseudocode, and the LLM behind the scenes would translate whatever you wrote     │
 into whatever result you needed. Writing Rust, but need to fit in with C code?   │
 No worries it'll translate for you. As long as the end result is functionally    │
 the same, which could be verified by running two separate VMs that ran           │
 interpreters every time you saved. And as long as their translation layers       │
 matched completely, then odds are they're the same. And if not, well, the        │
 programmer can always debug it. It's not like this would be running on           │
 something that needed to perform in the moment? Like, improv instead of          │
 tragedies, or battles instead of strategies                                      │
Image attachment
                                                            ┌───────────┤
 similar                        chronologicaldifferent════════════════════════════════════════════─────────────────────────┴──────────┘

--- #9 fediverse/5212 ---
════════════════════════════════════════════════════════════════════───────────────
 the reason you start with a game engine is because then you'll have tools to
 make however-many games you want. Tools that you know intimately enough that
 you can debug and improve them without breaking your creative flow by learning
 something new halfway through a project
 
 the whole point of individualized projects instead of viewing each computer as
 a complete and total whole (why do we need servers again?) is that you can
 paint a picture of where the design of the program is intended to go, such
 that all the considerations are in place and whatever issues or struggles you
 might face along the way are adequately addresssed, -- stack overflow --
 [because I mistyped addressed] -- -- if you know what "stack overflow" means
 you have intimate knowledge of the technology, and can probably guess what it
 means in context when I say it. "nuts I lost that train of thoguht" -- stackl
 ov
                                                           ┌───────────┐
 similar                        chronologicaldifferent══════════════════════════════════════════════════════════════════════──────────────┘

--- #10 fediverse/2879 ---
══════════════════════════════════════════════════════─────────────────────────────
 ┌────────────────────────┐
 │ CW: re: tech info-dump │
 └────────────────────────┘


 @user-1370 
 
 I love this a lot! I want to put function pointers in a "matrix architecture
 array" and make them point to different functions at different points in the
 program. I bet you could even point them at each other, so like if M and Y
 then point at N, A, Y or something.
 
 this is really cool I like stuff like this tomorrow I'll take pictures of
 something similar I'm working on! I abandoned it tho hehe anyway remind me if
 I forget!!
                                                           ┌───────────┐
 similar                        chronologicaldifferent════════════════════════════════════════════════════════────────────────────────────┘

--- #11 fediverse/282 ---
════════════════════════════════════════════───────────────────────────────────────
 @user-209 
 I think you're right. Every letter in the variable name is another byte the OS
 has to keep track of, which was a bigger problem in the past than it is today
 (when it's been made irrelevant)
 
 it's interesting how habits persist though the conditions that caused them
 have faded. like a personal reflection of the environment you learned in.
 
 "A a = new a();" is much more concise and (crucially) you can fit more words
 to the right.
 
 "a + b = c; c -= 2; f_z.write(c); f_z.close();" could conceivably be written
 on a single line if you have short variable names. and when you only have so
 many lines...
 
 glad we're not constrained by those things anymore. the skeletal code that we
 look at daily is much clearer - scope is more important, and so it makes sense
 to encourage a coding style that illustrates it. however I can't help but
 think block formatting like this could be useful in some situations, such as
 when you'd normally be compelled to write a function for an operation that
 runs once or more.
                                                           ┌───────────┐
 similar                        chronologicaldifferent══════════════════════════════════════════════──────────────────────────────────────┘

--- #12 fediverse/653 ---
═════════════════════════════════════════════──────────────────────────────────────
 there's a difference between designing software and using software. Some
 things can be made, and then saved for another day when their implementations
 may be accomplished more ethically. It's okay to say "let's leave this as
 'okay' and work on the next thing we've chosen."
 
 Check out this piece of C code I wrote last night:
 
 it doesn't compile, it's not finished, but I wrote it as-is
 
 [pretend like it was called "main.c" instead of "main.txt" - had to change it
 because mastodon thinks it's an invalid file]
 
 [actually .txt didn't work, try .png]
 
 [hmmm it realized it wasn't a valid png file, okay try screenshotting the
 code, there's only 300 lines]
 
 [sure glad there's only 300 lines]
 
 [too bad it won't let you send .zip]
 
 [won't let me name it main.png, presumably because they already have a
 failed-verified version on their machine. will rename to main-src.png instead]
sorry, when I pasted the source code in it was negative fourteen thousand, six hundred and thirty one characters. Phew that's too many.  basically it's a C source code file with a lot of comments left in... odd locations. They details ideas the author has had about the tech industry and all of creation, and with it a song is woven of truth and liberation. We'll see where life brings us, but we know it's just ours for a moment, so let's carry forth on our own torms [terms, but pronounced as "dorms" for some reason?]
                                                           ┌───────────┐
 similar                        chronologicaldifferent═══════════════════════════════════════════════─────────────────────────────────────┘

--- #13 fediverse/634 ---
═════════════════════════════════════════════──────────────────────────────────────
 @user-192 
 
 I'd agree with that. it's not designed for performance, not really. Mostly
 ubiquity, which is it's strength. As long as something can be compiled to a
 binary, BASH can execute it. That's why it's good, for accomplishing diverse
 tasks that you cannot have the capacity to program yourself. Scientific
 computations or cultural approximations, things that are beyond your intuitive
 understanding as a human on this earth, but which compel and align your
 thinking.
 
 I'm sure someone could create a more intuitive or accessible syntax, but
 syntax isn't the point - the capabilities, what you can do with it, has always
 defined the purpose of programming paradigms. And BASH is (currently) at the
 forefront of it's niche, the "terminal" language that handles "command line"
 applications. Powershell is good, yes... but it's not as good as BASH. Neither
 is Fish or... the one that starts with a z? zfs? something like that. The
 acronyms are hard to keep straight sometimes.
                                                           ┌───────────┐
 similar                        chronologicaldifferent═══════════════════════════════════════════════─────────────────────────────────────┘

--- #14 fediverse/3553 ---
════════════════════════════════════════════════════════───────────────────────────
 @user-381 
 
 I have this notion about a math/CS curriculum where students build and program
 their own calculators. Once you make the calculator do it you never need to do
 it yourself again.
 
 for the same reason that "writing is thinking" is true, so too is "programming
 is calculation" true.
 
 by working through the steps required to produce a result, and fully
 understanding each step, they have a much more solid understanding of what's
 going on than if they practiced rote memorization (worse) or continual
 computation (better, not best tho)
 
 especially if every step of the way is accompanied with visual elements which
 show exactly what is happening. Some people are more visual, some people are
 more algorithmic, and finding a way to teach all types of people is a truly
 difficult and rewarding part of teaching.
                                                           ┌───────────┐
 similar                        chronologicaldifferent══════════════════════════════════════════════════════════──────────────────────────┘

--- #15 messages/755 ---
═════════════════════════════════════════════════════════════════──────────────────
 Code editor that moves boxes by saving over the file with a lua script every
 time you moved a function call around.
 
 Oh lemme start at the beginning:
 
 A code editor program that's like a text editor like Vim or Emacs. If you
 don't know what those are, you should probably learn Emacs. Or Vim. Up to you.
 
 Oh right so if you do know what those mean, here's the idea: the white space
 matters. It's counted and tracked into variables in a LUA script which
 interface with the Vim C keybindings.
 
 "run a function within a c program or LUA script which calls a bash command
 which opens Vim for example with a file you want to edit. Then, inside the
 file, your spaces and tabs would WYSIWYG for the various food ads placed
 about, and then you could very easily create game design knowledge.
 
 WASD to move, alternatively hjkl 
 
 It would run a check every time the file updates and depending on how it
 changed it'd mark certain variables which would change the website as the user
 moved things around.
 
 It's just files. And files are just bits. But files are a useful abstraction,
 
 If you realize that "ugly hacking" should be industry standard.
                                                           ┌───────────┐
 similar                        chronologicaldifferent═══════════════════════════════════════════════════════════════════─────────────────┘

--- #16 fediverse/1892 ---
═════════════════════════════════════════════════════──────────────────────────────
 ┌─────────────────────────────────────────┐
 │ CW: C-programming-and-alcohol-mentioned │
 └─────────────────────────────────────────┘


 I want to write C programs with threads and manual memory management and
 function pointers and lots and lots of arrays and I'm not even kidding
 
 ... wait a minute I literally don't have a job, why am I not writing C
 programs right now?
 
 BRB I got something important to do, where's my vodka --> pkill firefox
                                                           ┌───────────┐
 similar                        chronologicaldifferent═══════════════════════════════════════════════════════─────────────────────────────┘

--- #17 fediverse/5780 ---
════════════════════════════════════════════════════════════════════════───────────
 ┌─────────────────────────────────────────────────────────────────────┐
 │ CW: scary-dark-circle-magic-is-totally-not-my-vibe-I'm-more-like-a- │
 └─────────────────────────────────────────────────────────────────────┘


 game idea:
 
 factorio clone except it's actually an IDE
 
 double click a "factory" building and you can open up a script window. Just
 enough room for a function or three, don't go off-screen...
 
 then, draw as many conveyor belts as you want. They have to be conveyors, and
 they can only dive under [num_belt_passthrough] other conveyor belts at a
 time. By forcing the player to structure their code linearly and laterally,
 they can see it with a more comprehensive [scope, but pronounced hope].
 
 could also have a neat visualizer for the data structures you'd build.
 
 [highly recommend that any programmer learn Lua, it's faster than you know]
 
 I name my variables after objects and patterns and I think that's normal
could also have a neat visualizer for the data structures you'd build.  I'm thinking of Lua tables which are really just nested JSON in disguise. Anyway picture a game of tetris where each block was a piece of data. Then, imagine scrolling left/right by "flipping through record albums in a jukebox" motioning while each non-center piece was sorta half-transparent. each "panel" is another json lvl  truly, the only way to know which prayers are real is to try praying to each and every god at least once or twice.  [problem is, there's so many of them] Image attachment I name my variables after objects and patterns and I think that's normal  a sword is but a breadknife in a longbow fight you see, gotta bring a shield for it. [lessons taught to the Uruk-Hai]  "ugh I don't wanna carry this with me" well that's okay you can switch off, just keep running yeah?  ... anyway, as I was saying  -- stack overflow -- I name my variables after objects and patterns and I think that's normal  I'm just a person, which is why I will never know how many effigies were burned, how many offerings done in solace and harm, for she sees only her eyeballs and trends towards her own proclivities.  I legitimately feel like it is a duty to report on what I see, but I'm also trying to not -- stack overflow
                                                           ──────────┐
 similar                        chronological                        different══════════════════════════════════════════════════════════════════════════──────────┘

--- #18 fediverse/6438 ---
══════════════════════════════════════════════════════════════════════════════─────
 why would you gatekeep content by keeping us from easily using LLMs some
 people aren't technical and still need to write computer programs because
 that's how you enlighten a people is empower them with new tools
 
 "I've never heard of that programming language, but luckily I can fit all of
 it's documentation in my context window."
                                                           ────┐
 similar                        chronological                        different════════════════════════════════════════════════════════════════════════════════────┘

--- #19 fediverse/2754 ---
══════════════════════════════════════════════════════─────────────────────────────
 ┌────────────────────────┐
 │ CW: is-that-rude??-wha │
 └────────────────────────┘


 AI engineers only ask users for prompts because they don't have any ideas of
 their own
 
 i'm a programmer, I think of AI like a tool, like a for loop or something.
 it's trivial to script together a local LLM that can process your stuff 1s
 slower every time you click the mouse, but like... who cares, right? everybody
 needs a chatbot...
 
 then they plan to script together a computer system that operates just like a
 corporation and it's like... no way, now there's something that can compete.
 
 and they don't know how to implement it. (but they're working on it)
 
 like, think about the absolute most automated Microsoft Teams or Discord could
 be.
 
 there's SO MUCH of your text-based information that they could process
 ANYTHING.
 
 well, anything that's been performed before.
 
 there'll still be a need for people, who actually apply the things they've
 learned. and -- stack overflow --
 
 alt text that has a list of attributes that are poster-selected that can be
 described one-by-one (to paint a picture)
                                                           ┌───────────┐
 similar                        chronologicaldifferent════════════════════════════════════════════════════════────────────────────────────┘

--- #20 fediverse/5291 ---
═════════════════════════════════════════════════════════════════════──────────────
 the most important skill I can think of for a linux software engineer is the
 ability to connect multiple systems together and turn windows and macintosh
 devices into Linux devices so that datacenters can be built out of whatever's
 on the around.
 
 there's this programming language I like called Chapel for distributed
 computation computing which is also cool, if you're more of the programming
 type.
 
 networking security I believe often has hardware solutions, so getting the
 crypto-graphy boys and the PCB girls together to work on some jams is a good
 and productively useful gathering of insightful events
 
 "but ritz computers should only be used to solve problems that people have,
 not make more problems!" ah yes but have you considered that problems find
 you, and the computers help you work through them
                                                           ┌───────────┐
 similar                        chronologicaldifferent═══════════════════════════════════════════════════════════════════════─────────────┘