Language Selection

English French German Italian Portuguese Spanish

Mozilla: Rust, WebRender, AV1

Filed under
Moz/FF
  • Splash 2018 Mid-Week Report

    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.

  • WebRender newsletter #29

    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.

  • Into the Depths: The Technical Details Behind AV1

    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 Open Sources Sandboxed API
    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.
  • BMC Touches Clouds with Job Scheduler
    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.
  • Midnight Commander Comes To IBM i
    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. Read more

Fedora: Systemd, AskFedora, Varnish

Mozilla, Firefox and ChromeOS/Chrome

  • Sharing our Common Voices
    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.
  • Mozilla GFX: WebRender newsletter #42
    WebRender is a GPU based 2D rendering engine for web written in Rust, currently powering Mozilla’s research web browser servo and on its way to becoming Firefox‘s rendering engine.
  • Firefox UX: Look over here! Results from a Firefox user research study about interruptions.
    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 Releases Chrome 73 Update for Linux, Windows, and macOS
    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.
  • Google will implement a Microsoft-style browser picker for EU Android devices
     

    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."

  • EU hits Google with fine for abuse of AdSense service
     

    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.  

  • The EU fines Google $1.69 billion for bundling search and advertising
     

    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.