From c8d87cdc1a5293eca0c1b4f21960b97493eaf8bb Mon Sep 17 00:00:00 2001 From: David Ackley Date: Mon, 16 Aug 2021 12:42:14 -0400 Subject: [PATCH 1/2] proposed blog post outline --- blog/_posts/2021-08-20-from-c++-to-js.md | 46 ++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 blog/_posts/2021-08-20-from-c++-to-js.md diff --git a/blog/_posts/2021-08-20-from-c++-to-js.md b/blog/_posts/2021-08-20-from-c++-to-js.md new file mode 100644 index 00000000..efc2cdda --- /dev/null +++ b/blog/_posts/2021-08-20-from-c++-to-js.md @@ -0,0 +1,46 @@ +--- +layout: post +title: "The Fast & Furious Data Visualizations" +date: August 20, 2021 +author: David E. Ackley +--- + +# The Fast & Furious Data Visualizations +#### August 20, 2021 David E. Ackley + +The main data visualizations tools from the D3 wrapper that was created by ... +This project is a part of Empirical, a header-only C++ library equipped with tools for developing experimental software. + + +## A brief history lesson on Javascript +invented by Brendan Eich + + +### The bias against JavaScript + + +### ECMAScript versions over the years + +## Turbocharging the Javascript Engine +### compiling c++ to wasm +### spidermonkey and v8 + +## Running on undefined +### nonsensical duck typing + prototype classes +### making pit stops for runtime errors +### lanes on the web assembly bridge + +## Emscripten supplied couplers +### depends on what language is in the cockpit +### driving js from cpp +### driving cpp from js + +## Accelerating your data driven documents +### d3 wrapper chassis +### D4 summer 2021 models +#### the D4 histogram +#### the D4 scatterplot + +## Coming full circle + +## Acknowledgements \ No newline at end of file From 13804a8c890c5efaabea470b90f5fcaab90a5ec2 Mon Sep 17 00:00:00 2001 From: David Ackley Date: Tue, 17 Aug 2021 13:32:50 -0400 Subject: [PATCH 2/2] tangible writing prompts --- blog/_posts/2021-08-20-from-c++-to-js.md | 39 +++++++++++++++++++----- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/blog/_posts/2021-08-20-from-c++-to-js.md b/blog/_posts/2021-08-20-from-c++-to-js.md index efc2cdda..fcf45a68 100644 --- a/blog/_posts/2021-08-20-from-c++-to-js.md +++ b/blog/_posts/2021-08-20-from-c++-to-js.md @@ -5,7 +5,6 @@ date: August 20, 2021 author: David E. Ackley --- -# The Fast & Furious Data Visualizations #### August 20, 2021 David E. Ackley The main data visualizations tools from the D3 wrapper that was created by ... @@ -14,6 +13,7 @@ This project is a part of Empirical, a header-only C++ library equipped with too ## A brief history lesson on Javascript invented by Brendan Eich +simply for dynamic web pages ### The bias against JavaScript @@ -21,22 +21,47 @@ invented by Brendan Eich ### ECMAScript versions over the years -## Turbocharging the Javascript Engine -### compiling c++ to wasm -### spidermonkey and v8 ## Running on undefined ### nonsensical duck typing + prototype classes ### making pit stops for runtime errors ### lanes on the web assembly bridge +imports and exports +type mismatch + +## Turbocharging the Javascript Engine +With the release of WebAssembly, web developers gain the ability to have +low level control over near-native execution of client side code. (near native execution) + +### compiling to wasm +opens the door for many opportunities +Stack based virtual machines +binaryen, llvm, + +### Chrome V8 and SpiderMonkey +dev tools to look at wasm +recording performance ## Emscripten supplied couplers -### depends on what language is in the cockpit -### driving js from cpp -### driving cpp from js +Emscripten comes with a variety of ways to connect C++ and JavaScript code. + +### who's driving? +consider where the control flow of your application lives and where to bridge +control flow, data flow, shared memory, multithreading + +### JS at the wheel +better access to web apis and other front end tools + +### C++ at the wheel +javascript macros +emscripten bind classes and override with javascript +eventual support through emscripten val and wasm api thing ## Accelerating your data driven documents + ### d3 wrapper chassis +Mainly built using emscripten JavaScript macros. + ### D4 summer 2021 models #### the D4 histogram #### the D4 scatterplot