Ingvar Stepanyan

JavaScript developer, speaker and reverse engineer. D2D programmer. Sometimes human.

  1. Reducing test cases for JavaScript tooling

    At some point, I've performed testing of one Go-based streaming JavaScript minifier for compatibility with real-world code. I've decided to run it against CDNjs repo (https://cdnjs.com/libraries) as a source of all the possible popular libraries, which makes it a decent test suite for JavaScript/CSS tooling. After…

    on Compilers, Testing, Tooling

  2. Emscripten + Rust: how to interop with real JavaScript

    My slides from RustFest 2017: Rust ⇋ JavaScript from Ingvar Stepanyan UPD: Video is up!…

    on asmjs, wasm, webassembly, rust, rustlang, emscripten, interop

  3. How we brought HTTPS Everywhere to the cloud (part 1)

    This is a cross-post that was originally published in the CloudFlare blog CloudFlare's mission is to make HTTPS accessible for all our customers. It provides security for their websites, improved ranking on search engines, better performance with HTTP/2, and access to browser features such as geolocation that are being…

    on security, https, mixed content, https everywhere

  4. Tabs vs spaces: the ultimate argument

    Did you know that using specific code style can affect your JavaScript performance? Gave a 1.5x performance boost in my case ;) That beautiful moment when you change indentation from spaces to tabs and your function suddenly becomes short enough to get inlined by V8.— Ingvar Stepanyan (@RReverser) April…

    on JavaScript, Performance

  5. GOTOs in JavaScript are now possible

    And I'm back with my crazy experiments. Currently I'm actively playing with Ragel - state machine compiler that generates highly optimized code for streaming lexers, scanners etc. in a set of languages (C, Java, Ruby, C#, ...). Unfortunately, it didn't have support for JavaScript, and I recently implemented it (likely to…

    on JavaScript, Transpilers

  6. ES6 modules are dead, long live C preprocessor!

    Did you know you could use C preprocessor even for JavaScript files? (yes, it doesn't care about syntax that much) Say, we want to implement C-like "modules" (inclusions) in JavaScript. Create first file 1.js (filenames don't matter) like this: #ifndef HELLO_1 #define HELLO_1 console.log('hello'); #endif…

    on JavaScript, ES6, Transpilers