A proof of concept way to deploy a Django image to AWS Lambda

As of Dec 2020, AWS Lambda functions can be packaged and deployed as containers images. This new change has significant implications, it allows the developer to take advantage of the benefits provided by AWS lambda i.e. operational simplicity, automatic scaling, high availability etc, without some of the limitations associated i.e. it can be difficult to deploy custom native binaries such as ffmpeg or gdal to it.

It is worth noting that one can deploy such binaries using AWS Lambda Layers to solve some of this challenges, but it is less natural than packaging all the required dependencies as a single…


How to build custom dash components for python dash

Customized Ride
Customized Ride
Nathan Rupert: https://www.flickr.com/photos/nathaninsandiego/

In this blog, I will show you how to add your own custom dash react components. It builds on the official dash creating your own components tutorial. The motivation for writing this, is that I tried to follow the original guide and I found it somewhat confusing.

I will look into setting up the framework for adding custom components to our dash application and highlight the key areas to watch out for. Then I will add multiple custom components which include a calendar component using react-calendar and an editor component using react-quill. …


My learnings on asynchronously compressing and uploading videos in react native

One of the startups in my portfolio mbele.io utilizes video compression and upload quite extensively. However the process of building this into react native took some trial and error. This blog is meant to describe the process undertaken to implement this functionality and highlights the key ideas without too much complexity.

The main react-native packages used are:

In order to keep this blog as brief as necessary…


Django, React, and Kubernetes in GKE

Image source: Author

This article focuses on a strategy to deploy static assets, specifically assets generated with the create-react-app toolchain. The assets are served using Django deployed in a Kubernetes cluster on the Google cloud GKE platform.

The technologies used include Django, React, Docker, gcloud and its related CLIs, e.g. gsutil. It explores an example of a Docker build pipeline that generates the image and pushes the static assets to a gcloud bucket. The article borrows heavily from Google’s own guide titled “Running Django on Google Kubernetes Engine(referenced as Django GKE for the rest of the article).

It was found that the…


Instagram Live vs YouTube Live vs Zoom

With the temporary closure of studios and fitness centres, many artists and instructors are starting to turn to the virtual space in order to connect more with their audience as well as generate income for their businesses.

This blog provides a simple guide about going virtual and is written in collaboration with Esie Mensah, who is a dancer, choreographer, and movement director based in Toronto.

There are many options when considering virtual classes, however, they can be grouped into 2 main categories, pre-recorded classes and live classes. This blog will focus on live virtual classes and covers the 3 major…


What to watch out for and why

With the rise of the Corona virus pandemic, there seems to be scammers who are taking advantage of this, in an attempt to defraud innocent people. This is made effective by the fear generated and the brains primal instinct to survive. It’s so convincing that with my many years of software development experience, I was almost convinced to give my banking details (primal instincts kicking in).

The following are the screenshots from the sequence of events that seem to indicate a scam. (For context I am in Toronto, Canada, therefore it might look different in your city.)

1) The Text Message

I got the…


Making it easier for humans to sift through the kinetics dataset

The Kinetics dataset explorer is a website containing the kinetics videos converted to GIF format. Making it easier for humans to sift through a large amount of temporal data quickly. The generated GIFs are from frames sampled at a lower frequency than the original video i.e. 4 fps vs 25 fps and the resulting frame rate is adjusted to 16 fps. This means a 10 second video can be viewed in about 2.5 seconds. The width and height are proportionally scaled down as well to reduce the file size and allow for faster load times.

The explorer can be found…


Learnings, challenges and insights about the download procedure

If you are interested in performing deep learning for human activity or action recognition, you are bound to come across the Kinetics dataset released by deep mind. There are 3 main versions of the dataset; Kinetics 400, Kinetics 600 and the Kinetics 700 version. Kinetics 700 is the latest version at the time of the writing of this blog.

The Kinetics 700 dataset is described on the deep mind website as:

A large-scale, high-quality dataset of URL links to approximately 650,000 video clips that covers 700 human action classes, including human-object interactions such as playing instruments, as well as human-human…


A guide into creating optical flow files which are to be used in video classification algorithms

This blog was originally published in blog.dancelogue.com. In a previous post, an introduction to optical flow was conducted, as well an overview of it’s architecture based on the FlowNet 2.o paper. This blog will focus in going deeper into optical flow, which will be done by generating optical flow files both from the standard Sintel data and a custom dance video. It will be conducted using a fork of the NVIDIA flownet2-pytorch code base which can be found in the Dancelogue linked repo.

The goal of this blog is to:

  • Get the flownet2-pytorch codebase up and running.
  • Download the relevant…


Dancelogue (https://dancelogue.com/) is an AI first company whose main objective is to understand and classify human movement in dance. To this end, being able to understand video structure is of vital importance.

The main thing that separates videos from images is that videos have a temporal structure in addition to the spatial structure found in images. Videos also do have other modalities such as sound but this ignored for now. As a video is just a collection of images operating in a specific temporal resolution i.e. frames per second. This means that information in a video is encoded not only…

Mark Gituma

Ask me anything or request a 10 minute video call on https://mbele.io/mark

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store