1/24/18

Today's Wednesday Evening Training: a coding night with multiple topics

Since 2007, I've organized training evenings on a weekly basis; the "Wednesday Evening Trainings". In the past years, we have literally had hundreds of sessions on a broad spectrum of topics. Trainings require a minimum of planning & preparation and provide a maximum on handson experience and knowledge. That keeps the process running!

Today's Wednesday Evening Training: a coding night with multiple topics

We have:
  • Continued working on our WebAssembly, Unity and ASP.NET Core handson labs
  • Had a JavaScript quiz
  • Had a nice demo and code walkthrough an ASP.NET Core website interfaced with Wordpress on Microsoft Azure. Thanks Ronnie Jongenelen!
  • Had an extensive explanation on the various IP network protocols, thanks to Bart van Beek.

It was fun and educational!

(Next time we'll proceeding with our Raspberry Pi labs)



PnPJS client-side libraries for Office 365

PnPJS is a fluent JavaScript API for consuming SharePoint and Office 365 REST APIs in a type-safe way. Use it with SharePoint Framework, Nodejs, or JavaScript. It is an open source initiative that complements existing SDKs provided by Microsoft offering developers another way to consume information from SharePoint and Office 365.

More to read:

#office365 #sharepoint #spfx

1/18/18

WebAssembly: catch up with some reading work?

WebAssembly (WASM) is a web standard that defines a binary format and corresponding assembly language for use in web applications (e.g. in browsers). WebAssembly development continues, and could be a major game changer in (distributed) application development.

Trying to catch up some reading work on WebAssembly?
The resources below may help you...

.NET and WebAssembly - Is this the future of the front-end?
https://www.hanselman.com/blog/NETAndWebAssemblyIsThisTheFutureOfTheFrontend.aspx
7 Things You Should Know About WebAssembly
https://auth0.com/blog/7-things-you-should-know-about-web-assembly/
A cartoon intro to WebAssembly
https://hacks.mozilla.org/2017/02/a-cartoon-intro-to-webassembly/
A cartoon intro to WebAssembly
https://hacks.mozilla.org/2017/02/a-cartoon-intro-to-webassembly/
A crash course in assembly
https://hacks.mozilla.org/2017/02/a-crash-course-in-assembly/
An introduction to WebAssembly - CodeLab
https://codelabs.developers.google.com/codelabs/web-assembly-intro/index.html#0
Andreas Rossberg - Bringing the Web up to Speed with WebAssembly
https://www.youtube.com/watch?v=AFy5TdrFG9Y
AssemblyScript - A subset of TypeScript that compiles to WebAssembly.
https://github.com/AssemblyScript
AssemblyScript - Online editor & realtime compiler
http://assemblyscript.org/try
Compiling for the Web with WebAssembly (Google I/O '17)
https://www.youtube.com/watch?v=6v4E6oksar0
Creating a WebAssembly module instance with JavaScript
https://hacks.mozilla.org/2017/07/creating-a-webassembly-module-instance-with-javascript/
Creating and working with WebAssembly modules
https://hacks.mozilla.org/2017/02/creating-and-working-with-webassembly-modules/
Curated list of awesome things regarding WebAssembly (wasm) ecosystem.
https://github.com/mbasso/awesome-wasm
DotNET WebAssembly
https://github.com/RyanLamansky/dotnet-webassembly
Download Google WebAssembly labs
https://github.com/googlecodelabs/web-assembly-introduction/archive/master.zip
From ASM.JS to WebAssembly
https://brendaneich.com/2015/06/from-asm-js-to-webassembly/
Get Started Using WebAssembly (wasm) (free course)
https://egghead.io/courses/get-started-using-webassembly-wasm
Get Started with Rust, WebAssembly, and Webpack
https://medium.com/@ianjsikes/get-started-with-rust-webassembly-and-webpack-58d28e219635?utm_source=ponyfoo+weekly&utm_medium=email&utm_campaign=issue-72
Getting started with WebAssembly
https://tutorialzine.com/2017/06/getting-started-with-web-assembly
Getting Started With WebAssembly in Node.js
http://thecodebarbarian.com/getting-started-with-webassembly-in-node.js.html
Google Code Labs - An introduction to Web Assembly
https://codelabs.developers.google.com/codelabs/web-assembly-intro
Hello WebAssembly
http://www.mono-project.com/news/2017/08/09/hello-webassembly/
Introduction to WebAssembly
https://rsms.me/wasm-intro
Kotlin/Native v0.4 released: Objective-C interop, WebAssembly and more
https://blog.jetbrains.com/kotlin/2017/11/kotlinnative-v0-4-released-objective-c-interop-webassembly-and-more/
Loading and running WebAssembly
https://developer.mozilla.org/en-US/docs/WebAssembly/Loading_and_running
mdn/webassembly-examples
https://github.com/mdn/webassembly-examples?files=1
Mozilla Research - WebAssembly
https://research.mozilla.org/webassembly/
nerdkid93/wasm-intro - Google CodeLab introducing WebAssembly
https://github.com/nerdkid93/wasm-intro
NES (Nintendo Entertainment System) emulator written in Rust, its port compiled to WebAssembly
https://en.wikipedia.org/wiki/Nintendo_Entertainment_System
http://koute.github.io/pinky-web/
Nondeterminism in Web Assembly
http://webassembly.org/docs/nondeterminism/
OpenCV Face Recognition WASM and asm.js port
https://github.com/Web-Sight/WebSight
Real World WebAssembly (Chrome Dev Summit 2017)
https://www.youtube.com/watch?v=PpuAqLCraAQ
Run Java natively in the browser with WebAssembly
https://bytearcher.com/articles/run-java-natively-in-browser-with-webassembly/
Rust for the Web - wasm32-unknown-unknown landed & enabled
https://www.hellorust.com/news/native-wasm-target.html
shamadee/web-dsp - A client-side signal processing library utilizing the power of WebAssembly (.wasm)
https://github.com/shamadee/web-dsp
Standalone WebAssembly Example
https://gist.github.com/kripken/59c67556dc03bb6d57052fedef1e61ab
The simplest way to get started with WebAssembly
https://medium.com/@BenedekGagyi/the-simplest-way-to-get-started-with-webassembly-1f92f6f90d24
The Web is getting its bytecode: WebAssembly
http://arstechnica.com/information-technology/2015/06/the-web-is-getting-its-bytecode-webassembly/
The Web is getting its bytecode: WebAssembly
http://arstechnica.com/information-technology/2015/06/the-web-is-getting-its-bytecode-webassembly/
The WebAssembly Binary Toolkit
https://github.com/WebAssembly/wabt
TypeScript to WebAssembly compiler
http://assemblyscript.org
TypeScript to WebAssembly compiler - Source code
https://github.com/AssemblyScript/assemblyscript
Understanding WebAssembly text format
https://developer.mozilla.org/en-US/docs/WebAssembly/Understanding_the_text_format
Using the WebAssembly JavaScript API
https://developer.mozilla.org/en-US/docs/WebAssembly/Using_the_JavaScript_API
WAC - WebAssembly interpreter in C
https://github.com/kanaka/wac
WASM - Demo - Epic Zen garden
https://s3.amazonaws.com/mozilla-games/ZenGarden/EpicZenGarden.html
WASM - Demo - Platformer game
https://s3.amazonaws.com/mozilla-games/tmp/2017-02-21-PlatformerGame/PlatformerGame.html
WASM - Demo - Stylized rendering
https://s3.amazonaws.com/mozilla-games/tmp/2017-02-21-StylizedRendering/StylizedRendering.html
WASM - Demo - Sun temple
https://s3.amazonaws.com/mozilla-games/tmp/2017-02-21-SunTemple/SunTemple.html
WASM - Spreading the News about WebAssembly since 2015
https://wasm.news/
WASM Code Explorer
https://wasdk.github.io/wasmcodeexplorer/
WASM Explorer
https://mbebenita.github.io/WasmExplorer/
Wasm Fiddle - Online C to Wasm compiler
https://wasdk.github.io/WasmFiddle
wasm2wat demo - Converts from the binary format to the text format
https://cdn.rawgit.com/WebAssembly/wabt/aae5a4b7/demo/wasm2wat/
wat2wasm demo - Converts from the text format to the binary format
https://cdn.rawgit.com/WebAssembly/wabt/aae5a4b7/demo/wat2wasm/
Web Assembly Examples
https://wasm-intro.firebaseapp.com/
WebAssembly
http://webassembly.org/
WebAssembly - Design rationale
This document describes rationales for WebAssembly’s design decisions, acting as footnotes to the main design text, keeping the main specification easier to read, and making it easier to revisit decisions later without having to plow through all the issues and pull requests. This rationale document tries to list how decisions were made, and where tradeoffs were made for the sake of language ergonomics, portability, performance, security, and Getting Things Done.
http://webassembly.org/docs/rationale/
WebAssembly - Specifications - Core
https://webassembly.github.io/spec/core/index.html
WebAssembly - Specifications - JavaScript API
https://webassembly.github.io/spec/js-api/index.html
WebAssembly - Specifications - Web API
https://webassembly.github.io/spec/web-api/index.html
WebAssembly - Binary encoding
https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md
WebAssembly - Developer’s Guide (getting started)
http://webassembly.org/getting-started/developers-guide/
WebAssembly - Development of WebAssembly and associated infrastructure
https://github.com/webassembly
WebAssembly - FAQ
http://webassembly.org/docs/faq
WebAssembly - Feature test
https://github.com/WebAssembly/design/blob/master/FeatureTest.md
WebAssembly - Features to add after the MVP
https://github.com/WebAssembly/design/blob/master/FutureFeatures.md
WebAssembly - Fetch and instantiate code example
https://github.com/mdn/webassembly-examples/blob/master/understanding-text-format/add.html
WebAssembly - Fetch and instantiate live example
https://mdn.github.io/webassembly-examples/understanding-text-format/add.html
WebAssembly - Language semantics (commands etc.)
https://github.com/WebAssembly/design/blob/master/Semantics.md
WebAssembly - Lineair memory
http://webassembly.org/docs/semantics/#linear-memory
WebAssembly - Meetings
Information on official in-person WebAssembly meetings hosted by the W3C Community Group. Each meeting will have its own agenda published before the meeting, and minutes will be posted in the invitation document after the meeting, including topics discussions and decisions.
https://github.com/WebAssembly/meetings
WebAssembly - Non-Web Embeddings
http://webassembly.org/docs/non-web/
WebAssembly - Object Reference
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly
WebAssembly - Official reference interpreter
https://github.com/WebAssembly/spec/tree/master/interpreter
WebAssembly - Programming model
http://asmjs.org/spec/latest/#programming-model
WebAssembly - Samples (code)
https://github.com/mdn/webassembly-examples
WebAssembly - Semantics
http://webassembly.org/docs/semantics/
WebAssembly - Specifications
https://github.com/WebAssembly/spec
WebAssembly - Use Cases
http://webassembly.org/docs/use-cases/
WebAssembly - WASM Utils
https://github.com/mdn/webassembly-examples/blob/master/wasm-utils.js
WebAssembly - WAST Text Format (with code examples)
https://github.com/WebAssembly/design/blob/master/TextFormat.md
WebAssembly - Wikipedia
https://en.m.wikipedia.org/wiki/WebAssembly
WebAssembly (MDN web docs)
https://developer.mozilla.org/en-US/docs/WebAssembly
WebAssembly 101: Bringing Bytecode to the Web
https://blog.fortinet.com/2017/04/13/webassembly-101-bringing-bytecode-to-the-web
WebAssembly articles
https://hacks.mozilla.org/category/webassembly/
WEBASSEMBLY COMMUNITY GROUP
https://www.w3.org/community/webassembly/
WebAssembly Concepts
https://developer.mozilla.org/en-US/docs/WebAssembly/Concepts
WebAssembly Demystified
https://www.youtube.com/watch?v=6Y3W94_8scw
WebAssembly Design
This repository contains documents describing the design and high-level overview of WebAssembly.
https://github.com/WebAssembly/design
WebAssembly Explorer
Here you can translate C/C++ to WebAssembly, and then see the machine code generated by the browser.
https://mbebenita.github.io/WasmExplorer/
WebAssembly for node.js
https://www.npmjs.com/package/webassembly
WebAssembly roadmap
http://webassembly.org/roadmap/
WebAssembly SDK - A toolkit for creating WebAssembly modules
https://github.com/wasdk/wasdk
WebAssembly Specification
https://webassembly.github.io/spec/
WebAssembly Video Editor
https://d2jta7o2zej4pf.cloudfront.net/
WebAssembly Video Editor
https://d2jta7o2zej4pf.cloudfront.net/
WebAssembly Video Editor - GitHub
github.com/shamadee/web-dsp
What makes WebAssembly fast?
https://hacks.mozilla.org/2017/02/what-makes-webassembly-fast/
Where is WebAssembly now and what’s next?
https://hacks.mozilla.org/2017/02/where-is-webassembly-now-and-whats-next/

My posts on WebAssembly

This week's Wednesday Evening Training: continuing our handson labs on Blazor (.NET web apps using WebAssembly that run in the browser)
Week 23's Digest: on Blockly, GraphQL and ASP.NET Core, Windows 10, Blazor, WebAssembly, IoT, patterns, Archimate, GitHub and more...,
This week's Wednesday Evening Training: building .NET web apps using WebAssembly that run in the browser with Blazor
Week 17's Digest: VisualStudio 2018 roadmap, Microservices, Blazor, Razor, WebAssembly, Mono, Azure, nodeJS and patterns on distributed systems