mastodon.xyz is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Mastodon instance, open to everyone, but mainly English and French speaking.

Administered by:

Server stats:

815
active users

#async

3 posts3 participants0 posts today
Nicolas Fränkel 🇺🇦🇬🇪<p>How does <a href="https://mastodon.top/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> <a href="https://mastodon.top/tags/Rust" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Rust</span></a> work</p><p><a href="https://bertptrs.nl/2023/04/27/how-does-async-rust-work.html" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">bertptrs.nl/2023/04/27/how-doe</span><span class="invisible">s-async-rust-work.html</span></a></p>
Kevin P. Fleming<p>Python friends:</p><p>I have a desire to build a small program for testing a piece of hardware I am designing. This program will need to have a REPL so the user can invoke various configuration and test commands while connected to the device, but also asynchronously handle data arriving from that device and displaying it.</p><p>Can anyone suggest packages and/or a strategy for doing this?</p><p><a href="https://mastodon.km6g.us/tags/Python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Python</span></a> <a href="https://mastodon.km6g.us/tags/Async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Async</span></a></p>
Aral Balkan<p>New Kitten update</p><p>• 🥳 Kitten HTML templates and kitten.Component render functions can now be async.</p><p><a href="https://kitten.small-web.org" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a></p><p>This is quite a big one and it took me finally biting the bullet and getting my head around generators in JavaScript to implement properly.</p><p>So now you can mix synchronous and asynchronous components as you like and if there are any asynchronous components in your templates they will automatically be awaited (even if you forget to use await) ;)</p><p>I’ll write a proper post/tutorial/documentation for it soon but for the time being enjoy the screenshots where a layout template gets the latest three posts from my mock fediverse public timeline service and displays them on the page.</p><p>The kitten.Component version also has a refresh button that streams a different three to the page.</p><p>For those of you unfamiliar with Kitten, this is all the code in either example. No scaffolding, nothing. Pop either into a file called index.page.js and run kitten in that folder and visit https://localhost to see the example run.</p><p>Enjoy!</p><p>:kitten:💕</p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> <a href="https://mastodon.ar.al/tags/components" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>components</span></a> <a href="https://mastodon.ar.al/tags/templates" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>templates</span></a> <a href="https://mastodon.ar.al/tags/HTML" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HTML</span></a> <a href="https://mastodon.ar.al/tags/CSS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CSS</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NodeJS</span></a> <a href="https://mastodon.ar.al/tags/generators" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>generators</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dev</span></a></p>
Alvin Ashcraft 🐿️<p>What are the origins of async/await in C#? | One Dev Question with Jeffrey Richter.</p><p><a href="https://www.youtube.com/watch?v=MtDdO9YXgq0" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=MtDdO9YXgq</span><span class="invisible">0</span></a> </p><p><a href="https://hachyderm.io/tags/dotnet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet</span></a> <a href="https://hachyderm.io/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> <a href="https://hachyderm.io/tags/csharp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>csharp</span></a> <a href="https://hachyderm.io/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://hachyderm.io/tags/devcommunity" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>devcommunity</span></a></p>
Ivan Enderlin 🦀<p>`async-std` has been discontinued, <a href="https://crates.io/crates/async-std" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">crates.io/crates/async-std</span><span class="invisible"></span></a>.</p><p>The authors suggest to use `smol` instead, which is a great advice! <a href="https://crates.io/crates/smol" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">crates.io/crates/smol</span><span class="invisible"></span></a></p><p><a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://fosstodon.org/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> <a href="https://fosstodon.org/tags/library" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>library</span></a></p>
stateful being<p>for now, it pops up a scrolling table, based on data loaded by a multi-threaded indexing loop (doing concurrency in <a href="https://mastodon.social/tags/rust" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>rust</span></a> is pretty enjoyable! no <a href="https://mastodon.social/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> needed, either). lets you edit it (but crashes on backspace, lol). doesn't save it yet. pre-alpha stuff.</p>
𝕂𝚞𝚋𝚒𝚔ℙ𝚒𝚡𝚎𝚕<p>How browsers REALLY load Web pages</p><p>When browsers load a Web page and its subresources, A LOT happens under the hood. They need to take into account render/parsing blocking resources, use a preload scanner, listen to resource hints (like preload/preconnect), loading modifiers (async/defer/module), fetchpriority, responsive images, and much more. […]</p><p>📺 <a href="https://fosdem.org/2025/schedule/event/fosdem-2025-4852-how-browsers-really-load-web-pages/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">fosdem.org/2025/schedule/event</span><span class="invisible">/fosdem-2025-4852-how-browsers-really-load-web-pages/</span></a></p><p><a href="https://chaos.social/tags/video" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>video</span></a> <a href="https://chaos.social/tags/web" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>web</span></a> <a href="https://chaos.social/tags/browser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>browser</span></a> <a href="https://chaos.social/tags/webpage" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webpage</span></a> <a href="https://chaos.social/tags/http3" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>http3</span></a> <a href="https://chaos.social/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a> <a href="https://chaos.social/tags/http" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>http</span></a> <a href="https://chaos.social/tags/https" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>https</span></a> <a href="https://chaos.social/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> <a href="https://chaos.social/tags/http2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>http2</span></a> <a href="https://chaos.social/tags/fossdem25" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fossdem25</span></a> <a href="https://chaos.social/tags/foss" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>foss</span></a> <a href="https://chaos.social/tags/floss" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>floss</span></a> <a href="https://chaos.social/tags/fossdem" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fossdem</span></a></p>
Diniremix<p><a href="https://mstdn.social/tags/Async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Async</span></a> Rust for Dummies<br><a href="https://blog.veeso.dev/blog/en/async-rust-for-dummies/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.veeso.dev/blog/en/async-r</span><span class="invisible">ust-for-dummies/</span></a></p><p><a href="https://mstdn.social/tags/rustlang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>rustlang</span></a> 🦀</p>
Grant Gardner<p>Need help with gem naming for a new MQTT gem with both threaded and async clients.</p><p>The threaded client will be something like mqtt50.</p><p><a href="https://ruby.social/tags/Ruby" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Ruby</span></a> <a href="https://ruby.social/tags/Gem" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Gem</span></a> <a href="https://ruby.social/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> <br><span class="h-card" translate="no"><a href="https://ruby.social/@ioquatix" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>ioquatix</span></a></span></p>
Alvin Ashcraft 🐿️<p>System.Linq.Async is part of .NET 10 - LINQ for IAsyncEnumerable | by Steven Giesel.</p><p><a href="https://steven-giesel.com/blogPost/e40aaedc-9e56-491f-9fe5-3bb0b162ae94" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">steven-giesel.com/blogPost/e40</span><span class="invisible">aaedc-9e56-491f-9fe5-3bb0b162ae94</span></a></p><p><a href="https://hachyderm.io/tags/dotnet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet</span></a> <a href="https://hachyderm.io/tags/linq" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linq</span></a> <a href="https://hachyderm.io/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> <a href="https://hachyderm.io/tags/csharp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>csharp</span></a> <a href="https://hachyderm.io/tags/dotnet10" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet10</span></a></p>
Mike Moran<p>Do you want to hear about some different ways to build the <a href="https://mastodon.scot/tags/Web" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Web</span></a>? Perhaps you just want to think more cleanly about the boundaries between <a href="https://mastodon.scot/tags/Async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Async</span></a> and <a href="https://mastodon.scot/tags/Sync" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Sync</span></a> code?</p><p>If any/all of these apply to you, or even if you are just a bit "<a href="https://mastodon.scot/tags/Rust" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Rust</span></a> Curious" then please come along to the next edition of "Rust and Friends" on Thursday 20th March (in less than two weeks).: <a href="https://www.meetup.com/rust-and-friends/events/306524042/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">meetup.com/rust-and-friends/ev</span><span class="invisible">ents/306524042/</span></a></p>
The Dutch PHP Conference<p>Boost PHP performance without threads! 🏎️ Learn how from Max Fomichev at the Dutch PHP Conference. 🔗 <a href="https://phpconference.nl/session/achieving-high-performance-http-in-php-without-threads-simulating-parallel-requests/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">phpconference.nl/session/achie</span><span class="invisible">ving-high-performance-http-in-php-without-threads-simulating-parallel-requests/</span></a> </p><p><a href="https://mastodon.social/tags/php" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>php</span></a> <a href="https://mastodon.social/tags/performance" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>performance</span></a> <a href="https://mastodon.social/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> <a href="https://mastodon.social/tags/performanceoptimization" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>performanceoptimization</span></a></p>
Tamás<p>JavaScript best practice: use return await</p><p>A common pattern is to call an async function and return its result:</p><p>```js<br>const helloWorld = async () =&gt; {<br> return await asyncHello("World");<br>}<br>// Hello World<br>```</p><p>Why the `await`? It would work exactly the same without it, so it's just taking up space.</p><p>Yes, but: let's add a `try..catch` block around it:</p><p>```js<br>try {<br> return await asyncHello("World");<br>}catch(e) {<br> return "Whops";<br>}<br>// Whops<br>```</p><p>It works as expected: if the called function throws an error (rejects its Promise) then the `catch` block will run.</p><p>But now there is a difference:</p><p>```js<br>try {<br> return asyncHello("World");<br>}catch(e) {<br> return "Whops";<br>}<br>// Uncaught Error<br>```</p><p>Why didn't the `try..catch` handle the Error? It was thrown from inside the block, yet it still wasn't caught.</p><p>`await` stops the function execution. So in the first case (`return await`) the `helloWorld` function is still running, the execution is inside the `try..catch` block.</p><p>But in the second case the function is already finished and did not stop in the `try..catch`. It returned the Promise the `asyncHello` returned without any additional error handling.</p><p>This happens not just with `try..catch` but also for cleanups that use the `try..finally` block:</p><p>```js<br>export const withTempDir = async (fn) =&gt; {<br> const dir = await createTempDir();<br> try {<br> return await fn(dir);<br> }finally {<br> await fs.rm(dir, {recursive: true});<br> }<br>};<br>```</p><p>Without the `await` the temporary directory would be deleted when the `fn` runs. But with the `await` it waits for the `fn` to finish before cleaning up.</p><p><a href="https://infosec.exchange/tags/javascript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>javascript</span></a> <a href="https://infosec.exchange/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a></p><p>Originally published [on my blog](<a href="https://advancedweb.hu/shorts/javascript-best-practice-use-return-await/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">advancedweb.hu/shorts/javascri</span><span class="invisible">pt-best-practice-use-return-await/</span></a>)</p>
Chris Krycho<p>At a personal/professional level, having gotten to help *ship* this thing, by doing prepping the Book for the Edition and delivering a new (now stable! Go read it!) chapter on <a href="https://mastodon.social/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> programming in <a href="https://mastodon.social/tags/rustlang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>rustlang</span></a> was huge.</p><p>This is never going to stop being amazing to me.</p>
Beady Belle Fanchannel<p>In a serious case of nerdsniping, the lorri codebase is now built on rust async instead of whatever horrible thread abstraction we had in place before.</p><p><a href="https://github.com/nix-community/lorri" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">github.com/nix-community/lorri</span><span class="invisible"></span></a></p><p><a href="https://mastodon.xyz/tags/rust" class="mention hashtag" rel="tag">#<span>rust</span></a> <a href="https://mastodon.xyz/tags/async" class="mention hashtag" rel="tag">#<span>async</span></a> <a href="https://mastodon.xyz/tags/nixos" class="mention hashtag" rel="tag">#<span>nixos</span></a> <a href="https://mastodon.xyz/tags/lorri" class="mention hashtag" rel="tag">#<span>lorri</span></a></p>
bui<p>Just released reaktiv - a lightweight reactive state management library for Python! 🚀</p><p>Inspired by Angular's Signals, reaktiv brings automatic updates, efficient state propagation, and async-friendly reactivity to Python. No more manual dependency tracking - just define your values, and let the system handle updates for you.</p><p>Would love to hear your thoughts!</p><p>🔗 <a href="https://github.com/buiapp/reaktiv" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/buiapp/reaktiv</span><span class="invisible"></span></a></p><p><a href="https://mastodon.social/tags/Python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Python</span></a> <a href="https://mastodon.social/tags/ReactiveProgramming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ReactiveProgramming</span></a> <a href="https://mastodon.social/tags/Async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Async</span></a> <a href="https://mastodon.social/tags/WebDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>WebDev</span></a> <a href="https://mastodon.social/tags/Frontend" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Frontend</span></a> <a href="https://mastodon.social/tags/Angular" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Angular</span></a> <a href="https://mastodon.social/tags/React" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>React</span></a> <a href="https://mastodon.social/tags/Vue" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Vue</span></a> <a href="https://mastodon.social/tags/Signals" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Signals</span></a> <a href="https://mastodon.social/tags/Github" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Github</span></a></p>
postmodern<p>People are discovering that Async Ruby is actually <a href="https://www.reddit.com/r/ruby/comments/1ic3z2e/ruby_falcon_is_2x_faster_than_asynchronous_python/" rel="nofollow noopener noreferrer" target="_blank">faster than Async Python and almost as fast as Node.js/Go</a>, but without all of the <code>async</code>/<code>await</code> keywords. Did you know <a href="https://github.com/ronin-rb/ronin-recon#readme" rel="nofollow noopener noreferrer" target="_blank">ronin-recon</a> also uses Async Ruby for it's custom recursive recon engine for massively parallelized recon?</p><p><a href="https://infosec.exchange/tags/ruby" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ruby</span></a> <a href="https://infosec.exchange/tags/recon" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>recon</span></a> <a href="https://infosec.exchange/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a></p>
Starbeamrainbowlabs<p>Note to self: you can't `try...catch` an `await func();` in Javascript.</p><p><a href="https://fediscience.org/tags/ImFranticallyTryingToMarkStudentsWork" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ImFranticallyTryingToMarkStudentsWork</span></a> <a href="https://fediscience.org/tags/TomorrowIsTheDeadline" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TomorrowIsTheDeadline</span></a> <a href="https://fediscience.org/tags/JS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JS</span></a> <a href="https://fediscience.org/tags/Javascript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Javascript</span></a> <a href="https://fediscience.org/tags/Debugging" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Debugging</span></a> <a href="https://fediscience.org/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> <a href="https://fediscience.org/tags/Programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Programming</span></a> <a href="https://fediscience.org/tags/Nodejs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Nodejs</span></a></p>
Rob Williamson<p>Argh, I'm refactoring some old Rust code to test it better, and <a href="https://github.com/rust-lang/rust/issues/100013" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/rust-lang/rust/issu</span><span class="invisible">es/100013</span></a> is not letting me use generics to invert dependencies in order to inject some test code into an async function.</p><p>I thought I was being such a clever clogs. As I swore in the comment on the offending function, Buttmuppets!</p><p>This bug with lifetimes and generic associated types is really unpleasant to discover on a Sunday. Butt. Muppets.</p><p><a href="https://dju.social/tags/rust" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>rust</span></a> <a href="https://dju.social/tags/gat" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gat</span></a> <a href="https://dju.social/tags/dry" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dry</span></a> <a href="https://dju.social/tags/DependencyInjection" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DependencyInjection</span></a> <a href="https://dju.social/tags/test" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>test</span></a> <a href="https://dju.social/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> <a href="https://dju.social/tags/nonblocking" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nonblocking</span></a></p>
Alvin Ashcraft<p>Morning Dew Quick Review – Chris Woodruff’s Networking Programming with C# and .NET. <a href="https://www.alvinashcraft.com/2025/01/20/morning-dew-quick-review-chris-woodruffs-networking-programming-with-c/" rel="nofollow noopener noreferrer" target="_blank">https://www.alvinashcraft.com/2025/01/20/morning-dew-quick-review-chris-woodruffs-networking-programming-with-c/</a> <a href="https://bsky.app/search?q=%23books" rel="nofollow noopener noreferrer" target="_blank">#books</a> <a href="https://bsky.app/search?q=%23ebook" rel="nofollow noopener noreferrer" target="_blank">#ebook</a> <a href="https://bsky.app/search?q=%23csharp" rel="nofollow noopener noreferrer" target="_blank">#csharp</a> <a href="https://bsky.app/search?q=%23dotnet" rel="nofollow noopener noreferrer" target="_blank">#dotnet</a> <a href="https://bsky.app/search?q=%23efcore" rel="nofollow noopener noreferrer" target="_blank">#efcore</a> <a href="https://bsky.app/search?q=%23networking" rel="nofollow noopener noreferrer" target="_blank">#networking</a> <a href="https://bsky.app/search?q=%23async" rel="nofollow noopener noreferrer" target="_blank">#async</a> <a href="https://bsky.app/search?q=%23aspnetcore" rel="nofollow noopener noreferrer" target="_blank">#aspnetcore</a><br><br><a href="https://www.alvinashcraft.com/2025/01/20/morning-dew-quick-review-chris-woodruffs-networking-programming-with-c/" rel="nofollow noopener noreferrer" target="_blank">Morning Dew Quick Review – Chr...</a></p>