Archive for May 16, 2023

Tuesday, May 16, 2023

Git Tower 9.3

Tower:

The Merge Wizard now shows all commits that actually changed the file on each side, instead of just showing the - often unrelated - commit at the tip of the branch or revision for a conflict side. This provides helpful context information about the conflict and shows who modified the file on each side and when.

[…]

The last modified timestamp is now displayed for each side, making it easy to determine which version is newer.

[…]

Each conflict side is now labeled with the branch name or revision that the version originated from, making it easier to understand which side belongs to which branch or revision.

Previously:

The Legacy of BlackBerry and BBM

Christina Warren (Mastodon):

BlackBerry Messenger, better known as BBM to its millions of once-devoted fans, was arguably the original “killer app” of the smartphone age and it set the standard for the way we have communicated via text on our phones for nearly 20 years and defined the blueprint for mobile messaging services as we know them.

[…]

The brilliance of BBM was that it combined two existing quick messaging paradigms, instant messengers a la AIM and Yahoo Messenger and SMS. But unlike SMS, which U.S. wireless carriers were charging between five and ten cents a message for, BBM was free, included within the data plan that every BlackBerry user paid for either through their carrier or through an enterprise server agreement with their employer. Whereas a normal wireless user might send a few hundred SMS messages in a month, depending on their wireless plans allowance, BlackBerry users would frequently send and receive hundreds of messages a day.

[…]

Beyond just “D” and “R” designations, every BlackBerry had a blinking red light that indicated a new BBM message (or email) had arrived to your phone, putting the “crack” in “Crackberry.” Before BBM, the idea of being “always on” was a concept that was reserved for only the most hardcore of computer users; those constantly tethered to a desktop or laptop. After BBM, it was a way of life.

[…]

Instead of using a phone number or username/email as your unique identifier, BlackBerry users were issued a unique eight-digit alphanumeric PIN instead. Each PIN was unique to its physical device, which made the process of switching devices sometimes fraught and necessitated the need for PIN exchanges, and for some users of a certain age, your PIN was your identity.

Detecting Unwanted Location Trackers

Apple:

Apple and Google jointly submitted a proposed industry specification to help combat the misuse of Bluetooth location-tracking devices for unwanted tracking. The first-of-its-kind specification will allow Bluetooth location-tracking devices to be compatible with unauthorized tracking detection and alerts across iOS and Android platforms. Samsung, Tile, Chipolo, eufy Security, and Pebblebee have expressed support for the draft specification, which offers best practices and instructions for manufacturers, should they choose to build these capabilities into their products.

[…]

The specification has been submitted as an Internet-Draft via the Internet Engineering Task Force (IETF), a leading standards development organization. Interested parties are invited and encouraged to review and comment over the next three months. Following the comment period, Apple and Google will partner to address feedback, and will release a production implementation of the specification for unwanted tracking alerts by the end of 2023 that will then be supported in future versions of iOS and Android.

Nick Heer:

In other words, this spec should prevent people from needing to install a bunch of proprietary detection apps. How a device differentiates between legitimate and creepy uses of trackers is something left to a platform’s “unwanted tracking algorithms”.

Juli Clover (Hacker News):

The New York Police Department (NYPD) is encouraging New York car owners to install Apple AirTags in cars in order to cut down on car theft in the city.

[…]

In an accompanying press conference on Sunday, New York City mayor Eric Adams said that the city will provide 500 free AirTags to car owners. According to CBS News, the AirTags are available to residents in Castle Hill, Soundview, and Parkchester, as these areas have seen a 548 percent increase in stolen Hyundai and Kia vehicles.

John Gruber:

This is a case where, ideally, you’d want FindMy (or Apple’s Tracker Detect app for Android) not to notify a potential thief that they’re being tracked by an unknown-to-them AirTag. But we can’t have it both ways. There’s no magic way to mark your AirTag as not being used for stalking.

Previously:

Go Compiler Telemetry

Thomas Claburn (Hacker News):

Russ Cox, a Google software engineer steering the development of the open source Go programming language, has presented a possible plan to implement telemetry in the Go toolchain.

However many in the Go community object because the plan calls for telemetry by default.

[…]

Cox’s proposal summarized lengthier documentation in three blog posts.

Russ Cox:

This post is about why I believe telemetry is important for open-source projects, and what it might look like to approach telemetry in an open-source-friendly way. That leads to a new design I call transparent telemetry.

[…]

Statistics gathered by transparent telemetry make it possible for developers to notice that something is going wrong even when users do not.

For example, during the Go 1.14 release process in early 2020 we made a change to the way macOS Go distributions are built, as part of keeping them acceptable to Apple’s signing tools. Unfortunately, the way we made the change also made all the pre-compiled .a files shipped in the distribution appear stale to builds. […] No one reported the bug over three years of Go releases. We didn’t notice and fix the problem until late 2022 while investigating something else.

[…]

Some open-source projects have adopted traditional telemetry, with mixed success and varying levels of user pushback. For example: Audacity, GitLab, and Homebrew. Homebrew’s telemetry seems to be generally accepted by users, and VS Code’s detailed telemetry has not stopped it from being used by 74% of developers, as reported by the 2022 StackOverflow survey.

Russ Cox (Hacker News):

  • Counting: Go toolchain programs store counter values in per-week files maintained locally.
  • Configuration: There is a reviewed public process for defining a new graph or metric to track and publish on the Go web site. The exact counters that need to be collected, along with the sampling rate needed for high accuracy results, are derived from this configuration.
  • Reporting: Once a week, an automated reporting program randomly decides whether to fetch the current configuration and then whether to be one of the sampled systems that week. If so, it reports the counters listed in the configuration to a server run by the Go team at Google. In typical usage, we expect a particular Go installation to report each week with under 2% probability, meaning less than once per year on average.
  • Publishing: The server publishes each day’s reports in full (in a compressed form) as well as publishing the tabular and graphical summaries defined in the configuration.

Russ Cox:

Understanding how often GOPATH mode (non-module mode) is used is important for understanding how important it is to keep running, and for which use cases.

[…]

David Gerard (via Hacker News):

the Go maintainers are now claiming that objectors to Google’s opt-out telemetry proposal on the Go compiler - yes, really - are arguing in bad faith and violating the Code of Conduct, and their comments are getting hidden.

Russ Cox:

The current plan is to use some form of opt-in to collect telemetry.

[…]

As mentioned in the introductory post, -buildmode=shared has never worked particularly well, and its current design is essentially incompatible with Go modules. We have a rough design for how we might make it work, but that’s a lot of work, and it’s unclear whether it should be a high priority. Our guess is that there are essentially no users of this flag, and that therefore it shouldn’t be prioritized. But that’s just a guess; data would be better.

[…]

The Go build cache is a critical part of the user experience, but we don’t know how well it works in practice. The original build cache heuristics were decided in 2017 based on a tracing facility that we asked users to run for a few weeks and submit traces. Since then, many things about Go builds have changed, and we have no idea how well things are working.

See also: Dropbox (via Hacker News).

Previously:

Update (2023-05-17): Russ Cox (via Hacker News):

No change in consensus, so accepted. 🎉