# Site Map

## Blogs

Community blog and recent blog authors at Tux Machines.

forums

## More in Tux Machines

### Programming Leftovers

• ##### LLVM Clang 12 Merges Support For x86_64 Microarchitecture Levels - Phoronix

In an effort to better cater towards newer and common x86_64 instruction set extensions, open-source toolchain developers are moving ahead with the work on x86_64 micro-architecture feature levels for being able to target a handful of different "levels" beyond the base x86_64 instruction set.  The x86_64 feature levels are for easily segregating different classes of x86_64 Intel/AMD CPUs in hopes of making it easier for Linux distributions to increase their base requirements beyond just x86_64/AMD64 and improving compiler toolchains with a common set of possible levels / hardware capabilities in generating optimized libraries. This goes along with work pursued by Red Hat in raising the x86_64 CPU requirements for new RHEL/Fedora releases and for optimization initiatives like the glibc HWCAPS in supporting a few different optimization levels rather than having to target every possible Intel/AMD CPU microarchitecture family as is currently done for code optimization/tuning.

• ##### RStudio is a refreshingly intuitive IDE | Christian Kastner

I currently need to dabble with R for a smallish thing. I have previously dabbled with R only once, for an afternoon, and that was about a decade ago, so I had no prior experience to speak of regarding the language and its surrounding ecosystem. Somebody recommended that I try out RStudio, a popular IDE for R. I was happy to see that an open-source community edition exists, in the form of a .deb package no less, so I installed it and gave it a try. [...] This, and many other features that pop up here and there, like the live-rendering of LaTeX equations, contributed to what has to be one of the most positive experiences with an IDE that I've had so far.

• ##### Engaging in an "Open First" remote internship at Collabora

The COVID-19 pandemic has forced companies to move very quickly to a partial or even full home office regime. In this context, Collabora is at a very privileged position, since remote work has always been at the core of our day to day operations. Over 80% of our people work remotely from all over the world even when our offices are open. As the pandemic continues to wreak havoc across the world, many students' scholarships have been impacted one way or the other. As the world economy is being shaken, many of them are facing challenges finding internships and entering into the professional life. At Collabora, and despite of COVID-19, we want remote internships to have the power to get students, regardless of where they live, into a dream job. Or, at the very least, provide them with informative venues for exploring and confirming (or not) professional interests. Our internships also connect students with a larger ecosystem of FLOSS projects and vendors, serving as a good way to improve their visibility and networking.

• ##### Nibble Stew: Cargo-style dependency management for C, C++ and other languages with Meson

My previous blog post about modern C++ got a surprising amount of feedback. Some people even reimplemented the program in other languages, including one in Go, two different ones in Rust and even this slightly brain bending C++ reimplementation as a declarative style pipeline. It also got talked about on Reddit and Hacker news. Two major comments that kept popping up were the following. [...] One notable downside of this approach is that WrapDB does not have all that many packages yet. However I have been told that given the next Meson release (in a few weeks) and some upstream patches, it is possible to build the entire GTK widget toolkit as a subproject, even on Windows.  If anyone wants to contribute to the project, contributions are most welcome. You can for example convert existing projects and submit them to wrapdb or become a reviewer. The Meson web site has the relevant documentation.

• ##### Percepio Releases Tracealyzer Visual Trace Diagnostics Solution Version 4.4 with Support for Embedded Linux

-Percepio, the leader in visual trace diagnostics for embedded and IoT software systems, today announced the immediate availability of Tracealyzer version 4.4 with support for embedded Linux. Tracealyzer gives developers a high level of insight during software debugging and verification at the system level by enabling visual exploratory analysis from the top down. This makes it easy to spot issues during full system testing and drill down into the details to find the cause.

• ##### Facebook Is Looking To Upstream Their BOLT Binary Performance Optimizer Into LLVM - Phoronix

Facebook's BOLT is a multi-year project focused on speeding up the performance of binaries. This open-source project initially focused on being able to better optimize Linux x86_64/ARM64 ELF binaries as a post-link optimizer. BOLT has been seeing much success with even Google using it now for better performance and now there is work to upstream it as part of the LLVM project.  Facebook engineers are hoping to see BOLT added to LLVM as a binary optimization framework. Google has reported with their own workloads that BOLT can normally provide 2~6% uplift on top of the abilities of compiler optimizations. Other organizations and academia also have been using BOLT in varying capacities.

•
• ##### 5 steps to learn any programming language | Opensource.com

Some people love learning new programming languages. Other people can't imagine having to learn even one. In this article, I'm going to show you how to think like a coder so that you can confidently learn any programming language you want. [...] With just a little programming experience, which you can gain from any one of several introductory articles here on Opensource.com, you can go on to learn any programming language in just a few days (sometimes less). Now, this isn't magic, and you do have to put some effort into it. And admittedly, it takes a lot longer than just a few days to learn every library available to a language or to learn the nuances of packaging your code for delivery. But getting started is easier than you might think, and the rest comes naturally with practice. When experienced programmers sit down to learn a new language, they're looking for five things. Once you know those five things, you're ready to start coding.

• ##### RcppZiggurat 0.1.6

The RcppZiggurat package updates the code for the Ziggurat generator by Marsaglia and other which provides very fast draws from a Normal distribution. The package provides a simple C++ wrapper class for the generator improving on the very basic macros, and permits comparison among several existing Ziggurat implementations. This can be seen in the figure where Ziggurat from this package dominates accessing the implementations from the GSL, QuantLib and Gretl—all of which are still way faster than the default Normal generator in R (which is of course of higher code complexity).

• ##### The four things you must be able to do in nano

Text editing is essential to Linux users. Historically, the Vim text editor has been the default tool for managing file contents. Today, many systems and many sysadmins prefer to use the nano text editor. [...] In some ways, using nano is more like using the keyboard shortcuts in Microsoft Word or LibreOffice Writer. Nano is significantly more powerful than I am showing here, so be sure to check the documentation for more tricks. If you're a Vim user and you find yourself on a distribution that only has nano available, at least you'll know these simple functions. I guess I'm old school (or just old), but I prefer Vim, even for very short and simple edits. I acknowledge that nano is easier, but I am in the habit of using Vim. In fact, I have it installed on my Mac and Windows computers, too.

•
• ##### Sysadmin careers: the correlation between mentors and success | Enable Sysadmin

Typically, the more information you have about a situation, the more successful you will be in navigating it. The same can be said about the level of experience you have in dealing with specific problems. This is what inspired me to explore the experience of other industry professionals. I had several great mentors over the years, and I always felt that the time spent learning from them paid off exponentially. It's not always some intellectual atom bomb that reshapes your skillset. Many times, the most powerful lessons are in the wisdom gained over time. Having the skill to act is great, but it helps to know when and how to act as well. We asked a group of our core contributors about their mentors and the impact of these experiences on their careers. Some had specific people in mind; however, an equal number stated that a close-knit team can be just as valuable as a single guiding force.

•
• ##### Steinar H. Gunderson: plocate in testing

plocate hit testing today, so it's officially on its way to bullseye :-) I'd love to add a backport to stable, but bpo policy says only to backport packages with a “notable userbase”, and I guess 19 installations in popcon isn't that :-) It's also hit Arch Linux, obviously Ubuntu universe, and seemingly also other distributions like Manjaro. No Fedora yet, but hopefully, some Fedora maintainer will pick it up. :-)

• ##### A PHP syntax for discardable assignments [LWN.net]

Recently, John Bafford revived a years-long conversation on expanding the syntax of the PHP foreach statement to include iterating solely over keys. Bafford, who wrote a patch and request for comments (RFC) on the matter back in 2016, hopes to update his work and convince the community to adopt the abbreviated syntax in PHP 8.1. The community took Bafford's general idea and expanded it into other areas of the language.

• ##### Kata Containers rewritten in Rust gets a major speed boost

Kata provides container isolation and security without the overhead of running them in a VM. Usually, containers are run in VMs for security, but that removes some of the advantages of using containers with their small resources footprint. Kata containers, however, can run on bare metal.  The purpose of runV was to make VMs run like containers. In Kata, this approach is combined with Intel's Clear Containers, which uses Intel built-in chip Virtual Technology (VT), to launch containers in lightweight virtual machines (VMs). With Kata, those containers are launched in runV. Despite the Intel connection, Kata Containers are hardware agnostic. Kata Containers are also built to be compatible with the Open Container Initiative (OCI) specification, and Kubernetes' container runtime interface (CRI).

• ##### Forlinx OK1028A-C networking SBC supports LVDS displays, 4G/5G modules

Forlinx released two networking SBC’s with 10Gbps Ethernet powered by NXP LS1043A and LS1046A processor nearly exactly one year ago. Like many other networking SBCs they do not come with video output so configuration is done via a computer or laptop either through a UART interface or a web interface. But in some cases, such boards may be integrated into machines that require a display for human-machine interaction. That’s why Forlinx has now released a new networking board – OK1028A-C – powered by NXP QorIQ Layerscape LS1028A dual-core Cortex-A72 processor that natively supports video output up to 4K UHD resolution via an eDP/DisplayPort interface which the company used to provide an LVDS header.

• ##### Flex Logix InferX X1 AI Inference Accelerator Takes on NVIDIA Jetson Xavier NX

When it comes to AI inference accelerators, NVIDIA has captured the market as drones, intelligent high-resolution sensors, network video recorders, portable medical devices, and other industrial IoT systems use NVIDIA Jetson Xavier NX. This might change as Flex Logix’s InferX X1 AI inference accelerator has been shown to outperform Jetson Xavier NX as well as Tesla T4. During the Linley Fall Conference 2020, Flex Logix showcased InferX X1 AI Inference Accelerator, its performance, and how it outperformed other edge inference chips. It is the most powerful edge inference coprocessor with high throughput, low latency, high accuracy, large model megapixels images, and small die for embedded computing devices at the edge.

### Games: Atomix, Get-A-Grip Chip, GDScript in Godot

• ##### Atomix: A Molecule Building Game for Chemistry Nerds

Atomix is built for Gnome desktops for Linux and Unix systems. However, if you in something similar you can try Atomiks for Windows and Linux desktops.

• ##### Robot grappling-magnet platformer Get-A-Grip Chip is out now and I'm hooked | GamingOnLinux

A platformer where you can't jump? Well, it's been done before but not quite like this. Get-A-Grip Chip is out now and it's a wonderfully unique indie game worth your time. Note: key sent by the developer. Thing is, grappling hooks have been done before too, and there's a number of excellent games with it. Get-A-Grip Chip is still different though, as the grapple is a big magnet on your robot head and you can only use it at specific points. The challenge here is getting in range of each point, to hop between them all. The result is a game that's seriously charming, while also proving to be a good challenge.

• ##### GDScript progress report: Typed instructions

It's been a while my last report because this particular task took me more time than I anticipated. GDScript now got a much needed optimization. Bug fixes Between my last report and this one I've been fixing many bugs in GDScript. While not thorough, it should be stable enough to not crash all the time. I am aware that a lot of bugs remain, but I'll iron them out when the features are complete. As I said before, if you found a bug not yet reported make sure to open a new issue so I can be aware of it. [...] I know many of you have been waiting for this. GDScript has had optional typing for quite a while, but so far it had only been for validation in the compilation phase. Now we're finally getting some performance boost at runtime. Note that some optimized instructions are applied with type inference but to enjoy the most benefit you have to use static typing for everything (you also get safer code, so it's a plus).

### today's howtos

• ##### 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.

### Gerrit code review tool taken offline after suspected admin account compromise

Gerrit has been taken offline after malicious activity was flagged on the open source code collaboration platform. The web-based Git code review service was disabled two hours after project maintainers were alerted to a suspected security breach on Tuesday morning (October 20). “We believe an admin account in Gerrit was compromised allowing an attacker to escalate privileges within Gerrit,” said Clark Boylan in a service announcement issued later that day. “Around 02:00 UTC October 20 suspicious review activity was noticed, and we were made aware of it shortly afterwards. “The involved account was disabled and removed from privileged Gerrit groups. After further investigation we decided that we needed to stop the service, this happened at about 04:00 UTC.”