A diagramming model which uses a set of typing characters to approximate the intended shape.
Inspired by the roadmap to becoming a Go developer in 2019.
I recently ported some math code from C++ to Rust in an attempt to do a cool thing with Doom. Here is my story.
Buckle up, because this a #longread. However, it’s worth it because you will be entertained while wading through the mucky-muck of solving what sounds like a simple problem (but isn’t): I have some shapes. I want to find their intersection. Who knows, you might even learn some Rust along the way…
A link aggregator / reddit clone for the fediverse
I still flinch every time someone says “fediverse”, but it took me 7+ years to get used to “tweet”, so I’m sure I’ll get used to it eventually… That aside, lots of neat tech here and I’m always in support of decentralization.
We’re talking with Syrus Akbary about WebAssembly and Wasmer — a standalone just in time WebAssembly runtime aiming to be fully compatible with Emscripten, Rust, and Go. We talked about taking WebAssembly beyond the browser, universal binaries, what’s an ABI?, running WebAssembly from any language, and what a world might look like with platform independent universal binaries powered by WebAssembly.
A city building game that uses microscopic models to vividly simulate the organism of a city arising from the interactions of millions of individuals.
Runs in the browser via WebAssembly.
This is actually my second stab at it, so big blocks will land in place from my first attempt. I’m trying again this year after reading more of “Programming Rust” (Blandy, Orendorff).
Follow along for fun and education.
Sonic is a fast, lightweight and schema-less search backend. It ingests search texts and identifier tuples that can then be queried against in a microsecond’s time.
This is a fully-featured Firefox Send client. Max file size is 2GB and recipients can download the file via the same tool or their web browser.
You can install
swc (the speedy web compiler) from npm just like you’re used to, which will download a pre-built binary. That only works on
win32-x64. For other environments, you’ll need the Rust nightly build.
Supports ES 2019, JSX, and TypeScript out of the box. You might want to jump straight to the migrating from Babel section. 😉
uses a colored output to distinguish different categories of bytes (NULL bytes, printable ASCII characters, ASCII whitespace characters, other ASCII characters and non-ASCII).
In a post with a title borrowed from Ariana Grande, Steve Klabnik is announcing his departure from Mozilla and what he hopes could be his next moves.
Mozilla is not interested in hearing what I have to say. And that’s fine, but when I take a step back and think about things, that means it’s time to go, for both my sake and Mozilla’s. So I’ve just put in my two weeks’ notice.
The interesting thing isn’t exactly that he’s moving on from Mozilla, it’s that he’s betting big on WebAssembly.
I’ve also been enamored with another technology recently: WebAssembly. 2019 is going to be a huge year for WebAssembly, even if many people don’t know it yet, and may not see the effects until 2020.
So what’s his next move? Something different…
In terms of the actual work I would like to do, I don’t think a traditional engineering role really suits me. Don’t get me wrong, I love to write some code, but I don’t think that those kinds of roles really play to my unique strengths. What I really love to do is teaching, evangelizing, and growing something.
The latest Rust user survey results are in and have been shared on the rust blog. One of the more interesting points, before digging into the data, is the survey launched for the first time in multiple languages — 14 languages total, in addition to English.
The results from non-English languages totaled 25% of all responses and helped push the number of responses to a new record of 5,991 responses.
I’m glad we’re getting to hear from more voices from all around the world — especially growing the response count by 25%! Also, pay attention to the comments shared about how Rust can improve. Good stuff.
Michael Snoyman introduces his upcoming blog series. If this intro is any indicator, Michael’s Rust crash course will be an excellent resource. Here’s a taste, in which he begins to answer the question, “Why Rust?”:
I’m a strong believer in using the compiler to help eliminate bugs. No programming language can eliminate all bugs and even the best designed language will typically need to leave developers plenty of wiggle room to shoot themselves in the foot. Still, there’s significant value in safety and long term maintainability of projects that use languages with this focus.
Right now, the only way to sign your git commits is to use PGP signatures (this is all git is able to integrate with). After a less than desirable experience using GPG, without wrote bpb in Rust to replace GPG.
I’ve been taking steps toward trying to sign and verify the data in the repo’s index without shipping a copy of GPG with Rust to every user.
This means I need to implement enough of the PGP protocol to create signatures and public keys that git will accept as valid. I’ve done this in a library which I’ve named pbp, this stands for Pretty Bad Protocol.
This library implements parsing and generation for a small subset of the PGP protocol…
GCSF is a virtual filesystem that allows users to mount their Google Drive account locally and interact with it as a regular disk partition.
Could this be the first sane way to interact with your GDrive? 😜
Careful now, ‘sled’ is in its alpha stage. Heck, its name is a recursive acronym that means “sled likes eating data”, so that should give you an indication of its state (I hope they come up with a new one once the software is stable). The project’s goals are on point:
- don’t make the user think. the interface should be obvious.
- don’t surprise users with performance traps.
- don’t wake up operators. bring reliability techniques from academia into real-world practice.
- don’t use so much electricity. our data structures should play to modern hardware’s strengths.
This is the story of how Rust dramatically improving Figma’s server-side performance (one of their most important features).
The multiplayer server we launched with two years ago is written in TypeScript and has served us surprisingly well, but Figma is rapidly growing more popular and that server isn’t going to be able to keep up. We decided to fix this by rewriting it in Rust.
Install this and leave your co-workers asking, “where does s/he get those wonderful toys?”
A desktop Kanban board app built with Elm and Rust. How do they do it sans Electron?
it uses native WebView (WebKit for Linux/macOS, and MSHTML on Windows)
For more details see here. I’d love to see how this app performs in terms of memory use when compared to an Electron-based version. How big are the wins? Is the trade-off worth it? Sounds like great fodder for blog post…
Want to try WASM before you buy WASM? You’re in luck! I found this while prepping for this week episode of The Changelog with Lin Clark. It’s really well made and definitely lowered the barrier for me to tinker with both WebAssembly and Rust. Worth a 🔖 for sure.
wasm-pack is a tool for assembling and packaging Rust crates that target WebAssembly. These packages can be published to the npm Registry and used alongside other packages. This means you can use them side-by-side with JS and other packages, and in many kind of applications, be it a Node.js server side app, a client-side application bundled by Webpack, or any other sort of application that uses npm dependencies.
It’s a reimagining of the Singularity OS of old, using new technologies like WebAssembly and Rust. Using an intermediate language as a compile target for applications allows for architecture agnosticism and interesting optimizations that would not be possible on conventional OSes.
Here’s to the crazy ones. 🍻
Spotifyd streams music just like the official client, but is more lightweight, and supports more platforms. Spotifyd also supports the Spotify Connect protocol, which makes it show up as a device that can be controlled from the official clients.
There was previously a spotifyd written in C, but apparently Spotify killed the library it used, so they had to rewrite from scratch. ¯\(ツ)/¯