Johannes Weiss and Mitchell Allison (forum):
Swift Profile Recorder, an in-process sampling profiler for Swift services, is now available as an open source project.
[…]
Swift Profile Recorder enables you to:
- Adopt profiling without extra privileges or system dependencies, allowing you to add profiling across a variety of compute environments with constrained permissions.
- Collect samples using
curl
, allowing you to easily read profiler output via an HTTP endpoint without needing to learn specific tooling like perf, sample, DTrace, or eBPF (bpftrace). - Integrate with existing tools for visualization and analysis by supporting multiple industry-standard formats, including Linux perf script format, both the pprof file format as well as the
/debug/pprof/profile
endpoints, and also the collapsed format as used by the original FlameGraphs.
Apple has used Swift Profile Recorder at scale for several years as a tool for operating and debugging Swift services in production. Alongside the recent announcement of swift-parca, the Swift server ecosystem now has multiple profiling tools and approaches.
I’m intrigued by the idea of an app being able to profile itself.
Developer Tool Open Source Optimization Programming Swift Programming Language
SE-0491 (via Becca Royal-Gordon):
We propose that Swift’s grammar be extended so that, wherever an identifier
is written in source code to reference a declaration, it can be prefixed by
ModuleName::
to disambiguate which module the declaration is expected to
come from. This syntax will provide a way to resolve several types of name
ambiguities and conflicts.
[…]
That may sound like a farfetched edge case, but it’s surprisingly common for a
module to contain a type with the same name. For instance, the XCTest
module
includes an XCTest
class, which is a base class for XCTestCase
and
XCTestSuite
. To avoid this kind of trouble, developers must be careful to
give modules different names from the types inside them—the Observation
module, for example, might have been called Observable
if it didn’t have a
type with that name.
[…]
We could allow a special token, or no token, to be used in place of the module name to force a lookup to start at the top level, but not restrict it to a specific module.
[…]
There is currently no way to add a module selector to a use of a subscript.
Language Design Programming Swift Programming Language
Fight to Repair:
A coalition of businesses, nonprofits, and elected officials (including Fight To Repair’s parent organization, the Secure Resilient Future Foundation) has formally petitioned Microsoft to extend Windows 10 support, which is currently slated to end on October 14th.
With more than a billion Windows 10 devices operating globally, it is estimated that hundreds of millions fail to meet the minimum hardware requirements needed to upgrade to Windows 11.
Via Scott Larson (via Hacker News):
Microsoft’s design of Windows 11 is a concern because:
- Computer manufacturers, due to pressure from Microsoft, are designing new computers with artificial limitations like TPM and Secure Boot. These unnecessary add-ins push consumers to unnecessary hardware upgrades.
- In the setup of newly purchased consumer-grade computers, there is obfuscation in the installation language. Many of the default choices are aimed at confusing customers into selecting options that share data with vendors:
- The process of setting up OneDrive to act as a backup of data. Without consent, the setup of this configuration moves all customers’ data to the cloud service, re-points all the user folders to a cloud-specific OneDrive folder that’s very difficult to revert.
- The process of selecting a browser is obfuscated by Microsoft’s Edge Browser setup
- The AI tool Co-pilot is installed and enabled without consent. Removal is difficult or nonexistent.
- The history tracking tool “Recall” that is due to be released, sometime in the future, saves snapshots of your user experience into Microsoft’s OneDrive cloud. It looks great on paper, but in reality, this feature, along with others, will be used to move forward a surveillance state.
- Windows 11 prevents the complete uninstall of many of its built-in features. They can be removed from one user account, but they can be reinstalled during an update, or if you upgrade your computer, without your consent.
- Microsoft Edge is forced on users as a replacement by obfuscating choice in various ways.
Colin Cornaby:
One of the biggest values of my 2019 Mac Pro has been having a single machine that can run Windows and macOS. With Windows 10 losing support that’s basically the end of Boot Camp. Sort of grumpy Apple never added Windows 11 support.
Intel Macs are on the way out anyway. And I built an Intel Windows box last year. But what an inauspicious end for a killer setup. Can’t even repurpose it as a pure Windows box without hacking the Windows install to bypass the TPM check (which may not work forever.)
Previously:
Boot Camp Mac Mac Pro macOS Tahoe 26 Microsoft Edge Microsoft OneDrive Sunset Windows Windows 10 Windows 11