Technology among business entities that use and develop Linux-based solutions. This means that not only are we not likely to get a standard - which would imply total domination by a company - if we ever do get one, it's going to be inadequate - like systemd, which might work for cloud machines, but it has no real value for the typical home rig.
[...]
My approach to software has always been product-driven, which in turn is needs-driven. I have had expectations and hope for the Linux desktop for many years, and so far, they remain unrealized. Alarmingly, the gap between reality and dream is getting bigger, hence my growing disappointment and negativity. If only things stayed like they were in 2015. But things are worse now actually, because the competition is moving forward.
You could say I'm just ranting. Well, the market share numbers prove me right. The Linux desktop has not dented the Windows share in any meaningful way - and what it did is 90% all because of just one distro, you know which one. Well, physics tell us - if you don't invest energy into a stable system, it will not change. The distros have not done enough to address the glaring functionality issues that prevent wider adoption among Windows folks. There is no reason then why Linux desktop ought to flourish.
There's great fatigue in the Linux desktop world. It's not just me. Check the existing publications, check the online magazines (those that still survive). Check the popularity, the engagement, whatever you like. Even nerds are finding new areas to be excited about. I guess I should blame myself for being naive and idealistic and believing (not too zealously of course, just pragmatically enough), but hey. I learned.
Just like distro developers want to have fun, I want to have fun. And that means not reviewing software that does not make me happy. I will still keep testing Linux distros - so don't misquote me on that - but I will do it not just by focusing on average user needs, stability and consistency, I will also focus on my own fun. A brand new parameter in the equation! Maybe one day, the Linux desktop will rise again. Till then, I will conserve my happy mana. And curtain.
On this episode of This Week in Linux, well this week is so packed its just nuts. We’ve got new app releases with Nextcloud 20 & GIMP 2.10.22. We’ve also got some app building news with Python 3.9 released and a welcomed update related to Theme support in Snaps. The news that AMD is reportedly in talks to acquire the company Xilinx, we’ll talk about what this could mean. We’ve also got some Legal News to discuss with the lawsuit between Google vs Oracle reaching the Supreme Court. Then we’re going to talk about a Gaming Event from a project I never considered interested in gaming, which is Debian. Then we’ll round out the show with an update to the Kubuntu Focus Linux laptop. All that and much more comming up right now on Your Weekly Source for Linux GNews!
I don't like these walled gardens, but I still think we need a full open source ecosystem where the desktop works well with mobile, smartwatches, iot devices, and services. Let's see how that could work.
In this video, we are looking at how to install Gimp 2.10.20 on Deepin 20.
Configuring vim can be a fairly large time commitment especially if you want to turn it into a relatively decent programming environment so Vim Bootstrap is a project that aims to take out some of that effort by generating a vimrc or vim configuration file for you with minimal user interaction and besides some odd vim plugin choices I think it's pretty decent.
UChecker is an open-source utility that can be used to detect insecure shared libraries that are in memory on your server. UChecker is written in Python, and available on Github. In this video, I show some basic detail about the script and a few sample runs.
New Linux kernel releases seem to pop out quicker than they used to, but since they’re always chock full of welcome improvements I’m not complaining!
Linux 5.9 is the latest mainline kernel release to be issued. Linus Torvalds, father of the kernel, announced the new release using his trademark modesty , saying that “…nothing in [this update] gives me any particular reason to delay another week, here we are.”
Based on the recently released Linux 5.9 kernel series, the GNU Linux-libre 5.9 kernel is here to deblob any proprietary code and drivers from the upstream Linux kernel to provide the community with a libre, 100% free kernel that they can install on their personal computers.
This release includes a new blob name for x86 touchscreen, deblobbing for a new rtw8821c Wi-Fi driver, cleaning for a new SoC support driver for MediaTek mt8183 to disable requests for blobs, and various changes to the AMDGPU, mt7615, Intel i915 (CSR), Mellanox mlxsw (Spectrum3), and r8169 (rtl8125b-2) drivers.
Within hours of Linus Torvalds releasing the Linux 5.9 kernel, the GNU folks maintaining the GNU Linux-libre downstream released their version of the kernel that prevents the loading of binary-only modules as well as the loading of binary-only firmware/microcode blobs.
GNU Linux-libre 5.9-gnu cleaning-up scripts, cleaned-up sources, and cleaning-up logs (including tarball signatures) are now available from our git-based release archive git://linux-libre.fsfla.org/releases.git/ tags {scripts,sources,logs}/v5.9-gnu.
Tarballs and incremental patches are still getting compressed; when ready, they are all going to be at published along with patches at <https://www.fsfla.org/selibre/linux-libre/download/releases/5.9-gnu/>.
The scripts used for the release candidates needed changing for final: a new blob name was added to x86 touchscreen, and a new bitmap console font added as an array of numbers elsewhere was flagged as suspicious, but it was a false positive.
Aside from that, there haven't been a lot of surprises in this release. A new wifi driver for rtw8821c, and a new SoC support driver for MediaTek mt8183 needed some cleaning up to disable requests for blobs. Other pieces of code and documentation mentioning blobs moved about in the tree and required adjustments to the cleaning up logic. Preexisting drivers for amdgpu, mt7615, and i915 (CSR), Mellanox mlxsw (Spectrum3), and r8169 (rtl8125b-2) needed changes to clean up blobs for newly-introduced hardware variants.
Some people seem to have got the notion, from the 5.8-gnu release announcement, that we were moving away from GNU awk or GNU sed, and towards Python and Perl. I'd like to dispell any such misunderstanding.
We've long had deblob-check backends in all four of these languages, and GNU awk remains the most efficient to verify entire tarballs, while Python remains the most efficient to clean up individual files.
It just so happens that problems were found while benchmarking, that affected only some of the back-ends, and I mentioned those problems were fixed, and that I'd like to avoid regressions in the back-ends I don't use much.
For up-to-the-minute news, join us on #linux-libre of irc.gnu.org (Freenode), or follow me (@lxoliva) on Twister <http://twister.net.co/>, Secure Scuttlebutt, GNU social at social.libreplanet.org, Diaspora* at pod.libreplanetbr.org or pump.io at identi.ca. Check the link in the signature for direct links.
Be Free! with GNU Linux-libre.
What is GNU Linux-libre? ------------------------
GNU Linux-libre is a Free version of the kernel Linux (see below), suitable for use with the GNU Operating System in 100% Free GNU/Linux-libre System Distributions. http://www.gnu.org/distros/
It removes non-Free components from Linux, that are disguised as source code or distributed in separate files. It also disables run-time requests for non-Free components, shipped separately or as part of Linux, and documentation pointing to them, so as to avoid (Free-)baiting users into the trap of non-Free Software. http://www.fsfla.org/anuncio/2010-11-Linux-2.6.36-libre-debait
Linux-libre started within the gNewSense GNU/Linux distribution. It was later adopted by Jeff Moe, who coined its name, and in 2008 it became a project maintained by FSF Latin America. In 2012, it became part of the GNU Project.
The GNU Linux-libre project takes a minimal-changes approach to cleaning up Linux, making no effort to substitute components that need to be removed with functionally equivalent Free ones. Nevertheless, we encourage and support efforts towards doing so. http://libreplanet.org/wiki/LinuxLibre:Devices_that_require_non-free_firmware
Our mascot is Freedo, a light-blue penguin that has just come out of the shower. Although we like penguins, GNU is a much greater contribution to the entire system, so its mascot deserves more promotion. See our web page for their images. http://linux-libre.fsfla.org/
What is Linux? --------------
Linux is a clone of the Unix kernel [...]
(snipped from Documentation/admin-guide/README.rst)
-- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer
It was a bumpy release-cycle for Linux 5.9 with one release candidate refusing to show anything graphical on Intel GPUs. The final 5.9 release doesn't have that problem. It has have quite a lot of new features such as support for upcoming AMD graphics cards, support for the FSGSBASE x86-64 instructions, a Corsair RGB hub and a lot more.
The mainline kernels do not include any Ubuntu-provided drivers or patches. They are not supported and are not appropriate for production use.
For a graphical tool to install updated kernel package, try Mainline.
Like the previous version release, v5.9 has also added initial support for components such as AMD RDNA 2 graphics cards, Intel Rocket Lake graphics, Intel Keem Bay SoC, Sienna Cichlid, and Navy Flounder GPUs.
Another big addition to Linux 5.9 is a Multi-Color LED Framework, which brings clustered colored LEDs into an array so that userspace can adjust the brightness of the cluster using a single file write.
Along with the new additions, Kernel 5.9 has also continued to improve support for USB4, and file systems like Btrfs and F2FS. Furthermore, it has finally mainlined FSGSBASE 64-bit instruction set to boost performance for both Intel and AMD systems.
Going further, Linux kernel 5.9 has removed the Unicore 32-bit RISC architecture. Since not many people use floppies for booting nowadays, it has also dropped support for multiple floppies.
Ingo Molnar as usual is quite quick in submitting his changes for the new kernel merge window in the areas he oversees. With the scheduler changes for Linux 5.10 there are some changes worth mentioning.
- Cache hotness is now ignored for SMT migration since they share the same core and in turn the same caches.
On this first official day of breaking open Linux 5.10 for development with its merge window, quite a number of noteworthy Intel and AMD x86 processor changes have already been sent in for landing.
David Miller is the long-time maintainer of the kernel's networking subsystem. On October 10, he wrote this to his Twitter feed: "I had a stroke on Tuesday and have been recovering since please pray for me". We at LWN wish David a fast and complete recovery. (Thanks to Harald Welte for the heads-up).
A new kernel feature sent in today for the Linux 5.10 merge window is static calls, which can be helpful in cases where Retpolines (return trampolines) are currently used as part of protections against speculative execution vulnerabilities like Spectre.
Worked on by Red Hat and others is static calls as a replacement to global function pointers in the kernel. Static calls rely on code patching to allow for direct calls to be used rather than indirect and yield better performance especially where Retpolines are otherwise used.
98.4% of respondents were positive or neutral about the event, with only 1.6% indicating they were dissatisfied. Given the fact we had to shift the event to be online this year, that is a very encouraging result. Co-location with the Kernel Summit continues to prove popular (67.5% considered it helpful/very helpful), and the first time introduction of the GNU Tools track was very well received with 68% of the respondents considering it helpful/very helpful as well. One thing we were a bit worried about is whether the online format would enable discussions to help resolve problems 73% found them useful, which compared to most online events was a great result.
The BOF track was very popular and we’re looking to include this again in 2021. Conference participation was up from 2019 and even though we increased the capacity to 810, we sold out of regular tickets again. Given that the participants adhered to the guidelines for online we didn’t bump into the capacity limits we were worried about, so are considering raising the cap next year if we need to be virtual. From the survey, the overwhelming majority of attendees prefer us to try to hold the conference in person, with a fall back to virtual. With this in mind, we’re working with the Linux Foundation events team to identify options in Dublin for a hybrid event, but may fall back to be entirely online.
The Btrfs file-system is seeing some promising additions with Linux 5.10.
Most notable are seeing performance improvements in the area of fsync. The Btrfs code for this next kernel version has less contention over the log mutex yielding a few percentage improvements in throughput but more significant latency reduction with multiple clients. There is also an optimization to skip unnecessary commits for link and rename yielding possible 6% throughput improvements and as much as 30% lower latency or even 75% lower latency for renames. Another change makes fast fsync wait only for the writeback and that can yield double digit throughput improvements.
Fragments is an open-source BitTorrent client for Linux. It is developed for the Gnome desktop environment, following its human design guidelines. The application is modern looking and intuitive to use.
The name “Fragments” is kind of ironic as the file(s) that we transfer using BitTorrent protocol gets fragmented into little pieces.
We can install Fragments either manually or with the Flatpak. To make things easier we are going to use the second method to install it.
Developing a web browser is a gargantuan task with the market dominated by a handful of web browsers. And if you want an open source graphical web browser your options are even more limited; the two popular choices are Firefox and Chromium.
Why are web browsers difficult to code? Let’s look at the components of a web browser. They typically offer a graphical user interface, an engine, and a controller. The engine is the most complicated element. Engines used by open source web browsers include WebKit, Blink, and Gecko (or the Goanna fork).
The graphical user interface is a large part of the user experience for many web browsers. Firefox sees a fair chunk of the screen estate devoted to its interface. However, advanced users prefer to declutter the interface, leaving almost all of the screen real-estate to the engine.
Step forward Nyxt. This open source web browser offers familiar key-bindings (Emacs, vi, CUA), it is fully configurable and extensible in Lisp, and sports powerful features. You may not have heard of Nyxt even though it’s attracted nearly 5K GitHub stars. Let’s put that right!
This web browser was originally called Next, but sensibly the project was recently renamed to Nyxt.
Some tools designed for programming can also be very helpful for writing fiction. A few to look at include personal wikis, random word generators, and version control tools.
One of the most important lessons I have learned from using free software is the ability to improvise. Although I am not a developer, I long ago learned to hunt for useful scripts and adapt them for my own purposes. However, it is only recently that I realized that, with a little improvisation, tools designed for programming can be made useful for writing fiction.
Some free software, of course, is already designed for use by writers. Although a sadly high number of users have yet to learn that The PC is Not A Typewriter, as Robin Williams said in the title of her book, LibreOffice is designed for writers of long documents. Similarly, Calc, like any spreadsheet, is ideal for outlining scenes and for keeping track of more abstract elements of storytelling, such as the phases of the moon or the course of a character’s illness. However, the repositories of free software also contain some less obvious tools that are useful for writers, including those detailed below.
Universal USB Installer is a Live Linux USB Creator that allows you to choose from a selection of Linux Distributions to put on your USB Flash Drive. The Universal USB Installer is easy to use. Simply choose a Live Linux Distribution, the ISO file, your Flash Drive and, Click Install. Upon completion, you should have a ready to run bootable USB Flash Drive with your select operating system installed. Other features include; Persistence (if available) – note that casper persistence will only work with fat16 or fat32 formatted drives.
Undoubtedly, a lot of users prefer tuning in to streaming services to listen to their favorite music instead of purchasing individual music from stores or downloading them for a collection.
Of course, streaming services let you explore new music and help artists reach out to a wider audience easily. But, with so much music streaming services available (Soundcloud, Spotify, YouTube Music, Amazon Music, etc) it often becomes annoying to utilize them effectively while using your computer.
You may install Spotify on Linux but there is no desktop app for Amazon Music. So, potentially you cannot manage the streaming service from a single portal.
In this tutorial, I will show you how to install the latest version of Kernel 5.9 On Ubuntu 20.04 LTS, Ubuntu 18.04 LTS, and Linux Mint.
In this tutorial, we will show you how to install Kazam on Ubuntu 20.04 LTS. For those of you who didn’t know, Kazam is a simple screen recording program that will capture the content of your screen and record a video file that can be played by any video player that supports VP8/WebM video format. This utility requires a small configuration setup and is perfect for new users who just want to capture and record screen video. Kazam records crystal clear sound and can save the video file in several different file formats.
Actually it is very easy to install Ubuntu alike operating systems with data storage partitions similar to Drive D: to mimic tradition of Windows computers. What you need to do is just install Ubuntu like usual but create one additional large partition without attaching mount point to it. The result is you will always see one data partition ready to use just like you usually found while using Windows. Just because apparently many people asked it then I make this tutorial to help. As stated it is for Ubuntu alike, you can also practice this to Fedora, openSUSE, Manjaro, and others.
Apache Guacamole is a free, open-source and web-based remote desktop application that allows you to access your desktop machines through a web browser. In this tutorial, we will show how to install Apache Guacamole remote desktop gateway on Ubuntu 20.04 LTS server.
If you use SSH to connect to remote Linux servers, you'll notice that if you keep your SSH session inactive for some time and then try to use it again, the SSH session disconnects with an error message like this:
:client_loop: send disconnect: Broken pipe On some systems, it will display 'Write failed: Broken pipe' or 'Connection closed by remote host'.
Let's see what causes this error and how to go about keeping your SSH connection alive.
Modern operating systems, including Linux, have developed over recent years to bring operating system virtualization to the humble PC. Running multiple operating systems using a hypervisor allows developers, system administrators, and tinkerers to set up small, dispensable, virtual environments to test things out and learn. As virtualization becomes more and more popular, more and more pieces of software come out that promise to make your life easier. Vagrant is one of those pieces of software.
Managing heterogeneous computing environments has become increasingly important for HPC and AI/ML administrators. The NVIDIA Compute Module is one way we are working to make using these technologies easier to use.
I’ve been investigating the options for tracking system statistics to diagnose performance problems. The idea is to track all sorts of data about the system (network use, disk IO, CPU, etc) and look for correlations at times of performance problems. DataDog is pretty good for this but expensive, it’s apparently based on or inspired by the Etsy Statsd. It’s claimed that the gnocchi-statsd is the best implementation of the protoco used by the Etsy Statsd, so I decided to install that.
Simply put, a Shell Script is a program that is run by a UNIX/Linux shell. It is a file that contains a series of commands which are executed sequentially as if they were entered on the command line interface (CLI) or terminal.
In this quick tutorial on Shell Scripting, we will write a simple program to toss a coin. Basically, the output of our program should be either HEADS or TAILS (of course, randomly).
To start with, the first line of a shell script should indicate which interpreter/shell is to be used to execute the script. In this tutorial we will be using /bin/bash and it will be denoted as #!/bin/bash which is called a shebang!
Ubuntu Server has no default graphical user interface. That doesn't stop us from adding one. Here's how to install a GUI such as GNOME, MATE, KDE, on Ubuntu Server.
ost server operating systems, including the Ubuntu Server, don’t come with a Graphical User Interface. The main reason behind these is that the GUI takes much of the system resources to run essential server tasks. However, that doesn’t mean you can install a GUI on your Ubuntu server.
In this tutorial, we will show you how to install Puppet on Ubuntu 20.04 LTS. For those of you who didn’t know, Puppet is an open-source configuration management and server automation framework.
Managing user resource access through groups is a tried-and-true strategy that still works.
Since August, we have offered remote exams with some of our most popular certification exams. We understand that the process for taking a Red Hat remote exam is unique. Before you schedule your Red Hat remote exam, ensure that you meet all the system requirements and have planned out the logistics for taking your exam at home. In addition to setting up your workspace, you must have a redhat.com login, download the Remote Exam Live Environment ISO, have all the required hardware, and run a required compatibility test. Here are a few tips to help you get your workspace and equipment ready.
Download the Remote Exam Live Environment ISO
Our exam solution uses a unique approach that provides an entire operating system tailored for the purpose of delivering a Red Hat exam, as well as running the compatibility tester that helps confirm whether your hardware and network connectivity are suited for remote delivery. When booted from a typical USB thumb drive or other external storage device, this operating system runs entirely in RAM and leaves whatever is installed on the system untouched and unchanged.
ga="git annex" gap="git add -p" amend="git commit --amend" Hope this might be an inspiration to use these or similar aliases as well.
I can still picture it just like it was yesterday. My colleague, pointing one finger to our new product in front of us. Asking me a simple yet subtle question:
“What’s the value proposition?”
“What do you mean?” I was unsure of how to answer.
He continued:“You know… why would one even want to buy this product over something else? What is its reason to be? What problem does it solve?”
This was my introduction to Product Development, Branding and ultimately Marketing. Once you internalize this kind of framing, you cannot unsee it anymore. It becomes like a sixth sense you apply to everything around you. Ads, posters, products you use everyday, products you consider buying, and the list goes on.
It’s like when a friend (or a foe?) teaches you about font kerning just to mess with you. Every single sign, every printed paper that looked absolutely normal before, will seem off and wrong. Life changing knowledge (for the worst, in the case of font kerning).
Advantech’s fanless, Linux-ready “DPX-E145” gaming system offers 11th Gen Tiger Lake with up to 4x 4K or 2x 8K video, 2x GbE, 9x USB, serial and discrete I/O, and SATA, CFast and M.2 NVMe storage.
Advantech-Innocore has announced the first Intel 11th Gen Tiger Lake based computer for the regulated casino and AWP (amusement with prize) gaming markets. The passively cooled DPX-E145 supports “multi-screen, high resolution, immersive player experiences” with the help of Tiger Lake’s up to 96-EU Iris Xe graphics.
Just released today is Epicinium, a competitive strategy game that tries to get you to think a little differently as you fight while trying not to destroy the environment.
With nature being a finite resource, is it worth winning the war if you're left with nothing but dirt and ash? An important question of course. Here you win based on how much of mother Earth is actually left as you battle other players or AI across many simultaneous turns. Deal with weather effects, climate change and more.
More classics continuing to live on?! Yes please, thanks to the power of open source and dedicated fans The Elder Scrolls: Arena has a modern game engine that continues maturing. You can download the original free for the data files, thanks to Bethesda releasing it free some time ago so it makes it quite easy to get going with OpenTESArena.
Dishonored 2 is the sequel to Dishonored. It is a game developed by Arkane and published by Bethesda. Dishonored 2 is an action FPS game that has players take control of a royal assassin. In the sequel, you play as either Corvo Attano or his daughter as you fight to win back the throne. In this guide, we’ll go over how to get Dishonored 2 working on Linux.
After last week exploring the NVIDIA GeForce RTX 3080 Linux GPU compute performance for this Ampere graphics card along with the Blender 2.90 performance, today is a look at the Linux gaming performance for the RTX 3080 both for native games as well as those Windows games running on Linux via Steam Play (Proton).
While currently Total War Saga: TROY is exclusive to the Epic Games Store, it appears Feral Interactive are still planning to bring official Linux support with a port onto Steam in 2021.
A Linux port was planned, and was actually confirmed when the game was originally announced back in early 2019. It later went exclusive to the Epic Games Store, which of course messed things up for Linux because Epic Games still won't support Linux with their store. Still, it will release on Steam in 2021, because that's when the exclusive period will be over.
What caught our eye was that Feral Interactive ported it to macOS and put that live on the Epic Games Store, and when this happened any mention of a Linux version was removed from Feral's famous upcoming port radar and this caused concern with readers emailing in about it - thinking it was cancelled for Linux.
Thankfully, that seems to not be the case. We emailed Feral Interactive who confirmed today that was a "technical glitch" and the Linux version of Total War Saga: TROY now appears again on their upcoming port radar list.
Developer Ogre Pixel is currently running a successful crowdfunding campaign for Lonesome Village, a puzzle-solving adventure with social simulation and town-building that's now confirmed for Linux.
Their crowdfunding campaign had an initial goal of 420K Mexican Peso (around €£15K) and they've managed to get quite a lot more funding with it currently sat on around €£58,524. Thanks to how well received it has been, they put out an update to confirm "We are happy to share that we have decided to include Mac and Linux as launching platforms for Lonesome Village!".
Diablo is something of a classic and it lives on thanks to the public domain game engine DevilutionX. Originally itself based on Devilution, a reconstruction of the source code used for the original Diablo.
DevilutionX continues taking it a step or two further, ensuring it works smoothly on modern operating systems with new and enhanced features to improve it. The legality around it is a little murky but so far Blizzard don't seem to be bothered. You still need to buy it, as it doesn't include any of the media/data files. You can buy a copy of the classic for that over on the DRM-free store GOG.com.
Hybrid Beasts from Beastbits aims to modernise the classic turn-based battling found in Worms and hype it up a little, with a release now live on Steam in Early Access.
On the surface, it's very much a Worms-like. You each take turns moving around a character from your team, pickup weapons, dig, attack and more. However, they're aiming for a what they say is a "cross-genre game" that has you explore an open-world, go through quests and discover secrets.
Right now, they said a lot of the game is already finished. It has fully functional local multiplayer with a single standard battle game mode, more than 70 weapons and items, 2 tournament modes and multiple different battlefields to visit spread across a map you need to explore. They've confirmed online multiplayer is coming, and a single-player mode will also arrive next year too.
Enjoy retro computing? It seems one company does, as My Retro Computer have revived the classic Commodore 64 as a barebones PC case.
Inspired by the Commodore 64x replica PC released in 2011, which met an untimely end when the Commodore USA founder Barry Altman died back in 2012. Not to be confused with the original Commodore, as this was a newer company that acquired the name. Commodore USA had a pretty murky history too following multiple controversies, which My Retro Computer are hoping to improve upon and they're not using the Commodore name.
It's been months since the quarantine has started, and we understand that cabin fever is getting the best of us. The best thing to do is to hang out with our friends virtually. If you are running out of things to say during your Zoom meetings, why not host a game night? No need to look further for some good entertainment. Here are some of the best online games that you can play with your pals for free!
Debian Games
I spent most of the time this month to tackle remaining GCC 10 bugs in packages like nettoe, pcsxr, slimevolley (patch by Reiner Herrmann), openal-soft, slashem and alien-arena. I also investigated a build failure in gfpoken (#957271) and springlobby and finally uploaded a new revision of warzone2100 to address another FTBFS while building the PDF documentation.
The free multi-platform video editor Kdenlive got automatic scene splitting and hardware accelerated video rendering on the GPU in this release even though it it was released as just a minor version bump. There's also 17 bugs that have been fixed since 20.08.1 was released. GPU video rendering is twice as slow as CPU rendering, so it is, for now, a utterly useless new feature.
Usually the point releases are for bugfixes but Kdenlive 20.08.2 comes with a set of changes worthy of a major release. Besides some memory leak fixes and usability improvements this versions brings back the automatic scene split feature, adds for the Linux version experimental GPU rendering profiles for rendering, proxy creation and timeline preview rendering (Windows will follow at a later stage) and a new crop effect. Other noteworthy changes are better handling of projects with missing clips, improved project loading and fixes incorrect volume meters in audio mixer. The Windows version gets 45 new audio LADSPA effects (CMT) and 3 video frei0r effects (Cairo).
But the best thing really is that this release has many commits from new contributors. Come join the effort in making the best FLOSS video editor in the world.
One thing that is special about KDE software is how it can mean different things depending on your perspective. This is very powerful from a technical perspective, but can make our work harder when we want to convey what our piece of software does and how it will affect its users’ life. How do we optimize our product development towards user acquisition and support?
At Akademy, I discussed shedding some light on the blurry lines that sometimes define our products, and did so based around the Marketing-Mix I was taught at university (so no, I’m not an expert!). I presented it first at a talk, then we had a subsequent BoF session to discuss it and see how it mapped to some projects (we did Plasma and Okular, as a test) to get acquainted with the concept.
There's yet another Linux distribution available for the masses to try. This time around, it's an operating system focused primarily on developers and those who work with data science. The operating system in question is Emperor-os. Created by Hossien Seilany, the aim of the OS is to provide the best tools and software for various types of programming.
Emperor-os is a 64 bit-only version of Linux that includes five different desktops, supports numerous programming languages, and is distributed as a Live ISO image that can be easily installed.
Emperor-os is a non-commercial distribution designed for both beginning and power Linux users, who can select from the XFCE, LXDE, Open Box, KDE Plasma, or Mate desktops, while enjoying plenty of pre-installed applications (such as WPS Office). Emperor-os also includes 600 pre-installed fonts, 22 different development tools, 260 modules, 270 installed themes, 40 icon sets, 40 games, and support for 2533 scanners and 2500 cameras.
Porteus Kiosk 5.1 comes more than seven months after version 5.0 as a maintenance update that bumps the versions of the installed components to newer releases, and also introduces various improvements and new features.
Still powered by the long-term supported Linux 5.4 LTS kernel series, Porteus Kiosk 5.1 is using Linux kernel 5.4.70 LTS, uses the portage snapshot 20201004, as well as the latest Mozilla Firefox 78.3.1 ESR open-source web browser, which is accompanied by the proprietary Google Chrome 85.0.4183.121 web browser.
For years openSUSE has meant more than one distribution. With the recent addition of Kubic and MicroOS to the Leap & Tumbleweed family, different package sets, release models and workflows can be difficult to keep tabs on. openSUSE’s ecosystem is in full blossom, but even jungles sometimes need a clearing.
This is why a group of volunteers has taken up the task of improving the learning experience for all users – regardless of their experience and expertise. For new users, we want to make sure they can identify what best fits their needs, get the right tools and seamlessly take over from the post-installation screen. For experienced users, we want to provide them with detailed documentation that is easy to update, so that their experience and expertise can benefit others.
We believe that from engineers to end-users, everyone deserves to have confidence not only in their OS, but in the way they’re using it. A chain of trust like this is made of a user-friendly documentation where technical details are balanced with evidence-based good practices.
Zvezdin Besarabov held a talk at the Arch Conf 2020 this weekend where he shared what software he ended up with after trying to find free software with a perfect balance between usability and privacy.
The impact: First off: 10 years! I remember hosting a "5 year OpenStack birthday party" what seemed like only yesterday. Secondly, telcos had a lot to do with the maturity of OpenStack into what it is today.
Our planet is wrestling with the rapid and dramatic effects of our changing climate crisis, which is intensifying over time. Climate change has the potential to impact every human, every industry, and every living organism on the planet. It sounds extreme because it is. Global discussions surrounding climate change have focused on both prevention and immediate and necessary adaptation. Exhaustive research has confirmed changing weather patterns, rapidly rising sea levels, and extreme weather events proliferating worldwide.
Did you know that by 2050, the global population will reach 9.8B people, exerting further pressure on the earth’s resources? And, by the year 2100, global temperatures could increase 3-5 degrees Celsius (5.4-9.0 degrees Fahrenheit). Problems like these are why IBM€® became a Founding Partner of Call for Code, a multiyear challenge to developers around the world to use their skills toward solving global issues.
Today, the Gerstner era of International Business Machines is over, and the Krishna era is truly beginning, as Big Blue is spinning out the system outsourcing and hosting business that gave it an annuity-like revenue stream – and something of an even keel – in some rough IT infrastructure waters for two over decades.
The spinout, which IBM chief executive officer Arvind Krishna, who took over the helm of the company in April, will create an as-yet-unnamed and publicly traded company that is tentatively being called NewCo, focused on strategic outsourcing and system hosting for some 4,600 companies in 115 countries around the world. And while IBM has not said this, NewCo will also be something else: IBM’s largest customer, which has some interesting ramifications for both companies.
We've made some recent updates to Opensource.com that impact account registration, user profiles, and how readers comment on articles. These new and modified processes should ensure a more secure and safe website and experience for you.
Over the last few weeks, we've been really busy updating and testing these new features. One is our new account creation process to reduce spam. We deployed these changes to our production environment earlier today.
Welcome to the Ubuntu Weekly Newsletter, Issue 652 for the week of October 4 – 10, 2020. The full version of this issue is available here.
Axiomtek has launched two embedded PCs based on 7th Gen Kaby Lake: a “MVS900-511-FL” machine vision system with triggering features, 4x GbE with PoE, and Basler camera support and an EN 50155-certified “tBOX510-518-FL” railway computer.
Axiomtek has yet to announce any products based on Intel’s latest 11th Gen Tiger Lake and Atom-class Elkhart Lake processors, but over the last two weeks it has introduced two embedded computers based on Intel’s 7th Gen Kaby Lake. The MVS900-511-FL is a machine vision system with 7th and 6th Gen Intel processors and the tBOX510-518-FL is aimed at railway applications and supports 7th Gen Kaby Lake-U chips.
HiHope HiSpark WiFi IoT development board features Hisilicon Hi3518 microcontroller with 2.4 GHz 802.11b/g/n WiFi 4 and supports Huawei LiteOS as well as HarmonyOS.
Equipped with 2MB flash and 384KB SRAM, the board targets smart home applications, and ships with a baseboard to help with development.
Announced last January at CES 2020, Arduino Portenta H7 is the first board part industrial-grade “Arduino Pro” Portenta family. The Arduino MKR-sized MCU board has plenty of processing power thanks to STMicro STM32H7 dual-core Arm Cortex-M7/M4 microcontroller.
In Q4, I'm trying to build a set of trainings to help Mozillians build data intuition. Last week, I was building a proposal for the project and I thought to myself, "Why don't these trainings already exist?"
I spent the first half of 2020 working with Mozilla's product team to help build an understanding of our data and metrics. This feels like it would have been the perfect opportunity to create some scalable documentation. I've already invested a lot of time and energy into explaining our metrics. Why didn't I think to document the work as I went?
[...]
This is especially true at Mozilla. The company is constantly exploring new areas so our problem-space keeps shifting. This is in part because we're still new to working with data and in part because the company is trying to find a way to grow.
This blog post is about a vulnerability I found in the Mozilla Maintenance Service on Windows that allows an attacker to elevate privileges from a standard user account to SYSTEM. While the specific vulnerability only works on Windows, this is not really because of any Windows-specific issue but rather about how Mozilla validated trust in files it operated on with privileged components. This vulnerability is assigned CVE-2020-15663. It was reported on Mozilla Bugzilla Bug 1643199.
One day I read the “Mozilla Foundation Security Advisory 2019-25,” and one bug caught my attention: “CVE-2019-11753: Privilege escalation with Mozilla Maintenance Service in custom Firefox installation location.” The description mentioned that a privilege escalation was caused “due to a lack of integrity checks.” My past experience taught me that maybe the fix was to check digital signatures only. If that’s the case, then a version rollback attack may be used to bypass the fix. So, I decided to check that, and it worked.
Thanks to Haris and the whole Indonesian community for their great work! The templates are available on the website here.
I am pleased to announce that LLVM 11 is now finally available.
Get it here: https://releases.llvm.org/download.html#11.0.0
This release is the result of the LLVM community's efforts over the past six months (up to 2e10b7a3 on trunk plus commits up to 176249bd on the release/11.x branch).
One highlight is that the Flang Fortran frontend is now part of the release.
And as usual, there are many bug fixes, optimizations, new compiler diagnostics, etc.
For details, see the release notes:
https://releases.llvm.org/11.0.0/docs/ReleaseNotes.html https://releases.llvm.org/11.0.0/tools/clang/docs/ReleaseNotes.html https://releases.llvm.org/11.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html https://releases.llvm.org/11.0.0/tools/flang/docs/ReleaseNotes.html https://releases.llvm.org/11.0.0/tools/lld/docs/ReleaseNotes.html https://releases.llvm.org/11.0.0/tools/polly/docs/ReleaseNotes.html https://releases.llvm.org/11.0.0/projects/libcxx/docs/ReleaseNotes.html
The release would not be possible without the help of everyone who reported, investigated and fixed bugs, pointed out patches that needed merging, wrote release notes, etc. Thank you!
Special thanks to the release testers and packagers: Ahsan Saghir, Amy Kwan, Andrew Kelley, Bernhard Rosenkraenzer, Brian Cain, Diana Picus, Dimitry Andric, Florian Hahn, Martin Storjö, Michaà â Górny, Neil Nelson, Nikita Popov, Rainer Orth, Shoaib Meenai, Sylvestre Ledru, and Tobias Hieta!
For questions or comments about the release, please contact the community on the mailing lists.
Onwards to LLVM 12! And take care.
Thanks, Hans
After being one and a half months late, LLVM 11.0 is now tagged and ready to ship.
Release candidates not shipping on schedule and the need for additional RCs in recent weeks due to open bugs led to the LLVM 11.0 release schedule falling well off track. But in any case LLVM 11.0 is now available for download from LLVM's GitHub repository.
Our beloved configure script still exists. It accepts most of the options you are used to from Qt 5.
At the moment the qmake build system is still in place. You can choose between buiding Qt with qmake or CMake. Pass -cmake to configure to use the CMake-based build.
For the final release, expect that the qmake build system will vanish together with the need to pass -cmake.
A few days ago, a customer using our KD Soap library reported an interesting problem with it. The library worked perfectly to access the SOAP server, but there was some noticeable latency when doing a series of requests in short succession from the client. This latency should not have been there, as both the server and the client were in the same local network.
An investigation began, regarding whether the client code or KD Soap were doing something suboptimal, like reconnecting to the server all the time, or something like that. The actual reason turned out to be something much more profound: a 6-year-old bug in QNetworkAccessManager (at least, that’s when it was reported. I think the bug is at least 10 years old…)
OpenCV as the widely-used, real-time computer vision library is out this week with version 4.5 as a big feature release.
OpenCV 4.5 brings OpenCL support for multiple contexts, its DNN module now supports OpenVINO 2020.1 as a possible back-end for inference, and there are optimizations to the NVIDIA CUDA DNN code path. OpenVINO supports inference on both CPUs and Intel graphics hardware.
I've released version 1.0.0 of plocate, my faster locate(1)! (Actually, I'm now at 1.0.2, after some minor fixes and improvements.) It has a new build system, portability fixes, man pages, support for case-insensitive searches (still quite fast), basic and extended regex searches (as slow as mlocate) and a few other options. The latter two were mostly to increase mlocate compatibility, not because I think either is very widely used. That, and supporting case-insensitive searches was an interesting problem in its own right :-)
It now also has a small home page with tarballs. And access() checking is also now asynchronous via io_uring via a small trick (assuming Linux 5.6 or newer, it can run an asynchronous statx() to prime the cache, all but guaranteeing that the access() call itself won't lead to I/O), speeding up certain searches on non-SSDs even more.
Well, as I’m now caching descriptor sets across descriptor pools, it occurred to me that, assuming my descriptor state hashing mechanism is accurate, all the resources used in a given set must be identical. This means that all resources for a given type (e.g., UBO, SSBO, sampler, image) must be completely identical to previous uses across all shader stages. Extrapolating further, this also means that the way in which these resources are used must also identical, which means the pipeline barriers for access and image layouts must also be identical.
Which means they can be stored onto the struct zink_descriptor_set object and reused instead of being accumulated every time. This reuse completely eliminates add_transition() from using any CPU time (it’s the left-most block above update_sampler_descriptors() in the first graph), and it thus massively reduces overall time for descriptor updates.
This marks a notable landmark, as it’s the point at which update_descriptors() begins to use only ~50% of the total CPU time consumed in zink_draw_vbo(), with the other half going to the draw command where it should be.
This is a quick reminder that the quarterly San Diego Perl Mongers meeting will be occurring on Tuesday evening, starting at our normal time of 7 PM PDT. As has been for the last several meetings, we’re going to meet online, as in-person meetings are discouraged, and online meetings seem to be a bit more popular.
Tau Station, "the free-to-play narrative sci-fi MMORPG (TM)", has a nicely complex database. Currently, we have 190 tables with 740 relationships between those tables. DBIx::Class does an amazing job at managing that complexity, since each relationship is simply an accessor on the DBIx::Class::Row object.
However, there is a subtle issue when using those relationship accessors. Using a relationship accessor creates a new Row object and stores it in the calling object. This behavior can easily leads to duplicate DBIC Row objects for a single database row. At best, the duplicates cause wasted resources duplicating the Rows. At worst, they cause update anomalies, since updates done to one Row object are not seen by the duplicate objects.
With a highly-connected schema like we have in Tau Station, trying to handle the object duplication can pretty soon feel like we're trying to handle rabbits in Australia.
In order to avoid this Row duplication, we have developed a cache of DBIC Row objects that is shared within the application. In most cases, this allows us to ensure that we have one DBIC Row object per database row while processing an HTTP request, avoiding those subtle update anomalies.
If you work with Jupyter Notebooks and want to run code, produce heavy visualizations, and render markdown online – give Datalore a try. It comes with cloud storage, real-time collaboration, notebook publishing, and PyCharm’s code insight. In this blog post we’ll give you a quick introduction to what you can do in Datalore.
The main purpose of this blog is to show people how to use Python to solve real world problems. Over the years, I have been fortunate enough to hear from readers about how they have used tips and tricks from this site to solve their own problems. In this post, I am extremely delighted to present a real world case study. I hope it will give you some ideas about how you can apply these concepts to your own problems.
This example comes from Michael Biermann from Germany. He had the challenging task of trying to gather detailed historical weather data in order to do analysis on the relationship between air temperature and power consumption. This article will show how he used a pipeline of Python programs to automate the process of collecting, cleaning and processing gigabytes of weather data in order to perform his analysis.
Curious to know what's happening in Space? Wondering when is a satellite or a spaceflight is going to be launched? Try Nextinspace, a command line program to print latest Space events in Terminal. Nextinspace uses Launch Library 2 API to fetch the details of upcoming Space-related events and orbital launches. All from command line! It is written in Python programming language and released under GPL-3.0 License.
I am a chess player and I like to play chess, in order to improve my chess skill recently I have decided to create a chess application which I can play with so I can further improve my chess skill and get ready to face a stronger opponent in a site like lichess. The below chess application will take me around a year to complete and I will show you all the progress from time to time.
This week we welcome Sean Tibor (@smtibor) as our PyDev of the Week! Sean is the co-host of the Teaching Python podcast. He has been a guest on other podcasts, such as Test & Code and is the founder of Red Reef Digital.
I’ve been a professional programmer for about 30 years, self-employed for 25 years, and doing full-time corporate Python training for more than a decade.
I run a small business, which involves me writing, programming, and teaching, as well as handling all of the business-related stuff.
So, what’s my most important skill, the thing that helps me get lots accomplished in a short period of time? Easy: My ability to touch type.
Since Python 3.6, regular dictionaries retain their insertion order: when you iterate over a dict, you get the items in the same order they were added to the dict. Before 3.6, dicts were unordered: the iteration order was seemingly random.
Within software projects, there are lots of metrics we could measure. But which ones really matter. Instead of a list, Benjamin Harding shares with us a way of thinking about business outcomes that can help us with every day decision making.
In this simple exercise from CodeWars, you will build a function program that takes a value, integer and returns a list of its multiples up to another value, limit. If the limit is a multiple of integer, it should be included as well. There will only ever be positive integers passed into the function, not consisting of 0. The limit will always be higher than the base.
Matplotlib is one of the most widely used data visualization libraries in Python. Typically, when visualizing more than one variable, you'll want to add a legend to the plot, explaining what each variable represents.
In this tutorial, you’ll learn how to use ggplot in Python to create data visualizations using a grammar of graphics. A grammar of graphics is a high-level tool that allows you to create data plots in an efficient and consistent way. It abstracts most low-level details, letting you focus on creating meaningful and beautiful visualizations for your data.
There are several Python packages that provide a grammar of graphics. This tutorial focuses on plotnine since it’s one of the most mature ones. plotnine is based on ggplot2 from the R programming language, so if you have a background in R, then you can consider plotnine as the equivalent of ggplot2 in Python.
This Wing Tip describes how to configure Docker Compose so that Python code running on selected container services can be debugged with Wing Pro. This makes it easy to develop and debug containerized applications written in Python.
It makes a difference whether blindness-specific products are being developed for the blind by sighted people who believe they know what a blind user might need, or whether devices and functions are being developed by the blind for the blind.
Allele Biotech explains why it sued over tech used to treat Trump for COVID – and lawyers debate whether the case indicates future such litigation
A recent STAT News report found that Operation Warp Speed—the government’s Manhattan Project-style effort to quickly develop a COVID-19 vaccine—has substantial military involvement. Although it might initially seem counterintuitive to think of the virus as a military issue, the military’s involvement is part of a long history of government military spending on public health aims. What has been the role of military involvement and spending on preventing and treating diseases with pandemic potential? What’s different, if anything, for COVID? And what should policymakers and scholars be focused on going forward?
[...]
The military has played an important role in fighting infectious diseases throughout U.S. history, particularly when these diseases have threatened U.S. servicemembers. George Washington’s Continental Army created the first organized program to prevent smallpox after half of the 10,000 soldiers around Quebec caught the disease in 1776. Widespread yellow fever among U.S. troops during the Spanish-American War of 1898 spurred the U.S. Army to study the disease, determining that mosquitoes were responsible for its spread and laying the groundwork for a vaccine. After WWII, a 1953 respiratory disease outbreak among Army troops led researchers at the Walter Reed Army Institute of Research to identify a new adenovirus family and to create a vaccine a record-breaking three years later, in 1956.
More recently, military researchers have helped develop candidate vaccines for HIV and malaria, in addition to helping with development and distribution of HIV and malaria treatments. As Professor Ana Santos Rutschman has documented, the military also has played an important role in the efforts to develop Ebola and Zika vaccines.
These efforts occur across the service branches as well as through the Defense Advanced Research Projects Agency (DARPA). Of the 238 sponsored projects currently listed on DARPA’s website, 15 are disease related, including a project with five teams of researchers focused on targeting pathogens in animals before they jump to humans and a project to produce protective antibodies for first responders to halt any outbreak within 60 days. These moonshot plans may sound like science fiction for now, but DARPA has successfully spurred past breakthroughs ranging from technology that formed the basis of the Internet (ARPANET) to the use of graphical user interfaces. DARPA’s creativity is not limited to the high-risk projects it funds; it has also experimented with novel methods of providing innovation funding, such as the $500,000 prize fund offered for predicting chikungunya epidemics across the Americas for a six-month period.
The Reproducible Builds project intends to resume meeting regularly on IRC, starting today, Monday October 12th, at 18:00 UTC.
Sadly, due to the unprecedented events in 2020, there will be no in-person Reproducible Builds event this year, but please join us on the #reproducible-builds channel on irc.oftc.net. An editable agenda is available. The cadence of these meetings will probably be every two weeks, although this will be discussed and decided on at the first meeting.
Security updates have been issued by Debian (eclipse-wtp, httpcomponents-client, rails, and spice), Fedora (crun, oniguruma, and podman), openSUSE (grafana, kdeconnect-kde, kernel, nextcloud, nodejs10, nodejs8, and permissions), Oracle (kernel), and SUSE (tigervnc).
When Burkina Faso’s government called for civilians to fight against the jihadists terrorising their communities, Amadoum Tamboura was stirred to act. But the weapons the politicians promised never arrived, leaving the 56-year-old defenceless as militants attacked his village. “We were told our mission was to protect our community. [But] you can’t use your bare hands,” said Tamboura, who fled along with hundreds of others and now lives in the northern town of Kongoussi. Hundreds of civilians in towns and villages across extremist-hit parts of Burkina Faso have signed up to protect their communities and combat jihadist groups since a new law – known as the Volunteers for the Defence of the Homeland Act – passed through parliament in January. The government, which wouldn’t provide a precise number of volunteers enrolled, had hoped the flagship initiative would bolster its demoralised army following waves of jihadist and inter-communal violence that have uprooted more than one million people – most since the beginning of last year. But nine months into the programme, volunteers who were supposed to receive weapons and two weeks of training from the government told The New Humanitarian they were ill-equipped and often too afraid to fight the better-armed and battle-hardened militants. And several residents who live in areas where the vigilante groups operate accused the men of abusive behaviour – from stealing cattle to attacking those accused of collaborating with the jihadist militants. Many also worry they will be attacked by the jihadists, if they are suspected of supporting the volunteers. Last week, 25 displaced people travelling in a convoy back to their village were killed by extremists who cited the presence of volunteers in the area as a motive for the attack, according to several witnesses who spoke to TNH.
Republicans on Sunday circulated a video of the Democrats' candidate for an open U.S. Senate seat in Kansas praising strict Australian gun laws that she said “took them all away” to undercut her campaign as a political moderate in what's been an unexpectedly tough red-state race for the GOP.
Democrat Barbara Bollier's spokeswoman accused Republican Roger Marshall's campaign of being “duplicitous" in highlighting the video from an Oct. 3 “lawn chair chat” at a Kansas City-area park. Bollier's campaign released longer audio from the same event that included moments in which Bollier said she supports the Second Amendment to the U.S. Constitution protecting gun rights and recalled hunting with her father.
Apple has been under the gun for the past few months with developers complaining about the 30-percent cut it demands in in-app purchasing fees in the app store. Through congressional testimony on the possible monopolies of the company, along with Amazon, Facebook, and Google, more was learned about that process. The ProtonMail developer revealed that Apple forced it to add in-app purchases even though the app had always been free.
The use of a generally available tool (here: reverse sandwich assays) can involve an inventive step if the advantages pursued and provided by the invention do not materialize without further effort and if the skilled person would not have found (sufficient) motivation in the state of the art to consider that this tool was suitable and could be used without difficulty for the intended use.
A bill for approval of the Agreement on the Unified Patent Court (UPCA), legislation that would allow Germany to ratify this convention and to participate in this international patent court system, was introduced into the Bundestag on 28 September and is now being reviewed by parliamentary committees ahead of a formal vote in which lawmakers will be seeking a two-thirds majority.
[...]
Having the Bundestag and Bundesrat pass this legislation again with a two-thirds majority should satisfy the objections of the Federal Constitutional Court and finally result in the establishment of the UPC. The fact that the UK has in the meantime left the EU and, as a follow-up to Brexit, announced that it no longer wishes to participate in the European unified patent system is briefly mentioned in the bill's introduction. These brief remarks, however, contain some disputed elements, which will likely give rise to considerable legal discussions even if the German parliament passes the bill with the necessary qualified majority.
The Bundestag has reported here on its first reading on Thursday, 8th October of the draft legislation required for Germany to ratify the Unified Patent Court (UPC) Agreement and the Protocol on Provisional Application.
[...]
It was after the Bundesrat’s approval that the constitutional complaint against the previous bill was filed, and (as reported here) there remains the risk of another constitutional complaint.
Recently published by the USPTO, the report entitled “Public Views on Artificial Intelligence and Intellectual Property Policy” discusses various aspects of the AI/IP policy relationship, following the initial conference held in January 2019 and the following requests for comments (RFC) made in August and November 2019 by the American agency.
Primarily patent driven, the report covers many aspects related to the AI and IP discussion, including AI’s impact on patenting as well as inventorship, ownership, eligibility, disclosure and the level of the ordinary skill in the art and others.
Close to 200 comments were received between the two RFC. The USPTO has tried to provide us with a balanced summary of the views expressed throughout the year, whilst reaffirming the current state of US law.
I had the pleasure of listening to the Supreme Court oral argument in near real-time from the comfort of my desk last Wednesday, one of the few positives to come out of this pandemic. There's a lot to say about it, but I won't do a full recap here or make any predictions. I'll likely follow-up after the opinion.
But one thing that struck me was the Court's struggle to find an analogy. I'm not the only person to point this out, of course, because it was palpable. Google used a filing cabinet as an analogy in its briefing, and that fell flat, never mentioned during argument. Other analogies, including essential facilities, football playbooks, qwerty keyboards, telephone switchboards, and grocery organizations had varying degrees of success in capturing the issues at play in the case.
It occurred to me that perhaps an appropriate analogy would have been a remote control - this is something that uses APIs, but that the Court could have wrapped its collective mind around.
Consider a television set. It has an infrared detector that receives various a series of pulses that coincide with different functions: on, off, volume up, volume down, input selection, etc. The remote control has a list of these commands built into its memory. When the appropriate button is pressed, a lookup command finds the proper set of pulses, and sends them. I realize that this may be done via hardware, but not necessarily and even if so, the analogy still works to illustrate the consequences.