# Best of Linux articles in 2019

The year 2019 has been good for Linux articles here on opensource.com.
Obviously the very term "Linux" is weighted: does refer to the kernel or the desktop or the ecosystem?
Looking back at some of the Linux articles this year, I intentionally take a broad view of the term, and submit to you the top 10 Linux articles (for some definition of "top" and some definition of "Linux"), in no particular order.

[A Beginner's Guide to Linux permissions](https://opensource.com/article/19/6/understanding-linux-permissions) by correspondent Bryant Son introduces new users to the concept of file permissions with graphics and charts to illustrate each point.
It can be hard to come up with visuals for concepts that are, at their core, purely text-based, but this article is friendly for the visual learners out there.
I also like how the article stays focused.
File permissions can lead to several related topics (like ownership and access control lits and so on), but this article is dedicated to explaining one thing, and explaining it well.

[Why I made the switch from Mac to Linux](https://opensource.com/article/19/10/why-switch-mac-linux) by editor Matt Broberg is an insightful and honest look at his migration to Linux from Mac OS.
Changing platforms is always tough, and it's important to record what's behind the decision to switch.
Matt's article, I think, serves several purposes, but the two most important for me: it's an invitation for the Linux community to support him by answering questions and offering potential solutions, and it's a good data point for others who are considering Linux adoption.

[Troubleshooting slow WiFi on Linux](http://opensource.com/article/19/4/troubleshooting-wifi-linux) by David Clinton is a useful analysis of a problem everyone has on every platform - and it has tips on how to solve it. It's a good example of an incidentally-Linux tip that not only helps everyday people with everyday problems, but that shows non-Linux users how approachable troubleshooting (on any platform) actually is.

[How GNOME uses Git](https://opensource.com/article/19/10/how-gnome-uses-git) by Molly de Blanc takes a look behind the scenes, revealing how one of the paragons of open source software (the GNOME desktop) uses one of the other paragons of open source (Git) for development. It's always heartening to me to hear about an open source project that defaults to an open source solution for whatever they need done. Believe it or not, this isn't always the case, but for GNOME it's an important and welcoming part of their identity.

[Virtual filesystems in Linux: Why we need them and how they work](https://opensource.com/article/19/3/virtual-filesystems-linux) by Alison Chaiken masterfully explains what to many users is considered incomprehensible.
Understanding what a filesystem is and what it does is one thing, but *virtual* ones aren't even, by definition, real.
And yet Linux delivers them in a way that even casual users can benefit from, and Alison's article explains it in a way that we can all understand.
As a bonus, the second half of the article goes even farther and demonstrates how to use bcc scripts to monitor everything it's just taught you.

[Understanding file paths and how to use them](https://opensource.com/article/19/8/understanding-file-paths-linux) by Seth Kenlon (that's me) does what the title says.
I thought this was an important article to write because users on any platform don't seem to get taught about the concept of file paths.
It's a strange phenomenon, because now more than ever the *file path* is something people see literally on a daily basis: nearly all Internet URLs contain a file path in them, telling you exactly where within the domain you are.
I often wonder why computer education hasn't bothered starting with the Internet, the most familiar app of all, and arguably the most heavily-used supercomputer in existence, and used it to explain the appliances we all interface with each day.
(I guess it would help if those appliances were running Linux, but we're working on that.)

[Inter-process communication in Linux](https://opensource.com/article/19/4/interprocess-communication-linux-storage) by Marty Kalin delves into the developer side of Linux, explaining IPC and how to interact with it in your code.
I'm cheating by including this article, because it's actually a 3-part series, but it's the best explanation of its kind.
Very little documentation available manages to explain how Linux handles IPC, much less what IPC is, why it's important, or how to take advantage of it when programming.
It's normally a topic you work your way up to in university.
Now you can read all about it here, instead.

[Understanding system calls on Linux with strace](https://opensource.com/article/19/2/linux-backup-solutions) by Gaurav Kamathe is highly technical in ways I wish every conference talk I've ever seen about ``strace`` had been.
This is a clear and helpful demonstration of a complex but amazingly useful command, but to my surprise the command I've found myself using since learning of it in this article wasn't the titular command  but ``ltrace`` (to see which functions are called by a command).
This one's packed with information, and is one I think could be a handy reference for developers and QA testers.

[How the Linux desktop has grown](https://opensource.com/article/19/8/how-linux-desktop-grown) by Jim Hall is a visual journey through the history of the Linux desktop.
It starts with [TWM](https://github.com/freedesktop/twm) and passes by [FVWM](http://www.fvwm.org/), [GNOME](http://gnome.org), [KDE](http://kde.org), and others.
If you're new to Linux, then this is a fascinating history lesson from someone who was there (and has the screenshots to prove it).
If you've been with Linux for many years, then this will definitely bring back memories.
In the end, though, one thing is certain: anyone who can still locate screenshots from 20 years ago is a superhuman data archivist.

[Create your own video streaming server with Linux](https://opensource.com/article/19/1/basic-live-video-streaming-server) by Aaron J. Prisk breaks down more than just a few latent preconceptions most of us have about the services we take for granted.
Because services like Youtube and Twitch exist, many people assume that those are the only gateways to broadcasting video to the world.
Of course, people used to think that Windows and Mac were the only gateways into computing, and that thankfully turned out to be a gross miscalculation.
In this article, Aaron literally sets up a video streaming server and even manages to find space to talk about [OXS](https://opensource.com/life/15/12/real-time-linux-video-editing-with-obs-studio) so you can create video to stream.
Is it a fun weekend project, or the start of a new career?
You decide.

[10 moments that shaped Linux history](https://opensource.com/article/19/4/top-moments-linux-history) by Alan Formy-Duval attempts the formidable task of choosing just 10 things to highlight in the history of Linux.
It's an exercise in futility, of course, because there have been so many important moments, so I love how Alan filters it through his own experience.
For example, when was it obvious that Linux was going to last?
When Alan realised that all the systems he maintained at work were running Linux.
There's a beauty to interpreting history that way, because for each of us the momens of importance obviously differ.
There's no definitive list for Linux, or articles about Linux, or for open source.
You make your own list, and you make yourself a part of that list.