Language Selection

English French German Italian Portuguese Spanish

Mozilla Leftovers and Firefox Development

Filed under
Moz/FF

  • Browser Wish List - Tab Splitting for Contextual Reading

    On Desktop, I'm very often in a situation where I want to read a long article in a browser tab with a certain number of hypertext links. The number of actions I have to do to properly read the text is tedious. It's prone to errors, requires a bit of preparation and has a lot of manual actions.

  • Mozilla Privacy Blog: Laws designed to protect online security should not undermine it

    Mozilla, Atlassian, and Shopify yesterday filed a friend-of-the-court brief in Van Buren v. U.S. asking the U.S. Supreme Court to consider implications of the Computer Fraud and Abuse Act for online security and privacy.

    Mozilla’s involvement in this case comes from our interest in making sure that the law doesn’t stand in the way of effective online security. The Computer Fraud and Abuse Act (CFAA) was passed as a tool to combat online hacking through civil and criminal liability. However, over the years various federal circuit courts have interpreted the law so broadly as to threaten important practices for managing computer security used by Mozilla and many others. Contrary to the purpose of the statute, the lower court’s decision in this case would take a law meant to increase security and interpret it in a way that undermines that goal.

  • Changes to storage.sync in Firefox 79

    Firefox 79, which will be released on July 28, includes changes to the storage.sync area. Items that extensions store in this area are automatically synced to all devices signed in to the same Firefox Account, similar to how Firefox Sync handles bookmarks and passwords. The storage.sync area has been ported to a new Rust-based implementation, allowing extension storage to share the same infrastructure and backend used by Firefox Sync.

    Extension data that had been stored locally in existing profiles will automatically migrate the first time an installed extension tries to access storage.sync data in Firefox 79. After the migration, the data will be stored locally in a new storage-sync2.sqlite file in the profile directory.

  • SpiderMonkey Newsletter 5 (Firefox 78-79)

    SpiderMonkey is the JavaScript engine used in Mozilla Firefox. This newsletter gives an overview of the JavaScript and WebAssembly work we’ve done as part of the Firefox 78 and 79 Nightly release cycles.

    If you like these newsletters, you may also enjoy Yulia’s weekly Compiler Compiler live stream, a guided tour of what it is like to work on SpiderMonkey and improve spec compliance.

  • Testing Firefox more efficiently with machine learning

    At Mozilla we have around 50,000 unique test files. Each contain many test functions. These tests need to run on all our supported platforms (Windows, Mac, Linux, Android) against a variety of build configurations (PGO, debug, ASan, etc.), with a range of runtime parameters (site isolation, WebRender, multi-process, etc.).

    While we don’t test against every possible combination of the above, there are still over 90 unique configurations that we do test against. In other words, for each change that developers push to the repository, we could potentially run all 50k tests 90 different times. On an average work day we see nearly 300 pushes (including our testing branch). If we simply ran every test on every configuration on every push, we’d run approximately 1.35 billion test files per day! While we do throw money at this problem to some extent, as an independent non-profit organization, our budget is finite.

    So how do we keep our CI load manageable? First, we recognize that some of those ninety unique configurations are more important than others. Many of the less important ones only run a small subset of the tests, or only run on a handful of pushes per day, or both. Second, in the case of our testing branch, we rely on our developers to specify which configurations and tests are most relevant to their changes. Third, we use an integration branch.

    [...]

    The early results of this project have been very promising. Compared to our previous solution, we’ve reduced the number of test tasks on our integration branch by 70%! Compared to a CI system with no test selection, by almost 99%! We’ve also seen pretty fast adoption of our mach try auto tool, suggesting a usability improvement (since developers no longer need to think about what to select). But there is still a long way to go!

    We need to improve the model’s ability to select configurations and default to that. Our regression detection heuristics and the quality of our dataset needs to improve. We have yet to implement usability and stability fixes to mach try auto.

    And while we can’t make any promises, we’d love to package the model and service up in a way that is useful to organizations outside of Mozilla. Currently, this effort is part of a larger project that contains other machine learning infrastructure originally created to help manage Mozilla’s Bugzilla instance.

  • Async Interview #8: Stjepan Glavina

    Several months ago, on May 1st, I spoke to Stjepan Glavina about his (at the time) new crate, smol. Stjepan is, or ought to be, a pretty well-known figure in the Rust universe. He is one of the primary authors of the various crossbeam crates, which provide core parallel building blocks that are both efficient and very ergonomic to use. He was one of the initial designers for the async-std runtime.

  • Missing structure in technical discussions

    People are amazing creatures. When discussing a complex issue, they are able to keep multiple independent arguments in their heads, the pieces of supporting and disproving evidence, and can collapse this system into a concrete solution.

  • Thank you, Julie Hanna

    Over the last three plus years, Julie Hanna has brought extensive experience on innovation processes, global business operations, and mission-driven organizations to her role as a board member of Mozilla Corporation. We have deeply appreciated her contributions to Mozilla throughout this period, and thank her for her time and her work with the board.

    [...]

    We look forward to continuing to see her play a key role in shaping and evolving purpose-driven technology companies across industries.

More in Tux Machines

KDE neon Rebased on 20.04

KDE neon is our installable Linux with continuous integration and deployment. It’s based on Ubuntu who had a new Long Term Support Release recently so we’ve rebased it on Ubuntu 20.04 now. You should see a popup on your install in the next day or so. It’ll ask you to make sure your system is up to date then it’ll upgrade the base to 20.04 which takes a while to download and then another while to install. Afterwards it should look just the same because it’s the same wonderful Plasma desktop. Read more Also: KDE neon Is Now Based on Ubuntu 20.04 LTS (Focal Fossa)

Everything You Need to Know About Linux Ubuntu Server

As you should probably know, Linux powers the majority of the web we see today. This is mainly because Linux systems are inherently more secure and stable than other systems. There are several types of Linux distributions for powering servers. Some notable ones include Ubuntu, Red Hat, Debian, and CentOS. Ubuntu, in particular, has been enjoying a surge in popularity as a server distro in recent times. In this guide, our editors have outlined why the Linux Ubuntu server is outgrowing many of its competitions. Stay with us throughout this guide to learn why Ubuntu shines as a server distro. Read more

Byte – music player designed for elementary OS

I spend an inordinate amount of time listening to music. My favorite pastime is to see an eclectic range of bands, solo artists, and orchestras live. It’s such a life-changing and exhilarating experience. It’s one thing to be sitting at home listening to a CD or watching music videos on TV or on YouTube, but being in the audience, packed out in a stadium or music hall, takes it to another level. But it’s an expensive pastime, and on hold given the current coronavirus pandemic. These days, I’m listening to music from my CD collection which I’ve encoded to FLAC, a lossless audio format. Linux is endowed with a plethora of open source music players. And I’ve reviewed the vast majority. But I seem to keep finding interesting music players. Byte is the latest I’ve stumbled across. Byte is a GTK-based music player. It was created with the desire to make a good music player for elementary OS. It focuses on two aspects: features and design. Byte isn’t tied to elementary OS; it runs on other Linux distributions. It’s in a fairly early stage of development, with its initial release only back in August 2019. Read more

AMD Ryzen Embedded SBC Review with Ubuntu 20.04

DFI GHF51 Ryzen Embedded SBC runs about as well in Ubuntu 20.04 as it does in Windows 10. Everything basically works and performs well. Our testing shows AMD Ryzen Embedded R1606G processor to offer slightly better performance than the top of the line Intel Gemini Lake Pentium J5005 processor. I also had one of the same issues as in Windows: one Seagate USB hard drive would not work reliability at all with transfer stalled. That’s probably just a hardware incompatibility, as the drive works with other platforms, and other USB storage devices achieve normal performance when connected to DFI SBC. I also noticed some artifacts with one 3D graphics benchmark, but those did not show up in other 3D accelerated programs. DFI GHF51 is an impressive piece of hardware as it packs lots of CPU and GPU power in a form factor similar to Raspberry Pi 4 SBC. I’d like to thank DFI for sending a review sample. If you plan to buy in large quantities to integrate the board into your product, you could contact the company via the product page. It’s used to be available as a sample on the company’s DFI-ITOX online store for $378, but it has been taken down since last time. Read more