Bytes #56 - Grief is just love with no place to go

Grief is just love with no place to go

Issue #56.July 12, 2021.2 Minute read.

Put on your Scuba Steve mask, because we're diving into the low-level programming deep end today. Just stick close to your buddy, and we'll all be fine. Welcome to Issue 56.


Loud Noises

LOUD NOISES

Elementary Audio -- A new way to make sounds with your computer

We're going to go out on a limb here and say that most of you probably haven't spent much time building audio software – and we don't blame you. Building apps like synthesizers, processors, and sound filters has historically been a hairy, time-consuming process that required a lot of C++ (gross).

But all that may be changing thanks to Elementary Audio – a brand new way to write functional, declarative audio apps in JavaScript.

Quick background: Elementary was created by Nick Thompson, who worked on the Instagram team at Facebook while also contributing to React. After leaving ZuckTown, he started working on different audio applications and learned firsthand how frustrating that world of imperative, object oriented code could be.

Nick wanted to make the audio software world more accessible for JavaScript developers, so he spent the last few years building Elementary – a JavaScript runtime and framework for writing native audio apps that's "heavily inspired by React."

A few cool features:

  • Functional and reactive -- Like React, you write your signal processing blocks as pure, declarative functions of your app state, and Elementary handles the rest

  • Built on Node.js -- Which means you can easily use all of your favorite libraries and tools with Elementary

  • Cross-platform compatibility -- Unlike the Web Audio API (which is built directly into the browser), Elementary can also be used to build native audio apps for desktop, mobile, embedded systems, and more

The Bottom Line

By opening up the audio software world to JavaScript developers, Elementary might just usher in an audio app renaissance – which might mean we're also in for a dubstep/DJ renaissance. <Skrillex /> anyone?


Salad Fingers

The feeling of Rust against my salad fingers

TWIH -- Rust turns 11

Your favorite programmers favorite programming language was officially unveiled to the world exactly 11 years ago last week, on July 7th (the luckiest day of the year). That's when Graydon Hoare stepped on stage at the 2010 Mozilla Summit and shared his bold vision for a "slightly less annoying" programming language that he'd been working on since 2006.

Fast forward to today, and Rust has been voted the #1 “most loved” programming language in the Stack Overflow Developer Survey for the last 5 years in a row.

If you're like us, you've probably wondered why Rust consistently gets that Beyonce-level of love and hype. Turns out, there are 3 main reasons:

  • Performance -- Rust is a low-level systems language with similar syntax to C++, but significantly faster and safer. Rust also has no garbage collector, no runtime, and is super memory efficient.

  • Reliability It’s statically typed, which (amongst many other things) allows you to move bugs from run time to compile time.

  • Community -- The Rustaceans are basically like the BTS Army of software development, but with a lot less teen angst (~~thankfully~~ sadly). They're super passionate about spreading the Gospel of Rust™, and they've created lots of helpful dev tools and useful resources for helping others get started.

What's next?

Now that Rust can compile to Web Assembly, its next big frontier could be web development. People are already discovering cool ways for Node.js developers to use Rust, new possibilities for React/JavaScript developers to use Rust in the browser, and what the future of serverless looks like with Rust and Wasm.

Rust is a great language, but we've seen lots of other great languages never reach mainstream adoption for building web apps (👋 Elm, Reason). Will Rust be able to break through? I guess we'll check back in another 11 years.


Jobs

2x Sr. Frontend Engineers - React | 100% Remote

Close.com is looking for two experienced individuals that have a solid understanding of React and want to help design, implement and launch major user-facing features. They are a 100% globally distributed team of ~45 high-performing, happy people that are dedicated to building a product our customers love.


JS Quiz

What's the result of running this code?

["👨", "‍", "👩", "‍", "👧", "‍", "👦"].join('')

Run it and see for yourself 🤯🤯🤯.


Cool Bits

  1. Have you ever though about how grief is really just love with no place to go? No? Oh. Well have you ever thought about how useRef is really just useState without a re-render? I have, and I wrote about it in Understanding React's useRef Hook.

  2. Dan "Tell-us-how-you-really-feel" Abramov wrote about how npm audit is broken, why it's "a stain on the entire npm ecosystem," and what changes could save it. If the big wigs at Microsoft don't listen, Dan will have no choice but to officially declare dishonor on them and their cows.

  3. Jack made a 20-minute video on how to use Deno Deploy to easily make cloud functions. Kind of like Bob Ross, except these "happy little clouds" are made with software, instead of oil paints and love.

  4. Aurora is a new website analytics tool that's 100% cookie-free. We would've voted for naming it something more fun like Cookie-Crisp, but nobody's perfect.

  5. Ramona wrote about Six common testing pitfalls and how to avoid to avoid them. It's almost as fun as playing Pitfall with teenage Jack Black in the '80s.

  6. Jonathan created GistPad – a VS Code extension that lets you view and edit your GitHub Gist directly in VS Code, as if they were local files.

  7. VibeJS is a small, component-based JavaScript library that's (kind of) an alternative to larger libraries like React and Vue. Plus, it's already got a built-in theme song -- Script don't kill my Vibe.

  8. Chris Coyier wrote a tutorial on Building with Astro – a new static-site generator that ships zero JavaScript by default. Coincidentally, "Building with Astro" could also be the adorable name for a new HGTV series where a labradoodle named Astro renovates and flips old homes.


Join Bytes

Delivered to 105,434 developers every Monday