Posts published by Clivant

Clivant a.k.a Chai Heng enjoys composing software and building systems to serve people. He owns techcoil.com and hopes that whatever he had written and built so far had benefited people. All views expressed belongs to him and are not representative of the company that he works/worked for.

How I setup a CCTV camera with Raspberry Pi Zero W and motionEyeOS image for home surveillance

When the Raspberry Pi Zero W was launched, I didn’t think twice before ordering one. Compared to the Raspberry Pi Zero, the Raspberry Pi Zero W comes with WiFi. This meant that I can use my new Raspberry Pi Zero W to replace my Raspberry Pi 3 CCTV camera for home surveillance and use the more powerful Raspberry Pi 3 for other projects.

This post documents how I setup my Raspberry Pi Zero W as a CCTV camera using the MotionEyeOS image.

Installing Octave on my MacBook via Homebrew

Andrew Ng’s Machine Learning course on Coursera brought about the need for me to install Octave on my MacBook. Since I had only two days before I could submit my first Octave assignment without any penalty, I decided to use the simplest method to get Octave running on my MacBook.

This post documents the steps that I took to install Octave on my MacBook via Homebrew.

How to connect Raspberry Pi camera module to Raspberry Pi Zero W and the official case

Equipped with a wireless LAN and priced at only $10, I see the Raspberry Pi Zero W as a good candidate for a low cost CCTV that I can deploy at my house for surveillance purposes. With the arrival of my Raspberry Pi Zero W and the official case, I could free up the Raspberry Pi 3 that I had been using for home surveillance for other projects.

This post documents how I connect my Raspberry Pi camera module to my Raspberry Pi Zero W and the official case.

Things about the Object class in Java that programmers ought to know about

After getting started with Java development, getting to know the Object class well is one of the next steps that programmers should undertake to be proficient with the Java programming language. This post lists some points about the Object class in Java that programmers ought to know about in order to code well in the Java programming language.

How I setup Codiad web IDE on my Raspberry Pi 3 with Ubuntu Server 15.10.3, Nginx and PHP

There are times when I get the urge to work on project source codes that reside on my Raspberry Pi 3 LEMP server while I am on the move. Setting up a web based IDE on my Raspberry Pi 3 is one way to enable me to code while I am on the move, so long as I have a device with a web browser that is connected to the internet. Since I had already setup a LEMP server to run WordPress on my Raspberry Pi 3 and that Codiad is written in PHP, Codiad is an ideal web based IDE that I can set up on my Raspberry Pi 3.

This post documents how I setup Codiad web IDE on my Raspberry Pi 3. To make this post complete, I had taken some of the steps mentioned in my other posts on Raspberry Pi and replicated it in this post.

A platform independent way to set your Python Path for your Python applications

In a software development house where desktop computers run Microsoft Windows while servers run Linux, software developers will have to ensure that the Python code that they wrote on their Windows machine can run on the deployment servers which are running Linux.

One unavoidable task for Python application developers is the importing of functionalities that are contained in other Python scripts. In order for the Python interpreter to find the Python scripts that are referenced by Python import statements, the Python Path will need to contain the URLs of the directories that contain the Python scripts to be imported.

How to sort a python dictionary by keys

I am a fan of hash tables when I need to implement logic that augments computation results to a common data structure that need to be used across several function bodies. The ability of the hash table in providing constant access by key helps me in keeping my logic from taking too much time to complete.

Python’s version of hash tables are known as a dictionaries or associative arrays. Apart from augmenting computation results to values of my Python dictionaries, one common task that I often perform is sorting the results by the dictionary keys. In this post, I document how I can sort my Python dictionary by its keys.

How to generate n-grams in Python without using any external libraries

There are many text analysis applications that utilize n-grams as a basis for building prediction models. The term “n-grams” refers to individual or group of words that appear consecutively in text documents.

In this post, I document the Python codes that I typically use to generate n-grams without depending on external python libraries.