Skip to content

Instantly share code, notes, and snippets.

View clintandrewhall's full-sized avatar

Clint Andrew Hall clintandrewhall

View GitHub Profile
@clintandrewhall
clintandrewhall / on-programming.md
Created February 18, 2026 03:02
A reminder of "the why".

The Joys of the Craft

Why is programming fun? What delights may its practitioner expect as his reward?

First is the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. I think this delight must be an image of God's delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake.

Content List Production Plan

Summary

This plan splits the 55,000+ line Content List PR into 18 reviewable PRs organized by feature. Each PR delivers a complete feature across all layers (provider, hooks, components, tests), making reviews focused and incremental.

Approach:

  • 12 sequential feature PRs build the Content List architecture incrementally
  • 6 migration PRs replace TableListView in existing consumers (Graph, Maps, Files, Event Annotations, Visualizations, Dashboard)
@clintandrewhall
clintandrewhall / stacked-prs.md
Created January 4, 2026 16:39
Stacked PRs - Machete + GH

Stacked PRs Cheat Sheet: Fork Edition

Tools: git-machete + GitHub CLI (gh)

1. Setup (One-Time)

Install tools and create aliases to speed up the "Draft & Wait" workflow.

# Install Machete
brew install git-machete
@clintandrewhall
clintandrewhall / resizeable_button.tsx
Created May 6, 2025 13:52
Hacked-up version of resizeable button for Kibana Chrome
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the "Elastic License
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
* Public License v 1"; you may not use this file except in compliance with, at
* your election, the "Elastic License 2.0", the "GNU Affero General Public
* License v3.0 only", or the "Server Side Public License, v 1".
*/
import React, {
@clintandrewhall
clintandrewhall / use_undo_redo.ts
Created November 19, 2021 20:38
React Hook - undo/redo
import { useReducer, useCallback, Reducer } from 'react';
interface State<T = string> {
past: T[];
present: T;
future: T[];
}
interface Action<T> {
type: 'UNDO' | 'REDO' | 'SET' | 'CLEAR';
/*! Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one or more contributor license agreements.
* Licensed under the Elastic License 2.0; you may not use this file except in compliance with the Elastic License 2.0. */
(window.canvas_bundle_jsonpfunction=window.canvas_bundle_jsonpfunction||[]).push([[5],{177:function(module,exports,__webpack_require__){"use strict";var memo,isOldIE=function(){return void 0===memo&&(memo=Boolean(window&&document&&document.all&&!window.atob)),memo},getTarget=function(){var memo={};return function(target){if(void 0===memo[target]){var styleTarget=document.querySelector(target);if(window.HTMLIFrameElement&&styleTarget instanceof window.HTMLIFrameElement)try{styleTarget=styleTarget.contentDocument.head}catch(e){styleTarget=null}memo[target]=styleTarget}return memo[target]}}(),stylesInDom=[];function getIndexByIdentifier(identifier){for(var result=-1,i=0;i<stylesInDom.length;i++)if(stylesInDom[i].identifier===identifier){result=i;break}return result}functi
@clintandrewhall
clintandrewhall / webpack.config.js
Created April 12, 2020 17:23
tiny-json-http/issues/14 example
const path = require('path');
const fs = require('fs');
const CopyPlugin = require('copy-webpack-plugin');
const lib = path.resolve(__dirname, 'lib/http');
const entry = {};
const copies = [];
const externals = { '@architect/functions': 'commonjs @architect/functions' };
fs.readdirSync(lib).forEach((mod) => {
@clintandrewhall
clintandrewhall / workpad.json
Last active July 3, 2019 17:00
Carousel using Markdown in Kibana Canvas
{
"css": ".canvasPage {\n\n}",
"id": "workpad-437c9656-65f8-4078-9569-a3fa6b53cdaf",
"name": "Carousel in Markdown",
"width": 1080,
"height": 720,
"page": 0,
"pages": [
{
"id": "page-b58842df-918e-4580-91fe-5890fa735703",

Keybase proof

I hereby claim:

  • I am clintandrewhall on github.
  • I am clintandrewhall (https://keybase.io/clintandrewhall) on keybase.
  • I have a public key whose fingerprint is 3BCF 4721 5A0B 9CFE E2B2 4951 8916 FEB0 5981 1AEF

To claim this, I am signing this object:

Verifying I am +clint on my passcard. https://onename.com/clint