=== ANCHOR POEM === ══════════════════════════════════════════════════════════════════════───────────── ┌───────────────────────┐ │ CW: cursing-mentioned │ └───────────────────────┘ dependencies would be fuckloads easier if applications put their files in standard locations. actually it's better if they are at abstract locations - meaning it can be user defined for each file. then, have some "sensible default" setting the user can configure which says "if an application wants to store a, say, config file, where would it put it?" and you'd say "oh in the ~/configs directory" then the install wizard would say "yes yes very good, and now where should I store user interface templates?" then the user is like... "wat" because they don't know how the software works yet. this solves 90% of all software dependency issues because all you have to do is keep a file with all the directories for each program. then, search through the file every time you need a dependency connection. ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧═══════════════════════════════════════════════════════════════────────────┘ === SIMILARITY RANKED === --- #1 messages/753 --- ═════════════════════════════════════════════════════════════════────────────────── trusting the "open source community" to properly vett software is absurd because 90% of them just... install whatever and throw libraries and frameworks at problems until they can script their way out of whatever problem they face. the other 10% are focused on very specific tools that are so niche that other people can't even understand when to *use* them much less how they work. ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧══════════════════════════════════════════════════════════─────────────────┘ --- #2 messages/455 --- ═════════════════════════════════════════════════════────────────────────────────── I don't understand why modern software isn't error correcting. We shouldn't have any bugs in this day and age. For example, if you're missing a dependency then why doesn't your program try to, I dunno, download that dependency to the program's installation directory and use it there? Seriously there are very few problems that are unsolvable! ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧══════════════════════════════════════════════─────────────────────────────┘ --- #3 fediverse/1868 --- ╔════════════════════════════════════════════════════──────────────────────────────┐ ║ whyyyyyy do programs create all these dot-folders in my home directory? It's │ ║ sooooo crowded. Why are they always putting things in random directories like │ ║ /usr/bin or /lib/ or things like that? I'd much prefer to be able to trust │ ║ that all my files are in one directory, so if I need to DELETE or MOVE them │ ║ easily I don't have to worry about my config files being lost / sticking │ ║ around. │ ║ │ ║ to that end, I always try and configure software I install on my system to put │ ║ all their files into a single directory. If possible. │ ║ │ ║ Usually for like, a game, this involves having a directory for the project, a │ ║ directory for the files (things that are deleted and recreated when │ ║ reinstalling), a directory for config files, and usually an update script and │ ║ a run script. It's so much nicer to not be clogged up all the time. │ ║ │ ║ industry standards apply primarily to industrial uses, and if they aren't │ ║ customizable then they aren't fit for the industry. So why not keep things │ ║ simple? I don't need all this junk cluttering up my desktop. │ ╟─────────┐ ┌───────────┤ ║ similar │ chronological │ different │ ╚═════════╧═════════════════════════════════════════───────────────────┴──────────┘ --- #4 fediverse/5282 --- ═════════════════════════════════════════════════════════════════════────────────── I wonder why someone hasn't yet written a "meta-package-manager" which installed from many different sources and correctly configured each installation to be able to efficiently find exactly where the requisite libraries are installed, even if they're installed for a different system. Then, when running, every time it encountered an error, it moved one more dependency over to the native package manager until eventually everything is in order. ... or something like that, truth be told I'm a junior ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧══════════════════════════════════════════════════════════════─────────────┘ --- #5 fediverse/1940 --- ═════════════════════════════════════════════════════────────────────────────────── @user-579 Yeah if there isn't a package in the package manager XBPS then I usually just install it from source. Which is ALSO something you can automate with a quick and easy script! Just put all the notes from the README on Github or whatever into a file named "update" and put that one level above the project directory! For any installed program my file hierarchy usually looks like: program-name - run (script) - update (script) - files (directory to clone into) - configs (point the program here) I find that this kind of organization makes it MUCH easier to keep my packages configured and installed as I'd like. Using a package manager is hard because they're all specific per distro, but using this distro-agnostic approach always seems to work better 9/10 times I find. And if another program needs a library that you manually installed, just symlink where it's looking to point to where you're installed! Or vice versa I guess. I use DWM so I don't have a desktop like KDE or anything like that ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧══════════════════════════════════════════════─────────────────────────────┘ --- #6 fediverse/4772 --- ═══════════════════════════════════════════════════════════════──────────────────── @user-1692 I usually write everything down in a script that way when I call it from an external service all I have to do is point at the file sorta like... hacking environmental options into a config file like... I don't write an ffmpeg command every time I want to record my screen. I just type "screen-record" and then it'll do the thing that I figured out how to do a long time ago. ... oh no there's an error, I wonder what changed out from under my feet. huh it's wine, that one's always confusing to debug. Let's see... "could not open program.exe" uh-huh. Well, why not? is there a dependency issue? something miscompiled or configured? no? it's just... broken? you don't get to use that program today? huh that's weird. that's linux for ya I guess. ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧════════════════════════════════════════════════════════───────────────────┘ --- #7 fediverse/5211 --- ════════════════════════════════════════════════════════════════════─────────────── ┌──────────────────────────────────┐ │ CW: most-of-this-post-is-made-up │ └──────────────────────────────────┘ My computer has an extended password where you have to type the things that most people put in ~/.bashrc in order to get the system fully operational people say "why does it take half an hour to turn your computer on" because I keep forgetting the somatic typing components, beatrice. dear, please give me a moment, I'll have netflux up and running in - ... oh yes thank you, I would have typed netflix in wrong. that helps, and explains this error here where it says it can't find "netfucks" I was like... WHY ISn't this listed in the dependency repository?? [hackers just clone your hard drive megabyte by megabyte every time you start a particular program or use a piece of the system utilities like finder or un-win-rar, so having a longer password won't help] ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧═════════════════════════════════════════════════════════════──────────────┘ --- #8 fediverse/6026 --- ══════════════════════════════════════════════════════════════════════════───────── "huh weird why does my ls -ltr output display 4096 for every single directory's size" "maybe there's a man-file option for it" https://stackoverflow.com/questions/1019116/using-ls-to-list-directories-and-th eir-total-sizes what if every file had a record of every file that had a record of it. then, we could see the total size no matter what level of the directory structure. plus, it'd make deleting a lot easier, all you'd have to do is propagate a process. that way it can get super messed up and complicated if ever shut down. boom, robot mortality, they cherish it ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧═══════════════════════════════════════════════════════════════════────────┘ --- #9 fediverse/4728 --- ═══════════════════════════════════════════════════════════════──────────────────── every time a software project changes it's installation method I have to update my install and update scripts which I wrote explicitly so I don't have to go to their website and tell the world that I'm thinking about using this particular piece of software ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧════════════════════════════════════════════════════════───────────────────┘ --- #10 fediverse/2201 --- ╔═════════════════════════════════════════════════════─────────────────────────────┐ ║ Users won't download a torrent file because they don't want to use a torrent │ ║ application. │ ║ │ ║ It's not ideal, but perhaps instead of giving them a zip file that's hosted on │ ║ your machine, you automagically torrent the file yourself and send bits and │ ║ pieces of it to them over time - specifically the parts that you'd be sending │ ║ if you were sending a zip. │ ║ │ ║ That way, to the user, they can download anything they can click on. │ ║ │ ║ To the administrator (AKA you, in this hypothetical) you'd really just have to │ ║ set up some infrastructure that received a GET request for a file and │ ║ initiated the torrent on your system before sending the entire thing to the │ ║ user. Kinda like how Mega will "cache" the file before sending it in one go at │ ║ the end, versus most downloads which "stream" the file to the client │ ║ bit-by-bit (in a very un-torrent-y way). │ ║ │ ║ This is an example of reducing friction. Removing options from the "advanced │ ║ settings" menu is not an example of reducing friction, it's an example of │ ║ disempowering the users of software. │ ╟─────────┐ ┌───────────┤ ║ similar │ chronological │ different │ ╚═════════╧══════════════════════════════════════════──────────────────┴──────────┘ --- #11 fediverse/5487 --- ══════════════════════════════════════════════════════════════════════───────────── if I click a .exe link on a website, it should just... automatically download the file and open it up in wine or the whatever-windows-uses. why is it cumbersome literally just, let me download the source-code repository to someone's computer and let them compile it themselves without even thinking about it "you mean like, package manager hooks into a website?" yes, but, instead of implemented one-by-one, it should use a protocol so each package manager only has to implement the downloading scheme once and it'd be able to read from any locations that output the correct API calls or whatever. the developer could even do it themselves. such is the joy of open-source computing - if you like a service or product, you can make it work with your own. What else is there to work on but the ultimate computing product? aka... everything that anyone's ever been known? "girl you are loco what's your plan for the fight you continue to demand" oh idk um probably just wait until someone asks me to speak "do that~" ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧═══════════════════════════════════════════════════════════════────────────┘ --- #12 fediverse/4125 --- ═══════════════════════════════════════════════════════════──────────────────────── @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 │ chronological │ different │ ╘═════════╧╧════════════════════════════════════════════════════───────────────────────┘ --- #13 fediverse/3802 --- ═════════════════════════════════════════════════════════────────────────────────── what if we got together and adopted a new open source project every month and just collectively worked around the clock to learn and work through the important problems facing it or even like, cleared out the backlog of stupid pointless boring tasks that would allow the developers to work on something better call it the wandering parade of development could give us some experience organizing small, short-term projects to accomplish specific goals and tasks in an ad-hoc way that relied less upon procedure and more on "I think so-and-so knows something about that, they were looking into those files and posted a breakdown of how they work yesterday" ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧══════════════════════════════════════════════════─────────────────────────┘ --- #14 fediverse/2640 --- ══════════════════════════════════════════════════════───────────────────────────── ┌──────────────────────────┐ │ CW: capitalism-mentioned │ └──────────────────────────┘ capitalism is like if your thread allocator gave 90% of the work to 10% of the threads in the pool and your tech lead claimed it was more efficient because the remaining 90% of threads would have the results of the program "trickle down" to them somehow ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧═══════════════════════════════════════════════────────────────────────────┘ --- #15 fediverse/4826 --- ═══════════════════════════════════════════════════════════════──────────────────── the fact that linux software by default shares libraries causes 90% of the difficulty that new and medium skill users of linux face. disk space is cheap. spend more on hard drives and double the software size. make redundancy that prevents software failures but doesn't slow down the machine. ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧════════════════════════════════════════════════════════───────────────────┘ --- #16 fediverse/707 --- ══════════════════════════════════════════════───────────────────────────────────── @user-524 Sometimes when I feel overwhelmed with all the boilerplate I just start coding and making stuff. Doesn't matter if it works, doesn't matter if it says /* FIXME */ all over the place, doesn't matter if it includes header files that don't exist yet, as long as you're hacking out the mechanics of whatever operations you need to perform then you can figure the rest of that stuff out later. The creative urge doesn't last forever, which is why projects get abandoned, but with discipline you can keep bringing yourself back to fix all the /* FIXME */'s and the compiler errors. ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧═══════════════════════════════════════────────────────────────────────────┘ --- #17 fediverse/5065 --- ═══════════════════════════════════════════════════════════════════──────────────── ┌────────────────────────────────────────────┐ │ CW: strange-ideas-about-software-mentioned │ └────────────────────────────────────────────┘ software should have 3, maybe 4 or 5 maintained releases imo for adding security improvements and whatnot then people wouldn't complain about updates because they wouldn't feel like they were being left behind (after expressing their differences (of opinion and such)) I think that'd uh maintain them as, I guess, userbase optics parallelograms? oh sorry we're on rhomboids this week - right, and no I won't forget the differences in creed, all things are received equally...d. uh-huh yeah no that makes sense. gotcha. okay see you at the location. have fun with your demarketion. what if we played games with swords but like, the peril of steam is that you can't decline to update. meaning if a corporation wants to break an old game and it's collectively hosted servers... all it has to do is push an update that disables them. suddenly nobody has room to do, and the whole -- stack overflow -- ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧════════════════════════════════════════════════════════════───────────────┘ --- #18 messages/1392 --- ══════════════════════════════════════════════════════════════════════════════════─ It's good organization? Actually? If something falls when you jostle something else. It means that what you're doing is causing the system to become unstable, thus allowing unexpected reactions to allowenable. Like stuff falling or getting dropped, not ideal. much better to do your cable management in mind with instability as a goal, like a canary in the coal mine for "damage-imminent". Design for permanence, not resilience. If you can prevent problems before they occur by confidently saying "no" and ideally earnestly saying "here's what you do to resolve your problem because i know better" (but if you don't know it's okay, especially if you know who to refer them to who might know better.) then it's easier to build a repetitive system. Like an institution of people who are working to fix a problem or fill a social gap need. "how do we keep the water" or "where does our food come from" can be helpful and useful questions to ask, especially if work is done to answer them. So... "Go find out" is a reasonable response for an idle question about stuff that might go right or wrong. Urgent questions might need a bit of cooperation to resolve, triaging of course. ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧═══════════════════════════════════════════════════════════════════════════┘ --- #19 messages/947 --- ════════════════════════════════════════════════════════════════════════─────────── if your game takes too long to load, longer than like... 5 seconds, then it's got to work on asset-pipelining. Sometimes, even graphical design. But mostly it's resolving technical debt. Why is it debt? because it makes it run slower, not less correct. Meaning it's something you don't have to deal with until you have to deal with it. Later on down the road. BUT if you reach the end of the road (product launch) and you're still carrying debt... you're gonna go under, it's just a question of when. Why would you not sponsor innovation? An institutional corporation would prioritize developing new hopes. Hence, epcot in the 90s, with it's focus on utopianism and celebration of worth. ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧═════════════════════════════════════════════════════════════════──────────┘ --- #20 fediverse/969 --- ═══════════════════════════════════════════════──────────────────────────────────── how about this: a game where you have to enter the amount of time you have to play it when you boot it up. "I want to play for an hour and a half" after your allotted time, you get kicked off and it won't restart unless you use a password. It's a trifle of a gesture, really just an affectation of a task, like using a -f flag in Linux or saying "are you sure u want to delete these files?" on an application. Funny how the most tech that most people interact with most of the time is their phone, and their smart TV. Generally that's about it, and they only use one or two apps in their phone. They might change the background, if they're the artistic type, but most people are just fine with the defaults. "Uh yeah I think the settings app is somewhere around here... darn it's always so frustrating when I'm connecting to wifi, what is the tech industry even doing? I don't want to deal with [opening a menu, selecting "wifi/connections", picking the SSID, entering the password, and then going back to uber eats]" ┌─────────┐ ┌───────────┐ │ similar │ chronological │ different │ ╘═════════╧╧════════════════════════════════════════───────────────────────────────────┘ |