M5Stack Atom matrix

I got this M5Stack module just for the fun of it. As audience of devkami knows, I am a fan of M5stack for their line of embedded development kit. It is a ESP32 SoC packaged with a set of default sensors. Also it is in a case. The atom is one of the smaller devkit from M5stack. This is a development kit that based on ESP32-PICO-D4. It have a 4MB Spi flash, bluetooth, wifi, 5x5 RGB LED, IR LED, a Grove connector and extra GPIO. [Read More]

VIM Escape Key

So one of the first thing I do after getting the M5stack atom. Is to build a bluetooth keyboard. I have a few idea, here I describe what I ends up getting. I choose to use Arduino over micropython, because ESP32 port of micropython don’t have bluetooth implemented. I can potentially the Atom as a HID device, but I was hoping to use this with a small power bank. [Read More]

DevKami Fund Raisers

This is our first fundraising run on the blog. But before I continue, let’s start with how DevKami works. DevKami is a place where we show what Malaysian developers are doing, what we are facing etc. We actually borrow infrastructure(which is mostly streamyard) from engineers.my. Engineers.my is an initiative where meetup organizers can share infrastructure to record and host their meetups online. The result is a youtube channel https://www.youtube.com/channel/UCdzMb91vB3qVYc-jW0FbhDw and also a slack channel that you can find on the site. [Read More]

DevKami SOftware Developer Survey 2021 Results

Tl;Dr. Our results are here and our streamlit app for exploring the data is here Recently I have done a Malaysian Software Developer survey. The goal is to see the type of tools and practices used by the local software developers. In the survey, it covers IDE, Programming Languages, test practices, etc. We have gathered 90+ submissions. It is not the most comprehensive. As one can see, our submission is biased toward Android dev on the mobile side, not many . [Read More]

My experiment with Streamlit

Not too long ago I created a survey for Malaysian Software Developers about their tools and practices. The detail can be found here. To present the data, I decided to use a tool called Streamlit. Streamlit is an open source tools based on Python to build data applications. It provides ways to build widgets to manipulate and present data, and present it as a web application. It does it with only python. [Read More]

The Design of Everyday Things - Review

I got this book for a while. This is one of those classic books on design. While the book have a focus on industrial design. The new version of the books also covers UI design now. The books covers the psychology of people using a device. What make a device easy to use, why it doesn’t. More importantly why everything is design to be easy to use, spoiler it is not just because of engineering. [Read More]

Darknet - A deep learning tool

One of my favorite tools for people to dive into deep learning is Darknet. Not this one. This is a neural network framework in c. But despite that, this is nice in a way that it can function as an application. Before you use it, you need the weights file, it is linked in the repository. The command is, darknet detector test <labels> <config> <weights> <image path>. Example of usage is the following. [Read More]

Computer Vision The Boring Part - Labeling with LabelImg

So let say you want to training a neural networks to identify something in image. The first step is not actually code it. The first step is data gathering. The next step is labeling. You may also want to identify multiple objects in your image, if so you also need to label the items in the image. What we do in the case for object detection is, we essentially draw a square or a region and set a name. [Read More]

Computer Vision The Boring Part - Open Image Dataset

We have shown how one can create your own https://devkami.com/blogs/2021/01/11-ml-labeling/. Another way to get dataset is the Google Open Image Dataset. This is a dataset that have 1.5 million annotations for 600 categories. It covers some common thing that trained in YOLO. You can have a shot at trying to see if the category exist. To use this, I suggest that you use a tools, the one I use is the OID Toolkit, I use the fork by The AI Guy a youtuber talking about these. [Read More]


Recently I discovered a thing called First Order Motion Model. This is a technique to create deepfakes using a driver video and one image. It have a few interesting use, other than deepfake. One particular one is testing clothes. But today I am doing something more mischievous. I am doing this to pretend to be someone on webcam in a chat. The way I do this is Avatarify. This is an application running on a computer that create a virtual webcam for you to pretend as someone else. [Read More]