Skip to content

Instantly share code, notes, and snippets.

View clintandrewhall's full-sized avatar

Clint Andrew Hall clintandrewhall

View GitHub Profile

The Mandate Trap and 2028

Following the sweeping Democratic victory in the 2026 midterms, concerns regarding the "2028 Trap Theory"—the idea that a newly empowered legislative majority can stall out, face blame for institutional gridlock, and ultimately blow their momentum ahead of the next presidential cycle—rest on a well-established historical pattern often referred to as the "Mandate Trap". 1, 2, [3](/goto?url=CAESoAEBxCJF16txtg6S1USg3SvkJoTBX04dtKa4n3y7BGEUHGIItYzbm-iQ7TD6Jr5zvLc6IVirWwv5HFa5JaSOLRbVvdhfEZWdO5r7ATSn1lXb2yH3I7Kry4WfalUqjLl

@clintandrewhall
clintandrewhall / onyx_atem_parser_gist.py
Created September 18, 2026 18:46
Muse Glimmer (Onyx ATEM format) unified reasoning/tool parser for mlx-vlm / mlx-openai-server
"""Unified reasoning/tool parser for the Onyx ATEM recipient-routed format.
Used by Muse Glimmer (mlx-community/Muse-Glimmer-30B-4bit). This format is
harmony-adjacent but NOT OpenAI Harmony: it routes by *recipient*, not by
channel, and has no <|channel|> token at all. Raw assistant output looks like:
[<|start|>assistant] to=self<|message|>{reasoning}<|eom|>
<|start|>assistant to=user<|message|>{final answer}<|eot|>
and for tool calls:
@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",