☕ Google vs. the World
Companies are fighting back against Google's replacement for Third Party cookies. This has huge implications for the web, so we break down cookies and google's replacement. Plus, quicker VM boot ups!
Hey Guys,
Industry News
Google faces hurdles in adoption for FLoC
What are cookies?
An HTTP cookie is a small piece of data sent to a user’s web browser. The user’s web browser will then store that piece of data and send it back in later HTTP requests.
Cookies can be either first party cookies or third party cookies.
First party cookies are created by the website the user is visiting. So, when you visit a news website like theverge.com, they’ll create first party cookies to keep track of things like session management (so you don’t have to keep logging in) or language preferences.
Third party cookies are created by a third party server (domains other than the one the user is visiting) via code that is loaded on the publisher’s website. So, when you visit theverge.com, they have a snippet of code that runs and creates a third party cookie from the domain https://googleleads.g.doubleclick.net.
The third party cookie is available on any website that loads the third-party server’s code. Therefore, they can be used to collect information on a user’s web browsing activity and target specific ads to users.
Third party cookies have started to get blocked by many browsers (Brave browser for example) and browser extensions (uBlock Origin).
What is FLoC?
Therefore, Google has been promoting a replacement for Third Party cookies that they call Federated Learning of Cohorts or FLoC.
FLoC is based on web browsers using a user’s browsing history to place them into groups (or cohorts) that describe them. These cohorts of users would be useful, in that they describe a user well enough for ad-targeting, but also private, since the clusters would be large enough so they don’t reveal information that is too personal. This is Google’s view at least.
A user’s FLoC would then be available to websites (that want to show the user targeted ads) through a JavaScript API.
You can read more about the technical considerations of FLoC here.
Google facing Hurdles with FLoC adoption
Remember, that FLoC requires browsers to implement it in order for it to work. The browser has to use a user’s browsing history to place a user into a cohort.
However, many browser makers are speaking out against FLoC and announcing that they will not adopt the standard.
Mozilla, Brave, Vivaldi and Opera have all gone on record saying they do not back the FLoC system.
Additionally, there are developer proposals in the Wordpress community to send out a security update that enables Wordpress sites to block FLoC by default. This would be done by having a Wordpress website send a special HTTP header that disables FLoC on the website.
If done, this would be a major blow to Google’s FLoC plans as Wordpress powers over 70 million websites on the internet.
Tech Snippets
Balaji Srinivasan (former CTO at Coinbase and former Partner at Andreessen Horowitz) did a marathon 4 hour podcast with Tim Ferriss on where technology is going.
If you’re a programmer, it can be incredibly useful to have a vision for the future of technology. Keeping up with (and having an opinion on) tech trends can help you jump on new opportunities.
Balaji Srinivasan has an incredibly clear vision for the future of technology. His perspectives on cloud-based nation states, decentralized hollywood, cryptocurrencies, biotechnology and more are all fascinating!
Engineers at Facebook have developed a method to improve the performance of virtual machines at scale.
Jump-Start helps reduce a virtual machine’s overhead during the warm-up phase.
It has been implemented in the HipHop Virtual Machine (HHVM) which is used to power Facebook.com (along with many other sites on the web).
Jump-Start has resulted in reducing HHVM’s overhead by 55% during warm-up and improves Facebook.com’s performance by 5.5% in steady state.
Jump-Start works by reducing the amount of compilation done by web servers by sharing profile data amongst the web servers so all the servers don’t have to perform the profile compilation step when booting up a VM.
Interview Question
Write a function that adds two numbers.
You cannot use + or any arithmetic operators!
We’ll send a detailed solution tomorrow, so make sure you move our emails to primary, so you don’t miss them!
Gmail users—move us to your primary inbox
On your phone? Hit the 3 dots at the top right corner, click "Move to" then "Primary"
On desktop? Back out of this email then drag and drop this email into the "Primary" tab near the top left of your screen
Apple mail users—tap on our email address at the top of this email (next to "From:" on mobile) and click “Add to VIPs”
Previous Solution
As a refresher, here’s the last question
You are given n non-negative integers that represent the height of an elevation-map. The width of each bar in the map is 1.
Compute how much water would be trapped in the elevation map after a rainstorm.
Here’s the question in LeetCode.
Example
Input: [0,1,0,2,1,0,1,3,2,1,2,1]
Output: 6
Explanation: The above elevation map (black section) is represented by array [0,1,0,2,1,0,1,3,2,1,2,1]. In this case, 6 units of rain water (blue section) are being trapped.
Solution
So, this question is best explained visually and that’s quite difficult to do in an email.
However, I found a fantastic series of YouTube videos that go into depth on the nuances of the question.
Part 1 of the series discusses this problem and goes through a couple of examples. It gives a O(n^2)
solution.
Part 2 of the series discusses an O(n)
time and O(n)
space solution.
Part 3 of the series discusses the optimal O(n)
time and O(1)
space solution.
Here’s my Python 3 code (with test cases) for the optimal solution.