Skip to content

Instantly share code, notes, and snippets.

View hiddentao's full-sized avatar
🌱

Ramesh Nair hiddentao

🌱
View GitHub Profile
@hiddentao
hiddentao / gist:5946053
Last active November 13, 2018 18:18
Generate overridable getters and setters in Javascript
// see blog post: http://www.hiddentao.com/archives/2013/07/08/generate-overridable-getters-and-setters-in-javascript/
Function.prototype.generateProperty = function(name, options) {
// internal member variable name
var privateName = '__' + name;
options = options || {};
options.get = ('undefined' === typeof options.get ? true : options.get );
options.set = ('undefined' === typeof options.set ? true : options.set );
// pre-initialise the internal variable?
@hiddentao
hiddentao / gist:7300694
Last active January 22, 2019 05:04
An improvement on the angular.module() API, making it easier to split up modules into multiple files without having to worry about only registering them once.
/**
* Workaround to make defining and retrieving angular modules easier and more intuitive.
*/
(function(angular) {
var origMethod = angular.module;
var alreadyRegistered = {};
/**
@hiddentao
hiddentao / jenkins_nginx_ssl_ubuntu.sh
Last active January 4, 2016 08:09
Setting up Nginx SSL-PFS + Jenkins on Ubuntu 12.04
# Install Jenkins
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
ACTION: check that Jenkins is running on yourdomain.com:8080
# SSL certificates with Perfect Forward Secrecy
# (assuming /etc/ssl/certs/yourdomain.com.pem already exists)
@hiddentao
hiddentao / patch.diff
Last active August 29, 2015 14:04
Fix Soundcloud is Gold Wordpress plugin (v2.2.2) to work when using Wordpress with HTTPS
diff --git a/wp-content/plugins/soundcloud-is-gold/soundcloud-is-gold-functions.php b/wp-content/plugins/soundcloud-is-gold/soundcloud-is-gold-functions.php
index e2eefe3..48f01b0 100644
--- a/wp-content/plugins/soundcloud-is-gold/soundcloud-is-gold-functions.php
+++ b/wp-content/plugins/soundcloud-is-gold/soundcloud-is-gold-functions.php
@@ -610,18 +610,20 @@ function soundcloud_is_gold_player($id, $user, $autoPlay, $comments, $width, $cl
$player = '<div class="soundcloudIsGold '.esc_attr($classes).'" id="soundcloud-'.esc_attr($id).'">';
+ $httpPrefix = (is_ssl() ? 'https' : 'http');
+
@hiddentao
hiddentao / setupHipChat.js
Last active August 29, 2015 14:07
Setting up a HipChat room notifier in a Waigo startup step
"use strict";
var HipChatter = require('hipchatter'),
Q = require('bluebird');
var _ = require('waigo')._;
module.exports = function*(app) {
if (app.config.hipChat) {
@hiddentao
hiddentao / gist:0c9137e72493e3be26ce
Last active August 29, 2015 14:22
Gulp + Browserify + Watchify for building JS code
browserify = require 'browserify'
source = require 'vinyl-source-stream2'
uglify = require 'gulp-uglify'
watchify = require 'watchify'
gulp = require 'gulp'
gutil = require 'gulp-util'
gulp.task 'js', ->
_process = (b) ->
[
{
id: 'living',
label: 'Living',
children: [
{
id: 'products',
label: 'Products',
children: [
{
@hiddentao
hiddentao / gist:d642a16c7b04b79e584a
Last active January 15, 2016 02:32
Cron backup script for Mongo db that deletes backups older than 14 days
#!/bin/bash
MONGO_DATABASE="name here"
APP_NAME="name of app"
MONGO_HOST="127.0.0.1"
MONGO_PORT="27017"
TIMESTAMP=`date +%F-%H%M`
MONGODUMP_PATH="/usr/bin/mongodump"
BACKUPS_DIR="/opt/backup/$APP_NAME"
'use strict';
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constr
@hiddentao
hiddentao / LinkedInPYMKBulkInvite.js
Last active February 14, 2017 10:44
Linked-In Auto-send all People You May Know invites
/*
For use on: "My Network" page
This will first load full list of invite suggestions by auto-scrolling to bottom of page.
Once no more suggestions are left to load it will auto-connect to all by clicking all
Connect buttons (with 100ms interval between each click).
How to run: Run the below code in your browser's Javascript console (see
Developer Tools in chrome). DO NOT close or change the browser tab whilst this is running.