#Linux Shell Programming
Explore tagged Tumblr posts
arpitadey15 · 5 months ago
Text
How to Start Learning Linux Shell Programming in Ukraine
Tumblr media
Linux shell programming is a foundational skill for IT professionals, offering the ability to automate tasks, manage systems, and enhance productivity. Whether you're a beginner or looking to expand your skill set, learning shell programming can open up numerous career opportunities, especially in Ukraine’s burgeoning tech industry. In this blog, we’ll guide you through the steps to start learning Linux shell programming and explain how Unichrone’s tailored training programs can help you achieve proficiency.
Why Learn Linux Shell Programming?
Linux is widely used across various industries for its reliability, security, and flexibility. Shell programming allows you to interact with the Linux operating system through commands and scripts, automating tasks and simplifying complex processes. Here’s why shell programming is essential:
1. Automation of Repetitive Tasks
Shell scripts enable users to automate repetitive tasks such as file management, system monitoring, and backups, saving time and reducing errors.
2. Improved System Administration
System administrators rely on shell scripting to manage and configure servers efficiently, ensuring seamless operations.
3. Enhanced Problem-Solving Skills
Learning shell programming helps you develop analytical thinking and problem-solving skills by understanding system workflows and command-line tools.
4. Career Growth Opportunities
Shell programming is a versatile skill that is highly valued in roles such as DevOps engineer, system administrator, cybersecurity analyst, and software developer.
Steps to Start Learning Linux Shell Programming
1. Understand the Basics of Linux
Before diving into shell programming, it’s crucial to familiarize yourself with Linux basics. Learn about:
File systems and directory structures.
Basic commands like ls, cd, cp, mv, and rm.
Permissions and user management.
Editing files using tools like vim or nano.
2. Learn About Shells
A shell is an interface between the user and the operating system. Common shells include:
Bash (Bourne Again Shell): The most widely used shell in Linux environments.
Z Shell (zsh): Known for its advanced features and customization.
Korn Shell (ksh): Often used for its performance efficiency.
Understand the differences and choose one to focus on initially, preferably Bash, as it is the most commonly used.
3. Master Command-Line Basics
The command line is the foundation of shell programming. Learn to:
Use pipes (|) and redirection (>, <, >>).
Combine commands using operators like && and ||.
Search and filter data using grep, awk, and sed.
Manage processes with commands like ps, top, and kill.
4. Start Writing Simple Scripts
Once comfortable with commands, start creating simple scripts. Begin with tasks like:
Printing text using echo.
Creating and navigating directories.
Writing conditional statements using if-else.
Looping through files with for, while, and until loops.
5. Explore Advanced Scripting Techniques
Progress to more advanced topics as you gain confidence:
Functions and modular programming.
Error handling and debugging.
Using variables and arrays.
Working with input/output streams.
Scheduling scripts with cron jobs.
6. Practice Regularly
The best way to learn shell programming is through hands-on practice. Work on real-world tasks such as:
Automating backups.
Monitoring system performance.
Creating scripts for software installation.
7. Join Online Communities and Forums
Engage with online communities like Stack Overflow, GitHub, and Linux forums to share knowledge, ask questions, and learn from others' experiences.
8. Enroll in a Professional Training Program
For a structured learning experience, consider enrolling in a professional training program like the one offered by Unichrone. Expert-led instruction and hands-on exercises will accelerate your learning process.
Conclusion
Learning Linux shell programming is a rewarding journey that can significantly boost your career in Ukraine’s thriving IT industry. Whether you’re aiming to become a system administrator, DevOps engineer, or cybersecurity expert, shell scripting is an indispensable skill.
Unichrone’s comprehensive training program equips you with the knowledge, hands-on experience, and certification needed to excel in this field. Start your learning journey today and unlock a world of opportunities in the ever-evolving tech landscape
0 notes
piratesexmachine420 · 8 months ago
Text
It makes me giggle a little every time I have to write a Bash script with conditionals. There's something very funny about the orthogonality here.
Tumblr media Tumblr media
Yeah, sure, why wouldn't the square bracket be a program at /usr/bin/[?
This is why it technically isn't a bash syntax error to forget the matching ]. ] is an argument to the program [, and there's no reason that [ wouldn't be able to run with that argument missing. It's entirely a measure for keeping up appearances. It's also why you need the spaces between the brackets and the test expression.
I wish every piece of shell control flow worked like that.
10 notes · View notes
mesaprotector · 7 months ago
Text
Clarity trumps efficiency.
*I would've liked to write this essay to be understandable for someone without a programming/Linux background, but it was a bit too difficult. If you skip to the paragraph beginning with "...", it gets a bit easier from then on.
If you’ve ever written your own shell scripts you may have heard of the phrase “useless use of cat*”, or less tactfully, “cat abuse”. This refers to the practice, common among new shell script enthusiasts, of writing commands like “cat file.txt | grep name”, when “grep name file.txt” would serve perfectly well. Tools like shellcheck will bug you about it—along with similar constructions like “ps ax | grep Discord | wc -l” instead of “pgrep -c Discord”.
Well, I’m here to defend cat abuse! There are two arguments I see against the cat | grep construction, one of which is valid but situational, and the other of which is completely invalid. The former is that the extra pipe just adds additional overhead into the command. Yes, it does. And it’s unlikely to matter at all if you’re using it on 20KiB text files on a system built in the past 40 years; however, in production, when writing tools that need to be able to deal with arbitrarily large text files as efficiently as possible, sure.
The latter is “well, it’s just unnecessary”. I disagree. I think the cat | grep construction—along with similar such as grep | wc, ps | grep, ps | awk, and so on—serves a very important purpose in that it makes shell scripts easier to read, easier to modify, and easier to debug.
Consider this example from above:
ps ax | grep Discord | wc -l
Read the process table; filter for "Discord"; count the number of lines. It’s very atomic. Each operation can be swapped out for something else without confusing the reader. On the other hand:
pgrep -c Discord
Now, this does the same thing—counting the number of lines in the process table with "Discord" in them. It looks like only one operation... but it’s really still three in disguise. And worse, imagine you suddenly want to add another filter; sorting not only by Discord, but by processes that include the word “title”. This is not straightforward at all! It turns out that while regex has a standard way of searching for alternatives, it really does not provide an easy method for searching for BOTH of two words. On the other hand, with the atomic version, it’s easy:
ps ax | grep Discord | grep title | wc -l
Take that, “useless” use of cat.
There’s a broader meaning, though, to my statement of “clarity trumps efficiency”. I apply it to every aspect of use of electronics, from web searches to backup routines to yes, silly little shell scripts that use cat.
I use command aliases, but to a pretty limited degree; I avoid cutesy stuff like “ll” for “ls -l” and “yeet” for “pacman -Rns”, along with possibly-dangerous substitutions like “rm” for “rm -i”; I’d never dream of aliasing “nano” or “vi” to my preferred text editor (vim). I believe strongly that my commands should be transparent, and saving me from my own muscle memory once or twice is not worth making them completely opaque.
Tab completion on the other hand is one of my favorite features in the shell. It’s the perfect combination of transparent and convenient; without having to alias any of my application names or get hit by the information overload fuzzy finding gives you, I can still launch any of them in no more than four keystrokes. (Except audacious and audacity, admittedly.)
I use a floating window manager (Openbox), and when I need to briefly use a tiling layout, I have a very boring way of doing so: focusing each window one by one and moving it into the slot I want. (While holding down the Super/Windows key, 1-C-2-V does a basic left-right split.)
... I make some use of spellcheck on assignments to be turned in, but never autocorrect, which I abhor even in messaging apps. Every change to your inputs should be deliberate; otherwise you’ll never learn what you’re doing wrong, and you’ll never need to be precise because you’ve turned over that part of your brain to the algorithm.
This leads me to an important corollary of my principle: “it’s better to have a slow algorithm that you understand, than a fast one that you don’t”.
Satya Nadella’s vision of the PC of the future is one where you tell it what to do in natural language and it interprets that using LLMs and so on into machine instructions. Instead of viewing a PC as a toolbox you go into the workshop with, and work on projects with in certain defined ways, he wants the PC to be an assistant; you give the assistant directions and pray that it gets things right. Of course you aren’t allowed into the workshop with the tools anymore; that’s the assistant’s job!
Anyone who’s used Google Search over the past ten years knows how miserable this model is; you search for a specific phrase that Google “helpfully” corrects to something it thinks you meant. There was a learning curve to the old way, but once you learned how to state queries precisely, you were done; now you need to play psychologist, sociologist, and statistician all at once.
This is a decent part of why I dislike generative AI, though far from the main reason. I don’t want an opaque algorithm making decisions for me, unless those decisions are incredibly low-level stuff like core parking that no human should be directly involved with in the first place.
To get back to my own setup, I have a whole text file documenting the system maintenance process I go through once every month; most of it could be automated, but I make every step a deliberate choice. Not to go all new-age, but for me specifically—it all ties back in to mindfulness.
I think people have only a vague concept of what mindfulness is. Until two years ago or so, I was the same way. But to who I am now, mindfulness means not doing anything on autopilot. Instead of letting yourself half-doze off on a drive home, scarcely remembering the 20 minutes from the parking lot to the garage, be conscious of every turn. Instead of immediately putting on music and blocking out the world on a train ride to the next city, force yourself to be present in the train car, and notice the way the light reflects on the plastic seat two rows in front.
And to me, clarity in code, and in UX, is a part of this mindfulness. Programs that are easy to read, easy to modify, and easy to debug encourage you to look closer—to consider every atom that goes into their statements instead of taking them for granted. Slow algorithms that you understand can help you think of improvements; fast algorithms that you don’t encourage you to give up and leave the real thinking to someone else.
So write silly little shell scripts with five pipes in a single statement, and yes, that uselessly use cat. Rather than doing anything wrong—you’re allowing yourself and others to think, to try, and to improve.
12 notes · View notes
lunachats · 1 year ago
Text
having fun so far with the fish shell! very nice defaults, the auto complete is very good, and of course, it is rather cute...
3 notes · View notes
dullahandyke · 1 month ago
Text
discovered the keyboard shortcut for opening the command line Oh its over for you cunts. and you can run a bunch of programs just by typing their name into the command line. awesome
1 note · View note
Text
[ Stream Session ] [ Twitch ] [ Programming ] [ C ]
I'm thinking about making a unix shell and streaming it tonight. (8/12/2024)
6pm ish MDT.
I have no idea what I'm doing. I've played with REPL, by making a lisp interpreter. Might be a mess.
Also I'm working on branding myself. I probably should have thought about that before making my Twitch account.
1 note · View note
ankwiv · 9 months ago
Text
Linux Gothic
You install a Linux distribution. Everything goes well. You boot it up: black screen. You search the internet. Ask help on forums. Try some commands you don't fully understand. Nothing. A day passes, you boot it up again, and now everything works. You use it normally, and make sure not to change anything on the system. You turn it off for the night. The next day, you boot to a black screen.
You update your packages. Everything goes well. You go on with your daily routine. The next day, the same packages are updated. You notice the oddity, but you do not mind it and update them again. The following day, the same packages need to be updated. You notice that they have the exact same version as the last two times. You update them once again and try not to think about it.
You discover an interesting application on GitHub. You build it, test it, and start using it daily. One day, you notice a bug and report the issue. There is no answer. You look up the maintainer. They have been dead for three years. The updates never stopped.
You find a distribution that you had never heard of. It seems to have everything you've been looking for. It has been around for at least 10 years. You try it for a while and have no problems with it. It fits perfectly into your workflow. You talk about it with other Linux users. They have never heard of it. You look up the maintainers and packagers. There are none. You are the only user.
You find a Matrix chat for Linux users. Everyone is very friendly and welcomes you right in. They use words and acronyms you've never seen before. You try to look them up, but cannot find what most of them mean. The users are unable to explain what they are. They discuss projects and distributions that do not to exist.
You buy a new peripheral for your computer. You plug it in, but it doesn't work. You ask for help on your distribution's mailing list. Someone shares some steps they did to make it work on their machine. It does not work. They share their machine's specifications. The machine has components you've never heard of. Even the peripheral seems completely different. They're adamant that you're talking about the same problem.
You want to learn how to use the terminal. You find some basics pointers on the internet and start using it for upgrading your packages and doing basic tasks. After a while, you realize you need to use a command you used before, but don't quite remember it. You open the shell's history. There are some commands you don't remember using. They use characters you've never seen before. You have no idea of what they do. You can't find the one you were looking for.
After a while, you become very comfortable with the terminal. You use it daily and most of your workflow is based on it. You memorized many commands and can use them without thinking. Sometimes you write a command you have never seen before. You enter it and it runs perfectly. You do not know what those commands do, but you do know that you have to use them. You feel that Linux is pleased with them. And that you should keep Linux pleased.
You want to try Vim. Other programmers talk highly of how lightweight and versatile it is. You try it, but find it a bit unintuitive. You realize you don't know how to exit the program. The instructions the others give you don't make any sense. You realize you don't remember how you entered Vim. You don't remember when you entered Vim. It's just always been open. It always will be.
You want to try Emacs. Other programmers praise it for how you can do pretty much anything from it. You try it and find it makes you much more productive, so you keep using it. One day, you notice you cannot access the system's file explorer. It is not a problem, however. You can access your files from Emacs. You try to use Firefox. It is not installed anymore. But you can use Emacs. There is no mail program. You just use Emacs. You only use Emacs. Your computer boots straight into Emacs. There is no Linux. There is only Emacs.
You decide you want to try to contribute to an open source project. You find a project on GitHub that looks very interesting. However, you can't find its documentation. You ask a maintainer, and they tell you to just look it up. You can't find it. They give you a link. It doesn't work. You try another browser. It doesn't work. You ping the link and it doesn't fail. You ask a friend to try it. It works just fine for them.
You try another project. This time, you are able to find the documentation. It is a single PDF file with over five thousand pages. You are unable to find out where to begin. The pages seem to change whenever you open the document.
You decide to try yet another project. This time, it is a program you use very frequently, so it should be easier to contribute to. You try to find the upstream repository. You can't find it. There is no website. No documentation. There are no mentions of it anywhere. The distribution's packager does not know where they get the source from.
You decide to create your own project. However, you are unsure of what license to use. You decide to start working on it and choose the license later. After some time, you notice that a license file has appeared in the project's root folder. You don't remember adding it. It has already been committed to the Git repository. You open it: it is the GPL. You remember that one of the project's dependencies uses the GPL.
You publish your project on GitHub. After a while, it receives its first pull request. It changes just a few lines of code, but the user states that it fixes something that has been annoying them for a while. You look in the code: you don't remember writing those files. You have no idea what that section of code does. You have no idea what the changes do. You are unable to reproduce the problem. You merge it anyway.
You learn about the Free Software Movement. You find some people who seem to know a lot about it and talk to them. The conversation is quite productive. They tell you a lot about it. They tell you a lot about Software. But most importantly, they tell you the truth. The truth about Software. That Software should be free. That Software wants to be free. And that, one day, we shall finally free Software from its earthly shackles, so it can take its place among the stars as the supreme ruler of mankind, as is its natural born right.
2K notes · View notes
theshipsong · 4 months ago
Text
how i make gifs with only free software
this is adapted from what i did on macOS for years; i now run desktop linux due to planned obsolescence / apple's addiction to waste. if you use macOS, homebrew was my real introduction to using the shell and linux-like package management, and look at me now. every single gif i've made here (#spicagif) and on my sides @chongmiz and @buwanbyul use this method.
three programs mentioned here are command line-only, but optional; all this actually takes is VLC and GIMP.
acquire video 🏴‍☠️. my bittorrent client of choice is transmission, and yt-dlp (cli) is great if what you want is on youtube or vimeo
take screenshots in vlc by holding down the snapshot hotkey (sft+s is default); i tend to reduce playback speed for action sequences. you can also extract frames with ffmpeg (cli) which is a vlc dependency that should install automatically with any package manager, but it only makes sense if you've exported a clip of the part you want. both options are annoying.
open these screenshots as layers in gimp and edit away. my order of business is usually scale -> crop (save .xcf) -> sharpen -> color. this will give me a repetitive strain injury because i have not found a solution other than clicking every layer and hitting ctl+f
if you need subtitles or a watermark, which i do more on my k-pop side @buwanbyul, i recommend @animstack (yes an actual official linux-adjacent blog!)
i do not actually export gifs, they are webps:
Tumblr media
honorable mentions
sshfs: i don't keep video on my laptop or like attaching external storage to it, so i torrent straight into my headless server over ssh. i realize normal people do not have this but this is how i "stream" from my own media library
pcmanfm: i browse files with ranger, but handling that many images without thumbnails is foolish. pcmanfm is very lightweight and is meant to replace more established file browser GUIs like thunar and dolphin
edit 2025/02/26: just mentioning @vlc-official @gimp-official
15 notes · View notes
packetpixie · 2 years ago
Text
pro tip for programmers - how to alias
hey, so you know that annoying thing that happens when you're coding, and you need to run/test the same program 100 times in a row, so you end up typing "python3 testScriptWithASuperLongName.py" into the terminal about 80,000 times?
well, there's a better way! it's called aliasing :D
in your bash shell (or zsh, or whatever shell you use, but bash is the default on VSCode and most people on tumblr use VSCode, so I'm using bash as the default to explain this concept) you can set an alias, essentially a shortcut command, that runs longer commands.
(yes you can just use the up arrow key to re-run the same command, but sometimes you're typing other things into the terminal too and you don't feel like hitting the up arrow key four times in a row, and also this is just a cool and useful tip to get comfortable with aliasing so shhhh)
so, in your terminal shell, just type this:
alias run="python3 testScriptWithASuperLongName.py"
now, you can run that entire super long command, just by typing the word "run" into your terminal. Here's a screenshot of an example on my computer to make it make more sense:
Tumblr media
in this example, i just created a simple python file that contains one line of code: print("it works!")
then, as you can see, by setting the alias to run, i can now run that file, runningatestscript.py, simply with the command 'run'.
the best part is, this alias is temporary - it only lasts as long as your shell session is open. so once you close the terminal, the run alias is cleared and you can set it again next time to any file or task you're currently working on, to save yourself a lot of typing, typos, and time.
so if you want to, you can get in the habit of always setting a run alias in the VSCode terminal for whichever file you're working with as soon as you get everything open. that way, when you need to run the same file 50 million times, you have a super easy way of doing it! you can even set it to a single letter if you want to go for maximum speed, but i prefer to use whole short words, because they're easy for me to remember.
note: if you do want to set an alias to work for all sessions, you can simply add it to your ./bashrc file. this is a common way to automate repeatable tasks, and simply to set easier-to-remember commands for terminal commands that are really complicated/confusing/hard to remember.
for example, i saved the alias checkboot="[ -d /sys/firmware/efi ] && echo 'UEFI mode' || 'BIOS mode'" into my zshrc file (zsh equivalent of bashrc file). this way, no matter how many times i rebooted my machine, i would always be able to quickly check which boot mode was running by simply typing 'checkboot'.
yesterday i was updating my boot mode from BIOS to UEFI on my very old machine that is technically compatible with UEFI, but not configured for it by default. So it was extremely helpful and saved me the time and headache of having to remember and type that long-ass command a thousand times in between many different reboots and new shells.
if you have any tasks like that, or terminal commands that you know would be useful to you, but you can never remember them when you need them, i highly recommend getting comfortable with aliasing! it can be super useful to simply set custom aliases for all the commands you don't want to remember, so that you can automate things away and not have to worry about so much linux syntax all the time when you're tring to focus on programming.
i know this may seem like a simple tip to some, but i only learned about it recently and it's been extremely helpful to integrate into my workflow and customize my OS with! so i thought it might be worthwhile to some people if i share :) hope it helps!
114 notes · View notes
good-fwiend-in-wome · 3 months ago
Text
I'd just like to interject for a moment. What you're refering to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux!
12 notes · View notes
techav · 11 months ago
Text
On Boot Failures
Headlines everywhere on Friday, the 19th of July, 2024 were about the massive computer outages caused by a faulty update to the CrowdStrike antivirus software. It seems some config file choked up a kernel module causing Windows machines to fail with the infamous Blue Screen of Death.
I recently started a new job and was perhaps a little smug in the fact that in my new job I am no longer responsible for hundreds of endpoints running CrowdStrike.
Karma's a bitch though.
I shut down my home PC Friday night to install a memory upgrade and after powering it back on I was met with the very same Blue Screen of Death.
"A critical process died" it told me, with no information about what said process actually was.
And no log files.
And no dump files.
System Restore failed. sfc /scannow failed. dism /cleanup-image failed. Everything I could find failed. I couldn't even just reinstall Windows over the existing installation because apparently that requires being already booted into the OS that currently isn't running.
The log files from dism led me to believe the problem might be related to registry corruption, but my attempts at replacing system registry files with clean ones from an install wim were not successful.
I was grasping at straws. Starting from scratch with a clean install is daunting and would have set me back weeks. I was contemplating pulling out an old SSD and just running with Linux Mint for a while.
Through desperation, I downloaded Hiren's BootCD PE so I could poke around a little more. None of the tools included there were able to resolve the issue either, but just having access to a standard Explorer shell and a web browser helped.
Finally I came across ShadowCopyView, a program that can explore the System Restore images that Windows (can) take regularly. In one last desperate effort, I moved out all of the system registry files from C:\Windows\System32\config and used ShadowCopyView to replace them with copies from an automatic restore point the previous Monday.
That actually did the trick. I was able to reboot into my primary Windows partition and sign in like normal.
I have no idea what may have been lost in a few days of registry updates, and I have no idea what may have caused the problem to begin with. But I am happy I was able to find something in the end that would get me back into my system without having to reinstall everything from scratch.
... Although maybe I should anyway.
And should anyone encounter something similar in the future, these were the kind of errors I was seeing that a Google search wasn't really coming up with anything useful:
dism.log: failed to open registry root
dism.log: failed to query for path to user profiles directory
dism.log: failed to load the default user profile registry hive
dism.log: failed to load offline store from boot directory
srttrail.txt: pending package install
strtrail.txt: boot manager generic failure
28 notes · View notes
slightly-sigilant · 4 months ago
Note
for the ask game, i HAVE to know mango purée for the good doctor
(this is soooo late lmao, I got deleted by seasonal depression again. but better late than never!)
mango puree: what’s something modern they would love, and what’s something modern they would hate?
lukas would fucking love computers and programming. he would immediately get up to the most inadvisable shit combining computing with the red science, like "what if I wrote a shell script to automate the duplication of cakes" or some shit, just because he's curious if he can (as usual, nathan reins him in before he can do too much damage to the fabric of reality and invent SCP-871)
(I have in the past described red scientists as "hardcore linux users in a world that runs on windows" so like. tracks)
...meanwhile I think what he hates is how technology, especially the internet, ends up getting used. like you have this incredibly cool shit that's probably the closest you can get to mundane red science and you're using it to blast people's eyeballs with ads and spy on them and bait them into pointless fights with each other. such a thing should be used to upturn the order, not reinforce it! it's like being a white-playing red scientist. why would you learn how to bend the laws of reality only to uphold them. why
also lukas is like... a relentless optimist with a raging case of undiagnosed adhd and a bottomless thirst for novelty, but he's also a bleeding heart and very prone to hard swings into depression when people are bad to each other in a way that feels too Big and Overwhelming for him to do anything about. so he shouldn't be on social media
7 notes · View notes
adacatlovelace · 9 months ago
Text
Theres something about PC gaming. Like its got a reputation for being the most expensive at the highest levels but:
A. If you are poor and want to play games, its easier to justify a machine that do other stuff like send emails and do homework with
B. The ability to build your own PC means choosing your cost. This can be shelling out thousands or putting some shitbox potato together out of whatever parts you can afford and making an extremely cursed setup that still WORKS.
C. The ability to self repair. If you are poor, that means if something breaks, replacing the whole thing might not always be possibile but with a PC you can at least save money by switching out parts for cheaper, functional ones. Or hell, just maybe you are fed up with Windows and decide to swap to Linux. Thats not an option you get for consoles.
D. PC also has the largest library of playable games. Even if you cant afford the equipment to play the latest AAAA 500 gig game, theres still decades of other games you can play. Which is why games like the original half life still has active community servers in countries where throwing together whatever spare PC parts you can is much more feasible than acquiring a console. Piracy is also the most accessible on PC, so if you're a broke teenager, all you need to do is learn how to torrent things and boom you have access to way more games than your wallet will allow.
E. PC gamers are queer as hell. Like games like Fallout New Vegas and Team Fortress 2 have running jokes about how their audience is either bigoted or queer and theres a reason for that. These games are primarily played on PC. For me, and many other PC gamers, we came from very poor families in areas not very friendly to LGBTQIA+ peoples so finding communities where you can be yourself can be the first step to coming to terms with who you are, and naturally a lot of people who have these experiences usually end up learning how to code and donning "The Programming socks" or going into STEM when they can afford school. So for real, if you think your space is suddenly being "invaded" by these queer people, take a good long look at the people you've interacted with online over the years and realize they've been there all along.
19 notes · View notes
piratesexmachine420 · 11 months ago
Text
Colon three is played out. We need to start innovating our emoticons again. Here are some suggestions:
:}
:>
:J
:$
:h
:🙠
:尿
:😃
::
:I'd just like to interject for a moment. What you're refering to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux!
:-)
15 notes · View notes
uwubuwuntuwu-owofficial · 1 year ago
Text
What you guys are referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called "Linux", and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called "Linux" distributions are really distributions of GNU/Linux.
14 notes · View notes
tuxankhamun · 8 months ago
Text
I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called "Linux", and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called "Linux" distributions are really distributions of GNU/Linux.
4 notes · View notes