Hi, I’m Alessio (aka :dexter), welcome! 👋👋🏽

(data / software) engineering - science - hacks: my playground!

Extending Glean: build re-usable types for new use-cases

(“This Week in Glean” is a series of blog posts that the Glean Team at Mozilla is using to try to communicate better about our work. They could be release notes, documentation, hopes, dreams, or whatever: so long as it is inspired by Glean. You can find anindex of all TWiG posts online.) The last blog post:This Week in Glean: Cargo features – an investigation by Jan-Erik. The philosophy of Glean has always been to offer higher-level metric types that map semantically to what developers want to measure: a Timespan metric type, for instance, will require developers to declare the resolution they want the time measured in....

February 14, 2020 · 5 min · Alessio Placitelli

GeckoView + Glean = Fenix performance metrics

(“This Week in Glean” is a series of blog posts that the Glean Team at Mozilla is using to try to communicate better about our work. They could be release notes, documentation, hopes, dreams, or whatever: so long as it is inspired by Glean. The previous post of the series lives here.) This week in Glean we tell a tale of components, design, performance and ponies (I promise!): how to bridge different telemetry worlds, with different semantics and principles?...

November 19, 2019 · 4 min · Alessio Placitelli

Add-on recommendations for Firefox users: a prototype recommender system leveraging existing data sources

By: Alessio Placitelli, Ben Miroglio, Jason Thomas, Shell Escalante and Martin Lopatka. With special recognition of the development efforts of Roberto Vitillo who kickstarted this project, Mauro Doglio for massive contributions to the code base during his time at Mozilla, Florian Hartmann, who contributed efforts towards prototyping the ensemble linear combiner, Stuart Colville for coordinating integration with AMO. Last, but not least, to Anthony Miyaguchi who helped shaping the current code thanks to his reviewing efforts....

December 8, 2017 · 12 min · Alessio Placitelli

Recording Telemetry scalars from add-ons

The Go Faster initiative is important as it enables us to ship code faster, using special add-ons, without being strictly tied to the Firefox train schedule. As Georg Fritzsche pointed out in his article, we have two options for instrumenting these add-ons: having probe definitions ride the trains (waiting a few weeks!) or implementing and sending a new custom ping (doing some pipeline work!). Both solutions are not very appealing when shipping code faster....

October 6, 2017 · 3 min · Alessio Placitelli

Getting Firefox data faster: introducing the `new-profile` ping

Let me state this clearly, again: data latency sucks. This is especially true when working on Firefox: a nicely crafted piece of software that ships worldwide to many people. When something affects the experience of our users we need to know and react fast. The story so far… We started improving the latency of the data coming from Firefox, in the previous quarters, and got to the point where the majority of pings reach our servers within 1 hour, instead of days (latest Beta only): there’s an extremely satisfying plot by :chutten about that!...

July 14, 2017 · 3 min · Alessio Placitelli

Getting Firefox data faster: the shutdown pingsender

The data our Firefox users share with us is the key to identify and fix performance issues that lead to a poor browsing experience. Collecting it is not enough if we don’t manage to receive the data in an acceptable time-frame. My esteemed colleague Chris already wrote about this a couple of times: data latency sucks. But we can fix that. Why is there latency, anyway? The bulk of measurements we collect (histograms, scalars, events, …) are sent through the main-ping....

June 23, 2017 · 3 min · Alessio Placitelli

How We Built It: The First Ever Firefox Hardware Report

By Alessio Placitelli, Ali Almossawi, and Rebecca Weiss Cross-posted from Medium We have just released the Firefox Hardware Report, a report of the hardware used by the Firefox release user base. You can read the announcement here. The Firefox team believes that this report will be very valuable to developers, particularly those who build for the web. Web developers need to know what platforms and hardware are being used to inform their decisions when they are building and upgrading applications....

December 20, 2016 · 6 min · Alessio Placitelli

Measuring tab and window usage in Firefox

With Mozilla’s Telemetry system, we have a powerful way to collect measurements in the clients while still complying to our rules of lean data collection and anonymization. Most of the measurements are collected in form of histograms that are created on the client side and submitted to our Telemetry pipeline. However, recent needs for better understanding user interaction with the browser has led to the introduction of a new measurement type, the scalar probe....

November 28, 2016 · 4 min · Alessio Placitelli

Build Firefox for Android on Ubuntu and test it on Windows!

Sadly, right now (and until bug 1169873 is fixed), it’s not possible to build Firefox for Android on Windows. That’s not nice, especially if you need to track down some Android-only failures triggered by your code 🙂 Until recently I was able to run my Android Virtual Device within my Ubuntu Virtual Machine (yeah, tricky). Then something broke in OracleVM (ticket 12941), preventing me from starting the Android emulator. Here comes the good news: there’s a way to spawn an Android emulator on Windows, build Firefox for Android on a VM and then run it....

December 31, 2015 · 2 min · Alessio Placitelli

Spark 101: getting the status of your job

As Roberto Vitillo says in his excellent post about Spark best practices: Running Spark jobs without the Spark UI is like flying blind. And that’s especially true if your spark job keeps crashing or it’s crunching big data (yeah, I had to use the expression at least once). If you don’t want to setup a SOCKS proxy or, for some reason, that simply doesn’t work for you (my case!...

December 19, 2015 · 1 min · Alessio Placitelli