Mozilla: Rust, WebRender, AV1

I really enjoyed this talk by Felienne Hermans entitled “Explicit Direct Instruction in Programming Education”. The basic gist of the talk was that, when we teach programming, we often phrase it in terms of “exploration” and “self-expression”, but that this winds up leaving a lot of folks in the cold and may be at least partly responsible for the lack of diversity in computer science today. She argued that this is like telling kids that they should just be able to play a guitar and create awesome songs without first practicing their chords1 – it kind of sets them up to fail.

The thing that really got me excited about this was that it seemed very connected to mentoring and open source. If you watched the Rust Conf keynote this year, you’ll remember Aaron talking about “OSS by Serendipity” – this idea that we should just expect people to come and produce PRs. This is in contrast to the “OSS by Design” that we’ve been trying to practice and preach, where there are explicit in-roads for people to get involved in the project through mentoring, as well as explicit priorities and goals (created, of course, through open processes like the roadmap and so forth). It seems to me that the things like working groups, intro bugs, quest issues, etc, are all ways for people to “practice the basics” of a project before they dive into creating major new features.

To introduce this week’s newsletter I’ll write about culling. Culling refers to discarding invisible content and is performed at several stages of the rendering pipeline. During frame building on the CPU we go through all primitives and discard the ones that are off-screen by computing simple rectangle intersections. As a result we avoid transferring a lot of data to the GPU and we can skip processing them as well.

Unfortunately this isn’t enough. Web page are typically built upon layers and layers of elements stacked on top of one another. The traditional way to render web pages is to draw each element in back-to-front order, which means that for a given pixel on the screen we may have rendered many primitives. This is frustrating because there are a lot of opaque primitives that completely cover the work we did on that pixel for element beneath it, so there is a lot of shading work and memory bandwidth that goes to waste, and memory bandwidth is a very common bottleneck, even on high end hardware.

Drawing on the same pixels multiple times is called overdraw, and overdraw is not our friend, so a lot effort goes into reducing it.
In its early days, to mitigate overdraw WebRender divided the screen in tiles and all primitives were assigned to the tiles they covered (primitives that overlap several tiles would be split into a primitive for each tile), and when an opaque primitive covered an entire tile we could simply discard everything that was below it. This tiling approach was good at reducing overdraw with large occluders and also made the batching blended primitives easier (I’ll talk about batching in another episode). It worked quite well for axis-aligned rectangles which is the vast majority of what web pages are made of, but it was hard to split transformed primitives.

Since AOMedia officially cemented the AV1 v1.0.0 specification earlier this year, we’ve seen increasing interest from the broadcasting industry. Starting with the NAB Show (National Association of Broadcasters) in Las Vegas earlier this year, and gaining momentum through IBC (International Broadcasting Convention) in Amsterdam, and more recently the NAB East Show in New York, AV1 keeps picking up steam. Each of these industry events attract over 100,000 media professionals. Mozilla attended these shows to demonstrate AV1 playback in Firefox, and showed that AV1 is well on its way to being broadly adopted in web browsers.

More in Tux Machines

Server Leftovers

Google on Monday announced that it has made available its Sandboxed API as open source in an effort to make it easier for software developers to create secure products.
It’s not uncommon for applications to be affected by memory corruption or other types of vulnerabilities that can be exploited for remote code execution and other purposes. Using a sandbox ensures that the code responsible for processing user input can only access the resources it needs to, which mitigates the impact of a flaw by containing the exploit to a restricted environment and preventing it from interacting with other software components.
While sandboxing can be highly useful, Google says it’s often not easy to implement. That is why the internet giant has decided to open source its Sandboxed API, which should make it easier to sandbox C and C++ libraries. The company has also open sourced its core sandboxing project, Sandbox2, which can be used on its own to secure Linux processes.

Clouds are growing quickly as IT executives look to find more flexibility and cut costs by adopting cloud and software as a service (SaaS) applications. But most enterprises aren’t getting rid of all their on-premise systems, which means somebody needs to connect those cloud and on-premise systems. One of those “somebodies” is BMC Software.

IBM i professionals who work extensively with files in the IFS will be happy to hear a new software utility has been ported to the IBM i PASE environment that could save them a bunch of time. The open source software, called Midnight Commander, gives developers and administrators a handy command line experience that can help speed up tasks, especially when giving commands to large number of files stored on remote machines.
Midnight Commander was originally developed in 1994 as a file utility for UNIX, which was beginning to emerge from software labs to challenge minicomputer platforms of the day, such as the AS/400, as well as early Windows operating systems. Miguel de Icaza, who’s known for founding the Mono project (among others), is credited with creating Midnight Commander, but over the years development of the product has become a group effort.
The utility, which is distributed via a GNU license from www.midnightcommander.org, was largely modeled off Norton Commander, an MS-DOS utility developed in the 1980s by Norton. But Midnight Commander has evolved into its own thing over the years, and the resemblance to that old Norton product today largely is only in the name.

Top 10 New Linux SBCs to Watch in 2019

A recent Global Market Insights report projects the single board computer market will grow from $600 million in 2018 to $1 billion by 2025. Yet, you don’t need to read a market research report to realize the SBC market is booming. Driven by the trends toward IoT and AI-enabled edge computing, new boards keep rolling off the assembly lines, many of them tailored for highly specific applications.
Much of the action has been in Linux-compatible boards, including the insanely popular Raspberry Pi. The number of different vendors and models has exploded thanks in part to the rise of community-backed, open-spec SBCs.
Here we examine 10 of the most intriguing, Linux-driven SBCs among the many products announced in the last four weeks that bookended the recent Embedded World show in Nuremberg. (There was also some interesting Linux software news at the show.) Two of the SBCs—the Intel Whiskey Lake based UP Xtreme and Nvidia Jetson Nano driven Jetson Nano Dev Kit—were announced only this week.

Fedora: Systemd, AskFedora, Varnish

Merged this morning into the systemd code-base was a big feature addition that's been in the works for the better part of one year by Lennart Poettering and other developers.
Merged into the systemd tree is now the OCI runtime support for nspawn. Systemd's Nspawn, their tool that can be used for starting an OS within a lightweight container, now has support for the OCI run-time specification.

Mozilla, Firefox and ChromeOS/Chrome

From the onset, our vision for Common Voice has been to build the world’s most diverse voice dataset, optimized for building voice technologies. We also made a promise of openness: we would make the high quality, transcribed voice data that was collected publicly available to startups, researchers, and anyone interested in voice-enabled technologies.
Today, we’re excited to share our first multi-language dataset with 18 languages represented, including English, French, German and Mandarin Chinese (Traditional), but also for example Welsh and Kabyle. Altogether, the new dataset includes approximately 1,400 hours of voice clips from more than 42,000 people.
With this release, the continuously growing Common Voice dataset is now the largest ever of its kind, with tens of thousands of people contributing their voices and original written sentences to the public domain (CC0). Moving forward, the full dataset will be available for download on the Common Voice site.

The Attention War. There have been many headlines related to it in the past decade. This is the idea that apps and companies are stealing attention. It’s the idea that technologists throw up ads on websites in a feeble attempt to get the attention of the people who visit the website.
In tech, or any industry really, people often say something to the effect of, “well if the person using this product or service only read the instructions, or clicked on the message, or read our email, they’d understand and wouldn’t have any problems”. We need people’s attention to provide a product experience or service. We’re all in the “attention war”, product designers and users alike.
And what’s a sure-fire way to grab someone’s attention? Interruptions. Regardless if they’re good, bad, or neutral. Interruptions are not necessarily a “bad” thing, they can also lead to good behavior, actions, or knowledge.

Google has just released an update for Chrome 73, the major update of the browser that was shipped to all supported platforms earlier this month.
Now at version 73.0.3683.86, Google Chrome comes with under-the-hood improvements on Windows, Linux, and macOS, and you can download it using the links here.

We don't have many details on exactly how Google's new search and browser picker will work; there's just a single paragraph in the company's blog post. Google says it will "do more to ensure that Android phone owners know about the wide choice of browsers and search engines available to download to their phones. This will involve asking users of existing and new Android devices in Europe which browser and search apps they would like to use."

The European Commission has hit search giant Google with a third fine, related to abuse of its AdSense advertising service, and told the company to fork out €1.49 billion (A$2.38 billion) for breaching EU anti-trust rules.

Google and the EU's European Commission are making all sorts of announcements lately. Fresh off the revelation that Google would implement a browser and search-engine picker in EU-sold Android devices, Google's advertising division is getting slapped with a fine next, to the tune of €1.5 billion ($1.69 billion). The European Commission's latest antitrust ruling says that Google's bundling of its advertising platform with its custom search engine program is anti-competitive toward other ad providers.

Benchmarking A 10-Core Tyan/IBM POWER Server For ~$300 USD

If you live in the EU and have been wanting to explore IBM POWER hardware on Linux, a load of Tyan Habanero servers recently became available through a German retailer for 269 EUR (~$306 USD) that comes equipped with a 10-core POWER8 processor. While not POWER9, it's still an interesting Linux-capable beast and the price is unbeatable if you have been wanting to add POWER hardware to your collection. Phoronix reader Lauri Kasanen recently bought one of these IBM POWER servers at the 269 EUR price point and has shared thoughts on this server as well as some benchmarks. Here is Lauri's guest post checking out this low-cost 2U IBM server.
Recently a batch of refurbished POWER8 servers became available for very affordable prices. Always eager to play with power, especially for netbook-class prices, I grabbed one, and decided to run some benchmarks for everyone. For comparison data I used Michael's POWER9 benchmark from November, recent enough that software versions are close enough.

today's leftovers

Apple used to have the most devices in U.S. schools, but Google soared to the top after the release of the Chromebook in 2011. In 2018, Chromebooks made up 60 percent of all laptops and tablets purchased for U.S. K-12 classrooms, up from just 5 percent in 2012. Microsoft is second at 22 percent, followed by Apple, with 18 percent of shipments to U.S. schools in 2018, according to data from Futuresource Consulting.

This was a fairly busy two weeks for the Web & design team at Canonical.
[...]
We maintain the Vanilla css framework that most of the websites at Ubuntu and Canonical use. Here are a few patterns and websites that were updated.

Library is a wiki at heart, but it uses the familiar Google Docs as its backend and editing interface, easing maintenance for a wide population of users (“we wanted to meet people where they already were, rather than trying to teach them something entirely new”).

I don’t dare to count the days until foss-north 2019, but it is very soon. One of the changes to this year is that we expand the conference with an additional community day.
The idea with the community day here is that we arrange for conference rooms all across town and invite open source projects to use them for workshops, install fests, hackathons, dev sprints or whatever else they see fit. It is basically a day of mini-conferences spread out across town.
The community day is on April 7, the day before the conference days, and is free of charge.

This month's newsletter highlights the new project the FSFE recently joined and the funding opportunities it offers, that you may want to take advantage of. You can get the latest updates on the Copyright Directive reform and the hottest news regarding Article 13, as well as a short summary of what else has happened during the past month. In the Editor's choice section this month you can find interesting news on developments with the Radio Equipment Directive, and find out who else have expressed their support for our "Public Money? Public Code!" campaign and what they have to say about it.