Creating a Development CI Pipeline for Appian

A while back I did several posts on Appian, specifically one regarding setting it up on Docker. The objective was two fold - the first was to solve an important development CI pipeline challenge, and second was to evaluate if the software was deploy-able on a PaaS (ans: yes it is, but not via the … Continue reading Creating a Development CI Pipeline for Appian

Lessons Learnt from Script Automation

Here are some take away lessons (I learnt the hard way) when automating scripts/programs: Plan to Fail Elegantly Things may flow perfectly for now, but when something does mess up later on (e.g. a third party service becoming unavailable), the code should be able to respond and/or fail gracefully. The effort required to do this … Continue reading Lessons Learnt from Script Automation

Random Things About Appian

Automatic Deployment Manager Timeout The automatic deployment manager has a timeout of 2 hours for every import, including the inspection step. The automatic deployment manager will produce the following error: Failed. Current step: Importing Application. Log file URL: http://X.X.X.X:8080/suite/doc/3451.  Error message: The deployment has timed out. It exceeded the maximum execution time of 2 hours. … Continue reading Random Things About Appian

Benchmarking an API’s Response Time

In order to provide response time estimates for an API service, I used two tools, namely Postman (a third party application), and cURL. The latter was used because it gave a more accurate time estimate. Target API Server REST API server powered by Node.js and the Express Web Application Framework Runs on free public tier … Continue reading Benchmarking an API’s Response Time

Key Factors to Consider When Buying a Network Attached Storage (NAS)

Having a Network Attached Storage (NAS) is a boon when there are multiple users on the same network who require access to the same set of shared resources. There are many reputable brands in the market (e.g. QNAP, Synology, Buffalo, Western Digital), with different models that are catered for home, office, and enterprise. When I … Continue reading Key Factors to Consider When Buying a Network Attached Storage (NAS)

Paddle-SG – Does Refactoring Affect Code Performance?

When working on the Minimal Viable Product (MVP) of Paddle-SG, one of the trade-offs made was functionality over reusability. This resulted in hardcoding, and repeated code blocks across the various Python scripts. When one of the operators site was down for maintenance, the script started to behave in an unexpected manner because it was not … Continue reading Paddle-SG – Does Refactoring Affect Code Performance?

Paddle-SG: Software Architecture and Infrastructure

In this post, I elaborate further on the Software Architecture, and Infrastructure that keeps Paddle-SG up and running. I will start explaining from the lowest level (i.e. hardware), and slowly move up the "stack". Infrastructure Setup Physical Hardware I started developing and testing the scripts on my laptop. However, for the Minimal Viable Product (MVP), … Continue reading Paddle-SG: Software Architecture and Infrastructure

Paddle-SG: Introduction

Update: This project is temporary inactive. All links will be set to the github project that was used to serve the website. As an active volunteer kayaking trainer for 7 years, I often hear my participants lament that it is not easy to find out the dates of the next available proficiency course. To … Continue reading Paddle-SG: Introduction

Spark Analytics on B-Cycle Open Dataset (Austin, TX) using PySpark and Jupyter Notebook

As the final course of my Specialist Diploma in Big Data Management, I used a pseudo distributed Apache Spark cluster with PySpark to analyze the B-Cycle Trip and Kiosk data set from Austin, Texas. The data set was downloaded from Austin's open data portal (, and comprised of data from late 2014 to mid 2017. … Continue reading Spark Analytics on B-Cycle Open Dataset (Austin, TX) using PySpark and Jupyter Notebook

Data Visualizing with QlikView (Coursework)

As part of my Specialist Diploma coursework, I had to design a Data Visualization dashboard using Qlikview. The module was titled “Data Visualization Fundamentals”, and the key focus was on the visualization of data using QlikView, instead of using the dashboard to perform data analytics/sense-making. Note: this is an assignment for grading purposes. Data sets … Continue reading Data Visualizing with QlikView (Coursework)