Language Selection

English French German Italian Portuguese Spanish

August 2020

Graphics Stack: Melissa Wen, Mike Blumenkrantz and Peter Hutterer Explain Their Work

Filed under
Graphics/Benchmarks
  • Melissa Wen: GSoC Final Report

    I haven’t said Hi for a while when starting a post. I think the rush and the whirlwind of things happening during the GSoC made me a little agitated. This year, my project was the only one accepted for X.Org Foundation, and I felt a great responsibility.

    Well, this is the last week of the project, and I’m slowing down and breathing Smile

  • Mike Blumenkrantz: Geometry Overview

    I’ve mentioned GS on a few occasions in the past without going too deeply into the topic. The truth is that I’m probably not ever going to get that deep into the topic.

    There’s just not that much to talk about.

  • Peter Hutterer: User-specific XKB configuration - part 3

    Let's talk about everyone's favourite [1] keyboard configuration system again: XKB. If you recall the goal is to make it simple for users to configure their own custom layouts. Now, as described earlier, XKB-the-implementation doesn't actually have a concept of a "layout" as such, it has "components" and something converts your layout desires into the combination of components. RMLVO (rules, model, layout, variant, options) is what you specify and gets converted to KcCGST (keycodes, compat, geometry, symbols, types). This is a one-way conversion, the resulting keymaps no longer has references to the RMLVO arguments. Today's post is about that conversion, and we're only talking about libxkbcommon as XKB parser because anything else is no longer maintained.

  • Facebook Still Pursuing "NetGPU" - Working On AMD GPU Support In Addition To NVIDIA

    It was the recent Facebook patches for implementing NetGPU that with one of the NVIDIA-focused patches led to the recent controversy around "GPL condoms" in the kernel and ultimately leading to new protections with Linux 5.9. That NetGPU code is still being worked on by Facebook with upstream hopes but now in addition to the NVIDIA driver support they are also working on AMD GPU support with the open-source driver.

Kernel: File-Systems, CPU Architecture Landscape For 2030, Raspberry Pi 4

Filed under
Linux
Hardware
  • Linux Receiving Generic Casefolding Implementation For File-Systems

    In making for easier code re-use among file-systems and allowing a unified implementation to focus on a single code-base for optimizations moving forward, a generic case-folding implementation for Linux file-systems is being prepared for mainline.

    EXT4 and F2FS have both supported optional UTF-8 based case-folding support for file/folder names on a per-folder basis going back a year. To date the file-systems have relied upon similar albeit copied implementations of the code while now it's being spun into a generic implementation that can be easily shared between file-systems. Besides avoiding code duplication for UTF8 case-folding, this standardization makes it more easy to optimize it moving forward without having to port any optimizations to the different file-system implementations. The code in its current form should be functionally equivalent to the existing per-filesystem code.

  • A Kernel Maintainer's Prediction On The CPU Architecture Landscape For 2030

    In addition to talking about code/hardware obsolescence from the Linux kernel, prominent upstream Linux kernel developer Arnd Bermann also presented at last week's Linux Plumbers Conference on the current SoC landscape and sharing his predictions for ten years down the road.

    Bergmann gave a talk in addition to the obsolescence one on the "SoC support lifecycle in the kernel" when talking about changes in SoC/CPU architectures and how that has evolved over time and the Linux kernel embracing the changes while also identifying code that has reached the end of its useful life.

  • Linux Patch Proposed To Double Raspberry Pi 4 Transfer Speed To eMMC/SD Storage

    Manjaro Linux developer Tobias Schramm brought to light that only single data rate mode is currently being used for micro SD cards and eMMC storage with Raspberry Pi 4 Model B SBCs. But with a two line kernel patch, the double data rate mode can be enabled.

    Tobias sent out on the kernel mailing list that both micro SD and eMMC with the Raspberry Pi 4 is running in single data rate mode only. However, the controller and the board circuitry appear to support the double data rate (DDR) mode just fine. He added that he even checked on the signal integrity on the data lines for the micro SD card slot and didn't find any issues.

Python Programming

Filed under
Development
  • PyDev of the Week: Connor Ferster

    This week we welcome Connor Ferster as our PyDev of the Week! Connor is the author of handcalcs which was recently featured on the PythonBytes Podcast.

  • Remove Element from an Array in Python

    This tutorial will go through some common ways for removing elements from Python arrays. Here's

  • "CodersLegacy": PySide vs PyQt | Understanding the difference

    Once people get to know about both PySide and PyQt, due to their similarities, people have a hard time picking one over the other. Here in this “PySide vs PyQt” article we’ll examine both libraries from multiple angles and attempt to come to a conclusion.

    The reason why we are comparing these two libraries is because both of them are Python bindings of the same GUI framework Qt. We’re here to compare both these bindings.

    We’ll start off with PyQt first as it’s the more poplar library and was released (officially) before PySide.

  • How to Deploy Your Open Source Package to PyPI

    I built a small PyBitesTips class to consume our Python tips from the command line. The code (project) is here

    Speaking of tips, here are some cool things I learned / re-used: - Make a class callable using the __call__ dunder (magic) method. - Use namedtuples and instantiate them with ** keyword args: [Tip(**tip) for tip in resp.json()] - Use paging of results with pydoc.pager. - Break down output creation and printing in different methods (and helpers) which made testing the code easier.

  • Automated Browser Testing with Opera and Selenium in Python

    When it comes to cross browser testing, we tend to focus on executing test cases for bigwigs like Google Chrome, Firefox, or Safari. What about the other browsers? What about Opera? Opera may not be your default browser, but it still is a popular web browser in the market and is especially loved in areas that don’t have high-speed Internet. This is because Opera performs quite well even at slow internet speeds. Owing to this, Opera has a market share of around 2.17% globally from July 2019 – July 2020 as per GS StatCounter. 2.17% may look like a small fraction, but we are referring to global statistics, meaning 2.17% of all the internet users. This could turn up to be a considerable number of leads for your business.

  • Python 3 Installation & Setup Guide

    Installing or updating Python on your computer is the first step to becoming a Python programmer. There are a multitude of installation methods: you can download official Python distributions from Python.org, install from a package manager, and even install specialized distributions for scientific computing, Internet of Things, and embedded systems.

  • No Module Named Numpy
  • New course: Testing your Python programs with pytest

    My first job was at a company that wrote software for hospitals. As you can imagine, our work needed to be really reliable — so we had an entire team dedicated to quality assurance (QA). Their job was to run our software for months at a time, given many different inputs, and to make sure that it didn’t cause trouble. I can tell you that the head of QA was the most feared person in my department. And yet, we all knew that his job was of utmost importance. If it weren’t for him, buggy software could go out the door, with catastrophic effects for people being treated in hospitals around the world.

    More than 25 years have passed since I had that job. And while not every program directly affects people’s lives, there’s no doubt that software is hugely influential. Buggy programs can not only hurt people, but lose money, destroy documents, give incorrect projections, and use up valuable resources.

  • Python Monthly August 2020

    Being a Python developer is a fantastic career option. Python is now the most popular language with lots of growing job demand (especially in the fields of Web, Data Science and Machine Learning). You have many job opportunities, you can work around the world, and you get to solve hard problems. One thing that is hard, however, is staying up to date with the constantly evolving ecosystem. You want to be a top-performing python developer, coder, programmer, software developer, but you don’t have time to select from hundreds of articles, videos and podcasts each day.

  • Montreal Python User Group: Quadratic Judo Code Sprint

    For the whole month of September, we code together on free and open source software in Python. Our effort will be centered on two projects: * French translation of the official Python documentation; * Voluntaria, a Django portal to help non-profits synchronize the effort of their volunteers.

    We have a wide range of tasks for both projects, ranging from easy to very advanced. We promise you a detailed overview of the tasks as well as an introduction to the mentors on the sprint opening night on Monday August 31st at 5:30pm. After the initial meeting, we stay in touch on the Montréal-Python Slack and with one sync-up meeting every Monday evening. The results of the sprint are going to be during Montréal-Python #80 (Pedal Kayak) on September 28, 2020.

  • How to Transcribe Speech Recordings into Text with Python

    When you have a recording where one or more people are talking, it's useful to have a highly accurate and automated way to extract the spoken words into text. Once you have the text, you can use it for further analysis or as an accessibility feature.

    In this tutorial, we'll use a high accuracy speech-to-text web application programming interface called AssemblyAI to extract text from an MP3 recording (many other formats are supported as well).

  • Catalin George Festila: Python 3.8.5 : Testing with openpyxl - parts 002 .
  • PSF GSoC students blogs: GSoC Weekly Blog #7
  • PSF GSoC students blogs: From console.log to GSoC 2020
  • PSF GSoC students blogs: Weekly Check-in #13
  • PSF GSoC students blogs: Outro
  • PSF GSoC students blogs: Final Work Report - Last Weekly Check-in
  • PSF GSoC students blogs: All Done!
  • PSF GSoC students blogs: Final Week Check-in
  • PSF GSoC students blogs: Final Blog Post
  • PSF GSoC students blogs: GSoC: Week #14

Securedrop Worktstation and how can you help

Filed under
Server
Security
Debian

The second half of the event was a live demo of the new SecureDrop Workstation project.

SecureDrop is an open source whistleblower submission system that media organizations and NGOs can install to securely accept documents from anonymous sources. It was originally created by the late Aaron Swartz and is now managed by Freedom of the Press Foundation. SecureDrop is available in 20 languages.

The current SecureDrop is dependent heavily on air-gapped Tails systems. This means increased security but also means a lot of time in accessing the submissions by the journalists. SecureDrop Workstation is the next generation system coming up to help in reducing this and also provide much smoother user experience without giving up the security.

Read more

Misc. Software/Games Updates in PCLinuxOS

Filed under
PCLOS
  • Teamviewer updated to 15.9.4

    TeamViewer provides easy, fast and secure remote access and meeting solutions to Linux, Windows PCs, Apple PCs and various other platforms, including Android and iPhone.

  • Shortwave updated to 1.1.1

    Shortwave is a free radio streaming software with more than 20,000 radio stations from around the world.

  • Click-radio updated to 3.6

    A lightweight and simple gui interface media app

  • Thunderbird updated to 78.2.1

    Mozilla Thunderbird is a free and open-source cross-platform email client, news client, RSS, and chat client developed by the Mozilla Foundation. The project strategy was modeled after that of the Mozilla Firefox web browser.

  • Supertuxkart updated to 1.2

    SuperTuxKart is a free 3D kart racing game. The aim is to make the game fun more than to make it realistic. You can play with up to 4 friends on one PC, racing against each other or just try to beat the computer

IBM/Red Hat Leftovers

Filed under
Red Hat
  • Why upstream Ansible stopped shipping rpms

    The upstream Ansible Project used to ship rpms and tarballs on their server, releases.ansible.com. For Ansible-2.10+, they’ve (I’m part of the project although not the originator of this decision) decided not to ship rpms anymore and to push people to use pypi.python.org as the official source of the tarballs. This came up in a recent thread on twitter with a question of whether this meant that Ansible was forgetting who it was meant to serve (sysadmins) as sysadmins want to get their software in their platforms’ native packaging format rather than the language packaging format.

    [...]

    Getting back to the fear that removing rpms from releases.ansible.com was an indication that ansible is forgetting that it is a tool for sysadmins and needs to be shipped in ways that sysadmins will find palatable…. I don’t think that the removal of rpms and traballs is an indication as the above rationale seems like it will make things better for sysadmins in the end. However, ansible-2.10 is a big realignment of how ansible is developed and shipped and I think those changes are going to have costs for sysadmins [2]_, [3]_. nirik (Kevin Fenzi, the Fedora/EPEL ansible package maintainer) and I have been talking on and off about how the Fedora/EPEL ansible rpm should be adapted to minimize those costs but it is a large change and changes are often both hard in the transition and, after the transition is over, may be better in many areas but worse in some others. Ideas about how we can smooth out the things that are worse while taking advantage of the things that are better is appreciated!

  • Join us at IBM Z Day 2020!

    On September 15, we’ll be hosting our second annual IBM Z Day, a free virtual event that will bring together mainframe experts from all over the world to share their stories. This year, we’re digging deep into the IBM Z organization to feature all of the latest breakthrough innovations.

    This past year has been filled with exciting announcements in the realm of IBM Z and IBM LinuxONE — starting with the launch of the IBM z15 and LinuxONE III in September 2019, and continuing with announcements around IBM Data Privacy Passports, IBM Secure Execution for Linux, Red Hat OpenShift for IBM Z and LinuxONE, Red Hat Ansible Certified Content for IBM Z, and more. In April, we put out a call for COBOL expertise, accelerating plans to release new COBOL training materials, discussion forums, and more in collaboration with the Open Mainframe Project. And just a couple of weeks ago, we announced the New to Z Community, where developers who are new to the mainframe can start building their careers.

    Bringing all of these accomplishments together, IBM Z Day will shine a light on these topics and more, with keynotes from IBM’s Ross Mauri, Willie Tejada, Marius Ciortea, and Meredith Stowell, along with John Mertic, Director of Program Management at the Linux Foundation.

  • Red Hat Has Been Working On "stalld" As A Thread Stall Detector + Booster

    Red Hat engineers in recent weeks began working on a new project called "starved" though recently renamed to "stalld". The stalld service is for serving as a Linux thread stall detector.

    The stalld daemon monitors Linux threads and detects when threads are stalled as a result of CPU starvation. The stalled thread is in turn boosted by stalld by setting the SCHED_DEADLINE policy and then the original policy restored following the boost.

  • Madeline Peck: Onto Part Time at Red Hat

    I hope everyone is having a great week. At the beginning of the summer, I thought today would be my last blog post since this is the end of the summer internship. What an experience! However of course, I’ll still be here next week, just working way less a week haha.

    On Thursday last week Mo asked me to help with the Fedora 33 wallpaper draft package that was supposed to go out on Friday or Monday at the latest.

  • Custom Grafana dashboards for Red Hat OpenShift Container Platform 4

    OpenShift administrators often face the same challenges as other system administrators: "I need a tool that will monitor the health of my system." Yet, traditional monitoring tools often fall short in their visibility of an OpenShift cluster. Thus, a typical OpenShift monitoring stack includes Prometheus for monitoring both systems and services, and Grafana for analyzing and visualizing metrics.

    Administrators are often looking to write custom queries and create custom dashboards in Grafana. However, Grafana instances provided with the monitoring stack (and its dashboards) are read-only. To solve this problem, we can use the community-powered Grafana operator provided by OperatorHub.

  • Can You Run Linux on a Power Server?
  • IBM's Possible Designs For Power10 Systems

    In the past two weeks, we have been telling you about the future Power10 processor that will eventually be able to support the IBM i platform as well as AIX, Big Blue’s flavor of Unix, and Linux, the open source operating system that is commercially exemplified by IBM’s Red Hat Enterprise Linux distribution. The leap in performance with Power10 is akin to those we saw between the generations spanning from Power6 through Power9.

    This week, we want to contemplate the systems that will be using the Power10 chip and how they will be similar to and different from past and current Power Systems machines. Then we are going to take deeper dive into performance, clustering systems through their memories rather than their I/O – perhaps the most exciting new thing in the Power architecture – and then also do a side foray into machine learning inference performance, which is going to be important for future commercial application workloads.

Mozilla: VPN, Firefox 81 Plans and Add-ons

Filed under
Moz/FF
  • No judgment digital definitions: What is the difference between a VPN and a web proxy?

    Virtual private networks (VPNs) and secure web proxies are solutions for better privacy and security online, but it can be confusing to figure out which one is right for you. Here’s a look at how these services protect you and how to choose the best option for when you’re online.

    [...]

    A secure web proxy works for tasks that you might do only in your browser. This can amount to a lot of activity like shopping, paying bills, logging into social media and reading emails. A secure web proxy serves as an intermediary between your browser and the internet. Your web browsing data will pass through a secure tunnel to the internet directly from your browser, masking your IP address, so the web server you are contacting doesn’t know exactly where you are in the world. And that makes you harder to track and target.

    A proxy is useful when you’re browsing the web on a public WiFi. When a proxy is enabled, it will stop eavesdroppers on the same network from spying on your browsing activity or reading your transactions on unencrypted sites. It sounds harmless, but public WiFi networks can be like a backdoor for hackers.

  • These Weeks in Firefox: Issue 78

    The tab modal print UI work is still in full swing, and is aiming for Firefox 81.

  • Wladimir Palant: A grim outlook on the future of browser add-ons

    A few days ago Mozilla announced the release of their new Android browser. This release, dubbed “Firefox Daylight,” is supposed to achieve nothing less than to “revolutionize mobile browsing.”

    [...]

    What this text carefully avoids stating directly: that’s the only nine (as in: single-digit 9) add-ons which you will be able to install on Firefox for Android now. After being able to use thousands of add-ons before, this feels like a significant downgrade. Particularly given that there appears to be no technical reason why none of the other add-ons are allowed any more, it being merely a policy decision. I already verified that my add-ons can still run on Firefox for Android but aren’t allowed to, same should be true for the majority of other add-ons.

    [...]

    Before this release, Firefox was the only mobile browser to allow arbitrary add-ons. Chrome experimented with add-ons on mobile but never actually released this functionality. Safari implemented a halfhearted ad blocking interface, received much applause for it, but never made this feature truly useful or flexible. So it would seem that Firefox had a significant competitive advantage here. Why throw it away?

    Unfortunately, supporting add-ons comes at a considerable cost. It isn’t merely the cost of developing and maintaining the necessary functionality, there is also the performance and security impact of browser extensions. Mozilla has been struggling with this for a while. The initial solution was reviewing all extensions before publication. It was a costly process which also introduced delays, so by now all add-ons are published immediately but are still supposed to be reviewed manually eventually.

    Mozilla is currently facing challenges both in terms of market share and financially, the latter being linked to the former. This once again became obvious when Mozilla laid off a quarter of its workforce a few weeks ago. In the past, add-ons have done little to help Mozilla achieve a breakthrough on mobile, so costs being cut here isn’t much of a surprise. And properly reviewing nine extensions is certainly cheaper than keeping tabs on a thousand.

today's howtos

Filed under
HowTos

Debian Report From Current and Past DPL, Sparky Developers

Filed under
Debian

  • Chris Lamb: Free software activities in August 2020
  • Jonathan Carter: Free Software Activities for 2020-08
  •        

  • The metamorphosis of Loopy Loop

    Between 28 and 31 May this year, we set out to create our first ever online MiniDebConf for Debian. Many people have been meaning to do something similar for a long time, but it just didn’t work out yet. With many of us being in lock down due to COVID-19, and with the strong possibility looming that DebConf20 might have had to become an online event, we rushed towards organising the first ever Online MiniDebConf and put together some form of usable video stack for it.

    I could go into all kinds of details on the above, but this post is about a bug that lead to a pretty nifty feature for DebConf20. The tool that we use to capture Jitsi calls is called Jibri (Jitsi Broadcasting Infrustructure). It had a bug (well, bug for us, but it’s an upstream feature) where Jibri would hang up after 30s of complete silence, because it would assume that the call has ended and that the worker can be freed up again. This would result in the stream being ended at the end of every talk, so before the next talk, someone would have to remember to press play again in their media player or on the video player on the stream page. Hrmph.

  • Sparky news 2020/08

    The 8th monthly report of 2020 of the Sparky project:

    • Sparky 2020.08 of the rolling line released
    • Sparky 2020.08 Special Editions released
    • Linux kernel updated up to version 5.8.5 & 5.9-rc2
    • added to repos: Warpinator, Gmail Desktop, Joplin, Gis Weather

    There is an issue in the Advanced Installed which generates broken fstab in the latest rolling iso images, so all of them have to be updated. No problem if you installed Sparky using Calamares.

Puddletag Audio Tagger 2.0.1 Released with Python 3 Port

Filed under
Software

Puddletag audio tag editor 2.0.1 was released 2 days ago with official Python 3 and PyQt5 support.

Since Ubuntu 20.04 dropped Qt4 and old Python 2 libraries, Puddletag 1.2 as well was removed from Ubuntu universe repository.

The Python 3 & PyQt5 branch was started a few months ago by sandrotosi. Now it’s finally merged into Puddletag 2.0.1.

Read more

More in Tux Machines

MX Linux 21 Released with Debian 11, KDE Plasma 5.20. This is What’s New

MX Linux 21 code named “Wildflower” is released. We wrap up the release and give you the download and upgrade information. Read more

Programming Leftovers

  • How C++ Modify Arrays in Function

    Arrays have been widely known among programmers and developers. We have been using arrays in almost every structural language to object-oriented language. As we know, arrays store more than one value in their indexes, and we also modify the arrays. So, in today’s article, we will be deliberating how to modify the arrays in functions of C++. Start by logging in from the Linux system and launching the terminal with the “Ctrl+Alt+T” shortcut.

  • Digging into Julia's package system [LWN.net]

    We recently looked at some of the changes and new features arriving with the upcoming version 1.7 release of the Julia programming language. The package system provided by the language makes it easier to explore new language versions, while still preserving multiple versions of various parts of the ecosystem. This flexible system takes care of dependency management, both for writing exploratory code in the REPL and for developing projects or libraries. [...] For a while I've thought that the Plots package needed a particular feature. This morning I cloned the project to my computer, added the feature, made a pull request on GitHub, made a change suggested by one of the maintainers, and got it approved. The entire elapsed time for this process was about five hours. In this section I'll describe two more package system commands that make it easier to hack on public packages. In the REPL, I entered package mode, then executed develop Plots. This command, which can be shortened to dev, clones the named package's Git repository to the user's machine in the directory .julia/dev/. Since Plots is a big package with many source files, this took about two minutes. This command also alters the environment so that using Plots imports from the version under development, rather than the official version. The command free Plots returns to using the official version. One can switch back and forth between these two incarnations of the package freely, as subsequent dev commands won't download anything, but simply switch back to the development version. I entered the development directory and created a branch for my feature with the git checkout ‑b command. The package manager doesn't require this; it's happy to let you mangle the master branch. But I had plans to ask that my feature be merged into master, and needed to create a branch for it. Packages under develop are loaded from the file tree, not from the Git repository. Then I wanted to edit the function to add my feature. But where is it? Plots has 37 files in its src tree. Because of multiple dispatch, each function can have dozens of methods associated with it, all with the same name. This makes finding a particular method in the source difficult to accomplish with simple grep commands.

  • A QEMU case study in grappling with software complexity [LWN.net]

    There are many barriers to producing software that is reliable and maintainable over the long term. One of those is software complexity. At the recently concluded 2021 KVM Forum, Paolo Bonzini explored this topic, using QEMU, the open source emulator and virtualizer, as a case study. Drawing on his experience as a maintainer of several QEMU subsystems, he made some concrete suggestions on how to defend against undesirable complexity. Bonzini used QEMU as a running example throughout the talk, hoping to make it easier for future contributors to modify QEMU. However, the lessons he shared are equally applicable to many other projects. Why is software complexity even a problem? For one, unsurprisingly, it leads to bugs of all kinds, including security flaws. Code review becomes harder for complex software; it also makes contributing to and maintaining the project more painful. Obviously, none of these are desirable. The question that Bonzini aimed to answer is "to what extent can we eliminate complexity?"; to do that he started by distinguishing between "essential" and "accidental" complexity. The notion of these two types of complexity originates from the classic 1987 Fred Brooks paper, "No Silver Bullet". Brooks himself is looking back to Aristotle's notion of essence and accident. Essential complexity, as Bonzini put it, is "a property of the problem that a software program is trying to solve". Accidental complexity, instead, is "a property of the program that is solving the problem at hand" (i.e. the difficulties are not inherent to the problem being solved). To explain the concepts further, he identified the problems that QEMU is solving, which constitute the essential complexity of QEMU.

  • Notes from the Git Contributors' Summit 2021, virtual, Oct 19/20
    
    we held our second all-virtual Summit over the past two days. It was the
    traditional unconference style meeting, with topics being proposed and
    voted on right before the introduction round. It was really good to see
    the human faces behind those email addresses.
    
    32 contributors participated, and we spanned the timezones from PST to
    IST. To make that possible, the event took place on two days, from
    1500-1900 UTC, which meant that the attendees from the US West coast had
    to get up really early, while it was past midnight in India at the end.
    
    I would like to thank all participants for accommodating the time, and in
    particular for creating such a friendly, collaborative atmosphere.
    
    A particular shout-out to Jonathan Nieder, Emily Shaffer and Derrick
    Stolee for taking notes. I am going to send out these notes in per-topic
    subthreads, replying to this mail.
    
    
  • Notes from the 2021 Git Contributors' Summit

    For those who are curious about where the development of Git is headed: Johannes Schindelin has posted an extensive set of notes from the just-concluded Git Contributors' Summit.

  • How to find a substring in Python

    Python is a versatile language having many built in methods and libraries. Strings and substrings are an important part of every programming language; python provides different methods to deal with strings and substrings, we check if a python string has a substring for a variety of reasons, but conditional statements are the most typical application. To find substrings in a string, python language provides many predefined methods.

  • How to find the average of a list in Python

    Average (Arithmetic mean) is a mathematical function which is calculated by adding the numeric values in the list and dividing them by the count of numbers of the list. Python provides several built-in mathematical functions; consequently it provides different ways to calculate the average of a list.

  • Ian Jackson: Going to work for the Tor Project

    I have accepted a job with the Tor Project. I joined XenSource to work on Xen in late 2007, as XenSource was being acquired by Citrix. So I have been at Citrix for about 14 years. I have really enjoyed working on Xen. There have been a variety of great people. I'm very proud of some of the things we built and achieved. I'm particularly proud of being part of a community that has provided the space for some of my excellent colleagues to really grow.

  • This Week In Rust: This Week in Rust 413
  • Oracle Releases GraalVM 21.3 With Java 17 Support, Other Enhancements

    Oracle has published its latest quarterly update to GraalVM, the open-source Java JVM/JDK implemented in Java that also supports other execution modes and programming languages from Python to R to Ruby. Given last month's release of Java 17 / OpenJDK 17, GraalVM 21.3 has added Java 17 support. Plus there are many other improvements to its various language front-ends and other components. Some of the GraalVM 21.3 highlights include: - Java 17 support with GraalVM builds based on Oracle Java 17 and OpenJDK 17. OpenJDK 11 also continues to be supported while OpenJDK 8 is no longer supported by GraalVM.

  • Security updates for Thursday

    Security updates have been issued by Debian (python-babel, squashfs-tools, and uwsgi), Fedora (gfbgraph and rust-coreos-installer), Mageia (aom, libslirp, redis, and vim), openSUSE (fetchmail, go1.16, go1.17, mbedtls, ncurses, python, squid, and ssh-audit), Red Hat (java-1.8.0-openjdk and java-11-openjdk), Scientific Linux (java-1.8.0-openjdk and java-11-openjdk), SUSE (fetchmail, git, go1.16, go1.17, ncurses, postgresql10, python, python36, and squid), and Ubuntu (linux, linux-aws, linux-aws-hwe, linux-azure, linux-azure-4.15, linux-dell300x, linux-gcp, linux-gcp-4.15, linux-hwe, linux-kvm, linux-raspi2, linux-snapdragon, linux, linux-bluefield, linux-gcp-5.4, linux-hwe-5.4, linux-kvm, linux-oem-5.10, and linux-oem-5.13).

Games: Escape Simulator, Steam Digital Tabletop Fest RPG Edition, and More

  • Get out together, go it alone or make your own rooms in Escape Simulator out now | GamingOnLinux

    Up for a challenge and love to problem solve? Team up with a friend in co-op or do it alone in Escape Simulator out now. Developed by Pine Studio, the same team that created Faraway: Puzzle Escape and SEUM: Speedrunners from Hell. Escape Simulator is a first-person escape room experience - designed with input from real-life escape room operators. Playing solo or via online co-op, players must puzzle their way through a quirky collection of interactive escape rooms, putting their wits (and teamwork) to the test.

  • Steam Digital Tabletop Fest RPG Edition is live with many discounts | GamingOnLinux

    Another big Steam event is underway with the Steam Digital Tabletop Fest RPG Edition. A chance for you to pick up some cheap games and more.

  • Space Crew: Legendary Edition is out now free for existing owners | GamingOnLinux

    Space Crew, the sequel to the very popular Bomber Crew from Runner Duck and publisher Curve Digital, gets renamed to Space Crew: Legendary Edition with a free expansion upgrade out now. Bringing with it a fair amount of fresh content, it sounds like a good time to go out and explore space. New dangers lurk in the dark corners though.

  • Paradox announced the Hearts of Iron IV: No Step Back expansion releases November 23 | GamingOnLinux

    Paradox sure are busy with recent announcements including the Stellaris: Aquatics Species Pack, Europa Universalis IV: Origins and now Hearts of Iron IV: No Step Back which releases November 23. "With new alternate history paths and game systems, this eagerly awaited add-on presents new challenges for fans of Paradox Interactive's best-selling grand strategy wargame. The centrepiece of No Step Back is a series of new National Focus Trees, giving players many new ways to imagine the course of World War II in Eastern Europe. Major nations have been entirely reworked to offer unique challenges and original histories."

Audio/Videos: Ubuntu Kylin, Hideo Kojima, and More