Skip to content

Instantly share code, notes, and snippets.

Kaushik Gopal kaushikgopal

Block or report user

Report or block kaushikgopal

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
kaushikgopal / dependencies.gradle
Last active Apr 20, 2019
Dependencies Gradle - think of this is as the Android developer's Gemfile
View dependencies.gradle
* Shared file between builds so that they can all use the same dependencies and
* maven repositories.
ext.deps = [:]
def versions = [:]
versions.android_gradle_plugin = '3.3.2'
versions.min_sdk = 21
versions.target_sdk = 28
function morning
# homebrew
brew update
brew upgrade
brew outdated
brew cleanup
# sdkman
echo "Y" | sdk update

Keybase proof

I hereby claim:

  • I am kaushikgopal on github.
  • I am kaushikgopal ( on keybase.
  • I have a public key ASDR8pa7M7GjmOJwED8ae0Cmr7Uyuk13EJDW0fs7kG8TlQo

To claim this, I am signing this object:

kaushikgopal / .phoenix.2.js
Last active Oct 7, 2018
Kaushik Gopal's window management tool of choice - phoenix.js
View .phoenix.2.js
// download Phoenix from here
"use strict";
openAtLogin: true
// -------------------------------------------
// Utility methods
kaushikgopal / git_merge_up_push_up_version.rb
Created Oct 25, 2016
ruby script that makes merging up and pushing changes easy for versions ahead (if you follow semantic versioning)
View git_merge_up_push_up_version.rb
#!/usr/bin/env ruby
require 'rubygems'
require 'set'
require 'highline/import'
# this assumes you follow proper semantic app versioning
# listen to this for an explanation
def confirm(message)
confirmation = ask message + " (y/n)"
kaushikgopal / android_app_release.rb
Created Oct 7, 2016
a ruby release script for android apps
View android_app_release.rb
#!/usr/bin/env ruby
require 'highline/import'
require 'nokogiri'
# i suggest looking at this folder and seeing your app prefix ¯\_(ツ)_/¯
$gradle_properties = File.join(File.dirname(__FILE__), "..", "..", "")
$app_directory = "./<App Parent Directory>"
$app_name_prefix = "<Prefix for final apk e.g. uber-release->"
$splash_screen_location = "co.kaush.instashop/co.kaush.instashop.SplashActivity"
kaushikgopal /
Created Oct 3, 2016
DateSubject - custom Truth extension subject for comparing Dates
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import static;
public class DateSubject
kaushikgopal /
Created Jul 24, 2016
Sample use of the Enclosed.class test runner
public class WorkflowStateMachineTest {
public static class ParameterizedTests {
@Parameter public ISBatchType mTestBatchType; // first data value (0) is default
kaushikgopal /
Created Jul 8, 2016
Lazy man's RxJava Espresso Scheduler Hooks
public class RxSchedulerHook {
private ISRxSchedulerHook() {
// no instances
* this makes sure that when we run the tests all of RxJava
* operates on a single thread (Scheduler.immediate)
kaushikgopal /
Last active Jun 7, 2018
RxJava log exception only subscriber
public static class LogExOnlySubscriber<T> extends Subscriber<T> {
public void onCompleted() {
public void onError(Throwable ex) {
Timber.e(ex, "Your RX IZ FAILING YO!");
You can’t perform that action at this time.