#How much time to learn Linux?
Explore tagged Tumblr posts
Text
How Long Does It Take to Learn Linux? A Realistic Timeline for Beginners and Beyond

If you’re eager to learn Linux, you’re probably wondering: How long will it actually take to get comfortable with it? The answer isn’t one-size-fits-all. The time needed depends on your background, what you want to achieve, and how much time you dedicate to learning.
Whether you’re just aiming to use Linux training in Chandīgarh for everyday tasks or looking to become an expert system administrator, this guide breaks down what to expect at each stage of your Linux journey.
Understanding Your Linux Learning Goals
Before diving into timelines, it’s important to identify your learning goals. Are you looking to use Linux casually, manage servers professionally, or become an advanced Linux power user? Your goals will shape your learning path and how much time you need to spend.
Basic Linux Usage: Weeks to a Couple of Months
For most beginners, learning the basics means mastering everyday tasks like navigating files, using simple commands in the terminal, and installing software. If you’re starting from scratch, it typically takes a few weeks to two months of consistent practice to become comfortable.
During this phase, you’ll learn how to:
Open and close applications
Manage files and directories using both graphical interface and command line
Install and update software via package managers
Understand basic system structure and permissions
For example, with just 30 minutes to an hour of daily practice, you can soon handle common tasks like moving files or installing apps without frustration. Many beginner-friendly distros like Ubuntu or Linux Mint make this learning curve smoother with intuitive interfaces.
Linux System Administration: Several Months to One Year
If your goal is to manage Linux servers or work in IT, you’ll need a deeper understanding of system administration. This involves user management, configuring network services, handling security settings, and troubleshooting problems.
Becoming proficient in these areas usually takes six months to a year of dedicated study and hands-on experience. During this time, you’ll learn skills such as:
Creating and managing user accounts and groups
Setting file permissions and access controls
Configuring services like web servers, SSH, and firewalls
Monitoring system performance and logs
Many aspiring system administrators find that working on real projects, labs, or using virtual machines to simulate server environments accelerates learning.
Advanced Linux Skills: One Year or More
For those aiming to master advanced Linux topics like shell scripting, network configuration, security hardening, and kernel customization, the learning curve is steeper. Achieving this level of expertise can take a year or longer of continuous learning and practical application.
Advanced Linux users often spend time:
Writing complex shell scripts to automate tasks
Managing network settings and troubleshooting connectivity issues
Hardening Linux systems against security threats
Diving into Linux internals such as kernel modules and system calls
This level demands patience and curiosity, and it’s common to learn these skills incrementally through real-world problem-solving.
Preparing for Linux Certifications: A Few Months of Focused Study
If your goal is professional validation, Linux certifications like CompTIA Linux+ or Red Hat Certified Engineer (RHCE) provide structured paths to demonstrate your skills. Preparing for these exams generally requires several months of focused study combined with hands-on practice.
For example, you might:
Follow a guided course or online training program
Work through lab exercises to simulate exam scenarios
Review official study materials and practice tests
Your starting point matters here—those with prior Linux experience will need less time, while newcomers may require longer to build foundational skills before certification prep.
Full Mastery: A Continuous Journey
Complete mastery of Linux—understanding everything from kernel development to system optimization—is a lifelong journey. Even seasoned professionals continue learning as Linux evolves.
Mastery involves:
Contributing to open-source projects
Developing custom Linux distributions or kernel patches
Leading complex infrastructure and automation projects
While there’s no set timeline, expect this to take several years of experience and continuous learning.
How Your Learning Pace Affects Your Progress
Everyone learns at their own pace. Some people pick up Linux skills quickly by dedicating several hours a day, while others prefer a slower, steady approach balancing learning with other commitments.
Here are a few tips to make your learning more effective:
Practice regularly: Even short, daily sessions build muscle memory
Apply what you learn: Try real-world projects or problem-solving exercises
Use community resources: Forums, tutorials, and Linux user groups offer support
Set clear goals: Define what you want to achieve each week or month
Consistency beats intensity over time, so find a rhythm that fits your lifestyle and stick to it.
Conclusion
Learning Linux is an investment in your skills and future. While it may seem overwhelming at first, breaking your learning into stages—from basic usage to advanced skills—makes the process manageable and rewarding.
Ready to start your Linux learning journey? Choose a beginner-friendly distro, set aside some time daily, and take it one command at a time. Before you know it, you’ll be navigating Linux like a pro.
0 notes
Text
i love tech. i love this era of information. i googled a bazillion different sources when i made my Windows/Linux dual boot last year because i've always been paranoid to change OS. Everyone said it worked fine. I open Windows for a couple hours today and it updates the BIOS against my will and breaks the dual boot. I look it up and now all of a sudden I find ten billion tech bros saying that yeah, actually, this happens all the time, and you should have installed the EFI (no explanation given, you know what an EFI is, of course you do) in different drives, and it could have been much worse because Windows could have just corrupted the ubuntu boot somehow yeah it does that of course, and you should have also turned off secure boot, that's something you knew how to do and had to do it, obviously, how do you not know all this.
#AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA#nine years in computer science and nerd hobbies and i have yet to learn something about linux that doesn't come from a rude asshole#it is that hard to hold back the jabs and actually help a person once in your life. grow the fuck up holy shit#also truly fascinating how no matter how much you hate a company it is never enough. what do you mean windows can just do this#MULTIPLE TIMES AN YEAR EVEN#god go to hell. i'm not even sure i fixed it because it gave an error message at the boot just now#but at least i'm in and can backup my stuff#good thing i always keep backups frequently but holy fuck. that's for emergencies not random sabotage#i open windows less than once per month!!! i just wanted to play one lil fangame for a couple hours!!! microsoft fucking explode!!!
2 notes
·
View notes
Text
Ublock Origin
Youtube: SponsorBlock (skips ads within videos), DeArrow (replaces clickbait thumbnails & titles), Blocktube (block channels), Enhancer (Quality of Life features), Youtube-Shorts Block
Youtube Mobile: Youtube Vanced/Revanced Manager
Twitter: Minimal Theme extension
Tumblr: xKit/xKit Rewritten, Dashboard Unfucker, Stylus with "Old Tumblr Dashboard" userstyle
Spotify: xManager (desktop & mobile)
Firefox: High chance you'll love it and curse holding out for so long.
Linux: No whiney search box trying to Edge you, no ads in the start menu, no trending searches reminding you about celebrity gossip & politics.
i would move heaven and earth to avoid hearing one single advertisement
#I'm not going to blindly tell you to “switch to Linux” but you can easily test it out in a Virtual Machine within windows.#There are guides online that will hold your hand through the setup process. Linux Mint is not scary. You might love it.#If setting up a VM still feels like too much? Then yeah stick with Windows. That's understandable.#but if you're reading this far then you must have caught on to how your ability to fight back is tied to your tech literacy skills#If you're already following workaround guides to forcibly disable Windows features that piss you off or install modified apks...#then you're halfway there#we all pick our battles & hills to die on though (My deepest condolences if you require Adobe for work 🥲)#There is also Ublocks 'element picker' but you can cause more confusion than good if#you don't know what you're doing (You can always remove filters)#Or do what uBlock picker does by learning a tiny bit of CSS and you can make anything you want on a website go bye-bye#pssst! ''display: none'' & ''visibility: hidden'' CSS declarations#I originally listed all this in the tags and realized it was a mess. May as well keep the tags now though:#Linux#Firefox#uBlock Origin#SponsorBlock#Youtube-Shorts Block#DeArrow#Youtube Vanced#ReVanced Manager#Revanced#Minimal Theme for Twitter#Stylus#xkit#xkit rewritten#Dashboard Unfucker#xManager#I spent my morning free-time on this 😪
58K notes
·
View notes
Text
i saw this post and decided that i had some time spare, i could give AI another go. (link to post https://www.tumblr.com/dibelonious/778852078032404480/now-that-ai-made-troubleshooting-ridiculously. dont harass the poor old sod obviously.)
i hear a lot of people irl at uni and some online say ai is great for coding, and so every couple months i try it out. sometimes with a very small project in a popular language (python or c, usually. though im forgiveful with c as everyone fucks up c.), sometimes with something simple (i.e. a couple lines tops with a naive approach if written idiomatically) but in a more unusual language with full documentation online. (like sed! yay!)
but every single time i come to the conclusion that even with being handheld chatgpt could not do what it was asked to do. even if someone tells it every issue in its outputs, itll remember for only one prompt. even if someone tells it the solution, itll find a new way to fuck it up.
below the cut is me trying to get chatgpt to make a working sed script that prints "meowwwwwwwwwwwwwwwww..." (long post warning)
(if anything reads weirdly, this was originally a reblog to the screenshotted post, then i decided to make it its own post. so that may be why.)
i cant remember the last time i ran into an issue that i couldnt fix in like ... 5 minutes. but knowing what chatgpt is like, any ask i give it will give me issues to troubleshoot. (yes this example is code, not linux proper. but its more of the same doing that.)
the other day i decided to write "meowwwwwwwwwwwwwwwwwwwwwwwwwwwww....." in many different languages, after seeing @brainfuck-official do it in BF. (link to post https://www.tumblr.com/brainfuck-official/773510105608192000) as is my blog, i asked it to do this in sed.
great! this script doesnt work! it doesnt even come *close* to working, giving me plenty to try out chatgpt's troubleshooting skills! it also just doesnt make much sense. why the shebang but not making it executable? and why are the flags different (ones -f, ones -nf). also a counter? why though? thats not what im asking for? (you can see tags for a brief explanation on how to add a counter)
after telling it the script doesnt work (and why, something someone troubleshooting likely wont know) it just adds in a P. a command that prints a damn newline. but it lies about it printing a newline.
(if you dont believe it prints a trailing newline and believe the AI instead, just try echo -n foo | sed -n 'P ; P')
anyways it alternated between no print statements and printing with newlines for the next ... 8 prompts, by which time i felt sorry for the poor bugger and told it to use e to print without a newline.
all the while it was trying to be more useful and add a count - making it print my string after n repeats instead of the infinite that i asked for. it was trying to subtract 1 with effectively s/[0-9]+/&-1/ which just appends the string "-1" to a number!
anyways, i tell it to use "the e command". there are three different versions of the e command in sed, and only one of them makes sense here. which did chatgpt use? none! it used the e regex modifier! which executes your pattern hold, then turns the output into the new pattern hold. and does not print anything.
ill just screenshot the last couple interactions minus only the useless exposition it adds to every response so you can see how stupid it is
ignoring sed's requirement for an input this is equivalent to the python
to be fair i never said there shouldnt be infinite meows, and this does have infinite Ws. but come the fuck on. this is clearly not whats being asked for.
#linux is best - yes. but learn to troubleshoot properly.#blindly copying code online without understanding it isnt troubleshooting.#regardless if that code came from stackoverflow or chatgpt.#anyways maybe it wouldve been better to write the equivalent in C with gotos and labels?#but at least everyone knows python#and i dont need to write c this way#also decided to see if it could find any info about me if i give it my name and county of origin#which is identifiable information but its outdated as ive changed my name (trans :3) and moved away.#anyways it thought i was from l*nd*n.#i told it where i was from (West Country. Very Much Not london.) and it thought i was a londoner. what in the hell.#yes if i said the name of most counties to an american online theyd probably think its in london.#but thats before they google the damn place! and this bot has access to the whole internet!#(for the yanks: it did the equivalent of calling an appalachian a californian)#(or at least i think thats close enough. im not really all that sure about what happens over the pond. and i like my ignorance here.)#wait the documentation tells you how to make a counter. at least twice.#IT COULD COPY CODE FROM THE INFO PAGES FOR THE COUNTER AND IT STILL GOT IT WRONG EVEN AFTER BEING TOLD WHY ITS WRONG#oh my god.#anyways in the docs they wanted to print the number. you can just hold n chars and remove one each loop#then break the loop when your hold is empty.#thats the easiest way ive found of looping n times (if you need the hold do this on a prepended line)#(not efficient but you can make it more efficient if you want. the docs explain how to! but its more effort and easy to fuck up soooooo...)#printing n ws though? just use e printf like it bloody demonstrates itself#no need to do inefficient shit in sed when someones written it in c for you.
0 notes
Text
Opened my computer and got prompted for a fucking BITLOCKER RECOVERY KEY to access my files.
I hate Microsoft so. goddamn. much.
#Windows 11 is trash#and when the time comes to get a new computer I may??? just have to learn how to use Linux???#please don't tell me to put it on this PC. It took me long enough to get everything sorted out as-is#by the time I have to replace this laptop I want to have a much more structured system of organization
2 notes
·
View notes
Text
Microsoft made Recall—the feature that automatically tracks everything you do in an attempt at helping you except, you know, that's a massive security risk and data mining source—a dependency for the windows file explorer, meaning even if you forcibly strip Recall out you end up losing basic tools.
This is very much a "learn how to install Linux Mint on your laptop" moment. Richard Stallman et al were entirely correct, your computer will soon have spyware integrated deep into the system internals with no ability to cleanly remove it even for experienced, tech savvy users.
Yes, it sucks, there is no Linux distribution that has to even close to the level of support for software and peripherals that windows has, and even the easier distros like Mint still expect a level of tech savvy that Mac and Windows just don't require. Anyone telling you that Linux is just as easy and just as good is lying to you.
But Linux has never been easier, has never been as well supported as today, and simply doesn't contain egregious spyware (well, besides Ubuntu that one time I guess).
2K notes
·
View notes
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
Text
How I ditched streaming services and learned to love Linux: A step-by-step guide to building your very own personal media streaming server (V2.0: REVISED AND EXPANDED EDITION)
This is a revised, corrected and expanded version of my tutorial on setting up a personal media server that previously appeared on my old blog (donjuan-auxenfers). I expect that that post is still making the rounds (hopefully with my addendum on modifying group share permissions in Ubuntu to circumvent 0x8007003B "Unexpected Network Error" messages in Windows 10/11 when transferring files) but I have no way of checking. Anyway this new revised version of the tutorial corrects one or two small errors I discovered when rereading what I wrote, adds links to all products mentioned and is just more polished generally. I also expanded it a bit, pointing more adventurous users toward programs such as Sonarr/Radarr/Lidarr and Overseerr which can be used for automating user requests and media collection.
So then, what is this tutorial? This is a tutorial on how to build and set up your own personal media server using Ubuntu as an operating system and Plex (or Jellyfin) to not only manage your media, but to also stream that media to your devices both at home and abroad anywhere in the world where you have an internet connection. Its intent is to show you how building a personal media server and stuffing it full of films, TV, and music that you acquired through indiscriminate and voracious media piracy various legal methods will free you to completely ditch paid streaming services. No more will you have to pay for Disney+, Netflix, HBOMAX, Hulu, Amazon Prime, Peacock, CBS All Access, Paramount+, Crave or any other streaming service that is not named Criterion Channel. Instead whenever you want to watch your favourite films and television shows, you’ll have your own personal service that only features things that you want to see, with files that you have control over. And for music fans out there, both Jellyfin and Plex support music streaming, meaning you can even ditch music streaming services. Goodbye Spotify, Youtube Music, Tidal and Apple Music, welcome back unreasonably large MP3 (or FLAC) collections.
On the hardware front, I’m going to offer a few options catered towards different budgets and media library sizes. The cost of getting a media server up and running using this guide will cost you anywhere from $450 CAD/$325 USD at the low end to $1500 CAD/$1100 USD at the high end (it could go higher). My server was priced closer to the higher figure, but I went and got a lot more storage than most people need. If that seems like a little much, consider for a moment, do you have a roommate, a close friend, or a family member who would be willing to chip in a few bucks towards your little project provided they get access? Well that's how I funded my server. It might also be worth thinking about the cost over time, i.e. how much you spend yearly on subscriptions vs. a one time cost of setting up a server. Additionally there's just the joy of being able to scream "fuck you" at all those show cancelling, library deleting, hedge fund vampire CEOs who run the studios through denying them your money. Drive a stake through David Zaslav's heart.
On the software side I will walk you step-by-step through installing Ubuntu as your server's operating system, configuring your storage as a RAIDz array with ZFS, sharing your zpool to Windows with Samba, running a remote connection between your server and your Windows PC, and then a little about started with Plex/Jellyfin. Every terminal command you will need to input will be provided, and I even share a custom #bash script that will make used vs. available drive space on your server display correctly in Windows.
If you have a different preferred flavour of Linux (Arch, Manjaro, Redhat, Fedora, Mint, OpenSUSE, CentOS, Slackware etc. et. al.) and are aching to tell me off for being basic and using Ubuntu, this tutorial is not for you. The sort of person with a preferred Linux distro is the sort of person who can do this sort of thing in their sleep. Also I don't care. This tutorial is intended for the average home computer user. This is also why we’re not using a more exotic home server solution like running everything through Docker Containers and managing it through a dashboard like Homarr or Heimdall. While such solutions are fantastic and can be very easy to maintain once you have it all set up, wrapping your brain around Docker is a whole thing in and of itself. If you do follow this tutorial and had fun putting everything together, then I would encourage you to return in a year’s time, do your research and set up everything with Docker Containers.
Lastly, this is a tutorial aimed at Windows users. Although I was a daily user of OS X for many years (roughly 2008-2023) and I've dabbled quite a bit with various Linux distributions (mostly Ubuntu and Manjaro), my primary OS these days is Windows 11. Many things in this tutorial will still be applicable to Mac users, but others (e.g. setting up shares) you will have to look up for yourself. I doubt it would be difficult to do so.
Nothing in this tutorial will require feats of computing expertise. All you will need is a basic computer literacy (i.e. an understanding of what a filesystem and directory are, and a degree of comfort in the settings menu) and a willingness to learn a thing or two. While this guide may look overwhelming at first glance, it is only because I want to be as thorough as possible. I want you to understand exactly what it is you're doing, I don't want you to just blindly follow steps. If you half-way know what you’re doing, you will be much better prepared if you ever need to troubleshoot.
Honestly, once you have all the hardware ready it shouldn't take more than an afternoon or two to get everything up and running.
(This tutorial is just shy of seven thousand words long so the rest is under the cut.)
Step One: Choosing Your Hardware
Linux is a light weight operating system, depending on the distribution there's close to no bloat. There are recent distributions available at this very moment that will run perfectly fine on a fourteen year old i3 with 4GB of RAM. Moreover, running Plex or Jellyfin isn’t resource intensive in 90% of use cases. All this is to say, we don’t require an expensive or powerful computer. This means that there are several options available: 1) use an old computer you already have sitting around but aren't using 2) buy a used workstation from eBay, or what I believe to be the best option, 3) order an N100 Mini-PC from AliExpress or Amazon.
Note: If you already have an old PC sitting around that you’ve decided to use, fantastic, move on to the next step.
When weighing your options, keep a few things in mind: the number of people you expect to be streaming simultaneously at any one time, the resolution and bitrate of your media library (4k video takes a lot more processing power than 1080p) and most importantly, how many of those clients are going to be transcoding at any one time. Transcoding is what happens when the playback device does not natively support direct playback of the source file. This can happen for a number of reasons, such as the playback device's native resolution being lower than the file's internal resolution, or because the source file was encoded in a video codec unsupported by the playback device.
Ideally we want any transcoding to be performed by hardware. This means we should be looking for a computer with an Intel processor with Quick Sync. Quick Sync is a dedicated core on the CPU die designed specifically for video encoding and decoding. This specialized hardware makes for highly efficient transcoding both in terms of processing overhead and power draw. Without these Quick Sync cores, transcoding must be brute forced through software. This takes up much more of a CPU’s processing power and requires much more energy. But not all Quick Sync cores are created equal and you need to keep this in mind if you've decided either to use an old computer or to shop for a used workstation on eBay
Any Intel processor from second generation Core (Sandy Bridge circa 2011) onward has Quick Sync cores. It's not until 6th gen (Skylake), however, that the cores support the H.265 HEVC codec. Intel’s 10th gen (Comet Lake) processors introduce support for 10bit HEVC and HDR tone mapping. And the recent 12th gen (Alder Lake) processors brought with them hardware AV1 decoding. As an example, while an 8th gen (Kaby Lake) i5-8500 will be able to hardware transcode a H.265 encoded file, it will fall back to software transcoding if given a 10bit H.265 file. If you’ve decided to use that old PC or to look on eBay for an old Dell Optiplex keep this in mind.
Note 1: The price of old workstations varies wildly and fluctuates frequently. If you get lucky and go shopping shortly after a workplace has liquidated a large number of their workstations you can find deals for as low as $100 on a barebones system, but generally an i5-8500 workstation with 16gb RAM will cost you somewhere in the area of $260 CAD/$200 USD.
Note 2: The AMD equivalent to Quick Sync is called Video Core Next, and while it's fine, it's not as efficient and not as mature a technology. It was only introduced with the first generation Ryzen CPUs and it only got decent with their newest CPUs, we want something cheap.
Alternatively you could forgo having to keep track of what generation of CPU is equipped with Quick Sync cores that feature support for which codecs, and just buy an N100 mini-PC. For around the same price or less of a used workstation you can pick up a mini-PC with an Intel N100 processor. The N100 is a four-core processor based on the 12th gen Alder Lake architecture and comes equipped with the latest revision of the Quick Sync cores. These little processors offer astounding hardware transcoding capabilities for their size and power draw. Otherwise they perform equivalent to an i5-6500, which isn't a terrible CPU. A friend of mine uses an N100 machine as a dedicated retro emulation gaming system and it does everything up to 6th generation consoles just fine. The N100 is also a remarkably efficient chip, it sips power. In fact, the difference between running one of these and an old workstation could work out to hundreds of dollars a year in energy bills depending on where you live.
You can find these Mini-PCs all over Amazon or for a little cheaper on AliExpress. They range in price from $170 CAD/$125 USD for a no name N100 with 8GB RAM to $280 CAD/$200 USD for a Beelink S12 Pro with 16GB RAM. The brand doesn't really matter, they're all coming from the same three factories in Shenzen, go for whichever one fits your budget or has features you want. 8GB RAM should be enough, Linux is lightweight and Plex only calls for 2GB RAM. 16GB RAM might result in a slightly snappier experience, especially with ZFS. A 256GB SSD is more than enough for what we need as a boot drive, but going for a bigger drive might allow you to get away with things like creating preview thumbnails for Plex, but it’s up to you and your budget.
The Mini-PC I wound up buying was a Firebat AK2 Plus with 8GB RAM and a 256GB SSD. It looks like this:
Note: Be forewarned that if you decide to order a Mini-PC from AliExpress, note the type of power adapter it ships with. The mini-PC I bought came with an EU power adapter and I had to supply my own North American power supply. Thankfully this is a minor issue as barrel plug 30W/12V/2.5A power adapters are easy to find and can be had for $10.
Step Two: Choosing Your Storage
Storage is the most important part of our build. It is also the most expensive. Thankfully it’s also the most easily upgrade-able down the line.
For people with a smaller media collection (4TB to 8TB), a more limited budget, or who will only ever have two simultaneous streams running, I would say that the most economical course of action would be to buy a USB 3.0 8TB external HDD. Something like this one from Western Digital or this one from Seagate. One of these external drives will cost you in the area of $200 CAD/$140 USD. Down the line you could add a second external drive or replace it with a multi-drive RAIDz set up such as detailed below.
If a single external drive the path for you, move on to step three.
For people with larger media libraries (12TB+), who prefer media in 4k, or care who about data redundancy, the answer is a RAID array featuring multiple HDDs in an enclosure.
Note: If you are using an old PC or used workstatiom as your server and have the room for at least three 3.5" drives, and as many open SATA ports on your mother board you won't need an enclosure, just install the drives into the case. If your old computer is a laptop or doesn’t have room for more internal drives, then I would suggest an enclosure.
The minimum number of drives needed to run a RAIDz array is three, and seeing as RAIDz is what we will be using, you should be looking for an enclosure with three to five bays. I think that four disks makes for a good compromise for a home server. Regardless of whether you go for a three, four, or five bay enclosure, do be aware that in a RAIDz array the space equivalent of one of the drives will be dedicated to parity at a ratio expressed by the equation 1 − 1/n i.e. in a four bay enclosure equipped with four 12TB drives, if we configured our drives in a RAIDz1 array we would be left with a total of 36TB of usable space (48TB raw size). The reason for why we might sacrifice storage space in such a manner will be explained in the next section.
A four bay enclosure will cost somewhere in the area of $200 CDN/$140 USD. You don't need anything fancy, we don't need anything with hardware RAID controls (RAIDz is done entirely in software) or even USB-C. An enclosure with USB 3.0 will perform perfectly fine. Don’t worry too much about USB speed bottlenecks. A mechanical HDD will be limited by the speed of its mechanism long before before it will be limited by the speed of a USB connection. I've seen decent looking enclosures from TerraMaster, Yottamaster, Mediasonic and Sabrent.
When it comes to selecting the drives, as of this writing, the best value (dollar per gigabyte) are those in the range of 12TB to 20TB. I settled on 12TB drives myself. If 12TB to 20TB drives are out of your budget, go with what you can afford, or look into refurbished drives. I'm not sold on the idea of refurbished drives but many people swear by them.
When shopping for harddrives, search for drives designed specifically for NAS use. Drives designed for NAS use typically have better vibration dampening and are designed to be active 24/7. They will also often make use of CMR (conventional magnetic recording) as opposed to SMR (shingled magnetic recording). This nets them a sizable read/write performance bump over typical desktop drives. Seagate Ironwolf and Toshiba NAS are both well regarded brands when it comes to NAS drives. I would avoid Western Digital Red drives at this time. WD Reds were a go to recommendation up until earlier this year when it was revealed that they feature firmware that will throw up false SMART warnings telling you to replace the drive at the three year mark quite often when there is nothing at all wrong with that drive. It will likely even be good for another six, seven, or more years.
Step Three: Installing Linux
For this step you will need a USB thumbdrive of at least 6GB in capacity, an .ISO of Ubuntu, and a way to make that thumbdrive bootable media.
First download a copy of Ubuntu desktop (for best performance we could download the Server release, but for new Linux users I would recommend against the server release. The server release is strictly command line interface only, and having a GUI is very helpful for most people. Not many people are wholly comfortable doing everything through the command line, I'm certainly not one of them, and I grew up with DOS 6.0. 22.04.3 Jammy Jellyfish is the current Long Term Service release, this is the one to get.
Download the .ISO and then download and install balenaEtcher on your Windows PC. BalenaEtcher is an easy to use program for creating bootable media, you simply insert your thumbdrive, select the .ISO you just downloaded, and it will create a bootable installation media for you.
Once you've made a bootable media and you've got your Mini-PC (or you old PC/used workstation) in front of you, hook it directly into your router with an ethernet cable, and then plug in the HDD enclosure, a monitor, a mouse and a keyboard. Now turn that sucker on and hit whatever key gets you into the BIOS (typically ESC, DEL or F2). If you’re using a Mini-PC check to make sure that the P1 and P2 power limits are set correctly, my N100's P1 limit was set at 10W, a full 20W under the chip's power limit. Also make sure that the RAM is running at the advertised speed. My Mini-PC’s RAM was set at 2333Mhz out of the box when it should have been 3200Mhz. Once you’ve done that, key over to the boot order and place the USB drive first in the boot order. Then save the BIOS settings and restart.
After you restart you’ll be greeted by Ubuntu's installation screen. Installing Ubuntu is really straight forward, select the "minimal" installation option, as we won't need anything on this computer except for a browser (Ubuntu comes preinstalled with Firefox) and Plex Media Server/Jellyfin Media Server. Also remember to delete and reformat that Windows partition! We don't need it.
Step Four: Installing ZFS and Setting Up the RAIDz Array
Note: If you opted for just a single external HDD skip this step and move onto setting up a Samba share.
Once Ubuntu is installed it's time to configure our storage by installing ZFS to build our RAIDz array. ZFS is a "next-gen" file system that is both massively flexible and massively complex. It's capable of snapshot backup, self healing error correction, ZFS pools can be configured with drives operating in a supplemental manner alongside the storage vdev (e.g. fast cache, dedicated secondary intent log, hot swap spares etc.). It's also a file system very amenable to fine tuning. Block and sector size are adjustable to use case and you're afforded the option of different methods of inline compression. If you'd like a very detailed overview and explanation of its various features and tips on tuning a ZFS array check out these articles from Ars Technica. For now we're going to ignore all these features and keep it simple, we're going to pull our drives together into a single vdev running in RAIDz which will be the entirety of our zpool, no fancy cache drive or SLOG.
Open up the terminal and type the following commands:
sudo apt update
then
sudo apt install zfsutils-linux
This will install the ZFS utility. Verify that it's installed with the following command:
zfs --version
Now, it's time to check that the HDDs we have in the enclosure are healthy, running, and recognized. We also want to find out their device IDs and take note of them:
sudo fdisk -1
Note: You might be wondering why some of these commands require "sudo" in front of them while others don't. "Sudo" is short for "super user do”. When and where "sudo" is used has to do with the way permissions are set up in Linux. Only the "root" user has the access level to perform certain tasks in Linux. As a matter of security and safety regular user accounts are kept separate from the "root" user. It's not advised (or even possible) to boot into Linux as "root" with most modern distributions. Instead by using "sudo" our regular user account is temporarily given the power to do otherwise forbidden things. Don't worry about it too much at this stage, but if you want to know more check out this introduction.
If everything is working you should get a list of the various drives detected along with their device IDs which will look like this: /dev/sdc. You can also check the device IDs of the drives by opening the disk utility app. Jot these IDs down as we'll need them for our next step, creating our RAIDz array.
RAIDz is similar to RAID-5 in that instead of striping your data over multiple disks, exchanging redundancy for speed and available space (RAID-0), or mirroring your data writing by two copies of every piece (RAID-1), it instead writes parity blocks across the disks in addition to striping, this provides a balance of speed, redundancy and available space. If a single drive fails, the parity blocks on the working drives can be used to reconstruct the entire array as soon as a replacement drive is added.
Additionally, RAIDz improves over some of the common RAID-5 flaws. It's more resilient and capable of self healing, as it is capable of automatically checking for errors against a checksum. It's more forgiving in this way, and it's likely that you'll be able to detect when a drive is dying well before it fails. A RAIDz array can survive the loss of any one drive.
Note: While RAIDz is indeed resilient, if a second drive fails during the rebuild, you're fucked. Always keep backups of things you can't afford to lose. This tutorial, however, is not about proper data safety.
To create the pool, use the following command:
sudo zpool create "zpoolnamehere" raidz "device IDs of drives we're putting in the pool"
For example, let's creatively name our zpool "mypool". This poil will consist of four drives which have the device IDs: sdb, sdc, sdd, and sde. The resulting command will look like this:
sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd /dev/sde
If as an example you bought five HDDs and decided you wanted more redundancy dedicating two drive to this purpose, we would modify the command to "raidz2" and the command would look something like the following:
sudo zpool create mypool raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
An array configured like this is known as RAIDz2 and is able to survive two disk failures.
Once the zpool has been created, we can check its status with the command:
zpool status
Or more concisely with:
zpool list
The nice thing about ZFS as a file system is that a pool is ready to go immediately after creation. If we were to set up a traditional RAID-5 array using mbam, we'd have to sit through a potentially hours long process of reformatting and partitioning the drives. Instead we're ready to go right out the gates.
The zpool should be automatically mounted to the filesystem after creation, check on that with the following:
df -hT | grep zfs
Note: If your computer ever loses power suddenly, say in event of a power outage, you may have to re-import your pool. In most cases, ZFS will automatically import and mount your pool, but if it doesn’t and you can't see your array, simply open the terminal and type sudo zpool import -a.
By default a zpool is mounted at /"zpoolname". The pool should be under our ownership but let's make sure with the following command:
sudo chown -R "yourlinuxusername" /"zpoolname"
Note: Changing file and folder ownership with "chown" and file and folder permissions with "chmod" are essential commands for much of the admin work in Linux, but we won't be dealing with them extensively in this guide. If you'd like a deeper tutorial and explanation you can check out these two guides: chown and chmod.
You can access the zpool file system through the GUI by opening the file manager (the Ubuntu default file manager is called Nautilus) and clicking on "Other Locations" on the sidebar, then entering the Ubuntu file system and looking for a folder with your pool's name. Bookmark the folder on the sidebar for easy access.
Your storage pool is now ready to go. Assuming that we already have some files on our Windows PC we want to copy to over, we're going to need to install and configure Samba to make the pool accessible in Windows.
Step Five: Setting Up Samba/Sharing
Samba is what's going to let us share the zpool with Windows and allow us to write to it from our Windows machine. First let's install Samba with the following commands:
sudo apt-get update
then
sudo apt-get install samba
Next create a password for Samba.
sudo smbpswd -a "yourlinuxusername"
It will then prompt you to create a password. Just reuse your Ubuntu user password for simplicity's sake.
Note: if you're using just a single external drive replace the zpool location in the following commands with wherever it is your external drive is mounted, for more information see this guide on mounting an external drive in Ubuntu.
After you've created a password we're going to create a shareable folder in our pool with this command
mkdir /"zpoolname"/"foldername"
Now we're going to open the smb.conf file and make that folder shareable. Enter the following command.
sudo nano /etc/samba/smb.conf
This will open the .conf file in nano, the terminal text editor program. Now at the end of smb.conf add the following entry:
["foldername"]
path = /"zpoolname"/"foldername"
available = yes
valid users = "yourlinuxusername"
read only = no
writable = yes
browseable = yes
guest ok = no
Ensure that there are no line breaks between the lines and that there's a space on both sides of the equals sign. Our next step is to allow Samba traffic through the firewall:
sudo ufw allow samba
Finally restart the Samba service:
sudo systemctl restart smbd
At this point we'll be able to access to the pool, browse its contents, and read and write to it from Windows. But there's one more thing left to do, Windows doesn't natively support the ZFS file systems and will read the used/available/total space in the pool incorrectly. Windows will read available space as total drive space, and all used space as null. This leads to Windows only displaying a dwindling amount of "available" space as the drives are filled. We can fix this! Functionally this doesn't actually matter, we can still write and read to and from the disk, it just makes it difficult to tell at a glance the proportion of used/available space, so this is an optional step but one I recommend (this step is also unnecessary if you're just using a single external drive). What we're going to do is write a little shell script in #bash. Open nano with the terminal with the command:
nano
Now insert the following code:
#!/bin/bash CUR_PATH=`pwd` ZFS_CHECK_OUTPUT=$(zfs get type $CUR_PATH 2>&1 > /dev/null) > /dev/null if [[ $ZFS_CHECK_OUTPUT == *not\ a\ ZFS* ]] then IS_ZFS=false else IS_ZFS=true fi if [[ $IS_ZFS = false ]] then df $CUR_PATH | tail -1 | awk '{print $2" "$4}' else USED=$((`zfs get -o value -Hp used $CUR_PATH` / 1024)) > /dev/null AVAIL=$((`zfs get -o value -Hp available $CUR_PATH` / 1024)) > /dev/null TOTAL=$(($USED+$AVAIL)) > /dev/null echo $TOTAL $AVAIL fi
Save the script as "dfree.sh" to /home/"yourlinuxusername" then change the ownership of the file to make it executable with this command:
sudo chmod 774 dfree.sh
Now open smb.conf with sudo again:
sudo nano /etc/samba/smb.conf
Now add this entry to the top of the configuration file to direct Samba to use the results of our script when Windows asks for a reading on the pool's used/available/total drive space:
[global]
dfree command = /home/"yourlinuxusername"/dfree.sh
Save the changes to smb.conf and then restart Samba again with the terminal:
sudo systemctl restart smbd
Now there’s one more thing we need to do to fully set up the Samba share, and that’s to modify a hidden group permission. In the terminal window type the following command:
usermod -a -G sambashare “yourlinuxusername”
Then restart samba again:
sudo systemctl restart smbd
If we don’t do this last step, everything will appear to work fine, and you will even be able to see and map the drive from Windows and even begin transferring files, but you'd soon run into a lot of frustration. As every ten minutes or so a file would fail to transfer and you would get a window announcing “0x8007003B Unexpected Network Error”. This window would require your manual input to continue the transfer with the file next in the queue. And at the end it would reattempt to transfer whichever files failed the first time around. 99% of the time they’ll go through that second try, but this is still all a major pain in the ass. Especially if you’ve got a lot of data to transfer or you want to step away from the computer for a while.
It turns out samba can act a little weirdly with the higher read/write speeds of RAIDz arrays and transfers from Windows, and will intermittently crash and restart itself if this group option isn’t changed. Inputting the above command will prevent you from ever seeing that window.
The last thing we're going to do before switching over to our Windows PC is grab the IP address of our Linux machine. Enter the following command:
hostname -I
This will spit out this computer's IP address on the local network (it will look something like 192.168.0.x), write it down. It might be a good idea once you're done here to go into your router settings and reserving that IP for your Linux system in the DHCP settings. Check the manual for your specific model router on how to access its settings, typically it can be accessed by opening a browser and typing http:\\192.168.0.1 in the address bar, but your router may be different.
Okay we’re done with our Linux computer for now. Get on over to your Windows PC, open File Explorer, right click on Network and click "Map network drive". Select Z: as the drive letter (you don't want to map the network drive to a letter you could conceivably be using for other purposes) and enter the IP of your Linux machine and location of the share like so: \\"LINUXCOMPUTERLOCALIPADDRESSGOESHERE"\"zpoolnamegoeshere"\. Windows will then ask you for your username and password, enter the ones you set earlier in Samba and you're good. If you've done everything right it should look something like this:
You can now start moving media over from Windows to the share folder. It's a good idea to have a hard line running to all machines. Moving files over Wi-Fi is going to be tortuously slow, the only thing that’s going to make the transfer time tolerable (hours instead of days) is a solid wired connection between both machines and your router.
Step Six: Setting Up Remote Desktop Access to Your Server
After the server is up and going, you’ll want to be able to access it remotely from Windows. Barring serious maintenance/updates, this is how you'll access it most of the time. On your Linux system open the terminal and enter:
sudo apt install xrdp
Then:
sudo systemctl enable xrdp
Once it's finished installing, open “Settings” on the sidebar and turn off "automatic login" in the User category. Then log out of your account. Attempting to remotely connect to your Linux computer while you’re logged in will result in a black screen!
Now get back on your Windows PC, open search and look for "RDP". A program called "Remote Desktop Connection" should pop up, open this program as an administrator by right-clicking and selecting “run as an administrator”. You’ll be greeted with a window. In the field marked “Computer” type in the IP address of your Linux computer. Press connect and you'll be greeted with a new window and prompt asking for your username and password. Enter your Ubuntu username and password here.
If everything went right, you’ll be logged into your Linux computer. If the performance is sluggish, adjust the display options. Lowering the resolution and colour depth do a lot to make the interface feel snappier.
Remote access is how we're going to be using our Linux system from now, barring edge cases like needing to get into the BIOS or upgrading to a new version of Ubuntu. Everything else from performing maintenance like a monthly zpool scrub to checking zpool status and updating software can all be done remotely.
This is how my server lives its life now, happily humming and chirping away on the floor next to the couch in a corner of the living room.
Step Seven: Plex Media Server/Jellyfin
Okay we’ve got all the ground work finished and our server is almost up and running. We’ve got Ubuntu up and running, our storage array is primed, we’ve set up remote connections and sharing, and maybe we’ve moved over some of favourite movies and TV shows.
Now we need to decide on the media server software to use which will stream our media to us and organize our library. For most people I’d recommend Plex. It just works 99% of the time. That said, Jellyfin has a lot to recommend it by too, even if it is rougher around the edges. Some people run both simultaneously, it’s not that big of an extra strain. I do recommend doing a little bit of your own research into the features each platform offers, but as a quick run down, consider some of the following points:
Plex is closed source and is funded through PlexPass purchases while Jellyfin is open source and entirely user driven. This means a number of things: for one, Plex requires you to purchase a “PlexPass” (purchased as a one time lifetime fee $159.99 CDN/$120 USD or paid for on a monthly or yearly subscription basis) in order to access to certain features, like hardware transcoding (and we want hardware transcoding) or automated intro/credits detection and skipping, Jellyfin offers some of these features for free through plugins. Plex supports a lot more devices than Jellyfin and updates more frequently. That said, Jellyfin's Android and iOS apps are completely free, while the Plex Android and iOS apps must be activated for a one time cost of $6 CDN/$5 USD. But that $6 fee gets you a mobile app that is much more functional and features a unified UI across platforms, the Plex mobile apps are simply a more polished experience. The Jellyfin apps are a bit of a mess and the iOS and Android versions are very different from each other.
Jellyfin’s actual media player is more fully featured than Plex's, but on the other hand Jellyfin's UI, library customization and automatic media tagging really pale in comparison to Plex. Streaming your music library is free through both Jellyfin and Plex, but Plex offers the PlexAmp app for dedicated music streaming which boasts a number of fantastic features, unfortunately some of those fantastic features require a PlexPass. If your internet is down, Jellyfin can still do local streaming, while Plex can fail to play files unless you've got it set up a certain way. Jellyfin has a slew of neat niche features like support for Comic Book libraries with the .cbz/.cbt file types, but then Plex offers some free ad-supported TV and films, they even have a free channel that plays nothing but Classic Doctor Who.
Ultimately it's up to you, I settled on Plex because although some features are pay-walled, it just works. It's more reliable and easier to use, and a one-time fee is much easier to swallow than a subscription. I had a pretty easy time getting my boomer parents and tech illiterate brother introduced to and using Plex and I don't know if I would've had as easy a time doing that with Jellyfin. I do also need to mention that Jellyfin does take a little extra bit of tinkering to get going in Ubuntu, you’ll have to set up process permissions, so if you're more tolerant to tinkering, Jellyfin might be up your alley and I’ll trust that you can follow their installation and configuration guide. For everyone else, I recommend Plex.
So pick your poison: Plex or Jellyfin.
Note: The easiest way to download and install either of these packages in Ubuntu is through Snap Store.
After you've installed one (or both), opening either app will launch a browser window into the browser version of the app allowing you to set all the options server side.
The process of adding creating media libraries is essentially the same in both Plex and Jellyfin. You create a separate libraries for Television, Movies, and Music and add the folders which contain the respective types of media to their respective libraries. The only difficult or time consuming aspect is ensuring that your files and folders follow the appropriate naming conventions:
Plex naming guide for Movies
Plex naming guide for Television
Jellyfin follows the same naming rules but I find their media scanner to be a lot less accurate and forgiving than Plex. Once you've selected the folders to be scanned the service will scan your files, tagging everything and adding metadata. Although I find do find Plex more accurate, it can still erroneously tag some things and you might have to manually clean up some tags in a large library. (When I initially created my library it tagged the 1963-1989 Doctor Who as some Korean soap opera and I needed to manually select the correct match after which everything was tagged normally.) It can also be a bit testy with anime (especially OVAs) be sure to check TVDB to ensure that you have your files and folders structured and named correctly. If something is not showing up at all, double check the name.
Once that's done, organizing and customizing your library is easy. You can set up collections, grouping items together to fit a theme or collect together all the entries in a franchise. You can make playlists, and add custom artwork to entries. It's fun setting up collections with posters to match, there are even several websites dedicated to help you do this like PosterDB. As an example, below are two collections in my library, one collecting all the entries in a franchise, the other follows a theme.
My Star Trek collection, featuring all eleven television series, and thirteen films.
My Best of the Worst collection, featuring sixty-nine films previously showcased on RedLetterMedia’s Best of the Worst. They’re all absolutely terrible and I love them.
As for settings, ensure you've got Remote Access going, it should work automatically and be sure to set your upload speed after running a speed test. In the library settings set the database cache to 2000MB to ensure a snappier and more responsive browsing experience, and then check that playback quality is set to original/maximum. If you’re severely bandwidth limited on your upload and have remote users, you might want to limit the remote stream bitrate to something more reasonable, just as a note of comparison Netflix’s 1080p bitrate is approximately 5Mbps, although almost anyone watching through a chromium based browser is streaming at 720p and 3mbps. Other than that you should be good to go. For actually playing your files, there's a Plex app for just about every platform imaginable. I mostly watch television and films on my laptop using the Windows Plex app, but I also use the Android app which can broadcast to the chromecast connected to the TV in the office and the Android TV app for our smart TV. Both are fully functional and easy to navigate, and I can also attest to the OS X version being equally functional.
Part Eight: Finding Media
Now, this is not really a piracy tutorial, there are plenty of those out there. But if you’re unaware, BitTorrent is free and pretty easy to use, just pick a client (qBittorrent is the best) and go find some public trackers to peruse. Just know now that all the best trackers are private and invite only, and that they can be exceptionally difficult to get into. I’m already on a few, and even then, some of the best ones are wholly out of my reach.
If you decide to take the left hand path and turn to Usenet you’ll have to pay. First you’ll need to sign up with a provider like Newshosting or EasyNews for access to Usenet itself, and then to actually find anything you’re going to need to sign up with an indexer like NZBGeek or NZBFinder. There are dozens of indexers, and many people cross post between them, but for more obscure media it’s worth checking multiple. You’ll also need a binary downloader like SABnzbd. That caveat aside, Usenet is faster, bigger, older, less traceable than BitTorrent, and altogether slicker. I honestly prefer it, and I'm kicking myself for taking this long to start using it because I was scared off by the price. I’ve found so many things on Usenet that I had sought in vain elsewhere for years, like a 2010 Italian film about a massacre perpetrated by the SS that played the festival circuit but never received a home media release; some absolute hero uploaded a rip of a festival screener DVD to Usenet. Anyway, figure out the rest of this shit on your own and remember to use protection, get yourself behind a VPN, use a SOCKS5 proxy with your BitTorrent client, etc.
On the legal side of things, if you’re around my age, you (or your family) probably have a big pile of DVDs and Blu-Rays sitting around unwatched and half forgotten. Why not do a bit of amateur media preservation, rip them and upload them to your server for easier access? (Your tools for this are going to be Handbrake to do the ripping and AnyDVD to break any encryption.) I went to the trouble of ripping all my SCTV DVDs (five box sets worth) because none of it is on streaming nor could it be found on any pirate source I tried. I’m glad I did, forty years on it’s still one of the funniest shows to ever be on TV.
Part Nine/Epilogue: Sonarr/Radarr/Lidarr and Overseerr
There are a lot of ways to automate your server for better functionality or to add features you and other users might find useful. Sonarr, Radarr, and Lidarr are a part of a suite of “Servarr” services (there’s also Readarr for books and Whisparr for adult content) that allow you to automate the collection of new episodes of TV shows (Sonarr), new movie releases (Radarr) and music releases (Lidarr). They hook in to your BitTorrent client or Usenet binary newsgroup downloader and crawl your preferred Torrent trackers and Usenet indexers, alerting you to new releases and automatically grabbing them. You can also use these services to manually search for new media, and even replace/upgrade your existing media with better quality uploads. They’re really a little tricky to set up on a bare metal Ubuntu install (ideally you should be running them in Docker Containers), and I won’t be providing a step by step on installing and running them, I’m simply making you aware of their existence.
The other bit of kit I want to make you aware of is Overseerr which is a program that scans your Plex media library and will serve recommendations based on what you like. It also allows you and your users to request specific media. It can even be integrated with Sonarr/Radarr/Lidarr so that fulfilling those requests is fully automated.
And you're done. It really wasn't all that hard. Enjoy your media. Enjoy the control you have over that media. And be safe in the knowledge that no hedgefund CEO motherfucker who hates the movies but who is somehow in control of a major studio will be able to disappear anything in your library as a tax write-off.
1K notes
·
View notes
Text
Installing Linux (Mint) as a Non-Techy Person
I've wanted Linux for various reasons since college. I tried it once when I no longer had to worry about having specific programs for school, but it did not go well. It was a dedicated PC that was, I believe, poorly made. Anyway.
In the process of deGoogling and deWindows365'ing, I started to think about Linux again. Here is my experience.
Pre-Work: Take Stock
List out the programs you use regularly and those you need. Look up whether or not they work on Linux. For those that don't, look up alternatives.
If the alternative works on Windows/Mac, try it out first.
Make sure you have your files backed up somewhere.
Also, pick up a 5GB minimum USB drive.
Oh and make a system restore point (look it up in your Start menu) and back-up your files.
Step One: Choose a Distro
Dear god do Linux people like to talk about distros. Basically, from what all I've read, if you don't want to fuss a lot with your OS, you've got two options: Ubuntu and Linux Mint. Ubuntu is better known and run by a company called Canonical. Linux Mint is run by a small team and paid for via donations.
I chose Linux Mint. Some of the stuff I read about Ubuntu reminded me too much of my reasons for wanting to leave Windows, basically. Did I second-guess this a half-dozen times? Yes, yes I did.
The rest of this is true for Linux Mint Cinnamon only.
Step Two: Make your Flash Drive
Linux Mint has great instructions. For the most part they work.
Start here:
The trickiest part of creating the flash drive is verifying and authenticating it.
On the same page that you download the Linux .iso file there are two links. Right click+save as both of those files to your computer. I saved them and the .iso file all to my Downloads folder.
Then, once you get to the 'Verify your ISO image' page in their guide and you're on Windows like me, skip down to this link about verifying on Windows.
Once it is verified, you can go back to the Linux Mint guide. They'll direct you to download Etchr and use that to create your flash drive.
If this step is too tricky, then please reconsider Linux. Subsequent steps are both easier and trickier.
Step Three: Restart from your Flash Drive
This is the step where I nearly gave up. The guide is still great, except it doesn't mention certain security features that make installing Linux Mint impossible without extra steps.
(1) Look up your Bitlocker recovery key and have it handy.
I don't know if you'll need it like I did (I did not turn off Bitlocker at first), but better to be safe.
(2) Turn off Bitlocker.
(3) Restart. When on the title screen, press your Bios key. There might be more than one. On a Lenovo, pressing F1 several times gets you to the relevant menu. This is not the menu you'll need to install, though. Turn off "Secure Boot."
(4) Restart. This time press F12 (on a Lenovo). The HDD option, iirc, is your USB. Look it up on your phone to be sure.
Now you can return to the Linux Mint instructions.
Figuring this out via trial-and-error was not fun.
Step Four: Install Mint
Just follow the prompts. I chose to do the dual boot.
You will have to click through some scary messages about irrevocable changes. This is your last chance to change your mind.
I chose the dual boot because I may not have anticipated everything I'll need from Windows. My goal is to work primarily in Linux. Then, in a few months, if it is working, I'll look up the steps for making my machine Linux only.
Some Notes on Linux Mint
Some of the minor things I looked up ahead of time and other miscellany:
(1) HP Printers supposedly play nice with Linux. I have not tested this yet.
(2) Linux Mint can easily access your Windows files. I've read that this does not go both ways. I've not tested it yet.
(3) You can move the taskbar (panel in LM) to the left side of your screen.
(4) You are going to have to download your key programs again.
(5) The LM software manager has most programs, but not all. Some you'll have to download from websites. Follow instructions. If a file leads to a scary wall of strange text, close it and just do the Terminal instructions instead.
(6) The software manager also has fonts. I was able to get Fanwood (my favorite serif) and JetBrains (my favorite mono) easily.
In the end, be prepared for something to go wrong. Just trust that you are not the first person to ever experience the issue and look it up. If that doesn't help, you can always ask. The forums and reddit community both look active.
177 notes
·
View notes
Text
in wake of yet another wave of people being turned off by windows, here's a guide on how to dual boot windows and 🐧 linux 🐧 (useful for when you're not sure if you wanna make the switch and just wanna experiment with the OS for a bit!)
if you look up followup guides online you're gonna see that people are telling you to use ubuntu but i am gonna show you how to do this using kubuntu instead because fuck GNOME. all my homies hate GNOME.

i'm just kidding, use whatever distro you like. my favorite's kubuntu (for a beginner home environment). read up on the others if you're curious. and don't let some rando on reddit tell you that you need pop! OS for gaming. gaming on linux is possible without it.
why kubuntu?
- it's very user friendly
- it comes with applications people might already be familiar with (VLC player and firefox for example)
- libreoffice already preinstalled
- no GNOME (sorry GNOME enthusiasts, let me old man yell at the clouds) (also i'm playing this up for the laughs. wholesome kde/gnome meme at the bottom of this post.)
for people who are interested in this beyond my tl;dr: read this
(if you're a linux user, don't expect any tech wizardry here. i know there's a billion other and arguably better ways to do x y and/or z. what i'm trying to do here is to keep these instructions previous windows user friendly. point and click. no CLI bro, it'll scare the less tech savvy hoes. no vim supremacy talk (although hell yeah vim supremacy). if they like the OS they'll figure out bash all by themselves in no time.)
first of all, there'll be a GUI. you don't need to type lines of code to get this all running. we're not going for the ✨hackerman aesthetics✨ today. grab a mouse and a keyboard and you're good to go.
what you need is a computer/laptop/etc with enough disk space to install both windows and linux on it. i'm recommending to reserve at least a 100gb for the both of them. in the process of this you'll learn how to re-allocate disk space either way and you'll learn how to give and take some, we'll do a bit of disk partitioning to fit them both on a single disk.
and that's enough babbling for now, let's get to the actual tutorial:
🚨IMPORTANT. DO NOT ATTEMPT THIS ON A 32BIT SYSTEM. ONLY DO THIS IF YOU'RE WORKING WITH A 64BIT SYSTEM. 🚨 (win10 and win11: settings -> system -> about -> device specifications -> system type ) it should say 64bit operating system, x64-based processor.
step 1: install windows on your computer FIRST. my favorite way of doing this is by creating an installation media with rufus. you can either grab and prepare two usb sticks for each OS, or you can prepare them one after the other. (pro tip: get two usb sticks, that way you can label them and store them away in case you need to reinstall windows/linux or want to install it somewhere else)
in order to do this, you need to download three things:
rufus
win10 (listen. i know switching to win11 is difficult. not much of a fan of it either. but support's gonna end for good. you will run into hiccups. it'll be frustrating for everyone involved. hate to say it, but in this case i'd opt for installing its dreadful successor over there ->) or win11
kubuntu (the download at the top is always the latest, most up-to-date one)
when grabbing your windows installation of choice pick this option here, not the media creation tool option at the top of the page:
side note: there's also very legit key sellers out there who can hook you up with cheap keys. you're allowed to do that if you use those keys privately. don't do this in an enterprise environment though. and don't waste money on it if your ultimate goal is to switch to linux entirely at one point.
from here it's very easy sailing. plug your usb drive into your computer and fire up rufus (just double click it).
🚨two very important things though!!!!!!:🚨
triple check your usb device. whatever one you selected will get wiped entirely in order to make space for your installation media. if you want to be on the safe side only plug in the ONE usb stick you want to use. and back up any music, pictures or whatever else you had on there before or it'll be gone forever.
you can only install ONE OS on ONE usb drive. so you need to do this twice, once with your kubuntu iso and once with your windows iso, on a different drive each.
done. now you can dispense windows and linux left and right, whenever and wherever you feel like it. you could, for example, start with your designated dual boot device. installing windows is now as simple as plugging the usb device into your computer and booting it up. from there, click your way through the installation process and come back to this tutorial when you're ready.
step 2: preparing the disks for a dual boot setup
on your fresh install, find your disk partitions. in your search bar enter either "diskmgr" and hit enter or just type "partitions". the former opens your disk manager right away, the latter serves you up with this "create and format hard disk partitions" search result and that's what you're gonna be clicking.
you'll end up on a screen that looks more or less like in the screenshot below. depending on how many disks you've installed this might look different, but the basic gist is the same. we're going to snip a little bit off Disk 0 and make space for kubuntu on it. my screenshot isn't the best example because i'm using the whole disk and in order to practice what i preach i'd have to go against my own advice. that piece of advice is: if this screen intimidates you and you're not sure what you're doing here, hands off your (C:) drive, EFI system, and recovery partition. however, if you're feeling particularly fearless, go check out the amount of "free space" to the right. is there more than 30gb left available? if so, you're free to right click your (C:) drive and click "shrink volume"
this screen will pop up:
the minimum disk space required for kubuntu is 25gb. the recommended one is 50gb. for an installation like this, about 30gb are enough. in order to do that, simply change the value at
Enter the amount of space to shrink in MB: to 30000
and hit Shrink.
once that's done your partitions will have changed and unallocated space at about the size of 30gb should be visible under Disk 0 at the bottom like in the bottom left of this screenshot (courtesy of microsoft.com):
this is gonna be kubuntu's new home on your disk.
step 3: boot order, BIOS/UEFI changes
all you need to do now is plug the kubuntu-usb drive you prepared earlier with rufus into your computer again and reboot that bad boy.
the next step has no screenshots. we're heading into your UEFI/BIOS (by hitting a specific key (like ESC, F10, Enter) while your computer boots up) and that'll look different for everyone reading this. if this section has you completely lost, google how to do these steps for your machine.
a good search term would be: "[YOUR DEVICE (i.e Lenovo, your mainboard's name, etc.)] change boot order"
what you need to do is to tell your computer to boot your USB before it tries to boot up windows. otherwise you won't be able to install kubuntu.
this can be done by entering your BIOS/UEFI and navigating to a point called something along the lines of "boot". from "boot order" to "booting devices" to "startup configuration", it could be called anything.
what'll be a common point though is that it'll list all your bootable devices. the topmost one is usually the one that boots up first, so if your usb is anywhere below that, make sure to drag and drop or otherwise move it to the top.
when you're done navigate to Save & Exit. your computer will then boot up kubuntu's install wizard. you'll be greeted with this:
shocker, i know, but click "Install Kubuntu" on the right.
step 4: kubuntu installation
this is a guided installation. just like when you're installing windows you'll be prompted when you need to make changes. if i remember correctly it's going to ask you for your preferred keyboard layout, a network connection, additional software you might want to install, and all of that is up to you.
but once you reach the point where it asks you where you want to install kubuntu we'll have to make a couple of important choices.
🚨 another important note 🚨
do NOT pick any of the top three options. they will overwrite your already existing windows installation.
click manual instead. we're going to point it to our unallocated disk space. hit continue. you will be shown another disk partition screen.
what you're looking for are your 30gb of free space. just like with the USB drive when we were working with rufus, make sure you're picking the right one. triple check at the very least. the chosen disk will get wiped.
click it until the screen "create a new partition" pops up.
change the following settings to:
New partition size in megabytes: 512
Use as: EFI System Partition
hit OK.
click your free space again. same procedure.
change the following settings to:
New partition size in megabytes: 8000 (*this might be different in your case, read on.)
Use As: Swap Area
hit OK
click your free space a third time. we need one more partition.
change the following settings to:
don't change anything about the partition size this time. we're letting it use up the rest of the resources.
Use as: Ext4 journaling system
Mount Point: /
you're done here as well.
*about the 8000 megabytes in the second step: this is about your RAM size. if you have 4gb instead type 4000, and so on.
once you're sure your configuration is good and ready to go, hit "Install Now". up until here you can go back and make changes to your settings. once you've clicked the button, there's no going back.
finally, select your timezone and create a user account. then hit continue. the installation should finish up... and you'll be good to go.
you'll be told to remove the USB drive from your computer and reboot your machine.
now when your computer boots up, you should end up on a black screen with a little bit of text in the top left corner. ubuntu and windows boot manager should be mentioned there. naturally, when you click ubuntu you will boot into your kubuntu. likewise if you hit windows boot manager your windows login screen will come up.
and that's that folks. go ham on messing around with your linux distro. customize it to your liking. make yourself familiar with the shell (on kubuntu, when you're on your desktop, hit CTRL+ALT+T).
for starters, you could feed it the first commands i always punch into fresh Linux installs:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vim
(you'll thank me for the vim one later)
turn your back on windows. taste freedom. nothing sexier than open source, baby.
sources (mainly for the pictures): 1, 2
further reading for the curious: 1, 2
linux basics (includes CLI commands)
kubuntu documentation (this is your new best friend. it'll tell you everything about kubuntu that you need to know.
and finally the promised kde/gnome meme:
#windows#linuxposting#had a long day at work and i had to type this twice and i'm struggling to keep my eyes open#not guaranteeing that i didn't skip a step or something in there#so if someone linux savvy spots them feel free to point them out so i can make fixes to this post accordingly#opensource posting
122 notes
·
View notes
Text
me when companies try to force you to use their proprietary software
anyway
Layperson resources:
firefox is an open source browser by Mozilla that makes privacy and software independence much easier. it is very easy to transfer all your chrome data to Firefox
ublock origin is The highest quality adblock atm. it is a free browser extension, and though last i checked it is available on Chrome google is trying very hard to crack down on its use
Thunderbird mail is an open source email client also by mozilla and shares many of the same advantages as firefox (it has some other cool features as well)
libreOffice is an open source office suite similar to microsoft office or Google Suite, simple enough
Risky:
VPNs (virtual private networks) essentially do a number of things, but most commonly they are used to prevent people from tracking your IP address. i would suggest doing more research. i use proton vpn, as it has a decent free version, and the paid version is powerful
note: some applications, websites, and other entities do not tolerate the use of VPNs. you may not be able to access certain secure sites while using a VPN, and logging into your personal account with some services while using a vpn *may* get you PERMANENTLY BLACKLISTED from the service on that account, ymmv
IF YOU HAVE A DECENT VPN, ANTIVIRUS, AND ADBLOCK, you can start learning about piracy, though i will not be providing any resources, as Loose Lips Sink Ships. if you want to be very safe, start with streaming sites and never download any files, though you Can learn how to discern between safe, unsafe, and risky content.
note: DO NOT SHARE LINKS TO OR NAMES OF PIRACY SITES IN PUBLIC PLACES, ESPECIALLY SOCAL MEDIA
the only time you should share these things are either in person or in (preferably peer-to-peer encrypted) PRIVATE messages
when pirated media becomes well-known and circulated on the wider, public internet, it gets taken down, because it is illegal to distribute pirated media and software
if you need an antivirus i like bitdefender. it has a free version, and is very good, though if youre using windows, windows defender is also very good and it comes with the OS
Advanced:
linux is great if you REALLY know what you're doing. you have to know a decent amount of computer science and be comfortable using the Terminal/Command Prompt to get/use linux. "Linux" refers to a large array of related open source Operating Systems. do research and pick one that suits your needs. im still experimenting with various dispos, but im leaning towards either Ubuntu Cinnamon or Debian.
#capitalism#open source#firefox#thunderbird#mozilla#ublock origin#libreoffice#vpn#antivirus#piracy#linux
695 notes
·
View notes
Note
Please, please explain how to install and use linux like I'm 5 years old. I'm so sick of windows adding AI and other bullshit to my already struggling elderly laptop but I'm really not good with computers at all so I have no idea where to start with Linux.
Okay, so, I'm going to break this down into steps I would give the average tumblr user first, and then if any of them are confusing or use words you don't understand, ask me and I'll explain that step in greater detail.
Step 0) BACK. UP. YOUR. SHIT.
NEVER EVER EVER CHANGE YOUR OPERATING SYSTEM WITHOUT A COMPLETE BACKUP OF ALL YOUR FILES.
Step 1) Learn your machine. You need to know:
How much RAM you have
If your processor is 32 or 64 bit
How big your hard drive is
On windows, you can find out all of this by going to the start menu, typing "about" and opening the first result on your system instead of the internet.
For additional instructions, visit this page.
Step 2) Pick your Linux.
There's like 10,000 kinds of Linux, each tailored to particular functions that the end-user (that is you!) might want to have. The sheer amount is very daunting, so first I'm going to give my suggestions, then I'll explain how to pick for yourself.
For Mac users, I suggest Kubuntu. For windows users, I suggest Mint Cinnamon. If your laptop is really REALLY old, I recommend Sparky Stable, which is the lightest weight Linux I would ever suggest for a new user. In every case, download the version suited to your processor (32 bit can be labelled "x86" or "32 bit"; 64 bit is always labelled "64 bit").
If you want to try a different type of linux, you'll need to make sure your laptop meets the "minimum specs" or "system requirements." These numbers tell you how much RAM, processor and hard drive space the linux will use. (That's why you needed those numbers at the beginning.)
Step 3) Collect your supplies. You're going to need:
An ISO burning program compatible with your current system, like Balena Etcher.
A copy of the ISO file for the Linux you want to use.
Your laptop.
An 8gb or larger USB flash drive.
Step 3) Make a bootable USB drive
Install Balena Etcher, hitting "okay" and "next" when prompted. Last I checked, Etcher doesn't have adware attached, so you can just hit next every time.
Plug your USB drive into the laptop.
Open Etcher.
Click "flash from file" and open the ISO file with your Linux on it.
Click "Select target" and open the USB drive location. Hit the "flash" button. This will start writing all the linux installer data to your flash drive. Depending on the speed of your machine, this could take as long as 10 minutes, but shouldn't be much longer.
Step 4) Boot to the USB drive
This is, in my opinion, the trickiest step for a lot of people who don't do "computer stuff." Fortunately, in a rare act of good will, Windows 10 made this process a lot easier.
All you'll need to do is go to settings, then recovery, then advanced startup and pick the button labelled "use a device."
This tutorial has images showing where each of those is located. It's considered an "advanced setting" so you may get a spooky popup warning you that you could "harm your system by making changes" but we're not doing anything potentially harmful so you can ignore that if you get it.
Step 5) Try out linux on the flash drive first.
Linux installs using a cool little test version of itself that you can play around in. You won't be able to make changes or save settings, but you can explore a bit and see if the interface is to your liking. If it's hideous or hard to navigate, simply pick a new linux version to download, and repeat the "make a bootable USB" step for it.
Step 6) Actually install that sucker
This step varies from version to version, but the first part should be the same across the board: on the desktop, there should be a shortcut that says something like "install now." Double click it.
Follow the instructions your specific linux version gives you. When in doubt, pick the default, with one exception:
If it asks you to encrypt your drive say no. That's a more advanced feature that can really fuck your shit up down the road if you don't know how to handle it.
At some point you're going to get a scary looking warning that says 1 of 2 things. Either:
Install Linux alongside Windows, or
Format harddrive to delete all data
That first option will let you do what is called "dual booting." From then on, your computer will ask every time you turn it on whether you want Windows or Linux.
The second option will nuke Windows from orbit, leaving only linux behind.
The install process is slower the larger your chosen version is, but I've never seen it take more than half an hour. During that time, most linux versions will have a little slideshow of the features and layout of common settings that you can read or ignore as you prefer.
Step 7) Boot to your sexy new Linux device.
If you're dual booting, use the arrow keys and enter key to select your linux version from the new boot menu, called GRUB.
If you've only got linux, turn the computer on as normal and linux will boot up immediately.
Bonus Step: Copy Pasting some code
In your new start menu, look for an application called "terminal" or "terminal emulator." Open that up, and you will be presented with an intense looking (but actually very harmless) text command area.
Now, open up your web browser (firefox comes pre-installed on most!), and search the phrase "what to do after installing [linux version you picked]"
You're looking for a website called "It's FOSS." Here's a link to their page on Mint. This site has lots and lots of snippets of little text commands you can experiment with to learn how that functionality works!
Or, if you don't want to fuck with the terminal at all (fair enough!) then instead of "terminal" look for something called "software manager."
This is sort of like an app store for linux; you can install all kinds of programs directly from there without needing to go to the website of the program itself!
297 notes
·
View notes
Text
Some TF2 headcannons because like... Why not yk? These may change over time. This is specifically the RED team + Pauling and Zhanna.
Scout:
Has a lot of sport related skills, either just being able to play/participate in certain ones (baseball, swimming, basic gymnastics, football/soccer) or knows the rules (rugby, volleyball, ice skating, hockey, handball).
Would have gone to art school if he didn't fail English.
He's dyslexic, which comes from Spy.
Has driven a car/van illegally a couple times as a teen. One of his brothers taught him how to drive.
Got a couple art gigs after the end of the comic.
If he didn't make it into the Team Fortress, he would become a petty criminal or an artist, but still engaging in his mum's bizz.
Soldier:
Has the perfect pitch, unfortunately he's partially deaf from all the rockets he has blown up.
Believed himself to be a magician at one point (he was kinda just didn't notice Merasmus living in the place he decided to crash at).
Has named all the pets he ever had and will always recognise them even if no one else can.
Sweet tooth, but only if he's got something to go with it like coffee or tea.
Still didn't occur to him that some of his teammates are queer, even if they were to kiss in front of him (he's not homophobic, he just thinks all the flirting between Heavy and Medic is just your average platoon behaviour)
He genuinely loves kissing Zhanna on her lips and both her hands.
Pyro:
Any pronouns user.
Speaks a lot under the mask, is just that the mask huffles everything. But he speaks full coherent sentences, sometimes even singing to themselves.
Pyro-vision is result of asbestos and the respawn going haywire one time she went through it. They are actually pretty unbothered by it.
Likes to swim actually and will happily dive in! Will challenge other Mercs to swimming contests.
Their bed is more an AuDHD nest than a bed, plushies, trinkets, yarn and granny squares everywhere. He actually knitted all the granny squares himself!
Mercs usually go to him to tell their secrets, because she will never snitch on them.
Engineer:
Wakes up the earliest of the Mercs, only beaten by Soldier.
Misses sweet tea greatly, always gets a gallon of it when they get a time off from battling.
He's got a whole collection of gloves for his robotic hand for different occasions.
Does often check Scout's drawings, has even asked him to help him draw some of the machines.
Would have used Linux on his computer.
Dislikes phonecalls very much. Will do anything to avoid actually calling someone. Face to face, letters, he's happy to do it, just no phone calls!
Demoman:
He's worked in almost as many positions as Soldier, got even into a bet about who can work the most jobs in a month.
Not a cat person, because he fears a cat may scratch his good eye. However he may still pet a cat if it's held by its owner.
Actually likes rainy weather on a non-combat day.
Banned from driving due to his lack of depth perception, but that didn't discourage Scout from showing him through the hoops (no parking tho).
Aside from bombs, absolute nerd about booze and medieval history.
Makes the worst puns known to man.
Heavy:
Absolutely hates toasted bread, but will accept being offered some, even if they are essentially charcoal.
Reading a lot outside of combat, brings back memories from college.
Does share some of the stories of his youth with Medic, but that's it. He won't tell anyone else since he's still in the "words are very dangerous" mentality.
Usually the one who's vented to about issues, when the Mercs actually want some actual advice.
He enjoys the books that have English text next to Russian text as it helps him learn the language.
Trying to learn some German, so far can understand basic stuff, but mispronounces every 3rd word.
Medic:
He's also learning Russian for Heavy and also can just understand phrases, but can't talk for shit.
Certified pet dad, knows exactly how to care for his doves and won't let anyone else babysit them (except Heavy and Soldier).
One of the worst cooks amongst the Mercs, but excellent baker.
Has made his fair share of terrible puns, but the terribleness of his puns comes from not understanding how English puns work.
Tried to sleep with one eye open like a crocodile on several occasions.
Doesn't know how to drive. Nobody is risking teaching him that.
Sniper:
Has the best relationship with his parents out of all the Mercs.
Can sleep sitting up. Has even slept standing up once.
Knows about what's edible or not as he does engage in foraging.
He's learned a lot of little stuff to do to entertain himself like small entertaining stims.
This is the first time in years when he's stably living with other people and not sleeping somewhere in the outback in his van all alone.
He's goes to sleep the latest of everyone, including Pyro and Scout.
Spy:
Was a very good swimmer in his youth, just doesn't really do that anymore.
Flips his papers upside down to deal with dyslexia (that's how he taught himself how to do it).
Can't see himself as anything besides his profession or someone else's weapon.
Knows a lot of cool tricks with cards and stuff, but never does them in front of Soldier (learnt the hard way).
Polyglot, since I'm a sucker for that headcannon!
Is spooked out by wax figurines and mannequins, but since the fighting against the robots (Mann vs. Machine) he's also spooked by them. Usually the reaction is like "Huah! Disgusting!" or something like that but French and he moves on.
Miss Paulinng:
Zhanna was very much her sapphic awakening or made her appreciate butch women some more.
Absolutely dislikes moths because of associations with bad childhood memories.
Would do some accounting jobs before finally finding herself after all that happened.
She drinks an unhealthy amount of coffee.
Would write a fictional retelling of Team Fortress 2, but she's too shy to have it ever published.
Really started looking into subcultures in the late 1970s and early 80s.
Zhanna (the best girl for last):
She got all Soldier's pets vaccinated and made them all collars/ribbons with their names.
Became great friends with Engineer after he made her the hand.
Does say movie lines unironically. It's her way of connecting to the American culture.
She would enjoy Led Zeppelin.
Likes to literally butt heads with her husband.
Does frequently sing while doing mundane tasks and chores.
#headcannon#axelion headcannon post#tf2 headcanons#tf2#team fortress 2#team fortress#tf2 scout#tf2 soldier#tf2 pyro#tf2 engineer#tf2 demoman#tf2 heavy#tf2 medic#tf2 sniper#tf2 spy#tf2 miss pauling#tf2 zhanna
75 notes
·
View notes
Note
Do you have any tips to be more punk in 2025 specifically for minors?
Hey, great question! Let's take a look at our list and see what still applies and what we can flip around for you.
Cut fast fashion - Still applies! Try clothing swaps with friends.
Cut subscriptions Analyze your media consumption - Do you tend to play phone games that are psychologically manipulative? Are algorithms taking you to content that makes you upset? Track your screen time, think about what's being sold to you, and resist only consuming the media that is fed to you.
Green your community self - Forget touching grass, find ways to touch dirt. Spend time outside in nature. Go for hikes, look at trees, track how plants and animals change over the seasons. You're part of the natural world, so go connect with it!
Be kind - Still applies! Try handing out more compliments.
Intervene - Still applies, and especially applies to bullies, including teachers. This can be as simple as saying, "That was a really messed up thing to say. I think you owe X an apology."
Get closer to your food - Still applies! Try packing your lunch.
Use opensource software Reject Web 2.0 - Before you try to learn Linux, people your age need to start by learning some basic computer and coding skills. My generation was given computer classes and had social media that encouraged custom coding. Yours has been deprived of this education and given prepackaged web content. Reject AI. Right click + inspect element + fuck around. Learn Raspberry Pi. Become the cyberpunk hacker you want to see in the world.
Make less trash - Still applies! If mom won't let you start a compost in the backyard, propose starting one at school!
Get involved in local school politics - Know what's going on with your school board, with school administration. Start an underground, uncensored school newspaper with the real dirt.
DIY > fashion - High school is where a lot of adults learned their bad habits about keeping up with appearance/fashion demands. Refuse to buy in now and make homemade the new cool.
Ditch Google - Still applies! And also check your app settings to see if you have apps with unnecessary permissions.
Forage - Still applies!
Volunteer - Still applies! There might be fewer opportunities for minors, but you'll never know until you ask. Don't be afraid to be the only young person at the volunteer session.
Help your neighbors classmates - Offer to study with students who are struggling. Become someone people can trust to tell if their home situation is difficult. If you have friends who don't get enough to eat at home, bring them home for dinner. Check on people.
Fix stuff - Still applies! This can be a fun activity with friends, too. Let's all hang out and see if we can fix this busted stereo!
Mix up your transit - Still applies! Is taking the bus considered lame at your school? Do it anyway.
Engage in the arts - Still applies! Pay attention to art events that your classmates are putting on. Go to the school play - or join! Stop in the art classrooms to see what people are working on.
Go to the library - Still applies, public and school libraries! Talk to the librarians - they know things. Find out if there are after school programs you can take advantage of.
Listen local - Even more local! Stop by the band room after school to listen to practice. Does someone in your school have a band? Listen to them, cheer them on! Start a band! The great thing about punk music is that you can be really, really awful and still sound punk as hell.
Buy local Barter local - Lots of young folks don't have much control over or access to money, but that doesn't mean you and your classmates can't engage in barter. Figure out what you have to offer that other people might want, and trade for stuff you want. I used to cut hair and pierce ears in exchange for weed and rides to the mall. Maybe you can sew a friend's jacket in exchange for them bringing you a homemade lunch.
Become unmarketable - Still applies! PLEASE do this.
Use cash Steal ethically - Before engaging in shoplifting, make sure you know who you're stealing from! Stealing from Walmart is morally correct. Stealing from a family-owned grocery, a local coop, or a local artist? That fucking sucks, dude. Don't do it.
Give what you can - And only what you can. We ask a godawful lot from teens. You're in school all day, you're doing extracurriculars and maybe working and doing homework. You probably don't have a lot of money. You probably don't have a lot of time. But maybe you can bring your elderly neighbor's trash cans up from the street. Find the small actions that you have space for.
Talk about wages - PLEASE! If you have a job, this applies to you even more. Why? Because the adults working at your minimum wage job probably can't afford to be rabble rousers, but what do you have to lose except your shitty part-time Panera job?? A teenager who doesn't actually need their job to live has the opportunity to be the voice of truth in any workplace.
Think about wealthflow Resist indoctrination - Education systems are being gutted. Algorithms are feeding us misinformation. Cocomelon probably gave you ADHD or some shit - Jesus. It's a mess. Do what you can to practice critical thinking, expand your literacy, read stuff that seems boring. Start a book club or philosophy club with your friends. Ask who's profiting from a given situation. Resist knee-jerk reactions. Becoming an educated, thoughtful person is one of the greatest acts of resistance a young person today can engage in.
61 notes
·
View notes
Text
the story of my brief adventures in linux customisation has been steadily ongoing, culminating in a 24h experiment with @arch-official yesterday.
(unfortunately i do not have the willpower, patience, or energy to learn and tinker in such depths that arch requires me to, so it was but a brief excursion)
(though i definitely want go give it another try in the future!)
went back to my beloved opensuse tumbleweed again this evening, but instead of doing what i've always done (kde plasma install), i went with a mininal desktop. aka just icewm.
from then on i installed @hyprland-official and set out on some much lighter-feeling tinkering.
(important to note that i went with hyprland on arch yesterday too, and have also done some brief, failed experimenting with it in the past year)
it's been fun! i've noticed though that the minimal install came with a start-sign-in-package that i didn't like so i installed sddm to replace it. and god is the basic basic version ugly. and idk if i'll be able to get it to look the way it does when i simply go for a kde install.
seriously it's jarring how ugly sddm looks out of the box (which. i been knew but still).
plus i can't log in with root??? like. i can't switch my user???
so i might do yet another quit reinstall of tumbleweed tomorrow morning but with kde plasma as a backup de, even though i don't want to go through the whole clean-up process because kde comes with too much stuff i don't want or need...
(it's almost certain that i will reinstall again)
hyprland becoming my main work environment is a given though, and i'm really excited to spend even more time really customising everything to fit my wants and needs :3
#linuxposting#linux#on a personal post#on today's episode of#adventures in linux#i really wanted to use arch btw but i'm simply not ready yet#i'm simply not cool enough yet
36 notes
·
View notes
Text
On Keeping Time
To run a simple program, a computer needs some kind of storage, and some kind of input/output device. To run a simple operating system, a computer will also need some random-access memory for holding onto information temporarily. To run a sophisticated operating system that supports many users and programs reliably, a computer will also need some way to make sure one user doesn't hog resources and prevent other users' programs from running.
My Wrap030 homebrew computer currently has a flash ROM which holds a bootloader program from starting other programs from disk. It has 16MB of RAM. It has 9 total serial ports for I/O. It just needs that last thing to be able to run a sophisticated operating system.
I've written before about how computers can share a single processor between multiple users or programs. The simplest option is to have each program periodically yield control back to the system so that the next program can run for a little while. The problem with this approach is if a program malfunctions and never yields control back to the system, then no other program can run.
The solution is to have an external interrupt that can tell the CPU it's time to switch programs. Each program can be guaranteed to have its chance to run because if a program tries to run too long, that interrupt will come to force a switch to the next program.
The way this is typically accomplished is with a periodic timer — ticking clock that interrupts the CPU regardless of what it's doing.
And that's what my Wrap030 project is missing. I need a timer interrupt.
The catch is, my system has always been a little fragile. I have it running well right now with three expansion boards, but there's always a risk of it being very unhappy if I try to add another expansion board. If I could somehow pull a timer interrupt out of what I already have, that would be ideal.
Nearly all of the glue logic pulling this system together is programmable logic in the form of CPLDs. This gives me the flexibility to add new features without having to rework physical circuitry. As it happens, the logic running my DRAM card currently consumes under half of the resources available in the card's CPLD. It also has several spare I/O pins, and is wired to more of the CPU bus than any other chip in the system.
So I added a timer interrupt to my DRAM controller.
It is very minimal — just a 16-bit register that starts counting down every clock cycle as soon as it's loaded. When the timer gets to 1, it asserts one of those spare I/O pins to interrupt the CPU.
And all it took was a couple bodge wires and a little extra logic.

I put together a quick test program to check if the timer was running. The program would spin in a loop waiting to see if a specific address in memory changed. When it changed, it would print out that it had, and then go right back into the loop. Meanwhile, the interrupt service routine would change the same address in memory every time the timer expired.
This is great! It was the last significant piece of hardware I was missing to be able to run a proper operating system like Unix or Linux — which has always been a goal of the project. While I still have much to learn before I can attempt to get a proper OS running, I can still put this new timer to use.
I had previously built my Multibasic kernel to run cooperatively. Each user instance of BASIC would yield control whenever it needed to read or write to its terminal (which it does at every line while running a BASIC program, checking for the Ctrl-C stop sequence). This worked well enough, but a particularly complex BASIC program could still slow down other users' programs.
Converting my Multibasic kernel from Cooperative multitasking to Preemptive multitasking was actually fairly easy. I just needed to initialize the timer at startup, and add an interrupt service routine to switch to the next user.
(It's not really something that can be seen in a screenshot, but it's doing the thing, I promise.)
Now that I have all of the requisite hardware, I guess I need to dive into learning how to customize and build an operating system for a new machine. It's something I have always wanted to do.
35 notes
·
View notes