Tag: Operating systems

  • Linux Tutorial Series – 53 – Input/output redirection

    Here is the video version, if you prefer it:

    Because the computer deals with rather abstract notions of input and output streams (where the streams can be the keyboard (for input), a file (for both input and output), a computer screen (for output)), you can actually redirect the output of some of the commands you run.

    Say you run cat on a file and the file is large. Your Terminal window will get very messy with the cat output. Instead, you can redirect the cat’s output like so:

    cat largeFile > output.txt

    Voila. Now you can look at the cat output at your convenience, as it is stored in output.txt.

    I will now cover some stuff in regard to input and output redirection. Let’s dive in:

    • cat largeFile > output.txt would override a file named output.txt if it already existed. (Shotts, 2019)⁠ To append to a file that exists (and not override it), use cat largeFile >> output.txt. By the way, appending means adding at the end of an existing file.
    • To redirect standard error in the same file as the standard output (standard error and standard output are separated by default), use the &>, like so: cat largeFile &> output.txt; to append, use &>>
    • You can just redirect standard error somewhere using 2>, as in cat largeFile 2> errors.txt, but I have pretty much never used this.
    • To make a command read input from a file (and not from a keyboard), you use <; this doesn’t make much sense with cat, but it does with some other commands. Just remember that it is possible to redirect standard input as well.

    By the way, if you are wondering why is redirecting standard error equal to writing 2>, that’s because standard input, standard output and standard error have numbers associated with them; for standard error it is 2.

    And there you have it. To be completely honest with you, I haven’t used input/output redirection much on the command line, other than logging the output of some program to a file. I have used pipelines much more and you will learn about it in some other post.

    Signing off till then, hope you learned something useful!

    References

    Shotts, W. (2019). The Linux Command Line, Fifth Internet Edition. Retrieved from http://linuxcommand.org/tlcl.php. Pages 79-83

  • Linux Tutorial Series – 52 – Standard input and output streams

    Here is the video version, if you prefer it:

    We are going to go a bit conceptual. We are going to talk about so-called input and output streams.

    See, a computer program is pretty much indifferent to where it gets its data from (input) and where it displays the data it has calculated (output). The input can be either the keyboard, a file on your computer, some sensor, a sample of your voice, some other thing I haven’t thought of – it doesn’t matter; the computer program gets some input in whatever way, does something with it, and then outputs it. Outputs it where? On the computer screen, by default. But it can also write to a file, send the output over the computer network, or something else – there’s a lot of options.

    So remember – input and output streams, plainly said, are an abstract term used to answer the questions “Where does my computer program get data from?” and “Where does my computer program output the thing it computed?” This is going to be important when learning about some Linux things.

    There is also the standard error stream – if something goes wrong, it is passed to the standard error stream. (Ward, 2014)⁠

    Hope you learned something useful!

    References

    Ward, B. (2014). How Linux Works: What Every Superuser Should Know (2nd ed.). No Starch Press. Pages 13-14

  • Linux Tutorial Series – 51 – Checkpoint

    Here is the video version, if you prefer it:

    Next up we have command pipelines, input/output redirection and regular expressions.

    All of these are used quite frequently and are thus important to understand. A note on regular expressions: regular expressions might not seem very useful at the time, but if you invest the time to learn them it will pay off, as you can’t resolve regular expression mistakes using Google as easily as some other types of mistakes. The same holds for when you will be learning about input/output redirection and pipelines. You will have to use them at some point and if you don’t know how, it will be to your detriment.

    So grit your teeth, read the words of Linux wisdom and go forth!

  • Linux Tutorial Series – 50 – Recap

    Here is the video version, if you prefer it:

    Here are all of the commands we have learned: 

    • The general command format is: command -options arguments
    • Commands are case sensitive
    • cd directory to change the directory you are located in (current directory)
    • pwd to print the absolute path to the directory you are in
    • man command gives you the man pages of the command
    • Options can be both short (-) and long (--)
    • Use -h or --help to see a quick description of command usage
    • ls command lists directory contents
    • cp src dest copies from source (src) to destination (dest)
    • mv old new renames file with filename old to filename new
    • rm item is used to delete the item; rm -r folder to delete the folder
    • touch filename to create a new file with name filename
    • mkdir dirname to create a new directory with name dirname
    • rmdir dirname to remove a directory with the name dirname (the directory has to be empty)
    • echo message to print out the message
    • cat filename to print out the contents of the filename
    • less filename to page through the contents of the filename
    • head and tail for viewing only the first or the last portion of a file
    • sudo command to execute the command as the superuser
    • su to switch user (without an argument switches to the superuser)
    • grep pattern file for pattern matching in files
    • wc file to count the number of words (and other stuff) in a file – haven’t used it as much

    Hope this refreshed your memory!

  • Linux Tutorial Series – 49 – The wc command

    Here is the video version, if you prefer it:

    The wc command is used to display the number of lines, words and bytes contained in files. (Shotts, 2019)⁠ It is used as follows:

    wc fileName

    It outputs three numbers – the first number is the number of lines in a file, the second number is the number of words contained in a file and a third number is the number of bytes contained in a file.

    An example:

    mislav@mislavovo-racunalo:~$ cat file.txt

    Some line

    Some other line

    mislav@mislavovo-racunalo:~$ wc file.txt

    2 5 26 file.txt

    I have personally never used this command (never had the need).

    Hope you learned something useful today!

    References

    Shotts, W. (2019). The Linux Command Line, Fifth Internet Edition. Retrieved from http://linuxcommand.org/tlcl.php. Page 87

  • Linux Tutorial Series – 48 – The grep command

    Here is the video version, if you prefer it:

    The grep command is used to find text patterns within files. (Ward, 2014)⁠ Its usage is as follows:

    grep pattern filename

    grep outputs the lines which match the pattern. What is the pattern? The pattern is anything you want to match. You can use regular expressions here, but we are going to talk about that later. pattern, for our purposes right now, is a word or multiple words you want to find in a file. Say I had this file:

    mislav@mislavovo-racunalo:~$ cat file.txt

    Some line

    Some other line

    Here is what happens when I want to print out every line which contains the word (pattern) line:

    mislav@mislavovo-racunalo:~$ grep line file.txt

    Some line

    Some other line

    Here is the result if I want to print every line which contains the pattern other:

    mislav@mislavovo-racunalo:~$ grep other file.txt

    Some other line

    If I wanted my pattern to be composed of multiple words, I would have to put them under single quotations, like this:

    mislav@mislavovo-racunalo:~$ grep ‘other line’ file.txt

    Some other line

    If I wouldn’t I’d get an error. But you do know how to use Google for errors, do you?

    Useful options are -i for case insensitive matches (no difference between capital letters and “small” letters) and -v for inverting matches (printing every line that does not contain a match).

    Hope you found this helpful!

    References

    Ward, B. (2014). How Linux Works: What Every Superuser Should Know (2nd ed.). No Starch Press. Pages 18-19

  • Linux Tutorial Series – 47 – The su command

    Here is the video version, if you prefer it:

    The su command is used to start a shell as another user (most often the superuser). (Shotts, 2019)⁠ If you want to use it, this is what you’d write:

    su [-[l]] [user]

    This is some new notation? What does this mean? Everything enclosed in square braces is optional, meaning you can execute the command without writing any of it. (Barrett, 2016)⁠ Couple of examples of valid commands:

    su

    su -

    su -l

    su -l mislav

    su - mislav

    su mislav

    All are valid. If you don’t specify the user it is assumed you want to start the shell as the superuser. The -l option means you want to change to that user’s home directory. To enter the previous shell, type exit.

    The -c option is used to execute a command as another user like so:

    su -c 'command'

    but I have never used it. In general, I have never found myself using the su command – whenever I want to do something as the superuser, I use sudo.

    A caveat: If you switch to the superuser, your prompt will change from $ to #, like so:

    mislav@mislavovo-racunalo:~$ su

    Password:

    root@mislavovo-racunalo:/home/mislav#

    Hope you found this useful!

    References

    Barrett, D. J. (2016). Linux pocket guide (3rd ed.). O’Reilly Media. Pages 171-172

    Shotts, W. (2019). The Linux Command Line, Fifth Internet Edition. Retrieved from http://linuxcommand.org/tlcl.php. Pages 126-127

  • Linux Tutorial Series – 46 – The sudo command

    To refresh your memory, let me remind you that in Linux there are two kinds of users – regular users and superusers.

    What is the difference? The superuser is able to do more than the regular user, basically. If you attempt to do some things as a regular user, which you don’t have permissions for, you will not be allowed to do that. Permissions are a topic for a different post, but you can think of the difference between the regular user and the superuser as follows – both regular users and superusers are in a club. Superuser is in the VIP section and regular users are in the “normal” section. Superusers can walk from VIP to the “normal” section and reverse, but regular users can’t get to VIP, because bouncers would ask them for the “special bracelet” and they wouldn’t have it, so they would not be allowed in the VIP section.

    The sudo command allows regular users to execute commands which require superuser permissions. More technically, the sudo command allows you to execute commands as some other user, but in most cases that user is the superuser. (Shotts, 2019)⁠ The syntax is as follows:

    sudo someCommand

    Basically, you prefix whatever you want to run with sudo. Then you will be prompted for your password and once you enter it, voila – you have executed the command as the superuser.

    Why isn’t everyone the superuser? Fair question. There are two answers which make sense:

    • If multiple people are using the computer, then one person (the most responsible person) should be the superuser (the administrator) and others should just be regular users in order not to mess something up
    • Ever heard that Linux is pretty secure (as in, not a lot of viruses)? Well, that is because of the separation of superusers and regular users. Even if you download a certain malware (malware is a malicious program that tries to do harm to your computer), if you are a regular user, the malware won’t be able to execute all of the commands and access all files on your computer and therefore the damage will not be as devastating as if you were the superuser. Think of it like this – if a fight breaks out in our imaginary club (call it “The Penguin’s Hideout”), if it breaks out on the “normal” section there will be some damage, but not much. However, if there is a fight in the VIP section, oh boy! All of those expensive bottles of champagne and the crystal vases and the wonderful decoration are destroyed. Same as what happens in the computer.

    Hope you found this useful!

    References

    Shotts, W. (2019). The Linux Command Line, Fifth Internet Edition. Retrieved from http://linuxcommand.org/tlcl.php. Pages 127-128

  • Linux Tutorial Series – 45 – head and tail commands

    Here is the video version, if you prefer it:

    The head command is used to display the first 10 lines of a file. The tail command is used to display the last 10 lines of the file. (Barrett, 2016)

    Both of the commands have an option -n which control how many lines you want to output. By default it is 10, but you could write

    head -n 12

    and head would output 12 lines at the beginning of the file.

    A really cool thing about tail is that it has the -f option, which enables you to watch a file actively; you get new lines which are written to a file displayed. Why is this useful? Well, if you are watching some system file (a file which contains information about devices connected to your computer, for example), you could find out some information about the newly connected device.

    Hope you learned something new!

    References

    Barrett, D. J. (2016). Linux pocket guide (3rd ed.). O’Reilly Media. Pages 60-61

  • Linux Stories #2 – Interview with Chris McGimpsey-Jones

    In this podcast episode, I bring you the interview with Chris McGimpsey-Jones. He is one of the occasional writers for OSTechNix, among other things. You can listen to this interview both on SoundCloud and YouTube and below that there’s the written version, since Chris and I didn’t have the chance to record the podcast. The audio and video version is me reading out the interview. You can find the links mentioned in the podcast at the end of the written interview.

    Enjoy!

    A clarification: From 28:42 to 30:37 I talk about how I sometimes wish I was back on Windows for some things (particularly software installation). To elaborate: While on Linux it is really easy to install most software, when you get dependency issues is when you get into trouble. Also, for some software, you have to touch the command line. On Windows, even if you have some issues, it is usually very simple to resolve and it very rarely involves anything more than following instructions on the installation wizard. I know that Linux has made massive leaps forward in being usable from the graphical user interface (and I can imagine how hard software engineers have been working on it), but on some occasions you do have to touch the command line and that’s where I think the entire thing breaks for someone who is just using Linux instead of Windows. If Linux could reach the ease of use of Windows, I think that’s the tipping point where most people will start using Linux much more. It is close to this point, but some things need to be ironed out a bit more. With that being said, it still doesn’t cease to amaze me how easy-to-use and robust Linux is, given that it’s free. I appreciate all the efforts made by Linux developers and am immensely grateful for their contributions.

    This is how Chris looks like.

    Soundcloud:

    https://soundcloud.com/mislav-juri-993274625/linux-stories-2-interview-with-chris-mcgimpsey-jones

    YouTube:

    Written version:

    My question: Introduction (introduce yourself)

    Chris’s answer: First of all, thank you very much Mislav for inviting me to be on the program. I am a Linux technologist and writer, and I work out of my office here on the Gold Coast in Australia. Many will know me as the Co-Founder of Freedom Publishers Union but I’m actually involved in many different projects and I write about a lot of different stuff – Linux, free and open source software, freedom of information, digital rights, privacy and even politics. And I’m also a public advocate for Creative Commons and the Tor Project.

    My question: Your career so far (what have you worked on)

    Chris’s answer: My semi-professional career with Linux started sometime in the years leading up to 2010. I can’t remember exactly what year it was but I was writing about Linux gaming for some independent website. It was only a very casual role and the website operations eventually fell apart anyway during my brief tenure. I think the owner had just lost interest or something, I have no idea. Anyway, after that brief introduction to the world of technical writing I started my own technology blog which was operated from home and accessible on some random subdomain. I was just writing about general computer and technology news. It was basic and nothing I was taking very serious at the time. But I did begin to take a particular interest in Linux related news. After I decided to ditch my own independent website, which admittedly was extremely amateur, I met some people online who were generous enough to provide me with the opportunity to write for their website. So I started working as a technical writer for Unixmen.com. I got on very well with my colleagues and I eventually took over the publishing operations as Chief Editor. I continued in the role as Chief Editor for a couple of years before the website operations kind of imploded. To be frank with you, I don’t really know what went wrong behind the scenes for everything to implode the way it did. It was all really out of my control. I eventually left anyway, but then something really interesting happened. Most of the staff that were also working for Unixmen also decided to leave. Some left immediately and some continued for a little while longer, but eventually we all left. I really don’t know whatever happened to the site, the domain navigates to the old website but it hasn’t been updated for years. But anyway, some of the staff joined me in a new project I was working on, which would soon become Freedom Publishers Union. Some of the staff assisted me where they could, but a few new projects also spawned. Now, there’s two websites – OSTechNix and OSRadar – they are operated independently of each other, as his Freedom Publishers Union. But OSTechNix is actually a Co-Owner of Freedom Publishers Union. So, despite the independent nature of business of all these operations, we all still co-operate together and assist each other as Linux family. The irony of it all is the death of one Linux website actually spawned three new Linux websites. I speak specifically for Freedom Publishers Union here, but if you are to read over the broad range of topics of the articles that we now have published in our archive, you’d have no idea that Freedom Publishers Union was actually originally a fork from a Linux website. Freedom Publishers Union was not actually the original name, rather a name that was adopted shortly after the original project was established. So, as I said, we now publish articles on a range of different topics, across multiple mastheads in several different countries across the world. Still, I feel we’ve never forgotten or abandoned our heritage of being a simple Linux news and reviews website. We do still publish Linux related content, but it’s all just handled very different nowadays. Freedom Publishers Union was officially founded in 2013. Personally, I can’t believe how quick time has gone and can’t believe how many changes of operations and structure we’ve had in such a short amount of time. It’s quite ridiculous, really. For 5 or more years we were online and publicly accessible. For a long time we had been operating at a huge financial loss before we needed to find a new way of staying in the publishing business, but without the requirement of continuing to pour cash into the project. We’ve always had a strict no advertising policy in effect from day 1, so we had no real way to generate any operating income through introducing advertising. Anyway, the result has been the subscription based model we operate today. We publish through a digital distribution platform called LinkNet. We kind of resemble an underground newsletter which paid subscribers are provided access. I mean, sure, this limits our exposure to a select few who are generous enough to pay for a subscription to LinkNet, but it suits our operations and keeps us publishing, which we intend to keep doing for many more years. We are not done yet. To be honest I’m actually really happy with the reduced public exposure we now have. Operating somewhat underground and at a much reduced pace is really satisfying and allows us to concentrate on getting our content and articles close to perfection. As I mentioned, we only publish a small amount of Linux related articles now, under the masthead of Tecseek Technology. For quite a while we were forced to halt publishing through that specific masthead while we restructured. But now that we have a new publishing model which we are happy with and seems to be working well, we are now planning to increase the rate of publishing through the Tecseek Technology masthead. My colleagues at OSTechNix and OSRadar publish frequently. I contribute to them where I can and vice versa, but I really need to commend the effort of my colleagues who continue to put in many hours of tireless hard work to benefit the entire Linux and open source software communities.

    My comment: I heard of OSTechNix before and have used it a few times for a tutorial on how to set up a specific thing on Linux.

    My question: How did you get started with Linux?

    Chris’s answer: I started playing around with Linux in 2003, with SUSE Linux 8.0. It was a time when computer and technology news websites were still maturing into mainstream platforms you see today. So computer magazines were still popular and had loyal readership because they were genuinely a beautiful thing to hold. Some of those monthly additions were as thick as a novel. Anyway, during this time you’ll probably remember software was also being shipped on CD-ROMs which were provided free on the front covers of the magazines. One issue of APC magazine I purchased from the newsagent came with a copy of SUSE Linux 8.0. I specifically remember the version. At the time, Windows XP was really maturing and most people were starting to take it serious as the version of Windows to have. History tells the story of just how popular Windows XP would become. But when I booted SUSE Linux I was so impressed by what I saw. But what particularly impressed me was the fact that I now understood that there was actually a viable alternative to Windows. Typically, when you use Windows as your operating system you get comfortable and forget there are alternatives available. In 2003 I was still in the process of understanding that Windows alternatives were actually usable but you had to be willing to make certain sacrifices in productivity because Linux for the desktop was still evolving at that point. To see how usable and user-friendly it has become now is really encouraging from a developer’s perspective.

    My question: How did your Linux understanding evolve over the years?

    Chris’s answer: So, as I mentioned, I got my first feel for Linux in 2003, but to be honest I didn’t really adopt it as my full-time operating system until Ubuntu 5.10 arrived, or Breezy Badger, as its code name was. I was using Linux pretty sparingly before then, so I usually always relied on Windows for day-to-day tasks. I can’t remember how exactly I came to know of Ubuntu, but I bought a copy of Ubuntu 5.10 off eBay for like 5 bucks or something, and it really did change absolutely everything for me. It blew me away and it clearly demonstrated to me that Linux was ready for the consumer desktop and had broken down the walls of being limited to servers. I kind of have a soft spot for Ubuntu 5.10 and when asked what my favourite version of Linux is I always say Ubuntu 5.10. Fedora Core 5 also impressed me equally. That was a great release. Thinking about it, Ubuntu 5.10 was actually the last 32-bit Linux operating system I would use. From Ubuntu 6.04 onwards I switched to 64-bit. Since then, like most Linux users I guess, I have distro hopped back and forth for work reasons and personal reasons. I had a good run with openSUSE for a while but when they transitioned the KDE desktop from version 3 base to the Plasma 4 base I got kind of annoyed. I always felt the version 3 base was a really good environment and have always remained a little frustrated, I guess you could say, about the switch to the Plasma 4 base. After that I switched to Fedora and had a good run with that too. The truth is, compared to early days of Linux on the desktop we are now spoiled for choice. There is not one, two or three good distributions available, there’s just so many. Now, many of them are derivatives but they are so mature in development that I think they are worthy of independent recognition. Yes, it is true Ubuntu is a derivative of Debian, and this fact often goes unrecognized. But Ubuntu is so much its own distribution now that it does deserve independent recognition. And I think it gets it. Linux Mint and Manjaro Linux are also a couple of additional projects that should be recognized for the individual identity they’ve established. Dig around, there’s so much choice now. Some argue it is too much choice, but I’m not convinced you can have too much choice. It is the beauty of open-source software. You need to allow for it to be forked, modified and shared organically without limits or boundaries. I find it difficult to backtrack where exactly I fell in love with coding. I think it goes back to my childhood when the family had a Commodore 64. I mean, who didn’t love writing programs in BASIC on a Commodore. It was good times. In high school my love of source code grew stronger when we studied programming and were using QBasic. From then until now it has just been a passion that continues to grow stronger. I’ve played around with many programming languages but seem to have built myself a comfort zone by settling in with a simplistic set of languages. HTML of course, Bash, Python and Perl. Occasionally I will break out C or C++ but it has become more rare these days as I settle down and find I can get most things churned out by coding scripts. Scripts are great and they are so much fun to work with. One of the most interesting programming languages I wrote a program it once was Haskell. That was a while ago now, but it turned out to function very well and I enjoyed coding in Haskell. Typically, Linux users are asked do they prefer Emacs or Vim. To be honest, I don’t really favour either. I now code in nano. I have it set up just the way I like to work using a custom configuration. So like I said before, my work these days has been much more simplified. Much like my habits of using my computers in console mode on Debian. I no longer even have a graphical desktop environment. It’s too distracting for what I do.

    My comment: While working without a graphical desktop environment is too extreme for me personally, I do think that knowing the basics of the Linux operating system and the Linux command line will carry you a long way. And that’s what my Linux Tutorial Series is for.

    My question: What is your favorite Linux-related topic?

    Chris’s answer: That’s a great question and I’d have to say I really enjoy testing and writing reviews on the many great Linux graphical desktop environments. I completely understand that might sound confusing since I clearly just said that I only use a console, but the fact that I don’t use a desktop environment also adds to the fun of testing them out. It is always really interesting to have a really good poke around in an environment that you’re not entirely familiar with, especially when you don’t use it on a daily basis. I think that the current state of a desktop environment is also a good indicator of the current development health of desktop Linux. By that, I mean, I understand I have the advanced knowledge to operate a Linux computer by console and not rely on a graphical desktop environment. But I also accept that not everyone has the same level of knowledge or workload that can be applied to such a minimal environment. I get that and I respect that. So it has to be accepted that for a Linux distribution to attract a user base, it’s got to have an easy to use, functioning graphical desktop environment. So yeah, for someone in my position, it is always fun to see what tricks distribution developers are implementing to attract a user base and to effectively compete with what is actually a really saturated market. If you want to call it a market.

    My question: Do you prefer Linux over other operating systems and if yes, why?

    Chris’s answer: That’s easy, yes. Absolutely. I love Linux. I love it so much my own son is named Linus, after Torvalds himself. True story. Seriously though, I just think Linux sticks to the very purpose of why we have computers in the first place, to get stuff done. That’s a pretty vague answer, I know. But let me put it this way, when I sit down at the computer I want it to respond to my commands. I mean the whole reason I am sitting there in the first place is to get a task done. Linux allows me to do just that. There’s of course options to get Linux to do more, or less, than you want it to do, but at the very core of it all it will only do as much as you want it to. With Windows, it’s the complete opposite. First, I want to make it clear I do not hate Microsoft, at all. But I do believe Microsoft have lost the vision for Windows and what it should be. The problem is, it tries to be everything and do everything and this is just taking the power away from the user by automating too much. I think you’ll agree that it’s just made it bloated, slow and it’s generally just cumbersome to deal with. When I have to sit in front of the computer and I see it running Windows I literally sigh out loud because I know I’m going to spend more time waiting for Windows to perform all the tasks it so unnecessarily does instead of just doing what I want it to do. This has been a progressive problem for Windows. Think back to Windows 3.1 and even Windows 2000. They were brilliant for exactly the type of computing I talk about and for how I personally use a computer. The point Windows 10 has reached has come from commercial pressures where developers are continually forced to develop a product, and not a service, which has to impress by adding new features, encouraging upgrades and impressing stockholders. You know how it works. Linux based operating systems are all free and don’t suffer from these same commercial pressures. This has been really good for the Linux ecosystem because it’s had the positive side effect of holding Linux distributions back from adopting the same commercial temptations. What we see is Linux development focusing on the user instead, which is exactly how it should be. Unfortunately Windows just does not do that.

    My comment: I disagree with some of the opinions Chris has here. Although I have been using Linux for about 3 years now, I sometimes wish some things were easier on Linux. One example is installing certain software. While on Linux it is really easy to install most software, when you get dependency issues is when you get into trouble. Also, for some software, you have to touch the command line. On Windows, even if you have some issues, it is usually very simple to resolve and it very rarely involves anything more than following instructions on the installation wizard. I know that Linux has made massive leaps forward in being usable from the graphical user interface (and I can imagine how hard software engineers have been working on it), but on some occasions you do have to touch the command line and that’s where I think the entire thing breaks for someone who is just using Linux instead of Windows. If Linux could reach the ease of use of Windows, I think that’s the tipping point where most people will start using Linux much more. It is close to this point, but some things need to be ironed out a bit more. With that being said, it still doesn’t cease to amaze me how easy-to-use and robust Linux is, given that it’s free. I appreciate all the efforts made by Linux developers and am immensely grateful for their contributions.

    My question: Do you think that people who use computers professionally (computer scientists, software developers) should know how to use Linux?

    Chris’s answer: Yes I do. However, it’s difficult to apply uniformly across any entire industry. As to expect everyone to know how to use Linux we need to go right back and take a look at what precise computer skills are taught in our high schools. I’ve spoke about this problem on many occasions. When I was at high school, sure we learned some QBasic programming and some other cool stuff, but the curriculum never moved off the Windows platform. Unix was available at that time, but it was not even spoke about. These days, Linux fills the role of Unix and there’s no reason it shouldn’t be included into the curriculum. To really start placing the expectation on any specific industry that they should learn how to use Linux, it really does unlock a huge series of problems which needs fixing first, I think, before we start that conversation. We need to reform education curriculum so that kids not only learn about Linux and how to use it, but we also need to shift away from the work requirements that are central to the Microsoft Windows and Office platform. By this, I mean, we still see some schools requiring work to be performed on Windows based computers and submitted in proprietary Microsoft Office formats. I have no problem with the nature of proprietary formats, that’s not really at the core of the problem I’m getting at here. It’s the stupid decisions that get made by those higher up at that don’t really think too broadly enough about this stuff. It’s ridiculous. Linux is perfectly capable of doing the same job equal to or better than anything on Windows. The computer education curriculums are developed on outdated ideology. It needs to change. So until we get off this constant reliance on Microsoft Windows and Office in our education sectors, I can’t see us getting any closer to having entire industries requiring knowledge of Linux. I sometimes feel like we’ve been having the same conversation for two decades or longer, yet here we are, we haven’t been able to move forward. Consumer adoption of Linux has grown at incredible rates and I am really happy with that but industry adoption still seems to be lagging. I really would like to see that change very soon.

    My question: Can penetration testers (hackers) can benefit from learning Linux?

    Chris’s answer: Oh absolutely. You know, the term “hacker” is referenced in some strange ways. There is still just way too many people that believe inaccurately that anyone who calls themselves a hacker is up to no good or involved in something illegal. When I think of a hacker, I think of the mid to late 70s and into the 80s when hacking cultures were really what seeded the development of much of the technology we use today. Nostalgic nerds like Steve Wozniak. They were real hackers in the true form of the term. They often self-built hardware, coded and compiled their software by hand and in other cases modified the code of existing software to adapt it to their own hacked hardware. All these activities were hacking. Was it illegal? No. Was it evil? No. Nobody got hurt. Where exactly in computer history the term hacking became so referenced with such evil activities, I really don’t know the answer to that. But back to your original question, I think learning Linux could be determined to be a necessity for penetration testers. Penetration testing will almost always present the hacker, or tester, with hardware and platforms which are not limited to a single operating system platform or architecture. In this area, the broader your skill set is the more you will excel at the task and increase the chances of getting positive. This one is a no-brainer.

    My question: Do you think everyone can benefit from learning Linux?

    Chris’s answer: I can’t possibly see how anyone could argue to the contrary. I mean, I spoke about this before when I mentioned reforming school curriculums to adopt the inclusion of Linux. There is multiple angles to assess. You see, if more businesses start rolling out Linux based computers in the office without staff knowing how to use Linux, you are going to have some seriously stressed staff and a nightmare scenario for tech support. Yet, if you are rolling out Windows based computers, you are pretty much guaranteed the staff already have a pretty good understanding about what they’re doing because Windows is literally everywhere. So yeah, for sure, if everyone had the same understanding of Linux as they do with Windows then I believe it would open the door wider for much better opportunities to implement Linux into the business sector.

    My question: What are your thoughts on digital rights, privacy and copyright?

    Chris’s answer: Digital rights is a core pillar of what we do at Freedom Publishers Union. Digital rights and privacy need serious reform, there is no doubt about that. It’s an incredibly outdated area of legislation. The legislative instruments that govern digital rights and privacy are terribly outdated and were drafted at a time which is just so irrelevant to now. The amount of new privacy-eroding legislation that has been introduced since the terror attacks of September 11 in 2001 is just mind boggling. And as each of these pieces of legislation has been introduced, they’ve gradually been eating away at the effectiveness of privacy laws which have gone abandoned and not been amended to keep up with laws that erode privacy. Things don’t look any brighter with copyright. Where privacy laws could still be fixed by serious amendments, I think copyright specifically, is so outdated that we need to consider dropping the current laws altogether. Not to create a free for all creative environment, but instead we need to redraft new laws that can be developed around the way digital media is consumed now. Applying ineffective amendments to old copyright legislation has proven fruitless. We’ve tried that before and it simply hasn’t worked. Let’s try something fresh which could genuinely benefit creators and consumers while also including fair use provisions. I think the latter is important because let’s be honest here, many of the copyright legal cases that have been put forth by production companies have been targeting individuals that have posed absolutely no genuine threat to the financial futures of these companies. They’ve been David versus Goliath battles. Bullying, really. Yet the legal attacks continue without restraint, for what I feel is simply to set an example of the dominance of production companies. Inclusion of fair use provisions in copyright law could stop all that by providing a certain amount of protection for the little guy. Digital rights is an area I am very active in with my political work.

    My question: Parting thoughts?

    Chris’s answer: Stop being complacent. The world isn’t perfect and there is so many problems that could be addressed, but it starts with people just standing up and bringing attention to the problems. I was much too complacent at a young age. I’m making up for it now, but if something is genuinely bothering you and you think there’s another way it should be done, a better way, then what are you waiting for? If you don’t like proprietary software, advocate for and switch to Linux. If you don’t like commercial media, support independent media. Or if you feel you have more to say on an issue but can’t cut through the social media hashtag rhetoric, then start your own website and start writing. There is so many ways to get your message across now. Take advantage of these exciting times. The world doesn’t have to be a dark place if you choose to be the one to switch the light on.

    Thank you again for this opportunity Mislav. I’ve had fun. Peace out y’all.

    Links to things mentioned in this podcast episode:

    Timestamps:

    • 00:00 – 02:11 – Introduction
    • 02:11 – 10:14 – What has Chirs’s career looked like so far?
    • 10:14 – 14:35 – How did Chris get started with Linux?
    • 14:35 – 23:49 – How did Chris’s Linux understanding evolve over the years?
    • 23:49 – 25:41 – What is Chris’s favorite Linux-related topic?
    • 25:41 – 30:43 – Does Chris prefer Linux over other operating systems? (+ clarification on my comment in the description)
    • 30:43 – 33:44 – Should people who use computers professionaly know how to use Linux?
    • 33:44 – 35:58 – Can penetration testers benefit from learning Linux?
    • 35:58 – 37:04 – Can everyone benefit from learning Linux?
    • 37:04 – 40:23 – What are Chris’s thoughts on digital rights, privacy and copyright?
    • 40:23 – 43:01 – Parting thoughts