Archive for October 11, 2023

Wednesday, October 11, 2023

Kaleidoscope 4.2

Christopher Atlan (tweet):

In the window title bar you’ll see a new element that gives you more detail about the task. You’ll see how many conflicts you still need to resolve in that file.


The window has a new area between the title bar and the Path Bar. We call it Context Shelf. […] In the middle, depending on the conflict type (did you really expect Git to only have one?), you’ll see a description of what you are dealing with (a merge in this case) and which refs are involved. We will also try show you branch names when available.


Finally, the Path Bar above the text views has been tweaked to outline exactly what content is shown where.

Another solid update.


FCC Plans to Reinstate Network Neutrality

Jess Weatherbed (Hacker News):

The US Federal Communications Commission (FCC) has announced plans to reinstate landmark net neutrality rules meant to guarantee fair access to the internet and its information, five years after they were repealed by then-president Donald Trump in 2018.

Previous net neutrality rules adopted in 2015 classified broadband service under public utility rules and prevented internet service providers from blocking websites, throttling traffic, or charging more for faster access to certain services. According to FCC Chair Jessica Rosenworcel, the commission is expected to conduct an initial vote on reinstating these rules next month during an October 19th meeting.

I’m overall sympathetic to the network neutrality argument, but it seems like none of the horrors predicted after its removal came to pass. It’s not clear that we got any of the benefits predicted by the other side, either, though. Maybe six years is not enough time, or maybe the threat of neutrality is enough: the companies weren’t going to make drastic changes in response to regulatory changes that could easily be reversed.


Update (2023-10-27): Jon Brodkin (Hacker News):

The Federal Communications Commission today voted to move ahead with a plan that would restore net neutrality rules and common-carrier regulation of Internet service providers.

In a 3-2 party-line vote, the FCC approved Chairwoman Jessica Rosenworcel’s Notice of Proposed Rulemaking (NPRM), which seeks public comment on the broadband regulation plan. Initial comments are due on December 14 and the reply comment deadline is January 17; the docket can be found here.

See also: Net Neutrality Violations: A Brief History.

Unit Testing a SwiftUI Query

Helge Heß:

I’ve been wondering whether I could unit test a SwiftData Query, i.e. the SwiftUI property wrapper coming w/ SwiftData (in beta6 it is actually a macro). Aka whether I could unit test a SwiftUI view. This requires setting up an execution environment for the view, but surprisingly that actually works 🙂

Here’s the gist.


Rescuing Files From Classic Mac OS...with Swift

Jordan Rose:

The biggest benefits of doing this project in Swift are very similar to what the benefits would have been for using C++, back in the 90s, but with even more safety. Take directory walking. In C, this looks something like the following:

FSIterator *iter;
OSStatus err = FSOpenIterator(&directory, kFSIterateFlat, &iter);
if (err != noErr) { return err; }
// use iter
FSCloseIterator(iter); // hopefully no early exits!

But in Swift, without wrapping this API at all…

var iter: FSIterator? = nil
try FSOpenIterator(&directory, .init(kFSIterateFlat), &iter).check()
defer { FSCloseIterator(iter) }

Is it shorter? Not much. Is it nicer? Absolutely! First off, we have defer to ensure no resources are leaked even if there’s an early-exit later in the function. But it’s that throwing check() method that really changes the game.