Skip to content

Instantly share code, notes, and snippets.

View jonmagic's full-sized avatar

Jonathan Hoyt jonmagic

View GitHub Profile

github-conversations-research-agent — deep-dive, cite-everything analysis

A multi-turn agent that combines semantic + keyword search over any set of repos or conversations. Prereqs:

  1. Vector store – start a local Qdrant container (scripts/start-qdrant). Qdrant’s Docker quick-start makes this trivial ([Qdrant][2]).

  2. Index oncescripts/index-repo org/repo ingests conversation summaries into the collection.

    # Fetches and caches the complete conversations and then indexes the executive summaries
on run
repeat
tell application "System Events"
tell process "zoom.us"
try
set transcriptButton to first button of front window whose description is "Save transcript"
click transcriptButton
on error
-- Silently continue if button not found (maybe not in a meeting)
end try
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
<script>
mermaid.initialize({ startOnLoad: false });
document.addEventListener("DOMContentLoaded", () => {
document.querySelectorAll('code.language-mermaid').forEach((codeBlock, index) => {
const parent = codeBlock.parentElement;
const container = document.createElement('div');
container.className = 'mermaid';
container.innerHTML = codeBlock.textContent;
// package.json
{
"name": "<project-name>",
"version": "1.0.0",
"author": "Jonathan Hoyt <[email protected]>",
"license": "ISC",
"type": "module",
"scripts": {
"dev": "tsx watch src/index.ts",
"start": "tsx src/index.ts"

🪱 3-Tier Worm Composter Setup & Maintenance Guide

🧱 Initial Setup

  1. Bottom Tier (Leachate Collection):
    • This tier does not get bedding, food scraps, or worms intentionally.
    • Its sole purpose is to collect leachate ("worm tea") from the upper composting trays.
    • Do not add newspaper, cardboard, or soil here.
    • Optional: Add twigs, mesh, or screen to help any wandering worms climb back up.
  • Ensure the spigot is open occasionally or place a container underneath to collect liquid.

Cambodian-Thai–Style Drunken Noodles

Based on the dish at Cambodian Thai in South Bend Indiana which I crave on the regular since moving to California in 2012.

Servings: 2 large portions
Scale up as needed.


1. Gather Your Ingredients

require "benchmark"
require "delegate"
require "forwardable"
class Person
def initialize(name, ip)
@name = name
@ip = ip
end
class Reputation
class Error < StandardError; end
def initialize(sample_size:, not_spammy_sample_size:)
@sample_size = sample_size
@not_spammy_sample_size = not_spammy_sample_size
end
attr_reader :sample_size
attr_reader :not_spammy_sample_size
@jonmagic
jonmagic / red_green.ino
Last active July 21, 2019 17:41
Program for red and green light interactive alarm clock.
#include <math.h>
int BUTTON = D0;
int GREEN_LED = D1;
int RED_LED = A4;
int buttonState = 0;
// Takes the current hour (0-23) and multiplies it by 60 (minutes) and then
// adds the minutes after the hour (0-59.
# List unique values in a DataFrame column
# h/t @makmanalp for the updated syntax!
df['Column Name'].unique()
# Convert Series datatype to numeric (will error if column has non-numeric values)
# h/t @makmanalp
pd.to_numeric(df['Column Name'])
# Convert Series datatype to numeric, changing non-numeric values to NaN
# h/t @makmanalp for the updated syntax!