Language Selection

English French German Italian Portuguese Spanish

About Tux Machines

Thursday, 12 Dec 19 - 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 Nvidia Linux/BSD Graphics Driver Adds Support for Quadro T2000 with Max-Q Design Rianne Schestowitz 12/12/2019 - 9:44pm
Story Proteus Device is a secure, Linux-based handheld (not a smartphone) Rianne Schestowitz 12/12/2019 - 9:42pm
Story Why secure web-based applications with Kali Linux? Rianne Schestowitz 12/12/2019 - 9:40pm
Story today's leftovers Roy Schestowitz 12/12/2019 - 6:39pm
Story Latte bug fix release v0.9.5 Roy Schestowitz 12/12/2019 - 4:43pm
Story KDE's December 2019 Apps Update Rianne Schestowitz 2 12/12/2019 - 4:39pm
Story Android Leftovers Rianne Schestowitz 12/12/2019 - 4:16pm
Story HP Linux Imaging & Printing Drivers Are Now Supported on Debian GNU/Linux 10.2 Roy Schestowitz 12/12/2019 - 4:07pm
Story AMD Radeon RX 5500 XT Linux Performance Rianne Schestowitz 12/12/2019 - 4:05pm
Story Games: Feral Interactive, Fantasy Strike, GNU/Linux as Gaming Platform Roy Schestowitz 12/12/2019 - 4:02pm

Servers: Kubernetes, SUSE and Red Hat

Filed under
Server
  • Creating Kubernetes distributions

    Making a comparison between Linux and Kubernetes is often one of apples to oranges. There are, however, some similarities and there is an effort within the Kubernetes community to make Kubernetes more like a Linux distribution. The idea was outlined in a session about Kubernetes release engineering at KubeCon + CloudNativeCon North America 2019. "You might have heard that Kubernetes is the Linux of the cloud and that's like super easy to say, but what does it mean? Cloud is pretty fuzzy on its own," Tim Pepper, the Kubernetes release special interest group (SIG Release) co-chair said. He proceeded to provide some clarity on how the two projects are similar.

    Pepper explained that Kubernetes is a large open-source project with lots of development work around a relatively monolithic core. The core of Kubernetes doesn't work entirely on its own and relies on other components around it to enable a workload to run, in a model that isn't all that dissimilar to a Linux distribution. Likewise, Pepper noted that Linux also has a monolithic core, which is the kernel itself. Alongside the Linux kernel is a whole host of other components that are chosen to work together to form a Linux distribution. Much like a Linux distribution, a Kubernetes distribution is a package of core components, configuration, networking, and storage on which application workloads can be deployed.

    Linux has community distributions, such as Debian, where there is a group of people that help to build the distribution, as well as a community of users that can install and run the distribution on their own. Pepper argued that there really isn't a community Kubernetes distribution like Debian, one that uses open-source tools to build a full Kubernetes platform that can then be used by anyone to run their workloads. With Linux, community-led distributions have become the foundation for user adoption and participation, whereas with Kubernetes today, distributions are almost all commercially driven.

  • The total cost of software-defined storage

    In the current economic climate, the cost of everything is often closely examined to be sure we’re not paying too much. However, many focus on just the cost of acquisition – the capital expenditure – as opposed to looking at the bigger picture – the total cost of ownership, or TCO.

    In the world of IT, it’s easy to forget that the cost of owning servers, networking and storage equipment is more than the purchase price of the hardware. The total cost also includes installation, software licenses, service, support, training and upgrades amongst other things.

  • Red Hat Gets NIST Recertification for ‘Enterprise Linux’ Operating System; Paul Smith Quoted

    A Red Hat operating system offering has earned recertification that validates the platform's capacity to process sensitive information in line with National Institute of Standards and Technology requirements.

    Red Hat said Tuesday it renewed Federal Information Processing Standard 140-2 cryptography certification for the Enterprise Linux 7.6 software built to support agencies and organizations in government-regulated industries.

Debian: Systemd and Astronomy

Filed under
Debian
  • Enrico Zini: Init systems documentation

    Systemd has an excellent reference documentation in its manpages, but it does a lot of things, and a reference documentation isn't the best starting point for getting introduced to them.

    I would like to see a bit more documentation of the kind that sits between a systemctl start|stop|status and the reference manpages. Things like simple HOWTO posts on how to get a simple job done, or high-level explanations of how some specific feature works.

    I put some of what I know and used (or wrote) into systemd/documentation, I'll try to add to it when I find more, and I encourage you to do the same.

  • Debian Begins Vote On Supporting Non-Systemd Init Choices

    There’s detailed descriptions of every possibility on the Debian builders mailing checklist. “It is a non-secret vote,” the publish explains. “After the voting interval is over the main points on who voted what can be printed.”

  • Astronomy!

    Starting in January of 2020, I will be joining the Data Management team (specifically the Science Quality and Reliability Engineering team) for the Large Synoptic Survey Telescope.

    There's a much longer description at the above Wikipedia link and also at LSST's own site, but the short version is that the mission of LSST is to survey the entire southern night sky about twice a week for ten years. This in turn will provide vast amounts of data that will be used to do wide-ranging research in astronomy. All of that data requires indexing and processing so that scientists can use it. The team I'm joining is applying current software engineering techniques (containers, Jupyter notebooks, continuous integration, and so on) to that problem.

    For me, this is an opportunity to return to the academic, non-profit world that's always been my first love. It's also an opportunity to learn a bunch of new things (astronomy, for the most obvious, and scientific research computing more generally, but also some areas of technology that I've never had enough time to explore). Even better, everything my new team does is free software and is developed on GitHub, which means I'll be returning to a job where free software is at the center of the work instead of an optional side project for which there's rarely time.

Programming: PHP, C++, Python and More

Filed under
Development
  • Excellent Free Tutorials to Learn PHP

    PHP has been at the helm of the web for many years. It’s an extremely popular, interpreted scripting language that is ideally suited for web development in part because it has an approachable syntax and supports different operating systems. This language powers millions of web sites on the net and is extremely well supported by its user community.

    PHP is also used as a general-purpose programming language. PHP code can be executed with a command-line interface (CLI) and to implement standalone graphical applications. CLI PHP programs often automate common tasks such as testing, deployment, and application administration. The language offers a very complete set of object-oriented programming features as well as support for functional programming. The latest TIOBE Index (August 2019 at time of writing) ranks PHP in 8th place, behind Java, C, C++, C#, Python, Visual Basic .NET, and JavaScript.

    The language is released under a non-copyleft free software license / open source license. The latest stable version adds lots of new features.

  • Intel's MKL-DNN/DNNL 2.0 Beta 3 Release Adds SYCL + Data Parallel C++ Compiler

    Intel's MKL-DNN Deep Neural Network Library (DNNL) that is open-source and catering to deep learning applications like Tensorflow, PyTorch, DeepLearning4J, and others is nearing its version 2.0 release. With DNNL 2.0 is now support for Data Parallel C++ as Intel's new language as part of their oneAPI initiative.

    MKL-DNN/DNNL 2.0 Beta 3 was released on Wednesday and to my knowledge is their first public test release of the forthcoming 2.0. Notable with DNNL 2.0 is supporting SYCL API extensions and interoperability now with SYCL code, the single-source C++-based programming language backed by The Khronos Group and a crucial to Intel's new oneAPI initiative.

  • Watch this machine made out of Lego sort other Lego using AI

    Dubbed the “Universal Lego Sorting Machine” by its creator, Daniel West, it’s a pretty neat contraption that’s far more useful than any of the Lego science projects I used to make. The machine is apparently able to use AI to sort Lego into one of 18 different buckets at a rate of “about one brick every two seconds.” West says he trained the neural network that sorts the bricks using 3D images of Lego parts, and he says the network can learn to recognize any piece as long as there’s a 3D image to train on.

  • Reactive programming, a new way of thinking

    Get to know Reactive Programming and Grace Jansen, co-author of a new O'Reilly report that introduces Reactive and Reactive Architecture.

    [...]

    At Devoxx Belgium, Grace gave a number of talks, including one about Reactive programming and the pitfalls, entitled “Reacting to the future of application architecture.” In the talk, she uses an analogy from biology, namely how bees live and function together. “I compare the behavior of bees with how we would like applications to function and meet the requirements and expectations of users.”

  • Future-proof monolithic applications with modular design

    DevNation tech talks are hosted by the Red Hat technologists who create our products. These sessions include real solutions and code and sample projects to help you get started. In this talk, you’ll learn about future-proofing applications from Eric Murphy and Ales Nosek, Architects with Red Hat Consulting.

    When building an MVP software application, you may immediately jump to a microservices architecture because it’s the new norm for building cloud-native applications. You may also be skeptical about starting off with a monolith because of the perception of such applications as relics of the past.

  • Merge Sort in Python

    Merge Sort is one of the most famous sorting algorithms. If you're studying Computer Science, Merge Sort, alongside Quick Sort is likely the first efficient, general-purpose sorting algorithm you have heard of. It is also a classic example of a divide-and-conquer category of algorithms.

  • Updates on Unoon in December 2019

    This Saturday evening, I sat with Unoon project after a few weeks, I was continuously running it, but, did not resume the development effort. This time Bhavin also joined me. Together, we fixed a location of the whitelist files issue, and unoon now also has a database (using SQLite), which stores all the historical process and connection information. In the future, we will provide some way to query this information.

  • Summarising, Aggregating, and Grouping data in Python Pandas

    In this post, I will talk about summarizing techniques that can be used to compile and understand the data. I will use Python library Pandas to summarize, group and aggregate the data in different ways.

    I will be using college.csv data which has details about university admissions.

Open Hardware/Modding: Raspberry Pi 3, RISC-V Foundation and More

Filed under
GNU
Linux
Hardware
  • $38 Compute Module PoE Board Works with Raspberry Pi CM3/CM3+ Modules

    Raspberry Pi 3 Compute Module was first introduced in 2017 with CM3 and CM3L systems-on-module with or without 4GB eMMC flash for $25 and up before the company launched an update earlier this year...

  • IoT ugly Christmas sweaters

    If there’s one thing we Brits love, it’s an ugly Christmas sweater. Jim Bennett, a Senior Cloud Advocate at Microsoft, has taken his ugly sweater game to the next level by adding IoT-controlled, Twitter-connected LEDs thanks to a Raspberry Pi Zero.

  • A Look at Ubuntu on MINIX NEO G41V-4 and J50C-4 Mini PCs
  • iCommSemi SV6166F is a Low-Power WiFi SoC for IoT and Embedded Systems
  • RISC-V Foundation Says Goodbye to the United States

    For over thirty years U.S. companies have enjoyed a home court advantage in developing information and communications technology (ICT) standards. Specifically, the overwhelming majority of the more than five hundred consortia founded over the last thirty-five years to develop ICT standards have been formed under U.S. laws and headquartered in the U.S. That’s hardly a surprise because the vast majority of the companies that founded these same consortia were also American companies. Now the times may be a-changing.

    The ability to form and maintain standards consortia in the founders’ backyards provides significant advantages. They include convenience, reduced travel costs, predictability of legal results, choice of language, demonstration of national leadership, standardization of governance structures and more. For decades, foreign companies were amenable to this practice, so long as a sufficient percentage of face to face meetings were held outside the U.S.

    That tolerance began to erode after 9/11. New security measures made crossing the U.S. border more tedious, sometimes even requiring fingerprinting as a precondition to entry. Some members couldn’t obtain visas at all, an issue that became more critical as Chinese companies became more active in standards development. Privacy concerns also escalated, leading to European objections to hosting the information of its citizens in the U.S. at all. Those concerns were temporarily abated when new rules were put in place, but anxieties have heightened again – this time with the U.S. as well as in Europe – over the privacy policies of the largest U.S. IT companies.

    This year, concerns increased again when ZTE, and then Huawei and scores of that Chinese company’s affiliates, were added to the U.S. “Entity List.” Huawei and its affiliates are reportedly members of over 400 ICT standards organizations, each of which was suddenly tasked with figuring out which of its activities, if any, it could now permit the Chinese companies to participate in.

Graphics: AMD, Intel, Vulkan/Flycast and NVIDIA

Filed under
Graphics/Benchmarks
  • AMD Publishes Vega 7nm ISA Documentation - 300 More Pages Of GPU Docs

    Beyond AMD's open-source graphics driver stack of the past decade, part of their original open-source plans have also involved providing public (NDA-free) GPU hardware documentation. That has come with time though the documentation drops are not coordinated in-step with code drops. Out today, for example, is the ISA documentation on Vega 7nm.

    Back in 2017 was the timely release of the Vega ISA documentation and earlier this summer was even the RDNA 1.0 ISA documentation but missing out until now was the Vega 7nm ISA documentation.

  • Intel's Iris Gallium3D Driver Continuing To See Performance Optimizations On Mesa 20.0

    With the current Mesa 19.3 there is the Intel Gallium3D driver generally performing much better than their "classic" i965 driver and for Mesa 20.0 it looks to only make more ground as it switches over to this driver by default.

    Beyond the recent build system changes for supporting an Intel Gallium3D default and building it as part of the default x86/x86_64 Gallium3D drivers with hopes of soon flipping the switch for Broadwell and newer, more performance optimizations are still being done.

  • Dreamcast emulator Flycast adds a Vulkan renderer

    There seems to be quite a lot of interest in Vulkan lately, as more projects begin using it. Now we have the Dreamcast emulator Flycast adding Vulkan support.

    In the technical blog post announcing it on the Libretro site, it gives a bit of brief history of the Dreamcast GPU and mentions the usual "less overhead, more reliability and better performance in many cases" when it comes to using Vulkan although it's a lot more complicated to use.

  • NVIDIA have two new Linux drivers available, one stable and one Vulkan Beta

    NVIDIA continue pushing their drivers forwards with two new Linux driver updates available. Let's take a quick look.

    First, the stable 440.44 driver release as part of their long-lived branch. This adds support for the Quadro T2000 with Max-Q Design, you can now use the "__GL_SYNC_DISPLAY_DEVICE" environment variable for Vulkan applications and it fixes a few bugs like tearing with a G-SYNC or G-SYNC Compatible monitor when you've got something running directly on a display (like VR).

Watch these videos from the Linux App Summit

Filed under
Linux

For some, the holidays are a hectic time of shopping, cooking, and a house overflowing with loved ones. For others, they’re quiet times spent with just a few friends, or even in solitude behind the warm glow of a computer monitor. And for still others, it’s a workday like any other.

No matter how you end up spending the holiday season this year, there’s comfort to be found in the Linux App Summit of 2019. This summit, which combined the strengths of everyone involved in developing applications for Linux, focused on a few major topics...

Read more

Most essential apps for every Linux user | 2020

Filed under
GNU
Linux
Software

When you first install a Linux distro or do a fresh install on a system, you need to install the essential apps for regular use. That is why I have prepared a quick guide list of the essential apps for every Linux user. So that you can check and go through the installation easily and get the needed apps for your better use and workflow.

Read more

Qt Creator 4.11 is released

Filed under
KDE

We added experimental support for Qt for WebAssembly and Qt for MCUs.

We improved the general handling of configuring, building and running projects in so many smaller ways that I fail to choose anything for being highlighted here.

If you use CMake 3.14 or later we now use CMake's file-base API for configuring and parsing projects. Which behaves much more reliably than the previous server-mode, especially if you also use CMake from a terminal or other applications.

Read more

Games: Transport Fever 2, Vampire: The Masquerade - Coteries of New York, Rocket League

Filed under
Gaming
  • Build a transportation empire with Transport Fever 2 out now, same-day support for Linux

    Urban Games and Good Shepherd Entertainment are back, with Transport Fever 2 now officially available with same-day support for Linux.

    With a wide variety of transportation options available to build across multiple generations, there's a huge amount of content included. Prepare to kiss your time and friendships goodbye as we've got another great time-sink on our hands.

  • Vampire: The Masquerade - Coteries of New York for Linux is now uncertain

    Before release, the store pages for Vampire: The Masquerade - Coteries of New York very clearly listed Windows, MAC OS, Linux and now it's only available for Windows.

    Not to be confused with Bloodlines 2, Coteries of New York is styled like an interactive fiction (a fancy way to say: Visual Novel). It does look good though and it sounded very interesting so we were quite excited to see the mention of Linux support.

  • Rocket League's new Item Shop and Blueprints get a price reduction

    Oh Psyonix, what have you done? Rocket League recently had the loot boxes removed, with Blueprints and an Item Shop instead so you see exactly what you get but the pricing is terrible.

    As someone who has hundreds of hours in Rocket League, Psyonix really did disappoint with the big update recently. It could have been handled a lot better, but it came across as incredibly greedy. It's a game you have to pay for, yet they wanted us to spend a ridiculous amount of money on Credits for some of the items.

LibreOffice 6.3.4 available for download

Filed under
LibO

For enterprise class deployments, TDF strongly recommend sourcing LibreOffice from one of the ecosystem partners to get long-term supported releases, dedicated assistance, custom new features and other benefits, including Service Level Agreements (SLAs). Also, the work done by ecosystem partners flows back into the LibreOffice project, benefiting everyone.

Also, support for migrations and trainings should be sourced from certified professionals who provide value-added services which extend the reach of the community to the corporate world and offer CIOs and IT managers a solution in line with proprietary offerings.

In fact, LibreOffice – thanks to its mature codebase, rich feature set, strong support for open standards, excellent compatibility and long-term support options from certified partners – represents the ideal solution for businesses that want to regain control of their data and free themselves from vendor lock-in.

Read more

GNOME and gestures, Part 3: HdyLeaflet again

Filed under
GNOME

0.0.12 brings some changes to HdyLeaflet mode and child transitions. Separate mode and child transition types have been deprecated in favor of a unified transition-type property. It can take 4 values: none, slide, over, under. Crossfade doesn’t make much sense spatially and was deprecated as well, though it’s still works if used via child-transition-type property. Additionally, over and under transitions have a subtle shadow now, similar to the WebKit gesture.

It’s recommended that the apps using the gesture use over transition.

Read more

New Shows: The Linux Link Tech Show (TLLTS), BSD Now, Choose Linux, Destination Linux

Filed under
GNU
Linux
BSD
  • The Linux Link Tech Show Episode 837

    echo dot, google services, aws, spanner, docker, alpine linux

  • EPYC Netflix Stack | BSD Now 328

    LLDB Threading support now ready, Multiple IPSec VPN tunnels with FreeBSD, Netflix Optimized FreeBSD’s Network Stack More Than Doubled AMD EPYC Performance, happy eyeballs with unwind(8), AWS got FreeBSD ARM 12, OpenSSH U2F/FIDO support, and more.

  • What We Wish We’d Known Earlier | Choose Linux 24

    All three of us have different levels of experience with Linux but there are tons of things that we wish we'd learned earlier in our journey.

    From gatekeeping to community culture, command line tricks to backups, and more.

  • Destination Linux Episode #151

    When we launched the Destination Linux Network we also wanted to partner with our growing community to find ways we could give back. So we put up a post on our Discourse forum and asked the community to provide us feedback on the charities you would like for us to work with. Free Geek was highly recommended by many of you and we’re so excited to partner with them and launch our first giving back campaign.

    Free Geek’s mission is to sustainably reuse technology and enable digital access and education to the community. The best part is they have many ways for everyone to get involved. In this episode we interview Hilary Shohoney of FreeGeek. Hilary is Free Geek’s Manager of Development and manages the relationships between Free Geek and the local community working on issues like the digital divide.

Secure, open source Linux handheld has an Ethernet port

Filed under
Linux
OSS

XXLSEC’s open-spec “ProteusDevice” handheld runs a security-hardened, Linux 5.4-based PriveOS without binary blobs on an i.MX6 with 1GB RAM, 8GB eMMC, 5-inch touchscreen, 10/100 Ethernet, and optional WiFi.

Helsinki, Finland-based XXLSEC has posted specs for a security focused, i.MX6 Quad based handheld called the ProteusDevice, which is based on its almost identical, but slightly smaller Privecall TX device. The minimalist Twitter and Reddit announcements claim the 5.5-inch touchscreen enabled device is for sale, but there’s no price or shopping page listed.

Read more

Fedora and Red Hat: Fedora's Modularity Initiative, Git, Servers, Buildah and Ansible

Filed under
Red Hat
  • Fedora's modularity mess

    Fedora's Modularity initiative has been no stranger to controversy since its inception in 2016. Among other things, there were enough problems with the original design that Modularity went back to the drawing board in early 2018. Modularity has since been integrated with both the Fedora and Red Hat Enterprise Linux (RHEL) distributions, but the controversy continues, with some developers asking whether it's time for yet another redesign — or to abandon the idea altogether. Over the last month or so, several lengthy, detailed, and heated threads have explored this issue; read on for your editor's attempt to integrate what was said.
    The core idea behind Modularity is to split the distribution into multiple "streams", each of which allows a user to follow a specific project (or set of projects) at a pace that suits them. A Fedora user might appreciate getting toolchain updates as soon as they are released upstream while sticking with a long-term stable release of LibreOffice, for example. By installing the appropriate streams, this sort of behavior should be achievable, allowing a fair degree of customization.

    Much of the impetus — and development resources — behind Modularity come from the RHEL side of Red Hat, which has integrated Modularity into the RHEL 8 release as "Application Streams". This feature makes some sense in that setting; RHEL is famously slow-moving, to the point that RHEL 7 did not even support useful features like Python 3. Application Streams allow Red Hat (or others) to make additional options available with support periods that differ from that of the underlying distribution, making RHEL a bit less musty and old, but only for the applications a specific user cares about.

    The use case for Modularity in Fedora is arguably less clear. A given Fedora release has a support lifetime of 13 months, so there are limits to the level of stability that it can provide.

  • Moving bugzilla overrides to dist-git

    A while ago Fedora had pkgdb to configure ACLs for each package repo and package related admin actions. When we moved to 'pagure over dist-git', pagure already provided some of these capabilities. pkgdb would have needed a lot of effort to make it work with the modern package branching (modularity) [1] with different lifecycles for each package that are unrelated to Fedora releases and thus we've decided to retire it and replace it with a different solution.

    One of the missing parts after retireing pkgdb was the ability to set different default bugzilla assignees for EPEL and Fedora. This was solved by creating a new repository called fedora-scm-requests [2]. A script would then parse the contents of the repository, merge that information with the main package admins and repo watchers from dist-git and sync this information to bugzilla so that new bugs get assigned to the correct maintainers and all the interested parties get put on CC:. Each change required a pull request to this repo and someone from the infrastructure team to review and merge the patch. It is obvious that this doesn't scale with the huge number of packages that Fedora and EPEL have.

  • Red Hat customers want the hybrid cloud

    If you listen to some people, everyone and their corner office wants to move to the public cloud. Red Hat's global customers have a different take. Thirty-one percent of Red Hat's customers say "hybrid" describes their strategy best, 21% are leaning toward a private cloud approach, while only 4% see the public cloud as their first choice. There's only one little problem: Finding the staff with the right skills to make the jump from old-school IT to the cloud.

    Businesses prefer the hybrid cloud strategy for many different reasons -- but, overall, data security, cost benefits, and data integration led the pack. For years, the hybrid cloud wasn't that popular. With the rise of the Kubernetes-based hybrid cloud model and with Red Hat being one of the new-model hybrid cloud's leading proponents, customers are embracing the hybrid cloud.

  • Building with Buildah: Dockerfiles, command line, or scripts
  • How to write a multitask playbook in ansible

VirtualBox 6.1 Officially Released with Linux Kernel 5.4 Support, Improvements

Filed under
Software

Oracle released today the final version of the VirtualBox 6.1 open-source and cross-platform virtualization software for GNU/Linux, macOS, and Windows operating systems.
VirtualBox 6.1 is the first major release in the VirtualBox 6 series of the popular virtualization platform and promises some exciting new features, such as support for the latest and greatest Linux 5.4 kernel series, the ability to import virtual machines from the Oracle Cloud Infrastructure, as well as enhanced support for nested virtualization.

"Support for nested virtualization enables you to install a hypervisor, such as Oracle VM VirtualBox or KVM, on an Oracle VM VirtualBox guest. You can then create and run virtual machines in the guest VM. Support for nested virtualization allows Oracle VM VirtualBox to create a more flexible and sophisticated development and testing environment," said Oracle.

Read more

Programming Leftovers

Filed under
Development
  • A static-analysis framework for GCC

    One of the features of the Clang/LLVM compiler that has been rather lacking for GCC may finally be getting filled in. In a mid-November post to the gcc-patches mailing list, David Malcolm described a new static-analysis framework for GCC that he wrote. It could be the starting point for a whole range of code analysis for the compiler.

    According to the lengthy cover letter for the patch series, the analysis runs as an interprocedural analysis (IPA) pass on the GIMPLE static single assignment (SSA) intermediate representation. State machines are used to represent the code parsed and the analysis looks for places where bad state transitions occur. Those state transitions represent constructs where warnings can be emitted to alert the user to potential problems in the code.

    There are two separate checkers that are included with the patch set: malloc() pointer tracking and checking for problems in using the FILE * API from stdio. There are also some other proof-of-concept state machines included: one to track sensitive data, such as passwords, that might be leaked into log files and another to follow potentially tainted input data that is being used for array indexes and the like.

    The malloc() state machine is found in sm-malloc.cc, which is added by this patch, looks for typical problems that can occur with pointers returned from malloc(): double free, null dereference, passing a non-heap pointer to free(), and so on. Similarly, one of the patches adds sm-file.c for the FILE * checking. It looks for double calls to fclose() and for the failure to close a file.

  • RUST howto getting started – hello world

    if one is viewing this site using Firefox or Gecko-Engine… one is running RUST already.

    At the beginning – one was big fan of Java – Java was/still is all the rage – theoretically write once – run anywhere linux, osx and (thanks to Google) on mobile and even on the closed source OS who’s name shall not be mentioned, nobody knows what the Java Virtual Machine does besides running bytecode, Java on slow ARM CPUs is kind of a burden.

  • Async Interview #2: cramertj, part 3

    This blog post is continuing my conversation with cramertj. This will be the last post.

    In the first post, I covered what we said about Fuchsia, interoperability, and the organization of the futures crate.

    In the second post, I covered cramertj’s take on the Stream, AsyncRead, and AsyncWrite traits. We also discussed the idea of attached streams and the importance of GATs for modeling those.

  • Python 3.7.6rc1 and 3.6.10rc1 are now available for testing

    Python 3.7.6rc1 and 3.6.10rc1 are now available. 3.7.6rc1 is the release preview of the next maintenance release of Python 3.7;  3.6.10rc1 is the release preview of the next security-fix release of Python 3.6. Assuming no critical problems are found prior to 2019-12-18, no code changes are planned between these release candidates and the final releases. These release candidates are intended to give you the opportunity to test the new security and bug fixes in 3.7.6 and security fixes in 3.6.10. While we strive to not introduce any incompatibilities in new maintenance and security releases, we encourage you to test your projects and report issues found to bugs.python.org as soon as possible. Please keep in mind that these are preview releases and, thus, their use is not recommended for production environments.

  • Print all git repos from a user (only curl and grep)
  • Linux Fu: Debugging Bash Scripts

    A recent post about debugging constructs surprised me. There were quite a few comments about how you didn’t need a debugger, as long as you had printf. For that matter, we’ve all debugged systems where you had nothing but an LED to flash or otherwise turn on to communicate with the user. However, it is hard to deny that a debugger can help with complex code.

    To say you only need printf would be like saying you only need machine language. Technically accurate — you can do anything in machine language. But it sure makes things easier to have an assembler or some language to help you work out your problem. If you write a simple bash script, you can use the equivalent to printf — maybe that’s the echo command, although there is usually a printf command on a typical system, if you want to use it. However, there are other things you can do with bash including a pretty cool debugger if you know how to find it.

    I assume you already know how to use echo and printf, but let’s dig into how to use trace execution line by line without the need for echo statements on every other line. Along the way, you’ll learn how to get started with the bash debugger.

Kernel: LWN Articles and Radeon Linux 5.6 Changes

Filed under
Linux
  • Fixing SCHED_IDLE

    The scheduler implements many "scheduling classes", an extensible hierarchy of modules, and each class may further encapsulate "scheduling policies" that are handled by the scheduler core in a policy-independent way. The scheduling classes are described below in descending priority order; the Stop class has the highest priority, and Idle class has the lowest.

    The Stop scheduling class is a special class that is used internally by the kernel. It doesn't implement any scheduling policy and no user task ever gets scheduled with it. The Stop class is, instead, a mechanism to force a CPU to stop running everything else and perform a specific task. As this is the highest-priority class, it can preempt everything else and nothing ever preempts it. It is used by one CPU to stop another in order to run a specific function, so it is only available on SMP systems. The Stop class creates a single, per-CPU kernel thread (or kthread) named migration/N, where N is the CPU number. This class is used by the kernel for task migration, CPU hotplug, RCU, ftrace, clock events, and more.

    The Deadline scheduling class implements a single scheduling policy, SCHED_DEADLINE, and it handles the highest-priority user tasks in the system. It is used for tasks with hard deadlines, like video encoding and decoding. The task with the earliest deadline is served first under this policy. The policy of a task can be set to SCHED_DEADLINE using the sched_setattr() system call by passing three parameters: the run time, deadline, and period.

    To ensure deadline-scheduling guarantees, the kernel must prevent situations where the current set of SCHED_DEADLINE threads is not schedulable within the given constraints. The kernel thus performs an admittance test when setting or changing SCHED_DEADLINE policy and attributes. This admission test calculates whether the change can be successfully scheduled; if not, sched_setattr() fails with the error EBUSY.

    The POSIX realtime (or RT) scheduling class comes after the deadline class and is used for short, latency-sensitive tasks, like IRQ threads. This is a fixed-priority class that schedules higher-priority tasks before lower-priority tasks. It implements two scheduling policies: SCHED_FIFO and SCHED_RR. In SCHED_FIFO, a task runs until it relinquishes the CPU, either because it blocks for a resource or it has completed its execution. In SCHED_RR (round-robin), a task will run for the maximum time slice; if the task doesn't block before the end of its time slice, the scheduler will put it at the end of the round-robin queue of tasks with the same priority and select the next task to run. The priority of the tasks under the realtime policies range from 1 (low) to 99 (high).

  • Virtio without the "virt"

    One might ask why it makes sense to implement virtio devices in hardware. After all, they were originally designed for hypervisors and have been optimized for software rather than hardware implementation. Now that virtio support is widespread, the network effects allow hardware implementations to reuse the guest drivers and infrastructure. The virtio 1.1 specification defines ten device types, among them a network interface, SCSI host bus adapter, and console. Implementing a standards-compliant device interface lets hardware implementers focus on delivering the best device instead of designing a new device interface and writing guest drivers from scratch. Moreover, existing guests will work with the device out of the box, and applications utilizing user-space drivers, such as the DPDK packet processing toolkit, do not need to be relinked with new drivers — this is especially helpful when static linking is utilized.

    Implementing virtio in hardware also makes it easy to switch between hardware and software implementations. A software device can be substituted without changing guest drivers if the hardware device is acting up. Similarly, if the driver is acting up, it is possible to substitute a software device to make debugging the driver easier. It is possible to assign hardware devices to performance-critical guests while assigning software devices to the other guests; this decision can be changed in the future to balance resource needs. Finally, implementing virtio in hardware makes it possible to live-migrate virtual machines more easily. The destination host can have either software or hardware virtio devices.

  • 5.5 Merge window, part 1

    The 5.5 merge window got underway immediately after the release of the 5.4 kernel on November 24. The first week has been quite busy despite the US Thanksgiving holiday landing in the middle of it. Read on for a summary of what the first 6,300 changesets brought for the next major kernel release.

  • Radeon Linux 5.6 Changes Begin Queuing - Better Power Management, Adds DMCUB Controller

    While the Linux 5.5 merge window has just been over for less than one week, AMD has already submitted their first batch of feature updates to DRM-Next of new graphics driver material aiming for Linux 5.6 early next year.

Syndicate content