# today's howtos

Filed under
• ##### Install MultiPass on Ubuntu : A good VM Manager - LinuxTechLab

Multipass is a very lightweight VM manager that can be used to launch & manage VMs with a single Linux command. It is available on Linux, macOS as well as Windows. On Windows, it used Hyper-V, on Linux, it uses KVM & on Mac it used HyperKit.

It can simulate a cloud environment with the support of cloud-init. It helps to create a new development or testing environment with ease. It also supports VirtualBox on macOS & Linux also. In this tutorial, we will learn how to install Multipass on Ubuntu

• ##### How to install Java on Manjaro Linux

Many developers and programmers choose Manjaro because it's one of the most user-friendly and feature-rich Linux distributions. In this guide, we go over the steps to install the Java Development Kit on Manjaro Linux. We'll show you how to install both the OpenJDK package (which is free and GPL-licensed) as well as Oracle Java SE Development Kit.

Arch Linux and Manjaro only officially support the OpenJDK, as that is the non-proprietary version. However, the Oracle package can be installed from the AUR, as you'll see shortly.

• ##### Lenovo ThinkPad Booting GNU/Linux USB

Lenovo ThinkPad users can boot USB drives finely. As Ubuntu Buzz often publishes booting articles, now let's learn how to practice that on computers using ThinkPad as example. By making this tutorial I hope I give abilities to all computer users who didn't know yet they can do this amazing thing. Let's go!

• ##### How to install Arduino IDE on CentOS 8

Arduino IDE stands for the “Arduino Integrated Development Environment”. Arduino is used to create electronic devices that communicate with their environment using actuators and sensors. Arduino IDE contains an editor that is used for writing and uploading programs to the Arduino board. Before start to create projects through Arduino, the user needs to set up an IDE for the programmable board.

In this article, we will learn how to install the latest Arduino IDE on CentOS 8.

• ##### Vincent Fourmond: QSoas tips and tricks: generating smooth curves from a fit

Often, one would want to generate smooth data from a fit over a small number of data points. For an example, take the data in the following file. It contains (fake) experimental data points that obey to Michaelis-Menten kinetics: $$v = \frac{v_m}{1 + K_m/s}$$ in which $$v$$ is the measured rate (the y values of the data), $$s$$ the concentration of substrate (the x values of the data), $$v_m$$ the maximal rate and $$K_m$$ the Michaelis constant.

[...]

Now, with the fit, we have reasonable values for $$v_m$$ (vm) and $$K_m$$ (km). But, for publication, one would want to generate "smooth" curve going through the lines... Saving the curve from "Data.../Save all" doesn't help, since the data has as many points as the original data and looks very "jaggy" (like on the screenshot above)... So one needs a curve with more data points.

## More in Tux Machines

### FontManager 0.8 Released with Google Fonts Integration

The Font Manager 0.8.0 update introduces integration with Google Fonts, one of the largest online sources of freely licensed font families. Users can click the ‘G’ tool bar icon to instantly access more than 1,000 fonts distributed through Google’s type hub. Fonts can be display by name, recency, popularity, or ‘trending’, and filtered by font type, variation, and language support. Font families can be previewed instantaneously in an increasing-size ‘waterfall’ presentation (the exact text can be customised) or a big block of randomly placeholder text. Font size, colour, and background colour are all configurable too.

### Top 5 Linux Server Malware and Rootkits Scanners

The theory that convinced most of us to join the Linux OS universe is its impenetrable nature. We were excited that using a Linux Operating system did not require us to have an anti-virus installed on our systems. As the latter statements might be true, we should be careful of using too many sweeteners to build up assumptions about the Linux operating system security metrics. We would not want to deal with any diabetic outcomes in the practical world. The Linux operating system is risk-free on paper but characterized by vulnerabilities in a production environment. These vulnerabilities entail risk-centered and harmful programs incubating viruses, rootkits, and ransomware. If you invest your skills to be a Linux OS administrator, you need to sharpen your security measures skills, especially when dealing with production servers. Big brands continue to invest in coping with evolving new security threats targeting the Linux OS. The evolution of these measures propels the development of adaptive security tools. They detect the malware and other flaws in a Linux system and initiate useful, corrective, and preventive mechanisms to counter the viable system threats.

### today's leftovers

• ##### 5 Reasons Why KDE Plasma = Best Desktop Environment

KDE Plasma is my favorite desktop environment on Linux. In this video, I offer my Top 5 Reasons why I think KDE Plasma is the best desktop environment for me.

• ##### Inspired by the likes of Cube World, open source RPG Veloren has the biggest update yet | GamingOnLinux

Currently in development and not yet considered a full game but still very impressive anyway, Veloren is a free and open source multiplayer voxel RPG. Inspired by the likes of Cube World, Legend of Zelda: Breath of the Wild, Dwarf Fortress and Minecraft it's a very exciting project to be following. Written in the popular Rust programming language it fully supports Linux, macOS and Windows. This latest release is the biggest yet, with overhauls to various parts of the game as well as introducing plenty of new features to keep players busy. [...] The full source code is up on GitLab.

• ##### Godot Engine - Godot's 2D engine gets several improvements for upcoming 4.0

While the focus of Godot 4.0 Vulkan rewrite has largely been enhancements to the 3D engine, the 2D side will also see several improvements. Improved Performance Thanks to Vulkan (which has a much lower draw-call cost than OpenGL), 2D itself in Godot 4.0 will see a speedup for free. But that's not the only reason, many internal improvements and optimizations also contribute to a smoother experience. Changes in memory allocation strategy and internal simplification in draw call logic make it much more efficient to manually call thousands of draw() functions from a node's _draw() callback. Many of these improvements will also accelerate GLES3 and GLES2 back-ends. Improved 2D lighting Godot 3.x supported 2D lighting, but this did not happen without several constraints. The main one was performance due to every light being rendered in a separate draw pass. This is no longer a problem in 4.0, as all lights are drawn in a single pass.

• ##### Auditing the CRLs in CRLite • Insufficient.Coffee

Since Firefox Nightly is now using CRLite to determine if enrolled websites’ certificates are revoked, it’s useful to dig into the data to answer why a given certificate issuer gets enrolled or not. Ultimately this is a matter of whether the CRLs for a given issuer are available to CRLite, and are valid, but the Internet is a messy place, and sometimes things don’t work as planned. If an issuing CA is not enrolled in CRLite, the Mozilla infrastructure emits enough information to figure out what went wrong.

• ##### How to install FreeBSD on Raspberry Pi? (step-by-step guide)

FreeBSD is an original operating system you can install on Raspberry Pi to experiment a bit outside Linux. But the process is not always easy if you are used to working on Debian-like systems.

Today, we’ll see how to install it on a Raspberry Pi, to configure it and use it like almost like any other operating system.

• ##### October/November in KDE Itinerary

A lot has happened around KDE Itinerary in the past two months again, since the last summary blog. All components will be part of the KDE release service starting with the 20.12 series, we got a new backend server for the station maps, arrival and departure platforms are now properly identified, and much more. [...] The biggest news behind the scenes is that the new backend for maps.kde.org is now finally live! This gives us up-to-date OSM data for the train station maps, with a lot more detail and various precision loss issues fixed. Most visible is probably that we now also see platform section labels and ticket machines, as well as almost all geometry reassembly glitches being fixed now. This work not only helps KDE Itinerary, but also the primary user of this system, Marble. A big thank you to the sysadmin team for making that happen! A number of things are happening around KDE’s Android infrastructure as well, which KDE Itinerary relies upon. See the dedicated post on that.

• ##### About Asus Chromebox – Linux Hint

In partnership with Google, Asus joined the bandwagon in reinventing desktops into smaller forms and integrating Chrome OS into it, breathing new life to the declining traditional forms. Asus Chromebox is an elegantly-styled, lightweight, compact, and versatile desktop. It’s highly favored by users who only need the basics of a desktop computer, such as web browsing, video streaming, and simple file processing. Furthermore, it has full support for Android apps on Google play. The price tag is also pocket-friendly, especially if you are content with lower-end models. There is also no need to install anti-virus software as the built-in security with Chrome OS automatically installs updates and fixes, keeping it safe from some malware and viruses. Although Asus Chromebox has not been the first in the market, it has been making waves since its introduction in 2014.

### Programming/Development: Rust, Python and More

• ##### Announcing Rustup 1.23.0 | Rust Blog

The rustup working group is happy to announce the release of rustup version 1.23.0. Rustup is the recommended tool to install Rust, a programming language that is empowering everyone to build reliable and efficient software. [...] The Rust team releases a new version every six weeks, bringing new features and bugfixes on a regular basis. Sometimes a regression slips into a stable release, and the team releases a "point release" containing fixes for that regression. For example, 1.45.1 and 1.45.2 were point releases of Rust 1.45.0, while 1.46.0 and 1.47.0 both had no point releases. With rustup 1.22.1 or earlier if you wanted to use a stable release you were able to either install stable (which automatically updates to the latest one) or a specific version number, such as 1.48.0, 1.45.0 or 1.45.2. Starting from this release of rustup (1.23.0) you can also install a minor version without specifying the patch version, like 1.48 or 1.45. These "virtual" releases will always point to the latest patch release of that cycle, so rustup toolchain install 1.45 will get you a 1.45.2 toolchain.

• ##### Book club: Rust after the honeymoon

One of the first areas we discussed was data bearing enums – these have been very important to Bryan. In keeping with a pattern we all noted these take a construct that’s relatively commonly implemented by hand in C (or skipped as too much effort, as Lars found) and provides direct support in the language for it. For both Daniel and Lars this has been key to their enjoyment of Rust, it makes things that are good practice or common idioms in C and C++ into first class language features which makes them more robust and allows them to fade into the background in a way they can’t when done by hand. [...] This distracted us a bit from the actual content of the article and we had an interesting discussion of the issues with handling OS differences in filenames portably. Rather than mapping filenames onto a standard type within the language and then have to map back out into whatever representation the system actually uses Rust has an explicit type for filenames which must be explicitly converted on those occasions when it’s required, meaning that a lot of file handling never needs to worry about anything except the OS native format and doesn’t run into surprises. This is in keeping with Rust’s general approach to interfacing with things that can’t be represented in its abstractions, rather than hide things it keeps track of where things that might break the assumptions it makes are and requires the programmer to acknowledge and handle them explicitly. Both Lars and Daniel said that this made them feel a lot more confident in the code that they were writing and that they had a good handle on where complexity might lie, Lars noted that Rust is the first languages he’s felt comfortable writing multi threaded code in.

• ##### Top 4 Most Popular Programming Languages in November 2020

When starting out in the programming world, beginners often face the dilemma of choosing which programming language to learn first. Questions like, ‘What are the most popular programming languages,’ ‘Will the chosen language have any relevance in the future,’ ‘Where to learn to code,’ ‘Learning which language will provide more benefits professionally”, continue to rattle the minds. At the same time, while we worry about lagging in the fast-paced technological world, new programming languages (Elm, Rust, Kotlin, Elixir, Crystal, etc.) emerge, poised to overtake an older one. Furthermore, learning to code these languages is important as they provide programmers a crucial medium of connecting humans to computers. Since computers cannot comprehend the languages of the common man, these programmed commands can be used to control the behavior and output of a machine through accurate algorithms. Hence, helping us harness the power of computing in all human endeavors and projects.

• ##### 2D Array – Linux Hint

A Two-dimensional (2D) array is an array of one dimensional (1D) arrays. The 1D array sizes are equal. The 2D array is also called a matrix with rows and columns.

• ##### Python Ternary Operator – Linux Hint

Ternary operators are Python built-in conditional operators that are used to evaluate the defined conditions. It evaluates the condition for being true or false. Like the if-else statement, it is another way of defining conditional statements. The ternary operator is defined in the single line. The if-else statement and ternary operator returns a similar output. The ternary operator was introduced in Python version 2.5. This article explains the Python ternary operator in detail with examples.

• ##### Python zfill() Function – Linux Hint

Owing to the versatility and availability of vast built-in modules, functions, and statements, Python is now a widely-used general-purpose programming language. The Python built-in features help programmers to perform complicated tasks very simply and efficiently. The zfill() is a Python built-in function that zeros on the left of the string to fill the specified width and return the string’s copy. It makes a padded string by adding zeros. This article demonstrates the use of the Python zfill() function.