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