Language Selection

English French German Italian Portuguese Spanish

About Tux Machines

Sunday, 28 Nov 21 - Tux Machines is a community-driven public service/news site which has been around for over a decade and a half and primarily focuses on GNU/LinuxSubscribe now Syndicate content

Search This Site

Quick Roundup

Type Title Author Replies Last Postsort icon
Story 9to5Linux Weekly Roundup: November 28th, 2021 Marius Nestor 29/11/2021 - 1:25am
Blog entry Why We Can't Teach Cybersecurity Roy Schestowitz 29/11/2021 - 12:52am
Story toiday's leftovers Roy Schestowitz 29/11/2021 - 12:12am
Story Kernel and Graphics: Linux Stuff and GPUs Roy Schestowitz 29/11/2021 - 12:11am
Story Linux 5.16-rc3 Roy Schestowitz 28/11/2021 - 11:17pm
Story PHP 8.1 Released Roy Schestowitz 3 28/11/2021 - 11:15pm
Story Audiocasts/Shows: Endless OS 4.0.0, GIMP, BSD, KDE, and Elementary Roy Schestowitz 28/11/2021 - 11:06pm
Story today's howtos Roy Schestowitz 28/11/2021 - 10:36pm
Story Upcycling Android: Keep using your phone with Free Software Rianne Schestowitz 1 28/11/2021 - 10:08pm
Story EU coalition urges EU to push back against gate keeping by Microsoft, files official complaint Roy Schestowitz 4 28/11/2021 - 10:07pm

9to5Linux Weekly Roundup: November 28th, 2021

Filed under
Linux
News

This week has been full of great releases, despite the fact that it was Thanksgiving week in the US. We managed to test drive the MX Linux 21 AHS edition, new Deepin Linux, Alpine Linux, Endless OS, IPFire, and Clonezilla Live versions, as well as to update our VirtualBox, LibreOffice, Tux Paint, and Proton installs.

On top of that, this week brought us a new Linux laptop from TUXEDO Computers targeted at business users. You can enjoy these and much more in 9to5Linux’s Linux weekly roundup for November 28th, 2021, below! Don’t forget to also check out our YouTube channel for the latest reviews.

Read more

toiday's leftovers

Filed under
Misc
  • Linux Weekly Roundup #158

    Welcome to this week's Linux Roundup. It was a full week of Linux releases with Endless OS 4.0.0 and Deepin 20.3.

    We hope that you had a good week and may the be a great one ahead!

  • Putting the Open back into Open Source

    Agility has never been more important than it is in today’s disrupted digital world. Leaders in every industry are trying to find a balance between the stability that allows them to plan for the future, while creating highly agile organisations that can quickly respond to new challenges and opportunities.

    This agility only comes from the ability to innovate at speed, which is why open source communities are as vital as ever. According to SUSE’s recently commissioned Insight Avenue report, Why Today’s IT Leaders are Choosing Open, 84% now see open source as a way to cost-effectively drive this innovation.

  • How To Install Snap on Ubuntu 20.04 LTS - idroot

    In this tutorial, we will show you how to install Snap on Ubuntu 20.04 LTS. For those of you who didn’t know, Snap also known as Snappy is an alternative package management tool and program package format developed by Canonical, the company behind Ubuntu Linux. All the snaps are usually stored in a central repository called Snap Store from where snaps can be downloaded and installed using the snap command. Snaps work across a range of Linux distributions, which makes them a distro-agnostic upstream software deployment solution.

    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 the step-by-step installation of the Snap Package Manager on Ubuntu 20.04 (Focal Fossa). You can follow the same instructions for Ubuntu 18.04, 16.04, and any other Debian-based distribution like Linux Mint.

  • The European Commission To Force Apple To Allow App Sideloading (NASDAQ:AAPL) | Seeking Alpha [Ed: It is NOT called SIDELOADING… it’s called INSTALLING!]

    Investors are ignoring significant regulatory developments for Apple while distracted by Apple Car speculation.

  • Unboxing Busybox: Claroty and JFrog uncovers 14 vulnerabilities

    Embedded devices with limited memory and storage resources are likely to leverage a tool such as BusyBox, which is marketed as the Swiss Army Knife of embedded Linux. BusyBox is a software suite of Unix utilities, known as applets, that are packaged as a single executable file.

    Within BusyBox you can find a full-fledged shell, a DHCP client/server, and small utilities such as cp, ls, grep, and others. You’re also likely to find many OT and IoT devices running BusyBox, including popular programmable logic controllers (PLCs), human-machine interfaces (HMIs), and remote terminal units (RTUs)—many of which now run on Linux.

    As part of our commitment to improving open-source software security, Claroty’s Team82 and JFrog collaborated on a vulnerability research project examining BusyBox. Using static and dynamic techniques, Claroty’s Team82 and JFrog discovered 14 vulnerabilities affecting the latest version of BusyBox.

    In most cases, the expected impact of these issues is denial of service (DoS). However, in rarer cases, these issues can also lead to information leaks and possibly remote code execution.

  • Perl Weekly Challenge 140: Multiplication Tables
  • Leaky Rakudo

    Yesterday the discord-bridge-bot refused to perform its 2nd job: EVAL All The Things! The EVALing is done via shell-out and requires a fair bit of RAM (Rakudo is equally slim then Santa). After about 3 weeks the fairly simple bot had grown from about halve a GB to one and a halve – while mostly waiting for the intertubes to deliver small pieces of text. I complained on IRC and was advised to take heap snapshots. Since I didn’t know how to make heaps of snapshots, I had to take timo’s directions towards use Telemetry. As snap(:heap) wasn’t willing to surrender the filename of the snapshot (I want to compress the file, it is going to get big over time) I had a look at the source. I also requested a change to Rakudo so I don’t have to hunt down the filename, which was fulfilled by lizmat 22 minutes later. Since you may not have a very recent Rakudo, the following snipped might be useful.

  • Nemiver debugger now in devx SFS

    Mike (mikewalsh) responded with a great link that lists lots of Linux debugger/trace tools. The EasyOS devx SFS already has the 'gdb' CLI utility, and I saw on that link, there are 'ddd' and 'nemiver' GUI frontends for gdb.
    I went for nemiver and compiled it. The project seems to be almost dead, but then, if it works, perhaps no need for more commits to the git repository. I chose version 0.8.2, not the latest, but it suited me to stay with a gtk+2 based app rather than gtk+3.
    Two dependencies, 'gtkmm' and 'libgtop', are compiled in OpenEmbedded. I compiled 'libgtksourceviewmm' and 'nemiver' in a running EasyOS and made them into PETs.

Kernel and Graphics: Linux Stuff and GPUs

Filed under
Graphics/Benchmarks
Linux
  • Facebook/Meta Tackling Transparent Page Placement For Tiered-Memory Linux Systems - Phoronix

    Back during the Linux 5.15 cycle Intel contributed an improvement for tiered memory systems where less used memory pages could be demoted to slower tiers of memory storage. But once demoted that kernel infrastructure didn't have a means of promoting those demoted pages back to the faster memory tiers should they become hot again, though now Facebook/Meta engineers have been working on such functionality. 

    Prior to the Linux 5.15 kernel, during the memory reclaim process when the system RAM was under memory pressure was to simply toss out cold pages. However, with Linux 5.15 came the ability to shift those cold pages to any slower memory tiers. In particular, modern and forthcoming servers with Optane DC persistent memory or CXL-enabled memory, etc. Therefore the pages are still accessible if needed but not occupying precious system DRAM if they aren't being used and to avoid just flushing them out or swapping to disk. 

  • Linux 5.17 To Boast Latency Optimization For AF_UNIX Sockets - Phoronix

    Net-next has been queuing a number of enticing performance optimizations ahead of the Linux 5.17 merge window kicking off around the start of the new year. Covered already was a big TCP optimization and a big improvement for csum_partial() that is used in the network code for checksum computation. The latest optimization is improving the AF_UNIX code path for those using AF_UNIX sockets for local inter-process communication. 

    A new patch series was queued up on Friday in net-next for improving the AF_UNIX code. That patch series by Kuniyuki Iwashima of Amazon Japan is ultimately about replacing AF_UNIX sockets' single big lock with per-hash locks. The series replaces the AF_UNIX big lock and also as part of the series has a speed-up to the autobind behavior. 

  • Nvidia Pascal GPU, DX12 and VKD3D: Slideshow time! - Boiling Steam

    So Horizon Zero Dawn had a sale recently on Fanatical, and I thought… OK I’ll grab it! It’s time. I first installed it on my workstation that only has a GTX1060 3GB GPU – not a workhorse but a decent card nonetheless for low-to-medium end gaming. I knew very well that Horizon Zero Dawn is a DX12 game and that Pascal architecture (Nvidia 10xx basically) and earlier versions do not play very well with DX12 games running through vkd3d-proton, the DX12 to Vulkan translation layer.

    Still, I could imagine getting somewhere around 30 FPS on low-to-medium settings, and use FSR if necessary to get to better framerates. Nothing prepared me for the performance I was about to experience.

Linux 5.16-rc3

Filed under
Linux
So rc3 is usually a bit larger than rc2 just because people had some
time to start finding things.

So too this time, although it's not like this is a particularly big
rc3. Possibly partly due to the past week having been Thanksgiving
week here in the US. But the size is well within the normal range, so
if that's a factor, it's not been a big one.

The diff for rc3 is mostly drivers, although part of that is just
because of the removal of a left-over MIPS Netlogic driver which makes
the stats look a bit wonky, and is over a third of the whole diff just
in itself.

If you ignore that part, the statistics look a bit more normal, but
drivers still dominate (network drivers, sound and gpu are the big
ones, but there is noise all over). Other than that there's once again
a fair amount of selftest (mostly networking), along with core
networking, some arch updates - the bulk of it from a single arm64
uaccess patch, although that's mostly because it's all pretty small -
and random other changes.

Full shortlog below.

Please test,

             Linus

Read more

Also: Linux 5.16-rc3 Released With Alder Lake ITMT Fix, Other Driver Fixes - Phoronix

Audiocasts/Shows: Endless OS 4.0.0, GIMP, BSD, KDE, and Elementary

Filed under
GNU
Linux

today's howtos

Filed under
HowTos
  1. How to install FreeOffice 2021 on Ubuntu 20.04 Linux

    One of the best free alternatives to Microsoft Office is FreeOffice, developed by a German software company- SoftMaker. Recently, they have upgraded their Office suite to version 21. And here we learn the steps to install FreeOffice 2021 version on Ubuntu 20.04 Linux using the command terminal.

    This free office suite is a part of the commercial one from the same developers known as SoftMaker Office 21 (also available for Linux), of course, the premium will have more features but that doesn’t mean the free version- FreeOffice 2021 deprives to full fill all daily office documents (MS-Word alternative) related requirements. It offers a Microsoft office ribbon-like interface and three modules- TextMaker 21 to create documents; PlanMaker 21 to create sheets (Excel alternative) and Presentations 21 for making slides like MS-Powerpoint.

  2. Pin Custom Folders to Left Panel ‘Files’ Icon Context Menu in Ubuntu 20.04 | UbuntuHandbook

    In Windows 10, user may right-click on the ‘File Explorer’ icon on panel to access pinned folders (e.g., Desktop, Downloads and Documents) quickly.

    Ubuntu has first implemented this feature in Ubuntu 21.10, though it seems to be not working properly due to bug. Ubuntu 20.04 may manually add the context (right-click) menu options so user can right-click on the ‘Files’ icon to choose open favorite folders quickly.

  3. How To Install Perl on AlmaLinux 8 - idroot

    In this tutorial, we will show you how to install Perl on AlmaLinux 8. For those of you who didn’t know, Perl (Practical Extraction and Reporting Language) is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more. The major features of Perl are easy to use, supports object-oriented and procedural programming languages, and has built-in support for processing text. The most impressive feature of Perl is that it supports a large collection of third-party modules.

    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 the step-by-step installation of the Perl programming language on AlmaLinux 8. You can follow the same instructions for Rocky Linux.

  4. How to play Total War: WARHAMMER on Linux

    Total War: Warhammer is a turn-based real-time tactics video game developed by Creative Assembly and published by Sega. It takes place in the War Hammer 40K universe. Here’s how you can play it on your Linux PC.

  5. How to install Funkin' Vs. Camellia on a Chromebook

    Today we are looking at how to install Funkin' Vs. Camellia 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.

Debian GR procedures and timelines

Filed under
Debian

A vote has been proposed in Debian to change the formal procedure in Debian by which General Resolutions (our name for "votes") are proposed. The original proposal is based on a text by Russ Allberry, which changes a number of rules to be less ambiguous and, frankly, less weird.

One thing Russ' proposal does, however, which I am absolutely not in agreement with, is to add a absolutly hard time limit after three weeks. That is, in the proposed procedure, the discussion time will be two weeks initially (unless the Debian Project Leader chooses to reduce it, which they can do by up to one week), and it will be extended if more options are added to the ballot; but after three weeks, no matter where the discussion stands, the discussion period ends and Russ' proposed procedure forces us to go to a vote, unless all proposers of ballot options agree to withdraw their option.

I believe this is a big mistake. I think any procedure we come up with should allow for the possibility that we may end up with a situation where everyone agrees that extending the discussion time a short time is a good idea, without necessarily resetting the whole discussion time to another two weeks (modulo a decision by the DPL).

Read more

PHP 8.1 Benchmarks - Continuing The Nice Performance Trajectory

Filed under
Graphics/Benchmarks

PHP 8.1 released on Thursday as the latest major feature release for this programming language. In this article are some benchmarks of PHP 8.1.0 on an AMD EPYC powered Linux server compared to prior releases going as far back as PHP 5.6.

As previously covered, PHP 8.1 introduces many new language features like PHP "Fibers", enums, read-only class properties, new fsync functions, and much more. PHP 8.1 is another great annual update to this server-side language. But as we've seen over the past number of years since the late PHP 5.x era, the performance has continued improving.

Read more

5 Best Free and Open Source Linux MAC/RBAC Tools

Filed under
Software
OSS

One of the most difficult problems in managing a large network is the complexity of security administration. The deployment of individual security products such as firewalls, intrusion detection systems, network traffic analysis, log file analysis, or antivirus software is never going to provide adequate protection for computers that are connected to the internet. For example, a good network intrusion prevention and detection system (such as Snort) does an exemplary job at detecting attacks within traffic. However, this type of detection does not offer any sort of damage containment. Equally, a firewall offers an outstanding method at defining what type of traffic is allowed in a network, but does not offer any deep protocol analysis.

Read more

Kalendar v0.3.0 out soon, with improved stability, efficiency, accessibility… and a Windows version?? – Kalendar devlog 23

Filed under
KDE

Over the past two weeks, we have been hard at work under the hood of Kalendar. What you can expect from these two weeks’ refactors, additions, and changes is a version of Kalendar that is more stable, faster to use, and easier to use than ever before.

We are excited to have you try Kalendar, and we want your feedback — especially bug reports! These will help us improve Kalendar as much as possible before releasing 1.0.

Read more

Best Free and Open Source Alternatives to Corel Painter

Filed under
Software
OSS

Corel Corporation is a Canadian software company specializing in graphics processing. They are best known for developing CorelDRAW, a vector graphics editor. They are also notable for purchasing and developing AfterShot Pro, PaintShop Pro, Painter, Video Studio, MindManager, and WordPerfect.

Corel has dabbled with Linux over the years. For example they produced Corel Linux, a Debian-based distribution which bundled Corel WordPerfect Office for Linux. While Corel effectively abandoned its Linux business in 2001 they are not completely Linux-phobic. For example, AfterShot Pro has an up to date Linux version albeit its proprietary software.

Read more

SQLite 3.37 Lightweight Database Comes Packed with New Features

Filed under
Software

SQLite 3.37 has just got better with added new features such as CLI enhancements and additional interfaces.

SQLite is is an open source self-contained, lightweight serverless relational database management system. The lite in SQLite means lightweight in terms of setup, database administration, and required resources.

Normally, an RDBMS such as MySQL, PostgreSQL, etc., requires a separate server process to operate, but SQLite does not work this way. It accesses its storage files directly.

SQLite stores its data in a single cross-platform file. As there’s no dedicated server or specialized filesystem, deploying SQLite is as simple as creating a new regular file.

Read more

today's howtos

Filed under
HowTos
  1. Fail2Ban

    Introduction

    After ensuring that Fail2ban was being used for all suitable modules on the server I saw the need to have a visual indication of the Fail2ban status in the Web Management to help detect any problems that are occurring.

    Patch Released

    The latest patch that has just been released now has an extra page for Fail2ban added to the system section of the Web Management. This page gives a visual status indication for each jail that has been configured for Fail2ban on the selected server.

  2. How to Install Linux Kernel 5.15 on Pop!_OS 20.04

    Linux kernel 5.15 is out with many new features, support, and security. The Linux 5.15 kernel release further improves the support for AMD CPUs and GPUs, Intel’s 12th Gen CPUs, and brings new features like NTFS3, KSMBD (CIFS/SMB3), and further Apple M1 support, amongst many other changes and additions.

    In the following tutorial, you will learn how to install the latest 5.15 Linux Kernel on Pop!_OS 20.04 LTS.

  3. How to use disown command in Linux - Unixcop the Unix / Linux the admins deams

    In the Unix shells ksh, bash, fish and zsh, the disown builtin command is used to remove jobs from the job table Like cd or pwd, it is a shell built-in command, and doesn’t require root privileges, or to mark jobs so that a SIGHUP signal is not sent to them if the parent shell receives it (e.g. if the user logs out).

    So, In this tutorial we will cover different ways you can use the disown command in Linux.

  4. How to Manage Packages on RPM-Based Linux Distros With DNF

    One of the most attractive features of the Linux operating system is how easy it is to install or automate the installation of software packages from secure remote repositories.

    This guide will walk you through how to install and manage software packages on RPM-based Linux distros such as Fedora and Red Hat Enterprise Linux (RHEL) using DNF, the next-generation package manager for RPM-based Linux distros.

  5. How to Install PHP 8.1 on AlmaLinux 8

    PHP 8.1 is a significant update of the PHP language that was “officially” released on November 25, 2021. This is a standard upgrade as we advance from the existing PHP 8.0 release. The new PHP 8.1 brings enums, fibers, never return type, final class constants, intersection types, read-only properties amongst the long list of new features and changes.

    In the following tutorial, you will learn how to import the REMI Module and install PHP 8.1 on AlmaLinux 8.

  6. How To Find Top Running Processes by Memory and CPU Usage in Linux

    Most Linux users use the default system monitor tool that comes pre-installed with the distribution for checking memory, CPU usage, and CPU temperature. In Linux, many applications run in the system background as a daemon to keep another main tool active or live which consumes a bit more system resources. In Linux, you can use various small tools or terminal commands or use one single command that shows all the running processes by memory and CPU usage. After checking the RAM and CPU load, you can determine which application you want to kill.

today's leftovers

Filed under
Misc
  • Computer Science was always supposed to be taught to everyone, and it wasn’t about getting a job: A historical perspective

    C.P. Snow’s chapter (with Norbert Wiener of Cybernetics as discussant) predicted a world where software would rule our lives, but the people who wrote the software would be outside the democratic process. He wrote, “A handful of people, having no relation to the will of society, having no communication with the rest of society, will be making decisions in secret which are going to affect our lives in the deepest sense.” He argued that everyone needed to learn about computer science, in order to have democratic control of these processes.

    [...]

    I completely buy the necessity part and the basic skill part, and it’s true that CS can provide economic opportunity and social mobility. But that’s not what Perlis, Simon, Newell, Snow, and Forsythe were arguing for. They were proposing “CS for All” decades before Silicon Valley. There is value in learning computer science that is older and more broadly applicable than the economic benefits.

  • Open LMS Launches Pro-Bono Partnership With Pancare Foundation

    As part of the partnership, Open LMS will provide Pancare with its open-source learning platform for Pancare’s volunteer training program, helping the foundation enable, engage, and mobilize a growing volunteer workforce while providing additional support for those suffering from GI cancers.

  • Waterfox G4.0.3.1 update released with fix for bootstrapped extensions, menu bar issues [Ed: It's irresponsible to promote Waterfox in any way. It's covertly owned by a surveillance company, System1.]

    Waterfox has been updated to version G4.0.3.1. This release fixes some issues that users had reported in the previous build.

    Version G.4.0.2 of the web browser, which shipped at the beginning of this month, had a bug that prevented the installation of bootstrap add-ons. Waterfox would throw out an "addon is corrupt" error message, when users tried to install the legacy extensions. Waterfox G4.0.3.1 update resolves the issue. The latest version also patches a bug that was preventing previously installed bootstrap add-ons, from loading upon the next restart, they were getting disabled by the application.

    You may have come across an issue in Waterfox G 4.0.2, that caused the menu bar to be displayed partially off the screen, in maximized mode. It also resulted in tabs listed on the menu bar. Both of these issues have been fixed in Waterfox G4.0.3.1. Users who wish to use bootstrap extensions, can find forked versions of some popular add-ons at this page. The update introduces a patch for a problem that was preventing the Copy Tab Link option from working. There is still no option to toggle the menu bar icons.

  • Trends That Defined Open Source This Year
  • GNU World Order 436

    **Slacktrack** and **SCons** from the **d** software series.

  • This Week in Linux 177: Steam Autumn Sale, NVIDIA, carbonOS, Stargate, Arch Linux, Amazon Linux | TuxDigital

    On this episode of This Week in Linux, Steam Autumn Sale 2021 & Steam Awards, NVIDIA Image Scaling SDK 1.0, Godot Engine Plus AMD’s FSR, German State Switch To LibreOffice & Linux, carbonOS 2021.1 Alpha, Venus: Virtual Vulkan Driver On QEMU, Stargate Digital Audio Workstation, Wireshark 3.6, Archinstall 2.3, Amazon Linux Rebased on Fedora Linux, Alpine Linux 3.15, Endless OS 4.0, and Deepin Linux 20.3. All that and much more on Your Weekly Source for Linux GNews!

Programming Programming

Filed under
Development
  • CAPLin framework to build a SocketCAN node application in C

    The SocketCAN functionality, combined with the can-utils programs, enable you to view, interact and analyze the CAN bus traffic on Linux. However, these tools are no match for high-end tools such as Vector CANalyzer and CANoe under Windows. I especially miss CAPL scripts on Linux. For this reason I developed the CAPLin framework. With CAPLin you can quickly build a SocketCAN node application in the C programming language.

  • [Old] Thoughts on how to find remote work in Cameroon

    Remote work is the new norm there has never been a time like this, where as a SE you can make more than a decent living. This isn’t a know-it-all kind of post, I just wanted to write a bit about my experience, but it’s way too long (6 months+) so I will just share what worked and not for me. Before I forget, this is mainly for people like me doing computer science for the sake of doing it. Not because someone forced us or whatever. In short, geeks I guess. If you’re like me the perspective of spam applying and writing corresponding CVs is not very appealing. So, if CS is just a means to an end - not that there’s something wrong with that - but this might rub you off the wrong way (and you guessed right, no, I don’t look forward to enter management to “escape” coding). The job landscape in Cameroon is… saddening. While everywhere else the supply exceeds the demand, here it’s the exact opposite, which inevitably leads to abuse. Also, if you are still a student, this might not be for you directly, you can still read it to be prepared but there are many opportunities for students and I talk a bit about GSoC here. That being said, let’s get started.

  • Emacs is a Lifestyle

    I think that perfectly captures the spirit of Emacs and the nature of its (most devoted) users. I’d even go a bit farther and make the claim that (using) Emacs is essentially a lifestyle (choice).

  • Uninitialized Stack Variables

    Finally, as we observe here once more, writing C leaves us (necessarily) at the whims of the compiler: FreeBSD 13.0-RELEASE happens to use clang, and gcc(1) would have failed in either of our two scenarios. So one question that arises is whether compilers should perhaps auto-initialize stack variables.

    clang has a discussion around this, as does gcc, but there does not seem to be an agreed upon conclusion. Considering the possible security implications, it does seem to me that it would be a Good Thing™ to at least move away from having uninitialized variables by default and instead requiring explicit requests from the programmer (say, by way of an attribute?) that a given stack variable not be initialized. But I honestly don't know what the performance impact of this would be.

    Either way, I'm going to make it a habit to memset(3) my structs going forward...

  • Testing

    I think about tests in terms of defense in depth, value-for-effort and debugging efficiency.

    Debugging efficiency is not something I see discussed often and it's the only place where I disagree slightly with Aleksey's post above. The more that happens between the cause of a bug and the actual test failure, the longer it takes to track down the bug. So I tend to write unit tests for code which is: [...]

  • Writing

    I have a file called 'ideas' where I write down potential projects or thoughts that might be worth writing about. Entries grow over time as I add more thoughts. The entry that eventually became Against SQL existed for over a year. Every time I encountered a new bizaare corner of the SQL I would make a quick note of it.

    Eventually one of the ideas will feel ready and I'll try to write it up in full. This can take anywhere from a few hours to a few weeks depending on what the goal of writing it is and how much research is required. Against SQL took something like 60-80 hours to write because I was trying to make a strong argument about a complicated and contentious subject. Why isn't differential dataflow more popular took maybe an hour or two because I just wanted to hear about other peoples experiences.

  • Property-Based Testing In Go

    Property-based testing can be a bit trickier to learn, and not every problem can be well tested in this manner, but it’s a powerful technique that’s well supported by the go std-lib (testing/quick) and that is under-utilized.

  • [Old] EP. #91: Open Source Security: with Dr. David A. Wheeler

    In episode 91 of The Secure Developer, Guy Podjarny speaks to Dr. David A. Wheeler, an expert in both open source and developing secure software. David is the Director of Open Source Supply Chain Security at the Linux Foundation and teaches a graduate course in developing secure software at George Mason University. Today’s discussion revolves around open source security (or OSS), in which David is an expert, not just from the perspective of consuming open source but also creating and even governing open source. Tuning in, you’ll learn about some of the primary security concerns in open source and the necessity to educate developers about secure software.

  • [Old] Managing Risks and Opportunities in Open Source with Frank Nagle & David A. Wheeler

    We start off on the topic of looking at metrics that are useful for identifying what’s going on in a Software Configuration Management system. David tells us what it is and if there’s a difference between building software and deploying it. Also, figuring out which components you’re going to bring in, to your overall system.

  • Toit open-source language claims to be 30x faster than MicroPython on ESP32 - CNX Software

    Developed by a team of former Google employees, Toit is a complete IoT platform with remote management, firmware updates for fleets of devices with features similar to the one offered by solutions such as balena, Microsoft Azure, or Particle edge-to-cloud platform.

    Toit currently works on ESP32 microcontrollers using lightweight containers, and after seeing existing high-level languages MicroPython and Javascript were not fast enough on low-end microcontrollers platforms, the team at Toit started to develop the Toit language in 2018, and has just made it open-source with the release of the compiler, virtual machine, and standard libraries on Github under an LGPL-2.1 license.

  • XOR Two Strings in Python

    You may have used many logical, arithmetic, and comparison operators within mathematics and programming while working. One of the frequently used logical operators is the XOR operator. It returns exactly the opposite of the result of the OR operator. Within this article, we will be using the XOR operator on two string-type variable values while working in a Python environment. Let’s have some examples in the Ubuntu 20.04 system.

  • Python String to a Dict

    In Python, the conversion of different data types is a common problem and it is very important to do it right. Dictionary is the data type that saves the information/elements in a pair form. It is important to convert the string data type to a dictionary data type during programming. However, before going to the methods of conversion, let me explain the strings and dictionaries.

    A string is a series of elements in Python. It is unchangeable. The elements or items are enclosed in single and double quotation marks. Since Python has no proper character data type. However, any character is also taken as a string in Python.

    In Python, a dictionary is essentially a collection of changeable data items. This collection is present in an unordered form. Dictionaries save the data in which every element is in the form of a pair. The elements inside the brackets are present in the form of pairs and each pair is segregated by the comma. But the elements are isolated by using a colon.

    The main attribute of the dictionary is that it does not accept polymorphism. We can get the data from the dictionary later by referencing the appropriate key name. Let’s discuss the techniques of converting the string to a dictionary.

  • Python String Decode Method

    The Python language is used to store the string in the form of Unicode. Within Unicode, a simple code point is utilized to represent a single character of a Unicode. We have to know two terms: encode and decode. The encoding would convert a simple string to a group of bytes while decoding will convert the group of bytes to a real string once again.

    So, within this article today, we will be decoding a string to an original one with the encode() and decode() function. Be sure to configure the python3 package on your Linux system. Let’s start today’s article by launching the terminal console using the Ctrl+Alt+T.

  • Python Removes Newline From a String

    In Python, the strings are a series of elements. These elements are surrounded by single and double quotation marks. Python has a newline symbol. It is represented by “/n”. It is utilized to track the climax of a line and the appearance of a new line. The newline character is utilized in f-strings. In addition, the print statement prints a newline character to the end.

    Newline character “/n” is a special character. It is helpful to make a new line. When we utilize the newline character (/n), a new line is created spontaneously.

  • Laravel 8.73 Released | Laravel News

    The Laravel team released 8.73 with support for Countable objects in the string pluralizer, allowing closures for determining cache TTL, a lazyByIdDesc() query builder method, and the latest changes in the v8.x branch.

  • Medical Web Development: Top 10 Programming Languages Used in Health Tech
  • What are Container Classes C++?

    A container class as the name suggests is used to contain different values, objects, and variables, etc. in the memory or the external storage. A container class supports other classes present in the programs and it functions to hide the objects/variables used in the memory. It stores many items and all of these items are easily accessible by other members of the program.

    All container classes access the elements of the container efficiently through the iterators. This class is known to hold some similar and mixed objects in the memory. A container can be of a homogeneous or heterogeneous type. If the container holds mixed objects then it is heterogeneous, while in the case of similar items it is known as homogeneous container class.

    We are going to explain this concept on the Linux operating system, so you need to have Ubuntu installed and in the running form on your system. So you must install Virtual Box and after downloading and installation now configure it. Now add the Ubuntu file to it. You can access Ubuntu’s official website, and download the file according to your system requirement and operating system. It will take hours, then after installation, configure it on the virtual machine. In the configuration process, make sure you have created the user because it is essential for any operation on the Ubuntu terminal. Moreover, Ubuntu needs the authentication of the user before doing any installation.

    We have used the 20.04 version of Ubuntu; you may use the latest one. For the implementation, you need to have a text editor and must have access to the Linux terminal, because we will be able to see the output of the source codes on the terminal through the query. The user must have basic knowledge of C++ and object-oriented programming to make use of classes in the program.

  • How to Convert Java to Kotlin and Kotlin to Java

    This article will cover a guide on converting code written in the Kotlin programming language to Java programming language and vice versa. Kotlin is a relatively new programming language being developed by JetBrains and it is fully interoperable with Java programming language. It offers some benefits over Java programming language like a more concise syntax, more built-in helper functions, stricter null type checking, data classes, and so on. Full list of differences between these two languages is available here. Kotlin is now the preferred language for developing Android apps and it has been fully integrated into Android Studio app development software suite.

    You can convert Kotlin to Java and Java to Kotlin using offline tools. Some of them are explained in this article. Do note that depending on the code being converted and the type of tool being used for the conversion purpose, the converted code may not be 100% accurate and you may have to make some manual edits. You should always review converted code before using it in an application.

Proprietary Software Leftovers

Filed under
Software
  • AuriStor breathes life into Andrew File System – Blocks and Files [Ed: Financial ripoff; AuriStorFS is also limited to an operating system with NSA back doors so it's money down the sewer.]

    Andrew File System developer AuriStor updated attendees at an IT Press Tour briefing about its work on the file system with an HPC and large enterprise customer base dating back 16 or more years.

    AuriStorFS (a modern, licensed version of AFS) is a networked file system providing local access to files in a global namespace that has claimed higher performance, security and data integrity than public cloud-based file-sharing offerings such as Nasuni and Panzura.

    AuriStor is a small and distributed organisation dedicated to expanding the popularity and cross-platform use of AuriStorFS.

  • India says not to preorder Starlink until it obtains a license

    “Public is advised not to subscribe to Starlink services being advertised,” a tweet from India’s Department of Telecommunications (DoT) reads. The DoT also says it asked Starlink to refrain from “booking / rendering the satellite internet services in India.” In other words, Starlink will have to put preorders on hold until it can get approval from the Indian government.

  • India tells public to shun Musk-backed Starlink until it gets licence

    A government statement issued late on Friday said Starlink had been told to comply with regulations and refrain from "booking/rendering the satellite internet services in India with immediate effect".

  • GitHub is back online after a two-hour outage

    Microsoft-owned GitHub experienced a more than two-hour long outage today, affecting thousands or potentially millions of developers that rely on its many services. GitHub started experiencing issues at around 3:45PM ET, with Git operations, API requests, GitHub actions, packages, pages, and pull requests all affected.

  • Insurers run from ransomware cover as losses mount

    Faced with increased demand, major European and U.S. insurers and syndicates operating in the Lloyd's of London market have been able to charge higher premium rates to cover ransoms, the repair of hacked networks, business interruption losses and even PR fees to mend reputational damage.

    But the increase in ransomware attacks and the growing sophistication of attackers have made insurers wary. Insurers say some attackers may even check whether potential victims have policies that would make them more likely to pay out.

  • Apple Grants Repair Indulgence for iPhones

    Save your huzzahs and whatever you do, do not pop the champagne. Apple did not just ‘cave’ to the right to repair movement, and the fight for an actual, legal right to repair is more important now than ever.

    The occasion for this reminder is, of course, the little-‘m’ momentous announcement by Apple this morning that it would make “Apple parts, tools, and manuals” available to “individual consumers” for self repair — starting with the iPhone 12 and iPhone 13.”

  • Montana high school hit by ransomware

    From their listing, Avos Locker is clearly aware that this is a tiny school district with only a few hundred students and less than two dozen teachers. And yet they are trying to ransom them. Avos writes: “If they refuse to negotiate, we will leak all the data we’ve got.”

  • Apple alerts journalists, activists about state-sponsored [cracking] attempts after NSO Group suit

    On the same day Apple announced a lawsuit against Israeli spyware vendor NSO Group for developing [cracking] tools to help breach iOS technology, the company was notifying potential targets of those exploits.

    El Faro, a news organization in San Salvador, El Salvador, reported late Tuesday that 12 of its staff members received notices from the company, which warned that that “Apple believes you are being targeted by state-sponsored attackers who are trying to remotely compromise the iPhone associated with your Apple ID.” The company also sent notices to four others in San Salvador who are “leaders of Civil Society organizations and opposition political parties,” the news organization reported.

  • Run a website off a Google Sheets Database, with Hugo

    Here’s how I built a website, Profilerpedia, using a Google Sheet as the backing database.

    Profilerpedia aims to map the profiling ecosystem and connect software with profilers and profilers with great analysis UIs, so we can make code faster and more efficient. More on Profilerpedia in the announcement post.

    It’s interesting to explain the architecture, because it challenges some engineering dogmas, like “a spreadsheet isn’t a good database”. I think running your site from a spreadsheet is a very reasonable pattern for many sites.

    The resulting architecture is my third or fourth attempt at this; I learned a lot along the way, I’m pretty happy with the result, and I want to share what I learned.

  • Boeing Missteps on 737 MAX Went Beyond Deadly Crashes That Killed 346, new Book Reveals

    When the first Boeing 737 MAX plane came off the production line in December 2015, it was the beginning of a highly anticipated new line of aircraft for the storied company. It incorporated the latest technology and was billed by Boeing as "deliver[ing] the highest efficiency, reliability and passenger comfort in the single-aisle market." Tragically, that promise came to a glaring halt with two back-to-back disasters in which flight control software known as the Maneuvering Characteristics Augmentation System (MCAS) incorrectly gauged the aircrafts' angles of ascent and prevented the pilots from manually overriding it. In total, 346 people on board Lion Air flight 610 on October 28, 2018 and Ethiopian Air flight 302 on March 10, 2019 were killed after only about 13 minutes and 6 minutes in the air, respectively.

Security Leftovers

  • New Side-Channel Vulnerability in the Linux Kernel Enabling DNS Cache Poisoning

    A recent research paper by a team at University of California, Riverside, shows the existence of previously overlooked side channels in the Linux kernels that can be exploited to attack DNS servers.

    According to the researchers, the issue with DNS roots in its design, that never really took security as a key concern and that made it extremely hard to retrofit strong security features into it.

  • Reproducible Builds (diffoscope): diffoscope 194 released

    The diffoscope maintainers are pleased to announce the release of diffoscope version 194. This version includes the following changes:

    [ Chris Lamb ]
    * Don't traceback when comparing nested directories with non-directories.
      (Closes: reproducible-builds/diffoscope#288)
    
  • Thousands of printers at risk of denial of service attacks

    Researchers have highlighted a trio of potential attacks against printers that could allow denial of service, information theft, or botnet compromise.

    The collection of attacks, labeled Printjack, appeared in a paper from researchers Giampaolo Bella and Pietro Biondi at the Universit`a di Catania and Istituto di Informatica e Telematica in Italy.

  • GoDaddy says information on 1.2 million customers exposed in data breach

    In a document filed to the Securities and Exchange Commission on Monday, GoDaddy noted that the company had discovered its Managed WordPress hosting environment had been compromised by an “unauthorized third party,” resulting in emails and customers numbers of 1.2 million Managed WordPress users being exposed.

Fedora 35 Mini-Review On The Blackbird And TALOS II

Filed under
Red Hat
Reviews

My conclusion is damning with faint praise: at least it wasn't any worse. And with these tweaks it works fine. If you're on F34 you have no reason not to upgrade, and if you're on F33 you won't have much longer until you have to (and you might as well just jump right to F35 at that point). But it's still carrying an odd number of regressions (even though, or perhaps despite the fact, the workarounds for F35 are the same as F34) and the installation on the T2 was bumpier than the Blackbird for reasons that remain unclear to me. If you run KDE or Xfce or anything other than GNOME, you shouldn't have any problems, but if you still use GNOME as your desktop environment you should be prepared to do more preparatory work to get it off the ground. I have higher hopes for F36 because we may finally get that float128 update that still wrecks a small but notable selection of packages like MAME, but I also hope that some of these regressions get dealt with as well because that would make these updates a bit more liveable. Any system upgrade of any OS will make you wonder what's going to break this time, but the most recent Fedora updates have come off as more fraught with peril than they ought to be.

Read more

Cross-platform package building: Pkgsrc vs. Ravenports (1/2)

Filed under
GNU
Linux

This is the first of a two articles on cross-platform package management / package building. It covers the basics by discussing why it is actually surprisingly (to many people) difficult to do and what some of the problems are. It also takes a quick look at some strategies to solve the problem.

Read more

Syndicate content

More in Tux Machines

Kernel and Graphics: Linux Stuff and GPUs

  • Facebook/Meta Tackling Transparent Page Placement For Tiered-Memory Linux Systems - Phoronix

    Back during the Linux 5.15 cycle Intel contributed an improvement for tiered memory systems where less used memory pages could be demoted to slower tiers of memory storage. But once demoted that kernel infrastructure didn't have a means of promoting those demoted pages back to the faster memory tiers should they become hot again, though now Facebook/Meta engineers have been working on such functionality.  Prior to the Linux 5.15 kernel, during the memory reclaim process when the system RAM was under memory pressure was to simply toss out cold pages. However, with Linux 5.15 came the ability to shift those cold pages to any slower memory tiers. In particular, modern and forthcoming servers with Optane DC persistent memory or CXL-enabled memory, etc. Therefore the pages are still accessible if needed but not occupying precious system DRAM if they aren't being used and to avoid just flushing them out or swapping to disk. 

  • Linux 5.17 To Boast Latency Optimization For AF_UNIX Sockets - Phoronix

    Net-next has been queuing a number of enticing performance optimizations ahead of the Linux 5.17 merge window kicking off around the start of the new year. Covered already was a big TCP optimization and a big improvement for csum_partial() that is used in the network code for checksum computation. The latest optimization is improving the AF_UNIX code path for those using AF_UNIX sockets for local inter-process communication.  A new patch series was queued up on Friday in net-next for improving the AF_UNIX code. That patch series by Kuniyuki Iwashima of Amazon Japan is ultimately about replacing AF_UNIX sockets' single big lock with per-hash locks. The series replaces the AF_UNIX big lock and also as part of the series has a speed-up to the autobind behavior. 

  • Nvidia Pascal GPU, DX12 and VKD3D: Slideshow time! - Boiling Steam

    So Horizon Zero Dawn had a sale recently on Fanatical, and I thought… OK I’ll grab it! It’s time. I first installed it on my workstation that only has a GTX1060 3GB GPU – not a workhorse but a decent card nonetheless for low-to-medium end gaming. I knew very well that Horizon Zero Dawn is a DX12 game and that Pascal architecture (Nvidia 10xx basically) and earlier versions do not play very well with DX12 games running through vkd3d-proton, the DX12 to Vulkan translation layer. Still, I could imagine getting somewhere around 30 FPS on low-to-medium settings, and use FSR if necessary to get to better framerates. Nothing prepared me for the performance I was about to experience.

Linux 5.16-rc3

So rc3 is usually a bit larger than rc2 just because people had some
time to start finding things.

So too this time, although it's not like this is a particularly big
rc3. Possibly partly due to the past week having been Thanksgiving
week here in the US. But the size is well within the normal range, so
if that's a factor, it's not been a big one.

The diff for rc3 is mostly drivers, although part of that is just
because of the removal of a left-over MIPS Netlogic driver which makes
the stats look a bit wonky, and is over a third of the whole diff just
in itself.

If you ignore that part, the statistics look a bit more normal, but
drivers still dominate (network drivers, sound and gpu are the big
ones, but there is noise all over). Other than that there's once again
a fair amount of selftest (mostly networking), along with core
networking, some arch updates - the bulk of it from a single arm64
uaccess patch, although that's mostly because it's all pretty small -
and random other changes.

Full shortlog below.

Please test,

             Linus
Read more Also: Linux 5.16-rc3 Released With Alder Lake ITMT Fix, Other Driver Fixes - Phoronix

Audiocasts/Shows: Endless OS 4.0.0, GIMP, BSD, KDE, and Elementary

today's howtos

  1. How to install FreeOffice 2021 on Ubuntu 20.04 Linux

    One of the best free alternatives to Microsoft Office is FreeOffice, developed by a German software company- SoftMaker. Recently, they have upgraded their Office suite to version 21. And here we learn the steps to install FreeOffice 2021 version on Ubuntu 20.04 Linux using the command terminal. This free office suite is a part of the commercial one from the same developers known as SoftMaker Office 21 (also available for Linux), of course, the premium will have more features but that doesn’t mean the free version- FreeOffice 2021 deprives to full fill all daily office documents (MS-Word alternative) related requirements. It offers a Microsoft office ribbon-like interface and three modules- TextMaker 21 to create documents; PlanMaker 21 to create sheets (Excel alternative) and Presentations 21 for making slides like MS-Powerpoint.

  2. Pin Custom Folders to Left Panel ‘Files’ Icon Context Menu in Ubuntu 20.04 | UbuntuHandbook

    In Windows 10, user may right-click on the ‘File Explorer’ icon on panel to access pinned folders (e.g., Desktop, Downloads and Documents) quickly. Ubuntu has first implemented this feature in Ubuntu 21.10, though it seems to be not working properly due to bug. Ubuntu 20.04 may manually add the context (right-click) menu options so user can right-click on the ‘Files’ icon to choose open favorite folders quickly.

  3. How To Install Perl on AlmaLinux 8 - idroot

    In this tutorial, we will show you how to install Perl on AlmaLinux 8. For those of you who didn’t know, Perl (Practical Extraction and Reporting Language) is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more. The major features of Perl are easy to use, supports object-oriented and procedural programming languages, and has built-in support for processing text. The most impressive feature of Perl is that it supports a large collection of third-party modules. 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 the step-by-step installation of the Perl programming language on AlmaLinux 8. You can follow the same instructions for Rocky Linux.

  4. How to play Total War: WARHAMMER on Linux

    Total War: Warhammer is a turn-based real-time tactics video game developed by Creative Assembly and published by Sega. It takes place in the War Hammer 40K universe. Here’s how you can play it on your Linux PC.

  5. How to install Funkin' Vs. Camellia on a Chromebook

    Today we are looking at how to install Funkin' Vs. Camellia 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.