Skip to content

Instantly share code, notes, and snippets.

View prakharjain09's full-sized avatar

Prakhar Jain prakharjain09

View GitHub Profile
@prakharjain09
prakharjain09 / PrivateMethodCaller.scala
Created May 26, 2021 18:06 — forked from jorgeortiz85/PrivateMethodCaller.scala
Calling private methods in Scala
// Usage:
// p(instance)('privateMethod)(arg1, arg2, arg3)
class PrivateMethodCaller(x: AnyRef, methodName: String) {
def apply(_args: Any*): Any = {
val args = _args.map(_.asInstanceOf[AnyRef])
def _parents: Stream[Class[_]] = Stream(x.getClass) #::: _parents.map(_.getSuperclass)
val parents = _parents.takeWhile(_ != null).toList
val methods = parents.flatMap(_.getDeclaredMethods)
val method = methods.find(_.getName == methodName).getOrElse(throw new IllegalArgumentException("Method " + methodName + " not found"))
#! /bin/bash
USER=$1
PASS=$2
usermod --password $(echo $PASS | openssl passwd -1 -stdin) $USER
@prakharjain09
prakharjain09 / get_all_jars_containing_a_given_class_x.scala
Last active August 27, 2020 09:39
Scala Get All jars containing a particular class in classpath
val inputClassName = "" // Type input class name which you want to find. Example - org/apache/hadoop/fs/s3a/S3AFileSystem.class
import java.net.URLClassLoader
import java.net.URL
import java.io.File
def list_urls(cl: ClassLoader): Array[java.net.URL] = cl match {
case null => Array()
case u: java.net.URLClassLoader => u.getURLs() ++ list_urls(cl.getParent)
case _ => list_urls(cl.getParent)
@prakharjain09
prakharjain09 / scala_get_all_jars_in_classpath.scala
Last active February 28, 2020 14:11
Get all jars in classpath (Scala)
def list_urls(cl: ClassLoader): Array[java.net.URL] = cl match {
case null => Array()
case u: java.net.URLClassLoader => u.getURLs() ++ list_urls(cl.getParent)
case _ => list_urls(cl.getParent)
}
val urls = list_urls(getClass.getClassLoader).distinct
println(urls.filterNot(_.toString.contains("ivy")).mkString("\n"))
@prakharjain09
prakharjain09 / gist:81b39c41646a57ccc52b
Created October 21, 2015 06:12 — forked from CristinaSolana/gist:1885435
Keeping a fork up to date

1. Clone your fork:

git clone [email protected]:YOUR-USERNAME/YOUR-FORKED-REPO.git

2. Add remote from original repository in your forked repository:

cd into/cloned/fork-repo
git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream