Skip to content

Instantly share code, notes, and snippets.

View errors.txt
# We append the integers 1..50 to a base prefix.
# The problematic strings have the apostrophe \xe2
#    Andy’s liqour parent account
#    Carr’s Bar N’ Grill
short dest error transforming unicode to ascii src_bytes="wind-Andy\xe2" src_bytes_read=10, dst_bytes="wind-And\x00\x00" dst_bytes_written=8: transform: short destination buffer
short dest error transforming unicode to ascii src_bytes="wind-Andy\xe21" src_bytes_read=11, dst_bytes="wind-And\x00\x00\x00" dst_bytes_written=8: transform: short destination buffer    ...
...
short dest error transforming unicode to ascii src_bytes="wind-Andy\xe246" src_bytes_read=12, dst_bytes="wind-Andy\x00\x00\x00" dst_bytes_written=9: transform: short destination buffer
short dest error transforming unicode to ascii src_bytes="wind-Andy\xe247" src_bytes_read=12, dst_bytes="wind-Andy\x00\x00\x00" dst_bytes_written=9: transform: short destination buffer
View normalize.go
package main
import (
"fmt"
"golang.org/x/text/runes"
"golang.org/x/text/transform"
"golang.org/x/text/unicode/norm"
"unicode"
)
@jschaf
jschaf / port-kill
Last active November 22, 2021 23:50
port-kill
View 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
@jschaf
jschaf / use_state_ref.ts
Created October 29, 2021 22:51
useStateRef hook
View use_state_ref.ts
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 / machine.js
Created April 14, 2021 06:22
Generated by XState Viz: https://xstate.js.org/viz
View machine.js
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 / Configure_script.sh
Last active March 2, 2021 07:23
Bazel openssl and postgres
View Configure_script.sh
#!/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 / circleci_default_checkout.sh
Created August 26, 2019 03:37
The default checkout step for CircleCI
View circleci_default_checkout.sh
#!/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 / scratch_server.go
Created March 12, 2019 07:40
A Go web server from scratch using syscalls
View scratch_server.go
package main
// Simple, single-threaded server using system calls instead of the net library.
//
// Omitted features from the go net package:
//
// - TLS
// - Most error checking
// - Only supports bodies that close, no persistent or chunked connections
// - Redirects
@jschaf
jschaf / BUILD
Last active April 16, 2017 08:56
Bazel Docker 64-byte repo name
View BUILD
load("@bazel_tools//tools/build_defs/docker:docker.bzl", "docker_build")
docker_build(
name = "hello",
base = "@official_ubuntu//image:image.tar",
cmd = ["echo", "hi"],
)
We couldn’t find that file to show.