Skip to content

Instantly share code, notes, and snippets.

@BrandonSmith
BrandonSmith / index.jsx
Created March 10, 2023 02:07
useGetState
import { useMemo, useReducer, useRef } from "react";
const useGetState = (initialState) => {
const state = useRef(initialState);
const [, update] = useReducer(num => ((num + 1) % 1_000_000), 0);
return useMemo(() => ([
() => state.current,
(newState) => {
state.current = newState;
@BrandonSmith
BrandonSmith / apns.sh
Created June 22, 2018 13:44
fcm-apns-debugging
#!/bin/bash
curl=/usr/local/opt/curl/bin/curl
openssl=/usr/local/opt/openssl/bin/openssl
deviceToken=TOKEN
authKey="./AuthKey_##########.p8"
authKeyId=##########
teamId=##########
@BrandonSmith
BrandonSmith / index.js
Last active September 1, 2017 21:51
Reply sometimes does not work
const {app,Notification} = require('electron')
app.on('ready', () => {
showNextNotification()
})
let i = 0
showNextNotification = () => {
const notification = new Notification({
@BrandonSmith
BrandonSmith / main.js
Created August 4, 2017 19:47
Electron `call` interface between main and renderer processes
import { ipcMain } from 'electron'
import uuid from 'uuid'
/**
* Makes a data request over IPC to renderer process
* @param {string} request Request type known to main handler
* @param {object} Optional `options` object used as parameters for request
* @return {Promise} Promise of data
*/
export function call(window, request, options={}) {
@BrandonSmith
BrandonSmith / main.js
Created August 4, 2017 19:47
Electron `call` interface between main and renderer processes
import { ipcMain } from 'electron'
import uuid from 'uuid'
/**
* Makes a data request over IPC to renderer process
* @param {string} request Request type known to main handler
* @param {object} Optional `options` object used as parameters for request
* @return {Promise} Promise of data
*/
export function call(window, request, options={}) {
@BrandonSmith
BrandonSmith / electron-lets-move.js
Created June 6, 2017 14:54
Fork of `electron-lets-move`
import {
app,
dialog,
shell
} from 'electron'
import os from 'os'
import childProcess from 'child_process'
import sudo from 'sudo-prompt'
import path from 'path'
@BrandonSmith
BrandonSmith / sms_blaster.sh
Created January 30, 2017 19:05
SMS Blaster
#!/bin/bash
if [ $# -lt 5 ]; then
echo -e "./send_sms.sh <device> <to_number> <big|small> <number_of_texts> [sleep_time]"
exit 0
fi
if [ $5 -ge 500 ]; then
while true; do
read -p "Are you sure you want to send >500 texts? y/n`echo $'\n> '`" yn
@BrandonSmith
BrandonSmith / conf.js
Created August 10, 2015 19:26
Google Form Filler
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {
'browserName': 'chrome'
},
specs: ['example-spec.js'],
jasmineNodeOpts: {
Bitmap batmapBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.batman);
RoundedBitmapDrawable circularBitmapDrawable = //
RoundedBitmapDrawableFactory.create(getResources(), batmapBitmap);
circularBitmapDrawable.setCornerRadius(batmapBitmap.getWidth());
myImageView.setImageDrawable(circularBitmapDrawable);
System.out.prinln("MyActivity", "That's all folks");
@BrandonSmith
BrandonSmith / keybase.md
Created September 22, 2014 15:52
Keybase Verification

Keybase proof

I hereby claim:

  • I am brandonsmith on github.
  • I am brandonsmith (https://keybase.io/brandonsmith) on keybase.
  • I have a public key whose fingerprint is 42F0 33EE 3293 9438 48DD 74EF 8BE9 B7D4 6824 BE70

To claim this, I am signing this object: