Language Selection

English French German Italian Portuguese Spanish

It's FOSS

Syndicate content It's FOSS
A Linux and Open Source Web Portal
Updated: 1 hour 13 min ago

Beginner-friendly Terminal-based Text Editor GNU Nano Version 5.0 Released

Thursday 30th of July 2020 05:11:35 AM

Open source text editor GNU nano has reached the milestone of version 5.0. Take a look at what features this new release brings.

There are plenty terminal-based text editors available for Linux. While editors like Emacs and Vim require a steep learning curve with bunch of unusual keyboard shortcuts, GNU nano is considered easier to use.

Perhaps that’s the reason why Nano is the default terminal-based text editor in Ubuntu and many other distributions. Upcoming Fedora 33 release is also going to set Nano as the default text editor in terminal.

GNU nano 5.0 has just been released. Here are the new features it brings.

New features in GNU nano 5.0

Some of the main highlights of GNU nano 5.0 as mentioned in its changelog are:

  • The –indicator option will show a kind of scroll bar on the right-hand side of the screen to indicate where in the buffer the viewport is located and how much it covers.
  • Lines can be tagged with Alt+Insert keys and you can jump to these tags with Alt+PageUp and Alt+PageDown keys.
  • The Execute Command prompt is now directly accessible from the main menu.
  • On terminals supporting at least 256 colors, there are new colors available.
  • New –bookstyle mode in which any line that begins with whitespace is considered as the start of a paragraph.
  • Refreshing the screen with ^L now works in every menu. It also centers the line with the cursor.
  • Bindable function ‘curpos’ has been renamed to ‘location’, long option –tempfile has been renamed to –saveonexit and short option -S is now a synonym of –softwrap.
  • Backup files will retain their group ownership (when possible).
  • Data is synced to disk before “… lines written” is shown.
  • Syntaxes for Markdown, Haskell, and Ada were added.
Getting GNU nano 5.0

The current version of nano in Ubuntu 20.04 is 4.8 and it’s less likely that you’ll be getting the new version anytime soon in this LTS release. When and if it is available from Ubuntu, you should get it via the system updates.

Arch users should be getting it before everyone else, as always. Other distributions should also provide the new version, sooner or later.

If you are one of the few who likes installing software from its source code, you can get it from its download page.

If you are new to it, I highly recommend this beginner’s guide to Nano editor.

How do you like the new release? Are you looking forward to using Nano 5?

How to Install Discord Application in Ubuntu and Other Linux Distributions [3 Methods]

Tuesday 28th of July 2020 07:15:28 AM

Discord is a popular messaging application. It was originally intended for gamers but these days, it is considered a Slack alternative even for team and community communication. You can use it for text, voice and video messaging.

Several open source project use it for communicating with project members and users.

Discord is available on various platforms including desktop Linux. In this tutorial, I’ll show you various ways of installing Discord on Ubuntu, Debian and other Linux distributions.

Non-FOSS alert!

Discord application is not open source. But since they provide a Linux client and many Linux users rely on it, it’s been covered here.

Method 1: Installing Discord in Ubuntu and Debian-based Linux Distributions

Go to the download page of Discord and download the deb file. Keep in mind that, Discord is only available for 64-bit systems.

Download Discord for Linux

Installing deb file is easy. Just double click on it to open it in the software manager and install it from there. You may also install and use Gdebi tool for this purpose.

It will take a few seconds for installing and you should see a log in screen like this:

The problem with this approach is that though you’ll have the latest Discord version, it won’t be updated to a newer version automatically in the future.

You can either uninstall it from the software center or use this command in the terminal:

sudo apt remove discord Method 2: Installing Discord on Ubuntu and other Linux distributions using Snap package

You can easily install Discord using Snap package in Ubuntu and various other Linux distributions with snap package support.

The advantage is that you’ll always have the latest version of Discord and your installed version gets automatically updated. The downside is that Snap packages take longer to start.

Ubuntu user can find Discord snap package in the Software Center and install from there:

Discord snap package is available in Ubuntu Software Center

If you have enabled Snap support on your Linux distribution, you can use the following command to install it:

sudo snap install discord

If you want to remove it, you can use the snap command to uninstall it:

sudo snap remove discord

Please note that Discord is also available in Flatpak package format. You can use Flatpak to install it in Fedora and other Linux distributions.

Method 3: Installing Discord in other Linux Distributions (intermediate to advanced level)

Discord also provides a generic isntaller for using Discord on Linux. It comes in the traditional tar gz file.

If you go for this way of installing Discord on Linux, then you should have at least a moderate understanding of Linux directory structure and Linux commands. You must also be comfortable using the terminal because this method involves using the terminal all the way.

Step 1: Download Discord for Linux

First download the tar.gz file from Discord’s website.

I am using Discord version 0.0.10 in the tutorial. Your file name may or may not be different. Pay attention to it.

Step 2: Extract the downloaded file to opt directory

Go to directory where you have downloaded the file. Use the tar command to extract the .tar.gz file in the /opt directory.

sudo tar -xvzf discord-0.0.10.tar.gz -C /opt

Traditionally, the /opt directory is used for installing/keeping files of optional or additional Linux software. Since you opted for the traditional way, it only makes sense to use the traditional convention.

Step 3: Create Discord command in bin directory

Now you should have /opt/Discord directory with files related to Discord. You should have two important files to tackle here. A binary file named Discord and a desktop file named discord.desktop.

Now, you should create a symbolic link to this binary file in /usr/bin directory.

sudo ln -sf /opt/Discord/Discord /usr/bin/Discord

The /usr/bin directory contains the binary executables for commands in your system. This way, any user can run the commands from anywhere in the system.

Step 4: Create desktop icon and menu entry

You have Discord available as a command for all users on the system. But you cannot find it in the system menu to launch it graphically.

For that, you’ll have to use the discord.desktop file located in the extracted folder in the opt directory.

You should pay attention to two lines here: Exec and Icon.

The exec is for executable file and you can set it to /usr/bin/Discord . The Icon is for the image of Discord that will be displayed when you search for Discord in the menu. You can set it to the /opt/Discord/discord.png. This image is present in the extracted folder.

You can use nano editor with sudo for editing this file or whichever terminal-based text editor you prefer. Your discord.desktop may look something like this:

Your discord.desktop file is still in the /opt/Discord directory. You need to move it to /usr/share/applications directory so that your system can access this desktop entry.

sudo cp -r /opt/Discord/discord.desktop /usr/share/applications

Normally, you should see Discord added in the list of available applications in the menu immediately. If not, log out and log in again.

Step 5: Run Discord

You are done. Now if you search for Discord, you will find it in the menu and when you run it for the first time, it will do some configuration.

Running Discord for the first time

After that, it will bring you to the login screen. It automatically tried to log you in from your default browser.

Enjoy Discord on Linux. If there is a new version of Discord in the future, you’ll have to remove the already installed version and then repeat the procedure with the new version.

Removing Discord installed in the traditional way

It would be unfair to just discuss how to install Discord. Let me give you some pointers about removing it as well.

When you install Discord on Linux, it saves config file in .config/discord folder in your home directory. Delete these files:

rm -r ~/.config/discord

Next, remove the Discord directory from the /opt directory:

sudo rm -rf /usr/bin/Discord

Also delete the symbolic link you had created:

sudo rm /usr/bin/Discord

As the last step, remove the desktop file:

sudo rm /usr/share/applications/discord.desktop

Did you manage to install Discord on Linux? Which method did you use?

I gave you various ways of installing Discord application on Linux. The traditional Linux way is somewhat complicated but at least this way you can install it on any Linux distribution.

Did you manage to install it? Which method did you use and prefer?

BigBlueButton: Open Source Software for Online Teaching

Monday 27th of July 2020 10:59:40 AM

Brief: BigBlueButton is an open-source tool for video conferencing tailored for online teaching. Let’s take a look at what it offers.

In the year 2020, remote working from home is kind of the new normal. Of course, you cannot do everything remotely — but online teaching is something that’s possible.

Even though a lot of teachers and school organizations aren’t familiar with all the amazing tools available out there, some of the best open-source video conferencing tools are filling in the requirements to some extent.

Among the ones I mentioned for video calls, BigBlueButton caught my attention. Here, I’ll give you an overview of what it offers.

BigBlueButton: An Open Source Web Conferencing System for Online Teaching

BigBlueButton is an open-source web conferencing solution that aims to make online learning easy.

It is completely free to use but it requires you to set it up on your own server to use it as a full-fledged online learning solution.

BigBlueButton offers a really good set of features. You can easily try the demo instance and set it up on your server for your school.

Before you get started, take a look at the features:

Features of BigBlueButton

BigBlueButton provides a bunch of useful features tailored for teachers and schools for online classes, here’s what you get:

  • Live whiteboard
  • Public and private messaging options
  • Webcam support
  • Session recording support
  • Emojis support
  • Ability to group users for team collaboration
  • Polling options available
  • Screen sharing
  • Multi-user support for whiteboard
  • Ability to self-host it
  • Provides an API for easy integration on web applications

In addition to the features offered, you will find an easy-to-use UI i.e. Greenlight (the front-end interface for BigBlueButton) to set up when you configure it on your server.

You can try using the demo instance for casual usage to teach your students for free. However, considering the limitations (60 minutes limit) of using the demo instance to try BigBlueButton, I’d suggest you to host it on your server to explore all the functionality that it offers.

To get more clarity on how the features work, you might want to take a look at one of their official tutorials:

Installing BigBlueButton On Your Server

They offer a detailed documentation which should come in handy for every developer. The easiest and quickest way of setting it up is by using the bbb-install script but you can also explore other options if that does not work out for you.

For starters, you need a server running Ubuntu 16.04 LTS at least. You should take a look at the minimum requirements before deploying a server for BigBlueButton.

You can explore more about the project in their GitHub page.

Try BigBlueButton

If you’re someone who’s looking to set up a solution for online teaching, BigBlueButton is a great choice to explore.

It may not offer native smartphone apps — but you can surely access it using the web browser on your mobile. Of course, it’s better to find a laptop/computer to access an online teaching platform — but it works with mobile too.

What do you think about BigBlueButton for online teaching? Is there a better open-source project as an alternative to this? Let me know in the comments below!

How to Install Google Chrome in Arch-based Linux Distributions

Monday 27th of July 2020 04:41:40 AM

Brief: A step-by-step beginner’s tutorial showing how to install Google chrome in Arch, Manjaro and other Arch-based Linux distributions.

Google Chrome is undeniably the most popular web browser. It is not open source software and this is why you won’t see it preinstalled in Linux distributions you use. You won’t even find Chrome in the software center.

Installing Google Chrome is easy in Ubuntu and Fedora based distribution. You can go to Chrome’s website and download the DEB or RPM installer files and install it easily.

Arch Linux users may notice that there is no package for them on the official Google Chrome website.

Fortunately, Google Chrome is available on Arch User Repository (AUR) for Arch, Manjaro and other Arch-based Linux distributions. You can install Google Chrome using an AUR Helper easily or use Git to install it without AUR helper.

I will cover both options in this tutorial.

Method 1: Installing Google Chrome with an AUR Helper

I hope that you are familiar with the concept of AUR (Arch User Repository) and AUR helpers. If not, please read our articles on what is AUR and what are AUR helpers and how to install them.

Step 1: Install an AUR helper (if you haven’t got one already)

There are quite a few AUR Helpers to choose but in this tutorial, I will use yay which I have installed on my machine. You should install it if you haven’t got it already:

sudo pacman -S --needed base-devel git git clone https://aur.archlinux.org/yay-git.git cd yay makepkg -si Step 2: Install Google Chrome using AUR helper

Now, to install Google Chrome in Arch Linux using yay:

yay -S google-chrome

As you see, yay found all the available packages related to Google Chrome. I will choose the stable package to install, the same as I chose for the other installation method.

Step 3: Upgrading Chrome version with yay

You successfully installed Chrome on your Arch-based distribution. However, you should also know what to do if there is a new version of Google Chrome available.

You cannot upgrade AUR packages with pacman command unfortunately. But the good thing is that Yay and pacman share common flags for performing similar actions.

Keep in mind that unlike pacman, yay shouldn’t be run with “sudo” privilege.

The following command will upgrade all the packages – both AUR and official.

yay -Syu Method 2: Install Google Chrome without an AUR Helper

You’ll still be getting the package from Arch User Repository. However, instead of AUR helper, you’ll be doing it manually.

Step 1: Install base-devel package

To install a package from AUR you must have Git and base-devel group installed. Base-devel group contains all the essential tools for compiling from source.

sudo pacman -S --needed base-devel git Step 2: Install Chrome from AUR

Clone Google Chrome from the AUR and install it like this:

git clone https://aur.archlinux.org/google-chrome.git cd google-chrome makepkg -si Step 3: Upgrading Google Chrome afterward

When a new version of Google Chrome is released and it is available in the AUR, you can upgrade it manually like this:

git pull makepkg -si Conclusion

As you can see, it is slightly complicated to install Google Chrome in the Arch domain. But that’s the beauty of it. Many people use Arch because it gets you doing more things in the terminal.

If you encountered any difficulty when you try to install Google Chrome, let us know at the comment section or share your thoughts.

Make sure to subscribe on our social media to get first the latest Linux news!

Dreamweaver Alternatives: 5 Open Source HTML and CSS Editors for Web Developers and Designers

Saturday 25th of July 2020 06:33:46 AM

Adobe Dreamweaver is a popular tool for professionals to design websites. Even though it enjoyed all its glory in the past decade, it’s no longer the most popular tool out there (at least, as far as I’m aware of).

Its expensive subscription plans and the availability of free and open-source alternatives has left an impact to its popularity.

Moreover, with the growth of popular open source CMS options and drag-drop website builders, it’s really easy to build a website when compared to the previous decade.

Unless you’re a professional with a specific set of requirements, there’s no reason to use Dreamweaver. So, here, in this article, I’m going to list some of the best free open-source Dreamweaver alternatives that lets you edit HTML/CSS.

Open source HTML and CSS editors for web developers

I understand that some web developers and designers prefer WYSIWYG (What You See Is What You Get) feature. Not all the editors mentioned here offer this feature but when they do, I have highlighted it explicitly.

I have used this website template for testing out the HTML editors. This list is in no particular order of ranking.

1. Bluefish Editor

Key Highlights:

  • Auto-completion
  • Preview in browser
  • Site upload/download options
  • Code block folding
  • Support for several programming languages
  • Supports WordPress language definition files
  • Cross-platform support

Bluefish is a feature-rich editor that’s perfectly suitable for both beginners and experienced web designers.

Even though it does NOT offer WYSIWYG, the browser preview feature lets you make changes to the coding and see it in action quickly without any special configuration. It’s also a lightweight application – so it isn’t heavy on resources.

Try it out to explore more about it.

How to install it?

You may find it listed in your software center. If you don’t, you can follow the official installation instructions to add the repository and install it on your Linux distribution.

Also, there’s a Flatpak package available in case you prefer using it. I’d suggest you to refer our Flatpak guide if you don’t know about it.

Bluefish 2. BlueGriffon

Key Highlights:

  • WYSIWYG editor
  • Black and light theme
  • Responsive Design support
  • EPUB 3.1 support
  • Cross-platform support

BlueGriffon is an impressive WYSIWYG HTML/CSS editor. You can choose to edit the codes and check the design or simply edit it visually without needing to fiddle with the codes.

This is especially helpful for folks who aren’t comfortable with HTML/CSS and just starting out. It makes it easy to edit while offering all the necessary features for a web designer.

How to install it?

You can download the deb package from its official website or opt for other installers and source code depending on the Linux distribution you’re using.

You may want to read the different ways to install a DEB file if you’re on an Ubuntu-based distro.

BlueGriffon 3. SeaMonkey

Key Highlights:

  • WYSIWYG Editor
  • Separate browser
  • HTML editing
  • Cross-platform support

SeaMonkey isn’t your typical code editor — but it’s a collection of Internet applications like a browser, email, IRC chat, and HTML editor.

It does support editing the source code of a web page and the ability to edit visually without needing to know HTML.

You can explore more about it when you get it installed.

How to install it?

You can simply download the package for Linux available on their official site and run the executable SeaMonkey application file to get started.

SeaMonkey 4. Brackets

Key Highlights:

  • Live preview option
  • Tailored for web design
  • Auto-completion
  • Cross-platform

Brackets is already one of the best modern text editors for coding in Linux. It was primarily built for web developers while also supporting other programming languages.

Surprisingly, it’s an open-source project by Adobe, which isn’t super actively maintained — but it’s there.

How to install it?

You can simply grab the deb file from its official website for Ubuntu 19.10 or lower. For Ubuntu 20.04 or any other Linux distro, you will be better off using the Flatpak package or the Snap.

You may also explore their GitHub releases section for other downloads.

Brackets 5. NetBeans

Key Highlights:

  • HTML Editor
  • Cross-platform

NetBean isn’t technically an out-of-the-box HTML-CSS editor. But, you can use it as an HTML editor when building an HTML5 application.

It isn’t the go-to solution for HTML editing, but it’s an option out there for a specific group of programmers. You can give it a try to see if it does what you expect it to.

How to install it?

You can find it listed in your software center. In either case, you can just head to the official download page to get it installed.

NetBeans

Which HTML editor do you use?

There are a few more editors that you can use for editing HTML and CSS. There is Aloha Editor Community Edition preferred by some web developers.

You can surely use other modern code editors like Atom and VS Code or the good-old Geany text editor to edit HTML and CSS files.

If you regularly work on web design and development, which open source HTML editor do you use and recommend? We might add your recommendation to our list here. You may also mention non-open source WYSIWYG editors but that won’t be added in the list for obvious reasons.

7 New Feature Changes Coming to Fedora 33 Release

Friday 24th of July 2020 06:30:39 AM

Development for Fedora 33 is in progress and looking at the proposed changes, it looks to be one of the biggest release ever.

Fedora 33 should be releasing in mid to late October 2020. But there is no specific release date or schedule like Ubuntu here.

Let’s see what are these changes that make Fedora 33 a release worth following.

New features in Fedora 33

Most of the features listed here are confirmed changes. I’ll update the article with more feature changes in the future.

Btrfs is the new default filesystem

In a surprising move, Fedora announced that it will be using Btrfs as the default filesystem for the new installations starting with Fedora 33.

This is a big move and not everyone agrees with. You should still be able to use Ext4 filesystem while installing Fedora 33 but you have to do a bit of effort for that.

Nano is the default terminal-based text editor

Starting with Fedora 33, Nano will be the default text editor in the terminal. If you are not familiar with it, try the Nano beginner’s guide I have written earlier.

Keep in mind that you can still change the default text editor in terminal if you don’t like Nano.

Swap on zRAM by default

Fedora 33 will utilize zram instead of swap partition by default. zram is RAM drive that uses compression. Due to compression, it uses half as much memory as its size.

So when the RAM is full and the system needs more memory, instead of using swap partition, Fedora will use the zram device (usually under /dev/zram0). Here’s the explanation on the change:

The system will use RAM normally up until it’s full, and then start paging out to swap-on-zram, same as a conventional swap-on-drive. The zram driver starts to allocate memory at roughly 1/2 the rate of page outs, due to compression. But, there is no free lunch. This means swap-on-zram is not as effective at page eviction as swap-on-drive, the eviction rate is ~50% instead of 100%. But it is at least an order of magnitude faster than drive based swap.

zram has about 0.1% overhead or ~1MiB/1GiB. If the workload never touches swap, this overhead is the sole cost. In practice when not used at all, feature owner has experienced ~0.04% overhead.

systemd-resolved enabled by default

Fedora is trying to standardize on upstream systemd service. Standardizing reduces behavior differences between different Linux distributions.

In that effort, Fedora 33 is going to use systemd-resolved by default. This systemd service provides network name resolution.

Improved hardening for 64-bit ARM devices

Fedora 33 changes enables support for newer ARMv8.3~8.5-level code hardening features in order to enhance the security. This should serve to make Fedora more resistant to a couple further classes of runtime attacks.

GNOME 3.38 and all the visual changes it brings Default wallpaper in GNOME 3.38

GNOME version 3.38 should be released by mid-September. This means that Fedora 33 will have this new release.

There will be some performance improvements and visual changes to it. They even plan to add touchpad gesture for switching workspaces.

Animated background based on time of day

This is not a serious change but a little eye candy is not a bad deal. Fedora 33 will use animated background that will change the color shades based on the time of the day.

This feature is getting quite popular and if I remember correctly, Manjaro Linux 20 also uses it.

Dropping legacy BIOS support (under discussion)

Fedora developers are also discussing dropping legacy BIOS support and go with UEFI-only approach. Before you get outraged, do keep in mind that Intel is ending legacy BIOS support in 2020.

This change is not confirmed yet and it is still under discussion.

Other changes

Fedora is also updating the system-wide crypto policy to further disable legacy cryptographic protocols (TLS 1.0 and TLS 1.1), weak Diffie-Hellman key exchange sizes (1024 bit), and use of the SHA-1 hash in signatures.

Apart from that, there are some software changes that you might find interesting:

  • Latest MinGW
  • GNU Make 4.3
  • Ruby on Rails 6.0
  • Boost 1.73
  • Golang 1.15
  • glibc 2.32
  • Java 11
  • LLVM 11
  • Node.js 14.x series
  • Perl 5.32
  • Include Python 3.9, drop Python 2.6 and 3.4
  • RPM 4.16
Do you agree with the changes?

As I mentioned earlier, Fedora 33 should be released in late October this year. Existing Fedora 32 users should be able to upgrade to the new release when the stable version is available.

Which Fedora 33 feature you like the most? Do you agree with changing the default filesystem and the editor? Do share your views in the comment section.

Linux Foundation Announces Advanced Cloud Engineer Bootcamp to Turn Sysadmins into Cloud Administrators

Wednesday 22nd of July 2020 07:17:43 AM

Brief: Linux Foundation, the official organization behind Linux project, has launched a 6 months online training program to turn system administrators into cloud administrators as the demand for cloud-skilled people grows in the IT industry.

Last month, Linux Foundation launched the Cloud Engineer Bootcamp program. This one was focused on preparing candidates for entry level jobs as a cloud engineer.

Based on the feedback received, Linux Foundation has now launched Advanced Cloud Engineer Bootcamp focusing on helping seasoned sysadmin to move into devops world with cloud related technologies.

Advanced Cloud Engineer Bootcamp: Go from system admin to cloud admin

The course is designed for sysadmins who are already familiar with Linux, of course. Since the traditional sysadmin is not sufficient anymore and the IT infrastructure is relying more on cloud technologies, it is time that seasoned sysadmins should also learn the new in-demand skills.

The bootcamp starts with containers and Kubernetes fundamentals, moving to system monitoring, cloud native logging, and Kubernetes application management, providing all the knowledge needed to work as a cloud administrator.

Here’s what you’ll get if you join the bootcamp:

  • Self-paced online video classes
  • Hand-on labs and assignments
  • 12 months access to the online courses
  • Dedicated discussion forums to ask for help with option to live chat with the instructor (within office hours on weekdays)
  • Retake for the certification exam within a period of a year
  • Advanced Certified Cloud Engineer badge for completing the bootcamp
  • 3-day money-back guarantee

The course is self-paced and you should cover it in 6 months with an effort of 15-20 hours a week.

Advanced Cloud Engineer Bootcamp is priced at $2300 but if you join before July 31, you can get it for $599.

Advanced Cloud Engineer Bootcamp

If you compare it with the Cloud Engineer Bootcamp, the Advanced bootcamp doesn’t have the sysadmin related courses and certifications. Instead, it adds the advanced topics like Prometheus, Fluentd and Helm.

Obviously, the advanced bootcamp presumes that you already have knowledge of how Linux functions.

$600 may not seem like a small amount but when you are looking to keep your job or seeking a promotion or salary raise, you’ll have to invest into skill improvement.

As I have said it before, Linux Foundation hardly makes any effort for “desktop Linux” but it does focus on promoting Linux in the IT industry. These training programs are part of that effort.

It’s FOSS is an affiliate partner with Linux Foundation. Please read our affiliate policy.

Tiny Yet Useful: 13 Raspberry Pi Zero Alternatives That Cost Less Than $20

Tuesday 21st of July 2020 02:34:35 AM

The Raspberry Pi Zero and the Raspberry Pi Zero W were added to the line up of Raspberry Pi’s in the last few years. These ultra-small form-factor SBC’s have been a big hit and continue to be a part of Raspberry Pi projects from the maker and DIY communities.

Due to the smaller form factor and the prices these boards are targeting, they have had to cut down on many features like a dedicated Ethernet port, slower processor (compared to their full-fledged cousins).

In an earlier article, we listed the best alternatives to Raspberry Pi. In this one, I’ll list some alternatives to Raspberry Pi Zero and Zero W.

Preview Product Price CanaKit Raspberry Pi Zero W (Wireless) Complete Starter Kit - 16 GB Edition $32.99 Buy on Amazon Alternative to Raspberry Pi Zero: Tiny single board computers for IoT and Embedded Projects

We have great alternatives with variety of feature sets for different projects, thanks to open source designs and open source software stacks. All the boards in this round up run embedded Linux in various flavors.

Even though the Raspberry Pi Zero was released at $5 and the Zero W at $10, it’s often very hard to find them at those prices even in US. Outside US they usually cost around $12 – $20 .

Keeping that in mind let’s take a look at some of the alternatives for the Raspberry Pi Zero boards for under $20.

1. Banana Pi BPI M2 Zero

The Banana Pi M2 Zero at $18 is has the same layout as a Raspberry Pi Zero W. It looks like a clone of the Pi Zero W but other than the form factor it is anything but a clone. It has a faster Allwinner H2+ SOC at its heart and Ethernet can be added externally . It can also run a variety of Linux based operating systems.

Key Specifications

  • Allwinner H2+ Quad-core Cortex-A7 H265/HEVC 1080P with Mali400MP2 for the GPU
  • 512M DDR3(shared with GPU)
  • 40 Pins Header,compatible with Raspberry Pi 3
  • WiFi (AP6212) & Bluetooth onboard. Extra antenna connector
  • A CSI input connector Camera
  • Power and Reset Button
  • Mini HDMI Output

You can get more information from the Banana Pi Wiki and pick one up from here.

2. Banana Pi BPI-M2 Magic (BPi-M2M)

There are two variants of this board the one without the eMMC flash onboard costs $20. It is another tiny SBC with quite a lot of processing power for its size. Off the top of my head this board is a good fit for a touch control panel and dashboard for IoT and home automation. The on-board battery management system is quite attractive.

Key Specifications

  • Allwinner A33/R16 Quad Core ARM Cortex-A7, MALI 400 MP2 GPU
  • WiFi 802.11 b/g/n 2.4GHz (AP6212) & BT v4.0 with BLE
  • 512MB DDR3 (shared with GPU)
  • MIPI Display Serial Interface (DSI) interface(4 data lanes)
  • A CSI input connector Camera, video capture up-to 1080p at 30fps
  • Onboard microphone and battery management
  • No HDMI output

You can get more information from the Banana Pi Wiki and pick one up from here.

3. Banana Pi BPI-P2 Maker

This board at $13 ($19 with POE module) is one of the smallest SBC’s with on board Ethernet and support for POE(power over ethernet). With the same Allwinner H2+ SOC as the M2 zero, this is quite an interesting board.It has an onboard eMMC storage of 8Gb and a camera interface, with POE you can convert this into a DIY security camera and also use the powerful processor for basic ML.

Key Specifications

  • CPU: Allwinner H2+, Quad-core Cortex-A7
  • 512MB DDR 3 SDRAM.
  • WiFi (AP6212) & Bluetooth onboard.
  • 8G eMMC flash onboard
  • 100M LAN
  • Mini HDMI
  • CSI Camera Interface
  • IEEE 802.3af PoE standard PoE module support

You can get more information from the Banana Pi Wiki and pick one up from here.

4. Orange Pi Zero LTS

At $11.49 ($9.49 for the 256 MB version) this is the cheapest and the smallest board with onboard Ethernet and POE functionality. It has the ever common Alwinner H2+ at its heart and a solid expansion options via the GPIO and the 13 pin functional header.

Key Specifications

  • Allwinner H2+ Quad-core Cortex-A7 H.265/HEVC 1080P
  • Mali400MP2 GPU @600MHz
  • 256MB/512MB DDR3 SDRAM(Share with GPU)(256MB version is Standard version)
  • 10/100M Ethernet RJ45 POE is default off
  • WiFi with XR819, IEEE 802.11 b/g/n
  • 26 Pin GPIO Header
  • 13 Pins Header, with 2x USB, IR pin, AUDIO(MIC, AV)

You can get more information from their official page and pick one up from Amazon.

Preview Product Price Orange Pi Zero Single Board Computer Quad Core Open-Source Development Board 512MB with WiFi Antenna $12.88 Buy on Amazon 5. Orange Pi i96

At $8.8 this board is smallest one yet at 6cm x 3cm. It uses the RDA8810PL SOC meant for a fairly advanced feature phone. The board is suited for camera applications(according to the manufacturer) can capture upto 1080p at 30fps. It has a fairy good IO for the price.

Key Specifications

  • RDA8810PL ARM Cortex-A5 32bit single core processor
  • Vivante’s GC860 GPU
  • Integrated 256MB LPDDR2 SDRAM
  • WiFi + BT using the RDA5991
  • CSI Camera Input
  • 40 pin GPIO header

You can get more information from their official page and pick one up from here.

6. Orange Pi PC

This board packs in a lot of goodies for $15. It’s one of the very few boards which offer 1GB of RAM at such a price point. It uses the Allwinner H3 SOC and can decode 4K HEVC/H.265 video. It has an HDMI port with support for HDCP , CEC as well. This SBC can make a good media box with the right software. It even has onboard IR Receiver and a Microphone.

Key Specifications

  • Allwinner H3 Quad-core Cortex-A7 , 1.6GHz
  • 1GB DDR3 (shared with GPU)
  • HDMI with support for 4K video
  • CSI Camera interface and onboard microphone
  • SD Card slot
  • IR Receiver
  • 3.5mm Audio Jack
  • Ethernet
  • No WiFi/Bluetooth onboard

There is also a cut down version of the Orange Pi PC powered by the same SOC but with less RAM.

You can get more information from their official page and pick one up from here.

7. Orange Pi One & Orange Pi Lite

These two boards are also powered by the Alwinner H3 SoC used in the Orange Pi PC. But these come with 512MB of RAM instead of the 1GB offered by the Orange Pi PC.

Key Specifications

  • Allwinner H3 Quad Core
  • HDMI with 4K support
  • SD Card slot
  • 512 MB of DDR3 RAM
  • CSI Camera Interface

The Orange Pi Lite comes in at $12, it does not feature an on-board Ethernet and offers WiFi instead. It also has onboard microphone and IR receiver. You can get more info from their official page and buy one from here.

The Orange Pi One on comes in at $11 and features on-board Ethernet for wired networking and does not offer any WiFi support. You can get more info from their official page and buy one from here.

Before we finish up with the Orange Pi boards, I do want to quickly mention a couple more boards they offer for custom applications.

  • Orange Pi R1 – This is a tiny board with dual Ethernet ports, you can use it to build a network device.
  • Orange Pi 2G IOT & Orange Pi 3G IOT- These boards feature 2G & 3G cellular connectivity for IoT Applications.

These boards also cost less than $20 and you can check them out on their official website.

8. NanoPi Neo LTS

Starting at $9.99, this board is very simple and tiny(4cm x 4cm), a similar form factor as the Orange Pi Zero. Unlike the Orange Pi Zero it is powered by the more powerful Allwinner H3 SoC and upto 512MB of RAM. It does not feature any onboard WiFi/BT chipset but you can add one via the USB port. This is a really good board to run headless Linux servers, DNS filters like Pi-Hole and it’ll make a really good edge device for any IoT Applications. Using the GPIO you can expand the functionality to match your needs.

Key Specifications

  • Allwinner H3 Quad Core Cortex A7 upto 1.2GHz
  • Upto 512 MB of RAM
  • Micro SD slot (upto 128GB)
  • 10/100 Ethernet
  • Additional interfaces via the abundant GPIO

You can get more information and also purchase them from their official page .

There is a bare bones version of the NanoPi NEO called the NanoPi NEO Core LTS which adds eMMC for industrial applications and lets go of the onboard USB and Ethernet ports. All features are available via the GPIO expansion. You can check it out here .

There is also a WiFi/BT version of the NanoPi NEO called the NanoPi NEO Air which also adds eMMC and camera input and lets go of the onboard USB and Ethernet ports. You can check it out here.

9. Zero Pi

This is one of my favorite boards from this round up, it costs $9.99 and has a fast 1Gbps Ethernet onboard. With the Allwinner H3 at its heart, this can be a very powerful and tiny machine on your network. It supports OpenWRT which is great considering the 1Gbps Ethernet. You can easily run multiple instances of Pi-Hole along with a DNS Server.

Key Specifications

  • Allwinner H3 Quad Core Cortex A7 at upto 1.2GHz
  • 512MB of RAM
  • USB 2.0 Port
  • Support for OpenWRT

You can get more information and also purchase them from their official page .

10. NanoPi NEO 2

At $19.99 , the NanoPi NEO 2 costs twice the NEO. It retains the same form factor and brings in the Allwinner H5 SoC and 1Gbps Ethernet. This makes the board a tiny power house.

Key Specifications

  • Allwinner H5, Quad-core 64-bit high-performance Cortex A53
  • Hexacore Mali450 GPU
  • 512MB RAM
  • 1Gbps onboard Ethernet
  • 24 pin GPIO
  • Functional headers for Audio and other interfaces like IR

You can get more information and also purchase them from their official page .

That’s about all the boards in the NanoPi series, they also have a few more interesting boards with dual 1Gbps ports and a couple focused around camera.

11. La Frite

From the makers of the Le Potato , this board at $20 is mainly geared towards applications involving media consumption or media streaming. It supports 1080p video playback with HDR metadata via the HDMI 2.0 port. It supports the latest Android 9/TV, upstream Linux, u-boot, Kodi, and more.

Key Specifications

  • Amlogic S805X SoC, Quad Core Cortex-A53 @ 1.2GHz
  • Upto 1GB DDR4 SDRAM
  • Amlogic Video Engine 10, support for H.264,H.265 and VP9 decoding upto 1080p 60fps
  • 100Mbps Ethernet
  • IR Receiver
  • 40 pin GPIO

You can get more information from their official page .

12. Onion Omega2+

If you’re looking for an IoT application the Onion Omega 2+ can be a good alternative to the Raspberry Pi Zero. It is an IoT centric development platfrom and runs on LEDE (Linux Embedded Development Environment) Linux OS – a distribution based on OpenWRT.

Key Specifications

  • MT7688 SoC
  • 2.4 GHz IEEE 802.11 b/g/n WiFi
  • 128 MB DDR2 RAM
  • 32 MB on-board flash storage
  • MicroSD slot
  • USB 2.0
  • 12 GPIO pins

You can pick one up as bare bones module for $13 or various kits from their website.

13. VoCore2

The VoCore2 is definitely the smallest of the bunch, the bare-bones module is only 1″x1″ in size and costs $17.99. The tiny size makes it easy to embed in different applications and allows selective expansion of features based on the need. It is powered by the MediaTek MT7628 which was specially designed for low to mid-range routers. The manufacturer claims that they’ll keep up the production till 2025 which is really good.

Key Specifications

  • MediaTek MT7628, 580 MHz, MIPS 24K
  • 128MB RAM, DDR2 166MHz
  • Ethernet – 1 port/5 ports, up to 100Mbps
  • Wireless – 802.11n, 2T2R, speed up to 300Mbps
  • Storage – 16M NOR on board, support SDXC up to 2TB
  • One on board U.FL slot (Antenna Connector)

You can get more information about the board from here and pick one up from their official website.

Wrapping up

It’s undeniable that there are all kinds of SBC’s available in various form factors and feature sets for a wide variety of use cases. On top of that most of these are open source designs and run on open source software. An absolute wonderland for a hardcore tinkerer.

With COVID-19 hanging around it might be a little tough to get your hands on these boards. Let’s hope things get better soon!

If you guys know of any other interesting alternatives for the Raspberry Pi Zero and Zero W put them in the comments below and we’ll check them out.

Video Trimmer: A No-nonsense, Simple Video Trimming Application for Linux Desktop

Monday 20th of July 2020 09:29:34 AM

Brief: A dead simple tool to trim videos quickly without re-encoding it. Here, we take a look at what it offers.

You probably are already aware of some of the best free video editors for Linux but not everyone needs all the features offered.

Sometimes you just want to perform a single operation quickly, for instance — trimming a video.

Would you rather choose to explore a full-fledged video editor just to perform a simple trim operation or prefer a quick tool to help you trim the video?

Of course, it would depend on your personal preferences and what you’d want to do with the video. But, for the majority of the users, a tool that makes it super easy to trim a video will be the preference.

Hence, I’d like to highlight a dead simple open-source tool to trim videos quickly – “Video Trimmer“.

Video Trimmer: A simple application to trim videos quickly

Video Trimmer is an open-source application that helps in trimming video clips without re-encoding them.

So, basically, you’ll be able to trim videos without losing the original quality.

All you have to do is – just open the video file using Video Trimmer and then select the region to trim using the mouse.

You can manually set the time range to trim or just drag the region to trim using the mouse. Of course, it could take a while to manually set the timestamp if it’s a long video file and you don’t know where to look at.

To give you an idea, take a look at the screenshot below to see the options available when using Video Trimmer:

Installing Video Trimmer on Linux

Video Trimmer is only available as a Flatpak package on Flathub. So, you should be able to install it on any Linux distribution with Flatpak support without any issues.

In case you didn’t know about Flatpak, you might want to refer our guide on using and installing Flatpak.

If you’re using Arch or Manjaro, you can find it listed on AUR (Arch User Repository) as well.

Video Trimmer (Flathub) Wrapping Up

Video Trimmer uses ffmpeg underneath it. What it does can be done easily using ffmpeg commands in the terminal. But then not everyone wants to use terminal for cutting part of a video. Tools like Video Trimmer help such people (like me).

For some reason, if you want to look for an alternative to this, you may try VidCutter as well. Of course, you can always rely on top video editors available for Linux (like OpenShot) to trim videos along with the ability to perform some advanced operations.

What do you think about using “Video Trimmer” on Linux? Do you already have another favorite video trimming tool? Let me know your thoughts in the comments below!

Why People Are Crazy About Arch Linux? What’s so Special About it?

Sunday 19th of July 2020 06:13:20 AM

BTW, I use Arch!

You may have come across this term in Linux forums, discussion or in memes.

You might wonder why Arch Linux is so popular? Why people like it so much when there are easier to use, if not better, Arch-based distributions available.

In this article, I’ll list some of the reasons why Linux users like to use Arch Linux.

6 reasons why people love to use Arch Linux

Now, this is my perception. There is no set rule, of course, why you should be using Arch Linux. It’s what I have observed in my over a decade of experience with Linux users and communities.

Let’s see why Arch Linux is so popular.

1. The DIY approach gives you the control over every aspect of your operating system

I have always found Arch Linux as a DIY (Do It Yourself) operating system. From installing to managing, Arch Linux lets you handle everything.

You decide which desktop environment to use, which components and services to install. This granular control gives you a minimal operating system to build upon with elements of your choice.

If you are a DIY enthusiast, you’ll love Arch Linux.

2. With Arch Linux, you get a better understanding of how Linux works Installing Arch Linux by creating partition and making filesystem via command line

If you ever tried to install Arch Linux, you know the complexity that comes with it.

But that complexity also means that you’ll be forced to learn things that you probably never bother to in other distributions.

For example, configuring network itself while installing Arch Linux is a good learning lesson.

If you start to get overwhelmed, Arch Wiki is there for you. It is the most extensive and awesome community-managed documentation on the internet. Just browsing through Arch Wiki will teach you plenty of things.

3. Latest kernel and software with rolling release model System update in Arch Linux

Arch Linux is a rolling release distribution. That means new kernel and application versions are rolled out to you as soon as they are released.

While most other Linux distributions serve you old Linux kernel versions, Arch is quick to provide you the latest kernel.

The same goes for software. If a new version of software in the Arch repositories is released, Arch users get the new versions before other users most of the time.

Everything is fresh and cutting edge in the rolling release model. You don’t have to upgrade operating system from one version to another. Just use the pacman command and you always have the latest version.

4. Arch User Repository aka AUR

Arch Linux has plenty of software in its repository. The AUR extends the software offering of Arch Linux. You get a huge number of software with AUR in Arch Linux.

AUR is the community driven approach to provide newer applications. You can search and install applications with the help of an AUR helper tool.

5. Sense of accomplishment

As James Clear mentions in his book Atomic Habits, human brain loves a challenge, but only if it is within an optimal zone of difficulty.

Remember the feeling when you first installed any Linux distribution even if it was installing Linux Mint? That gave you a sense of achievement. You successfully installed Linux!

If you have been using Ubuntu or Fedora or other distribution for some time and you start to get comfortable (or bored), try installing Arch Linux.

For a moderately experienced Linux user, successfully installing Arch Linux itself gives a sense of accomplishment.

It is a challenge but an achievable one. If you suggest a new Linux user to try Arch Linux or even more complicated one like Linux From Scratch, the challenge would be too difficult to achieve.

This sense of successfully completing a challenge is also one of the reasons why people use Arch Linux.

6. No corporate involvement! Arch is created, supported and owned by community

Ubuntu is backed by Canonical, Fedora is from Red Hat (part of IBM now) and openSUSE is from SUSE. All these major distributions are corporate backed.

This is not bad or crime in itself. But a few people do not like corporate involvement in open source projects.

Like Debian, Arch Linux is one of the rare few community-only Linux distribution projects.

You may point out that many other distributions like Linux Mint etc are also not sponsored by corporate. Well, that might be true but Linux Mint itself is based on Ubuntu and uses Ubuntu’s repositories. Arch Linux is not derivative of another distribution.

In that sense, Debian and Arch Linux are more pure community-driven projects. It may not matter to many people but a few people do care about such things.

According to you, why Arch Linux is so popular?

Now, you may not agree with all the points I made and that’s okay. I would like your views on why Arch Linux is so popular and has cult status among Linux users?

While you write the comments, let me share a BTW, I use Arch meme :)

Ubuntu 19.10 Reaches End of Life. Upgrade to Ubuntu 20.04 As Soon As Possible!

Friday 17th of July 2020 04:08:40 AM

Ubuntu 19.10 Eoan Ermine has reached end of life. That it means it won’t get any security or maintenance updates. Continue using Ubuntu 19.10 would be risky as your system may be vulnerable in future for the lack of security updates. You should upgrade to Ubuntu 20.04.

Ubuntu 19.10 was released in October 2019 bringing some new features that prepared a base for Ubuntu 20.04.

As a non-LTS release, it had a lifespan of nine months. It has completed its life cycle and as of 17th July 2020, it won’t be getting any updates.

End of life for Ubuntu 19.10

I have explained Ubuntu release cycle and end of life in detail earlier. I’ll reiterate what it means to you and your system if continue using Ubuntu 19.10 beyond this point.

Software usually have a predefined life cycle and once a software version reaches end of life, it stops getting updates and support.

Beyond the end of life, Ubuntu 19.10 won’t get system updates, security updates or application updates from Ubuntu anymore.

If you continue using it, your system may fell victim to potential cyberattacks as hackers tend to exploit vulnerable system.

Later, you might not be able to install new software using apt command as Ubuntu will archive the repository for 19.10.

What to do if you are using Ubuntu 19.10?

First, check which version of Ubuntu you are using. This can be done quickly by entering this command in the terminal:

lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 19.10 Release: 19.10 Codename: Eoan

If you see Ubuntu 19.10, you should do either of these two things:

  • If you have a good speed, consistent internet connection, upgrade to Ubuntu 20.04 from within 19.10. Your personal files and most software remain untouched.
  • If you have a slow or inconsistent internet connection, you should do a fresh installation of Ubuntu 20.04. Your files and everything else on the disk will be erased so you should make backup of your important data on an external disk.
How to upgrade to Ubuntu 20.04 from 19.10 (if you have good internet connection)

I have discussed the Ubuntu version upgrade in details previously. I’ll quickly mention the steps here as well.

First, make sure that your system is set to be notified of new version in Software & Updates.

Go to Software & Updates:

Go to Updates tab and set “Notify me of a new Ubuntu version” to “For any new version”:

Now, install any pending updates.

Now, run Update Manager tool again. You should be given the option to upgrade to Ubuntu 20.04. Hit the upgrade button and follow the instructions.

It installs packages of around 1.2 GB. This is why you need a good and consistent internet connection.

Upgrading this way keeps your home directory as it is. Having a backup on external disk is still suggested, though.

Are you still using Ubuntu 19.10?

If you are still using Ubuntu 19.10, you must prepare for the upgrade or fresh installation. You must not ignore it.

If you don’t like frequent version upgrades like this, you should stick with LTS versions that are supported for five years. The current LTS version is Ubuntu 20.04 which you’ll be upgrading to anyway.

Were/are you using Ubuntu 19.10? Have you already upgraded to Ubuntu 20.04? Let me know if you face any issue or if you have any questions.

OpenCV Project Announces Raspberry Pi-like Hardware Kits to Make Embedded AI Projects

Thursday 16th of July 2020 10:17:34 AM

In the vast field of artificial intelligence, computer vision and image recognition is perhaps what most people take interest in.

Computer Vision is how the machine analyzes the images and videos

If you are interested in this field, you must have heard of OpenCV. OpenCV is a popular open source project aimed at real-time computer vision.

The OpenCV project has announced its hardware project: OpenCV Artificial Intelligence Kit (OAK). It is basically a Raspberry Pi like single board computer specially focused on Computer Vision. This project is running a Kickstarter funding campaign.

If you’re someone already working on computer vision, you may have heard of Nvidia Jetson Nano developer kit as one of the Raspberry Pi alternatives tailored for AI projects.

Even though Jetson Nano could be a better option for AI projects, it looks like OpenCV AI kit actually makes it easy to get started with building projects with OpenCV out of the box.

Let’s take a look at some details.

OpenCV AI Kit Overview Oak And Oak D Size Comparison with a coin

OpenCV AI Kit (OAK) is an MIT-licensed open source software and Myriad X-based hardware solution for computer vision by OpenCV (if that wasn’t obvious).

You can train your own neural networks or just get started with tracking and detecting things using the existing neural networks that include mask/no-mask detection, age recognition, face detection, object detection, vehicle detection, and more.

Not to forget, you can always use OpenVINO to deploy your own model using any available dataset.

You will find two variants of the kit — OAK-1 and OAK-D.

The OAK-1 includes a 4K AI camera module and the OAK-D features a three-camera setup, both leveraging the stereo depth sensor.

OAK-1 and OAK-D supports Linux, Windows, and macOS as hosts.

Even though the OAK API software lets you do a lot of things, there are some board-specific features for OAK-1 and OAK-D that you can find on their Kickstarter campaign page.

As an overview, the official announcement sums up what the OpenCV AI Kit is made up of:

  • A single-camera 4k @ 60fps hardware module which includes a Myriad X and is a tiny 45 mm x 30 mm.
  • A module with a 4k @ 60fps camera and stereo depth cameras which provide spatial 3D tracking capability. It is about the size of a Raspberry Pi.
  • A nsoftware library for advanced on-device real-time neural network processing for the OAK boards.
  • Both boards can run Deep Learning models for image classification, object detection, segmentation, human pose estimation, and many more in real time even on low-power hosts like the Raspberry Pi.
OpenCV AI Kit Pricing & Availability

For now, you can’t get your hands on it without being a backer on Kickstarter.

But, it’s good to see that the funding goal of $20,000 was completed in about 20 minutes of launching the campaign or so as they claim.

However, you might want to join in as a backer on Kickstarter because the retail pricing of the AI kit will be twice as what you see right now.

The OAK-1 is priced at $99 and the OAK-D is available for $149, which was just $79 and $129 for early bird backers.

After the Kickstarter campaign ends, you may notice a retail price of $199 and $299 respectively.

Looking at other Myriad-X based options, OpenCV AI Kit looks a lot more promising, cheaper, and easy to get started.

And, considering that they’re a company you can vouch for — it might be a good time to become a backer if you want to get your hands on it.

Wrapping Up

Looking at the pricing and the feature list, it’s definitely a unique offering to what already exists out there.

What do you think about it? Let me know your thoughts on the same.

Decentralized Messaging App Riot Rebrands to Element

Thursday 16th of July 2020 06:25:27 AM

Riot is/was a decentralized instant messaging app based on the open source Matrix protocol.

In late June, Riot (the instant messaging client) announced that they would be changing their name. Yesterday, they revealed that their new name is Element. Let’s see more details on why Riot changed its name and what else is being changed.

Why change the name from Riot to Element?

Before we get to the most recent announcement, let us take a look at why they changed their name in the first place.

According to a blog post dated June 23rd, the group had three reasons for the name change.

First, they stated that “a certain large games company” had repeatedly blocked them from trademarking the Riot and Riot.im product names. (If I had to guess, they are probably referring to this “games company”.)

Second, they originally chose the name Riot to “evoke something disruptive and vibrant”. They are worried that people are instead thinking that the app is “focused on violence”. I imagine that current world events have not helped that situation.

Thirdly, they want to clear up any confusion created by the many brand names involved with Riot. For example, Riot is created by a company named New Vector, while the Riot is hosted on Modular which is also a product of New Vector. They want to simplify their naming system to avoid confusing potential customers. When people look for a messaging solution, they want them to only have to look for one name: Element.

Element is everywhere

As of July 15th, the name of the app and the name of the company has been changed to Element. Their Matrix hosting service will now be called Element Matrix Services. Their announcement sums it up nicely:

“For those discovering us for the first time: Element is the flagship secure collaboration app for the decentralised Matrix communication network. Element lets you own your own end-to-end encrypted chat server, while still connecting to everyone else in the wider Matrix network.

They chose the name Element because it “reflects the emphasis on simplicity and clarity that we aimed for when designing RiotX; a name that highlights our single-minded mission to make Element the most elegant and usable mainstream comms app imaginable”. They also said they wanted a name “evokes the idea of data ownership and self-sovereignty”. They also thought it was a cool name.

More than just a name change

The recent announcement also makes it clear that this move is more than just a simple name change. Element has also released its “next generation Matrix client for Android”. The client was formerly known as RiotX and is now renamed Element. (What else?) It is a complete rewrite of the former client and now supports VoIP calls and widgets. Element will also be available on iOS with support for iOS 13 with “entirely new push notification support”.

The Element Web client has also received some love with a UI update and a new easier to read font. They have also “rewritten the Room List control – adding in room previews(!!), alphabetic ordering, resizable lists, improved notification UI and more”. They have also started working to improve end-to-end encryption.

Final thought

The people over at Element are taking a big step by making a major name change like this. They may lose some customers in the short term. (This could mainly be due to not being aware of the name change for whatever reason or not liking change.) However in the long run the brand simplification will help them stand out from the crowd.

The only negative note I’ll mention is that this is the third name change they have made in the app’s history. It was originally named Vector when it was released in 2016. The name was changed to Riot later that year. Hopefully, Element is here to stay.

If you found this article interesting, please take a minute to share it on social media, Hacker News, or Reddit.

How to Install Linux Mint 20 [The Simplest Way Possible]

Wednesday 15th of July 2020 06:25:01 AM

Undoubtedly, Linux Mint is one of the best Linux distributions for beginners. It is easy to use, doesn’t consume lots of system resource and has tons of software available.

Linux Mint 20 is released. There are some performance improvements and several new features in Mint 20.

There are various ways to install Linux Mint:

In this tutorial, I’ll show you how to install Linux Mint removing other operating systems from your computer.

Install Linux Mint by replacing Windows or any other operating system

I am using Linux Mint 20 Cinnamon edition. However, the steps work for other Mint versions and desktop variants like Xfce and MATE. The screenshot might look a little bit different but the steps remain the same.

Requirements:

  • A USB of at least 4 GB in size. You may also use a DVD.
  • Active internet connection for downloading Linux Mint ISO and live-USB making tool. Internet is not required for installing Linux Mint.
  • This is optional but if you have important data on the system where you are going to install Linux Mint, you should copy the files on an external disk.

Minimum system requirements for Linux Mint 20 default Cinnamon edition:

  • Minimum 1 GB RAM (2 GB recommended for a comfortable usage).
  • Minimum 15 GB of disk space (20 GB recommended).
  • Minimum 1024×768 resolution (on lower resolutions, press ALT to drag windows with the mouse if they don’t fit in the screen).

Warning!

This method of installing Linux Mint formats your entire disk. That means any data present on the system will be wiped out.

For this reason, please save your data on an external USB disk so that you can copy it back after installing Mint.

Step 1: Download Linux Mint ISO

Go to Linux Mint website and download Linux Mint in ISO format. This file is used for creating the installation USB.

Download Linux Mint

You’ll find three variants:

  • Cinnamon
  • MATE
  • Xfce

If you do not know about them, go with the default Cinnamon edition. When you click on that, you’ll find various mirror websites and torrent link to download the ISO file.

If you have a good internet connection for downloading 2 GB of file without any issue, use a mirror which is closer to your country of residence (for faster download).

If you do not have a good, consistent internet connection, opt for the torrent version (if you know what torrent is).

Download Linux Mint Step 2: Create a live USB of Linux Mint

Now that you have downloaded the ISO, it is time for creating a live USB of Linux Mint.

You’ll need a dedicated software that creates a live USB. There are several such tools available for free. You can use Etcher which is available on Windows, Linux and macOS.

If you are using Windows, you can also use Rufus. In the example here, I have used Rufus.

Download Rufus and run the .exe file and you’ll see a screen like the below image.

You select the ISO. You may confuse over the partitioning scheme. Almost all the computers in last 7 years or so use GPT partitioning scheme. Older computers may use the MBR partitioning. You should check which one your system uses to be sure.

If you choose the incorrect partitioning scheme, you may not be able to Linux Mint. In that case, come back to this step and recreate the USB by choosing the other partitioning scheme.

Step 3: Boot from the live Linux Mint USB

Once you have successfully created the Linux Mint USB, it is time to use it for installing the awesome Linux Mint.

Plug in the live USB of Linux Mint and restart your system. At the boot screen when you see the logo of your computer manufacturer, press F2 or F10 or F12 to enter the BIOS settings.

In here, you should make sure that booting for USB or removable media is on the top of the boot order.

Move the USB on the top of the boot order

This screen may look different for different manufacturers. You’ll have to find this setting on your own or search the internet.

Make the changes, save and exit.

Step 4: Install Linux Mint

Now you should boot into the live Linux Mint environment. You’ll see a screen like this that gives you a couple of options. Go with the first option.

In a few seconds you’ll be inside the Linux Mint live environment. It may take more time if you have USB 2.

You’ll see a “Install Linux Mint” icon on the desktop. Click on it to start the installation procedure.

It will ask you to choose some basic configurations like language and keyboard layout. Choose the most appropriate ones for your system.

Avoid connecting to internet during installation

I strongly advise NOT connecting to internet while installing Linux Mint. This way the installation is quicker as it does not try downloading updates while installation.

Not connecting to the internet may also save you a few unpleasant surprises. I encountered a “‘grub-efi-amd64-signed’ package failed to install into /target” error and my installation failed. I plugged out the live USB and tried installing it again without connecting to the internet and the error didn’t appear this time.

The next screen is the most important part of Linux Mint installation. You are going to format the entire hard disk and install Linux Mint. Linux Mint will be the only operating system on your computer.

Again, this means that you’ll lose all the data on the disk. Please copy important files on an external disk.

In this method, Linux Mint handles everything on its own. It creates an ESP partition for EFI boot manager of about 500 MB and the rest of the disk is allocated to root partition. The root consists a swapfile for swap usage and your home directory. This is the easiest setup with no extra effort.

You’ll be warned that disk will be formatted. Hit continue and you’ll have to select timezone in the next. You may change it later as well.

Timezone Selection Linux Mint

After that, you’ll face a screen that asks you to set username and password. Use an easy to remember password because you’ll have to use it all the time.

Create User and Password While Installing Linux Mint

Things are pretty straightforward from here. You just have to wait for like 5-10 minutes for the installation to complete.

Once the installation finishes, it will ask you to restart the system. Restart it.

Linux Mint Installation Finishes

When the system turns off, it also asks you to remove the live USB and press enter.

Remove the USB and press enter

Well, that’s it. You’ll now boot into Linux Mint. Enter your password you had created earlier and you’ll enter Linux Mint to see a welcome screen like this:

Linux Mint Welcome Screen Enjoy Linux Mint

Since you just installed it, do read our recommendation of things to do after installing Linux Mint 20.

I hope this tutorial helped you in installing Linux Mint 20 easily. If you face any issues or difficulties or if you have any confusion, feel free to leave a comment below.

espanso: An Open Source Cross-Platform Text Expander That Will Help You Type Faster and be More Productive

Monday 13th of July 2020 12:08:28 PM

Brief: espanso is a cross-platform text expander tool written in Rust. A text expander lets you use shortcuts instead of typing long words and sentences.

If you’re using keyboard macros or mouse macros, you’re probably already saving a lot of time to get things done.

But, you can’t just use macros to type everything. Yes, maybe a thing or two, but not a lot of things. And, for that very reason, a text expander should come in very handy.

In this article, I’ll take a look at espanso, which is an open-source text expander.

espanso: Open Source Text Expander

espanso is an interesting open-source text expander tool with cross-platform support that’s written in Rust programming language.

It doesn’t offer a GUI (Graphical User Interface) to customize or control. You’ll have to resort to terminal or changing YML files for any configuration change. The default settings make it pretty easy to use it.

Basically, it lets you utilize short codes or keywords to quickly write a piece of text. To start with, it offers one basic short code to type the date.

For instance, when you type “:date”, espanso will replace quickly replace it by adding the date as “07/13/2020“. By default, the date format is in the form of MM/DD/YYYY — but you can easily change it (we’ll take a look at it later in this article).

Similarly, you can have any custom keywords or short codes like “:sayhello” to type “Hi there! My name is Ankush Das”

Features of espanso

Here’s what espanso offers to get you more productive:

  • Supports text expansions when using a shell to help you keep things faster
  • Execute custom scripts with the help of espanso’s keywords
  • Supports adding emojis (needs additional installation)
  • Save code snippets and re-use them with espanso
  • System-wide integration
  • Application-specific configuration option
  • Cross-platform support

In addition to the features I’ve listed, you can actually get a lot more things done if you explore more use-cases and try it out on your system.

Installing espanso on Linux

You can get the DEB package from its GitHub releases section to install it on any Ubuntu-based distribution. Even though most of you know how to install a .deb package, if you’re new, you may take a look at the ways to install DEB files in Ubuntu.

For Ubuntu-based distros, if you encounter an error to launch it from the terminal, make sure to type in the command below to ensure that you have the necessary packages for it to work:

sudo apt update sudo apt install libxtst6 libxdo3 xclip libnotify-bin

You can also install it on your Arch system / Manjaro distribution through AUR.

For other Linux distribution, you can use the snap package to get it installed.

If you didn’t know about installing snaps, I’d recommend you to refer our guide on installing and using snaps on Linux.

For installation and download instructions, you can refer to espanso’s official installation instructions.

Download Espanso How To Use espanso?

Because there’s no GUI, some of you may need some time to figure out how it works. So, to save you the trouble, let me share a few tips to get started using espanso.

Launching & Setting it up

Once you’ve successfully installed espanso, you need to launch it to set it up.

To do that, simply type in the following in the terminal:

espanso start

It should ask you to add the process to launch when your computer boots up, you can allow it to proceed if you want it that way. If you hit no, you will have to manually start espanso manually every time you log in to your system.

You can always register the service to systemd later by typing the following command:

espanso register

To verify if it’s running, you may want to type in:

espanso status

Sometimes the shortcodes might conflict with your regular usage. So, when you need to stop it, just hit the following in the terminal:

espanso stop

You can explore more commands and options for espanso by typing “espanso” or “espanso -h” in the terminal to get the details.

Basic Configuration of Expanded Texts

You might want to refer the official documentation if you’re using Windows or macOS. Here, I’ll show you how to customize or add custom expanded texts on Linux.

To get started, navigate your way through the home directory (by enabling the hidden files) and head into the /.config/espanso folder.

Once you’re here, you’ll find a default.yml file as shown in the screenshot above. This is the default configuration file of espanso.

You have to open it with your default text editor. It should look something like this:

If you look close enough, you can notice the preset texts and the short codes or keywords for it.

You can choose to edit the existing ones (just like I modified the format of the date in the screenshot above) or add new ones as required.

When you want to add a new keyword for text expansion, you can do that by simply copy-pasting the following format right below the existing matches:

- trigger: ":YourKeywordHere" replace: "Text That You Want To Be Replaced With The Keyword"

You need to add your custom keywords and text as needed and save the modifications to the file and it’s done!

You may get a notification of a successful configuration re-load. If you don’t, simply head to the terminal and restart espanos to see refresh the new configuration.

If it gives you an error, you might want to adjust the spacing of what you wrote and make sure it’s correct. To give you an idea, here’s how it looks after adding new keywords:

Espanso Modified Configuration file

Here, I’ve pointed out an example of basic customization. You can also perform application-specific matches and other advanced configuration by following the official documentation.

Wrapping Up

While I didn’t know about this amazing tool before covering it – but now that I do, it’s proving to be a very useful tool that could save me a lot of time.

What do you think about espanso? Let me know your thoughts in the comments below!

Top 5 Open Source Video Conferencing Tools for Remote Working and Online Meetings

Sunday 12th of July 2020 05:52:26 AM

You will find several video conferencing tools available online. Some are tailored for professional use and some for daily casual conversations.

However, with hundreds of options to choose from, security and privacy is often a concern when picking a video conferencing app or service. Among the list of options, what’s usually the best and the most secure service?

Well, all (or most of them) claim to provide the best possible security and privacy. But you know that this cannot be taken at face value.

Fortunately, at It’s FOSS, we focus on open-source solutions and privacy-friendly options. So, let’s take a look at a list of open-source video conferencing tools that you can utilize.

Top Open Source Video Conferencing Solutions

Most of the video conferencing solutions can be installed on your own servers if you are a small business or enterprise.

For normal, non-sysadmins, some of these solutions also provide ready-to-use, free, web-based video conferencing service. I’ll mention this information in the description of each item on the list.

Note: The list is in no particular order of ranking.

1. Jitsi Meet

Jitsi Meet is an impressive open-source video conferencing service. You can easily find out more about it on our separate coverage on Jitsi Meet.

To give you a head start, it offers you free official public instance to test it and use it for free as long as you need it.

If you need to host it on your server while customizing some options for your requirements, you can download it from its official website for your server.

Even though they offer an electron-based app on Linux, you don’t need to download an app on your desktop to set it up. All you need is a browser and you’re good to host a group video call. For mobile, you will find apps for both Android and iOS.

Jitsi Meet 2. Jami

Jami is a peer-to-peer based open-source video conferencing solution. It’s good to see a distributed service that does not rely on servers but peer-to-peer connections.

Of course, a distributed service has its pros and cons. But, it’s free and open-source, that’s what matters.

Jami was previously known as Ring messenger but it changed its name and is now a GNU project.

Jami is available for Linux, Windows, macOS, Android, and iOS, So, it’s a pure cross-platform solution for secure messaging and video conferencing. You can take a look at their GitLab page to explore more about it.

Jami 3. Nextcloud Talk

Nextcloud is undoubtedly the open-source Swiss army of remote working tools. We at It’s FOSS utilize Nextcloud. So, if you already have your server set up, Nextcloud Talk can prove to be an excellent video conferencing and communication tool.

Of course, if you don’t have your own Nextcloud instance, you will require some technical expertise to set it up and start using Nextcloud Talk.

Nextcloud Talk 4. Riot.im

Riot.im (soon going to be rebranded) is already one of the best open source alternatives to slack.

It gives you the ability to create communities, send text messages, and start video conferences in a group/community. You can use it for free by using any of the public Matrix servers available.

If you want your own dedicated decentralized Matrix network, you can also opt for paid hosting plans on Modular.im.

Riot.im 5. BigBlueButton

BigBlueButton is an interesting open-source video conferencing option tailored for online learning.

If you are a teacher or running a school, you might want to try this out. Even though you can try it for free, there will be limitations for the free demo usage. So, it’s best to host it on your own server and you can also integrate it with your other products/services, if any.

It offers a good set of features that let you easily teach the students. You can explore its GitHub page to know more about it.

BigBlueButton Additional mention: Wire

Wire is a quite popular open-source secure messaging platform tailored for business and enterprise users. It also offers video calls or web conferencing options.

If you wanted a premium open-source option dedicated for your business or your team, you can try Wire and decide to upgrade it after the 30-day trial expires.

Personally, I love the user experience, but it comes at a cost. So, I’d recommend you to give it a try and explore its GitHub page before you decide

Wire Wrapping Up

Now that you know some popular open-source web conferencing options, which one do you prefer to use?

Did I miss any of your favorites? Let me know your thoughts in the comments below!

How to Use the eopkg Commands to Manage Packages in Solus Linux

Friday 10th of July 2020 06:41:59 AM

As a distribution built from scratch, the number of packages available in Solus repositories is limited, unlike Arch-based distributions that have AUR. But Solus compensate it with the support for Flatpak and Snap packages.

The package manager for Solus Linux is eopkg which is based on PiSi (Packages Installed Successfully as Intended), the package manager developed for Pardus, a distribution based on Debian that has support from the Turkish government.

In this tutorial, I’ll show you some of the common usage of the eopkg that you can use to manage packages in Solus Linux.

Using eopkg package manager in Solus Linux

If you prefer to use a GUI application to manage the installed software, there’s a Software Center, that you can open from the menu. I’ll briefly touch upon it in later parts of this section.

Installing software

You can install one or more packages with eopkg in the following way:

sudo eopkg install package_1 package_2 Uninstalling software

You can remove one or more installed packages using:

sudo eopkg remove package_name Reinstalling software

If there is an issue with an installed software, you can reinstall the package using:

sudo eopkg install --reinstall package_name Search for an available package

You can search whether a package is available in Solus repository.

sudo eopkg search term

Notice that you don’t need to search for a specific software name, although you can do that. It search summaries and software names by default.

Get information on software (before or after installing them)

You can also get some additional information on a software, such as its description, version, installation size etc.

It is like apt show command in Ubuntu.

sudo eopkg info package_name Updating a specific package or all of them together

You can update your system by using:

sudo eopkg upgrade

If you want to only update a specific piece of software on your system, you can specify is like below:

sudo eopkg upgrade package_name Third Party Applications

Solus has a Third Party Repository, it contains applications that cannot be included in the primary repository due to licensing issues.

Solus Third Party Apps

Here’s a list of some of the applications available in this repository:

  • Google Chrome
  • Skype
  • Slack
  • Spotify
  • TeamViewer
  • Microsoft Core Fonts
  • Android Studio
Snap and Flatpak for additional software

As mentioned earlier, Solus supports Snap packages. Commencing with Solus 3 and above, Snap is already installed and ready to go.

sudo snap install packagename

Flatpak packages

To install Flatpak, run the following command in the terminal:

sudo eopkg install flatpak xdg-desktop-portal-gtk

To enable Flathub repository:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Restart your system, and you can install flatpak packages.

Bonust Tip: Installing LTS kernel in Solus

By default, Solus utilizes the Linux current kernel. If you run Solus on older hardware or stability is your priority you can install the LTS kernel as following.

Keep in mind that Solus still maintains the 4.9 LTS kernel (from 2016), not the latest 5.4 LTS.

Solus Mate 4.1 with LTS kernel

To Install the LTS kernel, use:

sudo eopkg install linux-lts

Now reboot.

By default, EFI installs will not show the boot menu and boot directly into Solus. By hitting space bar repeatedly during boot, the boot menu will appear.

After choosing the LTS kernel from the boot menu, use the following command to make the booted kernel the default boot option.

sudo clr-boot-manager update

If you cannot access Solus in a dual-boot scenario, typically applies to “legacy boot” (non-UEFI), can be resolved by accessing the other operating system and running the following command:

sudo update-grub Conclusion

Solus is a simple and reliable operating system. I’m a fan of the rolling release model and Solus user for quite a long time.

If you are not willing to dive deep into every Linux system parameter like you do with Arch Linux installation, then Solus is for you.

Snap and flatpak support won’t let you have limited software options, so it could be an ideal OS for the average desktop user as you won’t be bothered by point releases.

If you have tried Solus already please let me know your thoughts at the comments below.

Google’s Flutter Apps are Coming to Desktop Linux Thanks to Ubuntu

Thursday 9th of July 2020 01:35:52 PM

Flutter is Google’s open-source UI toolkit that helps developers build native apps tailored for Web, Android, iOS, and macOS (alpha stage). You might want to check out their GitHub page and documentation to learn more.

As of now, there’s no proper support for Windows — but it’s something in-progress.

But, the good news is — Canonical and Google are going to closely work together to bring Flutter app support to Linux distributions as per the official announcement:

Today we are happy to jointly announce the availability of the Linux alpha for Flutter alongside Canonical, the publisher of Ubuntu, the world’s most popular desktop Linux distribution.

In this article, we shall discuss more about it and how could it potentially help the Linux desktop community.

Flutter Apps Via Snap Store

While we’re perfectly aware that snap isn’t something everyone likes, it’s still good to see Canonical making it as easy as possible for developers to publish their apps for Linux distributions through the Snap Store.

Of course, it’s obvious that Canonical will push for snap format. But, it may not be a requirement for Flutter apps on Linux.

You can get the Flutter SDK on Snap Store or get the archived file from the official Flutter SDK page for Linux.

You might want to follow our guide on using snaps if you didn’t know that already.

So, that’s a good thing for every user, no matter if you prefer snap packages or not.

Linux as a First-Class Flutter Platform

With Linux’s market share constantly growing, it would be a good idea to have Linux as a first-class flutter platform.

Not just because Flutter is an open-source UI framework, but a lot of brands like eBay, Tencent, Philips, and others have started to embrace Flutter for their apps.

And, as per the announcement post, Canonical is well-prepared to do that:

By making Linux a first-class Flutter platform, Canonical is inviting application developers to publish their apps to millions of Linux users and broaden the availability of high quality applications available to them.

Without a doubt, the availability of more cross-platform applications on Linux using Flutter is a great way to encourage more users to start using Linux or build using Linux.

Not to forget the advantages of Linux over Windows — but having applications with cross-platform support is always a breeze. You don’t really need to look for alternative applications when you switch using a different platform (even if it’s not Linux).

Flutter Apps in Action

Before you dive in to the Flutter documentation in setting up the environment and building Flutter apps, you can go ahead and try some sample desktop apps available on Linux.

Here’s a video that showcases a sample app (Flokk Contacts) for Linux:

You can get it on Snap Store or just head to their GitHub page to explore more about it.

To give you an idea, Grant Skinner (who led the team behind Flokk Contacts) shared his experience with Flutter on Linux:

Building the Flokk Contacts app was a breeze! We were able to apply all our previous expertise in Flutter to target Linux with virtually no adjustments, and the app runs fantastically. Working with the Canonical team was a wonderful experience; they were enthusiastic, engaged, and passionate about making Flutter better not just for Linux, but for every platform. It was an amazing project, and I’m thrilled to be able to target another major OS with Flutter.

You can find more information on getting started with building apps and testing sample apps using Flutter in the official announcement.

Wrapping Up

What do you think about building apps for Linux desktop using Flutter? Have you tried the SDK yet?

Feel free to let me know your thoughts in the comments below!

BLM Effect: Linux Kernel to Adopt an Inclusive Code Language, Blocks Terms like Blacklist-Whitelist and Master-Slave

Thursday 9th of July 2020 06:12:01 AM

You probably are aware of the Black Lives Matter (BLM) movement that started in the US. After the George Floyd case, the BLM movement has gone global.

This recent wave of BLM movement has inspired people to erase terms, names, statues that have racist legacy.

Some businesses have change their product names. Aunt Jemima, Mrs Butterworth’s, Uncle Ben’s, Eskimo Pie are some of the examples.

Movies trivializing or casually bypassing racism are being removed from the streaming websites. That includes classic movies like Gone With the Wind.

The tech industry is not behind. They have started to adapt for more inclusive language, even in their coding style.

What is inclusive language?

Inclusive language aims to avoid expressions and terms that are racist, sexist, biased, prejudiced or demeaning to any particular group of people.

Inclusive language encourages the use of terms like staffing instead of manpower, homemaker instead of housewives, differently abled instead of disabled, health care consumer instead of patient, pet parent instead of pet owner.

Inclusive language in tech industry

Using inclsuive language in code in not a recent phenomenon. Open source Drupal has replaced master-slave with primary-replica four years ago. Python also dropped master-slave terminology two years back.

But thanks to the BLM movement, more organizations in the tech industry are considering to change their policies to adopt the inclusive language.

Microsoft’s GitHub is replacing terms like master-slave, blacklist-whitelist. Twitter has gone ahead and shared a list of their list of inclusive language that even replaces terms like ‘sanity check’.

We’re starting with a set of words we want to move away from using in favor of more inclusive language, such as: pic.twitter.com/6SMGd9celn

— Twitter Engineering (@TwitterEng) July 2, 2020

Calls for replacing the blackhat, whitehat, man in the middle terms in hacking industry is also gaining momentum.

Black hat and white hat are terms that need to change. This has nothing to do with their original meaning, and it’s not about race alone – we also need sensible gender-neutral changes like PITM vs. MITM.

— David Kleidermacher (@DaveKSecure) July 3, 2020 Linux kernel is implementing inclusive coding language

The Linux Kernel is not behind in adopting the new industry trend. Linux kernel maintainer from Intel, Dan Williams, has shared a proposal to introduce inclusive terminology in Linux kernel’s official coding-style document.

The guideline suggests avoiding terms like slave and blacklist. The suggested replacement for the term slave are secondary, subordinate, replica, responder, follower, proxy or performer. Recommended replacements for blacklist are ‘blocklist’ or ‘denylist’.

The guideline will be applicable to the new code being pushed to the kernel with hope of changing existing code to remove noninclusive terminology in the future.

Exceptions for introducing new usage is to maintain a userspace ABI, or when updating code for an existing (as of 2020) hardware or protocol specification that mandates those terms.

The proposal is already signed off by senior kernel maintainers Chris Mason and Greg Kroah-Hartman.

Update: Linus Torvalds has also signed off to the change. It means that it is now part of Linux kernel development code of conduct to use inclusive language.

Blacklist? Is it really a racist term?

People do wonder if blacklist is really a racist word. As Dan Williams point out in the proposal, etymologically, the term doesn’t have a racist connection. He points out:

Realize that the replacement only makes sense if you have been socialized with the concepts that ‘red/green’ implies ‘stop/go’. Colors to represent a policy requires an indirection. The socialization of ‘black/white’ to have the connotation of ‘impermissible/permissible’ does not support inclusion.

This is true. If you look deeply, it indirectly implies black = bad, white = good. Black magic is bad magic, white noise is good noise, black hat hacker is an evil person, white hat hacker is a good person. Of course, this is more to do with darkness rather than the color itself.

Changing the words alone won’t help

Changing names only won’t make a difference. Just changing the term physically disabled to differently abled won’t make the lives better for people with wheelchair if the buildings and streets don’t provide accessible infrastructure.

Big corporate and organizations are more focused on improving their image by changing their brand names and dropping supposedly noninclusive words. This is being pointed by activists as well:

Real problem: realtors don't show black people all the properties they qualify for. Fake problem: calling the master bedroom the master bedroom. Fix the real problem, realtors. https://t.co/Qq7yQ8Gb3g

— John Legend (@johnlegend) June 27, 2020 What do you think?

I wonder if one day someone starts a proposal to change man page to people page in order to make it more inclusive by removing the gender-specific term ‘man’.

The only problem is that the ‘man’ in man page doesn’t indicate a man. Man is short for manual and that word originates from Latin word manus meaning hand.

What are your views on adapting inclusive language in coding guidelines? Do you think it’s a step in the right direction? Will it help bring equality and inclusivity? Do share your views in the comment section.

I understand that it is a controversial topic. When you are expressing your views in the comment section, please don’t use abusive words, don’t use racist slurs. Let’s keep the discussion civil.

Btrfs is now the Default Filesystem on Fedora 33

Wednesday 8th of July 2020 01:11:35 PM

While we’re months away from Fedora’s next stable release (Fedora 33), there are a few changes worth keeping tabs on.

Among all the other accepted system-wide changes for Fedora 33, the proposal of having Btrfs as the default file system for desktop variants was the most interesting one, which has now been approved.

Here’s what Fedora mentioned for the proposal:

For laptop and workstation installs of Fedora, we want to provide file system features to users in a transparent fashion. We want to add new features, while reducing the amount of expertise needed to deal with situations like running out of disk space. Btrfs is well adapted to this role by design philosophy, let’s make it the default.

It’s worth noting that this wasn’t an accepted system-wide change until the final vote result of the test.

But, now that the test has successfully completed and the votes are in favour — the change has been accepted for Fedora 33 release.

So, why did Fedora propose this change? Is it going to be useful in any way? Is it a bad move? How is it going to affect Fedora distributions? Let’s talk a few things about it here.

What Fedora Editions will it Affect?

As per the proposal, all the desktop editions of Fedora 33, spins, and labs will be subject to this change.

So, you should expect the workstation editions to get Btrfs as the default file system on Fedora 33.

Potential Benefits of Implementing This Change

To improve Fedora for laptops and workstation use-cases, Btrfs file system offers some benefits.

Now that Btrf is going to be the default file system — let me point out the advantages of having Btrfs as the default file system:

  • Improves the lifespan of storage hardware
  • Providing an easy solution to resolve when a user runs out of free space on the root or home directory.
  • Less-prone to data corruption and easy to recover
  • Gives better file system re-size ability
  • Ensure desktop responsiveness under heavy memory pressure by enforcing I/O limit
  • Makes complex storage setups easy to manage

If you’re curious, you might want to dive in deeper to know about Btrfs and its benefits in general.

Not to forget, Btrf was already a supported option — it just wasn’t the default file system.

But, overall, it feels like introducing Btrfs as the default file system on Fedora 33 is a useful change.

Will Red Hat Enterprise Linux Implement This?

It’s quite obvious that Fedora is considered as the cutting-edge version of Red Hat Enterprise Linux.

So, if Fedora rejects the change, Red Hat won’t implement it. On the other hand, if you’d want RHEL to use Btrfs, Fedora should be the first to approve the change.

To give you more clarity on this, Fedora has mentioned it in detail:

Red Hat supports Fedora well, in many ways. But Fedora already works closely with, and depends on, upstreams. And this will be one of them. That’s an important consideration for this proposal. The community has a stake in ensuring it is supported. Red Hat will never support Btrfs if Fedora rejects it. Fedora necessarily needs to be first, and make the persuasive case that it solves more problems than alternatives. Feature owners believe it does, hands down.

Now, that Fedora has accepted the change, we’ll have to wait for Red Hat to make its move, if needed.

Also, it’s worth noting that if you’re someone who’s not interested in btrfs on Fedora, you should be looking at OpenSUSE and SUSE Linux Enterprise instead.

Wrapping Up

Even though it looks like the change should not affect any upgrades or compatibility, you can find more information on the changes with Btrfs by default in Fedora Project’s wiki page.

What do you think about this change targeted for Fedora 33 release? Do you like the idea of btrfs file system as the default on Fedora 33?

Feel free to let me know your thoughts in the comments below!

More in Tux Machines

Programming Leftovers

  • Graphics in Qt 6.0: QRhi, Qt Quick, Qt Quick 3D

    Last year we had a three part blog series about Qt's new approach to working with 3D graphics APIs and shading languages: part 1, part 2, part 3. For Qt Quick, an early, opt-in preview of the new rendering architecture was shipped in Qt 5.14, with some improvements in Qt 5.15. With the release of Qt 6.0 upcoming, let's see what has happened since Qt 5.15. It will not be possible to cover every detail of the graphics stack improvements for Qt Quick here, let alone dive into the vast amount of Qt Quick 3D features, many of which are new or improved in Qt 6.0. Rather, the aim is just to give an overview of what can be expected from the graphics stack perspective when Qt 6.0 ships later this year.

  • Multi-Layer Perceptron & Backpropagation - Implemented from scratch

    Writing a custom implementation of a popular algorithm can be compared to playing a musical standard. For as long as the code reflects upon the equations, the functionality remains unchanged. It is, indeed, just like playing from notes. However, it lets you master your tools and practice your ability to hear and think. In this post, we are going to re-play the classic Multi-Layer Perceptron. Most importantly, we will play the solo called backpropagation, which is, indeed, one of the machine-learning standards. As usual, we are going to show how the math translates into code. In other words, we will take the notes (equations) and play them using bare-bone numpy.

  •  
  • PyDev of the Week: William Horton

    This week we welcome William Horton (@hortonhearsafoo) as our PyDev of the Week! William is a Backend Engineer at Compass and has spoken at several local Python conferences. He is a contributor to PyTorch and fastai. Let’s spend some time getting to know William better! Can you tell us a little about yourself (hobbies, education, etc): A little about myself: people might be surprised about my educational background–I didn’t study computer science. I have a bachelors in the social sciences. So by the time I finished undergrad, the most programming I had done was probably doing regressions in Stata to finish my thesis. I decided against grad school, and instead signed up for a coding bootcamp (App Academy) in NYC. The day I’m writing this, September 28, is actually 5 years to the day that I started at App Academy. Since then I’ve worked at a few different startups in NYC, across various industries: first investment banking, then online pharmacy, and now real estate. I’m currently a senior engineer on the AI Services team at Compass, working on machine learning solutions for our real estate agents and consumers. I like to spend my free time on a few different hobbies. I’m a competitive powerlifter, so I like to get into the gym a few times a week (although with the pandemic in NYC I didn’t lift for six months or so). I’ve actually found powerlifting to be a pretty common hobby among software engineers. Every time someone new joined my gym, it seemed like they came from a different startup. I love to play basketball. And I’m passionate about music: I’ve been a singer almost my whole life, and most recently was performing with an a cappella group in NYC. And in the last year I’ve picked up the guitar, after not touching it since I was a teenager, and that has been very fulfilling.

  • Malayalam fonts: Beyond Latin font metrics | Soliloquies

    This year’s annual international conference organized by TeX Users Group — TUG2020 — was held completely online due to the raging pandemic. In TUG2020, I have presented a talk on some important Malayalam typeface design factors and considerations. The idea and its articulation of the talk originated with K.H. Hussain, designer of well-known fonts such as Rachana, Meera, Meera Inimai, TNJoy etc. In a number of discussions that ensued, this idea was developed and later presented at TUG2020. Opening keynote to TUG2020 was delivered by Steve Matteson, about the design of Noto fonts. He mentioned that Noto was originally envisaged to be developed as a single font containing all Unicode scripts; but that was changed due to a couple of reasons: (1) huge size of resulting font and (2) the design of many South/South-East Asian characters do not fit well within its Latin font metrics.

  • Jérôme Gardou hired full-time to work on the memory manager

    I proudly announce that ReactOS Deutschland e.V. has hired Jérôme Gardou to work full-time on the ReactOS kernel’s memory manager for the next 3 months. Jérôme is a ReactOS veteran who has been contributing to the project since 2009. He has deep expertise into nearly all parts of ReactOS, ranging from various user-mode components (mostly related to low-level graphics) over their kernel-mode counterparts and down to bare-metal components like the kernel memory manager. During the upcoming months, Jérôme is going to overhaul the Mm (Memory Manager) and Cc (Cache Controller) components of the kernel. Both of them are core parts of the operating system, which are involved in every memory request and file operation. Improving them is expected to have a substantial effect on the overall stability and performance of ReactOS.

  • "Open-Source Windows" ReactOS To See Improved Memory Management - Phoronix

    ReactOS Deutschland e.V. has hired one of their long-time contributors to work full-time on the "open-source Windows" implementation's memory management for the next quarter. ReactOS is funding longtime contributor Jérôme Gardou to work full-time for the next three months on the open-source operating system's memory manager and cache controller code within its kernel. ReactOS hopes this overhaul to the MM/CS code will yield "a substantial effect on the overall stability and performance of ReactOS."

Corsair Power Supplies May Soon See Sensor Support Exposed Under Linux

Select high-end Corsair power supplies such as their RMi / HXi / AXi series are able to expose various sensor metrics via USB interface to the system. To date this sensor functionality has only worked under Windows with their proprietary software but now an open-source driver is seeking mainline inclusion for supporting these sensors under Linux. Independent developer Wilken Gottwalt reverse-engineered the micro-controller found on the Corsair RMi/HXi/AXi power supplies and found it to be a proprietary but simple USB HID protocol. The controller exposes temperatures, current, and voltage levels along with other information like power uptime, power used, and power supply fan speed. This protocol on select models can also allow configuring the fan mode and mono/multi-rail voltage handling, and over-current protection. Read more Also: Qualcomm QCS610 micro SoM and devkit to power AI and ML smart cameras

Games: Nonsense Soccer, Bound By Blades and Halloween at Humble Store

  • Nonsense Soccer is a highly amusing local multiplayer platformer-soccer-hybrid | GamingOnLinux

    After your next local multiplayer game? Nonsense Soccer is out in Early Access and it's already a huge amount of fun if you're the competitive type. Nonsense Soccer takes the classic sport and turns it into a side-on platformer-soccer-hybrid and the result is chaotic. Simple enough for anyone young and old to pick up their favourite gamepad and get kicking. It's actually been available for a little while already, with the new Steam release being their second major update.

  • Check out the fresh demo of Bound By Blades and take down some fierce monsters | GamingOnLinux

    Bound By Blades might look welcoming with the sweet colourful style and wonderful music, but this action-RPG gets quickly intense. Inspired somewhat by Monster Hunter, it originally tried going through Kickstarter to gather funds back in 2019. It failed but the development has continued anyway. The idea is that you go through increasingly tough battles, slaying big creatures in the unique four-corner combat arena where you run between four corners, dodging enemy attacks and unleash your own. After a year of work, the new demo is out now.

  • Humble Store has a big Halloween sale on right now | GamingOnLinux

    Prepare for Halloween with some new games? It's not like you're able to go out much with the COVID19 disease still raging on so staying in and playing games sound great to me. To help with that you can check out the Humble Store Halloween Sale, which has a number of big hits going on some pretty high discounts. While it's a Halloween sale, the majority of the titles oddly aren't really scary or much related to the event, still it's another good chance to build up your collection.

today's howtos

  • How To Install HAProxy on CentOS 8 - idroot

    In this tutorial, we will show you how to install HAProxy on your CentOS 8. For those of you who didn’t know, HAProxy is a free HTTP/TCP high availability load balancer and proxy server. It spreads requests among multiple servers to mitigate issues resulting from a single server failure. HA Proxy is used by a number of high-profile websites including GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter, and Tuenti, and is used in the OpsWorks product from Amazon Web Services. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you through the step by step installation HAProxy on a CentOS 8.

  • How To Install Python 3.9 on Ubuntu 20.04 – TecAdmin

    Python is an object-oriented, high-level programming language. It is an open source with a large community. Python is used as key languages among the top tech companies like Google. The Python 3.9 stable version has been released with several improvements and security updates. It included multiple new modules, improved existing modules and many other features. You can choose deadsnakes PPA for Python installation on Ubuntu 20.04 system. Use this tutorial to install Python 3.9 On Ubuntu 20.04 LTS Linux system via Apt-Get. You can also choose second method to install Python using source code.

  • YAML for beginners | Enable Sysadmin

    YAML Ain't a Markup Language (YAML), and as configuration formats go, it's easy on the eyes. It has an intuitive visual structure, and its logic is pretty simple: indented bullet points inherit properties of parent bullet points. But this apparent simplicity can be deceptive. It's easy (and misleading) to think of YAML as just a list of related values, no more complex than a shopping list. There is a heading and some items beneath it. The items below the heading relate directly to it, right? Well, you can test this theory by writing a little bit of valid YAML.

  • colorls – turbocharged alternative to ls

    The part of the operating system responsible for managing files and directories is called the file system. It organizes our data into files, which hold information, and directories (also called ‘folders’), which hold files or other directories. Several commands are frequently used to create, inspect, rename, and delete files and directories. One of these commands is ls, which prints the names of the files and directories in the current directory. A directory is really just a file. It’s a special file with special rules. The ls utility appeared in the first version of AT&T UNIX. Are you looking to liven up your shell? Want a bit more beauty on your terminal? colorls might be the ticket. colorls is a command-line utility that aims to improve on ls. color is written in Ruby.