Skip to content

Instantly share code, notes, and snippets.

Vinay Shenoy vinaysshenoy

Block or report user

Report or block vinaysshenoy

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
vinaysshenoy /
Last active Jan 26, 2020
Bootstrap file to setup a new account on macOS (10.15+)
/usr/bin/ruby -e "$(curl -fsSL"
brew install git
brew install jenv
brew install nvm
mkdir ~/.nvm
brew cask install gpg-suite
brew tap AdoptOpenJDK/openjdk
View ImageApprover.kt
package com.vinaysshenoy
import org.approvaltests.Approvals
import org.approvaltests.approvers.ApprovalApprover
import org.approvaltests.core.ApprovalFailureReporter
import org.approvaltests.core.ApprovalReporterWithCleanUp
import org.approvaltests.core.ApprovalWriter
import org.approvaltests.namer.ApprovalNamer
import org.approvaltests.writers.ImageApprovalWriter
import java.awt.image.BufferedImage
View gist:f531e603cac0ef872220e7a86132f54b
./emulator-headless -avd -list-avds
./emulator-headless -avd Nexus_5_API_28
vinaysshenoy /
Created Jul 1, 2019 — forked from ravidsrk/
Colored Logcat - Android Studio

#####Logcat Colors for IntelliJ Darcula Theme (original post)

  • Preferences -> Editor -> Android Logcat
  • "Save As" scheme
  • Uncheck "Use inherited attributes" option
  • Edit foreground color with the following
Debug   : #6897BB 
Info    : #6A8759 
# Prerequisites
# - Python 3
# - *nix OS
# - git must be available on the command line
# - Android SDK and Java 8 must be setup
# - Repository SSH fingerptint must be added to ~/.ssh/known_hosts
# - ANDROID_SDK_ROOT env variable must be set
# - An AVD with the name "uitest" must be pre-created
# - mongodb started and running on port 27017
vinaysshenoy / build.gradle
Last active Nov 25, 2018
Publish To Maven (S3 Backed) using new plugin
View build.gradle
apply from: 'secrets.gradle'
group 'com.vinaysshenoy'
version '1.0-SNAPSHOT'
buildscript {
ext {
common = [
kotlin: '1.3.10'
vinaysshenoy / TextAnnotations.kt
Created Oct 12, 2018
Android Resource Annotation Applier
View TextAnnotations.kt
package com.vinaysshenoy.util
import android.content.Context
import android.text.Annotation
import android.text.Spannable
import android.text.SpannableString
import android.text.SpannedString
vinaysshenoy /
Created May 21, 2018 — forked from tombigel/
How to Change Open Files Limit on OS X and macOS Sierra (10.8 - 10.12)

How to Change Open Files Limit on OS X and macOS

This text is the section about OS X Yosemite (which also works for macOS Sierra) from

The last time i visited this link it was dead (403), so I cloned it here from the latest snapshot in's Wayback Machine

Mac OS X

To check the current limits on your Mac OS X system, run:

View Contract.kt
sealed class PresenterToViewMsg
data class Msg1(val prop: Int): PresenterToViewMsg()
data class Msg2(val prop: String): PresenterToViewMsg()
sealed class ViewToPresenterMsg
data class Msg3(val prop: Int): ViewToPresenterMsg()
data class Msg4(val prop: String): ViewToPresenterMsg()
vinaysshenoy / ReduceTest.kt
Created Apr 28, 2018
Using reduce to find a single element in an Observable chain
View ReduceTest.kt
import io.reactivex.Observable
data class Item(val priority: Int)
Observable.fromArray(Item(10), Item(5), Item(25))
.reduce { first, next -> if(first.priority < next.priority) first else next }
.toSingle() //This converts a Maybe to a Single that will emit an error if there are no elements in the stream
.subscribe({ println("Least priority: $it") }, {})
You can’t perform that action at this time.