Done and Dusted! The Bootcamp and What’s Next

After months of preparing, the Global Azure Bootcamp in Malta came to an end! We had lots of fun, our audience was great, and very receptive with lots of questions which we were eager to answer. This year we started with some music, getting the audience in the mood, an idea proposed by Mary from Microsoft, who always gives a helping hand with our events.

Then the event kicked off! First with the IoT Fundamentals session which I delivered myself, talking about the IoT features available in Azure, followed by a live demo using the MxChip. Next up was Evan Camilleri, delivering a great presentation about Elastic Pools on how to scale multiple SQL databases. Johan Zammit amazed the crowd with Blockchain giving a demo with Etherium, whilst Matthew Grech impressed the audience with Machine Learning even showing deployment models. Ralph Attard wrapped up the day showing his remarkable skills in SQL Server, even updating us on GDPR.

Next up are some photos from the event.. Continue reading

Hang On! Preparing for the Global Azure Bootcamp 2018

In less than a week, on the 21st April, the Global Azure Bootcamp will start. This year there will be 286 locations around the world that will host this event, and Malta will once again be one of those locations! The event in Malta will be held at the Microsoft Innovation Centre, at Skyparks, Luqa, and is being organised by Tech-Spark. Start time is 9am! It’s been months in the making, and presentations are being given that last touch, to be ready for D-Day!

We have prepared five presentations for the event:

  • IoT Fundamentals, by Clive Ciappara (myself)
  • Machine Learning, by Matthew Grech
  • Blockchain, by Johan Zammit
  • SQL Server & GDPR, by Ralph Attard
  • Elastic Pools by Evan Camilleri.

I work on the Nebulus IoT platform at Codit, so it made sense for me to make a session about IoT. Continue reading

Running a Webhost in a Docker Container with an Exposed Port (.Net Core 2.0)

I needed to setup a webhost in a docker container with an exposed port. I wanted to be able to call the exposed port from the local machinem, but I was having an issue connecting to this port. I tried several things but none worked, including:

  • changed configuration and ports, tried different ports
  • expose ports through docker run
  • adding a new windows route, through cmd, to connect to the container IP (route /P add 172.17.0.2 MASK 255.0.0.0 10.0.75.2) <- this actually made the container ip address (172.17.0.2) pingable
  • disabling iptables on docker daemon
  • installing docker-machine but it conflicts with Hyper-V

 

But after some time and research on half the internet sites, I finally found the issue and the solution. Continue reading

Hi again, I’m Clive

11 years after my last “about me” post, it was time to post an update, as a lot has changed. As per introduction, I’m Clive Ciappara, I’m a Full Stack Developer who is passionate about everything Microsoft.

 

After five years working in the iGaming Industry with Betclic, it was time for a change and was offered a job with Codit – a Belgian company using the latest Microsoft technologies whose aim is to help businesses with their integration needs. Currently working on Nebulus – an IOT management system – which is giving me a lot of exposure to different services available on Azure, .Net Core, and WebApi. Continue reading

How to exclude Json properties from WebApi response using a custom ContractResolver

I am currently working on a Backend API that acts as a middleman to a Front API and a DocumentDB database (the structure is shown in the above image).

 

I had the following class which is used to send data to both the Front API and to the DocumentDB. Some of the fields needed to be hidden when returning a response back to the Front API, since they weren’t useful for the user and for security concerns. First I tried using [JsonIgnore] and [IgnoreDataMember] (as seen below), which successfully excluded the required fields from the response, but using them was also excluding the same fields when sending the data to DocumentDB, so it was a no-go. Continue reading

The correct way to implement StructureMap in .NET Core WebApi when having multiple projects

StructureMap is an IoC/DI container for .Net which has been a long time around. I’ve been using it for these past few years, and after all this time, I found out the correct way to implement it.

This is how I used it before and I’m sure the majority of you are currently using the same methods. In the Registry, I would register each interface and it’s inherited class by calling a “config.for” for each service as follows:

    config.For(typeof(ITestService)).Add(typeof(TestService));
    config.For(typeof(IUserService)).Add(typeof(UserService));
    config.For(typeof(ITenantService)).Add(typeof(TenantService));
    config.For(typeof(IProjectService)).Add(typeof(ProjectService));

And whenever new interfaces and services are added, they need to be registered using a new “config.for” line.

That was the old way, of how I did things. This is the new way. Continue reading

Logic Apps and Azure Functions Presentation

Presentation for Betclic Training Bites (France) – June 2017

Presentation for Betclic Training Bites (Malta) – December 2016

Presentation for Tech-Spark – October 2016

Logic Apps is a fully managed iPaaS (Integration Platform as a Service). Developers do not have to worry about building hosting, scalability, availability and management.

It Provides a simple way to implement scalable integrations and workflows in the cloud. Continue reading

Azure Functions Presentation

Presentation for Global Azure Bootcamp – April 2017

Azure Functions are part of the Azure Web + Mobile suite of App Services and are designed to enable the creation of small pieces of meaningful, reusable methods, easily shared across services. These serverless, event-driven methods are often referred to as “nanoservices” due to their small size. Although an Azure Function can contain quite a bit of code, they are typically designed to serve a single purpose, and respond to events in connected services. Continue reading

Visual Studio Tips and Tricks Presentation

Presentation for Betclic Training Bites – January 2017

Quick Launch

  • Quick Launch (CTRL+Q) – most of the time this is ignored. VS have many options and windows to choose from. For example, your closed debug window. To find it, just go to CTRL+Q
  • Or where to build something,
  • You can use @ option to limit to most recently used (@mru), or to show options only ex. @option line numbers

Continue reading