Language Selection

English French German Italian Portuguese Spanish

LWN

Syndicate content
LWN.net is a comprehensive source of news and opinions from and about the Linux community. This is the main LWN.net feed, listing all articles which are posted to the site front page.
Updated: 47 min 54 sec ago

[$] New features in the fish shell

7 hours 52 min ago
Fish (the "friendly interactive shell") has the explicit goal of being more user-friendly than other shells. It features a modern command-line interface with syntax highlighting, tab completion, and auto-suggestions out of the box (all with no configuration required). Unlike many of its competitors, it doesn't care about being POSIX-compliant but attempts to blaze its own path. Since our last look at the project, way back in 2013, it has seen lots of new releases with features, bug fixes, and refinements aimed at appealing to a wide range of users. Some of the biggest additions landed in the 3.0 release, but we will also describe some other notable changes from version 2.1 up through latest version.

Security updates for Tuesday

10 hours 39 min ago
Security updates have been issued by Debian (firefox-esr and mediawiki), openSUSE (firefox, libqt5-qtbase, and rubygem-actionpack-5_1), Red Hat (qemu-kvm, qemu-kvm-ma, and virt:rhel), SUSE (dpdk, firefox, and go1.15), and Ubuntu (dpdk, imagemagick, italc, libpgf, libuv1, pam-python, squid3, ssvnc, and teeworlds).

[$] Mercurial planning to transition away from SHA-1

Monday 28th of September 2020 04:04:03 PM
Recently, the Mercurial project has been discussing its plans to migrate away from the compromised SHA-1 hashing algorithm in favor of a more secure alternative. So far, the discussion is in the planning stages of algorithm selection and migration strategy, with a general transition plan for users. The project, for the moment, is favoring the BLAKE2 hashing algorithm.

OpenSSH 8.4 released

Monday 28th of September 2020 03:44:41 PM
OpenSSH 8.4 is out. The SHA-1 algorithm is deprecated and the "ssh-rsa" public key signature algorithm will be disabled by default "in a near-future release." They note that it is possible to perform chosen-prefix attacks against the SHA-1 algorithm for less than USD$50K.

Security updates for Monday

Monday 28th of September 2020 02:51:23 PM
Security updates have been issued by Debian (curl, libdbi-perl, linux-4.19, lua5.3, mediawiki, nfdump, openssl1.0, qt4-x11, qtbase-opensource-src, ruby-gon, and yaws), Fedora (f2fs-tools, grub2, libxml2, perl-DBI, singularity, xawtv, and xen), Mageia (cifs-utils, kio-extras, libproxy, mbedtls, nodejs, novnc, and pdns), openSUSE (bcm43xx-firmware, chromium, conmon, fuse-overlayfs, libcontainers-common, podman, firefox, libqt4, libqt5-qtbase, openldap2, ovmf, pdns, rubygem-actionpack-5_1, and tiff), SUSE (firefox, go1.14, ImageMagick, and libqt5-qtbase), and Ubuntu (firefox, gnuplot, libquicktime, miniupnpd, ruby-sanitize, and sudo).

Kernel prepatch 5.9-rc7

Sunday 27th of September 2020 10:32:49 PM
The 5.9-rc7 kernel prepatch is out for testing. "But while I do now know of any remaining gating issues any more, the fixes came in fairly late. So unless I feel insanely optimistic and/or a burning bush tells me that everything is bug-free, my plan right now is that I'll do another rc next Sunday rather than the final 5.9 release. And btw, please no more burning bushes. We're kind of sensitive about those on the West coast right now."

A small set of stable kernels

Sunday 27th of September 2020 08:37:45 PM
The 5.8.12, 5.4.68, and 4.19.148 stable kernels have been released; each contains another set of important fixes.

[$] Toward a "modern" Emacs

Friday 25th of September 2020 04:49:57 PM
It has only been a few months since the Emacs community went through an extended discussion on how to make the Emacs editor "popular again". As the community gears up for the Emacs 28 development cycle, (after the Emacs 27.1 release in August) that discussion has returned with a vengeance. The themes of this discussion differ somewhat from the last; developers are concerned about making Emacs — an editor with decades of history — seem "modern" to attract new users.

Calibre 5.0 released

Friday 25th of September 2020 03:03:56 PM
Version 5.0 of the Calibre electronic-book manager has been released. "There has been a lot of work on the calibre E-book viewer. It now supports Highlighting. The highlights can be colors, underlines, strikethrough, etc. and have added notes. All highlights can be both stored in EPUB files for easy sharing and centrally in the calibre library for easy browsing. Additionally, the E-book viewer now supports both vertical and right-to-left text." Another significant change is a port to Python 3; that was a necessary change but it means that there are a number of plugins that have not yet been ported and thus won't work. The status of many plugins can be found on this page.

Security updates for Friday

Friday 25th of September 2020 02:52:59 PM
Security updates have been issued by Debian (rails), openSUSE (chromium, jasper, ovmf, roundcubemail, samba, and singularity), Oracle (firefox), SUSE (bcm43xx-firmware, firefox, libqt5-qtbase, qemu, and tiff), and Ubuntu (aptdaemon, atftp, awl, packagekit, and spip).

[$] Saying goodbye to set_fs()

Thursday 24th of September 2020 03:48:47 PM
The set_fs() function dates back to the earliest days of the Linux kernel; it is a key part of the machinery that keeps user-space and kernel-space memory separated from each other. It is also easy to misuse and has been the source of various security problems over the years; kernel developers have long wanted to be rid of it. They won't completely get their wish in the 5.10 kernel but, as the result of work that has been quietly progressing for several months, the end of set_fs() will be easily visible at that point.

PostgreSQL 13 released

Thursday 24th of September 2020 01:48:44 PM
Version 13 of the PostgreSQL database management system is out. "PostgreSQL 13 includes significant improvements to its indexing and lookup system that benefit large databases, including space savings and performance gains for indexes, faster response times for queries that use aggregates or partitions, better query planning when using enhanced statistics, and more. Along with highly requested features like parallelized vacuuming and incremental sorting, PostgreSQL 13 provides a better data management experience for workloads big and small, with optimizations for daily administration, more conveniences for application developers, and security enhancements."

Security updates for Thursday

Thursday 24th of September 2020 01:09:12 PM
Security updates have been issued by Fedora (firefox, libproxy, mbedtls, samba, and zeromq), openSUSE (chromium and virtualbox), Red Hat (firefox and kernel), SUSE (cifs-utils, conmon, fuse-overlayfs, libcontainers-common, podman, libcdio, python-pip, samba, and wavpack), and Ubuntu (rdflib).

[$] LWN.net Weekly Edition for September 24, 2020

Thursday 24th of September 2020 01:22:35 AM
The LWN.net Weekly Edition for September 24, 2020 is available.

[$] OpenPGP in Thunderbird

Wednesday 23rd of September 2020 10:17:04 PM
It is a pretty rare event to see a nearly 21-year-old bug be addressed—many projects are nowhere near that old for one thing—but that is just what has occurred for the Mozilla Thunderbird email application. An enhancement request filed at the end of 1999 asked for a plugin to support email encryption, but it has mostly languished since. The Enigmail plugin did come along to fill the gap by providing OpenPGP support using GNU Privacy Guard (GnuPG or GPG), but was never part of Thunderbird. As part of Thunderbird 78, though, OpenPGP is now fully supported within the mail user agent (MUA).

Six stable kernels

Wednesday 23rd of September 2020 07:24:05 PM
Stable kernels 5.8.11, 5.4.67, 4.19.147, 4.14.199, 4.9.237, and 4.4.237 have been released with important fixes. Users should upgrade.

[$] Removing run-time disabling for SELinux in Fedora

Wednesday 23rd of September 2020 03:53:35 PM
Disabling SELinux is, perhaps sadly in some ways, a time-honored tradition for users of Fedora, RHEL, and other distributions that feature the security mechanism. Over the years, SELinux has gotten easier to tolerate due to the hard work of its developers and the distributions, but there are still third-party packages that recommend or require disabling SELinux in order to function. Up until fairly recently, the kernel has supported disabling SELinux at run time, but that mechanism has been deprecated—in part due to another kernel security feature. Now Fedora is planning to eliminate the ability to disable SELinux at run time in Fedora 34, which sparked some discussion in its devel mailing list.

Security updates for Wednesday

Wednesday 23rd of September 2020 02:44:54 PM
Security updates have been issued by openSUSE (libetpan, libqt4, lilypond, otrs, and perl-DBI), Red Hat (kernel-rt), Slackware (seamonkey), SUSE (grafana, libmspack, openldap2, ovmf, pdns, rubygem-actionpack-5_1, and samba), and Ubuntu (debian-lan-config, ldm, libdbi-perl, and netty-3.9).

[$] Python 3.9 is around the corner

Tuesday 22nd of September 2020 10:17:49 PM
Python 3.9.0rc2 was released on September 17, with the final version scheduled for October 5, roughly a year after the release of Python 3.8. Python 3.9 will come with new operators for dictionary unions, a new parser, two string operations meant to eliminate some longstanding confusion, as well as improved time-zone handling and type hinting. Developers may need to do some porting for code coming from Python 3.8 or earlier, as the new release has removed several previously-deprecated features still lingering from Python 2.7.

[$] Accurate timestamps for the ftrace ring buffer

Tuesday 22nd of September 2020 09:29:15 PM
The function tracer (ftrace) subsystem has become an essential part of the kernel's introspection tooling. Like many kernel subsystems, ftrace uses a ring buffer to quickly communicate events to user space; those events include a timestamp to indicate when they occurred. Until recently, the design of the ring buffer has led to the creation of inaccurate timestamps when events are generated from interrupt handlers. That problem has now been solved; read on for an in-depth discussion of how this issue came about and the form of its solution.

More in Tux Machines

Python Programming

  • Teaching Comparing Strings in Python the Hard Way

    Some long-time subscribers may remember that I am teaching math to 10-18 year old students. The COVID-19 situation nearly made me quit and look for an alternative to earn my rent, but my love for the kids and teaching them was stronger. After a few months of shortage, we found ways to responsibly resume the meetings, either online or with safety measures. When schools were closed, some parents wondered what they could do to drag their offsprings away from computers; playing computer games seemed to be the new all-time favorite hobby. Of course, resistance was expected. Why not turn this interest into something useful? I didn’t expect that kids as young as eight are interested to learn how to create games. But why not? I learned from electronic magazines and books how computers, MS BASIC, and Z80 assembly worked when I was ten, and I am sure I would have been interested with eight, if my classmate had broken his leg two years earlier… But that’s not the story I want to tell.

  • This Python script mimics Babbage's Difference Engine

    After some contemplation, Charles Babbage's ghost replied, "This is all well and good, but here you only take the number of rows and give the number of marbles. With my table, I can also tell you how large a pyramid you might construct given a certain number of marbles; simply look it up in the table." Python had to agree that this was indeed the case, yet it knew that surely this must be solvable as well. With little delay, Python came back with another short script. The solution involves thinking through the math in reverse.

  • Setup and debug a Django app in PyCharm Community Edition

    Did you know that the freely available PyCharm community edition is perfectly suited for developing and debugging Django web applications? The goal of the article is to help you setup a new Django application framework in the PyCharm community edition, to the point that you can run and debug the Django application in PyCharm. We’ll also setup a virtual environment for the PyCharm project and install Django inside this virtual environment. [...] PyCharm comes in two editions: the professional edition and the community edition. The professional edition needs to be bought. In contrast, JetBrains makes the community edition free and open source. With other words, you can download the community edition for free and get started with it right away. When inspecting the differences between the PyCharm editions, you’ll notice that the PyCharm professional edition features all sort of Django specific support as you can read here. From this information you might think that you absolutely need to purchase the PyCharm professional edition, when programming and debugging Django applications. This is incorrect. You can definitely program and debug your Django application with the free PyCharm community edition. In this article, I’ll explain step-by-step how you can setup and debug a Django application in the free PyCharm community edition.

  • Using Google Login With Flask

    In this course, you’ll work through the creation of a Flask web application. Your application will allow a user to log in using their Google identity instead of creating a new account. There are tons of benefits with this method of user management. It’s going to be safer and simpler than managing the traditional username and password combinations.

  • Python Morsels: Writing a for loop

    You can use a for loop to loop over any iterable (iter-able). Anything you're able to iterate over can be looped over with a for loop.

  • Design of the Versioned HDF5 Library

    In a previous post, we introduced the Versioned HDF5 library and described some of its features. In this post, we'll go into detail on how the underlying design of the library works on a technical level. Versioned HDF5 is a library that wraps h5py and offers a versioned abstraction for HDF5 groups and datasets. Versioned HDF5 works fundamentally as a copy-on-write system. The basic idea of copy-on-write is that all data is effectively immutable in the backend. Whenever a high-level representation of data is modified, it is copied to a new location in the backend, leaving the original version intact. Any references to the original will continue to point to it.

  • PyCoder’s Weekly: Issue #440 (Sept. 29, 2020)
  • Why use Python Programming for building a Healthcare Application

    Python is one of the best programming languages used across a plethora of industries. The healthcare sector is a significant benefactor of the language. With Python programming in healthcare, institutions and clinicians can deliver better patient outcomes through dynamic and scalable applications. Today, healthcare is generating tons of data from patients and facilities. By making the best use of this data, doctors can predict better treatment methods and improve the overall healthcare delivery system.

  • The Python return Statement: Usage and Best Practices

    The Python return statement is a key component of functions and methods. You can use the return statement to make your functions send Python objects back to the caller code. These objects are known as the function’s return value. You can use them to perform further computation in your programs. [...] Most programming languages allow you to assign a name to a code block that performs a concrete computation. These named code blocks can be reused quickly because you can use their name to call them from different places in your code. Programmers call these named code blocks subroutines, routines, procedures, or functions depending on the language they use. In some languages, there’s a clear difference between a routine or procedure and a function. Sometimes that difference is so strong that you need to use a specific keyword to define a procedure or subroutine and another keyword to define a function. For example the Visual Basic programming language uses Sub and Function to differentiate between the two.

  • Test and Code: 132: mocking in Python - Anna-Lena Popkes

    Using mock objects during testing in Python. Anna-Lena joins the podcast to teach us about mocks and using unittest.mock objects during testing.

  • Resources: Python for Kids

    Friend of Mu, Kevin Thomas has been hard at work creating free-to-use resources for kids (and older kids) who want to learn Python, with the BBC micro:bit and Mu. [...] Meanwhile, in our secret fortress of solitude, the Mu “minions” (Munions..?) have been hard at work on some fantastic updates which we hope to reveal very soon.

  • wxPython by Example – Drag-and-Drop an Image (Video)

    In this tutorial, you will learn how to drag an image into your #wxPython application and display it to your user.

  • Solving Python Package Creation For End User Applications With PyOxidizer - Episode 282

    Python is a powerful and expressive programming language with a vast ecosystem of incredible applications. Unfortunately, it has always been challenging to share those applications with non-technical end users. Gregory Szorc set out to solve the problem of how to put your code on someone else's computer and have it run without having to rely on extra systems such as virtualenvs or Docker. In this episode he shares his work on PyOxidizer and how it allows you to build a self-contained Python runtime along with statically linked dependencies and the software that you want to run. He also digs into some of the edge cases in the Python language and its ecosystem that make this a challenging problem to solve, and some of the lessons that he has learned in the process. PyOxidizer is an exciting step forward in the evolution of packaging and distribution for the Python language and community.

  • Sumana Harihareswara is an open-source software fairy... and other things I learned recording her DevJourney
  • All You Need To Know For Selenium Testing On The Cloud

    Building large-scale web applications take a monumental effort. Testing the quality of these applications requires a whole other level of dedication. From a developer’s vantage point, the focus is on improving the feature set, speeding up the overall performance, and building a scalable product. As far as QA is concerned, a lot of focus is on usability testing and compatibility testing while testing a website or web application. If you are building a consumer-facing website or web application, your product is likely to be accessed by users from across the globe. Your product must be tested on various combinations of web browsers, devices, and platforms (operating systems) to ensure top-notch performance. Hence, browser compatibility testing becomes even more critical. No one wants to lose potential customers because of unpleasant user experience on select few browsers, devices, or platforms.

  • Montreal Python User Group: Montréal-Python 80 – Pedal Kayak

    Greetings Python community, October is fast approaching with vibrant fall colour and our favourite apples. This is the occasion to set the table for our 80th event – Pedal Kayak – which will take place this coming October 26.

  • Simple FPS fingerprint similarity search: variations on a theme

    It's easy to write a fingerprint search tool. Peter Willett tells a story about how very soon after he, Winterman, and Bawden published Implementation of nearest-neighbor searching in an online chemical structure search system (1986) (which described their nearest-neighbor similarity search implementation and observed that Tanimoto similarity gave more satisfactory results than cosine similarity), he heard from a company which wrote their own implementation, on a Friday afternoon, and found it to be very useful. Now, my memory of his story may be missing in the details, but the key point is that it's always been easy to write a fingerprint similarity search tool. So, let's do it! I'll call my program ssimsearch because it's going to be a simplified version of chemfp's simsearch command-line tool. In fact, I'll hard-code just about everything, with only the bare minimum of checking.

Android Leftovers

3 Best Free and Open Source Linux Graphical FTP Clients

File Transfer Protocol (FTP) is a popular and time-honored method of transferring files to and from a remote network site. FTP is built on a client-server architecture and uses separate control and data connections between the client and server applications. The FTP client connects to the FTP server, and enables the user to send and retrieves files from that server. FTP is one of many different file transfer protocols that are used. Other examples include the Hypertext Transfer Protocol (HTTP), BitTorrent, the SSH File Transfer Protocol (SFTP), and Secure Copy (SCP). Read more

Getting Started with Inkscape

Welcome to the 1st part of computer graphic design for students. This is your easy guide to learn graphic editing with the software Inkscape. In this article you will learn both the theory and practice and followed by an exercise making your first design with logo and typography. Enjoy! Read more