Skip to content

Instantly share code, notes, and snippets.

View SpaceBison's full-sized avatar

Wojciech Matuszewski SpaceBison

View GitHub Profile
@SpaceBison
SpaceBison / gist:4ef6c00b2b5dac7837ac2df2909b931b
Last active April 16, 2024 10:59
Shell one liner to download a file using nc, xxd, tr, and sed
# download http://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4
printf 'GET /gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4 HTTP/1.1\r\nHost: storage.googleapis.com\r\nConnection: close\r\n\r\n' | nc storage.googleapis.com 80 | xxd -p | tr -d '\n' | sed 's/.*0d0a0d0a//1'| xxd -p -r > ForBiggerMeltdowns.mp4
@SpaceBison
SpaceBison / gist:18c618dd27df73a1bec0e84977ab7b7b
Created December 19, 2023 17:58
uBlock Origin filter to disable Reels on Facebook News Feed
facebook.com##a[href="/reel/?s=ifu_see_more"]:upward(h3 + div > div)
@SpaceBison
SpaceBison / rxKotlinBrindge.kt
Created May 5, 2022 14:23
Kotlin extensions to use with RxJavaBridge
import hu.akarnokd.rxjava3.bridge.RxJavaBridge
import io.reactivex.rxjava3.core.*
import io.reactivex.rxjava3.disposables.Disposable
import io.reactivex.Completable as CompletableV2
import io.reactivex.Flowable as FlowableV2
import io.reactivex.Maybe as MaybeV2
import io.reactivex.Observable as ObservableV2
import io.reactivex.Scheduler as SchedulerV2
import io.reactivex.Single as SingleV2
import io.reactivex.disposables.Disposable as DisposableV2
@SpaceBison
SpaceBison / SharedPreferencesNullableProperty.kt
Last active September 25, 2018 10:17
Android Kotlin - SharedPreferences property delegates
import android.content.SharedPreferences
import kotlin.properties.ReadWriteProperty
import kotlin.reflect.KFunction3
import kotlin.reflect.KProperty
@Suppress("UNCHECKED_CAST")
inline fun <reified T> sharedPreferences(sharedPreferences: SharedPreferences, key: String): SharedPreferencesNullableProperty<T> =
when (T::class) {
Boolean::class -> SharedPreferencesNullableProperty(sharedPreferences, key, false,
SharedPreferences::getBoolean, SharedPreferences.Editor::putBoolean)
@SpaceBison
SpaceBison / SimpleJsonAdapter.kt
Created September 24, 2018 06:01
Moshi adapter for org.json objects
package com.n7mobile.loterity.network.moshi
import com.squareup.moshi.JsonAdapter
import com.squareup.moshi.JsonReader
import com.squareup.moshi.JsonReader.Token.END_ARRAY
import com.squareup.moshi.JsonReader.Token.END_OBJECT
import com.squareup.moshi.JsonWriter
import org.json.JSONArray
import org.json.JSONObject
@SpaceBison
SpaceBison / find_sony_liveview.sh
Created September 23, 2017 14:44
Find live view stream URLs for Sony cameras
#!/bin/bash
LOCATIONS=$(gssdp-discover -t urn:schemas-sony-com:service:DigitalImaging -n 10 | grep -oh "http.*xml")
URLS=()
function get_live_view_url_from_xml() {
xmlstarlet sel -N x="urn:schemas-upnp-org:device-1-0" -t -v "string(/x:root/x:device/av:X_ScalarWebAPI_DeviceInfo/av:X_ScalarWebAPI_ImagingDevice/av:X_ScalarWebAPI_LiveView_URL)"
}
for line in $LOCATIONS; do
@SpaceBison
SpaceBison / adb_all.sh
Created January 24, 2017 09:50
Script to run an adb command on all connected devices (parallalel)
#!/bin/bash
adb devices | {
mapfile -s 1 -t DEVICES
for d in "${DEVICES[@]}"; do
DEV="${d%% *}"
if ! [[ -z $DEV ]]; then
if [[ $DEV == "????????????" ]]; then
echo "Unknown device!"
@SpaceBison
SpaceBison / GsonDeserializerBuilder.java
Created May 29, 2016 11:39
GSON Deserializer builder class for polymophic data types
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.JsonPrimitive;
import java.lang.reflect.Type;
@SpaceBison
SpaceBison / BiMap.java
Created May 27, 2016 06:00
BiMap - java
/**
* Bi-directional {@link Map}. Provides one-to-one mapping of keys and values.
*/
public class BiMap <K,V> implements Map<K,V> {
private final HashMap<K,V> mMap = new HashMap<>();
private final HashMap<V,K> mReverseMap = new HashMap<>();
@Override
public void clear() {
mMap.clear();
@SpaceBison
SpaceBison / color_button_background.xml
Last active May 5, 2016 18:22
Material Colored Buttons
<!-- res/color/color_button_background.xml -->
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Disabled -->
<item android:state_enabled="false"
android:color="@color/disabled_button"/>
<!-- Enabled -->