Showing posts with label KDE. Show all posts
Showing posts with label KDE. Show all posts

Tuesday, April 13, 2021

How to get started with the Linux terminal

The terminal may seem scary for new Linux users. However, it's one of the tools that has the biggest potential on your Linux journey. Learn why
The Linux terminal on Ubuntu

On a previous post we discussed the benefits of using the Linux terminal. Today, let's review how to get started with Bash, the most common shell in GNU/Linux operating systems.

The history of Bash

But before we get hands-on, let's learn more a little about Bash. Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell (which is located in your system under /usr/bin/sh and is still widely used, especially in containers).

First released in 1989, it has been used as the default login shell for most Linux distributions including the most popular distributions such as UbuntuFedora, Arch, Debian and even on the Raspberry Pi.

But bash is way beyond a simple place to enter commands. It's a powerful command processor where commands can be entered. Bash can also read and execute commands from a file, called a shell script. Like other shells, it supports filename globbing (wildcard matching), piping, command substitution, variables, and control structures for condition-testing and loops.

To finish our introduction, the name Bash is an acronym for Bourne Again Shell, a pun on the name of the Bourne shell that it replaces (and extends).

Why learn Bash

Due to its popularity, power and ubiquity, we strongly recommend that you learn it if you want to be comfortable in Linux and computers in general. Many skills you'll learn in your bash/OSS-journey will definitely carry over to Macs, Windows and well into your professional life.

Bash on Windows

Today, Bash can also be found on Windows via the Windows Subsystem for Linux (WSL for short). We will review how to get started on WSL real soon. Keep tuned!

Starting the Terminal

To start the terminal on Ubuntu (or any GNOME-based distro), simply type terminal on the Activities tab. KDE and Xfce users should also have equivalent terminal apps in their systems.

On Ubuntu, type terminal to open your first terminal

Clicking on the terminal icon should open a new terminal for you:

Your bash terminal on Linux

You can confirm that it's running bash by running the following command:

echo $SHELL
/bin/bash

Entering Commands

Entering commands in your terminal is straightforward, just type them. For example, here are some basic ones:

  • pwd - lists the current directory
  • ls - lists the files in the current directory
  • cd - change the current folder
  • cat - prints the contents of a file
  • cp - copies a file
  • mv - moves a file
  • rm - removes a file
  • mkdir - creates a new directory
Some simple commands on the terminal
The above list may seem a lot for a new user. Don't stress, with time you'll learn these tools and soon they'll be part of your muscle memory

Manual Page

Linux also has an interesting utility called man that is used for reading the manuals (documentation) of the programs, tools and libraries available on your system. To view Bash's manual, type:

man bash

To go the extra mile, we also recommend checking this related manual page:

man bash-builtins

Follow up video

To finish, we would like to point you to an online resource that will teach you Bash better than we could. Feel free to watch it at your own pace to get familiar with it. For the record, we have absolutely no affiliation we the video below, we just want you to learn Bash and Linux 😊

Conclusion

On this article we learned a little more about the Linux terminal and Bash. Bash is a fantastic tool that any Linux user should learn. We hope it helps!

See Also

Monday, November 23, 2020

Why Linux is perfect for Governments and public institutions

Linux could be a cheaper, safer and more adequate choice for Governments, municipalities and public institutions around the world. Learn why.
Photo by Sean Pollock on Unsplash

Linux runs the cloud, the Internet and supercomputers. Turns out that due to its free price tag, open nature, interoperability with open standards, enterprise features and robust security, Linux could be a great fit for Governments, municipalities and public institutions around the world. Let's understand how.

Linux is free

One of the most important reasons to use Linux in Governments and public agencies is its price: zero. As public debt grows, it won't be long until Governments, cities and public institutions adapt to this new reality of budget reduction. Turns out that using Linux and open-source software allows to cut costs significantly.

Enterprise-grade security

Linux is way more secure than Macs and Windows. That's due to multiple factors: the open-source model, its open-collaboration model, built-in enterprise grade software, native full-disk encryption, less exposure to viruses and ransomware, security-aware architecture, enterprise-grade security modules such as SELinux and AppArmorintegrity sub-systems that can be used to detect if a file has been altered, frequent updates and encrypted data at rest.

TIP: Want to know more about these features? Read why use Linux.

Security Certifications

Enterprise Linux has all the clearance to pass most security requirements by public agencies including FIPS 140-2 Level 1 certification and Common Criteria EAL2. If that sounds too complicated, please consider researching what these certifications demand from the vendors.

Open-source code

Due to its open nature, researches frequently inspect, test and certify the code you'll end up using. When issues are found, they're reported and fixed as quickly as possible, tested and released to you. This constant review and curation of software guarantees that your Governments or public agencies will be getting software as secure as it can possibly be.

Less viruses, less ransomware, less threats

Despite still being subject to viruses and ransomware, the previously mentioned features combined with a significant smaller percentage threats of make Linux much safer than Windows and Macs (but not immune). And Linux also has anti-viruses if the system administrators need need too.

Linux will feel familiar

Users in public institutions fear not, Linux is will feel familiar to you regardless of your background. Most distributions these days use either GNOME and KDE, which contain applications for everything that you expect: file managers, contacts, calendars, email, communication tools, etc. For example GNOME, the standard for most distributions looks like this:
While KDE looks like this:

Huge selection of applications

Public-sector employees will still have their favorite applications available on Linux. Modern browsers  like Google Chrome, Firefox, communication software like Slack, Skype, Zoom and even Microsoft Teams are available on Linux. Need a modern development environment? Visual Studio Code also runs on Linux!

Source: Slack Downloads

Linux is reliable

Remember this? You'll probably not miss that! Using Linux will be a way more stable experience. Your system will rarely crash and the tools you'll use will make your computer way more stable than Windows or Mac equivalents.

Good for old hardware

Linux is also excellent for old hardware as it can be configured with lighter tools that utilize less resources. Most distributions (such as Fedora LXDE shown below) release alternative lightweight versions so you'll just need a simple install to get these systems optimized for lower-end hardware.

Linux is customizable

If just setting up a custom repository isn't enough, organizations can benefit from Linux's fantastic array of customization options allowing them to customize everything including:
  • Desktop Managers: for example, GNOME, KDE, XFCE, LXQT and LXDE.
  • Login Managers: how to login in your system.
  • Desktop themes: themes, colors, etc.
  • Fonts: customize your fonts, sizes, etc.
  • Systems and Services: your system will have an endless list of services to choose from.
  • Kernel: even the kernel, the main process of your system can be customized.

Free Office Tools

Linux also offers many alternatives to Microsoft's Office proprietary suite on Linux including LibreOffice, OpenOffice, WPS and Calligra Suite. You'll probably not miss Word and Excel.
Source: linuxuprising.com

Frequent/Automatic updates

Linux distributions are frequently updated meaning that students will be getting the latest security, software and kernel fixes automatically. These are usually the holes crackers explore to target organizations. Getting updates quickly is also important to mitigate zero-days.

Reliable updates

We've seen a lot of mistakes recently made by either Microsoft and Apple with their Windows and Mac operating systems. Updates on Linux are not only reliable but are more frequent than anything you'd get on those systems. Governments and public agencies will probably choose long term support (LTS) system which provides up to 10 years. While allowing the developers in those organizations to run a different model updating every 6 months to get access to the most recent development technologies.

Custom repositories 

With Linux, Governments and the public sector can easily setup their own custom repositories allowing/limiting which software can be installed on their Linux workstations. 

Native disk-encryption

Most distributions offer native disk-encryption during the installation. Native disk-encryption is essential today as employees transport their devices out of the organization's secured space. If lost or stolen, the only way to access the data would be by entering the encryption password.

Conclusion

On this post we discussed why Linux is perfect for Governments and public institutions. Due to its low price, open nature, interoperability with open standards, enterprise-grade security and robust set of features, Linux could be a great fit for any public institution. We hope you learned something today and are excited to bring Linux to the attention of your community.

See Also

Monday, November 16, 2020

Why Linux is perfect for small companies and small organizations

Linux could be a cheaper, safer and more adequate choice for small companies and small organizations. Learn why.
Photo by Scott Graham on Unsplash

Linux runs the cloud, the Internet and supercomputers. Turns out that due to its free price, open nature, interoperability with open standards, enterprise features and robust security, Linux could be a great fit for your organization.

Linux is free

One of the most important reasons to use Linux in small companies and small organizations is its price: zero. We know how hard it is to keep the business afloat these days so every saved penny counts! Choosing Linux will not only allow your employees to to use newer, more modern software but also more secure technologies.

Enterprise-grade security

Linux is way more secure than Macs and Windows. That's due to multiple factors, including: its open-collaboration model, the open-source nature of its codebase, built-in enterprise grade software, security-aware architecture and frequent updates, native disk-encryption and encrypted data at rest.

Want to know more about these features? Read why use Linux.

Less viruses, less ransomware, less threats

Despite still being subject to viruses and ransomware, the previously mentioned features combined with a significant smaller percentage threats of make Linux much safer than Windows and Macs (but not immune). And Linux also has anti-viruses if the system administrators need too.

Linux will feel familiar

Users in your organization will feel familiar with Linux, regardless if they come from Windows or Mac. Most distributions these days use either GNOME and KDE, which contain applications for everything that you expect: file managers, contacts, calendars, email, communication tools, etc. For example, GNOME, the standard for most distributions looks like this:
While KDE looks like this:

Huge selection of applications

Your employees will also have access to their favorite applications such as Google Chrome, Brave and Firefox and runs most cloud services without issues. They will also find enterprise software like Zoom and Microsoft Teams if you need to talk to your clients. Visual Studio Code, Slack, yes, runs on Linux too!

Source: Slack Downloads

Linux is reliable

Remember this? You'll probably not miss those days. Using Linux will be a way more stable experience. Your system will rarely crash and the tools you'll use will make your computer way more stable than Windows or Mac equivalents.

Good for old hardware

Linux is also excellent for old hardware as it can be configured with lighter tools that utilize less resources. Most distributions (such as Fedora LXDE shown below) release alternative lightweight versions so you'll just need a simple install to get these systems optimized for lower-end hardware.

Frequent/Automatic updates

Linux distributions are frequently updated meaning that students will be getting the latest security, software and kernel fixes automatically. These are usually the holes crackers explore to target organizations. Getting updates quickly is also important to mitigate zero-days.

Reliable updates

We've seen a lot of mistakes recently made by either Microsoft and Apple with their Windows and Mac operating systems. Updates on Linux are not only reliable but are more frequent than anything you'd get on those systems. You can even mix update models, for example by choosing a long term support (LTS) system which provides up to 10 years while allowing the developers in those organizations to upgrade every 6 months to get access to the most recent development technologies.

Custom repositories 

With Linux, your organization can easily setup their own custom repositories allowing/limiting which software can be installed on their Linux workstations. 

Open-source code 

Small companies and small organizations can also benefit from the open-source code in the sense that they can modify and adjust the software they use if need be. While not a mandatory requirement, it's technically possible to modify the code, test and deploy it to production.

Linux is customizable

If just setting up a custom repository isn't enough, organizations can benefit from Linux's fantastic array of customization options allowing them to customize everything including:
  • Desktop Managers: most common are GNOME, KDE, XFCE, LXQT and LXDE.
  • Login Managers: how to login in your system.
  • Desktop themes: themes, colors, etc.
  • Fonts: customize your fonts, sizes, etc.
  • Systems and Services: your system will have an endless list of services to choose from.
  • Kernel: even the kernel, the main process of your system can be customized.

Free Office Tools

Small companies and organizations can also save thousands of Dollars per year by using one of the free alternatives to Microsoft's Office proprietary suite on Linux: LibreOffice, OpenOffice, WPS and Calligra Suite. You'll probably not miss Word and Excel.
Source: linuxuprising.com

Native disk-encryption

Most distributions offer native disk-encryption during the installation. Native disk-encryption is essential today as users frequently transport their devices out of the organizations's secured space. If lost or stolen, the only way to access the data would be by entering the encryption password.

Conclusion

On this post we discussed why Linux is perfect for Education. Due to its free price, open nature, interoperability with open standards and enterprise features, Linux could be a great fit for your school or University. We hope you learned something today and are excited to bring Linux to the attention of your organization.

See Also

Monday, November 9, 2020

Why Linux is perfect for Education

Linux could be a cheaper, safer and more adequate choice for your school, University or research lab. Learn how.
Photo by Kimberly Farmer on Unsplash

Linux runs the cloud, the Internet and supercomputers. Turns out that due to its free price, open nature, interoperability with open standards, enterprise features and robust security, Linux could be a great fit for your school, University or research lab.

Linux is free

One of the most important reasons to use Linux in education is its price: zero. Yes, Linux is free. As public debt grows, it won't be long until public institutions have to adapt to this new reality of budget reduction. Being free allows Linux to be a serious alternative in education as it's a solid, cost-effective and reliable alternative.

Enterprise-Grade security

Since the how critical Linux is for the functioning of the internet today, there are lots of eyes on its security model. There are multiple reasons why Linux is way more secure than Macs and Windows, including its: open-source nature, open-collaboration model, built-in enterprise grade software, security-aware architecture, frequent updates, native disk-encryption and encrypted data at rest.

TIP: Want to know more about these features? Read why use Linux

Open-source code

Due to its open nature, researches and hackers frequently inspect and crack the code. When issues are found, they're reported and fixed by community. This constant review and curation of software guarantees that your organization will be getting software as secure as it can be.

Less viruses, less ransomware, less threats

Despite still being subject to viruses and ransomware, the previously mentioned features combined with a significant smaller percentage of threats of make Linux much safer than Windows and Macs (but not immune). And Linux also has anti-viruses if the system administrators need too. 

Knowing that most students are not as tech-savvy, keeping your organization free from virtual threats will be less stressful with Linux as most ransomware target Windows and Macs.

Linux will feel familiar

Linux will feel familiar for Windows and Mac users. Most distributions will either use GNOME and KDE, the most popular desktop environments which contain applications for everything you'd expect: file managers, contacts, calendars, email, communication tools, etc. For example, GNOME, the standard for most distributions looks like this:
While KDE looks like this:

Huge selection of applications

Linux also supports your favorite browsers such as Google Chrome, Brave and Firefox and runs most cloud services without issues. On the educational side, Linux comes with fantastic tools such as the Scratch tool created by MIT:

Linux is reliable

Remember this? You'll probably not miss that. Using Linux will be a way more stable experience. It's yet another reason why evelopers prefer using Linux. Your system will rarely crash and the tools you'll use will make your computer way more stable than Windows or Mac equivalents.

Good for old hardware

Linux is also excellent for old hardware as it can be configured with lighter tools that utilize less resources. Most distributions (such as Fedora LXDE shown below) release alternative lightweight versions so you'll just need a simple install to get these systems optimized for lower-end hardware.

Reliable updates

We've seen a lot of mistakes recently made by either Microsoft and Apple with their Windows and Mac operating systems. Updates on Linux are not only reliable but are more frequent than anything you'd get on those systems. You can choose between a long term support (LTS) system which provides up to 10 years of support or go with a more dynamic model that updates once or twice a week, every 6 months for a new releases.

Frequent/Automatic updates

Linux distributions are frequently updated meaning that students will be getting the latest security, software and kernel fixes automatically. These are usually the holes crackers explore to target organizations. Getting updates quickly is also important to mitigate zero-days.

Custom repositories 

With Linux, organization can easily setup their own custom repositories allowing/limiting which software can be installed on their Linux workstations. 

Linux is customizable

If just setting up a custom repository isn't enough, organizations can benefit from Linux's fantastic array of customization options allowing them to customize everything including:
  • Desktop Managers: most common are GNOME, KDE, XFCE, LXQT and LXDE.
  • Login Managers: how to login in your system.
  • Desktop themes: themes, colors, etc.
  • Fonts: customize your fonts, sizes, etc.
  • Systems and Services: your system will have an endless list of services to choose from.
  • Kernel: even the kernel, the main process of your system can be customized.

Free Office Tools

Linux also offers many alternatives to Microsoft's Office proprietary suite on Linux including LibreOffice, OpenOffice, WPS and Calligra Suite. You'll probably not miss Word and Excel.
Source: linuxuprising.com

Native disk-encryption

Most distributions offer native disk encryption during the installation. Native disk-encryption is essential today as students frequently transport their devices out of the company's secured space. If lost or stolen, the only way to access the data would be by entering the encryption password.

Conclusion

On this post we discussed why Linux is perfect for Education. Due to its free price, open nature, interoperability with open standards and enterprise features, Linux could be a great fit for your school, University or research lab. We hope you learned something today and are excited to bring Linux to the attention of your organization.

See Also

Monday, October 26, 2020

What is a Linux Distribution (aka. Distro)?

New Linux users often encounter the expression "Distribution" (or distro). Learn what that means.
Photo by Derek Oyen on Unsplash

When getting started with Linux you'll often hear the term distribution (aka distro). But what does it means and how a Linux distro is made? First off, let's review how Wikipedia defines it:

A Linux distribution is an operating system made from a software collection that is based upon the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one of the Linux distributions, which are available for a wide variety of systems ranging from embedded devices and personal computers to powerful supercomputers.

What's included in a Linux distribution

A Linux distribution (or distro) is composed of thousands of software packages which are usually built by the community or by the company maintaining that distribution, packaged and assembled in a live-CD (or iso) so it can be deployed somewhere (usually VMs or bare-metals).
 
Today, most distros (desktop or server) are composed of:
  • an installer: the tool you'll use to install the distro.
  • a boot loader: the tool that will initialize your system via its kernel.
  • the Linux kernel: the kernel is software that's responsible for interacting with and managing your hardware resources.
  • kernel modules: also known as drivers.  for common hardware: 
  • an init system: also known as PID 1, it's the first (and only) program executed by the kernel when loading your system. Today, systemd is the most widely used init system.
  • a daemon service: a service to manage background processes. systemd can also be used to be managed daemons (services).
  • a package management system: tooling to manage software (add/remove/search/etc). The most common package managers are Apt (Ubuntu/Debian/Mint), Yum/DNF (Fedora, CentOS, RHEL, SUSE) and pacman (Arch/Manjaro) are the most popular
  • general tools: general tools to interact with your system (ex. ls to list files, mkdir to create directories, ps to list the running processes, etc)
  • libraries: libraries (software extensions) that can be used and shared by multiple programs
  • documentation: software in Linux usually comes with its own documentation that can be consulted without access to the internet.
  • development tools (optional): depending on the vendor, development tools can be pre-installed with the system.
  • a graphical user interface (optional): if you're running a desktop install, most likely your system will be running GNOME or KDE. Servers frequently run GUI-less to reduce their attack surface.

Sustainability Model

It obviously requires money, time a lots of resources to built everything and to guarantee that everything will work on the users and companies' machines. So how do the distributions sustain themselves?

There are essentially three sustainability models for distributions today.

Community-based distributions

Community-based distributions are entities that survive off of donations and often require help from volunteers. The most popular ones these days are:

Commercially-sponsored distributions

Commercially-sponsored distributions are those distributions that receive grants from commercial companies to support the development and maintenance of those systems. Note that there's nothing wrong with this category since most of the distributions tend to run completely independently from their commercial institution. The most popular distributions today are:

Commercial/Enterprise distributions

The last category is the commercial/enterprise Linux distributions. Those are distributions that require a financial commitment from the user or organization that plans to use them. The advantage is bulletproof software and usually a dedicated support to help troubleshooting production issues. The most popular today are:

    Conclusion

    On this post we reviewed what's usually called a Linux distribution, also know as a distro. We also reviewed which components are included in a distribution and the most popular options on the market today. Is your favorite distribution on that list? Let us know!

    See Also

    Monday, October 5, 2020

    Why Linux is perfect for web developers

    Linux runs the cloud, the Internet and super-computers. Learn why web developers love Linux too!
    Photo by Ilya Pavlov on Unsplash

    Following up on our previous discussion on why use Linux, and learned why Linux is ideal for development. Today, let's focus on why Linux is a fantastic system for web developers.

    If you recall our previous post, we started alluding to this StackOverflow pool, where Linux was cited as the most loved technology by developers at 83%. There are multiple reasons for that. Let's learn about them next.

    Linux is free

    Obviously, one of the main reasons to run Linux is because Linux is free. As poverty (unfortunately) grows around the world, it's important to minimize costs for users and companies. Since prices for Windows lincenses are really high and utilizing MacOS, almost impeditive for most of us, being free allows Linux to reach a much wider audience including independent developers, small organizations taught and used in schools, universities and research labs at a really low cost.

    Robust package management

    While it's true that MacOS users can use brew to enhance their terminal experience, and even Microsoft is building Windows a package manager (despite 20years late 😌) they are nothing more than a poor adaptation of Linux's built-in package mangers. It's on Linux where the real experience shines since the package manager integrates into the update system which integrates into the shell. 

    Quicker access to modern tools

    You'll get quicker access to the latest releases of your favorite programming language on Linux too. Linux users frequently get earlier access to Golang, Rust, NodeJS - just to name some - without resorting to building them from scratch.

    Streamlined workflow

    Beyond getting access to the latest tools, developing on Linux will be a much more pleasant experience to to the nature of the system: an awesome and powerful shell (Bash on most cases) accessible via a powerful window manager (GNOME or KDE) being backed by a super solid system with an extensible list of packages available to install at your fingertips.

    Awesome command line tooling

    Developers love the command line. Using the command line is key to automate your tasks and to opmitze tasks, resulting in huge productivity gains. Today, even tasks that are commonly UI-based such as browsing the web, managing files and even watching YouTube. Web developers can gain signifiant productivity if they embrace this workflow which's the recommended way to building new web apps quickly with ReactJS, VueJS, Angular. Popular tools and frameworks such as WordPress and even proprietary tools such as SendGrid or HubSpot have their own CLIs.

    Plus, tools such as tmux or i3, allow you to multitask without sacrificing your productivity.

    On the left man git, on the right: vim on top and htop on bottom

    Streamlined cloud and container integration

    As Red Hat usually says, containers are Linux. Creating your web app today requires probably a lot of dependencies, some of which (a database server, for example) may not be trivial to install - or may use a lot of your resources. Containers are today the way to streamline that process as you can build complex applications with tools such as DockerDocker Compose and Minikube.

    Dotfiles

    Once you get comfortable with the shell, you'll probably want to customize it to your needs. Developers realize that they really make them productive. Since it's common days to work on multiple machines, an elegant solution to that problem is to host your dotfiles in a private or public repository like GitHub so you can quickly restore your favorite settings in any of your development machines.

    Integrated Git

    Git is an essential requirement today. On Linux git is an integral part of the workflow (of course, it was invented by Linux Torvalds, Linux creator to facilitate the complex integration workflow of the Linux kernel). Using git in Linux makes everything simpler as it integrates into your command line and shell.

    A powerful shell

    Bash (and siblings such as ZSH and Fish) is a really powerful tool in Linux. Developers who know it can leverage it to enhance their workflows. For example, you could map the following three commands:
    • git add .
    • git commit -m <your-message>
    • git push
    As one operation, the following gcp command:
    gcp(){
            msg="More updates"
            if [ -n "$1" ]
            then
                    msg=$1
            fi
            git add . && git commit -m "$msg" && git push;
    }
    So that using it, would be:
    gcp "Some commit message"

    Oh, and simply typing gcp would do all the above using "More updates" as the git commit message. Use but don't abuse 😊.

    Linux is reliable

    Writing software requires a a reliable system. As you probably know, Windows (and even Macs) are not as reliable as their companies tell advertise. Your Linux system will rarely crash. You'll also realize that Linux tools will be more stable than their Windows or Mac equivalents.
    Remember this?

    Excellent Documentation

    Developers have to frequently access the documentation. Linux comes the man tool allowing you access to the documentation you need available regardless of your exposure to to the internet. Just run man <cmd> to view documentation for the software you need:

    Good for old hardware

    Linux is also excellent for old hardware. For example, you can run lighter tools that utilize less resources. Most distributions (such as Fedora LXDE shown below) release alternative lightweight versions optimized for lower-end hardware.

    Updated Software

    Another reason why developers love Linux is because (1) they're exposed to the cutting edge software and (2) they'll get frequent updates/upgrades. Regarding the latter, updates on Linux are not only reliable but are more frequent than anything you'd get on those systems. The system will be updated multiple times a week and a new version can be available every 6 months depending on the distribution with long-term releases available every 2 years.

    Outstanding software availability

    Not only installing software on Linux is simple  Every Linux distribution provides a tool to manage software with lots (literally, thousands) of apps. Visual Studio Code, Slack? You'll find on Linux. You'll also find enterprise software like Zoom and Microsoft Teams if you need to talk to your clients.
    Source: Slack Downloads

    Networking tools

    Web development is all about networking. Linux comes with powerful networking tools, some of which you probably heard of. Samba, nmap, whois, nslookup, ping, curl, ssh, among others are natively available. There's just so much here and once you learn these tools you probably wouldn't be able to work without them.

    Cloud-native tools

    Linux comes with lots of tools to use in cloud development. The most commons are Docker (and its sibbling podman) and Kubernetes but it also has easily installable access to tooling for Azure, AWS, GCP and devops/automation tooling such as Ansible, Helm, Vagrant and more.

    Support from a huge community

    Linux users are spread around communities over the internet. Being on Reddit or on forums of your specific distribution, developers frequently share their thoughts with similarly minded folks around the web. This helps them share knowledge, news, learn new things and obviously, help others.

    Linux is highly customizeable

    Another reason web developers can benefit from using Linux is due to its extensive customization. With the right instructions they can customize their system as they wish resulting in a quicker setup or, in case containers aren't sufficient, modelling their systems as per the customer's requirements.

     Some of the things you can tweak in Linux are:

    • Desktop Managers: don't like GNOME or KDE? There's XFCE, LXQT, LXDE, etc for you.
    • Login Managers: how you login to your system.
    • Desktop themes: configure themes, colors, etc.
    • Fonts: customize your fonts, sizes, etc.
    • Shell: shell is the application that runs on your terminal and also can be changed or customized.
    • Systems and Services: your system will have an endless list of services to choose from.
    • Kernel: even the kernel, the main process of your system can be customized. 

    Enterprise-Grade Security

    Linux comes with built-in enterprise security tooling. Beyond that, curated repositories Linux users are used to having repositories curated by the community and available for them. That means less viruses, no adware, unsafe or untrusted software running on your machine.

    Conclusion

    On this post we understood a little more why developers use and love Linux. You too could benefit from using it today! We hope you learned something new today and are excited to try out Linux and use it as your main system as we do!

    See Also

    Monday, September 28, 2020

    Why Developers love Linux

    Linux runs the cloud, the Internet and super-computers. Learn why developers use and love Linux too.
    Photo by Arget on Unsplash

    Following up on our previous discussion on why use Linux, today we will discuss why Linux is the favorite operating system of developers, the folks who build the software you use. To get started, let's back up our assumption using StackOverflow's own insights, where it shows Linux is the most loved technology by developers:

    Linux is free

    Obviously, one of the main reasons to run Linux is because Linux is free. As poverty (unfortunately) grows around the world, it's important to minimize costs for users and companies. Since prices for Windows licenses are really high and utilizing MacOS, almost impeditive for half of the world, being free allows Linux to reach a wider audience including independent developers, small organizations, schools, universities and research labs.

    Linux is (way) more secure

    Linux is also (way) more secure than Macs and Windows. That's mainly due to its:
    • open-source code: due to its open nature, researches and hackers frequently inspect and crack the code. When issues are found, they're reported and fixed by community.
    • open collaboration model: open-source code also fosters open collaborations. Developers from all over the world will frequently push fixes to the software you use making it better and more secure.
    • enterprise-grade software: tools like SELinux that are run on mission critical environments run on your machine too.
    • different permission model: Linux users run on a low permission level making it very improbable that even if you're hit by a virus, you would infect the machine.
    • frequent updates: your system will always be updated getting the latest security, software and kernel fixes. These are usually the holes crackers explore to target you.
    • smaller exposure to viruses: yes, Linux has viruses but on an infinite smaller proportion than Windows users get. Linux also has anti-viruses if you need too.
    • curated repositories: the easiest way to install software on your Linux is by using its own repositories. These repositories are curated and are less prone to have viruses.

    Awesome Command Line

    Developers love the command line. Using the command line is key to automate your tasks and to opmitze tasks, resulting in huge productivity gains. Today, even tasks that are commonly UI-based such as browsing the web, managing files and even watching YouTube can be accomplished from the terminal. Plus, tools such as tmux or i3, allow you to multitask without sacrificing your productivity.
    On the left man git, on the right: vim on top and htop on bottom

    Linux is reliable

    Writing software requires a a reliable system. As you probably know, Windows (and even Macs) are not as reliable as their companies tell advertise. Your Linux system will rarely crash. You'll also realize that Linux tools will be more stable than their Windows or Mac equivalents.
    Add caption

    Excellent Documentation

    Developers have to frequently access the documentation. Linux comes the man tool allowing you access to the documentation you need available regardless of your exposure to to the internet. Just run man <cmd> to view documentation for the software you need:

    Good for old hardware

    Linux is also excellent for old hardware. For example, you can run lighter tools that utilize less resources. Most distributions (such as Fedora LXDE shown below) release alternative lightweight versions optimized for lower-end hardware.

    Updated Software

    Another reason why developers love Linux is because (1) they're exposed to the cutting edge software and (2) they'll get frequent updates/upgrades. Regarding the latter, updates on Linux are not only reliable but are more frequent than anything you'd get on those systems. The system will be updated multiple times a week and a new version can be available every 6 months depending on the distribution with long-term releases available every 2 years.

    Streamlined cloud and container integration

    As Red Hat usually says, containers are Linux. Creating your application today requires probably a lot of dependencies, some of which (a database server, for example) may not be trivial to install - or may use a lot of your resources. Containers are today the way to streamline that process as you can build complex applications with tools such as Docker, Docker Compose and Minikube.

    Dotfiles

    Once you get comfortable with the shell, you'll probably want to customize it to your needs. Developers realize that they really make them productive. Since it's common days to work on multiple machines, an elegant solution is to hosting your dotfiles in a private or public repository like GitHub so you can quickly restore your favorite settings in any of your development machines.

    Integrated Git

    Git is an essential requirement today. On Linux git is an integral part of the workflow (of course, it was invented by Linux Torvalds, Linux creator to facilitate the complex integration workflow of the Linux kernel). Using git in Linux makes everything simpler as it integrates into your command line and shell.

    A powerful shell

    Bash (and siblings such as ZSH and Fish) is a really powerful tool in Linux. Developers who know it can leverage it to enhance their workflows. For example, you could map the following three commands:

    • git add .
    • git commit -m <your-message>
    • git push
    As one operation, the gcp command listed below:
    gcp(){
            msg="More updates"
            if [ -n "$1" ]
            then
                    msg=$1
            fi
            git add . && git commit -m "$msg" && git push;
    }
    So that using it, would be:
    gcp "Some commit message"

    Oh, and simply typing gcp would do all the above using "More updates" as the git commit message. Use but don't abuse 😊.

    Outstanding software availability

    Not only installing software on Linux is simple but Linux distributions come with thousands of applications to choose from. Need communication software? Linux has Slack, Skype, Zoom and even Microsoft Teams. Need a modern development environment? Try Visual Studio Code.
    Source: Slack Downloads

    Powerful build tooling

    Its really simple to install the build tools you'll need in Linux. GCC, Make, glibc, Gdb, git and many other tools needed on their development workflows are available either out of the box or from their systems' package manager.

    Powerful networking tooling

    Linux is perfect for networking. And it offers lots, lots, and lots of tools in the space. Some of them you probably heard of are Samba, nmap, whois, nslookup, ping, curl, ssh, among others. There's just so much here and once you learn these tools you probably wouldn't be able to work without them.

    Cloud-native tools

    Linux comes with lots of tools to use in cloud development. The most commons are Docker (and its sibling podman) and Kubernetes but it also makes it very simple to install tooling for Azure, AWS, GCP and devops/automation tooling such as Ansible, Helm, Vagrant and others.

    Support from a huge community

    Linux users are spread around communities over the internet. Being on Reddit or on forums of your specific distribution, developers frequently share their thoughts with similarly minded folks around the web. This helps them share knowledge, news, learn new things and obviously, help others.Curated repositories Linux users are used to having repositories curated by the community and available for them. That means no viruses, adware, unsafe or untrusted software.

    Linux is highly customizable

    Another reason developers use Linux is due to its extensive customization. Here are some of the things that can be customized on Linux:

    • Desktop Managers: don't like GNOME or KDE? There's XFCE, LXQT, LXDE, etc for you.
    • Login Managers: how you login to your system.
    • Desktop themes: configure themes, colors, etc.
    • Fonts: customize your fonts, sizes, etc.
    • Shell: shell is the application that runs on your terminal and also can be changed or customized.
    • Systems and Services: your system will have an endless list of services to choose from.
    • Kernel: even the kernel, the main process of your system can be customized.

    Powerful hardware integrations

    Into IoT, Rasperry Pi, Arduino? Due to the open nature of these platforms and to the vast documentation available, developers have access to an outstanding amount of technical information on how everything works. And Linux is the best system to do so.

    Conclusion

    On this post we understood a little more why developers use and love Linux. You too could benefit from using it today! We hope you learned something new today and are excited to try out Linux and use it as your main system as we do!

    See Also

    Featured Article

    Free Software, Open-Source, Libre, FOSS and FLOSS: what are the differences?

    Are these just different names for the same thing? Or there are differences? Photo by Romain Vignes on Unsplash We have been discussing...

    Popular this Week