Skip to content

Instantly share code, notes, and snippets.


Hengki Sihombing hengkiardo

  • Jakarta, Indonesia
View GitHub Profile
View sql
SELECT as "Pool Id",
WHEN province_id = 11 THEN "Aceh"
WHEN province_id = 12 THEN "Sumatera Utara"
WHEN province_id = 13 THEN "Sumatera Barat"
WHEN province_id = 14 THEN "Riau"
WHEN province_id = 15 THEN "Jambi"
hengkiardo /
Created Apr 27, 2019 — forked from magnetikonline/
CloudFormation example for an API Gateway endpoint calling a Lambda function using proxy integration.

CloudFormation example for API Gateway integration to Lambda function

Template that will create the following:

  • API Gateway endpoint:
    • A single root method, accepting POST requests only with Lambda proxy integration to a function.
  • In-line Lambda function echoing back requesting users IP address to API Gateway requests:
    • IAM role for Lambda allowing CloudWatch logs access.
    • Permissions for Lambda that allow API Gateway endpoint to successfully invoke function.
  • CloudWatch logs group for Lambda, with 90 day log retention.

After standing up the template, you should be able to curl a POST request to the URL listed as the apiGatewayInvokeURL output value.

hengkiardo / domain-list.json
Created Oct 29, 2018
Cross-language temporary (disposable/throwaway) email detection library. Covers 5228+ fake email providers.
View domain-list.json
View express_with_jwt.js
var express = require('express')
, jwtMiddleware = require('express-jwt')
, bodyParser = require('body-parser')
, cookieParser = require('cookie-parser')
, cors = require('cors');
// We pass a secret token into the NodeJS process via an environment variable.
// We will use this token to sign cookies and JWTs
var SECRET_TOKEN = process.env.SECRET_TOKEN;
hengkiardo / goto-sublime
Created Nov 11, 2017 — forked from kendellfab/goto-sublime
Add mouse click `goto definition` in sublime text 3.
View goto-sublime
Linux - create "Default (Linux).sublime-mousemap" in ~/.config/sublime-text-3/Packages/User
Mac - create "Default (OSX).sublime-mousemap" in ~/Library/Application Support/Sublime Text 3/Packages/User
Win - create "Default (Windows).sublime-mousemap" in %appdata%\Sublime Text 3\Packages\User
"button": "button1",
"count": 1,
"modifiers": ["ctrl"],
"press_command": "drag_select",
hengkiardo / custom-method.js
Created May 31, 2017
Custom method to jQuery Validation Plugin for Phone Numbers
View custom-method.js
jQuery.validator.addMethod("phoneno", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^((\+[1-9]{1,4}[ \-]*)|(\([0-9]{2,3}\)[ \-]*)|([0-9]{2,4})[ \-]*)*?[0-9]{3,4}?[ \-]*[0-9]{3,4}?$/);
}, "<br />Please specify a valid phone number");
hengkiardo /
Created Jan 29, 2017 — forked from virajkulkarni14/
Installing Cassandra 3.5 on Mac OS X El Capitan

Installing Cassandra on Mac OS X


Version Number might change!! The versions of all softwares mentioned here, including Cassandra will change as newer versions are launched.

Install Homebrew

Homebrew is a great little package manager for OS X. If you haven't already, installing it is pretty easy:


#MongoDB 3.2.x Replica Sets on AWS EC2 A MongoDB replica set provides a mechanism to allow for a reliable database services. The basic replica set consists of three servers, a primary, a secondary and an arbitrator. The primary and secondary both hold a copy of the data. The arbitrator is normally a low spec server which just monitors the other servers and help with the failover process. In production, there can be more than three servers.

To setup mongo as a replica set on Amazon Web Services EC2 you need to first setup a security group with ssh on port 22 and mongodb on port 27017. You then need to create three servers. Select Ubuntu 14.04 LTS x64 and a micro (or bigger depending on your database size, ideally you should have enough memory to match your database size) instance for the primary and secondary and a nano instance for the arbitrator.

##Adjust the File System on each Server The operating system by default will update the last access time on a file. In a high data throughput database application

hengkiardo /
Created Oct 23, 2016 — forked from apanimesh061/
mongo-connector with ES 2.2.0 and Mongo 2.6

Before starting please have a mongo replica set initiated. I have mongo running at localhost:27170 and elasticsearch at localhost:9200

The test dataset I used is available on the mongodb website.

I am using MongoDB 2.6 and Elasticsearch 2.2.0 on a Windows machine.

Here I have tested three cases:

  • An index already exists, mc-test-index in this case
hengkiardo / wiredtiger-zlib.conf
Created Feb 2, 2016 — forked from tmcallaghan/wiredtiger-zlib.conf
YAML Config for MongoDB 3.0.0 - wiredtiger zlib
View wiredtiger-zlib.conf
dbPath: "./data"
directoryPerDB: true
enabled: true
engine: "wiredTiger"
cacheSizeGB: 8
journalCompressor: zlib