Skip to content

Instantly share code, notes, and snippets.

@premnirmal
premnirmal / .emacs.el
Last active March 14, 2019 14:28
My latest .emacs settings
;; (add-to-list 'load-path "~/.emacs.d/elpa")
(setq make-backup-files nil) ; stop creating backup~ files
(setq auto-save-default nil) ; stop creating #autosave# files
;; (require 'package)
;; (add-to-list
;; 'package-archives
;; '("melpa" . "http://melpa.org/packages/")
;; t)
;; (add-to-list
@premnirmal
premnirmal / .zshrc
Last active October 6, 2017 18:14
my .zshrc file
# Path to your oh-my-zsh configuration.
ZSH=$HOME/.oh-my-zsh
alias git=hub
PATH=$PATH:/usr/local/bin
# android path (installed via homebrew)
PATH=$PATH:/usr/local/Cellar/android-sdk/24.4.1_1/platform-tools
PATH=$PATH:/usr/local/Cellar/android-sdk/24.4.1_1/tools
@premnirmal
premnirmal / GZipRequest.java
Last active December 20, 2022 06:07
Parse GZip responses using volley
import com.android.volley.NetworkResponse;
import com.android.volley.ParseError;
import com.android.volley.Response;
import com.android.volley.toolbox.HttpHeaderParser;
import com.android.volley.toolbox.StringRequest;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
@premnirmal
premnirmal / XORCrypt.java
Created September 26, 2014 02:03
Simple yet effective XOR encryption
import java.io.*;
import java.util.*;
/**
* @author Prem Nirmal
*/
public class XORCrypt {
static String value = "SampleStringToBeEncrypted";
static String keyval = "thisIsAKey";
@premnirmal
premnirmal / .screenrc
Created April 18, 2017 15:51
my .screenrc
escape ^\\\
@premnirmal
premnirmal / NutritionalInfoNet.kt
Last active April 23, 2018 16:13
NutritionalInfo missing annotation
import com.squareup.moshi.Json
/**
* Class representing a recipe's nutritional information.
* The [calories_per_serving] field does not include the correct annotation for Moshi to be able to parse it.
*/
data class NutritionalInfoNet(
@JvmField
var id: String,
@JvmField
@premnirmal
premnirmal / NutritionalInfoNet.kt
Last active April 23, 2018 16:13
NutritionalInfo with correct annotations
import com.squareup.moshi.Json
/**
* Class representing a recipe's nutritional information.
* The [calories_per_serving] field here includes the correct annotations for Moshi to be able to parse it.
*/
data class NutritionalInfoNet(
@JvmField
var id: String,
@JvmField
class BrowseRecipesFragment : Fragment(), View.OnClickListener {
private var recipeClickListener: RecipeClickListener? = null
...
override fun onAttach(context: Context) {
super.onAttach(context)
recipeClickListener = context as RecipeClickListener
}
/**
* Delegate that sets and disposes the fragment's listener by casting it to the fragment's activity.
*/
class ParentActivityDelegate<T>(fragment: Fragment) : BaseParentDelegate<T>(fragment) {
override fun extractValue(fragment: Fragment): T? = fragment.activity as? T
}
/**
* Delegate that sets and disposes the fragment's listener by casting it to the fragment's
class BrowseRecipesFragment : Fragment(), View.OnClickListener {
private val recipeClickListener: RecipeClickListener by ParentActivityDelegate(this)
...
override fun onClick(v: View) {
// Guaranteed to be not null :)
recipeClickListener.onRecipeClicked(recipe)
}