8/1/18

This week's Wednesday Evening Training: continuing our 3d and IoT projects and a bit of Windows programming

This Wednesday Evening Training, we continued our exploration of IoT and 3D technologies and learned about Windows programming.

Also: a special welcome to our guests from Siemens Germany: Florian, Alexander and Achim.


Windows DIB Buffer and Sound Buffer

First we had a nice demo and code walkthrough of our colleague Quincy Jacobs, who has experimented with the Windows DIB Buffer and Sound Buffer using good old C++/C. This ignited a lively discussion on wave and sound generation and techniques used for that. It took me right back to the era of home computers, in which I experimented a lot with the Commodore 64's SID (Sound Interface Device) programmable sound generator chip. Revolutionary for it's time (see also: https://en.wikipedia.org/wiki/MOS_Technology_SID).

BabylonJS

Next, I gave an update on my BabylonJS Archimate model project. This week, I had implemented an Observer to keep the Archimate (JavaScript Object) model in sync with the BabylonJS model. This enables the 3D model of the architecture being updated at runtime. I abandoned the proxy approach that I mentioned last week, since this is not supported by IE (in Edge it is supported) and IMHO it's too early to exclude IE. Instead I used a classic Observer implementation in JavaScript. We did a code walkthrough and discussed application of the Observer- and Factory pattern in general and in JavaScript. There is interest to plan a separate knowledge session on BabylonJS and WebGL. BabylonJS is based on WebGL (Web Graphics Library), which is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins.

To be continued...

RFID (Radio-Frequency Identification)

As promised last week, we took a look at RFID technology. Roughly speaking: using a reader/writer  your application can interact with RFID tags (e.g. in your security card). Your RFID tag provides a unique id to your application, which you can use as a key in your database. In a nutshell this is the basis of access and registration systems. At very low costs, a few Euro's actually, you can have a lot of fun in your IoT project! See the links below for resources on this.
We could use RFID labels and a scanner for building an interactive toy for young children (see my last week's post on this). Based on RFID and Lilypad Arduino technology 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.

Anyway... a lot to learn!

Further reading

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

RFID: https://en.wikipedia.org/wiki/Radio-frequency_identification
Tutorial 12 for Arduino: RFID Card Reading: https://www.youtube.com/watch?v=gIlSLwcbeTU
What is RFID? How RFID works? RFID Explained in Detail: https://www.youtube.com/watch?v=Ukfpq71BoMo
MF522 RFID Write data to a tag: https://www.youtube.com/watch?reload=9&v=uihjXyMuqMY
RFID Programming Made Simple and Cheap: https://www.developer.com/net/article.php/3628811/RFID-Programming-Made-Simple-and-Cheap.htm
BabylonJS, see my previous 19th july post: https://hansrontheweb.blogspot.com/2018/07/this-weeks-wednesday-evening-training_19.html
Understand the Factory Design Pattern in plain javascript (one of the many articles on this): https://medium.com/front-end-hacking/understand-the-factory-design-pattern-in-plain-javascript-20b348c832bd
The Observer Pattern in JavaScript explained: https://pawelgrzybek.com/the-observer-pattern-in-javascript-explained/
WebGL: https://en.wikipedia.org/wiki/WebGL

Past Wednesday Evening Trainings

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

Next Wednesday Evening Training

Next Wednesday Evening Training, we'll take a deep dive into Micro Services. We'll discuss this from both an architectural point of view and a (Java) software engineering point of view. Demo's will be shown, code walkthroughs will be done and hopefully we'll have yet again a lively discussion!

Experiment, learn and have fun!


#capgemini #werkenbijcapgemini #lifeatcapgemini #wednesdayeveningtraining #3d #virtualreality #unity3d #babylonjs #arduino #rfid #iot #internetofthings #archimate #archi #patterns #windowsprogramming #c #c++

No comments:

Post a Comment