5/29/19

Week #22's Wednesday Evening Training: Quantum Computing, a practical introduction using IBM technology (part 7)

Continuing our exploration of Quantum Computing in our Wednesday Evening Training, we had a nice introduction in Quantum Computing and the math behind from one of our Quantum Computing experts: Ilyas Sener.

We've discussed ports, matrix calculations, applications and made comparisons to Turing based computers.




We also had a good brainstorm on topics that we like to discuss next Wednesday Evening Training sessions on Quantum computing. I'll soon give an update on what will be on our agenda the upcoming months.

Interesting topics! We'll definitely continue exploring Quantum Computing!



Further reading

Do you want to read more on the topics in this post?

Take a look at my post: "Quantum computing: an introduction and a lot of links to resources":
https://hansrontheweb.blogspot.com/2018/11/quantum-computing-introduction.html

Or visit my YouTube channel on Quantum Computing: https://www.youtube.com/playlist?list=PLSiMhBs48YvWecXqKP00NGuiP5UD6RoCk

Next week's Wednesday Evening Training

Next week we will have an introduction on Android Studio by Melchior Vrolijk. We'll get basic knowledge on how to use the Android Studio IDE for developing Native Android apps, run native apps using the integrated emulator and on our own physical Android devices.

Looking forward to next week!

Past Wednesday Evening Trainings on all topics

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

Work @Capgemini?

Do you want to join us? We're always looking for and well-motivated young professionals. Do you have a bachelor or master degree or extensive practical experience? Or do you have a relevant ICT / Informatics training and you have become curious about us? Please send me an mail. Working for us gives you access to all Wednesday Evening Trainings!

5/28/19

Access videos and presentations from the Neo4j GraphTour 2019 in Europe

Were you unable to attend the Neo4j GraphTour 2019 in Europe?

Neo4j is a graph database is a database that uses graph structures (nodes, edges and properties) and  semantic queries to represent and store data.

Access videos and presentations from the Neo4j GraphTour 2019 in Europe: https://go.neo4j.com/OnDemand-GraphTour-2019-EMEA_Registration.html

You'll find a video summary here: https://youtu.be/Ctuim01UXE0



In our Wednesday Evening Trainings, we regularly pay attention to graph databases and Neo4j.
See my posts: https://hansrontheweb.blogspot.com/search?q=neo4j

10 Commandments for software(development)

10 years ago, I posted 10 Commandments for software(development).

Since then, nothing much has changed.

Therefore, once again:

  1. You shall be swift and accurate in responding to the user's commands and you shall therefore not keep the user waiting for something he did not ask for. (also: you shall not mislead the end user by showing animated gifs as if you were working hard)

  2. You shall be swift, accurate, clear and understandable in communicating with your user.

  3. You shall not waste memory nor shall you waist processor time or network bandwidth.

  4. You shall not offer the user more functionality and information than he can handle.

  5. You shall not distract the user with information he does not want or need at that particular moment.

  6. You shall not force the user to take action when he does not need to, that is: when work is not in jeopardy.

  7. You shall not force the user to unnecessarily update or upgrade.

  8. You shall not force the user to uniquely commit to one technology, company, organisation or community.

  9. You shall not seduce the user to communicate only by computer and thus neglect face-to-face communication.

  10. You shall not make your favorite platform or technology into a religion.

5/20/19

Week #19's Wednesday Evening Training: Combi IoT "klusavond" and a practical introduction on IoT using the Arduino microcontroller

This evening, one of our IoT champions, Aishwarya Dhall, once again gave a good introduction of the Arduino technology with some nice handson labs. We do this on a regular basis in our Wednesday Evening Trainings, to give our colleagues the opportunity to catch up on IoT any time during the year.

More experienced colleagues continued with their own labs. In this way everyone can acquire knowledge and experience with this technology at their own pace.



Future Wednesday Evening Training sessions on IoT/Arduino and related topics...

We also had an inspiring brainstorm on future handson labs. Connecting more detectors and experimenting with other technologies. RFID (Radio-frequency identification ) and gesture sensors are just two of the technologies we'll be playing with in upcoming Wednesday Evening Trainings.

Keep following my posts to stay up to date!

Further reading

Do you want to read more on the topics in this post or play around with the technology? Here are some links…

An Arduino is like a little computer (microcontroller) where you can read input of a (example) sensor and can control your output. Like lights, LCD screen, speaker etc. It’s easy to program the Arduino. Read more in my other blog posts: https://hansrontheweb.blogspot.com/search?q=Arduino

On Arduino:
Arduino Interrupts Tutorial (explanations, 2 demo's/labs): https://www.youtube.com/watch?v=QtyOiTw0oQc
My YouTube playlist on YouTube: https://www.youtube.com/playlist?list=PLSiMhBs48YvV86iiXFJY-BRxOsP2A2pnH
10 Awesome Beginner Arduino Projects: https://create.arduino.cc/projecthub/RoyTobby/10-awesome-beginner-arduino-projects-78a6a6
Arduino project - Adaptive LED Morse Code Decoder and Timer Interrupt: https://create.arduino.cc/projecthub/shjin/adaptive-led-morse-code-decoder-and-timer-interrupt-8d18a7
Arduino - Multitasking (e.g. interrupts): https://learn.adafruit.com/multi-tasking-the-arduino-part-2/overview
Arduino Interrupts: https://www.instructables.com/id/Arduino-Interrupts
Arduino Playgrounds - Interrupts: http://playground.arduino.cc/code/interrupts

On Fritzing (designing electronic circuit boards):
Fritzing official site: http://fritzing.org/home
A quick overview on Fritzing: https://www.slideshare.net/HansRontheWeb/fritzing-breadboard-editor

Past Wednesday Evening Trainings on all topics

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

Week #20's Wednesday Evening Training: Web Socket implementation using ASP.NET Core, Angular and SignalR

Ever wondered how to push information from the server to your single page app in the browser?

Delivering up-to-date information is crucial today. In classic web applications, server side code is passive and needs to be queried to get information. Web sockets, however, gives the ability to have server-side code push content to clients in real-time.

This Wednesday Evening Training, our colleagues Sina Wahed and Carl in 't Veld gave us an excellent introduction into the application of web sockets in a connected web browser setup.

This technology really helps building a real-time web experience in applications like chat, stock tickers, co-editing et cetera.



So, what did we do during our Wednesday Evening Training?

We started with a Microsoft-flavored :) overview of event driven architectures and the application of web sockets in a connected web browser setup.

After this, Carl gave us a demo and code walk through of a nice example SignalR application building  an event-driven web socket enabled web application. SignalR is an ASP.NET based software library allowing server code to send asynchronous notifications to client-side web applications. Read more on this in the links below.


Then Sina escorted us in a deep-dive into the details of the web sockets protocol. WebSocket is a computer communications protocol, providing full-duplex communication channels over a single TCP connection.

Of course there was plenty of room for Q&A, discussions and hands on labs. But since the amount of contents exceeded the amount of time, we'll continue these topics in next Wednesday Evening Training sessions. We'll also take a deep dive in additional related topics as well.

Interesting and innovative stuff! Thanks Sina and Carl for sharing your knowledge with us!



Next Wednesday Evening Training...

Next Wednesday Evening Training, we'll have an introduction on Neural Networks. We'll be getting an overview of the concepts and applications and we'll dive into the mathematics & algorithms involved.

Further study

Do you want to read more on the topics in this post or play around with the technology? Here are some links…

To get started:
Have the latest Nodejs/npm LTS installed: https://nodejs.org/
Have Visual Studio Code installed: https://code.visualstudio.com/
or Visual Studio 2017 / 2019 if you have a Visual Studio subscription. https://visualstudio.microsoft.com/

On Web Sockets:
WebSocket: https://en.wikipedia.org/wiki/WebSocket
WebSockets 101: lucumr.pocoo.org/2012/9/24/websockets-101/

On SignalR:
SignalR: https://en.wikipedia.org/wiki/SignalR
Real-time ASP.NET with SignalR: Incredibly simple real-time web for ASP.NET: https://dotnet.microsoft.com/apps/aspnet/real-time
ASP.NET Core SignalR .NET Client: https://www.youtube.com/watch?v=vHgMD7I3Duw
Example code (GitHub): https://github.com/swappdeveloper/watwsstappen
Example code (GitHub) swappdeveloper/WednesdayTrainingWebsocketExample:
https://github.com/swappdeveloper/WednesdayTrainingWebsocketExample
Example code using Azure Durable Function (GitHub): https://github.com/cveld/DurableFunctionsExample

Past Wednesday Evening Trainings on all topics

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

Work @Capgemini?

Do you want to join us? We're always looking for and well-motivated young professionals. Do you have a bachelor or master degree or extensive practical experience? Or do you have a relevant ICT / Informatics training and you have become curious about us? Please send me an mail. Working for us gives you access to all Wednesday Evening Trainings!


Week #18's Wednesday Evening Training: WebGL, a recap and continuing implementing WebGL graphics

In this session Quincy Jacobs gave a short recap of his previous Wednesday Evening Training sessions on WebGL (also see my previous posts) to refresh our knowledge on Shaders, Vertex Buffers, Attribute Pointers and various other techniques used in WebGL.




Afterwards this he continued his explanation on implementing textures using the same techniques as the Vertices and the Colors. Some simple math to move, scale and rotate our created shapes was discussed as well.

Just like in other Wednesday Evening Training  sessions, there was also sufficient room for Q&A and discussion and there were lots of code example available for each topic . Plenty to play around with!

Next session, we'll plan time for continuing our WebGL handson labs.

Thanks Quiny, for sharing your knowledge with us!


Further study

Do you want to read more on the topics in this post or play around with the technology? Here are some links…

Quincy Jacob's WebGL Github repository, with alle the docs and examples
https://github.com/QuincyJacobs/WebGLTutorial

WebGL
https://webglfundamentals.org/
https://webgl2fundamentals.org/
https://developer.mozilla.org/nl/docs/Web/API/WebGL_API

OpenGL (also handy for WebGL)
https://learnopengl.com/
https://open.gl/

On the Math
https://www.khanacademy.org/
https://www.symbolab.com/solver/matrix-calculator
https://academo.org/demos/3d-vector-plotter/

Examples and demo's
https://experiments.withgoogle.com/collection/chrome

Past Wednesday Evening Trainings on all topics

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

Work @Capgemini?

Do you want to join us? We're always looking for and well-motivated young professionals. Do you have a bachelor or master degree or extensive practical experience? Or do you have a relevant ICT / Informatics training and you have become curious about us? Please send me an mail. Working for us gives you access to all Wednesday Evening Trainings!

5/3/19

Week #17's Wednesday Evening Training: Quantum Computing & Encryption

On the 24th of April, the 6th edition of the Wednesday Evening Training on Quantum computing was held.

The topic was:  how quantum computing could effect encryption.

In this session, we had a great discussion on how long the most modern supercomputer would take to calculate every single answer in an RSA 2048 bit encryption calculation. And how a Quantum Computer could help.

The time that it would take was estimated to be much longer then the universe will be in existence. That is why this form of encryption is very secure and used everywhere today. However,  immense quantum parallelism would enable quantum computers to break RSA within days or hours.

This would mean that current cryptography would be completely useless when quantum computers are ready. To make matters worse, loads of data is already logged today by companies and governments. This means that data that is secure today, will not be protected tomorrow. We should, therefore, start to think about how long we want to keep our data safe.


Thanks Julian, for sharing your knowledge with us!




Further reading

Do you want to read more on the topics in this post?

Take a look at my post: "Quantum computing: an introduction and a lot of links to resources":
https://hansrontheweb.blogspot.com/2018/11/quantum-computing-introduction.html

Or visit my YouTube channel on Quantum Computing: https://www.youtube.com/playlist?list=PLSiMhBs48YvWecXqKP00NGuiP5UD6RoCk

On specific topics:

Bra–ket notation: https://en.wikipedia.org/wiki/Bra%E2%80%93ket_notation
Quantum Mechanics Concepts: 1 Dirac Notation and Photon Polarisation: https://www.youtube.com/watch?v=pBh7Xqbh5JQ
Conjugate transpose: https://en.wikipedia.org/wiki/Conjugate_transpose
What are theta, phi and lambda in cu1(theta, ctl, tgt) and cu3(theta, phi, lam, ctl, tgt)? What are the rotation matrices being used? https://quantumcomputing.stackexchange.com/questions/2707/what-are-theta-phi-and-lambda-in-cu1theta-ctl-tgt-and-cu3theta-phi-lam
Grover - A fast quantum mechanical algorithm for database search: http://arxiv.org/abs/quant-ph/9605043

Next week's Wednesday Evening Training

Next week we'll have a good old "klusavond" in which we will have multiple topics, like the Arduino Micro processor, IoT  Neo4j, WebGL (continuation of this week's session) et al.

Past Wednesday Evening Trainings on all topics

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

Work @Capgemini?

Do you want to join us? We're always looking for and well-motivated young professionals. Do you have a bachelor or master degree or extensive practical experience? Or do you have a relevant ICT / Informatics training and you have become curious about us? Please send me an mail. Working for us gives you access to all Wednesday Evening Trainings!

5/1/19

Week #16/17/18's Wednesday Evening Trainings: a quick preview...

Apologies! I'm a bit behind with writing my blog articles.

For that, already some impressions of week #16/17/18's Wednesday Evening Trainings on:

  • Modeling patterns & solutions in Archimate using Archi & an update on how to use Neo4j with Archimate & Archi
  • Quantum Computing, a practical introduction using IBM technology (part 6)
  • WebGL: recap and continuation of implementing WebGL graphics

Blog articles will be published as soon as possible!