Skip to content

Instantly share code, notes, and snippets.

@BrandonSmith
BrandonSmith / AndroidManifest.xml
Last active July 19, 2023 19:11
Quick example of how to schedule a notification in the future using AlarmManager
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.cards.notification">
<uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
@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 / 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: {
@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 / 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 / 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 / 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'
(function() {
var CSSCriticalPath = function(w, d, opts) {
var opt = opts || {};
var css = {};
var pushCSS = function(r) {
if(!!css[r.selectorText] === false) css[r.selectorText] = {};
var styles = r.style.cssText.split(/;(?![A-Za-z0-9])/);
for(var i = 0; i < styles.length; i++) {
if(!!styles[i] === false) continue;
var pair = styles[i].split(": ");