Skip to content

Instantly share code, notes, and snippets.

View shamasis's full-sized avatar

Shamasis Bhattacharya shamasis

View GitHub Profile
@shamasis
shamasis / event-layer-coordinates.js
Created June 7, 2014 20:40
Cross browser layerX and layerY in JavaScript
/**
* Get layerX and layerY of an event across all browsers without
* using the deprecated layerX of webkit.
* It stores `targetX` and `targetY` in the event, to act like `layerY`
* and `layerY` respectively.
*/
getElementPosition = (function () {
var body = window.document.body || window.document.documentElement;
return function (event) {
@shamasis
shamasis / main.cpp
Created March 22, 2020 15:52
TOTP Generator for ESP32 OLED module
#include <WiFi.h>
#include <NTPClient.h>
// dependencies
#include "TOTP++.h"
#include "SSD1306.h"
// replace with your network credentials
const char* ssid = "Redacted";
const char* password = "Redacted";
@shamasis
shamasis / describe-it.js
Last active September 5, 2023 07:12
mocha/jasmine compatible test framework for postman test scripts (in less than 1KB minified)
/**
* @module describe-it
*
* This module defines global variables to provide unit test case runner functions compatible with mocha and jasmine.
* The codebase is written for brevity and facilitate being as lightweight as possible.
*
* The code is intended to be included in Postman Test Sandbox.
*/
/**
@shamasis
shamasis / alloc-assoc-elastic-ip.sh
Created December 21, 2014 09:41
Create and allocate AWS Elastic IP at one go using AWS CLI. Replace `$1` with your Instance Id or simply execute this file as a script and pass the Instance Id as the first argument to the script.
aws ec2 associate-address --instance-id $1 --public-ip $(aws ec2 allocate-address --output text --query 'PublicIp')
@shamasis
shamasis / say-watch.sh
Created May 5, 2021 12:48
Make your Mac remind you every 30 seconds
watch -n 30 say It is time
@shamasis
shamasis / benchmark-compare-keys-vs-loop-obj-iteration.spec.js
Created January 7, 2018 10:13
Benchmark Object.keys().forEach vs for..in loop
require("microtime");
const
_ = require('lodash'),
Benchmark = require('benchmark'),
suite = new Benchmark.Suite,
result = [],
seedSize = 10000,
seedData = Array(seedSize).fill().map(() => String(Math.round(Math.random() * seedSize))).reduce((obj, val) => {
@shamasis
shamasis / stop-media-indexing.sh
Created October 21, 2020 08:19
Bash commands to turn off CPU aggressive services on WD MyCloud EX
/etc/init.d/wdmcserverd stop
/etc/init.d/wdphotodbmergerd stop
@shamasis
shamasis / keybase.md
Last active July 29, 2019 22:37
keybase.md

Keybase proof

I hereby claim:

  • I am shamasis on github.
  • I am shamasis (https://keybase.io/shamasis) on keybase.
  • I have a public key ASCK9Os-xiDRUyZBtzeVqOSZxOzAp7I-00B11_Jb1Xs2xQo

To claim this, I am signing this object:

@shamasis
shamasis / arduino.ino
Created June 16, 2019 08:52
ESP8266 Remote DHT Sensor
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include "DHT.h"
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
int LED_PIN = LED_BUILTIN; // amica
const char* ssid = "Your wifi SSID"; // Enter SSID here
const char* password = "Your wifi password"; //Enter Password here
@shamasis
shamasis / fix-npm-raspbian.sh
Created May 4, 2019 17:07
Fixing npm global install on Raspbian
# run the following commands
sudo mkdir /usr/local/lib/node_modules;
sudo chown pi /usr/local/lib/node_modules;