Skip to content

Instantly share code, notes, and snippets.

View jdx's full-sized avatar
⚜️
mise-en-place!

jdx

⚜️
mise-en-place!
View GitHub Profile
# this is an example "usage" definition
# it defines a subset of the tool "rtx". What syntax it uses for CLI arguments
# as well as how it interacts with env vars and config files
# usage can be thought of as "swagger for CLIs"
# The purpose is that having a language-agnostic definition for CLIs we can
# build tools like generic autocompletion (so you don't need to learn how to write complex bash/zsh completions)
# It would also allow us to build documentation tools (browser or CLI), scaffold out CLIs, and build
# parsing/validation libraries to make CLI development faster.
# CLI parsing starts here. This is close, but probably not identical to docopt.
# Generated by rust2rpm 24
%bcond_without check
%global debug_package %{nil}
%global crate gumdrop_derive
Name: rust-gumdrop_derive
Version: 0.8.1
Release: %autorelease
Summary: Custom derive support for gumdrop
@jdx
jdx / boot.js
Last active March 16, 2023 18:08
zero-downtime node.js app runner
// This script will boot app.js with the number of workers
// specified in WORKER_COUNT.
//
// The master will respond to SIGHUP, which will trigger
// restarting all the workers and reloading the app.
var cluster = require('cluster');
var workerCount = process.env.WORKER_COUNT || 2;
// Defines what each worker needs to run
@jdx
jdx / client.go
Last active November 11, 2022 10:51
basic IPC example connecting node and golang together with unix socket (named pipe)
package main
import (
"io"
"log"
"net"
"time"
)
func reader(r io.Reader) {

builtin

  • Tab completes the current token. Shift, Tab completes the current token and starts the pager's search mode.
  • Alt+←,Left and Alt+→,Right move the cursor one word left or right (to the next space or punctuation mark), or moves forward/backward in the directory history if the command line is empty. If the cursor is already at the end of the line, and an autosuggestion is available, Alt+→,Right (or Alt+F) accepts the first word in the suggestion.
  • Shift,←,Left and Shift,→,Right move the cursor one word left or right, without stopping on punctuation.
  • ↑ (Up) and ↓ (Down) (or Control+P and Control+N for emacs aficionados) search the command history for the previous/next command containing the string that was specified on the commandline before the search was started. If the commandline was empty when the search started, all commands match. See the history section for more information on history searching.
  • Alt+↑,Up and Alt+↓,Down search the command history for the previous/next token containing th
@jdx
jdx / pg_perf.sql
Last active February 8, 2021 05:35
PostgreSQL performance queries
/* index performance */
SELECT
relname,
100 * idx_scan / (seq_scan + idx_scan) percent_of_times_index_used,
n_live_tup rows_in_table
FROM
pg_stat_user_tables
WHERE
seq_scan + idx_scan > 0
ORDER BY
<!--{
"Title": "Go 1.15 Release Notes",
"Path": "/doc/go1.15"
}-->
<!--
NOTE: In this document and others in this directory, the convention is to
set fixed-width phrases with non-fixed-width spaces, as in
<code>hello</code> <code>world</code>.
Do not send CLs removing the interior tags from such phrases.
-->
--- Actions ---
$Copy <M-C>
$Cut <M-X> <S-Del>
$Delete <Del> <BS> <M-BS>
$LRU
$Paste <M-V>
$Redo <M-S-Z> <A-S-BS>
$SearchWeb
$SelectAll <M-A>
$Undo <M-Z>
#!/bin/bash
set -euo pipefail
# Downloads a node tarball from https://nodejs.org/dist/ and extracts just
# the binary into the current directory. Chiefly we use this to get a node
# binary for uploading to manifold.
if [[ $# -ne 4 ]]; then
echo "USAGE: $0 <node_version> <os> <arch> <filename>"
exit 1
#!/bin/bash
set -euxo pipefail
# Downloads a node tarball from https://nodejs.org/dist/ and extracts just
# the binary into the current directory. Chiefly we use this to get a node
# binary for uploading to manifold.
if [[ $# -ne 4 ]]; then
echo "USAGE: $0 <node_version> <os> <arch> <filename>"
exit 1