Enabling Serverless AI with Azure Container Apps and Dapr
In my [previous post](/post/2021/12/20/coding-ai-dapr-container-apps) I explained how you can get started with Container Apps. The one missing piece of that puzzle is how you can utilize a queue behind to dynamically scale your workload based on items in a queue! This has been one my most difficult blog items so far, taking me through a range of different issues with Container Apps and Dapr, but which definitely aided those services and myself in becoming more mature.
AI Model Inferencing with ONNX on GPU (CUDA)
Recently I've been working a lot with different AI Models for a variety of use cases, ranging from simple object classification to massive crowd counting models. While working with these models, I saw that it is always difficult to implement a model in custom code since the Architecture is never included in the weights themselves, thus each model works differently.
Running your AI Workload through Azure Container Apps
For a new project I am working on, I am utilizing a Queuing architecture where jobs come in and a cluster of containers is processing work on this queue. Each job takes an item from a queue, runs the item through its AI pipeline and spits out a JSON response.
Windows Terminal and WSL Tips and Tricks
Did you find yourself ever having to set-up your development environment all the time? Well I did as well! What if I could tell you, you could save many minutes each day by automating this? Enter the world of Windows Terminal and WSL! 😎
Creating a Dapr Project with Node.JS and the Dapr-JS SDK
Dapr is simply amazing, allowing you to interact with libraries that otherwise take a couple of hours to implement or even days depending, on your level of comfort with them. Next to that, when you would utilize libraries, you also need to take care of correct authentication, error handling, and more.
Tutorial - Creating an Email Microservice with Typescript and Dapr
Once in a while a new project comes out that I am totally hyped about! [Dapr](https://dapr.io) is such a Project! In this article I would like to go in-depth on how we can quickly (< 10min!!!) create a Microservice that will send an email through a Microservice invocation mechanism!
How to set up a Typescript Project with Yeoman
Typescript is quite cumbersome to set-up... it's not built in in Node.js but it is important to write stable code with type checking. Since I write a lot of Typescript projects, it's quite handy to have an explanation on how to set-up a typescript project quickly.
Running CUDA on Windows Subsystem for Linux (WSL)
Running CUDA on the Windows Subsystem for Linux (WSL) is not a trivial task seeing that it requires the GPU to be available on a Virtual Machine. In this article I go in more detail how you can get your GPU working in WSL through something NVIDIA calls "Paravirtualization"
Setting up Stable Baselines with Python 3.7 and WSL 2
I've been playing around a bit with Stable Baselines lately for an upcoming project. However while playing, I encountered some issues seeing that Stable Baselines currently requires Tensorflow <= 1.14 which is only supported through Python < 3.8. Due those difficulties, I thought it would be interesting to share how I set up my personal development environment from scratch to play around with Stable Baselines.
Autonomously Landing a Lunar Lander with an Xbox Controller Robotic Arm - Part 2
In [Part 1](/post/ai/rl/xbox-robot-arm-creation) I explained you how you can create a Robot Arm that can be mounted on an Xbox controller. In [OpenAI Lunar Lander](/post/ai/rl/openai-lunar-lander) I then continued to see how we are able to train a lunar lander environment to land a lunar lander all by itself with a continuous action space.
Training the Continuous Lunar Lander with Reinforcement Learning, RLLib and PPO
For an upcoming blog post, I would like to have a robotic arm to land a Lunar Lander autonomously. In [Part 1](/post/2020/5/30/coding-ai-rl-iot-xbox-robot-arm-creation) I explained how we can build such a robotic arm already, but now we need to be able to go deeper into how we are able to train an environment in a simulation environment (before deploying it on a physical device).
Autonomously Landing a Lunar Lander with an Xbox Controller Robotic Arm - Part 1
Creating an Xbox Robot Arm is something that I've been wanting to do ever since I saw [the post](https://www.littlefrenchkev.com/xbox-controller-arm) by [Kevin Drouglazet](https://www.linkedin.com/in/kevin-drouglazet-b61b7248) who was able to utilize an Xbox Controller with an arm he created and was so friendly to publish the design files for (I am definitely not a hardware designer 😅) - thanks for that Kevin!
Getting Xbox Controller inputs through Node.js
For an upcoming Blog Post I wanted to connect my Xbox controller and start reading the input values through a simple node.js script that I could send back to an Arduino Nano. This entire process however seemed to be quite "interesting" to find suitable libraries and long-term supported solutions.
Digital Twins - Creating an Open-Source Platform
In a previous blog post I introduced the concept of creating a Digital [Twin representation utilizing Dapr's Virtual Actors](/post/2020/5/13/coding-iot-digital-twin-dapr). Now, this was a theoretical post on how feasible this could be. Of course anything theoretical should also be put in practice, which is what I have been doing this weekend 😉.
Digital Twins - Utilizing Virtual Actors through Dapr
As stated before, *"A Digital Twin is a virtual representation of a physical object"*. **This virtual representation should strive towards being an exact copy of the physical object in both state and logic associated with it.**
Roadwork RL - A Multi-Language Reinforcement Learning Environment
After explaining the end-to-end concept of [creating a Digital Twin Reinforcement Learning environment](/post/2020/4/15/coding-ai-rl-iot-twin-rl) I wanted to go into a deeper explanation of how the first part of this can be done.
Internet Of Things - Digital Twins Explained
Looking at the history in manufacturing, we saw that many manufacturing companies were deploying statistical models on-edge (e.g. based on parameters such as temperature, pressure and speed, do we send an alert or not), having the main impact on their production volume. If they can then squeeze out this extra bit of improvement, they would thus be able to optimize this process and have a growth in production volume (and net earnings accompanied with it).
A Multi-Language Reinforcement Learning Digital Twin Environment
One of the ideas I have been playing around with the last couple of months is **the combination of Digital Twins and Reinforcement Learning**. This is an experimental idea where I would love to hear your opinions about it (feel free to comment below, send me an email or reach out to me on Social Media such as Twitter / LinkedIn), and that will be refined over the coming months.
Revamping my Blog with NextJS (2020)
Due to the current COVID crisis I had some time to start revamping my blog, focusing on achieving features that were not possible before. All while still keeping the costs to a minimum (or even free). Here I would like to explain how I achieved just this, with the focus on adding the following features:
Create a script to deploy a container automatically with Azure Container Registry
Currently I am working on a new web application that will require a server for signaling purposes. Now to run this server, I would like to utilize Azure Web Apps together with a container. Since I would like a low barrier to entry, I want to be able to run a command that takes care of:
Sampling a real-time stream
A common problem when working with real-time streams is that you are unaware of the data going in there due to the vast amount of systems connected to it and producing data. Therefor it is interesting to be able to "sample" a stream, where you will connect to the stream with your credentials, wait till an event comes in and then end the connection.
Building a Minecraft Puppet Scanner with Event Hub, a NFC 522 Reader and a Raspberry PI
In Belgium we every year celebrate the coming of "Sinterklaas" on the 6th of December, a celebration for children where this mythologic figure delivers presents for all the children that behaved well that year. (see: https://en.wikipedia.org/wiki/Sinterklaas for more information). To follow this tradition, many companies hold internal events where children of the employees are invited to participate in all kinds of events. I was asked to participate in one of these events and come up with a workshop for children of all ranges - being divided in 2 groups (the very young ones, and the somewhat older ones).
Predicting Instagram Pictures Likes and Comments with .NET Core and ML.NET
For a new fun Project, I wanted to create an Artificial Intelligence model that will allow me to predict the comments and likes of new pictures that a user can post on Instagram based on their own historical data.
Creating a throttled REST API Consumer
A common thing in Node.js is to create a REST API consumer that will perform a REST call. Due to the rise of many REST APIs, you might find yourself in the situation that you want to execute 1000s of calls (for example: Azure Cognitive Services).
How To Bind C++ Code with Dotnet Core
While you are working with compiled code, you often find yourself in the situation that every bit of performance count (just think about GPU intensive operations or even game engines). For this reason, we often turn back to coding C++ coding to be as low-level as possible (seeing that writing pure ASM is just too hard).
How to get and update your profile picture in Active Directory (AD)
Updating your Profile Picture in Active Directory is often an annoying process with not enough tools available (or working) to do so. Luckily there are some handy powershell commands that we can use to update this quickly.
Getting started with Xamarin Forms v3.0
Xamarin Forms has been updated to Version 3 on the 7th of May. If you are not aware of Xamarin.Forms, it is a cross-platform mobile development technology allowing you to write code once and run it on both Android and iOS.
Dividing numbers into equal buckets or bins through Bucketization
A common practice in Reinforcement Learning is to go from a continuous space towards a discrete space. What does this mean? Take for example a range of numbers between $]-3, 3[$, if we want to represent all the numbers that fit in this range as a state then we would have $\infty$ numbers being represented or $\infty$ states.
Getting started with DotNet Core
I wanted to get started with Machine Learning, but rather than using Tensorflow, I wanted to take a different approach and use [ML.NET](https://github.com/dotnet/machinelearning). Now you might ask yourself: "Why use .NET if you have something such as Tensorflow in Python?". Well, my preference goes towards languages containing brackets (C#, JS, ...) rather than having pure identations (Python), making me want to try .NET Core for this.
Visual Studio Android Emulator Debugging
So you decided to get into Mobile development? Well your best bet on windows currently is the **Visual Studio Emulator for Android Apps** by Microsoft (https://www.visualstudio.com/vs/msft-android-emulator/). But you may run into some trouble when using it. This blog post consists out of the most commonly encountered problems with the Visual Studio Emulator for Android Apps, and how you could solve them.
Finding smallest and biggest number multithreaded in C++
The goal of this exercise is to create a program that generates a table with random elements in it. Once we created this table we have to start 2 threads. 1 thread will find the biggest number and the other will find the smallest number. We will then send this to a result and print these 2 numbers.
Max number with pipes in C++ and Unix
Let's say we have x children, these x children all generate a number and give this to the parent. The parent now finds the highest number and sends the children the process id of the winning child. If the winning child recognises itself then it prints that it is the winner, else they print the winning process id.
SQL - Part 4 - JOIN + Simulating Functions
When creating JOIN queries in SQL we have to realize that we are going to combine every result from the result set with the result set itself. This means that we are going to create a new result set that is the size of the power of 2 of our original result set. (So if we have 1468 records, and we join it with itself, then we will get 2155024 records = 1468^2)
SQL - Part 1 - Advanced CASE Selecting
While I was studying the course Databases at the University of Ghent, we encountered some special queries that we were not being thaught in the Professional Bachelor course. This is why I tried to summarise those queries here for everyone to learn from.