Language Selection

English French German Italian Portuguese Spanish

Login

Enter your Tux Machines username.
Enter the password that accompanies your username.

More in Tux Machines

GTK 3.98.2

When we released 3.98.0, we promised more frequent snapshots, as the remaining GTK 4 features are landing. Here we are a few weeks later, and 3.98.1 and 3.98.2 snapshots have quietly made it out. Read more Also: GTK 3.98.2 Released As Another Step Towards GTK4

Servers: ZFS Tuning for HPC, Rancher 2.4, QEMU, LXD and Kubernetes

  • ZFS Tuning for HPC

    If you manage storage servers, chances are you are already aware of ZFS and some of the features and functions it boasts. In short, ZFS is a combined all-purpose filesystem and volume manager that simplifies data storage management while offering some advanced features, including drive pooling with software RAID support, file snapshots, in-line data compression, data deduplication, built-in data integrity, advanced caching (to DRAM and SSD), and more. ZFS is licensed under the Common Development and Distribution License (CDDL), a weak copyleft license based on the Mozilla Public License (MPL). Although open source, ZFS and anything else under the CDDL was, and supposedly still is, incompatible with the GNU General Public License (GPL). This hasn’t stopped ZFS enthusiasts from porting it over to the Linux kernel, where it remains a side project under the dominion of the ZFS on Linux (ZoL) project.

  • From Web Scale to Edge Scale: Rancher 2.4 Supports 2,000 Clusters on its Way to 1 Million

    Rancher 2.4 is here – with new under-the-hood changes that pave the way to supporting up to 1 million clusters. That’s probably the most exciting capability in the new version. But you might ask: why would anyone want to run thousands of Kubernetes clusters – let alone tens of thousands, hundreds of thousands or more? At Rancher Labs, we believe the future of Kubernetes is multi-cluster and fully heterogeneous. This means ‘breaking the monolith’ into many clusters and running the best Kubernetes distribution for each environment and use case.

  • QEMU 5.0-rc1 Released For Linux Virtualization With The Stable Update Coming This Month

    QEMU 5.0-rc1 was released on Tuesday as the latest development release in the path to QEMU 5.0.0 expected to be achieved later this month.

  • New 4.0 LTS releases for LXD, LXC and LXCFS
    Hello,
    
    The LXD, LXC and LXCFS teams are very proud to announce their 4.0 LTS releases!
    
    LTS versions of all 3 projects are released every 2 years, starting 6
    years ago. Those LTS versions benefit from 5 years of security and
    bugfix support from upstream and are ideal for production environments.
    
    # LXD
    LXD is our system container and virtual machine manager. It's a Go
    application based on LXC and QEMU. It can run several thousand
    containers on a single machine, mix in some virtual machines, offers a
    simple REST API and can be easily clustered to handle large scale
    deployments.
    
    It takes seconds to setup on a laptop or a cloud instance, can run just
    about any Linux distribution and supports a variety of resource limits
    and device passthrough. It's used as the basis for Linux applications on
    Chromebooks and is behind Travis-CI's recent Arm, IBM Power and IBM Z
    testing capability.
    
    
  • Building a Three-Node Kubernetes Cluster | Quick Guide

    There are many ways to build a Kubernetes cluster. One of them is using a tool called kubeadm. Kubeadm is the official tool for “first-paths” when creating your first Kubernetes cluster. With the ease of getting up and running, I thought I would put together this quick guide to installing a Kubernetes cluster using kubeadm!

  • Kubernetes Topology Manager Moves to Beta - Align Up!

    This blog post describes the TopologyManager, a beta feature of Kubernetes in release 1.18. The TopologyManager feature enables NUMA alignment of CPUs and peripheral devices (such as SR-IOV VFs and GPUs), allowing your workload to run in an environment optimized for low-latency. Prior to the introduction of the TopologyManager, the CPU and Device Manager would make resource allocation decisions independent of each other. This could result in undesirable allocations on multi-socket systems, causing degraded performance on latency critical applications. With the introduction of the TopologyManager, we now have a way to avoid this.

Security: Software Updates, Kali NetHunter Updates, OpenWRT Bug and Scams That Exploit COVID-19

  • Security updates for Wednesday

    Security updates have been issued by Debian (apng2gif, gst-plugins-bad0.10, and libpam-krb5), Fedora (coturn, libarchive, and phpMyAdmin), Mageia (chromium-browser-stable, nghttp2, php, phpmyadmin, sympa, and vim), openSUSE (GraphicsMagick, ldns, phpMyAdmin, python-mysql-connector-python, python-nltk, and tor), Red Hat (advancecomp, avahi, bash, bind, bluez, buildah, chromium-browser, cups, curl, docker, dovecot, doxygen, dpdk, evolution, expat, file, gettext, GNOME, httpd, idm:DL1, ImageMagick, kernel, kernel-rt, lftp, libosinfo, libqb, libreoffice, libsndfile, libxml2, mailman, mariadb, mod_auth_mellon, mutt, nbdkit, net-snmp, nss-softokn, okular, php, podman, polkit, poppler and evince, procps-ng, python, python-twisted-web, python3, qemu-kvm, qemu-kvm-ma, qt, rsyslog, samba, skopeo, squid, systemd, taglib, texlive, unzip, virt:8.1, wireshark, and zziplib), Slackware (gnutls and httpd), and SUSE (glibc, icu, kernel, and mariadb).

  • Kali NetHunter Updates

    Many outstanding discoveries have been made by our vibrant NetHunter community since 2020.1, so we have decided to publish a mid-term release to showcase these amazing developments on selected devices. [..]. The Android 8.1 image is considered the recommended release with a proven track record of supporting NetHunter under the most extreme conditions, including force encryption of the data partition. Considering the current maturity of Android 10 for this platform, we would consider this version to be most suited for those who love to experiment and don’t mind getting things working by themselves. We had to edit the vendor fstab file on a laptop to disable force encryption because TWRP didn’t support it at the time of writing. If that doesn’t scare you then this image might be just right for you.

  • OpenWRT code-execution bug puts millions of devices at risk

    For almost three years, OpenWRT—the open source operating system that powers home routers and other types of embedded systems—has been vulnerable to remote code-execution attacks because updates were delivered over an unencrypted channel and digital signature verifications are easy to bypass, a researcher said. OpenWRT has a loyal base of users who use the freely available package as an alternative to the firmware that comes installed on their devices. Besides routers, OpenWRT runs on smartphones, pocket computers and even laptops and desktop PCs. Users generally find OpenWRT to be a more secure choice because it offers advanced functions and its source code is easy to audit. [...] These code-execution exploits are limited in their scope because adversaries must either be in a position to conduct a man-in-the-middle attack or tamper with the DNS server that a device uses to find the update on the Internet. That means routers on a network that has no malicious users and using a legitimate DNS server are safe from attack. Vranken also speculates that packet spoofing or ARP cache poisoning may also make attacks possible, but he cautions that he didn’t test either method. Despite the requirements, many networks connect people who are unknown or untrusted by the device operator. What’s more, attacks that replace router settings pointing to a legitimate DNS to a malicious one are a fact of life on the Internet, as in-the-wild attack here, here, here, and here (to name just a few) demonstrate.

  • OpenWRT code-execution bug puts millions of devices at risk

    The headline may be a bit overwrought, though.

  • How Hackers Are Targeting Networks Amidst Coronavirus Threat?

    There is no doubt that COVID-19 has created fear, panic and uncertainty among the public, but it has also opened new possibilities for hackers to increase cyber attacks using different approaches. According to reports in the last few weeks, hackers are taking advantage of the current situation to spread fake news about important information related to government notices, school closures, health risks etc.

Python Development

  • Hidden Markov Model - A story of the morning insanity

    In this article, we present an example of an (im-)practical application of the Hidden Markov Model (HMM). It is an artifially constructed problem, where we create a case for a model, rather than applying a model to a particular case… although, maybe a bit of both. Here, we will rely on the code we developed earlier , and discussed in the earlier article: “Hidden Markov Model - Implementation from scratch”, including the mathematical notation. Feel free to take a look. The story we are about to tell contains modeling of the problem, uncovering the hidden sequence and training of the model.

  • Tryton News: Newsletter April 2020

    Tryton is a business software platform which comes with a set of modules that can be activated to make an ERP, MRP, CRM and other useful applications for organizations of any kind. During this month, when most developers are social distancing, we recorded a lot of changes to prepare for the upcoming release 5.6 that is planned for the start of May.

  • Reading and Writing MS Word Files in Python via Python-Docx Module

    The MS Word utility from Microsoft Office suite is one of the most commonly used tools for writing text documents, both simple and complex. Though humans can easily read and write MS Word documents, assuming you have the Office software installed, often times you need to read text from Word documents within another application. For instance, if you are developing a natural language processing application in Python that takes MS Word files as input, you will need to read MS Word files in Python before you can process the text. Similarly, often times you need to write text to MS Word documents as output, which could be a dynamically generated report to download, for example.

  • Linked Lists in Python: An Introduction

    Linked lists are like a lesser-known cousin of lists. They’re not as popular or as cool, and you might not even remember them from your algorithms class. But in the right context, they can really shine.

  • Python Software Foundation: An Update on PyPI Funded Work

    Originally announced at the end of 2018, a gift from Facebook Research is funding improvements for the security PyPI and its users.

  • Django bugfix releases issued: 3.0.5 and 2.2.12

    Today we've issued 3.0.5 and 2.2.12 bugfix releases.

  • Concurrency in Python

    A thread is an independent sequence of execution, but it shares memory with all the other threads belonging to your program. A Python program has, by default, one main thread. You can create more of them and let Python switch between them. This switching happens so fast that it appears like they are running side by side at the same time.

  • What the heck is pyproject.toml?

    Recently on Twitter there was a maintainer of a Python project who had a couple of bugs filed against their project due to builds failing (this particular project doesn't provide wheels, only sdists). Eventually it came out that the project was using a pyproject.toml file because that's how you configure Black and not for any other purpose. This isn't the first time I have seen setuptools users use pyproject.toml because they were "told to by <insert name of tool>" without knowing the entire point behind the file. And so I decided to write this blog post to try and explain to setuptools users why pyproject.toml exists and what it does as it's the future of packaging in the Python ecosystem (if you are not a conda user). [...] With PEP 518 in place, tools knew what needed to be available in order to build a project into a wheel (or sdist). But how do you produce a wheel or sdist from a project that has a pyproject.toml? This is where PEP 517 comes in. That PEP specifies how build tools are to be executed to build both sdists and wheels. So PEP 518 gets the build tools installed and PEP 517 gets them executed. This opens the door to using other tools by standardizing how to run build tools. Before, there was no standardized way to build a wheel or sdist except with python setup.py sdist bdist_wheel which isn't really flexible; there's no way for the tool running the build to pass in environment details as appropriate, for instance. PEP 517 helped solve that problem. One other change that PEP 517 & 518 has led to is build isolation. Now that projects can specify arbitrary build tools, tools like pip have to build projects in virtual environments to make sure each project's build tools don't conflict with another project's build tool needs. This also helps with reproducible builds by making sure your build tools are consistent. Unfortunately this frustrates some setuptools users when they didn't realize a setup.py files and/or build environment have become structured in such a way that they can't be built in isolation. For instance, one user was doing their builds offline and didn't have setuptools and 'wheel' cached in their wheelhouse, so when pip tried to build a project in isolation it failed as pip couldn't find setuptools and 'wheel' to install into the build virtual environment.

  • 3 Python templating languages you should (probably) never use

    When reaching for a templating language for writing a Python web application, there are an abundance of robust solutions. There are Jinja2, Genshi, and Mako. There are even solutions like Chameleon, which are a bit older, but still recommended by the Pyramid framework. Python has been around for a long time. In that time, deep in the corners of its system, it has accumulated some almost forgotten templating languages that are well worth poking at.

  • How to Speed up Your Python Code

    Always take a good look at your code and algorithms first. Many speed issues can be resolved by implementing a better algorithm or adding caching.