Bringing Sharp to WebAssembly and WebContainers
03 Aug 2023
Challenges of porting native Node.js modules like Sharp to more platforms with WebAssembly.
Github project: serde-ndim
02 Apr 2023
Serde support for n-dimensional arrays from self-describing formats
Github project: ascom-alpaca-rs
18 Mar 2023
Cross-platform Rust library for the ASCOM Alpaca API for astronomy devices
Github project: eos-remote-web
27 Feb 2023
Web Bluetooth remote for Canon EOS cameras
Drawing to canvas in Emscripten
07 Feb 2022
Learn how to render 2D graphics to a canvas on the web from WebAssembly with Emscripten.
Porting USB applications to the web. Part 2: gPhoto2
01 Feb 2022
Learn how gPhoto2 was ported to WebAssembly to control external cameras over USB from a web app.
WebAssembly feature detection
27 Jan 2022
Learn how to use the newest WebAssembly features while supporting users across all browsers.
Porting USB applications to the web. Part 1: libusb
20 Jan 2022
Learn how code that interacts with external devices can be ported to the web with WebAssembly and Fugu APIs.
Embedding JavaScript snippets in C++ with Emscripten
18 Jan 2022
Learn how to embed JavaScript code in your WebAssembly library to communicate with the outside world.
Bundling non-JavaScript resources
08 Sep 2021
Learn how to import and bundle various types of assets from JavaScript in a way that works both in browsers and bundlers.
Using WebAssembly threads from C, C++ and Rust
12 Jul 2021
Learn how to bring multithreaded applications written in other languages to WebAssembly.
Using asynchronous web APIs from WebAssembly
26 Apr 2021
Learn how to invoke asynchronous web APIs when compiling traditionally synchronous languages to WebAssembly.
Github project: lutz
10 Apr 2021
Rust implementation of "An Algorithm for the Real Time Analysis of Digitised Images" by R. K. Lutz.
Github project: wasm-bindgen-rayon
08 Mar 2021
An adapter for enabling Rayon-based concurrency on the Web with WebAssembly.
Github project: sep-sys-rs
21 Feb 2021
Rust bindings to SEP - C library for Source Extraction and Photometry
WebAssembly shell with a real filesystem access in a browser
19 Oct 2020
A WebAssembly shell powered by WebAssembly, WASI, Asyncify and File System Access API.
wasmbin: a self-generating WebAssembly parser & serializer
17 Oct 2020
A derive-based WebAssembly parser & serializer written in Rust.
Debugging memory leaks in WebAssembly using Emscripten
13 Aug 2020
Learn how to use WebAssembly to bring libraries, written in other languages, to the Web in a safe and idiomatic manner.
Bringing OxiPNG to Squoosh
15 Apr 2020
How we brought OxiPNG to Squoosh.app to provide better PNG compression.
Github project: cow-utils-rs
16 Feb 2020
Copy-on-write string utilities for Rust
A History of HTML Parsing at Cloudflare: Part 1
28 Nov 2019
A history of HTML parsing at Cloudflare, from regular expressions to Ragel to a custom streaming HTML5-compliant parser.
Github project: asyncify
02 Oct 2019
Standalone Asyncify helper for Binaryen
Github project: lazyhtml
20 Jun 2019
HTML5-compliant parser and serializer than enables building transformation pipeline in a pluggable manner
Faster script loading with BinaryAST?
17 May 2019
BinaryAST is a new over-the-wire format for JavaScript proposed and actively developed by Mozilla that aims to speed up parsing while keeping the semantics of the original JavaScript intact.
Github project: serde-wasm-bindgen
02 May 2019
Native integration of Serde with wasm-bindgen
Github project: astexplorer-syn
19 Mar 2019
An integration of syn into ASTExplorer
Building fast interpreters in Rust
04 Mar 2019
An article describing how we built a fast interpreter for the Wireshark syntax in Rust without using traditional JIT.
Improving request debugging in Cloudflare Workers
28 Dec 2018
Porting the network panel from Chrome DevTools to inspect requests between the Cloudflare Workers and the origin.
#[derive(Debug)] on serde steroids
31 Jul 2018
Introducing serdebug - a serde-powered drop-in replacement for #[derive(Debug)].
Github project: xmatch
30 Apr 2018
Simple pattern matching for ES6
Github project: ws-proxy
13 Apr 2018
Simple WebSocket reverse proxy for debugging purposes
Writing complex macros in Rust: Reverse Polish Notation
15 Jan 2018
A tutorial on writing and debugging macros in Rust.
Conditional enum variants in Rust
26 Dec 2017
Github project: derex
26 Sep 2017
Derivatives-based regexp to DFA compiler
Github project: emnapi
04 Jun 2017
[WIP] N-API implementation for Emscripten
Parsing JavaScript using SpiderMonkey from Rust
03 Jun 2017
Parsing JavaScript from Rust via SpiderMonkey's Reflect.parse
Reducing test cases for JavaScript tooling
10 May 2017
Minimising reproduction cases for JavaScript tools using creduce.
Emscripten + Rust: how to interop with real JavaScript
06 May 2017
A talk from RustFest 2017 about state of Emscripten and Rust interop
Github project: override-hosts
21 Apr 2017
Small shared library utility to temporarily override list of hosts to specific target
Github project: esmod
14 Mar 2017
Fast in-place import/export transpiler
Github project: serde-xml-rs
16 Feb 2017
xml-rs based deserializer for Serde (compatible with 1.0+)
How we brought HTTPS Everywhere to the cloud
24 Sep 2016
A technical deep dive into how we implemented HTTPS Everywhere rewrites at the Cloudflare edge.
Tabs vs spaces: the ultimate argument
19 Apr 2016
Did you know that using specific code style can affect your JavaScript performance?
Github project: buffer-utf8-length
26 Oct 2015
Fastest implementation of counting UTF-8 byte sequences in a Buffer
GOTOs in JavaScript are now possible
20 Oct 2015
Implementing goto statement in JavaScript via custom transform.
ES6 modules are dead, long live C preprocessor!
13 Aug 2015
Did you know you could use C preprocessor even for JavaScript files?
ECMAScript Syntax Graph
09 Aug 2015
Ever wondered how ECMAScript syntax spec would look like if represented as a graph?
ECMAScript decorators on functions
08 Aug 2015
Why can't we use ECMAScript decorators on regular functions?
Github project: typescript-estree
31 Jul 2015
TypeScript => ESTree AST converter (WIP)
Github project: babel-plugin-uglify
30 Jul 2015
UglifyJS integration for Babel
Started work on ES6 -> asm.js conversion
12 Jul 2015
Github project: proxyfill
11 Jun 2015
ES6 Proxy + Reflect polyfill with limited surface
Github project: better-log
22 May 2015
console.log wrapper for a bit more readable output in Node.js
[Potentially ES7] function bind syntax in Babel
16 May 2015
Quickly view Wi-Fi password under OSX and Windows
15 Feb 2015
Tail recursion and 6to5
08 Feb 2015
Gitty - unofficial Gitter client for WinRT
09 Jan 2015
Github project: Bayeux.NET
17 Dec 2014
Client library for Bayeux protocol for Universal Apps
Github project: github-editorconfig
22 Oct 2014
Browser extension that provides EditorConfig support for GitHub
Github project: gulp-wrap-js
17 Oct 2014
Gulp plugin for templating JavaScript code with source maps support.
Github project: acorn-csp
06 Sep 2014
Builder for Acorn that precompiles predicates in order to satisfy CSP.
aster - AST-based code builder
28 Aug 2014
Github project: TSX
10 Aug 2014
Child of TypeScript and JSX [WIP]
Using Mozilla AST with UglifyJS
04 Aug 2014
Github project: jsx-ast
29 Jul 2014
Build AST in JSX syntax
Added ES6 support to Acorn
29 Jul 2014
Github project: jsx-transpiler
28 Jul 2014
Parses and compiles JSX code to JavaScript AST or code.
A few more words on Acorn-JSX
27 Jul 2014
Github project: serialize-js
22 Jul 2014
Object serialization for JavaScript - readable & JS-compatible
Github project: biscript
21 Jul 2014
010 Editor's binary scripts on top of JavaScrpit
Github project: estraverse-fb
31 May 2014
Drop-in for estraverse that enables traversal over React's JSX nodes.
Github project: gh2ost
14 May 2014
Convert Github readmes into Ghost blog posts
Github project: stack-displayname
05 May 2014
Show custom function names in error stack traces of V8 (Node.js)
Github project: when-traverse
17 Apr 2014
Asynchronously traverse tree of mixed promises and values
Github project: apartjs
11 Apr 2014
Apart is a library for easy parallelism in JavaScript. It's name can be treated as "executing block *apart* from the main thread" as well as shortening for words "asynchronous part - APart".
Github project: promise-array
12 Mar 2014
Work with array of Promises as with simple array of values
Github project: winremote
10 Dec 2013
HTML5+Node.js remote desktop for Windows (FB Hackathon 2012)
Github project: grunt-pure-cjs
08 Dec 2013
Grunt plugin for Pure CommonJS builder
Github project: pure-cjs
03 Dec 2013
Pure minimalistic CommonJS builder
Creating own language made easy
02 Dec 2013
Github project: compile2js
27 Nov 2013
Bootstrap package for easier creating compilers to JavaScript
HTTP Live Streaming JavaScript player
25 Nov 2013
Github project: es6-import
13 Oct 2013
Module builder for ES6-based import/export syntax
Github project: knockout-protector
13 Sep 2013
Knockout Protector plugin for accepting/reverting changes from observables
Github project: bt-parser
10 Sep 2013
JS Parser for 010 Editor Binary Templates
Github project: travis-publish-js
04 Sep 2013
Automated JS library publisher to NPM and GitHub Pages for Travis
"Ingvar Stepanyan: Serious JS" at FrontendConf Zurich 2013
02 Sep 2013
Github project: jBinary.Hex
01 Aug 2013
Hex viewer based on jBinary
Github project: LikeIE9
17 Jun 2013
Opera extension inspired by Internet Explorer 9 specific features
Github project: AndroidMouse
17 Jun 2013
Using Android device compass and gyroscope for manipulating computer's mouse (client + server).
Github project: BMPImage
17 Jun 2013
HTML5 File API and XMLHttpRequest2 based BMP image parser and renderer
Github project: JSPiano
17 Jun 2013
Piano simulator written using only JavaScript (Mozilla Audio Data API) and some math knowledge :)
Github project: FilePipes
17 Jun 2013
HTML5+Node.js peer-to-peer file transfer service (test task for Yandex).
Github project: PingPong
17 Jun 2013
PingPong in browser with Augmented Reality
Github project: tasks.js
17 Jun 2013
Convenient task scheduler for JavaScript using Web Workers.
Github project: hubot-skype4com
17 Jun 2013
.NET Skype adapter for Hubot under Windows
Github project: GitSync
17 Jun 2013
GitHub <-> BitBucket repository sync
Github project: SharpScript
17 Jun 2013
Proof-of-concept of C# <script /> executor that runs in context of built-in browser and can communicate with JavaScript on the same page.
Github project: LiveReload.Opera
17 Jun 2013
JS: Audio Data Processing
04 Mar 2012
Google Translate suggestion in Opera
07 Jul 2010