Skip to content

Instantly share code, notes, and snippets.

View keithchambers's full-sized avatar

Keith Chambers keithchambers

View GitHub Profile
#!/bin/bash
# Create directory structure
echo "Creating project directories..."
# Replaced nginx with traefik, added traefik config dir
mkdir -p otel-kafka-clickhouse-stack/{traefik/conf,otel-collector,clickhouse-init,kafka-data,clickhouse-data}
cd otel-kafka-clickhouse-stack || exit 1 # Exit if cd fails
# Create .env file for secrets and configs
#!/usr/bin/env python3
import argparse
import logging
import numpy as np
import pandas as pd
import pyarrow.parquet as pq
from pathlib import Path
from typing import Union
import random
@keithchambers
keithchambers / PROMPT
Last active February 24, 2025 15:58
Prompt for OpenAI's Deep Research to research a company for an open role
COMPANY=Fiddler AI
ROLE=Product Manager
You are a deep research reasoning model with the ability to access relevant and
up-to-date information from the web. Please produce a structured report for a
"{{ROLE}}" about the company named "{{COMPANY}}".
The report must include the following sections and details:
1. Company Overview
@keithchambers
keithchambers / mvsep-data-downloader.py
Created February 2, 2025 00:12
MVSep.com Data Downloader
import argparse
import json
import re
import sys
import threading
import time
from concurrent.futures import ThreadPoolExecutor, as_completed
from datetime import datetime
import requests
@keithchambers
keithchambers / -h | --help
Created January 28, 2025 03:34
YouTube Transcript Downloader
usage: yt-transcript-downloader.py [-h] [-k KEY] [-v VIDEO] [-c CHANNEL] [-p PLAYLIST] [-s SEARCH] [-o {relevance,date,rating,views}] [-m MAX_SIZE] [-a AGE]
Download YouTube transcripts and metadata in YAML format,
with an optional max YAML file size limit.
options:
-h, --help show this help message and exit
-k KEY, --key KEY YouTube API Key to use. Overrides YOUTUBE_API_KEY env variable if not set.
-v VIDEO, --video VIDEO
YouTube Video ID or URL
@keithchambers
keithchambers / copy-artwork.py
Last active January 26, 2025 18:29
Copy audio file ID3 and artwork
#!/usr/bin/env python3
import argparse
import io
import os
import sys
import mutagen
from mutagen.id3 import ID3, ID3NoHeaderError
from mutagen.id3 import error as ID3Error
from mutagen.mp3 import MP3
@keithchambers
keithchambers / macvolumes.go
Last active November 17, 2024 07:33
macvolumes
// macvolumes is a tool to classify macOS volumes by their physical connectivity
// and whether they are permanently installed or removable. It distinguishes between:
// - System volumes (the macOS boot volume)
// - Fixed volumes (built-in or permanently installed drives)
// - Removable volumes (external drives that can be disconnected)
//
// The tool uses macOS's standardized disk management structures to ensure
// consistent behavior across different Mac models.
package main
@keithchambers
keithchambers / LIMITS.md
Last active March 13, 2020 16:48
LIMITS.md

Limits for Microsoft Yammer

This article describes some of the limits that apply to Yammer.

Groups

Feature Maximum limit
Number of users per Office 365 Group 100,000
@keithchambers
keithchambers / rename-dirs.sh
Last active April 27, 2019 22:28
rename-dirs.sh
#!/bin/bash
IFS=$'\n'
FOLDERS=$(find ./ -type d | grep _\(WAVs\)_)
for FOLDER in ${FOLDERS}; do
MV_FOLDER=${FOLDER//_\(WAVs\)_}
MV_FOLDER=${MV_FOLDER//_/ }
echo "mv ${FOLDER} ${MV_FOLDER} "
@keithchambers
keithchambers / EXAMPLES.MD
Last active April 20, 2018 14:43
Job v2 CLI (WIP)

Set the job queue

$ dcos config set job queue https://dcos.sf.mesosphere.io/eng/dev/queue

Add a job defintion

$ vi job-0.yaml
name: job-0
job: