Archive for March 24, 2023

Friday, March 24, 2023

Swift Proposal: Value and Type Parameter Packs


Many modern Swift libraries include ad-hoc variadic APIs with an arbitrary upper bound, typically achieved with overloads that each have a different fixed number of type parameters and corresponding arguments. Without variadic generic programming support in the language, these ad-hoc variadic APIs have a significant cost on library maintenance and the developer experience of using these APIs.

This proposal adds type parameter packs and value parameter packs to enable abstracting over the number of types and values with distinct type. This is the first step toward variadic generics in Swift.


A parameter pack itself is not a first-class value or type, but the elements of a parameter pack can be used anywhere that naturally accepts a comma-separated list of values or types using pack expansions. A pack expansion unpacks the elements of a pack into a comma-separated list, and elements can be appended to either side of a pack expansion by writing more values in the comma-separated list.

A pack expansion consists of the repeat keyword followed by a type or an expression. The type or expression that repeat is applied to is called the repetition pattern. The repetition pattern must contain pack references.


Mark Surman (Hacker News):

We’re only three months into 2023, and it’s already clear what one of the biggest stories of the year is: AI. AI has seized the public’s attention like Netscape did in 1994, and the iPhone did in 2007.


We’ve learned that this coming wave of AI (and also the last one) has tremendous potential to enrich people’s lives. But it will only do so if we design the technology very differently — if we put human agency and the interests of users at the core, and if we prioritize transparency and accountability. The AI inflection point that we’re in right now offers a real opportunity to build technology with different values, new incentives and a better ownership model.


So, today we are announcing A startup — and a community — that will build a trustworthy and independent open-source AI ecosystem. Mozilla will make an initial $30M investment in the company.

I’m not saying that someone shouldn’t do this, but it’s not clear to me why Mozilla should be the ones. Shouldn’t their top priority be Firefox, an important product/engine where they uniquely can make a difference? They laid off most of the Servo team, citing financial difficulties, yet they have tons of money for this.


Update (2023-05-18): Mozilla:

Today, Mozilla Ventures is announcing a new investment and its first in the United Kingdom: Rodeo, an app that makes the gig work ecosystem more transparent for gig workers.

Google Accused of Violating Retention Obligations

Florian Mueller:

The key allegation is that “Google permanently deletes Google Chats every 24 hours—and did so even after this litigation commenced, after Plaintiffs repeatedly inquired about why those chats were missing from Google’s productions, and after Plaintiffs submitted a proffer on this exact issue at the Court’s direction.” While Google apparently just blames this on an enterprise-wide default setting--“history off”--the governmental and private plaintiffs dismiss that excuse, arguing that “[a]ny administrator of Google Chats—an application developed by Google—could have changed this default setting at any point for all custodians.” The emphasis on “by Google” is in the document itself. While it’s a good thing when tech companies eat their own dog food […], they can’t easily hide behind default settings and other properties of the services they create, control, and could change anytime.

Florian Mueller (Hacker News):

Since the “Google Chats” discovery dispute started with a motion by dozens of state AGs, Epic Games, Match Group, and other plaintiffs in October 2022, it has made Google’s behavior look worse as more information came to the light of day. The issue has also widened because the DOJ and the same state AGs as in the litigation that was originally started by Epic brought a motion for sanctions in the United States et al. v. Google antitrust litigation in the District of Columbia. Both cases are scheduled to go to trial later this year, and the plaintiffs are seeking trial-related sanctions as opposed to a slap on the wrist.

The latest filing by the plaintiffs in the Northern District of California takes the topic to a new level: Google CEO Sundar Pichai himself is being accused of playing a key role in this.


The first redaction likely means that he realized that the topic should not be discussed with history on, and what he did “nine seconds later” will either have been that he turned history off or that he opened a new chat with history off from the beginning.

It sounds as though any text chat is being treated as a record that must be retained. Whereas, I guess for historical reasons, phone calls are treated differently. A Zoom conversation with auto-captioning enabled would also create a written record that would then need to be preserved.


Update (2023-03-30): Florian Mueller:

Yesterday, Judge James Donato of the United States District Court for the Northern District of California, who is presiding over multiple consolidated Google Play Store antitrust cases (brought by Epic Games, three dozen state AGs, Match Group, and class-action plaintiffs), entered his findings of fact and conclusions of law, ordering monetary sanctions first (recovery of attorneys’ fees) and announcing that non-monetary sanctions will be determined a little later[…]

Update (2023-03-31): Sarah Perez (via Tim Sweeney, Hacker News):

Google employees were found to be asking others to switch off chat history when discussing more potentially relevant matters, like Revenue Share Agreement (RSA) contracts, Mobile App Distribution Agreements and a topic called “Project Runway,” which was the internal codename for a project that involved changing the Google Play commission rate in response to developer complaints and the threat of regulation.

In another example, Google’s Head of Platforms & Ecosystems Strategy for Android, Margaret Lam, remarks “I talk about RSA related things all day and I don’t have have history on for all my chats :),” after another employee had informed her that any conversation about RSA needed to have chat history turned on “per policy.”

Update (2023-04-03): See also: Florian Mueller.

Update (2023-04-22): See also: Hacker News.

Update (2023-10-24): Alex Pasternack:

But somewhere on Google’s vast landscape of servers, the auto-deletion continued. “Off the record” chat meetings like Pinchai’s were erased every 24 hours, up until February 8, 2023, shortly before the DOJ filed a motion for sanctions. This was despite the fact, as DOJ attorneys wrote in their motion, “at every turn, Google reaffirmed that it was preserving and searching all potentially relevant written communications.”


But for many Google employees, the “legal hold” reminders conflicted with a corporate custom and a default setting: Many employees keep their Google Chat history switched to “off.” The company’s “Communicate with Care” policy, disclosed in legal filings, trains employees “to have sensitive conversations over chat with history off.”


Google, argues the DOJ, knows the power of defaults to influence user choice, and was able to maintain its monopoly partly because it weaponized that power, for instance by paying Apple billions a year to make Google the default search on Safari on iPhones. The placement was apparently crucial for Google, which the DOJ estimates controls 89% of the U.S. search market. At trial, it emerged that Apple once tried to divert a fraction of search data to its own search engine, in a possible prelude to competition; Google quickly nixed that.

Via Nick Heer:

None of the players in the Google antitrust case want any of this stuff public. They are all — including Apple and Samsung — taking extraordinary measures to avoid scrutiny by observers and the press. It appears many of these same businesses have learned from that time executives like Steve Jobs and Eric Schmidt conspired to minimize cross-company poaching, proved in part by emails like those from Schmidt which read “I don’t want to create a paper trail over which we can be sued later”.


Update (2023-12-11): Sean Hollister:

On Friday, Judge Donato vowed to investigate Google for intentionally and systematically suppressing evidence, calling the company’s conduct “a frontal assault on the fair administration of justice.”

Update (2024-05-07): Ashley Belanger (Hacker News):

Near the end of the second day of closing arguments in the Google monopoly trial, US district judge Amit Mehta weighed whether sanctions were warranted over what the US Department of Justice described as Google’s “routine, regular, and normal destruction” of evidence.

Google was accused of enacting a policy instructing employees to turn chat history off by default when discussing sensitive topics, including Google’s revenue-sharing and mobile application distribution agreements. These agreements, the DOJ and state attorneys general argued, work to maintain Google’s monopoly over search.

According to the DOJ, Google destroyed potentially hundreds of thousands of chat sessions not just during their investigation but also during litigation.