Language Selection

English French German Italian Portuguese Spanish

Moz/FF

Mozilla: Rust and WebAssembly, WebRender, MDN Changelog for November 2018, Things Gateway and Firefox 65 Beta 6 Testday

Filed under
Moz/FF
  • Rust and WebAssembly in 2019

    Compiling Rust to WebAssembly should be the best choice for fast, reliable code for the Web. Additionally, the same way that Rust integrates with C calling conventions and libraries on native targets, Rust should also integrate with JavaScript and HTML5 on the Web. These are the Rust and WebAssembly domain working group’s core values.

    In 2018, we made it possible to surgically replace performance-sensitive JavaScript with Rust-generated WebAssembly.

  • rust for cortex-m7 baremetal
  • WebRender newsletter #33

    Yes indeed. In order for picture caching to work across displaylists we must be able to detect what did not change after a new displaylist arrives. The interning mechanism introduced by Glenn in #3075 gives us this ability in addition to other goodies such as de-duplication of interned resources and less CPU-GPU data transfer.

  • MDN Changelog for November 2018

    Potato London started work on this shortly after one-time payments launched. We kicked it off with a design meeting where we determined the features that could be delivered in 4 weeks. Potato and MDN worked closely to remove blockers, review code (in over 25 pull requests), and get it into the staging environment for testing. Thanks to everyone’s hard work, we launched a high-quality feature on schedule.

    We’ve learned a lot from these payment experiments, and we’ll continue to find ways to maintain MDN’s growth in 2019.

  • K Lars Lohn: Things Gateway - a Virtual Weather Station

    Today, I'm going to talk about creating a Virtual Weather Station using the Things Gateway from Mozilla and a developer account from Weather Underground. The two combined enable home automation control from weather events like temperature, wind, and precipitation.

  • Taskgraph Like a Pro

    Have you ever needed to inspect the taskgraph locally? Did you have a bad time? Learn how to inspect the taskgraph like a PRO. For the impatient skip to the installation instructions below.

  • Firefox 65 Beta 6 Testday, December 21th

    We are happy to let you know that Friday, December 21th, we are organizing Firefox 65 Beta 6 Testday. We’ll be focusing our testing on: and changes and UpdateDirectory.

    Check out the detailed instructions via this etherpad.

Mozilla Firefox 64 Is Now Available for All Supported Ubuntu Linux Releases

Filed under
Moz/FF
Ubuntu

Mozilla Firefox 64.0 continues the "Quantum" series with new features and improvements, including better recommendations for US users by showing suggestions about new and relevant Firefox features, services, and extensions based on their browsing habbits, enhanced tab management by allowing you to more easily and quickly close, move, pin, or bookmark tabs.

This release also makes it easier to manage performance via a new "Task Manager" accessible from the about:performance page, allowing users to view which tabs consume more CPU time so you can close them to conserve power, adds link time optimization (Clang LTO) for Linux and Mac users, as well as a new toolbar context menu option to remove add-ons.

Read more

Mozilla Firefox 64.0

Filed under
Moz/FF

Programming: Python, Mozilla and HowTos

Filed under
Development
Moz/FF

Tor Browser: An Ultimate Web Browser for Anonymous Web Browsing in Linux

Filed under
Moz/FF
OSS
Security
Web

Most of us give a considerable time of ours to Internet. The primary Application we require to perform our internet activity is a browser, a web browser to be more perfect. Over Internet most of our’s activity is logged to Server/Client machine which includes IP address, Geographical Location, search/activity trends and a whole lots of Information which can potentially be very harmful, if used intentionally the other way.

Read more

Mozilla Firefox and Rust

Filed under
Moz/FF
  • A new browser for Magic Leap [Ed: Mozilla VR Blog's Andre Vrignaud published "A new browser for Magic Leap". Then it was removed. Prematurely and accidentally announced?]

    Today, we’re making available an early developer preview of a browser for the Magic Leap One device. This browser is built on top of our Servo engine technology and shows off high quality 2D graphics and font rendering through our WebRender web rendering library. And will soon add more features.

    While we only support basic 2D pages today and have not yet built the full Firefox Reality browser experience and published this into the Magic Leap store, we look forward to working alongside our partners and community to do that early in 2019! Please try out the builds, provide feedback, and get involved if you’re interested in the future of mixed reality on the web in a cutting-edge standalone headset. And for those looking at Magic Leap for the first time, we also have an article on how the work was done.

  • encoding_rs: a Web-Compatible Character Encoding Library in Rust

    encoding_rs is a high-decode-performance, low-legacy-encode-footprint and high-correctness implementation of the WHATWG Encoding Standard written in Rust. In Firefox 56, encoding_rs replaced uconv as the character encoding library used in Firefox. This wasn’t an addition of a component but an actual replacement: uconv was removed when encoding_rs landed. This writeup covers the motivation and design of encoding_rs, as well as some benchmark results.

    Additionally, encoding_rs contains a submodule called encoding_rs::mem that’s meant for efficient encoding-related operations on UTF-16, UTF-8, and Latin1 in-memory strings—i.e., the kind of strings that are used in Gecko C++ code. This module is discussed separately after describing encoding_rs proper.

    The C++ integration of encoding_rs is not covered here and is covered in another write-up instead.

  • wasm-bindgen — how does it work?!

    A month or so ago I gave a presentation on the inner workings of wasm-bindgen to the WebAssembly Community Group. A particular focus was the way that wasm-bindgen is forward-compatible with, and acts as a sort of polyfill for, the host bindings proposal. A lot of this material was originally supposed to appear in my SFHTML5 presentation, but time constraints forced me to cut it out.

    Unfortunately, the presentation was not recorded, but you can view the slide deck below, or open it in a new window. Navigate between slides with arrow keys or space bar.

  • More on RLS version numbering

    In a few days the 2018 edition is going to roll out, and that will include some new framing around Rust's tooling. We've got a core set of developer tools which are stable and ready for widespread use. We're going to have a blog post all about that, but for now I wanted to address the status of the RLS, since when I last blogged about a 1.0 pre-release there was a significant sentiment that it was not ready (and given the expectations that a lot of people have, we agree).

  • Using cargo-fuzz to Transfer Code Review of Simple Safe Code to Complex Code that Uses unsafe

    encoding_rs::mem is a Rust module for performing conversions between different in-RAM text representations that are relevant to Gecko. Specifically, it converts between potentially invalid UTF-16, Latin1 (in the sense that unsigned byte value equals the Unicode scalar value), potentially invalid UTF-8, and guaranteed-valid UTF-8, and provides some operations on buffers in these encodings, such as checking if a UTF-16 or UTF-8 buffer only has code points in the ASCII range or only has code points in the Latin1 range. (You can read more about encoding_rs::mem in a write-up about encoding_rs as a whole.)

  • How I Wrote a Modern C++ Library in Rust

    Since version 56, Firefox has had a new character encoding conversion library called encoding_rs. It is written in Rust and replaced the old C++ character encoding conversion library called uconv that dated from early 1999. Initially, all the callers of the character encoding conversion library were C++ code, so the new library, despite being written in Rust, needed to feel usable when used from C++ code. In fact, the library appears to C++ callers as a modern C++ library. Here are the patterns that I used to accomplish that.

  • Firefox & cookies corruption problem

    A strange problem befell one of my computers running Windows, with Firefox being the default browser, utilizing a profile that goes back a good decade or more. One blue Monday, I opened the browser, went to one of the sites I frequently visit and use, and noticed that I'd been logged out. Another site, same thing. It would appear all my login sessions were gone.

    Since I keep multiple backups of everything, I restored the Firefox cookies database - cookies.sqlite file into the Firefox profile, and I was back to normal. Several days later, the issue happened again. Intrigued, I started exploring this somewhat obscure and not-well-documented problem. I believe I know why, and I have a solution.

Debian and Mozilla Development Reports for Last Month

Filed under
Moz/FF
Debian

Mozilla: Security, Tor Browser and December’s Featured Extensions

Filed under
Moz/FF
  • Maximizing password manager attack surface: Learning from Kaspersky

    I looked at a number of password manager browser extensions already, and most of them have some obvious issues. Kaspersky Password Manager manages to stand out in the crowd however, the approach taken here is rather unique. You know how browser extensions are rather tough to exploit, with all that sandboxed JavaScript and restrictive default content security policy? Clearly, all that is meant for weaklings who don’t know how to write secure code, not the pros working at Kaspersky.

    Kaspersky developers don’t like JavaScript, so they hand over control to their beloved C++ code as soon as possible. No stupid sandboxing, code is running with the privileges of the logged in user. No memory safety, dealing with buffer overflows is up to the developers. How they managed to do it? Browser extensions have that escape hatch called native messaging which allows connecting to an executable running on the user’s system. And that executable is what contains most of the logic in case of the Kaspersky Password Manager, with the browser extension being merely a dumb shell.

  • The Patch that converts a Firefox to a Tor Browser

    Have you ever wondered was makes the Tor Browser the Tor Browser? That is, what patch you would have to apply to Firefox in order to end up with a Tor Browser.

  • Mozilla Addons Blog: December’s Featured Extensions

Firefox Reality update supports 360 videos and 7 additional languages

Filed under
Moz/FF

Firefox Reality 1.1 is now available for download in the Viveport, Oculus, and Daydream app stores. This release includes some major new features, including localization to seven new languages (including voice search support), a new dedicated theater viewing mode, bookmarks, 360 video support, and significant improvements to the performance and quality of our user interface.

Read more

Mozilla: WebRender, Open Innovation, and New Site for Rust

Filed under
Moz/FF
  • Mozilla B-Team: happy bmo push day!
  • WebRender newsletter #32

    OMTP, for off-main-thread painting, is a project completely separate from WebRender that was implemented by Ryan. Without WebRender, painting used to happen on the main thread (the thread that runs the JS event loop). Since this thread is often the busiest, moving things out of it, for example painting, is a nice win for multi core processors since the main thread gets to go back to working on JS more quickly while painting is carried out in parallel. This work is pretty much done now and Ryan is working on project Fission.

    What about WebRender? WebRender moved all of painting off of the main thread by default. The main thread translates Gecko’s displaylist into a WebRender displaylist which is sent to the GPU process and the latter renders everything. So WebRender and OMTP, while independent projects both fulfill the goal of OMTP which was to remove work from the main thread. OMTP can be seen as a very nice performance win while waiting for WebRender.

  • Mozilla Open Innovation Team: Prototyping with Intention

    At the start of any project our Open Innovation team concepts with the intention that things will change. Whether it be wireframe prototypes or coded experiments, iteration is inevitable. First ideas are often far from perfect… it’s with help from new or returning contributors and collaborating project teams that we’re able to refine initial ideas more readily and efficiently. How? Through feedback loops designed with tools such as Discourse, GitHub, contact forms, on-site surveys and remote testing. Our overall goal being: Release assumptions early and learn from those engaging with the concept. In this way we set our experiences up for incremental, data influenced iteration.

  • A new look for rust-lang.org

    We want Mario to use Rust, the fireflower, and turn into the ever-awesome Fire Mario. But there’s a corollary here: it’s better to say “we will make you into Fire Mario” than it is “we sell fire flowers.”

Syndicate content

More in Tux Machines

Android Leftovers

Qt and KDE: Qt Champions, Kdenlive, FreeBSD 12, Alejandro Montes Bascuñan and More

  • Welcome to the 2018 Qt Champions!
    Another year has passed, winter has come so it’s time to celebrate the Qt Champions!
  • Kdenlive Video Editor 18.12 Released with Important Fixes
    Kdenlive, KDE Non-Linear Video Editor, released version 18.12 a few days ago with some crashes fixed and other improvements.
  • KDE ports on FreeBSD 12 (amd64)
    FreeBSD 12 was released last week. I’m in the process of rebuilding my main workstation to all-flash (which means backups, disentangling ZFS pools, etc. etc.) and in the meantime installed 12-R to an older i3 I had lying around. KDE Applications 18.12 were released last thursday. Those are in ports, but haven’t made it around to the official packages yet. So here are some notes on almost-current KDE on almost-current FreeBSD: Installing modern KDE: from a freshly installed 12-R system, getting to a KDE Plasma desktop is a matter of installing two metapackages: pkg install xorg kde5 . That will leave you in a state where you need to link .xinitrc to startkde .. rather old-school. For purposes of having a pleasant setup, pkg install falkon quassel sddm as well.
  • Interview with Alejandro Montes Bascuñan
    I found out about it when I was specifically looking for drawing and painting software that could run on Linux because I was about to make the change from Windows 10 to Linux but the only thing holding me back was the program that I would use to draw. Then I stumbled upon Krita and gave it a try and well, the rest is history.
  • BuildStream metrics: exploration
    Metrics and telemetry are fundamental in any engineering activity to evaluate, learn and improve. They are also needed to consolidate a culture in which opinion and experience are continuously challenged, in which experimentation and evidence becomes the norm and not the exception, in which transparency rules so co-workers are empowered, in which data analysis leads to conversations so evaluations are shared. Open Source projects has been traditionally reluctant to promote telemetry, based on privacy concerns. Some factor that comes to my mind are helping to change this perception...

Ubuntu: Nautilus 3.30 and Mir 1.1.0 Release

  • Nautilus 3.30 Lands In Ubuntu 19.04 Disco Dingo
    Nautilus 3.30 has landed in Ubuntu 19.04 Disco Dingo. The application has finally been updated after staying at version 3.26 for the past two Ubuntu releases. As many users are probably aware, Ubuntu 18.04 and 18.04 use an older version of Nautilus (3.26) because the default Gnome file manager lots its desktop icons functionality with version 3.28, and the Ubuntu devs wanted to keep this functionality. About a month ago, Desktop Icons, a Gnome Shell extension that brings back desktop icons in Gnome, was added to the Ubuntu 19.04 Disco Dingo repositories. Thanks to this extension, the desktop icons functionality is no longer needed in Nautilus, so the default Gnome file manager was finally updated to the latest version (3.30) in Ubuntu 19.04 Disco Dingo.
  • Mir 1.1.0 Release
    We’re pleased to announce the release of Mir 1.1.0. The main thing to note with this release is a new package mir-graphics-drivers-nvidia with support for Nvidia binary “eglstream” drivers. There are also some bugfixes and some changes upstreamed by PostmarketOS developers building Mir on Musl and the UBports developers preparing to update the Mir version used by their Ubuntu Touch phones.
  • Mir 1.1 Released With EGLStreams KMS Support To Work With NVIDIA's Binary Driver
    The Canonical developers maintaining the Mir display server with its modern focus on being a Wayland compositor have just issued Mir 1.1. The primary addition with Mir 1.1 is the introduction of NVIDIA proprietary driver support by means of adding an EGLStreams KMS back-end that is compatible with the NVIDIA Linux driver architecture. If you are on the latest NVIDIA Linux drivers, it's now possible to fire up Mir 1.1 and enjoy its functionality and Wayland support.

SUSE: Aris Winardi, New User Interface for Open Build Service and More

  • openSUSE Enthusiast Creates Board Elections Poster to Encourage Participation
    Aris Winardi giving a presentation at the openSUSE Asia Summit 2016 in Jakarta, Indonesia Aris Winardi, from Bogor, West Java, Indonesia, wants to inspire the openSUSE Community and Members to get involved in the Elections process and make it the best one yet. The goal is to encourage all from the Community who are Contributors to the Project to apply for and get their openSUSE Membership, which will give them the right to vote in the upcoming elections and also some extra recognition of the work they do to keep the Project alive.
  • Let it Shine: New User Interface for Open Build Service
    The content of the following article has been contributed by the Open Build Service (OBS) Team at SUSE. It is based on the two blog posts “OBS Is Revamping Its User Interface, Help Us to Make It Awesome” and “Revamped User Interface for Project, User and Group Pages“, originally published at the OBS web site and licensed under a Creative Commons Attribution 4.0 International License.
  • In 2019, don`t let Cybersecurity keep you awake. Sleep tight with HPE, SUSE and AMD.
    Especially when we see large enterprises having their brand equity destroyed due to data breeches. But don`t be naïve, small companies might not get that kind of visibility but still, according to research, 60 percent of them who suffer a cyber breech are out of business in 6 months.