Archive for October 9, 2023

Monday, October 9, 2023

Dischler Testimony on AdWords Fraud

Adi Robertson:

As the second week of the US v. Google antitrust trial gets underway, the Department of Justice is focusing on the real moneymaker behind Google Search: ads. It alleges that Google’s dominance lets it raise prices for advertisers with few repercussions — a claim backed up by Google ads executive Jerry Dischler on the stand.

Bloomberg’s Leah Nylen has the details of Dischler’s testimony, where he describes statements he made under oath in 2020. Dischler says Google tweaks its auction process in ways that may have raised prices in the past by 5 percent for the typical advertiser and could potentially have raised them by 10 percent for some queries. The parties buying the ads would have been unaware of these “tunings” of prices; “we tend not to tell advertisers about pricing changes,” Dischler said.

Matt G. Southern:

One specific change that boosted Google’s revenue, RGSP, altered the ad auction process so that the second-highest bidder would win the top advertising slot, with the actual winner taking the second spot.

Dischler revealed that while he didn’t know if this change led advertisers to place higher bids, it did increase Google’s revenue.

Leah Nylen (via Hacker News):

Michael Whinston, a professor of economics at the Massachusetts Institute of Technology, said Friday that Google modified the way it sold text ads via “Project Momiji” – named for the wooden Japanese dolls that have a hidden space for friends to exchange secret messages. The shift sought “to raise the prices against the highest bidder,” Whinston told Judge Amit Mehta in federal court in Washington.

Google’s advertising auctions require the winner to pay only a penny more than the runner-up. In 2016, the company discovered that the runner-up had often bid only 80% of the winner’s offer. To help eliminate that 20% between the runner-up and what the winner was willing to pay, Google gave the second-place bidder a built-in handicap to make their offer more competitive, Whinston said, citing internal emails and sealed testimony by Google finance executive Jerry Dischler earlier in the case.

[…]

Dischler testified on Sept. 19 that Google sometimes tweaked its advertising auctions to ensure it met revenue targets, but most of his testimony occurred in a sealed session. Whinston’s comments Friday described Google’s technique, called “squashing,” that seeks to make the runner-up’s bid more competitive.

It sounds like they are saying that instead of paying 1 cent more than the runner-up you would have to pay 15% more. This is actually less egregious than what I saw when using AdWords myself, which suggested that the auction was totally fake.

Previously:

Xcode 15 Duplicate Library Linker Warnings

Daniel Jalkut:

Even though I’ve been seeing them all summer, and have been annoyed by them, I made the same mistake I often make: assuming that the problem was too obvious not to be fixed before Xcode 15 went public. Alas.

[…]

Something about the way Xcode infers library linkage dependencies has, for several years at least, led it to count dependencies from Swift packages separately from each package, and to subsequently pass the pertinent “-l” parameter to the linker redundantly for each such dependency. In other words, if you have three Swift packages that each require “-lc++”, Xcode generates a linker line that literally passes “-lc++ -lc++ -lc++” to the linker.

[…]

So why have the warnings only appeared now? One of the major changes in Xcode 15 was the introduction of a “completely rewritten linker”, which has been mostly transparent to me, but which was also to blame for an issue with Xcode 15 that prevented some apps from launching on older macOS (10.12) and iOS (14) systems. That bug has been addressed in the Xcode 15.1 beta 1 release, which was released this week.

The solution is to add the -no_warn_duplicate_libraries flag.

Daniel Jalkut:

This simple declaration will address the problem on Xcode 15, but on Xcode 14 and earlier it will cause a link error because the old linker doesn’t recognize the argument. What we want to do if the project will continue to be built by both older and newer versions of Xcode, is to effectively derive a different value for OTHER_LDFLAGS depending on the version of Xcode itself.

[…]

OTHER_LDFLAGS expands to SUPPRESS_WARNING_FLAGS_YES on my Mac running Xcode 15.1, but on any version of Xcode 14 or earlier, it will expand to SUPPRESS_WARNING_FLAGS_NO, which expands to an empty value. No harm done.

I hope you have enjoyed this somewhat elaborate journey through the powerful but difficult to grok world of nested build settings, and how they can be used to impose rudimentary logic to whichever settings require such finessing in your projects.

Brave Layoffs

Ivan Mehta (Hacker News):

Brave Software, the maker of Brave Browser and Search, confirmed that it has laid off 9% of its staff across departments.

The company didn’t specify how many people were affected, but it corroborated the development and said the decision was driven by the tough economic climate.

Previously:

macOS Containers 0.0.1

macOS Containers (via Hacker News):

Containers have fundamentally changed the way that modern software is developed and deployed. Containers are supported by a wide range of operating systems including FreeBSD, Solaris, Linux and even Windows, but are not natively supported by macOS. Until now.

We’re announcing initial 0.0.1 release of macOS native containers. Yes, you can now run macOS inside macOS, build images using Docker and distribute them using registries.

Previously: