Skip to content

Instantly share code, notes, and snippets.

View damien5314's full-sized avatar
🙈

Damien Diehl damien5314

🙈
View GitHub Profile
@damien5314
damien5314 / newegg_inventory_checker.js
Last active November 27, 2020 14:33
User script for checking available inventory on a Newegg product search
// ==UserScript==
// @name Newegg Inventory Check
// @version 5
// @description Repeatedly refresh a given Newegg page, look for products in stock, and make a lot of noise on success
// @namespace https://gist.github.com/damien5314/4cd478ebdbac3dc51e40c66bb884fece
// @author https://github.com/damien5314 (forked from github.com/beporter)
// @match https://www.newegg.com/p/*
// @match https://secure.newegg.com/wishlist/md/*
// @grant none
// @run-at document-idle
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="ddiehl.no215">
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission
android:name="android.permission.MODIFY_PHONE_STATE"
tools:ignore="ProtectedPermissions" />
@damien5314
damien5314 / nonnull.gradle
Last active February 15, 2018 23:34
Script that generates package-info.java files for all packages in java source directories in a gradle project
/**
* Generates package-info.java for appropriate packages
* inside src/main/java folder.
*
* This is a workaround to define @ParametersAreNonnullByDefault for all Java classes
* in a package, including all subpackages.
*
* Adapted from https://gist.github.com/kosiara/233753e4de606eb5bd8b342209090e25
*/
task generatePackageInfoJavaFiles(dependsOn: "assembleDebug", type: Copy) {
@damien5314
damien5314 / ApptimizePerformanceActivity.kt
Created February 8, 2018 22:55
Activity designed to test performance of Apptimize.track
package com.quizlet.android.apptimize
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.util.Log
import android.widget.Button
import com.apptimize.Apptimize
import com.quizlet.quizletandroid.R
/**
@damien5314
damien5314 / JacksonTests.kt
Created September 18, 2017 19:23
Jackson performance testing
package com.quizlet.perf
import com.fasterxml.jackson.databind.ObjectMapper
import com.quizlet.android.logging.ConsoleLogger
import com.quizlet.android.logging.ConsoleLoggingTree
import org.junit.After
import org.junit.Before
import org.junit.Test
import timber.log.Timber
@damien5314
damien5314 / Apple.kt
Created July 16, 2017 00:00
Testing Kotlin's @JvmSynthetic annotation
package foo
class Apple
fun Apple.slice() { }
@JvmSynthetic
fun Apple.peel() { }
@damien5314
damien5314 / pull-data.sh
Created July 12, 2017 06:41
Creates an app backup using the standard Android mechanism, then pulls backed up data to a connected machine.
#! /bin/bash
path=build/data
mkdir -p $path
adb backup -f $path/appdata.ab -noapk com.example.app
( cd $path && dd if=appdata.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" | tar -xvf - )
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JSON Pretty Print</title>
</head>
<body>
<textarea id="input" rows="40" cols="64" placeholder="Paste JSON here"></textarea>
<textarea id="output" rows="40" cols="64" readonly="readonly" placeholder="Result"></textarea>
import com.quizlet.android.logging.ConsoleLogger
import com.quizlet.android.logging.ConsoleLoggingTree
import io.reactivex.Completable
import io.reactivex.Scheduler
import io.reactivex.schedulers.Schedulers
import io.reactivex.schedulers.TestScheduler
import org.junit.After
import org.junit.Before
import org.junit.Test
import timber.log.Timber
package com
import io.reactivex.Observable
import org.junit.Assert.assertEquals
import org.junit.Test
class RxJavaTests {
@Test
fun foo1() { // fails, doOnDispose isn't called (Observable isn't disposed?)