Showing posts sorted by date for query quantum. Sort by relevance Show all posts
Showing posts sorted by date for query quantum. Sort by relevance Show all posts

12/11/19

The Wednesday Evening Training: a recap of 2019 and quick preview of 2020

Also this year we organized around 50 sessions on diverse technical topics. We learned a lot and we had a lot of fun...



On 3D graphics... Quincy Jacos and Remko Haagsma organised a number of sessions covering various techniques in computer graphics like WebGL, Unity 3D, Blender and of course the math involved. We dealt with one topic per evening and had also have time to work on projects together or alone. At the end of 2019, we mainly discussed topics that were close to the basics. The sessions that have been held so far were about the layout of the track and the Unity game engine.

On Quantum Computing... Julian van Velzen organised sessions in which the basics of Quantum Computing were discussed: the physics, gates, programming and platforms (IBM, Microsoft) involved.

On architecture... Amir Westhoff, Fred van Nimwegen and Hans van Rijs discussed ways in which architecture can be modelled, stored & queried and visualized. Some of the topics: Neo4J (graph databases) and Apache Jena for storing and querying models, patterns, modelling in Archimate/Archi and UML and model visualization prototypes in threejs (2D/3D).

On IoT and Microcontrollers... Aishwarya Dhall organised sessions on Arduino, Raspberry Pi. In various labs we experimented with various sensors, made our own LED cube and learned to implement basic home automation solutions using IFTT (If This Then That) and Smart Home Devices like Alexia.

We discussed various topics on software engineering and specific technology stacks like C#, Python, Code Reviewing & SonarQube, ASP.NET Core, WebSockets and SignalR.

On mobile we had workshops on Android Studio, Ionic4 and Progressive Web Apps (PWA).

There was also room for Frontend technologies like Angular, Web Components, FlexBox and Vanilla Frontend Architectures (that is: building the frontend without frameworks).

On security, we had sessions on Encryption and Social Engineering in which we discovered that you don't need to use advanced technology to hack an organisation.

Various platforms were discussed, like Kafka, Docker, Kubernetes and DevonFW.

And in our "klusavonden" (which translates from Dutch as "an educational and sociable evening full of experiments on technology") we worked on our projects on various topics, gave demos and held discussed on the topics involved.

Thanks to all colleagues who contributed to the sessions by sharing their knowledge, experience, prototypes, demos and participating in the inspiring discussions!


There remains a lot to learn in our Wednesday Evening Training... a quick preview on 2020


In 2020, we'll continue our tracks on Graphics, IoT & Micro controllers, Architecture and our Combi klusavonden. And more topics have been put on the agenda... and there is still room for more.

The agenda for the sessions in January and February 2020 will include:

  • Combi IoT klusavond: Squat for coffee (Arduino and sensors)
  • Practical 3D Graphics & Programming: Practical 3D Graphics & Programming: Unity movement
  • A practical introduction to the Kotlin cross-platform programming language
  • A practical introduction to the ReactJS framework
  • Combi IoT klusavond: Automate your house using IFTTT.com (If-This-Then-That)
  • Practical 3D Graphics & Programming: Blender modeling
  • Architecture: API management


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


Would you like to attend one of our Wednesday Evening Training sessions?

There is a limited amount of seats available to attend our sessions. Please send me an email if you would like more information on the sessions and the the possibilities to attend.


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 email. Working for us gives you access to all Wednesday Evening Trainings!

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/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!










3/26/19

Week #12's Wednesday Evening Training: Hands-on with Quantum Computing, a practical introduction (part 5)

Continuing our exploration of Quantum Computing in our 5th Wednesday Evening Training, we had a good discussion on several topics:

  • Qubits: determining tensor products in 2-qubit systems (matrix algebra)
  • Using the Bra–ket notation
  • Conjugate transpose (matrix algebra)
  • Entanglement explained, the role of entanglement in a quantum algorithm 
  • Bell states
  • Exploring the Bloch sphere, also using a simulator (see the resources below).
  • The meaning of theta en phi
  • Grover’s Algorithm, implementation of an Oracle 

Interesting topics! We'll definitely continue these kind of discussions.




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 will continue our Neo4j sessions. We'll have great labs and a demo and we will discuss application of Neo4j for storage of searchable architecture models!

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!

3/15/19

Week #11's Wednesday Evening Training: Control your Raspberry Pi using LUIS on Azure (part 2)

This session was the second part of two sessions where we got an introduction on the Azure Cognitive Speech Services, combined with LUIS, .NET Core and the Raspberry Pi. Read my first post on this topic for a quick introduction of the topics involved and a quick "how to" to get started yourself.


So how did we proceed this evening?

This evening, we continued with our lab. Some of us experimented using Android based mobile phones for speech input. Also, we did some experiments controlling other hardware than LED's.  There was lot's of discussion and brainstorming on other applications and alternative implementations like MQTT and NodeRED. Far more than we could handle in just one evening. Therefore, we'll continue our labs in the next Wednesday Evening Training on IoT (that will be a "klusavond" on april 3rd).

Thanks Ronnie Jongenelen, for sharing your knowledge with us! Great stuff!




Further reading

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

On Azure:
Microsoft Azure - Cognitive Services: https://azure.microsoft.com/nl-nl/services/cognitive-services/
Quickstart: Use prebuilt Home automation app: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-get-started-create-app
RaspberryIO - Pi's hardware access from .NET: https://github.com/unosquare/raspberryio/blob/master/README.md
Setting up Raspbian and .NET Core 2.0 on a Raspberry Pi: https://blogs.msdn.microsoft.com/david/2017/07/20/setting_up_raspian_and_dotnet_core_2_0_on_a_raspberry_pi/

On the Raspberry Pi:
Raspberry Pi: https://en.wikipedia.org/wiki/Raspberry_Pi
Raspberry Pi (official site): https://www.raspberrypi.org
Comparison of single-board computers: https://en.wikipedia.org/wiki/Comparison_of_single-board_computers
Raspbian Debian-based computer operating system for the Raspberry Pi: https://en.wikipedia.org/wiki/Raspbian

On LUIS:
LUIS: http://www.luis.ai
Tutorial: Recognize intents from speech using the Speech SDK for C#: https://docs.microsoft.com/nl-nl/azure/cognitive-services/speech-service/how-to-recognize-intents-from-speech-csharp
Learn Azure (learn at your own pace): https://docs.microsoft.com/en-us/learn/azure/

On Azure/LUIS/IoT combination:
Quickstart: Use prebuilt Home automation app: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-get-started-create-app
Control your Raspberry Pi using LUIS on Azure (Part 1): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-1/#blog
Control your Raspberry Pi using LUIS on Azure (Part 2): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-2/#blog
Control your Raspberry Pi using LUIS on Azure (Part 3): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-3/#blog
Handson Lab - Combine LUIS and the Azure Speech Service to control a Raspberry Pi (sources with Ronnies' hands on lab): https://github.com/rwjjongenelen/CognitiveServices.Speech.IntentRecognition

Other stuff:
A nice and free tool for designing electronic circuits: http://fritzing.org

Next week's Wednesday Evening Training

Next week we will continue our Quantum computing sessions. We'll have a lot of topics to discuss, e.g. complexity theory, Cryptography, optimization and machine learning (quantum neural nets). Looking forward to this!

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!

2/21/19

Microsoft Quantum Lab on TU Delft campus opened by Dutch King

"On 21 February, King Willem Alexander opened the Microsoft Quantum Lab on the campus of TU Delft. With the lab, Microsoft strengthens quantum research in Delft, a research area where TU Delft ranks among the world's best. The QuTech Research Institute, a collaboration between TU Delft and TNO, is working with industry on the development of quantum computers and a quantum internet. Microsoft, which now has its own laboratory in Delft, is one of the most important companies that collaborates intensively with Delft quantum researchers."

Source: https://www.tudelft.nl/en/2019/tu-delft/dutch-king-opens-microsoft-quantum-lab-on-tu-delft-campus/

Further reading

More on the Microsoft Quantum Lab Delft: https://www.microsoft.com/en-us/research/group/microsoft-quantum-delft/

Do you want to know a bit more on Quantum Computing? Read my short intro and links to practical resources in https://hansrontheweb.blogspot.com/2018/11/quantum-computing-introduction.html.

Wednesday Evening Training on Quantum Computing

Capgemini regularly organizes #WednesdayEveningTraining workshops on Quantum Computing. Read more on these sessions in this blog: https://hansrontheweb.blogspot.com/search?q=quantum

2/20/19

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

Continuing our exploration of Quantum Computing, guided by one of our Quantum Computer champions: Ilyas Sener. We had a little recap of Quantum logic gates, math topics and an inspiring brainstorm on topics for our upcoming Wednesday Evening Trainings on 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

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 email. Working for us gives you access to all Wednesday Evening Trainings!

1/19/19

Week #3's Wednesday Evening Training: Quantum Computing, continuing with IBM technology

Our fourth Wednesday Evening Training on Quantum computing already! For the other sessions, see https://hansrontheweb.blogspot.com/search?q=quantum, for a quick catch-up on Quantum Computing, see: https://hansrontheweb.blogspot.com/2018/11/quantum-computing-introduction.html.





This week, we continued our labs and explored the various quantum logic gates that can be used in programming a Quantum Computer. Gates form the building blocks of quantum circuits, like classical logic gates do in digital circuits. They operate on a small number of qubits. So a Quantum "program" (actually called a "circuit") is a sequence of quantum gates.

Our Quantum Computer champions, Julian van Velzen and Ilyas Sener, gave us a lot of explanation, examples and help to get up to speed. We used IBM's Q Experience (see the resources below) for our labs.

There is still a lot to learn and experiment. We decided to plan a Wednesday Evening Training on Quantum Computing each month this year, so don't miss our updates!


 


Further reading

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

A very very very short introduction on Quantum computers: https://hansrontheweb.blogspot.com/2018/11/quantum-computing-introduction.html

On the basics of quantum physics:
Quantum Computing Expert Explains One Concept in 5 Levels of Difficulty (an excellent way to start!): https://www.youtube.com/watch?v=OWJCfOvochA
My YouTube list on Quantum Computing: https://www.youtube.com/playlist?list=PLSiMhBs48YvWecXqKP00NGuiP5UD6RoCk
How it Works: Quantum Computing: https://www.youtube.com/watch?v=WVv5OAR4Nik
Qubit (the basic unit of quantum information): https://en.wikipedia.org/wiki/Qubit
Quantum information (information that is held in the state of a quantum system): https://en.wikipedia.org/wiki/Quantum_information
Quantum system: https://en.wikipedia.org/wiki/Quantum_system
Quantum mechanics: https://en.wikipedia.org/wiki/Quantum_mechanics
Quantum Computing Primer: https://www.dwavesys.com/tutorials/background-reading-series/quantum-computing-primer
Quantum Computing basics: What is Quantum Computing?: https://www.microsoft.com/en-us/quantum/what-is-quantum-computing
Quantum Computing Technology: https://www.microsoft.com/en-us/quantum/technology

On the basics of the underlying math:
The Mathematics of Quantum Computers | Infinite Series: https://www.youtube.com/watch?v=IrbJYsep45E
Automata theory: https://en.wikipedia.org/wiki/Automata_theory
Turing machine: https://en.wikipedia.org/wiki/Turing_machine
Computational complexity theory: https://en.wikipedia.org/wiki/Computational_complexity_theory
Theory of computation | Computable and non-computable problems: https://www.geeksforgeeks.org/theory-of-computation-computable-and-non-computable-problems/

On quantum computer hardware:
IBM Q initiative to build commercially available universal quantum computers: https://www.research.ibm.com/ibm-q
Introduction to the D-Wave Quantum Hardware: https://www.dwavesys.com/tutorials/background-reading-series/introduction-d-wave-quantum-hardware

On Quantum computer software development:
Software Architecture & environment: https://www.dwavesys.com/software
Qiskit (an open-source quantum computing framework for leveraging today's quantum processors in research, education, and business): https://qiskit.org/
What is Qconfig in QISKit and how do I set it up?https://quantumcomputing.stackexchange.com/questions/2062/what-is-qconfig-in-qiskit-and-how-do-i-set-it-up
Quantum information: https://en.wikipedia.org/wiki/Quantum_information
Quantum computing: https://en.wikipedia.org/wiki/Quantum_computing
Quantum circuit: https://en.wikipedia.org/wiki/Quantum_circuit
Quantum logic gates: https://en.wikipedia.org/wiki/Quantum_logic_gate
Quantum circuit: https://en.wikipedia.org/wiki/Quantum_circuit
Qubit: https://en.wikipedia.org/wiki/Qubit
Microsoft Quantum Development Kit: https://www.microsoft.com/en-us/quantum/development-kit and https://docs.microsoft.com/en-us/quantum/?view=qsharp-preview
The Q# Programming Language: https://docs.microsoft.com/en-us/quantum/quantum-qr-intro?view=qsharp-preview
Download Quantum Studio: http://quantum-studio.net/#download_qs

On quantum computer simulators:
IBM: https://quantumexperience.ng.bluemix.net/qx/editor
The QX Simulator: http://quantum-studio.net
Ready-to-use Linux Ubuntu Virtual Machine with QX installed: http://quantum-studio.net/#download_vm
Quantum Computing Playground: http://www.quantumplayground.net
QCEngine - active QC simulator: http://machinelevel.com/qc/
List of Quantum computer simulators: https://quantiki.org/wiki/list-qc-simulators
Another list of Quantum computer simulators: http://www.vcpc.univie.ac.at/~ian/hotlist/qc/simulation.shtml
Quantum computer simulator: https://qcsimulator.github.io/

Other resources:
Microsoft's Quantum Computing portal: https://www.microsoft.com/en-us/quantum
Microsoft's Quantum Computing, technologies (Physics, Materials, Devices, Control, Runtime): https://www.microsoft.com/en-us/quantum/technology
IBM Q Experience! Guides, demo's etc.: https://quantumexperience.ng.bluemix.net/qx/experience
Microsoft Quantum: https://www.microsoft.com/en-us/quantum
Microsoft Research on Quantum Computing: https://www.microsoft.com/en-us/research/lab/quantum/
Hello Quantum - Explore the building blocks of quantum mechanics through puzzles: http://helloquantum.mybluemix.net

Past Wednesday Evening Trainings on all topics

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


#quantumcomputers #quantumcomputing #wednesdayeveningtraining #werkenbijcapgemini #lifeatcapgemini #capgemini #hansrontheweb #qiskit #ibm

12/17/18

The Wednesday Evening Training: how and why does it work?

Our Wednesday Evening Training in 2018: 50 evenings, over 35 topics on innovative technology, frameworks, architecture, infrastructure, graphics & 3D modeling and Quantum computing in Capgemini’s CoZone.

We learned a lot and we had a lot of fun!

That was 2018, but the Wednesday Evening Training has been running for quite some years now... so how did we do that?

In this blogpost I'll try to explain this by our "rules of the road" that we've stuck by the past years and seem to work really well.



Rule #1: Offer many learning styles and experiment mixing these

Everyone has a personal learning style: the way he or she learns most effectively. As a child we all learned a lot by playing, by experimenting, at our own pace, in our own way. As we got older, the way of learning was increasingly restricted; playing was replaced by fixed learning rituals and focussed on the individual. We simply forgot to learn by playing. In our Wednesday Evening Trainings we offer a platform on which everyone can learn, experiment and share. We mix different learning styles to offer anyone an effective means to get to know new technologies. And having fun is mandatory.



Rule #2: About content: keep the water flowing

Learning content needs to be fresh. Technology is evolving fast. Therefore, publications become stale and less useful, just like water sitting in a glass for too long. To keep learning content usefull it needs to be constantly refreshed, new content must be added, content must be used and discussed actively. It must flow constantly. Dare to deviate from the beaten track. Use many forms of content, use, share and discuss. A discussion in a demo or walkthrough offers plenty of interesting knowledge. We discovered that even an unfinished prototype or crude idea generates more interest and is more inviting than a fully finished and varnished final product. It generates discussion, interaction, and feeds inquisitiveness and ideas. And that's what the Wednesday Evening Training is all about!



Rule #3: Offer a platform anyone can join, not a closed community

By a platform, I do NOT mean a software platform, an App or any other tool that is considered hot. Such tools are NO guarantee for success. A tool is an empty silo that needs a process to be succesfull, content needs to be refreshed and used continuously. If not, the contents of your silo will grow stale and the silo will deminish.
What I mean by a platform is a process anyone can join, at minimum effort. The Wednesday Evening Training takes place at a fixed day/time, in a fixed inspiring location (our CoZone). Joining is easy, just come visit and start working.



Rule #4: There are no guru's nor newbies

Anyone can learn from anyone. Senior professionals can share deep knowledge and broad experience, but young professionals can suggest new subjects that they have just learned at school, they can ask questions and stimulate discussion. It's not just the seniors that teach the juniors. A platform like the Wednesday Evening Training actively encourages exchange knowledge and connects professionals of all levels. And everybody needs to feel safe asking questions, posing idea's and sharing knowledge.



Rule #5: It's a process, not an event, nor a project, nor a program

An event, learning project and program may offer knowledge and experience, but these have a fixed start and and fixed finish. After finishing, learning stops as well. The Wednesday Evening Training, however, goes on continuously, constantly adding new topics and deepen our knowledge and experience in popular topics. Discussion and hands-on experimentation constantly feeds the need for further exploration. And that feeds our Wednesday Evening Training agenda. We plan for the upcoming months and build in plenty of flexibility to add additional topics. What is paramount is to keep the fire burning.


Rule #6: Do not manage, but do facilitate, support, connect, motivate

It may seem like a nightmare to managers, but there is no clearly defined business case, nor deadlines, nor is there a clear deadline on which some kind of deliverable is produced. The Wednesday Evening Training is fully self organized and self-steering. And it continuously produces results: knowledge added to the communities' knowledge base, experience using technologies and new partnerships between professionals. So how can management be involved? Well, in keeping the fire burning: facilitate, support, motivate people to join and actually reward collaboration.




Of course, these rules of the road are constantly evolving. We regularly evaluate how we work together and how we can improve. And if we find it necessary, we adapt. This way we keep up with new technologies, we deepen our knowledge and experience. And above all, we'll continue to have a lot of fun, each week, in our CoZone.

12/1/18

Week #48's Wednesday Evening Training: a "klusavond" with a lot of math, workers and automata theory

In this week's Wednesday Evening Training: a "klusavond" with miscellaneous topics.

A "klusavond"?

Well, that's a typically Dutch word for a good old fashioned evening in which everybody works on his own projects and we have some demo's, presentations and discussions on various topics. Some weeks ago, during our Wednesday Evening Training evenings on Quantum computing and OpenGL, we decided that we definitely needed some refreshment of our basic math knowledge on vector calculus and complex numbers. Also, we also wanted to have a greater sense of the kind of problems that quantum computers can solve, that's why we wanted also to go deeper into the limits of the problem-solving capacity of classic computers. That required us to have some refreshment on automaton and problem theory as well. And what would be a Wednesday Evening Training evening be without programming? So we also added some explanation, a demo and some hands on labs on JavaScript workers.



On the math...

On the math, our Quantum computer champion Julian van Velzen and our OpenGL champion Quincy Jacobs had some nice exercises prepared for us. We worked out these assignments on the whiteboard together. Quincy even had programmed some nice online vector calculation simulations, which you can find in the resources below. Thanks Quincy, Julian and Bart van Beek, this is certainly useful for our workshops on OpenGL and Quantum computing!

The problem solving power of Automatons

Next, I gave some explanation on the various kinds of automatons and their ability to solve problems. Automatons, or abstract machines, abstract computers, are theoretical models of a computer hardware or software systems. They form the theoretical background of all modern computers. Using these models, we can say something about the type of problems that computers can solve, and how (efficiently) they can do that. There are multiple classes of automata, varying from primitive to powerful. The most commonly known are Combinational logic, Finite-state Machines, Pushdown automatons and Turing Machines. Turing Machines are the most powerful and they form the theoretical basis of our modern computers. They are able to solve multiple classes of (mathematical) problems in a more or less efficient way. And there are classes of problems that Turing Machine based are not able to solve at all. We did a walk through of these automaton classes and the problem classes that they can solve. Ultimately we discussed the problem class a classical Turing Machine based computer can never solve, but a Quantum Computer can.
More on this in my article on "Quantum computing: an introduction", I'll do an update shortly.


















JavaScript workers: dedicated workers, shared workers and service workers

Basically, a "worker" is a JavaScript program running in the background, that is: in a separate thread in your browser. That has the clear advantage that it does not affect the performance of your web page, but is limited, e.g. that t is not able to interact directly with your web page. Workers are, for example, used for running (asynchronous) "services" in the background of your web page, fetching resources, doing calculations, et cetera. In Progressive Web Apps (PWA), they form the backbone of an application. See my blogpost "This week's Wednesday Evening Training: Progressive Web Apps (PWA) and an intermezzo on cryptography" for more information on PWA's and some links to resources on PWA's. We discussed three types of web workers: dedicated workers, shared workers and service workers. In short: dedicated web workers (the most primitive type) only works for 1 web page, shared workers (a bit more advanced) can be used by multiple web pages (from the same origin) and service workers (the most advanced) can actually handle requests to your web page (from the origin). With service workers, you're able to create offline web sites (PWA) that can even support push messaging. By the way: browser support on shared workers does not look good (more on this), use Service workers instead.
This evening , we did a walk through of all types of workers above and some nice hands on labs on Service workers (see the links below).
We'll definitely continue with Service workers in our next Wednesday Evening Training session on Progressive Web Apps.

Further reading

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

On the math
QuincyJacobs/Vector-drawing-js: For explanation purposes during linear algebra: https://github.com/QuincyJacobs/Vector-drawing-js

On the Automaton theory
Quantum computing: an introduction (and a lot of links to resources): https://hansrontheweb.blogspot.com/2018/11/quantum-computing-introduction.html
Automata theory: https://en.wikipedia.org/wiki/Automata_theory
Turing machine: https://en.wikipedia.org/wiki/Turing_machine
Computational complexity theory: https://en.wikipedia.org/wiki/Computational_complexity_theory
Finally, a Problem That Only Quantum Computers Will Ever Be Able to Solve: https://www.quantamagazine.org/finally-a-problem-that-only-quantum-computers-will-ever-be-able-to-solve-20180621/

On Web Workers
Introduction, applications and code: https://html.spec.whatwg.org/multipage/workers.html
This week's Wednesday Evening Training: Progressive Web Apps (PWA) and an intermezzo on cryptography: https://hansrontheweb.blogspot.com/2018/10/this-weeks-wednesday-evening-training_18.html

Dedicated Workers:

Shared Workers:

Service Workers:


Past Wednesday Evening Trainings on all topics

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


#wednesdayeveningtraining #capgemini #lifeatcapgemini #html #javascript #quantumcomputing

11/24/18

Week #47's Wednesday Evening Training: Hands-on with Quantum Computing, a practical introduction using Qiskit (part 2)

This was actually our third Wednesday Evening Training on Quantum computing (for the other sessions, see the resources below. This evening, one of our Quantum Computer champions, Julian van Velzen, gave us a demo and walkthrough of a handson lab to solve a pattern matching problem.



In the handson labs, we implemented this algorithm ourselves using the Qiskit. This is an open-source quantum computing framework for leveraging today's quantum processors in research, education, and business (see the links to resources below).

To find a useful application of Quantum computing, you need to connect the theoretical math problems a Quantum computer can solve to real life problems and user stories. Think of matching problems, route optimizations et cetera for problems that cannot be solved efficiently or not at all by classical computers. We had an inspiring brainstorm on which type of problems and opportunities our clients could use Quantum computing.

 

At the end of the evening, had a nice discussion on the math involved. There a few topics that need refreshment, so we planned a math Intermezzo in next week;s Wednesday Evening Training.

In the next Wednesday Evening Training session on Quantum computing, we will continue our labs. There is a lot to learn!


Further reading

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

Past Wednesday Evening Trainings on Quantum computing (and a lot of resources!)
This week's Wednesday Evening Training: Quantum Computers are coming!: https://hansrontheweb.blogspot.com/2018/08/this-weeks-wednesday-evening-training_30.html
Week #44's Wednesday Evening Training: Hands-on with Quantum Computing, a practical introduction using Qiskit (part 1): https://hansrontheweb.blogspot.com/2018/11/week-44s-wednesday-evening-training.html

Quantum computing: an introduction and a lot of links to resources: https://hansrontheweb.blogspot.com/2018/11/quantum-computing-introduction.html

Video's on my YouTube Channel on Quantum Computers: https://www.youtube.com/watch?v=2B680d-qvhI&list=PLSiMhBs48YvWecXqKP00NGuiP5UD6RoCk

Past Wednesday Evening Trainings on all topics

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


#wednesdayeveningtraining #capgemini #lifeatcapgemini #quantumcomputing #qiskit


 



11/14/18

Week #46's Wednesday Evening Training: An introduction to Python and its use

In this introduction, one of our Python experts Sebastiaan de Leeuw explained us the basics of Python. Python is a script language that you can use for for all sorts of applications. In our Wednesday Evening Trainings, for example, we allready encountered Python in IoT (scripting for the Raspberry Pi), Quantum computing and server side API scripting. But in data analysis / data science and artificial Intelligence / Machine learning Python is heavily used. You can even find games implemented in Python. Actually, platforms like YouTube, Spotify and NASA platforms are based on Python... so: professionals stuff with a community of 1-4 million users. Python is a versatile language, seems to me like a worthy successor of Basic.

By the way: Python was invented by Guido van Rossum, and the name was inspired by Monty Python.



Let's do it!

After having been explained the variable system, language structure, expressions et cetera, we did some hands on labs together. There is a lot of different IDE's and editors available for Python (see the resources below), for this evening we used Azure based Jupyter Notebooks. A Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code (e.g. Python), equations, visualizations and narrative text. In short: interactive and intelligent documents. See the resources for more on Jupyter Notebooks.

As a group lab, we implemented a basic N-gram analyzer in which comments on a discussion forum were usage of words from a fixed list were counted.

Interesting stuff, both Python and Jupyter!




Further reading

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

Python:
Python community & documentation: https://www.python.org/
My YouTube channel on Python: https://www.youtube.com/playlist?list=PLSiMhBs48YvXYl3Jsjnn3Zf_xra_8iyM-

IDE & tooling:
PyCharm (PyCharm is a dedicated Python and Django IDE providing a wide range of essential tools for Python developers, tightly integrated together to create a convenient environment for productive Python development and Web development.): https://www.jetbrains.com/help/pycharm
Python Tools for Visual Studio: https://en.wikipedia.org/wiki/Python_Tools_for_Visual_Studio
PyDev (Python IDE for Eclipse, which may be used in Python, Jython and IronPython development): http://www.pydev.org/
Microsoft Azure Notebooks: https://notebooks.azure.com
Comparison of integrated development environments that support Python: https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Python
Notepad++ (my personal favorite, inclused Python grammar support): https://notepad-plus-plus.org
Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough: https://www.youtube.com/watch?v=HW29067qVWk
Anaconda (Python Data Science Platform, Python included, and also Jupyter notebook): https://www.anaconda.com/

Applications:
TensorFlow - An open source machine learning framework for everyone (the API is nominally for the Python programming language, although there is access to the underlying C++ API): https://www.tensorflow.org
Introduction to the Python Deep Learning Library TensorFlow: https://machinelearningmastery.com/introduction-python-deep-learning-library-tensorflow/
N-gram analysis: https://en.wikipedia.org/wiki/N-gram

Other topics:
List of Python software: https://en.wikipedia.org/wiki/List_of_Python_software



Week #44's Wednesday Evening Training: Hands-on with Quantum Computing, a practical introduction using Qiskit (part 1)

A very very very short introduction on Quantum computers

As progress on processing speed and miniaturization continues, we stuble on the phycical limits of modern binary digital electronic computers based on transistors. Using quantum physics, however, we can increase processing speed drastically. In digital computing data is encoded into binary digits (bits), each of which is always in one of two definite states (0 or 1). A quantum computer works with particles that can be in superposition. Quantum computers use Quantum Bits or Qubits, which can take on the value 0, or 1, or both simultaneously. This drastically speeds up processing. This, however, also poses some challenges... and limitations.

More on these challenges and limitations on Quantum computers in my blogpost: https://hansrontheweb.blogspot.com/2018/11/quantum-computing-introduction.html



Back to our Wednesday Evening Training on Quantum computing

This was actually our second Wednesday Evening Training on Quantum computing (for the first session, see my blogpost: https://hansrontheweb.blogspot.com/2018/08/this-weeks-wednesday-evening-training_30.html). This evening, two of our Quantum Computer champions, Julian van Velzen and Ilyas Sener, gave us a quick theoretical background and covered basic concepts such as superposition and entanglement. Julian gave us some nice demo's of Quantum computer algorithms and a code walkthrough of a Python implemented quantum algorithm to solve the Bernstein-Vazirani parity problem, without entanglement and run on real IBM Q Bluemix [ibmqx4] machine!



But there is no sitting down in the Wednesday Evening Training, using the basic conceptual understanding of Quantum computing, we started  programming ourselves using the IBM Qiskit. This is an open-source quantum computing framework for leveraging today's quantum processors in research, education, and business (see the links to resources below). At the end of the evening, we ran our first “hello world” quantum algorithm.

Interesting and game changing technology!

In the next Wednesday Evening Training session on Quantum computing, we will continue learning to develop by covering different basic quantum algorithms. Lot's of great stuff to be explored!




Further reading

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

On the basics of quantum physics:
My YouTube list on Quantum Computing: https://www.youtube.com/playlist?list=PLSiMhBs48YvWecXqKP00NGuiP5UD6RoCk

Past Wednesday Evening Trainings


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

#wednesdayeveningtraining #capgemini #lifeatcapgemini #quantumcomputing #qiskit

Quantum computing: an introduction

A very very very short introduction on Quantum computers


(I'll be updating this post regularily based on the proceedings of our #wednesdayeveningtrainings)

As progress on processing speed and miniaturization continues, we stuble on the phycical limits of modern binary digital electronic computers based on transistors. Using quantum physics, however, we can increase processing speed drastically. In digital computing data is encoded into binary digits (bits), each of which is always in one of two definite states (0 or 1). A quantum computer works with particles that can be in superposition. Quantum computers use Quantum Bits or Qubits, which can take on the value 0, or 1, or both simultaneously. This drastically speeds up processing. This, however, also poses other challenges.

For quantum computers to work, you'll need them to work in a super-cooled condition. Also, calculation results may not be accurate. You'll need software to determine whether the result is correct.

Also, not all problems can be solved using Quantum computers. Quantum computers can solve complex problems in which all possibilities must be considered and a conclusion must be drawn from them. Consider very intensive applications such as simulations, route optimization and artificial intelligence.
See "More on Computing and problem solving power of computers" below for more on this.

Also, to "feed" Quantum computers with data and to "get" the results you will still need classic computing power. This could form a bottleneck.

Are there any Quantum Computers available yet?

Yes... there are... but they are experimental and you can't yet buy them in the store nor can you online. IBM, Microsoft, Google, Apple and other companies are already building devices (see the resources below).  These computers still have limited power. At this moment, you can use online simulators to experiment with. Also see the resources below for a few examples.

More on Computing and problem solving power of computers

Automatons, or abstract machines, abstract computers, are theoretical models of a computer hardware or software systems. They form the theoretical background of all modern computers. Using these models, we can say something about the type of problems that computers can solve, and how (efficiently) they can do that. There are multiple classes of automata, varying from primitive to powerful. The most commonly known are Combinational logic, Finite-state Machines, Pushdown automatons and Turing Machines. Turing Machines are the most powerful and they form the theoretical basis of our modern computers.

Non-computable problems

First of all, there are classes of problems that cannot be solved at all (non-computable problems). A good example of a non-computable problem is the Halting Problem. Given a description of a Turing machine and its initial input, it cannot be determined whether the program, given it's input, ever completes.
Let's put these aside for the moment. Let's focus on computable problems.

Computable problems

Turing Machines are able to solve multiple classes of (mathematical, computable) problems in a more or less efficient way. And there are classes of problems that Turing Machine based are not able to solve at all. There is a problem class that a classical Turing Machine based computer can never solve, but a Quantum Computer can. An example of a problem in that class is the "Forrelation problem". See "Finally, a Problem That Only Quantum Computers Will Ever Be Able to Solve" for more on this.

Further reading

Do you want to read more on Quantum Computing? Here are some links…

On the basics of quantum physics:
Quantum Computing Expert Explains One Concept in 5 Levels of Difficulty (an excellent way to start!): https://www.youtube.com/watch?v=OWJCfOvochA
My YouTube list on Quantum Computing: https://www.youtube.com/playlist?list=PLSiMhBs48YvWecXqKP00NGuiP5UD6RoCk
How it Works: Quantum Computing: https://www.youtube.com/watch?v=WVv5OAR4Nik
Qubit (the basic unit of quantum information): https://en.wikipedia.org/wiki/Qubit
Quantum information (information that is held in the state of a quantum system): https://en.wikipedia.org/wiki/Quantum_information
Quantum system: https://en.wikipedia.org/wiki/Quantum_system
Quantum mechanics: https://en.wikipedia.org/wiki/Quantum_mechanics
Quantum Computing Primer: https://www.dwavesys.com/tutorials/background-reading-series/quantum-computing-primer
Quantum Computing basics: What is Quantum Computing?: https://www.microsoft.com/en-us/quantum/what-is-quantum-computing
Quantum Computing Technology: https://www.microsoft.com/en-us/quantum/technology

On the basics of the underlying math:
The Mathematics of Quantum Computers | Infinite Series: https://www.youtube.com/watch?v=IrbJYsep45E
Automata theory: https://en.wikipedia.org/wiki/Automata_theory
Turing machine: https://en.wikipedia.org/wiki/Turing_machine
Computational complexity theory: https://en.wikipedia.org/wiki/Computational_complexity_theory
Theory of computation | Computable and non-computable problems: https://www.geeksforgeeks.org/theory-of-computation-computable-and-non-computable-problems/
Finally, a Problem That Only Quantum Computers Will Ever Be Able to Solve: https://www.quantamagazine.org/finally-a-problem-that-only-quantum-computers-will-ever-be-able-to-solve-20180621
Complex conjugate: https://en.wikipedia.org/wiki/Complex_conjugate
Invertible matrix: https://en.wikipedia.org/wiki/Invertible_matrix
Unitary matrix: https://en.wikipedia.org/wiki/Unitary_matrix
Hadamard transform: https://en.wikipedia.org/wiki/Hadamard_transform
Hadamard_product: https://en.wikipedia.org/wiki/Hadamard_product_(matrices)
Tensor product: https://en.wikipedia.org/wiki/Tensor_product
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

On quantum computer hardware:
IBM Q initiative to build commercially available universal quantum computers: https://www.research.ibm.com/ibm-q
Introduction to the D-Wave Quantum Hardware: https://www.dwavesys.com/tutorials/background-reading-series/introduction-d-wave-quantum-hardware

On Quantum computer software development:
Software Architecture & environment: https://www.dwavesys.com/software
Qiskit (an open-source quantum computing framework for leveraging today's quantum processors in research, education, and business): https://qiskit.org/
What is Qconfig in QISKit and how do I set it up?https://quantumcomputing.stackexchange.com/questions/2062/what-is-qconfig-in-qiskit-and-how-do-i-set-it-up
Quantum information: https://en.wikipedia.org/wiki/Quantum_information
Quantum computing: https://en.wikipedia.org/wiki/Quantum_computing
Quantum circuit: https://en.wikipedia.org/wiki/Quantum_circuit
Quantum logic gates: https://en.wikipedia.org/wiki/Quantum_logic_gate
Quantum circuit: https://en.wikipedia.org/wiki/Quantum_circuit
Qubit: https://en.wikipedia.org/wiki/Qubit
Microsoft Quantum Development Kit: https://www.microsoft.com/en-us/quantum/development-kit and https://docs.microsoft.com/en-us/quantum/?view=qsharp-preview
The Q# Programming Language: https://docs.microsoft.com/en-us/quantum/quantum-qr-intro?view=qsharp-preview
Download Quantum Studio: http://quantum-studio.net/#download_qs
Qiskit: https://github.com/Qiskit

On quantum computer simulators:
IBM: https://quantumexperience.ng.bluemix.net/qx/editor
The QX Simulator: http://quantum-studio.net
Ready-to-use Linux Ubuntu Virtual Machine with QX installed: http://quantum-studio.net/#download_vm
Quantum Computing Playground: http://www.quantumplayground.net
QCEngine - active QC simulator: http://machinelevel.com/qc/
List of Quantum computer simulators: https://quantiki.org/wiki/list-qc-simulators
Another list of Quantum computer simulators: http://www.vcpc.univie.ac.at/~ian/hotlist/qc/simulation.shtml
Quantum computer simulator: https://qcsimulator.github.io/

Other resources:
Microsoft's Quantum Computing portal: https://www.microsoft.com/en-us/quantum
Microsoft's Quantum Computing, technologies (Physics, Materials, Devices, Control, Runtime): https://www.microsoft.com/en-us/quantum/technology
IBM Q Experience! Guides, demo's etc.: https://quantumexperience.ng.bluemix.net/qx/experience
Microsoft Quantum: https://www.microsoft.com/en-us/quantum
Microsoft Research on Quantum Computing: https://www.microsoft.com/en-us/research/lab/quantum/
Hello Quantum - Explore the building blocks of quantum mechanics through puzzles: http://helloquantum.mybluemix.net
Microsoft Quantum Development Kit Samples: https://github.com/Microsoft/Quantum
Microsoft Quantum Lab Delft: https://www.microsoft.com/en-us/research/group/microsoft-quantum-delft/