Async Await in JavaScript
Understand how to use async/await in JavaScript to handle asynchronous calls more effectively and improve code readability.
September 6th, 2024
By: Ismail M. BOUSSEKINE
Reading time: 15 min
GNU/Linux is an open-source and free operating system that was developed in the 90's by both Linus Torvalds and Richard Stallman, Which become called "Linux" as an abbreviation.
Notes:
I tried to avoid any linux distribution forks like : PopOS!, Kubuntu, MX Linux ...etc, Because they are literally copy of their main distro with a DE and some predefined themes and wallpapers (not the case with Linux Mint and Ubuntu you'll see why).
This list is from my personal point of view and my experience with each one of this distributions.
This is a long article so bring your tea :)
A linux distribution is a set of pre-installed programs and settings on top of the kernel, To satisfy certain needs and requirements for the user or the server (as linux is widely used in running servers), Linux distributions tends to focus more on simplicity, ease of use, security, reliability and more, They all share the same Kernel (Linux) and GNU programs, But they differ when it comes to to the package manager (Apt, Pacman, Nix...), Init system (systemD, runit, OpenRC..), And the handling of the system config files.
Arch linux is the best linux distro I've tried, I'm running it now as my daily driver for almost a year and a half, It was first created in 2002 by Judd Vinet, It is an independent distro meaning it is not forked, What is good about Arch Linux is its minimal approach and simplicity, As it follows DYI (do it yourself) and K.I.S.S. philosophy (Keep It Simple Stupid), By minimal, We mean that it does not include any unnecessary software, Which makes it less bloated, With its rolling release model it provides the latest and greatest of softwares, So it does not follow a fixed-release cycle like Debian or any other distros.
Arch linux uses Pacman package manger which is one of the best package managers if not the best, It contains a large number of built packages (binaries), And if you added the AUR (which is another Arch linux repository that is ran by community) the total packages become more than 80,000+ package. Here are some of its commands
You can download and install Arch linux via the net installer provided in the official website.
Arch Wiki & AUR: Arch Linux have the best documentation for a linux distribution, "The Arch Wiki", Almost every problem you'll ever face in arch linux in particular or any linux distro in general you will find a solution for it, It also includes a great documentation of almost all linux tool and softwares, As for AUR You can have access to thousands of packages that you build your self (AUR offers source code for packages and their MAKE files and you build them yourself).
Full Control: With Arch linux you will have the full control of your system, you decide how your system will look like, How it will behave.
Minimal and Customizable: Arch linux comes with a very minimal amount of base programs that will get your system running and nothing more, But then you decide which softwares to install, What drivers to use, what desktop envorinemtns DE or window manager WM to install... which helps keeping the distro minimal.
Deep Understanding of Your System: Installing everything yourself will give you deep understanding of how your system works and how it is configured, If you want to get good at linux then Arch linux is your best choice.
You Do Everything Yourself
SystemD: SystemD is a software suite that provides a bunch of system components for Linux, meaning that you have one softwares which controls your whole system, Specially the init system. There is actually nothing wrong with systemD, in fact many distros use it, But, If Arch linux philosophy is to provide a minimal and fast system out of the box systemD does'nt help with that, However for new linux users that does not mean a lot.
Overwhelming Installing Process: Arch linux is by far the most overwhelming linux distro to install, Not saying it's hard, But you'll have to follow the manual and install it inside the TTY (the hollywood black screen), I remember it took me 48h to install it using broken usb that unmounts each time i touch it, and imagine :).
Updates : Updates in Arch Linux are shipped to the end user very quickly, Which sometimes may cause the system to break because of some stupid GRUB update, When eventually will make you pray every god out there while reading an article someone wrote in 2006 to fix the issue, For me i've never faced that, and I pray I never face it.
You Do Everything Yourself
Void Linux, The most minimalistic rolling-release linux distribution, It uses runit as the init system which makes it fast, Specially at boot time, Even faster than Arch linux, It is an independent linux distro that was first created in 2008 Juan Romero Pardines, A former developer of NetBSD, Which explains why it feels so much like BSD. What makes this distro good and popular is the fact that is uses XBPS as a package manager which is very minimal and fast package manager that includes most of the packages that you need. Examples of using XBPS:
As you can see XBPS uses a straight forward commands which are easy to remember.
To install Void linux you should visit their official website and download your preferred version (you may end up comparing between musl and glibc).
NixOS is a unique Linux distribution that stands out due to its innovative approach to package management and system configuration. It was first released in 2003 and introduces a declarative configuration model that sets it apart from traditional distributions check the thesis. NixOS uses the Nix package manager, which allows for atomic upgrades and rollbacks, ensuring system stability and flexibility, Which is known to be the biggest package manger with almost 100,000+ packages!. NixOS operates on the principle of immutability, where system configurations are defined in a single file, making it easy to reproduce and manage system setups.
The package manager, Nix, provides precise control over software environments and dependencies, allowing users to create isolated environments for different projects. This approach prevents conflicts between packages and ensures that system upgrades do not break existing configurations.
You can download and install NixOS via the ISO provided on the official website.(Graphical install or CLI)
Debian is one of the most popular linux distributions out there, Its been since 1993 which makes it one the first ever linux distros along with Slackware, It is known for its high stability and reliability due to its "Fixed Release" version cycle which means it only gets updated every period (usually more than 6 months), In this case Debian gets updated every two years, But there is version called (Debian Sid) that is a rolling release.
Debian uses the package manager APT, Which is known to be fast, Versatile, And stable (other linux distros also use it as we will see.) some of the commands we mention:
Debian is available for download on the main website, you can choose between the GUI installer (with GNOME or KDE Plasma, Best for new users with no experience) or with net installer (lightweight).
Large Community: Debian by far has the largest community, So it will be easy to find solutions for problems you face.
Tremendous Stability: Debian is known for its high stability and security because of its fixed-release model.
Just Works: This is famous term in the linux community to describe a software that does its job and nothing more, Debian just works because it is ready out-of-the-box with all tools and programs you need (in case you installed via the graphical installer (GNOME or KDE)), So you really don't configure anything by your self.
Gentoo is a versatile Linux distribution known for its performance optimization and customization capabilities. It was first released in 2002 and distinguishes itself with its source-based package management system. Gentoo uses the Portage package manager, Which allows users to compile software from source code with customized options and optimizations (flags), Making it possible to tailor the system to specific hardware and user needs.
Gentoo's approach involves a high degree of control over system configuration and optimization. Users define build options and dependencies through USE flags, This granularity allows Gentoo to achieve exceptional performance and flexibility but requires more involvement from the user compared to binary-based distributions.
You can download and install Gentoo via the ISO provided on the official website.
Fedora is a cutting-edge Linux distribution sponsored by Red Hat and known for its focus on integrating the latest technologies and innovations. First released in 2003, Fedora serves as a proving ground for new features and software that often make their way into Red Hat Enterprise Linux (RHEL). Fedora operates on a fixed release cycle, with new major versions released approximately every 6 months. It includes a wide range of software and is known for its strong support for GNOME, Though other desktop environments are also available. Fedora uses the DNF package manager, which is based on RPM (Red Hat Package Manager) and provides a robust set of tools for managing software packages.
You can download and install Fedora via the ISO provided on the official website. Fedora offers various editions, including Workstation, Server, and IoT... etc.
Linux Mint is a popular, user-friendly Linux distribution known for its ease of use and stability. First released in 2006, it is based on Ubuntu (or Debian, there are two versions) and inherits its robust features and extensive software repository. Linux Mint aims to provide a more accessible and polished desktop experience, Making it a popular choice for new users transitioning from other operating systems.
Linux Mint offers several desktop environments, Including Cinnamon, MATE, and Xfce. The distribution is designed to be easy to install and maintain, with a focus on delivering a complete and functional desktop environment out of the box.
You can download and install Linux Mint via the ISO provided on the official website. The installation process is straightforward, with a graphical installer that guides users through the setup.
Choosing the right Linux distribution can depend heavily on your specific needs and use case. Here’s a guide to help you select the best distribution based on various scenarios:
Choosing the right distribution will depend on your specific needs and how much effort you’re willing to invest in configuration and maintenance. Each distribution has its strengths and weaknesses, So consider what aspects are most important for your use case before making a decision.
Understand how to use async/await in JavaScript to handle asynchronous calls more effectively and improve code readability.
September 6th, 2024
Learn CSS with GDSC ENSTA Workshop and get started with web development. This workshop will help you understand the basics of CSS and how to style your web pages.
November 27th, 2024
GDSC ENSTA Workshop on HTML for beginners. Learn the basics of HTML and how to create a simple webpage.
November 10th, 2024