Books I would like to write but have no time:
- Robotic #Astronomy (actually, I do work on this)
- Server-Side #Swift with #SwiftNIO
- Astronomical Image Processing with #FITS
- Understanding Swift Macros
- Understanding Swift Concurancy
- Neuromuscular disorders - molecular pathways
- Understanding Computational Molecular Biology
- Writing Modern Unix Tools with Swift
- Designing an Exabyte File Archive
- Making Your Old House #Energy and Food Independent
- High Performance Swift

Today I was asked again (N-th time) to explain #SwiftNIO

My reaction: create a Git repository called `swiftnio-book`

My hope was that either @twostraws or @dimsumthinking will create such repo before me. Well, I still hope, and would gladly do `rm -rf swiftnio-book` if they do.

Introducing Oblivious HTTP support in Swift

We’re excited to introduce an implementation of provisional support for Oblivious HTTP to the Swift ecosystem, with the availability of a new package called SwiftNIO Oblivious HTTP.

Swift.org
FWIW it turns out that the compilation does not break. When resolving the semver, SPM actually does consider the Swift versions a specific tag supports and will select the last that is compatible w/ the host Swift version.
E.g. when resolving in Swift 5.6, you'll get SwiftNIO 2.59.0, not the latest (Swift incompatible) 2.76.1. And on top the #SwiftNIO team backports critical security fixes to older releases. Nice!
Thanks go to @fabianfett for pointing out my misconception on this 🙈

Last month I went to 2 Swift conferences and asked many #swift developers if they know anyone who is working on properly documenting #SwiftNIO.
It seams nobody that I know does this. So I am seriously considering to write a series of blogposts or even a book on the subject. Although SwiftNIO is one of the most important frameworks released by Apple, it is difficult to understand its architecture and design patterns and even more difficult to teach.

Any feedback?

#Swift findings - #SwiftNIO is not available in the iPad Swift Playgrounds (because it has C targets), and Swift.Network is not available on linux due to GCD and other Darwin-specific dependencies, so still have no solution for cross-platform web framework so far....
#SwiftNIO doesn't seem to build w/ Swift 5.5 anymore due to some concurrency issues? 🤔 https://github.com/SwiftNIOExtras/swift-nio-irc/actions/runs/10768452872/job/29857614701
Build and Test · SwiftNIOExtras/swift-nio-irc@be54d66

A Internet Relay Chat (IRC) protocol implementation for SwiftNIO - Build and Test · SwiftNIOExtras/swift-nio-irc@be54d66

GitHub

Swift sucks at web serving… or does it?

A few weeks ago, Axel Roest published a simple web server comparison, that turned out to not be doing what it was thought to be doing. Figuring that out was a very interesting discussion that warrants a retrospective, to look at which parts were particularly helpful and which not so much.

Tangentially, I want to highlight that Axel's comparison is notable because he is interested in efficiency, not mere brute performance. The two are usually correlated but not always the same. He correctly [...]

https://wadetregaskis.com/swift-sucks-at-web-serving-or-does-it/

Swift sucks at web serving… or does it? – Wade Tregaskis

Every time I return to coding Proxygen for Mac it kinda surprises me how awesome it is to be developing it. It ticks so many boxes for me: Mac development using AppKit, working with HTTP and networking, requires some amount of thinking and consideration of app architecture.

And it’s just so much more fun to click “Build and Run” and see the app launch on the same desktop.

And I get to use my own TestFlight build at work the following week.

So cool 🥰

#appkit #swift #swiftnio

“SwiftNIO is Apple non-blocking networking library. It can be used to write either client libraries or server frameworks and works on macOS, iOS and Linux.”

#SwiftNIO #Concurrency #Programming #iOS #macOS #Linux
https://www.process-one.net/blog/swiftnio-futures-and-promises/

SwiftNIO: Understanding Futures and Promises / ProcessOne

SwiftNIO is Apple non-blocking networking library. It can be used to write either client libraries or server frameworks and works on macOS, iOS and Linux.

ProcessOne