18 Jan 2023
It’s the year 1991! The internet is growing, Windows is still just a DOS program, and Unix is killing it. SunOS, System 6, and MINIX are making computers much more attainable for the average Joe. But, although they were still quite impressive for their time, a lot of these OS’s weren’t the most ideal. Undoubtedly, the biggest problem was that most of them didn’t officially support the cheaper, and increasingly popular Intel x86 processors. Most of the ports available for the platform were either developed by the community, or lacking the performance you would expect from officially supported CPU architectures. And so, Linus Torvalds, while attending university for computer science in 1991, decided to, just for fun, write his own operating system. And after about 4 months of work, he announced his creation to the Minix newsgroup with this now famous post.
Hello everybody out there using minix -
I'm doing a (free) o operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.
— Linus Torvalds
A month later, Linus releases Linux 0.01 under his own license, which stated that the, “Full source must be available” and that “You may not distribute this for a fee”. The entire license was only less than 200 words, and managed to stick around for a whole year’s worth of time.
The operating system itself was pretty bare-bones at the start, as it launched initially with nothing but a shell and compiler. But just a couple months after being released to the public, the community around Linux was already starting to form. Many common Unix applications began to be ported, and people were able to actually use Linux as a functional, albeit, impractical operating system. Like Minix, Linux remained a purely text-based operating system. But, unlike the stable and well supported Minix, Linux was too new to be used as a daily desktop, and too unstable to be run as a server. It showed promise, but it’d need quite a lot of development before it could be used for anything other than a fun toy for computer enthusiests to tinker with.
This is when things started to get interesting. X worked on Linux, allowing for graphical applications and window managers. This development launched Linux directly into the stratosphere. In combination with GNU utilities and software ports from the community, Linux was becoming a more viable operating system by the minute. You could browse the web, write papers, answer Emails, and do almost anything else you would want a computer to do in 1992.
This year also marked the launch of the first Linux distros. Back then, many people rolled their own version of Linux from scratch, but early computing companies and schools started to create some proper Linux distros for personal and professional use.
The first ever Linux distro was MCC, from the Manchester Computing Center, made by Owen Le Blanc. It didn’t have X, but it did come with an actual installer, GNU coreutils, and a lot of the other luxuries that come for granted on Linux nowadays. It may not look like anything too special, but back then, it was a huge improvement to a lot of the other Unix based systems that were in use at the time.
But all of that success would soon be overshadowed by Texas A&M’s new masterpiece, TAMU Linux. TAMU Linux was the second ever Linux distro, and the first one to ship with the X windowing system. TAMU was instantly a hit, shipping with the fvwm window manager, Emacs text editor, and even Tetris. Network configuration and disk partitioning were done automatically, and the desktop was clean and easy to understand. TAMU was, undoubtedly, the fist ever real desktop Linux distro.
However, SLS (Softlanding Linux System) is undoubtedly the Linux distro in 1992 that had the most effect. While SLS also had the X windowing system, it was beaten to the punch by TAMU Linux by only a few days. SLS Linux was created by Patrik Volderkin, who would charge 99 US dollars plus a shipping and handling fee for an instillation medium. But what made SLS so great that people were willing to pay the equivalent of 212$ for it? It shipped with an installer, disk space optimization, package management, and even a fully-featured DOS emulator. It was simply the best available Linux distro at the time. And most important of all, SLS served as the initial building block for many future Linux distros.
It is also worth noting, that SUSE, a company still in business to this day, was created this year with the goal of developing and selling Linux products to businesses, but they would not make their first official Linux distro for 4 more years.
As for the kernel itself, 1992 came with a lot of development. Obviously, with more widespread adoption, more drivers were added and the kernel got more optimized in general (The size of the kernel doubled). But the real news came right at the end of the year, when Linux was officially released under the GNU GPL version 2. The GPL is much more coherent than the cobbled-together mess that Linus wrote, and is undoubtedly part of the reason that Linux is still so prevalent today. The GPL made it a requirement that if you use Linux in a product, you must publish all of the source code, including your changes. This stopped any big companies from creating their own proprietary versions of Linux, while still allowing for profitable commercial products. Which, as you can imagine, did wonders for Linux’s future financial success.
1993 is the year in which two great titans of the Linux world were created: Slackware and Debian.
Although released under a different name, Slackware was, at this time, undoubtedly an extension of the original SLS Linux operating system. Slackware was created by Patrick Volkerding, who, apart from having an eerily similar name to Patrik Volderkin, shared an interest in making Linux simpler and more reliable. While he didn’t do a lot of the heavy lifting that comes with making an OS from scratch, he was able to patch bugs and fine-tune SLS, to make a substantially more stable and fast operating system. And because of this stability, Slackware remained the defacto Linux distro for a mind-boggling amount of time.
Debian is another staple Linux distro created in 1993. It wasn’t anything close to the Debian you know today, but there was something there. Just like Slackware, Debian was based on SLS. And over the year, there was a tremendous amount of work being done. However, while Debian officially started in 1993, there’s not much to talk about, as the first public release wasn’t available till early 1994.
Slackware and Debian were a huge push towards making Linux viable as a consumer desktop operating system, as well as a commercial OS for servers and office work.
And while distros were being released by the second, the kernel remained stagnant. There was not a single new version of the kernel released this year. The kernel was on version 0.99, and there was a lot of work being done to ensure that version 1.0 would be the best that it could possibly be. And with only 100 people working on Linux, it’s understandable why a new release took so long.
10 Jan 2023
For a couple months, I’ve been using a fairly old, underpowered Acer laptop as my daily driver. With only 2 CPU cores, and less than 2GB of RAM, it was not the best computer in the world. I was fairly content, but recently during Christmas, I was gifted a Pinebook pro. The Pinebook pro is the Linux communities answer to the Macbook, with a small price tag, sleek design, and a Linux OS pre-installed. And now that I’ve had the time to properly adjust to the Pinebook, I feel like I have enough insight to give a real, unbiased review of this unique computer.
For the price, the Pinebook pro has fairly exceptional hardware. It has 6 CPU cores, 4GB of RAM, and a surprisingly great 4 core GPU.
The display is amazing. I have yet to find another laptop of this price range, with quality hardware, that has a display this nice. It’s a 14 inch HD 1920x1080 panel, with great color quality better than my former 500$ Dell laptop.
The keyboard is also excellent. It has a nice, firm, tactile feel that doesn’t make too much noise. I’ve noticed that once in a blue moon, a character will be typed twice, when I only hit the key once. But, there is a chance that that’s just user error.
The trackpad, while not awful, is not up to the same standards as the display or keyboard. It has a weirdly rough feel, but still feels inaccurate. It boasts multi-finger gestures, but doesn’t seem to integrate with the default KDE environment. And worst of all, far too often, it will double/tripple click when you only touch it once.
The speakers are fairly nice. Not amazing, but defiantly better than a standard Smartphone or Chromebook. It’s got a nice balanced sound, and very little audio distortion. However I have noticed that they don’t get very loud.
This is the only piece of hardware that really bothers me. The battery lasts 4-5 hours, but it takes forever to charge. You need to hook it up for up to 3 hours to get it up to a full charge. If you like to travel around and use your laptop without a charger, I’m not sure the Pinebook is for you.
I was extremely disappointing with the default OS. Manjaro is barely stable on x86 processors, and it’s a ticking time bomb on ARM. I was only able to use Manjaro for a couple hours before it broke U-boot, and bricked my machine. I had to use a separate laptop to flash my SD card with Armbian, take the laptop apart, and switch a tine little switch to disable EMMC booting.
I’d love to use Manjaro. It has the absolute best hardware support for the Pinebook Pro, and it’s fairly speedy and customizable, but sadly, it’s just too unreliable for daily work.
U-Boot is the bootloader for the Pinebook Pro. And honestly, it’s just kind of bad. There’s no boot screen, no configuration options, and if it breaks you have to switch off the EMMC before you can even boot off of a USB or SD card. I would really like to see some improvements. But in the meantime, I’d urge anyone with a Pinebook Pro to install Tow Boot. It fixes a lot of the problems with U-Boot by adding an actual user interface, and multiple boot modes. There’s really no reason not to use it.
The Pinebook pro is pretty great. You get high-end hardware for the same price as a Chromebook. There are quite a few hiccups, as you would expect with completely community sourced software, but as is the case with all open sourced projects, it’s only going to get better with time. I would not recommend the Pinebook Pro if you don’t have at least intermediate Linux knowledge. It’s not perfect, but hey, it’s better than anything Apple’s put out in 15 years.
16 Dec 2022
About a week ago, I was sitting in my Science class after finishing a review. Having nothing better to do, I whipped my laptop out of my bag and started fixing any grammar/spelling mistakes in the blog I had finished the day before. Eventually, my teacher came around and saw me reading over my blog. He was a bit confused, but, having worked with Ubuntu in the past, we got talking about Linux, and for almost 10 minutes, he sat there asking questions as I explained my setup to him. So, I figured, if my 70 year old science teacher was able to stand my long-winded, fairly boring breakdown of every individual part of how I set up my Linux distro, the internet might want to know too. And so, I am going to break down every important component of my setup, what everything does, and how I use it. Hopefully, seeing how I setup my computer can give you some ideas and inspire you to try out some of the same stuff as me.
Right now, my main computer is a small, Acer Aspire with 2GB of RAM and 2 CPU cores. It’s not the best hardware in the world, but with most of the software that I run, it’s a non-issue. My only gripe with my laptop right now is that Linux is not automatically added to the boot menu when installed, but you can still manually choose the efi file to boot from.
Apart from the laptop itself, my desk setup is pretty great. I have a 1920x1080 Acer monitor, a Logitech G413 mechanical keyboard, a vertical mouse from a random Chinese company, and a super slick pair of Altec Lansing speakers with a giant subwoofer that my school was going to throw away.
Although I have been known to distro hop on occasion, I’ve been using Fedora the longest. It’s rock solid, pretty up-to-date, and easy to configure. I’ve been using it for a year and a half , and it hasn’t crashed on me once.
Window Manager/Desktop Environment
EMACS!!!! Thanks to EXWM, I am able to log directly into Emacs. I wouldn’t recommend that everyone use EXWM, as it requires fairly comprehensive Emacs knowledge, but as someone that uses Emacs for most things anyway, it’s extremely convenient.
In the past, I’ve used Polybar for a system tray and propper workspace monitor, but recently I’ve found myself pretty happy with just a customized modeline. However, if you do want Polybar integration in EXWM, I’d check out System Crafter’s amazing guide on how to set it up.
After over a decade of using the exact same password for all of my accounts, this was the year that I finally got a password manager. And after a little bit of deliberation, I chose KeePassXC. You get all of the conveniences of a cloud based password manager, while all of your passwords remain safe locally on your device. If you want more information, check out the blog I wrote the other day.
I’ve used every single open source multimedia system that Linux has to offer. But, like most people, I use VLC. It’s fully open sourced, and yet can reliably play more files than any other media player with absolutely no struggle. Hell, even most Windows users recognize how amazing VLC is.
There are a plethora of amazing web browsers out there (Ungoogled-Chromium Epiphany Falkon) but, after giving all of them a fair try, I have chosen to stick with regular ol’ Firefox. For privacy, I use the Arkenfox user.js with Noscript, Ublock Origin, Cookie-autodelete, and SearX. And out of hatred for modern UI, I use this CSS theme to bring back the Firefox Quantem look. By the time I’m done with it, Firefox doesn’t really look the same, but that’s what I like about it so much. There’s nothing stopping me from completely destroying the default functional, slick browser and turning it into a twisted imitation of its former self.
For the most part, I use standard bash. I’ve played around with Fish & Zsh, but I really don’t see much reason to use them. It’s already very functional, but I do like a little bit of eye candy, so I used oh-my-bash to get my beautiful Half life theme. And although I use bash most of the time, I also occasionally use Eshell within Emacs. It’s Elisp integration is incredibly useful in a wide variety of cases, but the fact that you can’t run Eshell in a propper terminal buffer means that it’s a no-go for me most of the time.
I use two file managers. Dired & Thunar. Obviously, when working within Emacs, Dired is king. It’s surprisingly powerful, and integrates amazingly with all of the Emacs modes for PDF’s and image files. But, Thunar is my go-to when it comes to mounting USB drives and my phone. Sure, I could use the terminal to manually mount my phone onto my file system every time I want to add another mp3, or I can just open Thunar and have it automatically mount without any fuss. Thunar is seriously a huge convenience.
Emacs! I know, it’s a bit silly to list Emacs separately when I use it for so many unrelated things, but I feel like Emacs needs to be recognized for the powerhouse of pure text editing it is. I swear, there’s absolutely no compromises when it comes to text editing in Emacs. I can write everything in one markup language, and export it to any file format I desire, all while having access to every single quality of life feature that might be missing from any other similar editors. I’ve never used anything else quite like it.
Now, you should have a good idea on what I use on a daily basis. Sure, half of it’s just Emacs, and the other half is quite basic, but I think that every singe piece of software mentioned is worthwhile and definitely worth considering. If there’s something in here that stands out to you, I’d urge you to give it a try. I swear it’ll make your computing experience at least a little bit better. And plus, you’ve read the entirety of this blog post, and you don’t even have the excuse of being my Science teacher, so I know that you have enough free time on your hands to implement many of these programs into your life.
Table of Contents
- Operating System
- Window Manager/Desktop Environment
- Password Manager
- Multimedia System
- File manager
- Text Editor
09 Dec 2022
There are many reasons that someone would want to use Tails. Reporters use it to communicate safely, oppressed people use it to escape their state-controlled media, and of course, criminals use it to sell drugs. But, there’s one use case for Tails that is rarely talked about, but surprisingly useful. Tails excels as a nomad operating system on a USB stick for people that either don’t have a computer of their own, or have many computers that are a pain to sync. While yes, the ability to run on a USB with encrypted storage has the express purpose of increasing anonymity, after loosing my own computer, I have found Tails to be a huge convenience. And I’m going to explain how a fringe operating system for accessing TOR has completely changed my everyday computing experience for the better.
How do I use Tails?
For the past week or so, I’ve been using Tails for a lot of my regular activities, on a 64GB Micro Center USB drive. I’ve been using it on three machines, my broken laptop hooked up to a monitor, my fully-functional personal laptop, and my school-issued laptop. I’ve done a variety of schoolwork, writing, and general internet browsing without a hitch on all three machines. All my files are stored locally on the USB drive, so as soon as I’m done on one computer, I can just boot out of it and start where I left off on another.
What Software do I use?
Obviously, Tails has Tor, but a lot of people miss the general desktop applications that come with Tails. Things like GIMP, LibreOffice, Firefox (unsafe browser), and Audacity. In fact, I’ve been able to do almost every single day-to-day operation with exclusively the software pre-installed on Tails, plus a few quality of life applications.
How Do I Install Software?
When I do want to install something, it’s not as trivial as a simple
sudo apt install, but it’s still quite easy. There’s two ways to do it; you can either install a deb application directly from the repo, or you can use Appimages. When installing a deb application, you’re not actually installing it on the USB, you’re simply telling Tails to re-install the package every single time that you reboot. Not only does this take a lot of time, but you need access to internet every single time you reboot for it to work. The much simpler solution is to use Appimage. You can place Appimages in your persistent folder, and use them as regular applications. This is how I use VLC, yt-dlp, and even Emacs.
Why Should You Use Tails As Your Main OS?
Having your entire OS contained in a USB stick is very convenient. If you have access to any public computer, you can use it while still having access to all of your files, programs, and app data. They’re not library computers or school computers anymore, they’re your computers. And if you’re going to someone else’s house, you can just bring your USB stick instead of trying to cram a whole laptop into your bag. It’s very practical.
Why Shouldn’t You Use Tails As Your Main OS?
Simply put, while you can do most of your work in Tails, it’s not nearly as efficient as a locally installed operating system. There’s almost no chance for customization, you’re limited in what apps you can install, and on top of that, you’ve got significantly less storage. For that small bump in convenience, you are loosing a lot of features. Plus, by carrying your entire operating system in a USB drive, you’re increasing the chances that you loose or break it by a lot, which could wipe out your entire operating system with something as trivial as an unzipped zipper on your bag.
Tails as a daily operating system is not conventional, but it’s an excellent use case. I don’t think I’m going to continue to use it as my main OS, but I do think that a live Tails USB will be essential in my travel bag from now on. It’s an amazing operating system for daily use. Whether you’re a nomad, a student, or work in multiple offices, Tails can be the perfect solution to all of your file-syncing problems.
Table of Contents
- How do I use Tails?
- What Software do I use?
- How Do I Install Software?
- Why Should You Use Tails As Your Main OS?
- Why Shouldn’t You Use Tails As Your Main OS?
01 Dec 2022
Every day, there are hundreds and thousands of Email addresses and passwords released in huge data breaches. No matter how unique or strong your password is, if you re-use it, and one of your accounts is compromised, all of your accounts are compromised. For that reason, password managers are becoming incredibly popular for both the paranoid privacy enthusiast and regular person. Sadly though, many of these password managers are closed source, built into the browser, or stored in the cloud. It’s certainly better than nothing, but if you really want the best of the best without having to pay the money to host your own server, one option stands out from the rest. KeePassXC is a FOSS solution that provides you with all of the luxuries of a built-in browser password manager, with the security and peace of mind that comes with storing your passwords on a local encrypted file. If you’re interested, I’ll show you how you can install KeePassXC, create your database, and integrate KeePassXC flawlessly with your browser.
If you’re to lazy or competent to install KeePassXC yourself, you can just copy paste one of these lines into your terminal depending on what distro you use.
sudo apt install keepassxc
sudo dnf install keepassxc
sudo pacman -S keepassxc
sudo zypper in keepassxc
Creating a database
Now that you have KeePassXC installed, you need to create a database. Go to the very top left, and then click on “New Database”. You’ll be asked to give the database a name, and an optional description. Once you hit “continue” you’ll be prompted to choose your encryption settings.
There is a slider ranging from 100 milliseconds to 5 seconds. The higher the decryption time, the more protected you’ll be from brute-force attacks, but it can be very inconvenient. In most cases, the default encryption will serve you well.
Here, you’ll be asked for a password. Choose something that’s easy to remember, but also incredibly difficult to guess. A song lyric, memorable sentence, or a tagline for a book are all great options. You may also want to create a key file. If you click on “add additional protection” you’ll be greated with a prompt where you can create or source one of these key files. This will make your database much more secure, but it requires you to source the file every single time you want to unlock KeePassXC, and if you delete it, you’re screwed.
Then, save the .kbdx file anywhere on the system and you’re done!
Creating an Entry
Creating an entry is very simple. Open the database, and then select “Entries” in the top left corner, before selecting “New Entry”. Then, you can enter or generated a password, put in a username, and add the URL. I always use KeePassXC to generate passwords, then change the passwords on existing accounts to the new, extremely secure password.
Using the Browser Extension
The browser extension makes using KeePassXC 100x easier. Instead of having to copy-paste the username and password into the field every single time you want to log in, you can just connect to KeePassXC using the browser extension and have it fill out the form for you. You can install the browser extension on the Firefox Addons store, or by clicking on this link. Once you’ve got the browser extension installed, you need to open KeePassXC, and navigate to Tools –> Settings –> Browser Integration. Check “Enable Browser Integration” and then use the check mark to enable interaction with the browser extension on your respective browser. Then, before you start your browser, you can start KeePassXC and it will succesfully connect to the browser extension, and auto fill your forms on websites.
You did it!
If you’ve followed the instructions correctly, you should now be able to start KeePassXC, enter a password, launch your browser, and have all the usernames and passwords on all of your websites filled out automatically. This ensures that all of your passwords are secure, and hosted locally on your machine with no chance that they get stolen in data breach. You can rest easy knowing that all of your accounts are safe, and that someone named H4CK3R11026 won’t gain access to all of your precious accounts just because you used the same password on a forum back in 2010.
Table of Contents
- Installing KeePassXC
- Creating a database
- Encryption Settings
- Password Creation
- Creating an Entry
- Using the Browser Extension
- You did it!