Skip to content

Instantly share code, notes, and snippets.

package(default_visibility = ["//visibility:public"])
load("@io_bazel_rules_closure//closure:defs.bzl", "closure_js_binary")
load("@io_bazel_rules_closure//closure:defs.bzl", "closure_js_library")
# With the externs file as a source for the library
closure_js_library(
name = "foo",
srcs = [
"foo.js",
We couldn’t find that file to show.
@jschaf
jschaf / BUILD
Last active April 16, 2017 08:56
Bazel Docker 64-byte repo name
load("@bazel_tools//tools/build_defs/docker:docker.bzl", "docker_build")
docker_build(
name = "hello",
base = "@official_ubuntu//image:image.tar",
cmd = ["echo", "hi"],
)
@jschaf
jschaf / remove-open-search.user.js
Last active December 25, 2017 04:50
TamperMonkey script to prevent Chrome from auto-adding search engines.
// ==UserScript==
// @name RemoveOpenSearch
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Prevent Chrome from automatically adding search engines.
// @author Joe Schafer
// @match http://*/*
// @grant none
// ==/UserScript==
@jschaf
jschaf / circleci_default_checkout.sh
Created August 26, 2019 03:37
The default checkout step for CircleCI
#!/bin/bash
set -e
# Workaround old docker images with incorrect $HOME
# check https://github.com/docker/docker/issues/2968 for details
if [ "${HOME}" = "/" ]
then
export HOME=$(getent passwd $(id -un) | cut -d: -f6)
fi
@jschaf
jschaf / Configure_script.sh
Last active March 2, 2021 07:23
Bazel openssl and postgres
#!/usr/bin/env bash
function symlink_to_dir() {
local target="$2"
mkdir -p "$target"
if [[ -f "$1" ]]; then
ln -s -f -t "$target" "$1"
elif [[ -L "$1" ]]; then
cp $1 $2
elif [[ -d "$1" ]]; then
local children=$(find -H "$1" -maxdepth 1 -mindepth 1)
@jschaf
jschaf / machine.js
Created April 14, 2021 06:22
Generated by XState Viz: https://xstate.js.org/viz
const machine = Machine({
id: 'activeProduct',
initial: 'pristine',
strict: true,
context: {
name: {}, // product resource name
product: {}, // current active product
dirtyProduct: {}, // locally modified fields not yet submitted
submittingProduct: {}, // fields currently being submitted
seqSubmitFails: 0, // number of sequential submit failures
@jschaf
jschaf / use_state_ref.ts
Created October 29, 2021 22:51
useStateRef hook
import type { Dispatch, SetStateAction } from 'react';
import { useCallback, useRef, useState } from 'react';
/** The returned value of a useRef hook, but marked as readonly. */
type ReadOnlyRef<T> = {
readonly current: T;
};
/** The return type of useStateRef. */
type StateRefResult<S> = [S, Dispatch<SetStateAction<S>>, ReadOnlyRef<S>];
@jschaf
jschaf / port-kill
Last active November 22, 2021 23:50
port-kill
#!/bin/zsh
function port-kill() {
local port="$1"
local pids
# Simplest way to fill an array from a command. The results are whitespace
# safe.
# shellcheck disable=SC2207
pids=( $(lsof -t -i:"${port}") )
if [[ "${#pids[@]}" == 0 ]]; then
package main
import (
"fmt"
"golang.org/x/text/runes"
"golang.org/x/text/transform"
"golang.org/x/text/unicode/norm"
"unicode"
)