Skip to content

Instantly share code, notes, and snippets.

@loganlinn
loganlinn / nanoid-collision-analysis.md
Last active December 12, 2025 23:26
Collision Risk Analysis for Nano ID Custom Alphabet Configuration

Collision Risk Analysis: customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', 15)

Configuration Summary

  • Alphabet: 0-9a-z (36 characters)
  • Length: 15 characters
  • Bits per character: log₂(36) ≈ 5.17 bits
  • Total entropy: 77.5 bits
  • Total possible IDs: 221,073,919,720,733,357,899,776 (~2.21 × 10²³)
@loganlinn
loganlinn / kysely-clickhouse-analysis.md
Created December 8, 2025 04:07
Analysis of kysely-clickhouse: Limitations, Implementation Completeness, Code Quality & ClickHouse SQL Support

Analysis of kysely-clickhouse Library

Comprehensive analysis of the kysely-clickhouse library addressing open questions about limitations, implementation completeness, code quality, and ClickHouse-specific SQL support.


1. Inherent Limitations of Using kysely-clickhouse vs Direct ClickHouse Client

Answer: There are NO inherent architectural limitations, but there ARE practical limitations due to incomplete implementation.

-- A lexical analyzer for simple shell-like syntaxes
-- Converted from Python's shlex module (cpython 3.14)
local M = {}
-- Helper: Create a string reader (like Python's StringIO)
local function StringReader(str)
local pos = 1
return {
read = function(self, n)
openapi: 3.0.3
info:
title: Amazon ECS Task Metadata Endpoint v4
description: |
The Amazon ECS Task Metadata Endpoint v4 provides metadata about tasks and containers running on Amazon ECS.
This endpoint is available inside containers via the `ECS_CONTAINER_METADATA_URI_V4` environment variable.
version: '4.0.0'
contact:
name: Amazon Web Services
url: https://aws.amazon.com/ecs/
#!/bin/sh
podman run \
--name homeassistant \
--hostname homeassistant \
--replace \
--detach \
--restart=unless-stopped \
--privileged \
--network=host \
--tz=local \
@loganlinn
loganlinn / gist:2e07e914439218dfbeb0670d40d86be1
Created January 24, 2024 09:50
Details! Profile Import String
T31EVTnss(pnhUDb2eW3p(t5y7eJylNZuzMDWzygkjkjUHIuljvC0EyYN9RQQFWMVKPDCMjz3maZmYsn7U6QRUQF1JU5D63n7UGDf5RssJXpM)P4IO00WfPXrfHzX3xLxSEtuz1DNCxWIODv7lIdlIJsXgVb))W3xUlonDbVrBtkxSmQkc)C0(c6)hNfxS(a(PLrBJwhdFQ6UGI87dxfTmomjd6TP63faFyQXDt1EPb(77sJoexeUmUkkjTm8(KSL53JJB5IiGAXhO8JWJeCw6NE)f3fmhO4Q4pJK4DbbF8qAswm2p48H1xLHra5VUiF)U7MFxW(syUaeruwY2OQK8SsKelI3LxufItUqOl(yj2u2GxYO389vCcg)KcfVnb6P9BdLCX8TZJQcRs2IKRgm9JJQ2ewLNNwLSdMrlR2C3utBn5OwLhE)M87caMDAuzziWAxuc9tEXYsCmDmyJmoI26(2M6g2CkW0f(Kj(j67SyTbiRP6woUYht0ChdrZfn2H1AhtzBPU0G3ME7AdG25TM3sDr)YBNUOH6YUTMMhQTQZY2tVMTfMBEYg7iBT7atod76zNhF2P3pnyn0eRhMG9rMBDAUJZXATSX4eM68JT21T1kCdtdp9UCKUpIV8rKR3Ed3ChTH4GDARTR7rwi7S2OiC3dJHEol2ZH9TN(rKt701whPXT6zdh7JWX70yNJj(1P1UhJx3P1hv0UJyOJ)GRmDARR2XiK2nxP1dR2P9QVUMXWm9M72C1hKYBXt01mhEXPvNAm4o4wIh6AwhHr3wHJR5XyDT6ALg3JmDhXuZJTFPdRW(iesl1zo6dYmAl1z7CK9kTxKR3R0PF70uRJSTQLexfAaeHGSpJmxhVennJgSbdQvPX4xMTmSmUam1gUlQa(eANEhyIF(8I4pLqg0Xop4(8I0LcBXjLHvfrLBOg)PDHrLC8aq3ppp)JBJk(iHIiSm5FHwTbR8s8bO544LHGzEOp(uCksUw23fa)1IpgMufVnmng)EOZjKcu7PPNDBJ
#!/usr/bin/env bash
run() {
while :; do
unset REPLY
printf %s "run $*? [Y/n/q] " > /dev/tty
read -r REPLY < /dev/tty
case ${REPLY:-y} in
[yY]*)
if ! "$@"; then
@loganlinn
loganlinn / alpha.clj
Last active December 3, 2022 10:25
Clojure C4 Model #hack
(ns c4.alpha
"A library for [C4 model](c4model.com)")
(declare rel)
(defrecord Shape [label description sprite tags link])
(def ^:dynamic *boundaries* (list))
(def ^:private hierarchy
(ns openmoji
(:require
[clojure.string :as str]
[clojure.data.csv :as csv]
[clojure.java.io :as io]
[babashka.fs :as fs]
[babashka.curl :as curl]
[clojure.string :as str]))
(defn download-data
(require
'[clojure.edn :as edn]
'[clojure.java.io :as io]
'[clojure.string :as str])
(defn read-workspace
([] (read-workspace "."))
([ws-dir]
(-> ws-dir