Language Selection

English French German Italian Portuguese Spanish

About Tux Machines

Wednesday, 11 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

Ubuntu Server 20.04 LTS To Retire Their Old Debian Installer To Focus On Subiquity

Filed under
Ubuntu

Introduced back in Ubuntu Server 17.10 and improved upon since has been "Subiquity" as a new Ubuntu Server install option rather than their classic installer derived from Debian. But with Ubuntu 20.04 LTS, they will be dropping that Debian Installer based option and focusing solely on their modern "Subiquity" server installer option.

Canonical's Michael Hudson Doyle has laid out their plans for the server installer for Ubuntu 20.04 LTS that involve just supporting their new/current installer and dropping the old Debian Installer option.

As part of the new disclosure this week, for Ubuntu 20.04 LTS the server installer is expected to add auto-install support for automated/unattended installations, a resilient installation option, support for SSH'ing into an installer session, and VTOC partition table support for IBM s390x.

Read more

Direct:Server installer plans for 20.04 LTS

Audiocasts/Shows/Screencasts: LINUX Unplugged, Linux Headlines, Snapcraft & Ubuntu, Ubuntu Cinnamon Remix and EndeavourOS

Filed under
GNU
Linux
  • apt install arch-linux | LINUX Unplugged 331

    We're myth-busting this week as we take a perfectly functioning production server and switch it to Arch. Is this rolling distro too dangerous to run in production, or can the right approach unlock the perfect server? We try it so you don't have to.

  • 2019-12-10 | Linux Headlines

    Microsoft releases Teams for Linux, SiFive enters the education market, the Eclipse Foundation champions open source on edge computing, and xs:code wants to help improve open source funding models.

  • Brunch with Brent: Alan Pope | Jupiter Extras 38

    Brent sits down with Alan Pope (popey), who shares his knack for fuzzy-testing, the beginnings of Ubuntu Podcast, insights into Ubuntu Touch and Unity, the joys and perils of being “Internet Famous”, and how to contribute meaningfully to your favorite Linux distributions.

    popey is a Developer Advocate at Canonical working on Snapcraft & Ubuntu, co-host of User Error and Ubuntu Podcast.

  • Ubuntu Cinnamon Remix 19.10 - First Look

    Ubuntu Cinnamon Remix 19.10 is the very first version of a potential new member of the Ubuntu family of Linux distributions.

  • EndeavourOS 2019.12.03 Run Through

    In this video, we are looking at EndeavourOS 2019.12.03. Enjoy!

ARM and AMD: GNU/Linux on Board

Filed under
Hardware
  • ARM Again in 2019 or 2020

    The assertion that nobody cares about SBSA is rather interesting. Obviously, nobody in the embedded area does. They just fork Linux, clone a bootloader, flash it and ship, and then your refrigerator sends spam and your TV is used to attack your printer, while they move on the next IoT product. But I do care. I want to download Fedora and run it, like I can on x86. Is that too much to ask?

  • EEPD Launches AMD Ryzen Embedded NUC Boards & Mini PCs

Programming: Rust, Haskell, Qt and Python

Filed under
Development
  • Sonja Heinze: What this blog is about

    In order to ask for an Outreachy grant for a certain open-source project, applicants first have to contribute to that project for about a month. When choosing a project, I didn’t know any Rust. But the fact that Fractal is written in Rust was an important point in favor due to curiosity. But I also expected to have a hard time at the beginning. Fortunately, that wasn’t really the case. For those who haven’t used Rust, let me give two of the reasons why:

    If you just start coding, the compiler takes you by the hand giving you advice like “You have done X. You can’t do that because of Y. Did you maybe mean to do Z?”. I took those pieces of advice as an opportunity to dig into the rules I had violated. That’s definitely a possible way to get a first grip on Rust.

    Nevertheless, there are pretty good sources to learn the basics, for example, the Rust Book. Well, to be precise, there’s at least one (sorry, I’m a mathematician, can’t help it, I’ve only started reading that one so far). It’s not short, but it’s very fast to read and easy to understand. In my opinion, the only exception being the topics on lifetimes. But lifetimes can still be understood by other means.

  • Joey Hess: announcing the filepath-bytestring haskell library

    filepath-bytestring is a drop-in replacement for the standard haskell filepath library, that operates on RawFilePath rather than FilePath.

  • Parsing XML with Qt: Updates for Qt 6

    This module provides implementations for two different models for reading and writing XML files: Document Object Model (DOM) and Simple API for XML (SAX). With DOM model the full XML file is loaded in memory and represented as a tree, this allows easy access and manipulation of its nodes. DOM is typically used in applications where you don't care that much about memory. SAX, on the other hand, is an event based XML parser and doesn't load the whole XML document into memory. Instead it generates events for tokens while parsing, and it's up to the user to handle those events. The application has to implement the handler interfaces (fully, or partially by using QXmlDefaultHandler). A lot of people find this inconvenient as it forces them to structure their code around this model.

    Another problem is that the current implementation of SAX (and as a consequence DOM, since it's implemented using SAX) is not fully compliant with the XML standard. Considering these downsides, Qt does not recommend using SAX anymore, and the decision has been made to deprecate those classes starting from Qt 5.15.

  • pathlib and paths with arbitrary bytes

    The pathlib module was added to the standard library in Python 3.4, and is one of the many nice improvements that Python 3 has gained over the past decade. In three weeks, Python 3.5 will be the oldest version of Python that still receive security patches. This means that the presence of pathlib can soon be taken for granted on all Python installations, and the quest towards replacing os.path can begin for real.

    In this post I’ll have a look at how pathlib can be used to handle file names with arbitrary bytes, as this is valid on most file systems.

  • PyCoder’s Weekly: Issue #398 (Dec. 10, 2019)
  • Variables in Python

    If you want to write code that is more complex, then your program will need data that can change as program execution proceeds.

  • Creating an email service for my son’s childhood memories with Python

    This was very flexible as it allowed me to keep anything else I wanted in this document – and it was portable (to anyone who have access to some way of reading Word documents) – and accessible to non-technical people such as my son’s grandparents.

    After a while though, I wondered if I’d made the right decision: shouldn’t I have put it into some other format that could be accessed programmatically? After all, if I kept doing this for his entire childhood then I’d have a lot of interesting data in there…

    Well, it turns out that a Word table isn’t too awful a format to store this sort of data in – and you can access it fairly easily from Python.

    Once I realised this, I worked out what I wanted to create: a service that would email me every morning listing the things I’d put as diary entries for that day in previous years. I was modelling this very much on the Timehop app that does a similar thing with photographs, tweets and so on, so I called it julian_timehop.

  • Executing Shell Commands with Python

    Repetitive tasks are ripe for automation. It is common for developers and system administrators to automate routine tasks like health checks and file backups with shell scripts. However, as those tasks become more complex, shell scripts may become harder to maintain.

    Fortunately, we can use Python instead of shell scripts for automation. Python provides methods to run shell commands, giving us the same functionality of those shells scripts. Learning how to run shell commands in Python opens the door for us to automate computer tasks in a structured and scalable way.

    In this article, we will look at the various ways to execute shell commands in Python, and the ideal situation to use each method.

Red Hat Leftovers

Filed under
Red Hat
  • Red Hat Global Customer Tech Outlook 2020: Hybrid cloud leads strategy, AI/ML leaps to the forefront

    For the sixth year running, we have reached out to our customers to hear where they are in their technology journey, and where they wish to go in the next year. For the 2020-focused survey, we received more than 870 qualified responses1 from Red Hat customers from around the world. They've weighed in about their challenges, strategies, and technologies they are planning to pursue in the next year and we're eager to share the results with you in our report.

  • NooBaa Operator for data management, now on OperatorHub.io

    We are excited to announce a new Operator—the NooBaa Operator for data management. The NooBaa Operator is an upstream effort that Red Hat is leading and is included as part of the features of the upcoming Red Hat OpenShift Container Storage 4, currently released for Early Access.

    Operators are design patterns that augment and implement common day one and day two activities with Kubernetes clusters, simplifying application deployments and empowering developers to focus on creation versus remediation.

  • Cloud native and Knative at W-JAX 2019

    The W-JAX conference in November 2019 in Munich, Germany, is a popular conference for Java, architecture, and software innovation with highly renowned speakers and sessions. Hot topics at this year’s conference included cloud-native development and open source technologies. Knative is one of the hottest topics, particularly here in Germany, it even has prime position on this month’s Java Magazin front cover.

    It was a pleasure to welcome Jason McGee, IBM Fellow, VP and CTO of the IBM Cloud Platform, whose keynote “The 20 Year Platform – bringing together Kubernetes, 12-Factor and Functions” revealed the next twenty years of application development. Jason showed the open source technologies that define how developers can rapidly build and operate high scale applications, discussing the key role Kubernetes plays in cloud platforms. However, in the future, Kubernetes will not be enough. Jason stressed the importance of up-and-coming tools such as Knative, Kabanero, Tekton and Razee, for the cloud-native landscape of the future.

Vanilla is a complex and delicious flavour

Filed under
GNU
Linux
GNOME

If we’re looking at the code shipping in Endless OS today, then yes, our desktop is vanilla GNOME Shell with a few hundred patches on top, and yes, as a result, rebasing onto new GNOME releases is a lot of work. But the starting point for Endless OS was not “what’s wrong with GNOME?” but “what would the ideal desktop look like for a new category of users?”.

When Endless began, the goal was to create a new desktop computing product, targeting new computer users in communities which were under-served by existing platforms and products. The company conducted extensive field research, and designed a desktop user interface for those users. Prototypes were made using various different components, including Openbox, but ultimately the decision was made to base the desktop on GNOME, because GNOME provided a collection of components closest to the desired user experience. The key point here is that basing the Endless desktop on GNOME was an implementation detail, made because the GNOME stack is a robust, feature-rich and flexible base for a desktop.

Over time, the strategy shifted away from being based solely around first-party hardware, towards distributing our software a broader set of users using standard desktop and laptop hardware. Around the same time, Endless made the switch from first- and third-party apps packaged as a combination of Debian packages and an in-house system towards using Flatpak for apps, and contributed towards the establishment of Flathub. Part of the motivation for this switch was to get Endless out of the business of packaging other people’s applications, and instead to enable app developers to directly target desktop Linux distributions including, but not limited to, Endless OS.

A side-effect of this change is that our user experience has become somewhat less consistent because we have chosen not to theme apps distributed through Flathub, with the exception of minimize/maximize window controls and a different UI font; and, of course, Flathub offers apps built with many different toolkits. This is still a net positive: our users have access to many more applications than they would have done if we had continued distributing everything ourselves.

Read more

Mozilla: WebXR, ECSY, Rust, Async, Privacy and Watchpoints in Firefox 72

Filed under
Moz/FF
  • Getting WebXR to 1.0

    As the WebXR standard goes through the final stretch to hit 1.0, we have updated our tools to the final API. WebXR is the new standard for virtual and augmented reality on the web. It lets web developers create immersive experiences without native code or installing an app. People can browse VR catalogs, play VR games, and view 360 videos. On the AR side, you can build a web app that places objects in real 3D space inside of a viewer’s living room, while still protecting user privacy and security. It is still in the draft state, but we don’t expect any more API changes before it hits Candidate Release (CR) in early 2020.

  • ECSY Developer tools extension

    Two months ago we released ECSY, a framework-agnostic Entity Component System library you could use to build real time applications with the engine of your choice.

    Today we are happy to announce a developer tools extension for ECSY, aiming to help you better understand what it is going on in your application when using ECSY.

    A common requirement when building applications that require high performance- such as real time 3D graphics, AR and VR experiences- is the need to understand which part of our application is consuming more resources. We could always use the browsers’ profilers to try to understand our bottlenecks but they can be a bit unintuitive to use, and it is hard to get an overview of what is going on in the entire application, rather than focusing on a specific piece of your code.

  • How to speed up the Rust compiler one last time in 2019

    I last wrote in October about my work on speeding up the Rust compiler. With the year’s end approaching, it’s time for an update.

  • Async Interview #2: cramertj, part 2

    In the first post, I covered what we said about Fuchsia, interoperability, and the organization of the futures crate. This post covers cramertj’s take on the Stream trait as well as the AsyncRead and AsyncWrite traits.

  • India’s new data protection bill: Strong on companies, step backward on government surveillance

    Yesterday, the Government of India shared a near final draft of its data protection law with Members of Parliament, after more than a decade of engagement from industry and civil society. This is a significant milestone for a country with the second largest population on the internet and where privacy was declared a fundamental right by its Supreme Court back in 2017.

    Like the previous version of the bill from July 2018 developed by the Justice Srikrishna Committee, this bill offers strong protections in regards to data processing by companies. Critically, this latest bill is a dramatic step backward in terms of the exceptions it grants for government processing and surveillance.

    The original draft, which we called groundbreaking in many respects, contained some concerning issues: glaring exceptions for the government use of data, data localisation, an insufficiently independent data protection authority, and the absence of a right to deletion and objection to processing. While this new bill makes progress on some issues like data localisation, it also introduces new threats to privacy such as user verification for social media companies and forced transfers of non-personal data.

  • Debugging Variables With Watchpoints in Firefox 72

    Have you ever wanted to know where properties on objects are read or set in your code, without having to manually add breakpoints or log statements? Watchpoints are a type of breakpoint that provide an answer to that question.

    If you add a watchpoint to a property on an object, every time the property is used, the debugger will pause at that location. There are two types of watchpoints: get and set. The get watchpoint pauses whenever a property is read, and the set watchpoint pauses whenever a property value changes.

    The watchpoint feature is particularly useful when you are debugging large, complex codebases. In this type of environment, it may not be straightforward to predict where a property is being set/read.

    Watchpoints are also available in Firefox’s Visual Studio Code Extension where they’re referred to as “data breakpoints.” You can download the Debugger for Firefox extension from the VSCode Marketplace. Then, read more about how to use VSCode’s data breakpoints in VSCode’s debugging documentation.

Clementine | A New Music Player in Debian 10

Filed under
Software
Reviews

Clementine has improved the interface by putting all the main features, from accessing the local library to streaming services, on a sidebar on the left. This sidebar has several options, although the most legible, the plain toolbar, is not the default. Still, no matter what the appearance, Clementine’s sidebar goes one better than Amarok by adding a file manager to the tool collection. However, one change that is not an improvement is the song info tool. To get lyrics and other information, users must click on a link and go to their web browser. There, instead of offering and displaying a best guess, like Amarok does, Clementine offers a range of possibilities, which are often so lengthy a list that, by the time you find the right entry, the track could easily have finished. Admittedly, Amarok’s best guess could occasionally be hilariously wrong, but it was quicker and displayed results in Amarok’s own window.

Another interface quirk that Clementine does not improve upon is Amarok’s insistence that, unless File | Quit is selected, it minimizes to the notification bar. I have always wondered: Why isn't shutting down the window (no matter how you close the window) the default behavior and minimizing a deliberate choice? I also don't see much reason for the mood bar, whose colors supposedly change to reflect the nature of the current song. Fortunately, though, the mood bar can be turned off in Tools | Preferences | Appearance.

Still, although some of the tools are less than optional, on the whole, Clementine preserves Amarok’s tradition of attempting to digitally reproduce the experience of a physical album -- an effort that few other music players do as well, or at all. I especially like Clementine’s tabbed playlists, which mean that selections can be queued up like a stack of LPs or CDs, with only a click required to change them.

Read more

Also: The best free music production software

Canonical Helping Windows and E.E.E. Tactics

Filed under
Microsoft
Ubuntu
  • Canonical Sponsoring Microsoft’s 1st Windows Subsystem For Linux Conference!

    Canonical Sponsors WSL Conference: The team Canonical is the founders of Ubuntu Linux Operating System. The team canonical announced that the team Canonical will be a featured as a sponsor on Microsoft’s 1st WSL Conference. This is the 1st conference held by Microsoft team for WSL.
    The official WSL Conference is scheduled for March 10th-11th, 2020 at Microsoft’s headquarters in Redmond, Washington
    We can expect that the conference will bring “Founders, Developers, Programmers, Community Members” from the WSL project.

  • Canonical Sponsors WSLConf, Microsoft?s First Linux Conference

    WSLConf is the first Linux-related conference to be hosted by Microsoft and, if you hadn?t already guessed, is focused around the Windows Subsystem for Linux (aka WSL and WSL 2).

    Developers, enthusiasts, and users WSL will get to enjoy two jam-packaged days dedicated to the tech, with presentations, workshops, and networking around the platform.

  • Canonical co-sponsors Windows Subsystem for Linux conference

    There may never be a "Year of the Linux desktop" per se, but Linux on Windows, via the Windows Subsystem for Linux (WSL), is certainly gaining popularity. Canonical, Ubuntu Linux's parent company, has just announced it will help sponsor WSLConf, the first WSL-specific conference.

  • Canonical to Sponsor Microsoft's First Windows Subsystem for Linux Conference

    Canonical, the company behind the popular Ubuntu Linux operating system, announced that they will be an official sponsor of Microsoft's first-ever Linux Conference for WSL (Windows Subsystem for Linux).

    Announced earlier this fall, WSLconf, the first Microsoft Linux Conference for WSL (Windows Subsystem for Linux), a Windows 10 feature that allows users to run various GNU/Linux distributions on top of their Windows installations, will take place next spring from March 10th to 11th, and it looks like Canonical will be there to give presentations and also sponsor the event.

Eclipse Foundation launches Edge Native Working Group

Filed under
Development

The Eclipse Foundation announced an “Edge Native Working Group” to develop open source software for edge computing, starting with its Eclipse ioFog and Eclipse fog05 projects. Members include Adlink, Bosch, Edgeworx, Eurotech, Huawei, Intel, Kynetics, and Siemens.

The Edge Native Working Group is a “vendor-neutral and code-first industry collaboration that will drive the evolution and broad adoption of open source software for edge computing,” says the Eclipse Foundation. The new working group will develop an end-to-end software stack that will support IoT, AI, autonomous vehicles, and more.

Read more

Graphics: GraphicsFuzz, RadeonSI, Mesa, Corruption Issues and Unisoc

Filed under
Graphics/Benchmarks
  • Google Releases GraphicsFuzz 1.3 For Continuing To Fuzz GPU Drivers

    GraphicsFuzz is the project born out of academia a few years ago for fuzzing GPU drivers to find OpenGL / OpenGL ES (WebGL) driver issues. This work was ultimately acquired by Google and then open-sourced just over one year ago. Today marks the release of GraphicsFuzz 1.3.

    GraphicsFuzz these days is no longer about just OpenGL / GLES and GLSL shaders but also operating on SPIR-V shaders for consumption by Vulkan drivers. There are also GLSL/SPIR-V shader reducers in addition to the fuzzer that relies upon randomized metamorphic testing.

  • RadeonSI Driver Switches To NIR, Thereby Enabling OpenGL 4.6 By Default For AMD GPUs

    Mesa 20.0 due out in Q1'2020 is now the magical release that is set to switch on RadeonSI NIR usage by default in place of the TGSI intermediate representation. What makes this IR switch-over prominent is that OpenGL 4.6 is then enabled by default on this open-source Gallium3D driver supporting Radeon HD 7000 series GPUs and newer.

    Recently in Mesa 20.0-devel, RadeonSI plumbed in OpenGL 4.6 support but it was contingent upon enabling NIR due to sharing some code-paths with the NIR-built RADV Vulkan driver around the SPIR-V code. NIR is the intermediate representation that most Mesa OpenGL/Vulkan drivers are focusing on and is more versatile than the likes of TGSI, the traditional IR of Gallium3D that has been around a decade.

  • Mesa 19.3 Is Introducing A Lot Of Open-Source OpenGL + Vulkan Driver Improvements

    Mesa 19.3 could be released as soon as this week after being challenged by several delays over blocker bugs. This release should be making it out in the days ahead and is a fantastic Christmas gift to Linux desktop users and a big step-up for these OpenGL / Vulkan driver implementations as we end out 2019.
    Among the many changes to find with this quarterly Mesa3D update are finally having OpenGL 4.6 for Intel, initial Intel Gen12/Tigerlake support, Zink was merged for OpenGL on top of Vulkan, Radeon Vulkan ACO back-end added for better Linux gaming performance, many new Vulkan extensions supported on both the Intel and Radeon drivers, the Intel Gallium3D driver is now in excellent shape, there are more Intel performance optimizations, and a lot of other changes throughout.

  • Radeon OpenGL Linux Driver Gets Fix For Corruption Issues

    An issue affecting some Linux users with Radeon graphics for at least the last four months around graphics corruption problems when switching to newer versions of the Linux kernel have been resolved.

    On Linux 5.2+ have been reports of some graphics corruption issues in cases like web browsers. While the issue manifested with a kernel upgrade, the resolution is a change to the RadeonSI OpenGL driver. Besides the aforelinked DRM bug report, there has also been other similar bug reports like garbled graphics.

  • Unisoc Looking To Introduce A New DRM Display Driver For Mainline Linux

    Unisoc, the Chinese SoC provider for smartphones that is part of the Tsinghua Unigroup, has published a new open-source DRM display driver that ultimately they are looking to get into the mainline kernel.

    Out today is just the "request for comments" patches for this Unisoc "SPRD" Direct Rendering Manager display driver. The twelve thousand lines of driver code wire up their display controller, MIPI DSI, MIPI DPHY, and the Unisoc display subsystem. The patches were worked on by Unisoc with cooperation from Linaro. All of this driver work is on the display front as their SoCs for 3D/GPU capabilities rely upon Arm Mali and Imagination PowerVR IP.

Librem 5 Longevity: Solving The Problem of Disposable Technology

Filed under
GNU
Linux
Gadgets

I’ve been using GNU/Linux (“Linux”) as my desktop OS for over twenty years now. Throughout all of that time, one thing that I’ve loved about Linux on the desktop is how it can take a so-called “slow” and “old” computer and can breathe new life into it. Back when Installfests were a thing (events where people would bring computers to Linux Users’ Groups and get help installing Linux on them) often people would bring in second-hand computers, sometimes found in the trash or given away by companies after they were deemed too slow to run Windows. After Linux was installed they performed like they were new and the user now had a computer they could use for years to come. There were even programs that would refurbish second-hand computers, put Linux on them and provide them to schools who wouldn’t have computers otherwise. However bloated some people might think Linux is today compared to the “good old days” this effect still holds true–take a machine that’s too slow to run something else, and put Linux on it, and it’s like a new computer.

Linux’s low resource needs compared to everything else not only meant resurrecting computers that would otherwise end up in a landfill, it also meant if you were fortunate enough that you could afford a new computer, you could expect many more years of service out of the hardware, with OS updates that either improved performance (as hardware support improved) or at least maintained the existing performance. Many large companies assume their computers will last around 2-3 years before they need to be replaced but in my experience I get at least twice that longevity with Linux on the desktop.

My personal laptop is a first generation Librem 13 I bought in 2015 (I participated in the original crowdfunding campaign long before I worked here). I run Qubes on it and even after four years I don’t feel any need for a new laptop yet–it still works as well as it did when I bought it. Before that I had a Thinkpad X200s I bought brand new and had used for about six years before it started to show its age. Even now my wife uses that X200s as a secondary computer for writing.

Read more

The Latest Hardware Defects

Filed under
Hardware
Security
  • Patch, Or Your Solid State Drives Roll Over And Die

    Expiration dates for computer drives? That’s what a line of HP solid-state drives are facing as the variable for their uptime counter is running out. When it does, the drive “expires” and, well, no more data storage for you!

    There are a series of stages in the evolution of a software developer as they master their art, and one of those stages comes in understanding that while they may have a handle on the abstracted world presented by their development environment they perhaps haven’t considered the moments in which the real computer that lives behind it intrudes. Think of the first time you saw an SQL injection attack on a website, for example, or the moment you realised that a variable type is linked to the physical constraints of the number of memory locations it has reserved for it. So people who write software surround themselves with an armoury of things they watch out for as they code, and thus endeavour to produce software less likely to break. Firmly in that arena is the size of the variables you use and what will happen when that limit is reached.

  • New Plundervolt attack impacts Intel CPUs

Andes’ RISC-V SoC debuts with AI-ready VPU as Microchip opens access to its PolarFire SoC

Filed under
Linux

Andes unveiled a Linux-ready, RISC-V-based “AndesCore 27-series” CPU core that features a VPU for AI applications. In other RISC-V on Linux news, Microchip opened early access to its FPGA-enabled PolarFire SoC and Hex Five announced MultiZone Security for Linux.

In conjunction with the RISC-V Summit in San Jose this week, Andes Technology announced a Linux-focused RISC-V core design that it says is the first to include a vector processing unit (VPU). Meanwhile, Microchip announced an early access program for its previously announced, Linux-friendly PolarFire SoC, and there’s a new MultiZone Security for Linux application for RISC-V chips from Hex Five Security that will initially run on the PolarFire SoC (see farther below).

Read more

Android Leftovers

Filed under
Android
Syndicate content

More in Tux Machines

Audiocasts/Shows/Screencasts: LINUX Unplugged, Linux Headlines, Snapcraft & Ubuntu, Ubuntu Cinnamon Remix and EndeavourOS

  • apt install arch-linux | LINUX Unplugged 331

    We're myth-busting this week as we take a perfectly functioning production server and switch it to Arch. Is this rolling distro too dangerous to run in production, or can the right approach unlock the perfect server? We try it so you don't have to.

  • 2019-12-10 | Linux Headlines

    Microsoft releases Teams for Linux, SiFive enters the education market, the Eclipse Foundation champions open source on edge computing, and xs:code wants to help improve open source funding models.

  • Brunch with Brent: Alan Pope | Jupiter Extras 38

    Brent sits down with Alan Pope (popey), who shares his knack for fuzzy-testing, the beginnings of Ubuntu Podcast, insights into Ubuntu Touch and Unity, the joys and perils of being “Internet Famous”, and how to contribute meaningfully to your favorite Linux distributions. popey is a Developer Advocate at Canonical working on Snapcraft & Ubuntu, co-host of User Error and Ubuntu Podcast.

  • Ubuntu Cinnamon Remix 19.10 - First Look

    Ubuntu Cinnamon Remix 19.10 is the very first version of a potential new member of the Ubuntu family of Linux distributions.

  • EndeavourOS 2019.12.03 Run Through

    In this video, we are looking at EndeavourOS 2019.12.03. Enjoy!

today's howtos

ARM and AMD: GNU/Linux on Board

  • ARM Again in 2019 or 2020

    The assertion that nobody cares about SBSA is rather interesting. Obviously, nobody in the embedded area does. They just fork Linux, clone a bootloader, flash it and ship, and then your refrigerator sends spam and your TV is used to attack your printer, while they move on the next IoT product. But I do care. I want to download Fedora and run it, like I can on x86. Is that too much to ask?

  • EEPD Launches AMD Ryzen Embedded NUC Boards & Mini PCs

Programming: Rust, Haskell, Qt and Python

  • Sonja Heinze: What this blog is about

    In order to ask for an Outreachy grant for a certain open-source project, applicants first have to contribute to that project for about a month. When choosing a project, I didn’t know any Rust. But the fact that Fractal is written in Rust was an important point in favor due to curiosity. But I also expected to have a hard time at the beginning. Fortunately, that wasn’t really the case. For those who haven’t used Rust, let me give two of the reasons why: If you just start coding, the compiler takes you by the hand giving you advice like “You have done X. You can’t do that because of Y. Did you maybe mean to do Z?”. I took those pieces of advice as an opportunity to dig into the rules I had violated. That’s definitely a possible way to get a first grip on Rust. Nevertheless, there are pretty good sources to learn the basics, for example, the Rust Book. Well, to be precise, there’s at least one (sorry, I’m a mathematician, can’t help it, I’ve only started reading that one so far). It’s not short, but it’s very fast to read and easy to understand. In my opinion, the only exception being the topics on lifetimes. But lifetimes can still be understood by other means.

  • Joey Hess: announcing the filepath-bytestring haskell library

    filepath-bytestring is a drop-in replacement for the standard haskell filepath library, that operates on RawFilePath rather than FilePath.

  • Parsing XML with Qt: Updates for Qt 6

    This module provides implementations for two different models for reading and writing XML files: Document Object Model (DOM) and Simple API for XML (SAX). With DOM model the full XML file is loaded in memory and represented as a tree, this allows easy access and manipulation of its nodes. DOM is typically used in applications where you don't care that much about memory. SAX, on the other hand, is an event based XML parser and doesn't load the whole XML document into memory. Instead it generates events for tokens while parsing, and it's up to the user to handle those events. The application has to implement the handler interfaces (fully, or partially by using QXmlDefaultHandler). A lot of people find this inconvenient as it forces them to structure their code around this model. Another problem is that the current implementation of SAX (and as a consequence DOM, since it's implemented using SAX) is not fully compliant with the XML standard. Considering these downsides, Qt does not recommend using SAX anymore, and the decision has been made to deprecate those classes starting from Qt 5.15.

  • pathlib and paths with arbitrary bytes

    The pathlib module was added to the standard library in Python 3.4, and is one of the many nice improvements that Python 3 has gained over the past decade. In three weeks, Python 3.5 will be the oldest version of Python that still receive security patches. This means that the presence of pathlib can soon be taken for granted on all Python installations, and the quest towards replacing os.path can begin for real. In this post I’ll have a look at how pathlib can be used to handle file names with arbitrary bytes, as this is valid on most file systems.

  • PyCoder’s Weekly: Issue #398 (Dec. 10, 2019)
  • Variables in Python

    If you want to write code that is more complex, then your program will need data that can change as program execution proceeds.

  • Creating an email service for my son’s childhood memories with Python

    This was very flexible as it allowed me to keep anything else I wanted in this document – and it was portable (to anyone who have access to some way of reading Word documents) – and accessible to non-technical people such as my son’s grandparents. After a while though, I wondered if I’d made the right decision: shouldn’t I have put it into some other format that could be accessed programmatically? After all, if I kept doing this for his entire childhood then I’d have a lot of interesting data in there… Well, it turns out that a Word table isn’t too awful a format to store this sort of data in – and you can access it fairly easily from Python. Once I realised this, I worked out what I wanted to create: a service that would email me every morning listing the things I’d put as diary entries for that day in previous years. I was modelling this very much on the Timehop app that does a similar thing with photographs, tweets and so on, so I called it julian_timehop.

  • Executing Shell Commands with Python

    Repetitive tasks are ripe for automation. It is common for developers and system administrators to automate routine tasks like health checks and file backups with shell scripts. However, as those tasks become more complex, shell scripts may become harder to maintain. Fortunately, we can use Python instead of shell scripts for automation. Python provides methods to run shell commands, giving us the same functionality of those shells scripts. Learning how to run shell commands in Python opens the door for us to automate computer tasks in a structured and scalable way. In this article, we will look at the various ways to execute shell commands in Python, and the ideal situation to use each method.