Language Selection

English French German Italian Portuguese Spanish

November 2021

Kernel: IO_uring, AMD, Intel, and Analog Devices

Filed under
Linux

  • IO_uring Network Zero-Copy Send Is Boasting Mighty Speed-Ups - Phoronix

    Early patches providing for IO_uring zero-copy send support for the Linux kernel's networking subsystem is looking extremely promising for greater throughput.

    Developer Pavel Begunkov posted the set of twelve patches today working on this zero-copy send support for IO_uring with the networking subsystem. These initial patches are marked as a "request for comments" as some items are still being sorted out with the code.

  • AMD-Pstate Driver Updated A 5th Time For Improving Ryzen Power Efficiency On Linux - Phoronix

    Sent out today was the fifth revision to AMD's new "amd-pstate" kernel driver focused on providing enhanced CPU frequency controls for Linux systems.

    AMD's P-State driver remains under active development for improving the Linux power efficiency for Ryzen (and EPYC) processors. AMD P-State makes use of ACPI CPPC for more informed and finer-grained frequency controls on modern (Zen 2 and newer) processors compared to what is afforded by the existing ACPI CPUFreq frequency scaling driver currently used by AMD Linux systems.

  • Intel Posts Linux Patches Bringing Up Alder Lake N Graphics - Phoronix

    With the graphics driver support for Alder Lake S-series in good shape with Linux 5.16 and the Alder Lake P-series support also coming together for upcoming ADL-based laptops, next up is the Alder Lake N enablement happening for Linux.

    Alder Lake N for low-end, low-power hardware is now coming together. Though over the existing ADL-S and ADL-P Linux support, it's basically adding in new PCI IDs for ADL-N.

  •  Analog Devices Expands Linux Distribution with Over 1000 Device Drivers to Support the Development of High-Performance Solutions | Business Wire

    As the Linux open-source operating system marks its 30th anniversary, Analog Devices, Inc. (ADI) announces the expansion of its Linux distribution by recognizing over 1000 ADI peripherals supported by in kernel Linux device drivers. Designed to enable the rapid development of embedded solutions, these open-source device drivers streamline the software development process for ADI’s customers, providing access to tested, high-quality software to create innovative solutions across a range of industries, including telecom, industrial, military, aerospace, medical, automotive, security, Internet of Things (IoT), consumer, and more. This portfolio includes products from Maxim Integrated Products, Inc., now part of Analog Devices.

More about those zero-dot users

Filed under
GNU
KDE
Linux

Yesterday’s article about KDE’s target users generated some interesting discussions about the zero-dot users. One of the most insightful comments I read was that nobody can really target zero-dot users because they operate based on memorization and habit, learning a series of cause-effect relationships: “I click/touch this picture/button, then something useful happens”–even with their smartphones! So even if GNOME and ElementaryOS might be simpler, that doesn’t really matter because it’s not much harder to memorize a random-seeming sequence of clicks or taps in a poor user interface than it is in a good one.

I think there’s a lot of truth to this perspective. We have all known zero-dot users who became quite proficient at specific tasks; maybe they learned how to to everything they needed in MS Office, Outlook, or even Photoshop.

The key detail is that these folks rely on the visual appearance and structure of the software remaining the same. When the software’s user interface changes–even for the better–they lose critical visual cues and reference points and they can’t find anything anymore.

Read more

Distros Without Systemd (New List) and Trolling Against GNU/Linux

Filed under
GNU
Linux

Videos/Shows: Deepin, Free Software, GTK, KDE, and More

Filed under
GNU
Linux

Ubuntu: Internet of Things (IoT), CyberDog, ZeroDown, and OVS (Open vSwitch)

Filed under
Ubuntu
  • Ubuntu Blog: Embedded systems: the advent of the Internet of Things – Part II

    This is the second part of the two-part blog series covering embedded Linux systems and the challenges brought about by the proliferation of Internet of Things (IoT) devices. In Part I, we surveyed the embedded ecosystem and the role Linux plays within that space. This blog takes you on the next step in the journey, where we explore the most demanding challenges facing manufacturers of tightly embedded IoT devices.

  • CyberDog: a four legged robot revolution with Ubuntu

    Late this year, Chinese tech giant Xiaomi unveiled CyberDog: a quadrupedal, experimental, open-source robot that the firm claims will improve the robot development environment and promote the development of the robot industry. Today, Canonical dives into the specifications of this four legged robot and discover how Ubuntu is helping the device become an open source technological platform.

    Xiaomi has a clear vision for its product. As Huang Changjiang, PM at Xiaomi, explains, “CyberDog is developers’ technological partner from the future. It equips inhouse-made high-performance servo motors, high computing ability, with built-in AI for visual detection system and voice interaction system, supporting a variety of bionic motion gestures.”

  • ZeroDown® Software Targets Open Source with New Canonical Partnership

    As businesses around the world and in every major industry define and accelerate their cloud strategies, the lack of open, flexible and complete high availability has become a major concern. The ZeroDown platform, built upon Canonical’s industry-leading operating system, Ubuntu, aims at integrating into Canonical’s broader Charmed OpenStack platform with its ZeroDown Ultra High-Availability TM Software, eliminating downtime and data loss for its customers, running seamlessly through planned or unplanned downtime events.

  • Data centre networking: what is OVS? | Ubuntu

    In one of our preceding blogs, we spoke about Software-Defined Networking (SDN) and the key drivers behind it. Virtualisation is one of the fundamental aspects that characterises SDN, and has influenced the architecture of network switching in the data centre. OVS (Open vSwitch) is a fundamental component of modern and open data centre SDNs, where it aggregates all the virtual machines at the server hypervisor layer. It represents the ingress point for all the traffic exiting VMs, and can be used to forward traffic between multiple virtual network functions in the form of service chains. Let’s take a closer look in order to understand what OVS is.

Compact edge AI boxes offer choice of Jetson Nano, TX2 NX, and Xavier NX

Filed under
Hardware
Ubuntu

All three systems ship with the Ubuntu 18.04 with Nvidia JetPack 4.5.1. They also support Advantech’s Edge AI Suite and FaceView applications, which are available on its earlier AIR systems.

Read more

today's howtos

Filed under
HowTos
  1. Collaborate on a file using Linux diff and patch

    I edit a lot of text files. Sometimes it's code. Other times it's the written word for role-playing games (RPGs), programming books, or general correspondence. Sometimes it's nice to make a change, but for my collaborator to compare my change with what they originally had written. Many people default to office suites, like LibreOffice, using comments or change tracking features. Sometimes a simpler tool makes more sense, though, and for that, you can look at programming history for tools like diff and patch, which provide standardized formatting for tracking and applying changes to shared files.

  2. Best ways to destroy Microsoft Windows - blackMORE Ops

    OK, like seriously don’t do it unless you’re doing it in a practice Virtual machine or have permission to do so.. I take no responsibility for these collection of best ways to destroy Microsoft Windows!

  3. Quickemu- Run Windows 11 on Ubuntu 20.04 LTS Linux in few clicks

    o you want to install Windows 10 or 11 on your Ubuntu 20.04 or 22.04 LTS Linux using QEMU-KVM virtual machine? Then here is a tutorial to do that using the command terminal and Quickemu + Quickgui.

    Although we all have a simple solution that is a virtual box to run Windows 11 virtual machine, what about KVM? Some will say it is not easy to operate because of the command line but no there are few open-source GUI programs to give KVM an easy interface. However, another thing is downloading ISO images of various operating systems including Windows 10 or 11 to use with Virtualbox can be a headache. Hence, to solve all of this, there is a project called QuickEMU with a GUI interface known as QuickGUI. QickEMU uses QEMU_KVM on Linux operating system to run a virtual machine and can easily download all popular operating system Images to install including macOS. Whereas it can be operated via CLI but for ease of usage users can install QuickGUI to download, create, and manage operating systems virtual machines.

  4. Steinar H. Gunderson: Commitcoin

    How do you get a git commit with an interesting commit ID (or “SHA”)? Of course, interesting is in the eye of the beholder, but let's define it as having many repeated hex nibbles, e.g. “000” in the commit would be somewhat interesting and “8888888888888888888888888” would be very interesting. This is pretty similar to the dreaded cryptocoin mining; we have no simple way of forcing a given SHA-1 hash unless someone manages a complete second-preimage break, so we must brute-force. (And hopefully without boiling the planet in the process; we'd have to settle for a bit shorter runs than in the example above.)

    Git commit IDs are SHA-1 checksums of what they contain; the tree object (“what does the commit contain”), the parents, the commit message and some dates. Of those, let's use the author date as the nonce (I chose to keep the committer date truthful, so as to not be accused of forging history too much). We can set up a shell script to commit with --amend, sweeping GIT_AUTHOR_DATE over the course of a day or so and having EDITOR=true in order not to have to close the editor all the time.

  5. How to Install Kuma on Ubuntu 20.04 | LinuxHostSupport

    Kuma is an open source monitoring tool like “Uptime Robot” written in Nodejs. In this article, we’ll learn how to install it on Ubuntu 20.04 so we can self-host our Uptime Bot. We’ll also set up a reverse proxy on Apache with a Let’s Encrypt SSL to secure our website.

    Kuma is easy to use and upgrade, and is powerful for traffic control, observability, service discovery, etc.

  6. How to Install SuiteCRM with Apache and free Let's Encrypt SSL on Debian 11

    SuiteCTM is an open-source Customer Relationship Management solution written in PHP. It is a fully-featured and highly-extensible CRM application that runs on any operating system. It became popular when SugarCRM decided to stop the development of its community edition. It is used for creating business strategies, actions, and decisions. It is an alternate CRM solution for other commercial CRM such as SugarCRM, Salesforce, and Microsoft.

    In this post, we will show you how to install SuiteCRM with Apache and Let's Encrypt SSL on Debian 11.

  7. How to Install Rudder System Configuration and Auditing Tool on Ubuntu 20.04 – VITUX

    Rudder is an open-source and user-friendly web-based system configuration and audit tool. It helps you to manage your IT infrastructure by automating system configurations while ensuring visibility and control of your infrastructure. Two main components of Rudder are: Root server and node. Root server defines the configurations for the systems it manages. The systems managed by Rudder are known as nodes. Rudder manages the nodes using the Rudder agent which is installed on these systems.

    In today’s post, we will install the Rudder root server and agent on Ubuntu 20.04 LTS. We will use two Ubuntu machines: one as the Rudder root server and the other one as the Rudder node.

    Note: You must be a root user or have sudo privileges on both machines in order to install the Rudder server and agent.

  8. How to check if packages in RHEL-based Linux distributions have been patched for specific CVEs - TechRepublic

    CVEs (Common Vulnerabilities and Exposures) are constantly being discovered and patched. When discovered, it means a new security flaw exists in either an operating system or a piece of software and should be patched as soon as possible. Fixing the vulnerabilities, of course, is up to the developers. Patching those vulnerabilities, however, is up to the admin (or user). Thing is, you might not know if you're using a piece of software that includes one or more CVEs.

    How do you uncover this information? Do you have to spend hours researching? Not really. In fact, all you need to know is the CVE you're looking for and the piece of software it affects. With those two bits of information in hand, you can quickly discover if what's installed on your Red Hat Enterprise Linux-based distribution contains that vulnerability.

    I'm going to show you how to do just that.

  9. How to Install and Configure Nginx on Ubuntu

    Web applications have gained wide popularity over the past few years as a means of providing services to different clients. With a web application, you can reach out to a wider audience regardless of the device or operating system they are using.

    Being able to install and configure a web server is a valuable skill to have both as a web developer and software engineer. A web server is a program responsible for delivering your web content to clients over the internet or a network.

    Let's take a look at how to install and configure the Nginx web server on Ubuntu.

  10. How to install Sublime Merge on a Chromebook

    Today we are looking at how to install Sublime Merge on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below.

  11. How to Install OpenEMR on Ubuntu 20.04 With LAMP Stack

    OpenEMR is a popular open-source software for the healthcare industry. It offers electronic health records and medical practice management solutions. OpenEMR provides a fully integrated Workflow Management inside healthcare facilities. Any healthcare facility would be able to capture and control patient data using the following features in OpenEMR.

  12. Add current user to all groups on the system except “nobody/nogroup”

LXer: Laptop Dual Boot Project Part 2

Filed under
GNU
Linux

I know some of you are wondering why go through all of this when I could just install a Linux distro along side of windows and be done with it? One reason was I had to pay it off. A financed $550 laptop takes a little while to pay off. I didn't want to change the machine any while I owed money on it. And the idea of messing with a bone stock laptop using Linux sounded fun. The good thing now is that I have paid it off so it's all mine to do whatever I want with.

So, for me it came down to PCLOS, Mint, SUSE or Ubuntu to install to my laptop. I tried them all 'live' from USB drives and a couple of them using VirtualBox. They are all good distros and there are many articles on why one or the other is good or better for you but for me, it came down to PCLinuxOS or Mint. Having come from Windows originally I am most comfortable with a "Windows like" environment. I think both PCLOS and Mint are two versions of that I like best. I like Mint mire but what has drawn me to PCLOS is that it is the only Linux I have tried in that the backlight on my keyboard works. It may sound dumb but it makes it easier for me being able to see the keys no matter the lighting situation I'm in.

I tried to install PCLinuxOS onto my laptop and I got a "can't call method on first_usable_sector unblessed reference" error at the very beginning of the install process. I couldn't get around it and aborted the install. Time to do some research. Come to find out I have a AHCI-RAID problem. I got into the BIOS and changed the SATA configuration from RAID to AHCI but in rebooting, it wouldn't boot.

So I went back into my BIOS and wrote down the configuration in the SATA settings. It says I am running the "Intel RST Premium with Intel Optane System Acceleration". I have been looking that up but haven't found much...much I understand that is. More Googling is required.

I got back into the boot menu and changed the SATA config back to Intel's RAID setting and it re-booted just fine. It seems that for the moment I am able to run Linux from USB 'live' and under VirtualBox but I am unable to install it to the HD. For those who don't know the big difference AHCI and Raid , it is how they store the data to the hard drive.

I'll use a sink with water filling it for the metaphor. RAID 1 offers redundancy through mirroring, i.e., data is written identically to two drives. Think of two sinks with the same water in them. RAID 0 offers no redundancy and instead uses striping, i.e., data is split across all the drives. think of two sinks with the water split between them. Half of the data goes into one drive and the other half into another drive. This means RAID 0 offers no fault tolerance; if the drives fails, the RAID unit fails.

Read more

Help the FSF tech team maintain email services in freedom

Filed under
GNU

The Free Software Foundation's (FSF) tech team is a small but dedicated team of three staff. With your support, and with the help of volunteers and interns, we run hundreds of services on a few dozen physical machines in four data centers.

We are very excited about some of the initiatives we are working on, like deploying our upcoming forge site and other new systems, expanding our physical server deployments, and a further refresh of fsf.org. In parallel, the tech team is always working to better maintain, understand, and document our existing systems. Mastering those keeps vital systems running smoothly and lays the groundwork for future improvements.

Email is a key service we provide. Besides it being one of the FSF campaigns and licensing teams' most important ways of communicating, we also support thousands of mailing lists for other free software projects, which send millions of emails per year. Free software is extremely capable in all aspects of email, and there continue to be innovative advancements in free software email programs that we are excited to explore and adopt.

Read more

More in Tux Machines

Git 2.35.0

Git 2.35 Release Notes
======================

Updates since Git 2.34
----------------------

Backward compatibility warts

 * "_" is now treated as any other URL-valid characters in an URL when
   matching the per-URL configuration variable names.

 * The color palette used by "git grep" has been updated to match that
   of GNU grep.


Note to those who build from the source

 * You may need to define NO_UNCOMPRESS2 Makefile macro if you build
   with zlib older than 1.2.9.

 * If your compiler cannot grok C99, the build will fail.  See the
   instruction at the beginning of git-compat-util.h if this happens
   to you.


UI, Workflows & Features

 * "git status --porcelain=v2" now show the number of stash entries
   with --show-stash like the normal output does.

 * "git stash" learned the "--staged" option to stash away what has
   been added to the index (and nothing else).

 * "git var GIT_DEFAULT_BRANCH" is a way to see what name is used for
   the newly created branch if "git init" is run.

 * Various operating modes of "git reset" have been made to work
   better with the sparse index.

 * "git submodule deinit" for a submodule whose .git metadata
   directory is embedded in its working tree refused to work, until
   the submodule gets converted to use the "absorbed" form where the
   metadata directory is stored in superproject, and a gitfile at the
   top-level of the working tree of the submodule points at it.  The
   command is taught to convert such submodules to the absorbed form
   as needed.

 * The completion script (in contrib/) learns that the "--date"
   option of commands from the "git log" family takes "human" and
   "auto" as valid values.

 * "Zealous diff3" style of merge conflict presentation has been added.

 * The "git log --format=%(describe)" placeholder has been extended to
   allow passing selected command-line options to the underlying "git
   describe" command.

 * "default" and "reset" have been added to our color palette.

 * The cryptographic signing using ssh keys can specify literal keys
   for keytypes whose name do not begin with the "ssh-" prefix by
   using the "key::" prefix mechanism (e.g. "key::ecdsa-sha2-nistp256").

 * "git fetch" without the "--update-head-ok" option ought to protect
   a checked out branch from getting updated, to prevent the working
   tree that checks it out to go out of sync.  The code was written
   before the use of "git worktree" got widespread, and only checked
   the branch that was checked out in the current worktree, which has
   been updated.

 * "git name-rev" has been tweaked to give output that is shorter and
   easier to understand.

 * "git apply" has been taught to ignore a message without a patch
   with the "--allow-empty" option.  It also learned to honor the
   "--quiet" option given from the command line.

 * The "init" and "set" subcommands in "git sparse-checkout" have been
   unified for a better user experience and performance.

 * Many git commands that deal with working tree files try to remove a
   directory that becomes empty (i.e. "git switch" from a branch that
   has the directory to another branch that does not would attempt
   remove all files in the directory and the directory itself).  This
   drops users into an unfamiliar situation if the command was run in
   a subdirectory that becomes subject to removal due to the command.
   The commands have been taught to keep an empty directory if it is
   the directory they were started in to avoid surprising users.

 * "git am" learns "--empty=(stop|drop|keep)" option to tweak what is
   done to a piece of e-mail without a patch in it.

 * The default merge message prepared by "git merge" records the name
   of the current branch; the name can be overridden with a new option
   to allow users to pretend a merge is made on a different branch.

 * The way "git p4" shows file sizes in its output has been updated to
   use human-readable units.

 * "git -c branch.autosetupmerge=inherit branch new old" makes "new"
   to have the same upstream as the "old" branch, instead of marking
   "old" itself as its upstream.


Performance, Internal Implementation, Development Support etc.

 * The use of errno as a means to carry the nature of error in the ref
   API implementation has been reworked and reduced.

 * Teach and encourage first-time contributors to this project to
   state the base commit when they submit their topic.

 * The command line completion for "git send-email" options have been
   tweaked to make it easier to keep it in sync with the command itself.

 * Ensure that the sparseness of the in-core index matches the
   index.sparse configuration specified by the repository immediately
   after the on-disk index file is read.

 * Code clean-up to eventually allow information on remotes defined
   for an arbitrary repository to be read.

 * Build optimization.

 * Tighten code for testing pack-bitmap.

 * Weather balloon to break people with compilers that do not support
   C99.

 * The "reftable" backend for the refs API, without integrating into
   the refs subsystem, has been added.

 * More tests are marked as leak-free.

 * The test framework learns to list unsatisfied test prerequisites,
   and optionally error out when prerequisites that are expected to be
   satisfied are not.

 * The default setting for trace2 event nesting was too low to cause
   test failures, which is worked around by bumping it up in the test
   framework.

 * Drop support for TravisCI and update test workflows at GitHub.

 * Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
   mechanism to force "git" to use 'master' as the default name for
   the initial branch no longer need it; the use of the mechanism from
   them have been removed.

 * Allow running our tests while disabling fsync.

 * Document the parameters given to the reflog entry iterator callback
   functions.
   (merge e6e94f34b2 jc/reflog-iterator-callback-doc later to maint).

 * The test helper for refs subsystem learned to write bogus and/or
   nonexistent object name to refs to simulate error situations we
   want to test Git in.

 * "diff --histogram" optimization.

 * Weather balloon to find compilers that do not grok variable
   declaration in the for() loop.

 * diff and blame commands have been taught to work better with sparse
   index.

 * The chainlint test script linter in the test suite has been updated.

 * The DEVELOPER=yes build uses -std=gnu99 now.

 * "git format-patch" uses a single rev_info instance and then exits.
   Mark the structure with UNLEAK() macro to squelch leak sanitizer.

 * New interface into the tmp-objdir API to help in-core use of the
   quarantine feature.

 * Broken &&-chains in the test scripts have been corrected.

 * The RCS keyword substitution in "git p4" used to be done assuming
   that the contents are UTF-8 text, which can trigger decoding
   errors.  We now treat the contents as a bytestring for robustness
   and correctness.

 * The conditions to choose different definitions of the FLEX_ARRAY
   macro for vendor compilers has been simplified to make it easier to
   maintain.

 * Correctness and performance update to "diff --color-moved" feature.

 * "git upload-pack" (the other side of "git fetch") used a 8kB buffer
   but most of its payload came on 64kB "packets".  The buffer size
   has been enlarged so that such a packet fits.

 * "git fetch" and "git pull" are now declared sparse-index clean.
   Also "git ls-files" learns the "--sparse" option to help debugging.

 * Similar message templates have been consolidated so that
   translators need to work on fewer number of messages.


Fixes since v2.34
-----------------

 * "git grep" looking in a blob that has non-UTF8 payload was
   completely broken when linked with certain versions of PCREv2
   library in the latest release.

 * Other code cleanup, docfix, build fix, etc.

 * "git pull" with any strategy when the other side is behind us
   should succeed as it is a no-op, but doesn't.

 * An earlier change in 2.34.0 caused JGit application (that abused
   GIT_EDITOR mechanism when invoking "git config") to get stuck with
   a SIGTTOU signal; it has been reverted.

 * An earlier change that broke .gitignore matching has been reverted.

 * Things like "git -c branch.sort=bogus branch new HEAD", i.e. the
   operation modes of the "git branch" command that do not need the
   sort key information, no longer errors out by seeing a bogus sort
   key.
   (merge 98e7ab6d42 jc/fix-ref-sorting-parse later to maint).

 * The compatibility implementation for unsetenv(3) were written to
   mimic ancient, non-POSIX, variant seen in an old glibc; it has been
   changed to return an integer to match the more modern era.
   (merge a38989bd5b jc/unsetenv-returns-an-int later to maint).

 * The clean/smudge conversion code path has been prepared to better
   work on platforms where ulong is narrower than size_t.
   (merge 596b5e77c9 mc/clean-smudge-with-llp64 later to maint).

 * Redact the path part of packfile URI that appears in the trace output.
   (merge 0ba558ffb1 if/redact-packfile-uri later to maint).

 * CI has been taught to catch some Unicode directional formatting
   sequence that can be used in certain mischief.
   (merge 0e7696c64d js/ci-no-directional-formatting later to maint).

 * The "--date=format:" gained a workaround for the lack of
   system support for a non-local timezone to handle "%s" placeholder.
   (merge 9b591b9403 jk/strbuf-addftime-seconds-since-epoch later to maint).

 * The "merge" subcommand of "git jump" (in contrib/) silently ignored
   pathspec and other parameters.
   (merge 67ba13e5a4 jk/jump-merge-with-pathspec later to maint).

 * The code to decode the length of packed object size has been
   corrected.
   (merge 34de5b8eac jt/pack-header-lshift-overflow later to maint).

 * The advice message given by "git pull" when the user hasn't made a
   choice between merge and rebase still said that the merge is the
   default, which no longer is the case.  This has been corrected.
   (merge 71076d0edd ah/advice-pull-has-no-preference-between-rebase-and-merge later to maint).

 * "git fetch", when received a bad packfile, can fail with SIGPIPE.
   This wasn't wrong per-se, but we now detect the situation and fail
   in a more predictable way.
   (merge 2a4aed42ec jk/fetch-pack-avoid-sigpipe-to-index-pack later to maint).

 * The function to cull a child process and determine the exit status
   had two separate code paths for normal callers and callers in a
   signal handler, and the latter did not yield correct value when the
   child has caught a signal.  The handling of the exit status has
   been unified for these two code paths.  An existing test with
   flakiness has also been corrected.
   (merge 5263e22cba jk/t7006-sigpipe-tests-fix later to maint).

 * When a non-existent program is given as the pager, we tried to
   reuse an uninitialized child_process structure and crashed, which
   has been fixed.
   (merge f917f57f40 em/missing-pager later to maint).

 * The single-key-input mode in "git add -p" had some code to handle
   keys that generate a sequence of input via ReadKey(), which did not
   handle end-of-file correctly, which has been fixed.
   (merge fc8a8126df cb/add-p-single-key-fix later to maint).

 * "git rebase -x" added an unnecessary 'exec' instructions before
   'noop', which has been corrected.
   (merge cc9dcdee61 en/rebase-x-fix later to maint).

 * When the "git push" command is killed while the receiving end is
   trying to report what happened to the ref update proposals, the
   latter used to die, due to SIGPIPE.  The code now ignores SIGPIPE
   to increase our chances to run the post-receive hook after it
   happens.
   (merge d34182b9e3 rj/receive-pack-avoid-sigpipe-during-status-reporting later to maint).

 * "git worktree add" showed "Preparing worktree" message to the
   standard output stream, but when it failed, the message from die()
   went to the standard error stream.  Depending on the order the
   stdio streams are flushed at the program end, this resulted in
   confusing output.  It has been corrected by sending all the chatty
   messages to the standard error stream.
   (merge b50252484f es/worktree-chatty-to-stderr later to maint).

 * Coding guideline document has been updated to clarify what goes to
   standard error in our system.
   (merge e258eb4800 es/doc-stdout-vs-stderr later to maint).

 * The sparse-index/sparse-checkout feature had a bug in its use of
   the matching code to determine which path is in or outside the
   sparse checkout patterns.
   (merge 8c5de0d265 ds/sparse-deep-pattern-checkout-fix later to maint).

 * "git rebase -x" by mistake started exporting the GIT_DIR and
   GIT_WORK_TREE environment variables when the command was rewritten
   in C, which has been corrected.
   (merge 434e0636db en/rebase-x-wo-git-dir-env later to maint).

 * When "git log" implicitly enabled the "decoration" processing
   without being explicitly asked with "--decorate" option, it failed
   to read and honor the settings given by the "--decorate-refs"
   option.

 * "git fetch --set-upstream" did not check if there is a current
   branch, leading to a segfault when it is run on a detached HEAD,
   which has been corrected.
   (merge 17baeaf82d ab/fetch-set-upstream-while-detached later to maint).

 * Among some code paths that ask an yes/no question, only one place
   gave a prompt that looked different from the others, which has been
   updated to match what the others create.
   (merge 0fc8ed154c km/help-prompt-fix later to maint).

 * "git log --invert-grep --author=" used to exclude commits
   written by the given author, but now "--invert-grep" only affects
   the matches made by the "--grep=" option.
   (merge 794c000267 rs/log-invert-grep-with-headers later to maint).

 * "git grep --perl-regexp" failed to match UTF-8 characters with
   wildcard when the pattern consists only of ASCII letters, which has
   been corrected.
   (merge 32e3e8bc55 rs/pcre2-utf later to maint).

 * Certain sparse-checkout patterns that are valid in non-cone mode
   led to segfault in cone mode, which has been corrected.

 * Use of certain "git rev-list" options with "git fast-export"
   created nonsense results (the worst two of which being "--reverse"
   and "--invert-grep --grep=").  The use of "--first-parent" is
   made to behave a bit more sensible than before.
   (merge 726a228dfb ws/fast-export-with-revision-options later to maint).

 * Perf tests were run with end-user's shell, but it has been
   corrected to use the shell specified by $TEST_SHELL_PATH.
   (merge 9ccab75608 ja/perf-use-specified-shell later to maint).

 * Fix dependency rules to generate hook-list.h header file.
   (merge d3fd1a6667 ab/makefile-hook-list-dependency-fix later to maint).

 * "git stash" by default triggers its "push" action, but its
   implementation also made "git stash -h" to show short help only for
   "git stash push", which has been corrected.
   (merge ca7990cea5 ab/do-not-limit-stash-help-to-push later to maint).

 * "git apply --3way" bypasses the attempt to do a three-way
   application in more cases to address the regression caused by the
   recent change to use direct application as a fallback.
   (merge 34d607032c jz/apply-3-corner-cases later to maint).

 * Fix performance-releated bug in "git subtree" (in contrib/).
   (merge 3ce8888fb4 jl/subtree-check-parents-argument-passing-fix later to maint).

 * Extend the guidance to choose the base commit to build your work
   on, and hint/nudge contributors to read others' changes.
   (merge fdfae830f8 jc/doc-submitting-patches-choice-of-base later to maint).

 * A corner case bug in the ort merge strategy has been corrected.
   (merge d30126c20d en/merge-ort-renorm-with-rename-delete-conflict-fix later to maint).

 * "git stash apply" forgot to attempt restoring untracked files when
   it failed to restore changes to tracked ones.
   (merge 71cade5a0b en/stash-df-fix later to maint).

 * Calling dynamically loaded functions on Windows has been corrected.
   (merge 4a9b204920 ma/windows-dynload-fix later to maint).

 * Some lockfile code called free() in signal-death code path, which
   has been corrected.
   (merge 58d4d7f1c5 ps/lockfile-cleanup-fix later to maint).

 * Other code cleanup, docfix, build fix, etc.
   (merge 74db416c9c cw/protocol-v2-doc-fix later to maint).
   (merge f9b2b6684d ja/doc-cleanup later to maint).
   (merge 7d1b866778 jc/fix-first-object-walk later to maint).
   (merge 538ac74604 js/trace2-avoid-recursive-errors later to maint).
   (merge 152923b132 jk/t5319-midx-corruption-test-deflake later to maint).
   (merge 9081a421a6 ab/checkout-branch-info-leakfix later to maint).
   (merge 42c456ff81 rs/mergesort later to maint).
   (merge ad506e6780 tl/midx-docfix later to maint).
   (merge bf5b83fd8a hk/ci-checkwhitespace-commentfix later to maint).
   (merge 49f1eb3b34 jk/refs-g11-workaround later to maint).
   (merge 7d3fc7df70 jt/midx-doc-fix later to maint).
   (merge 7b089120d9 hn/create-reflog-simplify later to maint).
   (merge 9e12400da8 cb/mingw-gmtime-r later to maint).
   (merge 0bf0de6cc7 tb/pack-revindex-on-disk-cleanup later to maint).
   (merge 2c68f577fc ew/cbtree-remove-unused-and-broken-cb-unlink later to maint).
   (merge eafd6e7e55 ab/die-with-bug later to maint).
   (merge 91028f7659 jc/grep-patterntype-default-doc later to maint).
   (merge 47ca93d071 ds/repack-fixlets later to maint).
   (merge e6a9bc0c60 rs/t4202-invert-grep-test-fix later to maint).
   (merge deb5407a42 gh/gpg-doc-markup-fix later to maint).
   (merge 999bba3e0b rs/daemon-plug-leak later to maint).
   (merge 786eb1ba39 js/l10n-mention-ngettext-early-in-readme later to maint).
   (merge 2f12b31b74 ab/makefile-msgfmt-wo-stats later to maint).
   (merge 0517f591ca fs/gpg-unknown-key-test-fix later to maint).
   (merge 97d6fb5a1f ma/header-dup-cleanup later to maint).
Read more Also: Git 2.35 Released With "git stash --staged" mode, Other Developer Additions - Phoronix

FUD and Security Leftovers

  • Linux Servers at Risk of RCE Due to Critical CWP Bugs [Ed: It's not a Linux issue but a program that can run on top of it; FUD pattern?]
  • CWP bugs allow code execution as root on Linux servers, patch now [Ed: Microsoft boosters make a bug in CentOS Web Panel sound like it's an issue with Linux]

    Two security vulnerabilities that impact the Control Web Panel (CWP) software can be chained by unauthenticated attackers to gain remote code execution (RCE) as root on vulnerable Linux servers. CWP, previously known as CentOS Web Panel, is a free Linux control panel for managing dedicated web hosting servers and virtual private servers.

  • CISA Publishes Infographic on Layering Network Security Through Segmentation

    CISA has published an infographic to emphasize the importance of implementing network segmentation—a physical or virtual architectural approach that divides a network into multiple segments, each acting as its own subnetwork, to provide additional security and control that can help prevent or minimize the impact of a cyberattack.

  • LHS Episode #449: Insecurities Everywhere

    Hello and welcome to the 449th installment of Linux in the Ham Shack. In this short-topics episode, the hosts discuss results from the 2021 QSO parties, the FCC tech advisory council, the proliferation of Linux malware, SDR++, programming in Python and much more. Thank you for listening and have a fantastic week.

Today in Techrights

today's leftovers

  • The Apache Weekly News Round-up: week ending 21 January 2022

    We're wrapping up another great week with the following activities from the Apache community...

  • How the debuginfod project evolved in 2021

    Debuginfod is a web service for distributing debugging resources over HTTP. The project began in 2019 and has seen a lot of growth in 2021.

  • Am getting the hang of it…. [Ed: archbang-winter-2201-x86_64.iso has been released]

    With a bit of spare time on my hands between decorating and cooking, been slowly setting up dk tiling window manager. Did try lemonbar as a panel but I soon lost interest and went back to tint2, more the fact I am used to it more. One thing I have added is super + a which fires up rofi showing open windows, not only that it tells you which workspace window is on. Was trying out floating windows and just moved them to workspace 10 to test them out only they would not return to full screen. Found it very odd so tried them on 9 and they worked fine. So thought I would take a look at dkrc file and sure enough there is a line that sets windows, gaps and borders on workspace 10.

  • Brazilian telecoms giant accelerates innovation with SUSE | SUSE Communities

    “SUSE Rancher makes it easier for our IT staff to manage and scale a large container environment. As a result, we can spend less time on repetitive manual tasks and more time on value-added development.” Marcos Borges, Telco/DC Application Manager, Algar Telecom.

  • Linux Foundation launches Open Source Software Development, Linux, and Git certification [Ed: Paid-for LF spam by SJVN at ZDNet. 'Obligatory' articles for sponsors.]

    Want a good-paying programming job? By ZipRecruiter's count, the average annual pay for an open-source developer in the United States is $123,411. That's not bad. There's also a lot of demand for Linux and open-source pros. The Linux Foundation and edX, the leading massive open online course (MOOC) provider, reported in their 2021 Open Source Jobs Report that the pair found more demand for top open-source workers than ever.