reqwest v0.10
reqwest is a higher-level HTTP client for Rust. Let me introduce you the v0.10 release that adds async/await support!
View ArticleInterfacing Elm with Rust WebAssembly
Wasm Pack is a flexible framework in the Rust ecosystem to compile code to WebAssembly. It allows web developers to outsource their most demanding data processing tasks to some safe and...
View ArticleWriting AWS Lambda Functions in Rust
I have recently started digging deeper into Amazon Web Services (AWS), and particularly into serverless lambda functions. After a few successful experiments with Python, I started wondering how hard it...
View ArticleFinding the default network interface through WMI
Let’s set aside our sup project for a while.Don’t get me wrong - it’s a perfectly fine project, and, were we simply rewriting “ping” for Windows in Rust, we could (almost) stop there.We’re currently...
View ArticleMaking really tiny WebAssembly graphics demos
I've been studying WebAssembly recently, which has included porting some of my m4vga graphics demos. I started with the Rust and WebAssembly Tutorial, which has you use fancy tools like wasm-pack,...
View ArticleRust on heroku with async/await and tokio
In an effort to understand the new Rust async/await syntax, I made a super-simple app that simply responds to all HTTP requests with Hello! and deployed on heroku.If you want to skip right to the...
View ArticleActix Web: Optimization Amongst Optimizations
I’m playing with the usual format to do a medium dive into an active frontier: web technology in Rust. The language and its ecosystem have seen a lot of change over the last few years and I would have...
View ArticleBinding C APIs with variable-length structs and UTF-16
Okay, I lied.I’m deciding - right this instant - that using wmic is cheating too. Oh, it was fair game when we were learning about Windows, but we’re past that now.We know there’s IPv4 routing tables,...
View ArticleConsuming Ethernet frames with nom
This article is part 9 of the series Making our own ping. Now that we’ve found the best way to find the “default network interface”… what can we do with that interface?Well, listen for network traffic...
View ArticlePorting a JavaScript App to WebAssembly with Rust (Part 2)
We will demonstrate how to do a complete port of a web application from React+Redux written in JavaScript to WebAssembly (WASM) with Rust.This is the second part of a blog post series. You can read the...
View Articlewarp v0.2
Warp is a Rust web server framework focusing on composability and strongly-typed APIs. Today sees the release of v0.2! The most exciting part of this release is the upgrade to std::future, so you can...
View ArticleSmoke-testing Rust HTTP clients
Back in 2014 I was fetching frontpages of the top million websites to scan them for a particular vulnerability. Not only have I found 99,9% websites to be vulnerable to a trivial attack, I’ve also...
View ArticleBuilding a Microservice with Rust
Today I want to show how to build a simple microservice. We will use Actix, Tokio-Postgress, and other libraries. We will use Postgress as our source of truth and we will run it in docker (for...
View ArticleTide Channels
WebSocket (WS) support for Tide has been a long-anticipated feature. More recently requests for Server Sent Events (SSE) support have started to pop up as well. In this post we'll look at the...
View ArticleHow to use Rust Warp
In this post, we will learn how to use Rust Warp. We will start from the current official example at GitHub. Then, we will learn how to modularize it.
View ArticleCrafting ARP packets to find a remote host's MAC address
So we've managed to look at real network traffic and parse it completely. We've also taken some ICMP packets, parsed them, and then serialized them right back and we got the exact same result.So I know...
View ArticleNode worker threads with shared array buffers and Rust WebAssembly
The point of having Rust-based WebAssembly in Node.js is to offload some compute-heavy parts from Node.js to Rust, which runs significantly faster for tasks that require algorithmic or memory...
View ArticleRust Web Development Tutorial: REST API
In this tutorial, we are going to create a REST API in Rust with Actix web 2.0 and Diesel. We will be using Postgres as our database.
View ArticleCrafting ICMP-bearing IPv4 packets with the help of bitvec
So. Serializing IPv4 packets. Easy? Well, not exactly.IPv4 was annoying to parse, because we had 3-bit integers, and 13-bit integers, and who knows what else. Serializing it is going to be exactly the...
View Article500K pps with tokio
After reading the Cloudflare blog post on how to receive 1M packets per second, I wondered: How fast can we go with Rust and Tokio?
View Article