Skip to content

Instantly share code, notes, and snippets.

I've set my status

ViksaaSkool ViksaaSkool

I've set my status
View GitHub Profile
View csv_item.json
Tweet{"created_at": "datetime.datetime(date_and_timezone)", "id": "id_of_the_tweet", "text": "Text of the tweet", "user": User{"id": "id_of_the_user", "name": "Screen Name", "screen_name": "twitter_handle", "url": ""}, "url": ""}
ViksaaSkool / generate_stand_up_comedians_twitter_accounts_list.ipynb
Created Apr 1, 2020
View generate_stand_up_comedians_twitter_accounts_list.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
ViksaaSkool / KotlinGenerics.kt
Last active Dec 9, 2018
Example for Kotlin Generics - MyKotlinSharedPreference call when storing/retrieving any type of primitive data
View KotlinGenerics.kt
//One very powerful example of Generics might in combination with delegates is creation of SharedPreferences support
//taken from Kotlin for Android Developers by Antonio Leiva
class MyKotlinSharedPreference<T>(val context: Context, val name: String, val default: T) {
val prefs by lazy {
context.getSharedPreferences("default", Context.MODE_PRIVATE)
//operator overloading
ViksaaSkool / HigherOrderFunctions.kt
Last active Dec 9, 2018
Higher-order functions
View HigherOrderFunctions.kt
/* With */
//receives an object, and a function that will be executed as an extension function, which means that with can be used
//inside of a function to refere to the object, i.e. do something "with"
inline fun <T, R> with(receiver: T, f: T.() -> R): R = receiver.f()
fun getPersonFromDeveloper(developer: Developer): Person {
return with(developer) {
Person(developerName, developerAge)
View DelegatedProperties.kt
//we have class called Delegate that defines how to get and set values
class Delegate {
operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
return "$thisRef, thank you for delegating '${}' to me!"
operator fun setValue(thisRef: Any?, property: KProperty<*>, value: String) {
println("$value has been assigned to '${}' in $thisRef.")
View UtilsAndExtensions.kt
//A higher-order function is a function that takes functions as parameters, or returns a function. kotlin has the power
//to pass around functions
/* Lambdas */
//by definition, lambda expressions are functions that are not declared, but passed immediately as an expression
//surrounded by curly braces and the body goes after ->
//very basic definition
val sum = { x: Int, y: Int -> x + y }
View KotlinBasics.kt
/* Declaring variables */
//[val/var] name_of_variable : [type] = value
//no need for ; at the end of the line
val a: Int = 1
var b: String = "NullPointerException is dead"
var c: Double? = 0.4
//val - read only value, constant
ViksaaSkool /
Last active Sep 3, 2020
PerfectLoopMediaPlayer because it's 2017 and this is still an issue on Android
import android.content.Context;
import android.content.res.AssetFileDescriptor;
import android.util.Log;
* Created by viksaaskool on 13-04-2017.
ViksaaSkool /
Last active Mar 25, 2017
DrawableMatcher for medium article
public class DrawableMatcher extends TypeSafeMatcher<View> {
private final int expectedId;
private String resourceName;
private int isAnimatedDrawable = -1;
private int randomFrame = 0;
public DrawableMatcher(int expectedId) {
You can’t perform that action at this time.