A new year, a new decade, and a new chance to break old habits by trying new distros things.
Yes, we’re talking New Year’s resolutions — but with a FOSS flavoured twist!
It’s common at the start of the year to set yourself a couple of goals you can try and achieve throughout the year.
We’re talking achievable things that will make an appreciable difference to your life.
But forgot about losing a bit of weight, spending less money on take-out coffee, or arranging to see the in-laws more because I want to know what your Linux new year resolutions are!
Perhaps you plan on running apt update less often? Are you minded to explore KDE, Xfce, or i3? Might you want to assemble the courage to attempt your own Arch Linux install?!
Let me know — but on the off chance you don’t yet have any Linux related resolutions in mind, read on for five tip top suggestions from me!
Let's do the recap and Upcoming changes as fast as possible! I'm pumped about what is happening right now so here it is...
First up, in our Wanderings, Leo bakes a camera Pi, Tony Watts gets steamed, Joe gets an unexpected upgrade, Tony Hughes installed Lineage on a new old phone, Moss has an Xapp mishap, and Oliver treats his ears.
Then, in our news, Linux Mint 19.3 is here, Vivaldi champions Linux, DXVK forges ahead, and more.
In security, we talk Chrome flaws and the risks of Ring.
As of this morning in the Linux kernel Git source tree, the kernel weighs in at 27.8 million lines!
The stats as we start 2020 put the Linux kernel source tree at 27,852,148 lines (including docs, Kconfig files, user-space utilities in-tree, etc), 887,925 commits, and around 21,074 different authors. The 27.8 million lines are divided among 66,492 files.
Sway 1.3 is coming with virtual pointer protocol support needed for VNC support, repaint scheduling, layer-shell layer changes, various input improvements, support for the tablet protocol, and a variety of other fixes and enhancements.
For those interested in benchmarks of the $99+ PineBook ARM Linux laptop, more results continue to be uploaded on OpenBenchmarking.org.
The PineBook as a refresher is a 11.6" or 14" laptop with quad-core ARM Cortex-A53 processor, 2GB of RAM, 16GB eMMC, 802.11n WiFi + Bluetooth 4.0, USB 2.0 ports, microSD, a full-size keyboard, and a basic 10000mAH battery. For the price of the assembled laptop at just $99 USD isn't bad at all especially with reportedly nice build quality.
KDE developer Nate Graham who is well known for his weekly development summaries in the KDE space has shared his opinions on the desktop's features he expects to see materialize this year as well as some of the less likely bits.
Nate Graham expects KDE this year to better handle FUSE mounts for accessing remote locations in non-KDE applications, better privilege escalation handling within KIO and Dolphin, improved Samba share discovery within Dolphin, and auto-rotation for tablets/convertibles and other devices with display rotation sensors.
About GNOME/community work. It’s difficult to find the time and energy to do anything tech-related outside of work, so I cannot realistically think I will be an active contributor in my spare time. Still, I keep my eye and interest in the GNOME and flatpak communities. Last year (2018) I “flatpaked” two old games (noiz2sa and rRootage) and added them to Flathub, and now I am in the process of getting Robocode into flathub (more on that soon).
Septor Linux is a operating system that provides users with a perfect computing environment for surfing the Internet anonymously. Septor providing users with a stable and reliable distribution that is based on Debian GNU/Linux and works on a wide range of computers. Distribution featuring a customised KDE Plasma desktop.
Tor Browser, OnionShare (an anonymous file sharing utility) and Ricochet (an instant messaging client developed by the Invisible.im group). Thunderbird, HexChat and QuiteRSS are all pre-configured to connect to the Internet via the Tor network. The distribution can be used in "live" mode or it can be installed to hard disk via the standard Debian installer.
Core desktop and applications Linux Kernel 5.3 Plasma 5.14.5 KDE Applications 18.08.0 Tor Browser 9.0.2, based on Firefox 68.3 ESR
Other applications Internet: Thunderbird, HexChat, Ricochet IM, QuiteRSS, OnionShare Software Management: Synaptic, GDebi Utilities: Gufw, Konsole, Ark, Sweeper, Bootiso, ISO Image Writer, Kcalc, KGpg, Kleopatra, MAT, KWallet, VeraCrypt, Cup-backup Office: LibreOffice, Kontact, ÃÅ¡Organizer, Okular, Kwrite, Kate Graphics / Multimedia: GIMP, Gwenview. VLC, K3b, Guvcview
Over the past twelve months, concerned developers have spoken out publicly about blackmail in Debian. It has been referred to as analogous to Thought Reform, the brainwashing programs of the totalitarian Chinese communist state and many former eastern European communist dictatorships.
The regime operating this program are the Debian Account Managers, comprising Enrico Zini, Joerg Jaspert and Jonathan Wiltshire.
Using the public complaints about the process, let's break it down into easy steps. Like Zini, Jaspert and Wiltshire did at Christmas 2018, you could make this into a holiday project and start your own regime during a long weekend.
Begin with the conclusion
Normally, an expulsion or imprisonment comes at the end of an inquiry or investigation. In a blackmail program, the process is reversed.
In Debian's case, this involves removing somebody from the Debian keyring. This is something that is relatively easy for Zini, Joerg and Wiltshire to do using their position in the project.
Add something menacing
For some developers, simply removing them from the keyring can cause immediate problems with their employment as they can no longer upload packages to Debian if they are not included in the Debian keyring. Without saying any more, Zini, Joerg and Jaspert now have the victim's full attention.
Here’s my (third) monthly update about the activities I’ve done in Debian this December.
Debian LTS
This was my third month as a Debian LTS paid contributor.
This is a weekly blog about the Raspberry Pi 4 (“RPI4”), the latest product in the popular Raspberry Pi range of computers.
I’ve previously examined how the RPI4 performs streaming video in Week 3 of my blog. This week, I’m looking at video playback from locally stored media.
Does the RPI4 have sufficient grunt to be a capable video device?
The obvious first port of call is OMXplayer. It’s a command-line player which is hardware accelerated, leveraging the OpenMAX API to use the RPI4’s hardware video decoder in the GPU. The Pi Foundation claims the program plays many popular audio and video file formats, offers low power video playback, together with ultra low consumption of CPU cycles. If you must have a GUI frontend, there’s omxplayerGUI which I talked about in Week 3.
We are very happy to announce the release of Bison 3.5, the best release ever of Bison! Better than 3.4, although it was a big improvement over 3.3, which was huge upgrade compared to 3.2, itself way ahead Bison 3.1. Ethic demands that we don't mention 3.0. Rumor has it that Bison 3.5 is not as good as 3.6 will be though... Paul Eggert revised the use of integral types in both the generator and the generated parsers. As a consequence small parsers have a smaller footprint, and very large automata are now possible with the default back-end (yacc.c). If you are interested in smaller parsers, also have a look at api.token.raw. Adrian Vogelsgesang contributed lookahead correction for C++. The purpose of string literals has been clarified. Indeed, they are used for two different purposes: freeing from having to implement the keyword matching in the scanner, and improving error messages. Most of the time both can be achieved at the same time, but on occasions, it does not work so well. We promote their use for error messages. We still support the former case (at least for historical skeletons), but it is not a recommended practice. The documentation now warns against this use. A new warning, -Wdangling-alias, should help users who want to enforce the use of aliases only for error messages. An experimental back-end for the D programming language was added thanks to Oliver Mangold and H. S. Teoh. It is looking for active support from the D community.
Happy parsing!
================================================================== Bison is a general-purpose parser generator that converts an annotated context-free grammar into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables. Bison can also generate IELR(1) or canonical LR(1) parser tables. Once you are proficient with Bison, you can use it to develop a wide range of language parsers, from those used in simple desk calculators to complex programming languages. Bison is upward compatible with Yacc: all properly-written Yacc grammars work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with little trouble. You need to be fluent in C, C++ or Java programming in order to use Bison. Here is the GNU Bison home page: https://gnu.org/software/bison/
There hasn't been a new GNU Hurd release since the microkernel's 0.9 release back in 2016, but at least other areas of the stack continue inching further. Glibc as an important piece to the GNU toolchain saw some improvements for Hurd during December.
Some of the latest Hurd-specific work to Glibc includes refactoring of the signal code, global signal disposition, support for sending file descriptors over Unix sockets, getrandom() / getentropy() improvements, and supporting more functions. Among the functions added for Hurd coverage are getcontext / makecontext / setcontext / swapcontext. These are based on the similar Linux functions but adapted for usage with Hurd.
Async is all the rage. Async Python, async Rust, go, node, .NET, pick your favorite ecosystem and it will have some async going. How good this async business works depends quite a lot on the ecosystem and the runtime of the language but overall it has some nice benefits. It makes one thing really simple: to await an operation that can take some time to finish. It makes it so simple, that it creates innumerable new ways to blow ones foot off. The one that I want to discuss is the one where you don't realize you're blowing your foot off until the system starts overloading and that's the topic of back pressure management. A related term in protocol design is flow control.
What's Back Pressure
There are many explanations for back pressure and a great one is Backpressure explained — the resisted flow of data through software which I recommend reading. So instead of going into detail about what back pressure is I just want to give a very short definition and explanation for it: back pressure is resistance that opposes the flow of data through a system. Back pressure sounds quite negative — who does not imagine a bathtub overflowing due to a clogged pipe — but it's here to safe your day.
The setup we're dealing with here is more or less the same in all cases: we have a system composed of different components into a pipeline and that pipeline has to accept a certain number of incoming messages.
You could imagine this like you would model luggage delivery at airports. Luggage arrives, gets sorted, loaded into the aircraft and finally unloaded. At any point an individual piece of luggage is thrown together with other luggage into containers for transportation. When a container is full it will need to be picked up. When no containers are left that's a natural example of back pressure. Now the person that would want to throw luggage into a container can't because there is no container. A decision has to be made now. One option is to wait: that's often referred to as queueing or buffering. The other option is to throw away some luggage until a container arrives — this is called dropping. That sounds bad, but we will get into why this is sometimes important later. However there is another thing that plays into here. Imagine the person tasked with putting luggage into a container does not receive a container for an extended period of time (say a week). Eventually if they did not end up throwing luggage away now they will have an awful lot of luggage standing around. Eventually the amount of luggage they will have to sort through will be so enormous that they run out of physical space to store the luggage. At that point they are better off telling the airport not to accept any more incoming luggage until their container issue is resolved. This is commonly referred to as flow control and a crucial aspect of networking.
All these processing pipelines are normally scaled for a certain amount of messages (or in this case luggage) per time period. If the number exceeds this — or worst of all — if the pipeline stalls terrible things can happen. An example of this in the real world was the London Heathrow Terminal 5 opening where 42,000 bags failed to be routed correctly over 10 days because the IT infrastructure did not work correctly. They had to cancel more than 500 flights and for a while airlines chose to only permit carry-on only.
Good morning everyone, and what a lovely start to the new year it is, because it’s your birthday! Happy birthday, it’s your 50th! What’s that you say, you aren’t 50 today? (Looks…) That’s what all these internet databases say, because you’ve spent the last decade or so putting 1970-01-01 as your birth date into every online form that doesn’t really need to know it!
It’s been a staple for a subset of our community for years, to put the UNIX epoch, January 1st 1970, into web forms as a birth date. There are even rumours that some sites now won’t accept that date as a birthday, such is the volume of false entries they have with that date. It’s worth taking a minute though to consider UNIX time, some of its history and how its storage has changed over the years.
On the extension's official website, 32-bit and 64-bit installers were also made available to users.
Scans with VirusTotal, a website that aggregates the virus scanning engines of several antivirus software makers, show both files as clean.
However, numerous comments posted on the wallet's Telegram channel suggest the desktop apps might contain similarly malicious code, if not worse.
Security updates have been issued by Debian (igraph, jhead, libgcrypt20, otrs2, and waitress) and Mageia (clamaw, exiv2, filezilla, hunspell, libidn2, pdfresurrect, roundcubemail, and xpdf).
Three commenters to John Welch’s TTABlog were recently sued for defamation after criticising an attorney (Lee Thomason) who lost a case before the TTAB. Prof. Eugene Volokh has written more about the new lawsuit on his blog Volokh Conspiracy. I know both John and Lee (who recently retired as a clinical professor at OSU) which makes this a bit more interesting and unfortunate.
[...]
The new defamation lawsuit filed in Federal Court in Kentucky accused Dreitler, Reidl, and deWolf of “volitional contacts with readers in Kentucky of the defamatory comments.” Prof. Volokh, whose expertise is defamation (inter alia), reviewed the filing and suggests that the claim will not stand, but promises an attempt to keep readers updated.
New Record – 354,507 Utility Patents issued by the USPTO in 2019. The decade (2010s) also outstripped any other decade by leaps and bounds.
Over five and a half years on from the Supreme Court's Alice vs. CLS Bank ruling, patentees, patent professionals, judges, and USPTO personnel are still wrestling with what it means for an invention to be eligible for patenting. This is especially true for software-related innovations. Despite the software-driven digital economy accounting for approximately 7% of the U.S. gross domestic product, software inventions can have a rough path to allowance and are likely to have their eligibility challenged post-issuance. The disconnect between software being one of the main sources of innovation in the last decade and its least-favored-nation status in patent law is largely due to Alice and its progeny.
In Alice, the Court set forth a two-part test to determine whether claims are directed to patent-eligible subject matter under 35 U.S.C. €§ 101. One must first decide whether the claim at hand involves a judicially-excluded law of nature, a natural phenomenon, or an abstract idea. If so, then one must further decide whether any element or combination of elements in the claim is sufficient to ensure that the claim amounts to significantly more than the judicial exclusion. But elements or combinations of elements that are well-understood, routine, and conventional will not lift the claim over the €§ 101 hurdle. While this inquiry is generally carried out as a matter of law, factual issues can come into play when determining whether something is well-understood, routine, and conventional.
[...]
During prosecution, the Examiner rejected claim 11 and claims depending therefrom under €§ 101 as being directed to patent-ineligible subject matter. Particularly, the Examiner viewed claim 11 as "using the predicted character probabilities (mathematical formula) to decode a transcription of the input audio into words or text data." The Examiner found that this was "similar to the court case Gottschalk v. Benson because the predicted character probabilities (mathematical formula or relationship) is used to convert or transcribe audio data into text data (words)." Thus, the Examiner concluded that the claim was directed to an invention falling into the mathematical concepts category.
The Examiner also characterized the claim as merely "normalizing the input audio data (manipulating data)," and "generating spectrogram frames based on each audio file (generating information sets based on prior information sets)," "using a mathematical formula to convert audio data into text data (Decoding)." The Examiner asserted that this implied that the claim was also abstract under the "certain methods of organizing human activity" and "mental process" categories because a "human can listen to an audio file and transcribe the audio data into text data which can all be done mentally."
Moreover, the Examiner found that the claim also fails under the second step of Alice. To that point, the Examiner wrote that the claimed invention "[d]oes not amount to significantly more since it is just decoding a transcription using a mathematical formula or relationship."
[...]
This case is of note because it is one of the first in which the PTAB has confirmed that a machine learning invention can be non-abstract. While the USPTO's example 39 has suggested that one can claim a machine learning procedure without reciting any of the underlying mathematics, a mental process, or a method of organizing human activity, this decision affirms that is the case. The PTAB also seemed persuaded, based on statements made in the specification, that the claimed invention entails an improvement over previous techniques used to address the problem domain.
Of course, a district court or the Federal Circuit might agree or disagree. But, at the very least, the reasoning herein provides a roadmap for claim drafting and prosecution that may situate an invention to pass €§ 101 muster in the USPTO.