Skip to content

Instantly share code, notes, and snippets.

@FennyFatal
FennyFatal / apollo-wrappers.js
Last active January 13, 2022 20:34
Apollo wrapper to make skip: true act kinda the same in @apollo/client 3.5+
import { useQuery as useQueryReal } from '@apollo/client';
import _ from 'lodash';
import {
useEffect,
useCallback,
useRef,
} from 'react';
export const useQuery = (query, {
skip = false,
@FennyFatal
FennyFatal / pull-apk.bat
Created March 9, 2021 19:52
Crappy script to pull apk from remote device. Will pull any package name that matches argument. (use "." for all) Usage: pull-apk name
@ECHO OFF
set ARG=%1
set next=1
FOR /F "USEBACKQ delims=" %%F in (`adb shell "for i in $(pm list packages | awk -F':' '{print $2}' | grep -F '%ARG%'); do pm path $i | awk -F':' '{print $2}'; done | xargs echo"`) do (
set OUTPUT=%%F
)
echo "%OUTPUT%"
goto :main
:loop
@FennyFatal
FennyFatal / nvarcharFix.js
Created February 24, 2021 16:03
Require this before sequelize to only use NVARCHAR literals with mssql when needed.
const shouldStripNvar = (value) => !/[^\u0000-\u00ff]/.test(value);
const ss = require("sequelize/lib/sql-string");
const dataTypes = require('sequelize/lib/data-types');
const { logger } = require('sequelize/lib/utils/logger');
function arrayToList(array, timeZone, dialect, format) {
return array.reduce((sql, val, i) => {
if (i !== 0) {
@FennyFatal
FennyFatal / sharepoint.screengrab.js
Created December 17, 2019 19:17
Capture Form Image from Sharepoint
'use strict';
/**
* @usage node sharepoint.screengrab.js url filename.ext
*/
var args = process.argv.slice(2);
const puppeteer = require('puppeteer');
puppeteer.launch().then(function (browser)
@FennyFatal
FennyFatal / default.ca
Created August 30, 2019 00:48 — forked from curz46/default.pa
astro a50 pulseaudio /etc/pulse/default.ca
# pulseaudio defaults to only detecting Astro A50 voice and microphone, not game
# this is what i had to do to fix it, hopefully it saves someone some time
# index:subdevice may be different for you
# resources:
# https://wiki.archlinux.org/index.php/PulseAudio/Examples at "module-alsa-sink"
# https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index6h3
.nofail
load-module module-alsa-sink device=hw:3,0 sink_name=voice
@FennyFatal
FennyFatal / clip.sharepoint.form.js
Created July 12, 2018 21:15
Screenshot a sharepoint form with puppeteer
/**
* @name Clip Sharepoint Form
*
* @desc Grabs and clips out a sharepoint form as an image, and stores it to out_file
*
* @args args[0]=URL args[1]=out_file
*
* @usage node clip.sharepoint.form.js "URL" "/path/to/out_file.png"
*
* @see {@link https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#screenshot}
static void Decrypt(string backup_file)
{
RijndaelManaged aesEncryption = new RijndaelManaged();
using (System.IO.FileStream f = System.IO.File.OpenRead(backup_file))
{
if ("ANDROID BACKUP" != readString(f))
return;
Console.WriteLine("Version:" + readString(f));
@FennyFatal
FennyFatal / snippit.rb
Created June 22, 2017 18:19
Crappy LFM taste-o-meter
def get_lfm_artist_gids(a_user)
response = Net::HTTP.get_response("ws.audioscrobbler.com", "/2.0/?method=user.gettopartists&user=#{get_user(a_user)}&limit=1&api_key=#{$api_key}&format=json")
jresponse = JSON.parse(response.body)
puts jresponse.inspect
page = 1
gids = []
until page > jresponse['topartists']['@attr']['totalPages'].to_i do
response = Net::HTTP.get_response("ws.audioscrobbler.com", "/2.0/?method=user.gettopartists&user=#{get_user(a_user)}&limit=1000&page=#{page}&api_key=#{$api_key}&format=json")
jresponse = JSON.parse(response.body)
jresponse['topartists']['artist'].each do |artist|
#!/usr/bin/env ruby
require 'cinch'
require 'sqlite3'
require 'json'
require 'net/http'
require 'uri'
require 'ud'
require 'date'
:TitsMagoo
namespace PlexWalk
{
partial class BrowseForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>