Language Selection

English French German Italian Portuguese Spanish

today's leftovers

Filed under
Misc
  • Fedora 34 Looking To Tweak Default zRAM Configuration

    ast year with Fedora 33 zRAM was switched on by default. The setup was that using a compressed zRAM drive for swap space leads to better performance and in turn a better user experience. Some spins of Fedora have been using swap-on-zRAM by default going back many releases while since F33 it's been used for all spins. Now with Fedora 34 the configuration is being further refined.

    With Fedora 33, the zRAM configuration was limited to a 0.5 fraction of RAM or 4GB, whichever is smaller, while for Fedora 34 the zram-fraction will be 1.0 and the maximum zRAM size set to 8GiB.

    [...]

    This in particular should help the Fedora 34 experience for systems with minimal amounts of RAM.

  • A Zoological guide to kernel data structures

    Recently I was working on a BPF feature which aimed to provide a mechanism to display any kernel data structure for debugging purposes. As part of that effort, I wondered what the limits are. How big is the biggest kernel data structure? What's the typical kernel data structure size?

    [...]

    A lot of the articles we read about the Linux kernel talk about size, but in the context of numbers of lines of code, files, commits and so on. These are interesting metrics, but here we're going to focus on data structures, and we're going to use two fantastic tools in our investigation...

    [...]

    Zooming out again, what's interesting about the pattern of structure size frequency is that it seems to reflect the inherent cost of large data structures; they pay a tax in terms of memory utilization, so while we see many small data structures, and the falloff as we approach larger sizes is considerable.

    This pattern is observed elsewhere, bringing us back to the zoological title of this post. If we look at the frequency of animal species grouped by their size, we see a similar pattern of exponential decay as we move from smaller to larger species sizes. For more info see https://en.wikipedia.org/wiki/Body_size_and_species_richness. If metabolic cost is a factor in determining this pattern in nature, we can observe a similar "metabolic cost" in memory utilization for larger data structures in the Linux kernel also. A related observation - that smaller species (such as insects) exist in much larger numbers than larger species in nature - would be interesting to investigate for the Linux kernel, but that would require observing data structure utilization in running systems, which is a job for another day!

  • Destination Linux 208: Mythbusting Linux Misconceptions

    This week on Destination Linux, we’re going to bust some myths as we talk about some Linux Misconceptions. Then we’re going to review some information on openSUSE and review the interesting facts revealed in it’s most recent community poll. We’ve also got our famous tips, tricks and software picks. All of this and so much more this week on Destination Linux.

  • Software Is Eating Every Layer Of The Datacenter

    Software may be eating the world, as Marc Andreessen correctly asserted nearly a decade ago, but some parts of the world are crunchier than others and take some time for the hardware to be smashed open and for software to flow in and out of it.

    We have been watching with great interest since around 2008 or so as merchant silicon came to switching and routing and how control of hardware was broken free from control of software, much as the X86 platform emerged as a common computing substrate a decade earlier. Initial attempts at creating portable and compatible operating systems for switching and routing had their issues, but a second wave network operating systems are emerging and, we think, will eventually become the way that networking is done in the datacenter, breaking the hegemony of proprietary operating systems as happened in compute in the past. A decade of open systems Unix platforms on dozens of chip architectures really just helped create the conditions that allowed Linux on X86 to become the dominate platform in the datacenter. And, ironically, now that Linux dominates, now different hardware, now including various kinds of accelerators as well as new CPUs, can now be slipped easily in and out of compute in the datacenter without huge disruption to Linux.

    The same thing is starting to happen with network operating systems, including the SONiC/SAI effort championed by Microsoft, the ArcOS platform from Arrcus, whatever Nvidia ultimately cooks up through the combination of Mellanox Technology and Cumulus Networks. Cisco Systems is now a supplier of merchant silicon with its Silicon One router chips, which debuted in December 2019 and which were augmented with switch chips last October. Every switch ASIC vendor has created some form of programmability for its packet processing engines, with P4 as advanced by Barefoot Networks (now part of Intel) being the darling but by no means the only way to achieve programmability, and now we see the industry rallying behind the concept of the Data Processing Unit, or DPU, which among other things manages network and storage virtualization and increasingly runs the compute hypervisor, offloading these functions from the CPUs in host systems.

  • The Fridge: Ubuntu Weekly Newsletter Issue 665

    Welcome to the Ubuntu Weekly Newsletter, Issue 665 for the week of January 3 – 9, 2021.

  • The 2020 CC Global Summit Keynotes Are Here!

    In addition to the 170+ sessions hosted at last year’s virtual event, we hosted three keynotes that helped us think through how to connect the events of 2020 with our work—and find a path forward in hope and optimism. We’re excited to share these recordings of the keynotes with you today!

  • Wikipedia’s future lies in poorer countries

    The number of people actively editing Wikipedia articles in English, its most-used language, peaked in 2007 at 53,000, before starting a decade-long decline. That trend spawned fears that the site would atrophy into irrelevance. Fortunately for Wikipedia’s millions of readers, the bleeding has stopped: since 2015 there have been around 32,000 active English-language editors. This stabilising trend is similar for other languages of European origin.

    Meanwhile, as more people in poorer countries gain [Internet] access, Wikipedia is becoming a truly global resource. The encyclopedia’s sub-sites are organised by language, not by nationality. However, you can estimate the typical wealth of speakers of each language by averaging the GDP per head of the countries they live in, weighted by the number of speakers in each country. (For Portuguese, this would be 80% Brazil, 5% Portugal and 15% other countries; for Icelandic, it is almost entirely Iceland.)

More in Tux Machines

today's howtos

  • How to Install IonCube Loader on Ubuntu - Cloudbooklet

    How to Install IonCube Loader on Ubuntu. IonCube Loader is a PHP extension used when you are using a PHP script that is encrypted using ionCube. IonCube needs to be installed in your webserver and made accessible to your PHP to use it. In this guide you are going to learn how to install ionCube loader on Ubuntu or Debian and configure your PHP or PHP-FPM and PHP-CLI to use it.

  • How to Setup CentOS Stream from AWS Marketplace

    In the current trend of IT Infrastructure, Cloud Computing occupies a tremendous role. Most of the top companies are looking for Cloud Providers to have their Infrastructure. As per our requirement, we can provision our servers at any time. According to the server configuration, we will be charged per usage. Amazon Marketplace is the place where you can find software from qualified third-party vendors. It is like an online software store where you can buy software and use it as per your need. In this article, we will see the detailed steps to launch CentOS-Stream from AWS Marketplace.

  • Create a MAN page for your own program or script with Pandoc - PragmaticLinux

    A MAN page is documentation for a software program or script, created in the groff typesetting system. Ever tried writing a MAN page? I bet you thought to yourself: “Yeez, there’s got to be an easier way to do this”. Luckily, there is. In this tutorial, I’ll show you how to write a MAN page comfortably in Markdown. Then we’ll use Pandoc to create the actual MAN page for your program or script, properly formatted in the groff typesetting system.

  • Looking into Linux user logins with lslogins

    One convenient way to list details about user logins on a Linux system is to use the lslogins command. You'll get a very useful and nicely formatted display that includes quite a few important details. On my system and likely most others, user accounts will start with UID 1000. To list just these accounts rather than include all of the service accounts like daemon, mail and syslog, add the -u option as shown in the example below.

Programming Leftovers

  • Coming in glibc 2.33: Reloadable nsswitch.conf

    In my previous article about nsswitch.conf I talked about how simple, perhaps too simple, this config file is to use. What I didn’t cover then was how simplistic its internal implementation is. Specifically, an application only loads this file once—the first time it’s needed. So, what do you do when nsswitch.conf needs to change? How do you update all of the running applications? You don’t! The only way to force a reload is to stop the application and restart it. That is not always an option, especially for critical applications that might take a long time to restart. Recent work behind the scenes in the GNU C library will change all of this. As of glibc version 2.33, this config file now reloads and reparses each time it changes, and only the configuration is reloaded. If the configuration calls for an external shared library to be loaded, that object is only ever loaded once. It may be called in a different sequence, or not called at all, but it is never unloaded. This behavior avoids a whole class of problems related to unloading shared objects that might still be in use.

  • SEGGER's Complete J-Link Software Now Available for Linux on ARM

    SEGGER’s entire portfolio of J-Link software is now available for Linux on ARM, for both 32-bit and 64-bit platforms. This includes both the command-line programs and GUI tools such as J-Flash, J-Flash SPI, J-Scope, the J-Link Configurator, and the GUI version of the GDB Server. “J-Link can now be used on Raspberry Pi and other ARM-based machines, without any limitations,” says Alex Grüner, CTO at SEGGER. “Small single-board ARM computers now offer the same functionality as x86 powered machines. The inexpensive Raspberry Pi and similar boards are now viable options, especially in test farms and production environments.”

  • Bootstrappable builds

    The idea of Reproducible Builds—being able to recreate bit-for-bit identical binaries using the same source code—has gained momentum over the last few years. Reproducible builds provide some safeguards against bad actors in the software supply chain. But building software depends on the tools used to construct the binary, including compilers and build-automation tools, many of which depend on pre-existing binaries. Minimizing the reliance on opaque binaries for building our software ecosystem is the goal of the Bootstrappable Builds project. For example, GCC is written in C and C++, which means that it requires compilers for those two languages in order to be built from source. In practice, that generally means a distribution would use its existing binary executables of those tools to build a new GCC version, which would then be released to users. One of the concerns with that approach is described in Unix inventor Ken Thompson's Turing Award lecture "Reflections on Trusting Trust" [PDF]. In a nutshell, Thompson said that trusting the output of a binary compiler is an act of faith that someone has not tampered with the creation of that binary—even if the source code is available. The Bootstrappable Builds project was started as an offshoot of the Reproducible Builds project during the latter's 2016 summit in Berlin. A bootstrappable build takes the idea of reproducibility one step further, in some sense. The build of a target binary can be reproduced alongside the build of the tools required to do so. It is, conceptually, almost like building a house from a large collection of atoms of different elements.

  • Parasoft Accelerates CI/CD Pipeline Through Partnership With IAR Systems

    IAR Build Tools for Linux uses the leading build tools from IAR Embedded Workbench and empowers software developers who build safety-critical applications to work directly on the Linux host environment, eliminating toolchain version management.

  • Josef Strzibny: Working with decimals in Elixir

    Integers are not enough, and floats are flawed? Decimals to the rescue! A short guide of what’s important when working with decimals in Elixir. This post is about the Decimal 2.0 module from decimal Hex package. As with every module in Elixir, running h Module and Module.module_info in IEx is a good place to start.

  • Swift Deploys: Dealing with Anti-Patterns and Unresolved Issues

    In a long end-of-the-year blog post, Charity Majors, co-founder and CTO of honeycomb.io, discussed lead time to deploy, or “the interval encompassing the time from when the code gets written and when it’s been deployed to production.”

  • Perl weekly challenge 95

    You are given a number $N. Write a script to figure out if the given number is Palindrome. Print 1 if true otherwise 0.

  • Perl Weekly Challenge 95: Palindrome Numbers and Demo Stack
  • Learn awk by coding a "guess the number" game | Opensource.com

    Once you understand these concepts, you can start figuring the rest out. For example, most languages have a "way of doing things" supported by their design, and those ways can be quite different from one program to another. These ways include modularity (grouping related functionality together), declarative vs. imperative, object-orientation, low- vs. high-level syntactic features, and so on. An example familiar to many programmers is "ceremony," that is, the amount of work required to set the scene before tackling the problem. The Java programming language is said to have a significant ceremony requirement, stemming from its design, which requires all code to be defined within a class.

  • The terminal, the console and the shell - what are they?

    The other day, as I was going through some of my old notes, I stumbled upon something I had written about the console, the terminal and the shell on Unix-like operating systems. I have decided to rewrite these notes in order to share them here on my website. So without further ado we will now stroll down memory lane and take a quick look at the origins of the Unix terminal and shell. And I will also give my advice to new users on Linux or BSD regarding the choice of terminal emulator and shell.

Raspberry Pi: EasyOS, YARH.IO, Proprietary Blobs and Inkplate

     
  • Current status of EasyOS on the Pi4

    The videos seem to play OK though. Regarding the hanging, SM seems to be waiting on a response from youtube.com, so I don't know if that is a problem with youtube.com or the network interface. Regarding point-3, sometimes just replugging the USB-stick is sufficient to get it recognized. But sometimes replugging multiple times still does not work.

  •   
  • Stripped-down Raspberry Pi 3B+ SBC powers YARH.IO Micro 2 DIY handheld PC

    We’ve already seen a few DIY Raspberry Pi-based handheld computers in the past with the likes of Zero Terminal V3 or hgTerm powered by a Raspberry Pi Zero and a stripped-down Raspberry Pi 3 board respectively. So why not another? YARH.IO Micro 2 DIY handheld PC is based on a Raspberry Pi 3B+ SBC stripped from its Ethernet port, whose double stack USB connectors have been replaced with single stack USB connectors. The DIY computer also adds off-the-shelf parts with a 4″ touch screen display and a Bluetooth keyboard without touchpad, and gets its power from a 3,500 mAh battery.

  • Get VMware on Raspberry Pi
             
  • 2.5-inch "Industrial Pi" Pico-ITX SBC offers PoE , mini DP++ port

    Inkplate 10 also supports Peripheral Mode which allows you to control the display from another board such as Raspberry Pi or Arduino via commands sent over a UART or USB connection.

Xfce 4.16 Desktop Lands in openSUSE Tumbleweed, Download Now

If you’ve been waiting for Xfce 4.16 to land in openSUSE Tumbleweed, I have some good news today as the wait is over and you can install the desktop environment right now from distribution’s software repositories and upgrade from Xfce 4.14. Xfce 4.16 brings many goodies for fans of the lightweight desktop environment, including fractional scaling, dark mode for the Panel, CSD (Client-side decorations) support for all the Settings dialogs, a revamped About Xfce dialog with info about CPU, GPU and RAM, as well as a refreshed look with new icons and color palette. Read more