Skip to content

Instantly share code, notes, and snippets.

@tonkatsu7
tonkatsu7 / 0_reuse_code.js
Last active October 5, 2016 12:38
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@tonkatsu7
tonkatsu7 / sigfoxNotify.js
Created December 10, 2017 10:25
DynamoDB trigger publishes every record to SNS
'use strict';
console.log('Loading function');
var AWS = require("aws-sdk");
exports.handler = (event, context, callback) => {
console.log('Received event:', JSON.stringify(event, null, 2));
event.Records.forEach((record) => {
console.log(record.eventID);
console.log(record.eventName);
@tonkatsu7
tonkatsu7 / sigfoxAlert.js
Created December 10, 2017 10:35
DynamoDB trigger that inserts a new record into a table called alerts if 3 or more records received in source table
console.log('Loading function');
var AWS = require("aws-sdk");
var docClient = new AWS.DynamoDB.DocumentClient();
exports.handler = (event, context, callback) => {
console.log('Received event:', JSON.stringify(event, null, 2));
event.Records.forEach((record) => {
console.log('Stream record: ', JSON.stringify(record, null, 2));
console.log(record.eventID);
@tonkatsu7
tonkatsu7 / xkitParsingFunction.js
Created December 10, 2017 10:38
XKit parsing function from Thinxtra tutorial
console.log('Loading event');
var AWS = require('aws-sdk');
var dynamodb = new AWS.DynamoDB();
var iotData = new AWS.IotData({endpoint: 'something.iot.ap-southeast-2.amazonaws.com'});
//make sure your replace your_AWS_endpoint_you_copied_earlier with the value you copied just before
exports.handler = function(event, context) {
console.log("Request received:\n", JSON.stringify(event));
console.log("Context received:\n", JSON.stringify(context));
@tonkatsu7
tonkatsu7 / xkit2Elastic.js
Last active December 10, 2017 10:51
AWS IoT (MQTT gateway) to elastic passthrough for Thinxtra XKit
console.log('Loading event');
var elasticsearch = require('elasticsearch');
exports.handler = function(event, context) {
console.log("Request received:\n", JSON.stringify(event));
console.log("Context received:\n", JSON.stringify(context));
var tableName = event.device;
var time = event.time;
var Temperature = event.data.Temperature;
@tonkatsu7
tonkatsu7 / stopItunesOnBTPlay.sh
Created December 12, 2017 19:41
Prevent iTunes from opening when pressing play from Bluetooth headphones on MacOS
# https://discussions.apple.com/thread/6987059?start=0&tstart=0
sudo chmod -x /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd && sudo killall -9 rcd
@tonkatsu7
tonkatsu7 / flattenArray.js
Created December 16, 2017 06:17
Flatten a javascript array
var arr1 = ['a', 'b', 'c'];
console.log(arr1.length);
var arr2 = ['d', 'e', 'f'];
console.log(arr2.length);
var arr3 = ['g', 'h', 'i'];
console.log(arr3.length);
var nested = [arr1, arr2, arr3];
console.log('nested=' + nested);
console.log(nested.length);
var flattened = [].concat.apply([], nested);
@tonkatsu7
tonkatsu7 / getUNIXTeimstamp.js
Created December 18, 2017 08:42
Get the UNIX timestamp in seconds rather than millis
var ts = Math.round((new Date()).getTime() / 1000);
@tonkatsu7
tonkatsu7 / plotSomething.m
Created January 6, 2018 00:22
Plot simple function in Matlab/Octave
n = 46:1:200;
plot(n, log(n.^2));
@tonkatsu7
tonkatsu7 / runSEDailyApiLocally.sh
Created February 24, 2018 09:01
Running SEDaily backend api locally
cp .env.docker_exmaple .env
npm install
yarn
docker-compose up
mongorestore -d express-mongoose-es6-rest-api-development sed-test-db/