Skip to content

Instantly share code, notes, and snippets.

View manuquentin's full-sized avatar

Emmanuel Quentin manuquentin

View GitHub Profile
@manuquentin
manuquentin / tag-monitoring.js
Created December 7, 2016 10:19
Lambda used to trash untagged instances via CloudTrail and CloudWatch
'use strict';
// WARN : works only for 1 instance at time, we have to call describeTags for each instance
const zlib = require('zlib');
const AWS = require('aws-sdk');
const ec2 = new AWS.EC2();
exports.handler = (event, context, callback) => {
const payload = new Buffer(event.awslogs.data, 'base64');
@manuquentin
manuquentin / gist:6446360
Created September 5, 2013 05:24
Reset git file permissions
git config --global --add alias.permission-reset '!git diff -p -R | grep -E "^(diff|(old|new) mode)" | git apply'
git permission-reset
function sendSMS(cb){
var sendSMSOptions = {
hostname: 'api.ninja.is',
path: '/my-SMS-web-hook',
method: 'POST',
headers: {accept: 'text/plain'}
};
req = http.request(sendSMSOptions, function(res){
res.on('end', function () {
socket.on('status', function(status){
// ...
if(status.intrusion){
takeSnapShotAndCompareTo('me@WorkmateProtection');
}
});
function takeSnapShotAndCompareTo(tag, done){
app.post('/detect', function (req, res) {
// ...
if(alarmArmed){
intrusion = 1;
alarmArmed = false;
}
// ...
});
var alarmArmed = false;
// Called by Ninja Block when the remote button is pressed
app.post('/button', function (req, res) {
alarmArmed = !alarmArmed;
setAlarmStatus(alarmArmed, function(err){
if(err){
console.log('err : '+err);
}
var io = require('socket.io-client');
var socket = io.connect('http://my-server');
socket.on('status', function(status){
if(status.exit == 1){
lockScreen();
}else if(status.sensei == 1){
launchSite();
}
});
var exitDetected = 0;
var senseiDetected = 0;
var doorOpened = 0;
var existStatusInterval = 0;
app.post('/door-open', function (req, res) {
doorOpened = 1;
existStatusInterval = setTimeout(setExitStatus, 5000);
dispatchInfos();
var app = require('express')();
var http = require('http');
var server = http.createServer(app);
var io = require('socket.io').listen(server, { log: false })
app.post('/door-open', function (req, res) {
});
app.post('/detect', function (req, res) {
});