Language Selection

English French German Italian Portuguese Spanish


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

More in Tux Machines

Security Leftovers

  • How the Linux kernel balances the risks of public bug disclosure

    Last month a serious Linux Wi-Fi flaw (CVE-2019-17666) was uncovered that could have enabled an attacker to take over a Linux device using its Wi-Fi interface. At the time it was disclosed Naked Security decided to wait until a patch was available before writing about it. Well, it’s been patched, but the journey from discovery to patch provides some insights into how the Linux open-source project (the world’s largest collaborative software development effort) manages bug fixes and the risks of disclosure.

  • New NextCry Ransomware Encrypts Data on NextCloud Linux Servers
  • Using Nmap For Port Scanning + Other Tools to Use

    Nmap is a well-known utility that is bundled with many Linux distributions and that is also available for Windows and several other platforms. Essentially a scanning and mapping tool, there’s a lot that Nmap can do for you. Today, we’re having a look as using Nmap for port scanning which, incidentally, is the tool’s primary usage. Port scanning is an essential task of network management as it ensures that no backdoors are left unaddressed. It is one of the most basic forms of securing the network. Before we get into the how-to part of this post, we’ll sidetrack a little and first introduce Nmap and its GUI cousin Zenmap. We’ll then explain what ports are and how you need to be careful not to leave unused ports open on your devices. Then, we’ll get to the essence of this post and show you how to use Nmap for port scanning. And since there are quite a few other tools that can be viable alternatives to Nmap for port scanning—some of them much better or easier to use tools—we’ll finally review some of the very best Nmap alternatives for port scanning.

Red Hat: Oracle Linux 8 Update 1 (RHEL 8.1), SDNs and NFV

  • Announcing Oracle Linux 8 Update 1

    Oracle is pleased to announce the general availability of Oracle Linux 8 Update 1. Individual RPM packages are available on the Unbreakable Linux Network (ULN) and the Oracle Linux yum server. ISO installation images will soon be available for download from the Oracle Software Delivery Cloud and Docker images will soon be available via Oracle Container Registry and Docker Hub. Oracle Linux 8 Update 1 ships with Red Hat Compatible Kernel (RHCK) (kernel-4.18.0-147.el8) kernel packages for x86_64 Platform (Intel & AMD), that include bug fixes, security fixes, and enhancements; the 64-bit Arm (aarch64) platform is also available for installation as a developer preview release.

  • Oracle Linux 8 Update 1 Announced With Udica, Optane DCPM Support

    Fresh off the release of Red Hat Enterprise Linux 8.1 at the beginning of November, Oracle is now shipping Oracle Linux 8 Update 1 as their spin of RHEL 8.1 with various changes on top -- including their "Unbreakable Enterprise Kernel" option.

  • Telco revolution or evolution: Depends on your perspective, but your network is changing

    As the market embraces edge computing and 5G networks, telecommunications service providers are increasingly looking for ways to migrate their monolithic services to microservices and containers. These providers are moving from legacy hardware appliances to virtualized network functions to containerized network functions on cloud infrastructure. Red Hat’s partnership with a rich ecosystem of software-defined networking (SDN) vendors, independent software vendors (ISVs), network equipment providers (NEPs), as well as its deep involvement in the open source projects powering these initiatives, give customers the choices and long-life support they need to build the services infrastructure that supports their business needs both today and tomorrow – as well as the journey in between.

  • The rise of the network edge and what it means for telecommunications

    5G. Software-defined networking (SDN) and network functions virtualization (NFV). IoT. Edge computing. Much has been said about these technologies and the impact they will have on the telecommunications services of tomorrow. But it’s when they’re talked about together—as part of the broader digital transformation of service provider networks and business models—that things really get interesting. It’s a story that may impact every corner of the telecommunications ecosystem, from mobile network operators (MNOs), traditional service providers, and cable network operators to cellular tower companies, data center operators, managed services providers, and vendors. SDN and NFV hold the promise of replacing enormous networks of proprietary, single-purpose appliances with racks of off-the-shelf compute and storage platforms that are running software from a variety of vendors for a variety of services. Progress on this front has been slowed by several issues, leaving operators looking for their next opportunity. It has emerged in the form of 5G, and whether they are early adopters or taking a wait-and-see approach, every telco company is looking for its 5G play.

Fedora: Qubes, rpminspect, rpminspect, and ProcDump

  • PoC to auto attach USB devices in Qubes

    Here is PoC based on qubesadmin API which can auto attach USB devices to any VM as required. By default Qubes auto attaches any device to the sys-usb VM, that helps with bad/malware full USB devices. But, in special cases, we may want to select special devices to be auto attached to certain VMs. In this PoC example, we are attaching any USB storage device, but, we can add some checks to mark only selected devices (by adding more checks), or we can mark few vms where no device can be attached.

  • David Cantrell: rpminspect-0.9 released

    Very large packages (VLPs) are something I am working on with rpminspect. For example, the kernel package. A full build of the kernel source package generates a lot of files. I am working on improving rpminspect's speed and fixing issues found with individual inspections. These are only showing up when I do test runs comparing VLPs. The downside here is that it takes a little longer than with any other typical package.

  • Fedora pastebin and fpaste updates

    A pastebin lets you save text on a website for a length of time. This helps you exchange data easily with other users. For example, you can post error messages for help with a bug or other issue. The CentOS Pastebin is a community-maintained service that keeps pastes around for up to 24 hours. It also offers syntax highlighting for a large number of programming and markup languages.

  • ProcDump for Linux in Fedora

    ProcDump is a nifty debugging utility which is able to dump the core of a running application once a user-specified CPU or memory usage threshold is triggered. For instance, the invocation procdump -C 90 -p $MYPID instructs ProcDump to monitor the process with ID $MYPID, waiting for a 90 % CPU usage spike. Once it hits, it creates the coredump and exits. This allows you to later inspect the backtrace and memory state in the moment of the spike without having to attach a debugger to the process, helping you determine which parts of your code might be causing performance issues.

Programming: Interview With Guido van Rossum, Python Picks and New Release of Picolibc From Keith Packard

  • Interview Guido van Rossum: “I'd rather write code than papers.”

    Guido van Rossum (1956) is the founding father of the Python programming language, one of the most popular development tools in the world. In 2019 CWI will award him the Dijkstra Fellowship. What led you to come up with a brand new programming language during your time at CWI? “I started at CWI as a junior programmer on a research team with Lambert Meertens, Leo Geurts and Steven Pemberton. They wanted to develop a language which would enable people without programming experience – such as scientists – to start writing computer programs fairly quickly.” “It was at the time that Basic was on the rise due to the arrival of the microcomputer. Meertens looked at this inadequate language with horror. ‘Stamp out Basic!’ Was his motto. In the end, ABC, as our language was called, would not work. The target group could not use it on their microcomputers, which were not powerful enough for it, while Unix users already had other tools. Those users thought ABC was an odd man out.” “Then I came across the so-called Amoeba project. That was a distributed operating system based on a microkernel, developed by Andrew Tanenbaum at the Vrije Universiteit Amsterdam and Sape Mullender at CWI. Not aiming at popularizing their operating system, their first and foremost goal was writing papers. Scientifically it was a breakthrough indeed: those papers are still being studied. I myself was not a researcher but a programmer on that project. I must say thought that there was an atmosphere at CWI in which programmers had a major input in the projects.”

  • Python Tears Through Mass Spectrometry Data

    At the November 2019 Python Frederick event, Conor Jenkins showed the group how mass spectrometry works and how Python saves huge amounts of time when processing the large amount of data produced by a mass spec analysis.

  • Wingware News: Wing Python IDE 7.1.3 - November 14, 2019

    Wing 7.1.3 adds improved and expanded documentation and support for matplotlib, improves the accuracy of code warnings, fixes automatically debugging child processes on Windows with Python 3.8, fixes installing the remote agent from .rpm or .deb installations, solves several issues with runtime type introinspection, allows Open from Project and similar navigation commands from non-Browse vi mode, improves debugger reliability, and fixes about 30 other minor usability issues.

  • Easily specifying colours from the default colour cycle in matplotlib

    Another quick matplotlib tip today: specifically, how easily specify colours from the standard matplotlib colour cycle. A while back, when matplotlib overhauled their themes and colour schemes, they changed the default cycle of colours used for lines in matplotlib. Previously the first line was pure blue (color='b' in matplotlib syntax), then red, then green etc. They, very sensibly, changed this to a far nicer selection of colours.

  • Typing Mercurial with pytype

    Following the recent introduction of Python type annotations (aka "type hints") in Mercurial (see, e.g. this changeset by Augie Fackler), I've been playing a bit with this and pytype. pytype is a static type analyzer for Python code. It compares with the more popular mypy but I don't have enough perspective to make a meaningful comparison at the moment. In this post, I'll illustrate how I worked with pytype to gradually add type hints in a Mercurial module and while doing so, fix bugs! The module I focused on is mercurial.mail, which contains mail utilities and that I know quite well. Other modules are also being worked on, this one is a good starting point because it has a limited number of "internal" dependencies, which both makes it faster to iterate with pytype and reduces side effects of other modules not being correctly typed already.

  • Two Books About the Kivy GUI Framework

    The Kivy Python GUI framework is intriguing. Not only it’s cross-platform but also supports Android. Java is too verbose and low level for me and Kivy is an opportunity for developing native Android apps without leaving Python. Outside of the Kivy project documentation, there are few third-party advanced tutorials that go in more depth than the official tutorials. So, before diving into the code of the Kivy demos, I wanted some books to explore more features and get a broader picture of the framework and what it can do. I found two potentially interesting books: Building Android Apps in Python Using Kivy with Android Studio: With Pyjnius, Plyer, and Buildozer by Ahmed Fawzy Mohamed Gad (Apress, 2019), and Kivy - Interactive Applications and Games in Python - Second Edition by Roberto Ulloa (Packt, 2015).

  • A Qt GUI for logging

    A question that comes up from time to time is about how to log to a GUI application. The Qt framework is a popular cross-platform UI framework with Python bindings using PySide2 or PyQt5 libraries. The following example shows how to log to a Qt GUI. This introduces a simple QtHandler class which takes a callable, which should be a slot in the main thread that does GUI updates. A worker thread is also created to show how you can log to the GUI from both the UI itself (via a button for manual logging) as well as a worker thread doing work in the background (here, just logging messages at random levels with random short delays in between).

  • Picolibc 1.1 Released With POSIX File I/O Support

    Longtime X11 developer Keith Packard has spent a lot of time in recent months while being employed by SiFive working on Picolibc as a new C library for embedded systems. Picolibc is designed solely for embedded use-cases at this point and was formerly developed by Keith under the name newlib-nano. Picolibc 1.1 is out now as the project's second stable release.

  • Picolibc Version 1.1

    Picolibc development is settling down at last. With the addition of a simple 'hello world' demo app, it seems like a good time to stamp the current code as 'version 1.1'.