mastodon.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
The original server operated by the Mastodon gGmbH non-profit

Administered by:

Server stats:

340K
active users

#swiftlang

24 posts24 participants2 posts today

More Vibe Coding ...

Over the week end, I wrote two MCP Servers with . One is able to search the Apple Music catalog and the second controls my Sonos system at home.

I used Amazon Q Developer CLI, it wrote close to 100% of the code for me. For each server, it wrote a reusable library, a CLI, and a MCP Tool.

I also worked on a MCPServerKit library, to make it easy for developers to write MCP Servers in Swift.
github.com/sebsto/mcpserverkit

❓ What are you going to build today ? ❓

The #swiftlang new testing framework is looking to be worth the refactoring of swiftly and its test suite for the speed of the parallel testing. The test scoping traits, and parameterized testing significantly reduce the nested blocks in the test cases too for easier reading.

Continued thread

I'm making a seasonal anime guide app, in the open for all to experience and learn from.

Had to prep an emergency release yesterday because I found out I broke marking episodes as watched on iPhone 😅 Anywho, let’s start getting history entries showing up on the web!

Come chill with me: youtube.com/live/pGzyVbS8TX0

youtube.comBefore you continue to YouTube

One of the things about #swiftlang that I struggle with is forgetting about some of the awesome features.

For example, I can just extend a type with new static constants, and then I can use “.newConstant” anywhere that accepts that type. This also works with array literals, which is super handy at function call sites.

If you have an untyped array literal, only the first element needs to have the fully qualified constant. Then the rest can use the inferred type.

let arr = [Color.beige, .blue, .red]

These two linked-to methods have identical signatures, even though they're different. The first link is to onChange with "action: @escaping ()" and the second is to "action: @escaping (V, V)".

Seems DocC has some deficiencies...