7/25/18

Microsoft announces availability of both SharePoint Server 2019 Preview and Project Server 2019 Preview

Microsoft announces availability of both SharePoint Server 2019 Preview and Project Server 2019 Preview.

More at: https://techcommunity.microsoft.com/t5/Microsoft-SharePoint-Blog/Announcing-Availability-of-SharePoint-Server-2019-Preview/ba-p/214427

This week's Wednesday Evening Training: continuing our Arduino, Raspberry Pi and Babylon projects and brainstorming on new projects

This Wednesday Evening Training, we have continued our exploration of IoT. We made progress on our projects and had a brainstorm of two new project initiatives: creating an application for tuning musical instruments (yes, like a digital pitchfork like the one that you can buy online for a few Euro's, but building one is a lot more fun) and building an interactive toy for young children (yes, with lots of lights and sounds, robust and easy to travel with).

One of the nice things of the Wednesday Evening Trainings is that it's free format. We, as a group, can decide on the spot what topics we want to discuss and what learning form we'll adopt. That's agile! In this case, two of our colleagues came up with some idea's for which we could immediately search for suitable technologies. In case of the toy project, we found out that using RFID and Lilypad Arduino we should be able to create some kind of easily foldable and transportable carpet on which you can place all kinds of tagged objects and interact with them using an sowed in Lilypad Arduino. It's a rough concept, but this could work.
Anyway... a lot to figure out to realize this. Therefore, the next Wednesday Evening Training will contain the following topics: RFID and Arduino Lilypad. We'll gather some links, labs, tools and share video's for this. There is a lot to be found on the internet. See my links below for a few pointers.

 

Also, this evening, we had a portion of BabylonJS for dinner. Last week I showed my first prototypes of a 3d architecture model. This week I showed a mechanism to synchronise a JavaScript based Archimate architecture model with a BabylonJS 3d (Mesh) model. Since it must be possible to immediately reflect changed in one model into the other, I looked for some kind of observer pattern implementation. I chose not to use a heavy framework like Angular, but keep my application as light weight as possible (perhaps I have to say: "Frameworkless JavaScript"). Luckily, JavaScript currently includes proxies, which is quite useful in this situation.
Also next week, I'll show my proceedings on the prototypes and do some explanation on JavaScript proxies.

To be continued...


Further reading

Do you want to read more on the topics in this post? Here are some links...

BabylonJS portal: https://www.babylonjs.com
JavaScript Proxies: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
RFID Basics: How to Read and Write Tags: https://blog.atlasrfidstore.com/rfid-basics-read-write-tags
Arduino hardware, also the Lilypad: https://www.arduino.cc/en/Main/Products
The ArchiMate Enterprise Architecture Modeling Language: http://www.opengroup.org/subjectareas/enterprise/archimate-overview
Archi Open Source ArchiMate Modelling Tool (a free and easy to use open source modelling tool to create ArchiMate models and sketches): https://www.archimatetool.com/

Past Wednesday Evening Trainings

You'll find post of previous sessions here: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining

Next week

In next week's Wednesday Evening Training, we'll be having an additional "klusavond" (translated into English as "a typical Dutch evening of doing, learning and a lot of fun") on Arduino, RFID and BabylonJS.


#capgemini #werkenbijcapgemini #lifeatcapgemini #wednesdayeveningtraining #3d #virtualreality #unity3d #babylonjs #arduino #arduinolilypad #rfid #iot #internetofthings #archimate #archi

7/19/18

This week's Wednesday Evening Training: continuing Virtual Reality with Unity3D and getting to know BabylonJS

This Wednesday Evening Training, we have continued our exploration of Virtual Reality using Unity3D. In previous sessions, we already learned what Unity3D can do, so we continued our handson labs guided by our Unity3D champion Alexandra Belzon.

We have also started exploring BabylonJS, with which I have played around past weeks.




We know Unity3D, but what is BabylonJS?

BabylonJS is an open source 3D engine based on webGL and JavaScript. With BabylonJS you can create well performing 3D models and animations, even on your mobile. You can "walk through" your model, use a cardboard VR headset and implement augmented reality applications. It's a rather recent technology, but the platform is growing fast in popularity.

There are a lot of applications for BabylonJS, e.g. in product and data visualization, gaming, education. Recently I even stumbled upon an application of BabylonJS in Microsoft SharePoint, visualizing and manipulating data and documents in 3D. See the links below for more information.

This evening, we saw a lot of demo's and code examples and we did our first handson labs. In the past weeks I've experimented using BabylonJS for creating a 3d model of Archimate architecture views, generating JavaScript from Archi XML's (.achimate files) using XSLT. We did a code walkthrough and in the next sessions, I'll be showing progress on my prototypes.

To be continued for sure!

Further reading

Do you want to read more on BabylonJS? Here are some links...

BabylonJS portal: https://www.babylonjs.com
BabylonJS Playground (online editor): https://www.babylonjs-playground.com
BabylonJS examples (select, view, edit): https://doc.babylonjs.com/examples
BabylonJS GitHub repo: platform software, tools, extensions, reusables: https://github.com/BabylonJS
BabylonJS online editor: http://editor.babylonjs.com
BabylonJS Meshes Library: https://github.com/BabylonJS/MeshesLibrary
Building up a basic demo with Babylon.js: https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_on_the_web/Building_up_a_basic_demo_with_Babylon.js
BabylonJS Sandbox - Drag and drop gltf, glb, obj or babylon files to view them: https://sandbox.babylonjs.com/
Babylon101 - Online course: https://doc.babylonjs.com/babylon101/
Introduction to WebGL 3D with HTML5 and Babylon.js: https://mva.microsoft.com/en-us/training-courses/introduction-to-webgl-3d-with-html5-and-babylonjs-8421
Microsoft is bringing the SharePoint work environment to virtual reality headsets: https://www.theverge.com/2018/5/21/17376422/microsoft-sharepoint-spaces-mixed-reality-virtual-reality-features
BabylonJS on Twitter: https://twitter.com/babylonjs
Google Cardboard: https://vr.google.com/cardboard/get-cardboard/

Past Wednesday Evening Trainings

You'll find post of previous sessions here: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining


Next week

In next week's Wednesday Evening Training, we'll be having a "klusavond" (translated into English as "a typical Dutch evening of doing, learning and a lot of fun". There will be plenty of room for all the technologies we have learned so far. This kind of session form an excellent opportunity for mixing technologies, creating applications using multiple technologies.
In my opinion, a good way to create new idea's and innovate and having a lot of fun in the meantime!


#capgemini #werkenbijcapgemini #lifeatcapgemini #wednesdayeveningtraining #3d #virtualreality #unity3d #babylonjs

Last week's Wednesday Evening Training: continuing our Arduino & Raspberry Pi handson labs

Last week's Wednesday Evening Training (sorry for the delay of this post), we have continued our exploration of IoT using Arduino and Raspberry Pi.


One of our IoT champions, Aishwarya Dhall, shared her prototypes of multi sensor projects and idea's with us.


There will certainly be a sequel to this session, there remains a lot to discover! To be continued...



Past Wednesday Evening Trainings

You'll find post of previous sessions here: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining


Next week

In this week's Wednesday Evening Training, we'll continued our exploration of Virtual Reality using Unity3D and BabylonJS. See my next post (in a moment).


#capgemini #werkenbijcapgemini #lifeatcapgemini #wednesdayeveningtraining #iot #arduino #raspberrypi

7/5/18

This week's Wednesday Evening Training: continuing our handson labs on Blazor (.NET web apps using WebAssembly that run in the browser)

This Wednesday Evening Training, we have continued our exploration of Blazor (and WebAssembly, and ASP.NET Core). In previous sessions, we already learned what WebAssembly is and we played around with the demo's and some handson labs. This evening, we continued our exploration.

So what was Blazor again?

Blazor is an experimental .NET web framework using C#, Razor and HTML that runs in the browser via WebAssembly. It runs in the browser on a real .NET runtime (Mono) implemented in WebAssembly that executes normal .NET assemblies. See the architecture below.




Why WebAssembly could be a game changer?

WebAssembly is a relative recent technology, but hopes are high that this technology will have a big impact on how we implement web applications, and even mobile apps. It offers an open, fast and securely executing assembly language standard, already supported by all major browsers (even mobile versions). There are also possibilities to run WebAssembly outside a browser, e.g. as an interpreted application. Programming languages can be compiled into WebAssembly (there already are quite a few compilers available at this moment) and distributed in your infrastructure. Imagine developing an application, web application, app or distributed application in your favorite programming language and IDE and let it run almost anywhere. WebAssembly could well be used for implementing applications' logic, data flow handling and compute-intensive applications.

I would not be surprised if JavaScript frameworks and libraries (for example for state management, data flow handling) will partly or completely be replaced by WebAssembly. The use of JavaScript (yes, also Angular 2+ applications now are simply executed in (compacted) JavaScript) will be drastically reduced. The latter will also appeal to the suppliers of cloud platforms and cloud services.

But maybe I am an extreme optimist. :)

Back to this evenings' training...

One of our .NET champions, Hans Harts, shared more of his prototypes with us. We got extensive code walkthroughs and lot's of opportunity for Q&A and discussion. We discussed a Blazor based game a to do list and a simple CRUD application. After this, we continued our labs to which some more labs were added.

There will certainly be a sequel to this session... to be continued... thanks Hans Harts for sharing your knowledge!




Further reading

Do you want to read more on WebAssembly, Blazor and ASP.NET Core? Here are some links...

For starters:
Learn Blazor: https://learn-blazor.com/
Introduction to Razor Pages in ASP.NET Core (you'll need that as well): https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-2.1&tabs=visual-studio
Blazor - GitHub: https://github.com/aspnet/Blazor
Get started building .NET web apps that run in the browser with Blazor: https://blogs.msdn.microsoft.com/webdev/2018/03/22/get-started-building-net-web-apps-in-the-browser-with-blazor/

As reference:
WebAssembly Core Specification - W3C First Public Working Draft, 15 February 2018: https://www.w3.org/TR/wasm-core/
WebAssembly Core Specification - Editor’s Draft, 24 June 2018: https://webassembly.github.io/spec/core/bikeshed/

For playing around with:
ASP.NET Core – CRUD Using Blazor And Entity Framework Core: http://ankitsharmablogs.com/asp-net-core-crud-using-blazor-and-entity-framework-core/
Blazor 0.4.0 experimental release now available: https://blogs.msdn.microsoft.com/webdev/2018/06/07/blazor-0-4-0-experimental-release-now-available/
ADarkBlazor - Build things with Resources (game using Blazor): https://github.com/Xciles/ADarkBlazor
ASP.NET Core: CRUD Using Blazor and Entity Framework Core: https://dzone.com/articles/aspnet-core-crud-using-blazor-and-entity-framework
and https://github.com/AnkitSharma-007/ASPCore.BlazorCrud

You can check my previous posts on WebAssembly and Blazor as well:
5/23/18 - This week's Wednesday Evening Training: building .NET web apps using WebAssembly that run in the browser with Blazor: https://hansrontheweb.blogspot.com/2018/05/this-weeks-wednesday-evening-training_23.html
1/24/18 - Today's Wednesday Evening Training: a coding night with multiple topics: http://hansrontheweb.blogspot.com/2018/01/todays-wednesday-evening-training.html
1/18/18 - WebAssembly: catch up with some reading work? https://hansrontheweb.blogspot.com/2018/01/webassembly-catch-up-with-some-reading_18.html


Past Wednesday Evening Trainings

You'll find post of previous sessions here: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining


Next week

In next week's Wednesday Evening Training, we'll be continuing our exploration of IoT: Raspberry Pi, Arduino and Witty Cloud. Aishwarya Dhall will give us a nice demo on her multi sensor project and we will take a look at the Arduino create web editor with which I've played around a bit.


#capgemini #werkenbijcapgemini #lifeatcapgemini #wednesdayeveningtraining #webassembly #dotnetcore #blazor #microsoft #webdevelopment #csharp #visualstudio