Skip to content

Instantly share code, notes, and snippets.

View Avinash-Bhat's full-sized avatar

Avinash Ananth Narayan R Avinash-Bhat

View GitHub Profile
@Avinash-Bhat
Avinash-Bhat / datediff
Last active August 29, 2015 14:02
Coffeescript to find difference in date
#!/usr/local/bin/coffee
SEC = 1000
MIN = SEC * 60
HOUR = MIN * 60
DAY = HOUR * 24
WEEK = DAY * 7
if process.argv.length != 4
console.log "Insufficient arguments to complete call"
@Avinash-Bhat
Avinash-Bhat / auto-hibernate
Last active August 29, 2015 14:10
auto-hibernate script and systemd service
#!/usr/bin/env bash
print_usage() {
echo " Usage: $0 [upper-threshold]"
}
if [ -z $1 ];
then
echo "ERROR: upper threshold should be specified"
print_usage
@Avinash-Bhat
Avinash-Bhat / ClientCreator.java
Last active September 11, 2015 17:39
Retrofit 2 logging
OkHttpClient createClient() {
final OkHttpClient client = new OkHttpClient();
// ...
client.networkInterceptors().add(chain -> {
Request request = chain.request();
if (DEBUG) {
log(request);
} else {
String protocolPrefix = request.isHttps() ? "S" : "";
Log.i(TAG, String.format("---> HTTP%s %s %s",
@Avinash-Bhat
Avinash-Bhat / Benchmark.coffee
Created August 22, 2012 14:48
Simple Benchmark class for minor performance testing.
_avg = (items) ->
sum = 0
sum += item for item in items
sum / items.length
class Benchmark
constructor: (@functions,@maxSampling) ->
@check()
check: () ->
@Avinash-Bhat
Avinash-Bhat / jquery.ui.widget-(partial).js
Created November 5, 2012 19:08
fix for problematic bug in jquery ui 1.9.1 (ticket#8775)
$.widget.bridge = function( name, object ) {
var fullName = object.prototype.widgetFullName || name;
$.fn[ name ] = function( options ) {
var isMethodCall = typeof options === "string",
args = slice.call( arguments, 1 ),
returnValue = this;
// allow multiple hashes to be passed on init
options = !isMethodCall && args.length ?
$.widget.extend.apply( null, [ options ].concat(args) ) :
@Avinash-Bhat
Avinash-Bhat / factory.js
Last active December 13, 2015 18:08
Object.create vs (evil) eval for creating an object of different types according to the arguments received.
function createObject (clazz, args) {
var o;
if (Object.create) {
o = Object.create(clazz)
clazz.constructor.apply(xx, args);
} else {
// screwed! nothing other than evil-eval :-(
o = eval("new " + clazz.constructor.name + "(" + args + ")");
}
}
@Avinash-Bhat
Avinash-Bhat / custom_rules.xml
Last active April 18, 2016 13:37
[DEPRECATED] Automatic versioning in Android using Ant and Git
<?xml version="1.0" encoding="UTF-8"?>
<project name="application-custom">
<macrodef name="git" taskname="@{taskname}">
<attribute name="command" />
<attribute name="dir" default="" />
<attribute name="property" default="" />
<attribute name="taskname" default="" />
<attribute name="failonerror" default="on" />
<element name="args" optional="true" />
@Avinash-Bhat
Avinash-Bhat / bandcamp.js
Last active April 29, 2016 02:48 — forked from icodeforlove/bandcamp.js
download mp3's from bandcamp
var commands = [];
commands.push('mkdir "' + TralbumData.current.title + '"');
commands.push('cd "' + TralbumData.current.title + '"');
TralbumData.trackinfo.forEach(function (track, index) {
if (track.file) {
var href = track.file['mp3-128'];
@Avinash-Bhat
Avinash-Bhat / script.groovy
Created September 27, 2016 11:19
jenkins script for android sdk license
def dir = new File('path_to_sdk')
def licenses = new File(dir, 'licenses')
if (!licenses.exists()) licenses.mkdir()
dir.listFiles().each { println it }
def pw = new PrintWriter(new File(licenses, 'android-sdk-license'))
pw.println('8933bad161af4178b1185d1a37fbf41ea5269c55')
@Avinash-Bhat
Avinash-Bhat / git-version.gradle
Last active January 20, 2017 18:15
Gist for versioning an android application.
/**
* Copyright 2016 Avinash Ananth Narayan R
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,