Newsletter #10: Any, are you ok? Are you ok, any?
Hi folks đ
This edition of the newsletter has hopefully no markdown mistakes and fewer typos! It definitely has a ton of links, videos, and new content from my website! Enjoy!
Cheers, Stefan
Workshops #
Last week I opened up a form on interest for a possible Rust workshop, in the same style as my TypeScript workshop with Smashing Magazine. So far 25 people have registered interest, which is a lot more than I hoped for. If youâre curious, please register interest as well. The more people, the more likely Iâm going to make one!
Iâm currently working on an outline Iâm going to share with you in the next issue! Iâm going to do a university course on the same topic this Autumn at the JKU in Linz, there will be some overlap for sure.
New articles #
TypeScript + React: Children types are broken. Since March 2015, Reactâs children types include the empty object. Right now this means that you can pass every object as a child, which letâs React throw an error! Letâs see how we can fix this.
In defense of any. I think writing any in TypeScript is absolutely ok. Read why, and never forget Smooth Criminal Driven TypeScript Development
Cinema #
The oida.dev cinema. Techflix and conference talks that I found helpful and interesting!
Integrating nushell with Emacs. JT has written nushell, a new way for your shell. And theyâre trying to integrate it to Emacs together with System Crafters. Interesting live stream!
Concurrency is not parallelism. Rob Pike tells us about concurrency, how itâs handled in Go, and what the differences are to traditional threading. Fundamentals, fantastically explained.
Stateful Programming Models in Serverless Functions. Chris Gillum works on Azure Functions and explains motivation for stateful programming and their ideas behind durable functions.
Appearances #
Iâm going to speak at the We Are Developerâs Cloud day on Wednesday about Serverless Rust. Itâs more about the inner workings of AWS Lambda and Azure Functions than Rust. But you also get a glimpse of Rustâs capabilities in that area.
RustConf #
I attended RustConf last week. It was streamed online, but the Discord was buzzing with chatter and activity. It was a friendly atmosphere and it felt great seeing so many folks from the community interacting with each other. I especially liked the live commentary in between talks: A Clubhouse / Twitter Space-like chat where you were able to tune in.
Online conferences are super hard to organize. I appreciate what Leah and her team have done to make RustConf work online.
All talks were great, but there are a few I want to highlight:
Mara Bos - Project Update. Mara explains how hard it is to make popular crates part of the standard library. How much care has to be taken into, and how small changes can cause big opportunities. Great keynote!
Brian Martin - Whops! I rewrote it in Rust. Rewrite in Rust is a popular meme, but Brian shows what rewrites actually mean. Great case-study!
Lily Mara - The importance of Not Over-Optimizing in Rust. Rust can be overwhelming. There are a lot of ways to write inefficient code. Or at least whatâs supposed to be inefficient. Turns out, some of the inefficiencies are still a lot faster than their dynamic language counterparts. This talk gives good advice on not taking it too hard in the beginning, especially when youâre learning Rust.
Miguel Young de la Sota - Move constructors: Is it possible. Now thatâs a C++/Rust nerd-out. I didnât know too much about move constructors in C++, and seeing Miguelâs efforts to transport them to Rust is mind-blowing. It can be overwhelming, too. Take it with the excitement of getting a ton of new words thrown at you. Donât expect to know all of them, though.
Links #
Rust #
Pin, Unpin, and why Rust needs them. Async/await in Rust is easy until you dive deep into Future territory. This article by Adam gives you an excellent introduction to whatâs going on under the hoods.
Rust vs Go: Why Theyâre better together. Steve Francia from the Go team and JT who was with the Rust team for a while discuss the differences between Rust and Go, and why they both have their own use cases. Both discuss this at length with others in this panel discussion. Usually, thatâs a topic I donât like, but this discussion is totally worth it and helps you categorize your technology of choice.
Rust Analyzer Wasm Playground. The best VSCode extension for Rust now runs on Wasm. And it picks up std lib features!
Web #
Ultra. Ultra combines Deno, React 18, SSR, Suspense, and streams for a build-free, bundle-free React development experience. This is how web development should be. No Webpack configs, not hundreds of dependencies for a hello world server. Just code!
W3C Design System. The new W3C Design system builds upon the learnings of every-layout from Heydon Pickering and Andy Bell. Itâs an interesting design system, and I can highly recommend the books of both authors!
Trailing Slash Guide. Sebastian Lorber looked at every Jamstack provider and how they treat common URL patterns. Fantastic resource!
Element DIVersity. Manuel Matuzovic asks himself why folks love divs so much. He also tells you why you shouldnât.
Max BĂśckâs Website. Max has a fantastic website, but please also check out his website repository if you want to learn more about 11ty. This is easily one of the best-maintained 11ty projects Iâve seen so far! Donât steal his layout, though.
/etc/ #
Christoph Rumpel on his recent product launch. Christoph creates educational products. His most recent launch was supposedly a successful one. Interesting insights, especially if you also want to be a producer/content creator.
Thatâs it for today! #
Thatâs a ton of content for you this time! Let me know which one you liked most! Until then, have a great week and read you next time!
â Stefan