The mastodon.social server is currently under a heavy DDOS attack and may not work properly.
The 12,164 other servers on the network are unaffected.
This is part of the reason why federated networks are a good idea: if one server goes down, the others work fine.
The more spread out we are on small and medium sized servers, the harder it is for anyone to take down the network because there's no obvious target.
There are also many other reasons why federation is good: https://fedi.tips/why-is-the-fediverse-on-so-many-separate-servers
I just released my latest book - this one is on Async coding in Swift. I can continue the pre-pub price of $20 until my other distributors release it later this week.
If you buy one book this year - well it should be something more personally meaningful - but if you buy, say, seven - this should definitely be one of them.
This is it - your introduction to all you need to use async await and friends."I laughed, I cried, it moved me - eventually" - a fake Chat Bot review we made upSwift's solution to asynchronous and concurrent code is now part of the language itself. The new syntax is easier to read and follow the logical flow of what in the past was complicated, fragmented, or deeply nested. With async/await you'll focus on tasks instead of threads or even queues."The Curious Case of the Async Cafe" is a quirky fast-paced tour of the components of modern concurrency in Swift including async, await, Tasks, using continuations to replace and wrap delegates and closure-based APIs, AsyncSequences and AsyncStreams, structured concurrency using async let and Task Groups, and, of course, actors. Updated for Xcode 14 and Swift 5.7 and tested on Apple Silicon. ContentsChapter 1: Async, Await, and TaskWe BeginErrorsThe (too) Big SleepIntroducing async / awaitTaskAsync and ErrorsTestingBe CarefulChapter 2: ContinuationsThe Delegate PatternDelegate to ContinuationsMultiple ContinuationsUnsafe ContinuationsThrowing ContinuationsClosures and CallbacksAsync AlternativesAsync WrappersRefactoringsURLSession and Closures with ErrorsChapter 3: AsyncSequences and AsyncStreamsNotificationsIntroducing AsyncStreamSequences of NotificationsSendable and Actor BoundariesTransforming AsyncSequencesSequence PipelinesCombineAsyncStream ContinuationsContinuous DeliveryAsyncAlgorithmsChapter 4: Structured ConcurrencyUnstructured Async CallsAsync LetCancelling TasksTask ValuesUnstructured App Store SearchTaskGroupsSequences of TaskGroupsAsyncImageChapter 5: ActorsOn and Off the Main ActorShared Mutable StateActorsSuspending and ReentrancyNonisolated MembersCommunication between ActorsGlobal ActorsTaskLocalCreating Distributed ActorsUsing Distributed ActorsEpilogue