Skip to content

Instantly share code, notes, and snippets.

Vinay S 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
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") }, {})
vinaysshenoy / Test.kt
Last active Mar 27, 2018
Shared observable test
View Test.kt
import io.reactivex.Observable
import io.reactivex.schedulers.Schedulers
import java.util.concurrent.TimeUnit.SECONDS
import java.util.concurrent.atomic.AtomicInteger
val counter = AtomicInteger()
val source = Observable
.fromCallable {
val number = counter.incrementAndGet()
You can’t perform that action at this time.