Liam Heinicke

Sections

HOME / XMonad / NixOS / Hardware / Software / Contact

Linux And How I Got Here

As you may have noticed, this site is a lot about GNU/Linux and is even hosted on such an operating system as it is something that is very interesting to me and I rather enjoy learning about and using Linux as a tool. Here we are going to be looking at how I got here and some of the reasons I think you should be here to.

More and more now the Linux world is sort of somewhere between a space of influx of general popular ideas in mix with the hardcore "GNU/Linux" culture of yesteryear. The influx of the general has sort of made the original punk rock Linux ideas seem 'extreme' or offensive to the now new but larger group of generalists. See this page. Not sure really where this is heading, but personally I find that these more technically focused forums and distros that sort of escape the meme world stick more true to their goals instead of pleasing everyone which lands them better suited to their jobs. I mean, its Free and Open Source software, if you don't like it, fork it and take it a different direction, don't complain to the people working on a project that their going a direction you don't like, its their project. Make your own, if you can't, perfect learning opportunity! This is my learning journey, written mostly so I could dig up fun screenshots from old distros.

Unlike a lot of current 'famous' people in the Linux world, at least on the surface, I have been on the Linux desktop for more than 10 years (stated here in 2021). The myriad of bald tiling window manager enthusiasts have been around for less time, which doesn't really mean anything but is just interesting at least. Though though a lot of my time I was not actively learning/experimenting with the OS in the ways these people were and was more stumbling upon these same ideas by accident by sheer amount of time. It's interesting now running into issues where strange now unknown to newer powerusers parameters are obvious to me, but the over-arching actual issue is above me. That being said, the last few years I have made strides to close that gap.

"Okay that is all good and boring" you're now thinking, "so where did it all begin?", we shall now go down the history path accompanied with some fun screenshots which will bring back fonder times for the veterens out there.

The Beginning

So being a young whipper snapper living in a house running around eating dirt, when we got one of those off white squeeky computer towers with a CRT monitor it was obviously instantly interesting. I would open each program in the Windows 95 start menu and inspect every setting and by proxy, would essentially make it useless for my parents, who were not expecting every single thing to be moved the next time they opened their word processor or whatever. When we got internet it was connected by a phone line that ran across the living room in the perfect spot to trip over it and unplug it right at a crucial point of my mum submitting her taxes or something, it was all a joy. A joy that my parents did not want me touching for fear that I would make it even more unusable with my endless tinkering

In steps the neighbour. He was some sort of technition so he had a few old machines in his basement I noticed one day, and after much deliberation and planning of what I was going to say, I asked if I could have one as they were just collecting dust and with my own, I could fiddle with whatever I wanted! The nice man that he is, I was given one. Some HP workstation that probably weighed 50 pounds with a 12gb hdd and 512mbRAM if I am not mistaken; however...... it was blank. I did not know you could have a computer without Windows95, but apparently it was possible. I bet you know where this is going.

I asked the person who gave me the computer about this, and I was handed a Mandriva Linux installation CD which I think was a deprecated version that he used at work and therefore was no longer using. I don't know the version now, though it was probably around 2004 or 2005. This was a hassel to get going. I know there were hardware issues, software issues, and then every time a software issue was fixed, there would be a whole rigamarole of redoing the previous fixes. Classic Linux in the early 2000s honestly, but I was having a blast!

Once this was working smoothly I knew a whole lot about the whole interworkings of the OS, and knew now that all of that stuff was also things to learn and fiddle with, not just what appears in a menu in the bottom left of the screen. This really is why fundamentally I have been on Linux ever since. Back to the storythough, I now went through all of the programs that came installed on this and did the same fiddling. This computer had no internet connection, so I would have to go upstairs and use my parents computer to look up how to make changes or what was even possible on Linux and then go do all of that offline on my machine, or use my dad's work USB flash 256mb flash drive to transfer binaries I would download off of index pages from websites. Through this I got a really good grasp of what depended on what, as I had to manually make lists of dependencies and make sure I found them all during my limited time on my parents computer.

This was all fine and dandy until I realised there is more to Linux life than gui application settings, there is the enviornment that these applications are running in. About this time I also ran into some of those classic 2006 videos of screen recordings of peoples' desktops with punk rock music playing where they showed off the most useless and utmost badass Compiz effects. Everything from the flaming burn up of windows when minimized, the desktop cube filled with gears in space spinning between workspaces, the wobbling windows, and the fold up paper airplane animation when closing things. This was life changing, there is NOTHING cooler than that, and if I could run Gnome2.12 with just a full suite of complete Compiz I would drop all my current configurations down the garbage disposal. This also though, brought a whole new list of things to learn and explore

Compiz Fusion and Ubuntu

I have never been so excited in my life. I was going to have seemingly billions of things to play with, all awesome, and my computer would have the most style points, as far as I could tell, as any computer in the world ever had up until that point. Being this was far before YouTube Linux tutorials from the bald customisation nation or anyone else, this was a far more tricky endeavour than getting Gimp to work with my old computer. Remember, this was the "I updated LibreOffice and my internet card stopped working so now I have to edit /etc/f... and kernal panic" times so doing anything with graphics on my old computer was really a more indepth undertaking that I was probably expecting/ready for.

While working with getting graphics drivers to work as Compiz would straight up not install due to hardware limitations, I came across Ubuntu, the "just works, works everywhere, be all end all Linux for the desktop". Wow, this is me! I thought, so I got my hands on a Ubuntu 8.04LTS Hardy Heron install CD and said bye to Mandriva.

This was state of the art. Gnome2 to me seemed to have tons more options than Mandriva's rendition of KDE at the time, and it had its own feel which I liked over the obviously Windows inspired setup of Mandriva. APT-GET was also more intuitive than whatever it was Mandriva was using. If someone knows what that package manager is called, I'd like to know!

Thus it began, still having to go upstairs and download binaries from 'searching 'index of' after some obscure .tar.gz.zyx.whatever dependencies and manually installing them on the Ubuntu 8.04LTS machine I had up and running. I remember the two main hurdles I had to overcome being graphics issues before anything Compiz would run or even open, and then for some reason I had it in my head I really wanted the selected application's menus to appear not in the window decoration, but on the top panel much like how it works in macOS. Neither of these were small feats

There was a highschooler who lived across the road from us who was interested and very knowledgable on how to patch these things together, and he would come over with his Compaq laptop which also ran must've been Ubuntu, and would help for hours as we chugged away at figuring these things out. This is coming onto the second reason why Linux is in my head as something I want to continue using. Aside from the supreme options/customization/diy nature of the whole thing, this was actually a fun learning experience for both of us and we became friends over these random Compiz tweaks we decided we were going to get working. When's the last time you heard of someone making friends and having a grand ole time trying to find where the MS Word toolbars decided to go? That's what I thought. Linux makes your boring work tool something personal and enjoyable outside of the thing itself.

After much heartache, we did have fully functioning Compiz setup! Oh boy did this impeed the usability of the machine, but by golly it was just awesome to use for school projects when everything was a huge animation. I wish I had screenshots of my personal setup, but that machine and the following is long gone.

A New machine, shift in focus

At some point, I was gifted an older laptop that had failed catestrophically from a teacher of mine who knew I was "into computers". Really what had happened was their Windows XP install was straight ruined because of some strange malware which locked anything that touched the harddrive. They used the excuse to get a not 17" laptop (this thing was a movie theater of a machine) and gave me this. I immeditly went home, wiped it, and stuck Ubuntu 8.04 and on there and was off to the races.

This machine was waaaay newer than the desktop I had been using with a CRT monitor, strange internals that were never supported, and no internet. I now had a somewhat sort of modern machine, wifi card even worked after some fiddling (classic) and I could actually use and update the software on there. This also marked the beginning of some slight distro hopping, as I did not want to spend heaps of time rebuilding the Compiz wonderland from scratch. Though it did work mainly out of the box due to the newer hardware.

As I was using this more for actual computer things not just fiddling, I remember reading up on what the "enterprise" uses and so I ended up with OpenSUSE 10.3 I believe for quite some time. This marked another change in my customization habits towards not just look and feel, but to some system stuff as well. I do not remember anything particually interesting about this distro, however I do think back on this fondly.

I was now at the point in school also where we began having actual assignments on the computer. As this became more common, I used the computer less in my free time and then my focus went to ensuing the computer was stable, always worked, my files were safe, and that the computer generally stayed out of my way. It was always interesting hearing excuses or stories like "My computer locked up and my document reverted back to like 10 renditions ago!" or the like and always thinking "lol what, my computer is on for weeks and never skips a beat"; that is, except when updates made wifi stop working of course.

Fedora and Back to Gnome

For some reason, I don't remember why exactly, I knew about Fedora and when something went strange with my OpenSUSE install and I felt it was time to switch, I moved here. I think I missed the Gnome 2 layout but Ubuntu's colorscheme of bright orange was not something I was interested in so I literally chose Fedora because of its Gnome implementation being mainly blue and I stuck with this for a long time.

During this time, the computer chugged away and while I rocked wobbling windows, I did not have as many Compiz wonders on the machine. This was also when I moved and then became highly ingrained in the professional scootering world which revolves heavily around producing videos. This was very interesting to me both from a scootering standpoint but also from a new way to use the computer standpoint as I now had a really good grasp of Linux and the computer. Moving to making videos was a new way to use the computer and learn about things before unknown.

This move towards videos and editing moved Linux to the side of the way I used computers. At this time, video editing software on Linux was... well... horrendous and colaborating on projects with people meant I moved to iMovie and then Adobe Premier and After Effects. I also took courses on special effects at this time and was then using these programs for this as well. The Linux machine stayed around, but it was used when I was not doing video work, and otherwise I was working on a Mac.

Absense in a Sense

It was at the height of the video age of my life, even thinking now about going to school for film making, that I got a 2014 or 15 MacBook Pro. This was a nice machine, and definitely was a treat to use. If I am not mistaken I was on Snow Leopard for most of the time that I was running that computer, and many a videos were completed and rendered on it. I even then got an older MacPro off Craigslist that I used for After Effects rendering when I was making short films. When not inside a video editing program, I still used the computer like Linux, interacting with it though the terminal, but aside from the essay or whatever that was made on the computer (usually in ViM lol), I really just opened it to make videos. One of my good friends, then and now, was also into videos and we did a lot of cooll projects together, but he was also a Linux, but mainly a program and workflow sort of person, and was and still is (now professionally) a Vim master. This kept the Linux thought around even during the video times.

For a few years I was out of the Linux world, but after deciding to go ahead with a different subject to study, and moving again and becoming less intertwinded with the scootering video world, I quickly found the Mac to be a bit.. well silly honestly. It only lasted about 4 or 5 months in Unviersity and I got fedup with something minor and I just wiped the MacBook and said "I'm going back to Linux".

At this point, the last reference point I had for using Linux daily was Fedora, and knowing it was meant to be up to date but stable, and liking the 6 month release cycle, I just downloaded whatever it was at that point, I think 23? And installed it. It took little bit of fiddling with wifi drivers funnily enough, which felt just like home to me, and once that was working I was back full time on Linux (this was 2015) and I have not and will not go elsewhere.

Fedora and University

Initially, I was on Gnome3 as this is what shipped with Fedora, I at least I thought I knew what Gnome looked like and how it worked, and it came by default. It looked and worked well on my Macbook but my Macbook was slowly dying from heat issues, and now my computer was a crucial part of my life, bringing it to and from everywhere and having heaps of assignments and projects to do on it. After about 8 or 9 months of this, I was put in a group with someone who had a Gen 1 Thinkpad X1 Carbon, I literally started bidding on them in class that day and bought one by the time it was over. I have fond memories of Thinkpads as my dad's work computers and of course you can't be involved in the Linux world for more than say 3 days without hearing about Thinkpads. I bought the cheapest, lowest powered one possible so I could fling it around, not worry too much about it, and it would just work, and work it did.

It was also about this time that I became more interested in more workflow sort of stuff I could do on Linux, as I was now using my laptop full time for a myriad of different tasks. I believe I came onto tiling window managers from my Vim friend mentioned earlier, though I am not sure, but for some reason I chose AwesomeWM and essentially just rolled with that. I installed it along side Gnome for if I ever let friends use my laptop, as Gnome works how people think computers work so there were no issues there. This brought back fond memories of my Compiz days and I quickly took to the /r/unixporn and other pages for inspration as well as using my previous knowledge to make the computer as effective and efficent as possible.

Here is the first actual screenshot from me! This was semi early on in my ricing career as well as learning to use more incurses applications. I was using Cmus ranger and pulsemixer along with Vim for a lot of things then Firefox and LibreOffice. I knew I wanted to write in Vim, its embaressing now even, but to make documents I would write them all up in Vim, and open them in LibreOffice just to exdport them to PDFs. Yes I know there are better ways to do this.

Though ugly, this new workflow was something I was really liking and I was enjoying the Linux experience again. This is also when I became more in tune with the Free as in Libre idea and was just really another reason to stick with Linux. I also was enjoying the stability of my machine at the time. I normally would have uptimes that matched the release cycle of Fedora and would be broken only for the version upgrades. I still used a lot of Gnome applications as well which was something that I was trying to slowly move away from as I figured out how to manually implement things like a compositor, or a network manager or a sound manager into AwesomeWM.

This progressed and got even uglier, but things like gaps and transparency became something I could do, and it really felt like trying to get Compiz working back in the day. The keyboard driven workflow is something I was also enjoying, and the 1440x900 resolution of the Thinkpad lended itself so well to tiling the windows, I still cannot go without this setup to this day. The keybindings have followed me as well through this process since getting used to them here in these early days.

Above all, the usefull part of all of this is learning slowly how everything is a file on Linux and how everything talks to everything else. I remember spending a long day on the phone with the Vim friend explaining and demonstrating how to use Git to backup my dotfiles and keep track of them as I was continaully just making copies every time I wanted to make a change that I thought would break something. Here we are again at a point where using the computer is actually fun and actually an activity to share with others. The other thing that was happening here is using old hardware and having a computer that works faster than all my developer friends coding on some Mac that slows down every 6 months. Both important take aways

From University and From Fedora

During my final year of University, there was a connection between this new knowledge and the old knowledge I had about the interworkings of Linux and was ready for a more from the ground up Linux distro. Throughout school, I got tons of "whys your computer look so wierd dood" and stuff and then the "okay cool, but can you do x?" and so I installed everything I was asked about to showcase it works the same as the computer you're used to. I also tested tons and tons of these different customizaton programs, so by the end of school, my Fedora install was rather convoluted and had more than 4000 packages installed. It was time for a reintall.

I landed on Manjaro one evening as I had a catastrophic failure of my Fedora install (self inflicked) and needed to stop procrastinating so I did not want to do a full Arch install. This is really when I started paying attention to the ground up approach and keeping the system more reproducable and understandable as there were a lot of things that were very patchwork with the Fedora install I was realizing.

My AwesomeWM config was slimmed down and was actually on github and reproducable. I stopped using a bar entirely, I removed all that baby sick color transparent windows, and began utilizing Unix utilities more and having a more all around cleaner system. This really was the culmination of my knowledge up to this point, and the computer was rock solid and it did what I wanted it to and nothing else. I worked with this for almost two years and slowly became more interested in Linux as a means of learning and playing around than the "just use this to get my job done" mentality I had over the last 5 years. This is when I began rediscovering some of the original articles and videos I was originally reading for strictly educational purposes, but now I could understand these in a more meta philosophical sort of way.

Manjaro works pretty well, and I used the OpenBox varient, just to try it, but quickly moved my AwesomeWM config over to it and this still took a bit of fiddling to get it to work. It seemed to me there should be a way for me to just "git clone yada.git" and have everything working, but in practice this seemed far too complicated to actually do with how everthing interacts.

At around the same time I was thinking this, I was also becoming more interested in the more minimal side of distros, so I was thinking of going to vanilla Arch or Void, thinking that my Vim friend from earlier was on Void as I remember hearing from him a few years ago he was using a smaller more minimal distro. I thought I'd reach out to confirm that, as I was not actually sure but he has been on NixOS for a few years.

Here we are at the end of the story essentially. NixOS is the minimal Arch install, but defined in a document you can write and perfect yourself. It's entirely reproducable anywhere, just copy the file and rebuild and it uses those instructions. I have switched to Xmonad as it seems smoother than Awesome, but have it wokring in just the perfect improved way from my Awesome config.

The fun has been put back in computing. NixOS is a really interesting platform that is also completely stable as there is no way to brick the install. There is no way to have the install slowly drift away from the original state, as what hapened on Manjaro and even more so on Fedora, as every change you change the starting point instructions and rebuild. The Linux world is definitely different, and does have a lot more cooperate in it now, but these smaller distros still seem to keep their sillyness about them like they all did in the old days.


LH

Donate:

ETH: 0xce7f5fbcc643c1a620f8176bcad4ad0679e0c537

BTC: 3Nme6AnFahGqJRWp5rGjVptL6NjpzLLgCi

XMR: 485NFguWDS7NpaqtQdcxunMcexVVyhRJ4LyMuD5FedjZaGJL29vwAh9BAdgTkWjkSKcUx43cHEQVbeK3QEV9fDRd3RYZiZr