Skip to content

Instantly share code, notes, and snippets.

View joshuatvernon's full-sized avatar
😴

Joshua Vernon joshuatvernon

😴
  • Netflix
  • Los Angeles, California
View GitHub Profile
@joshuatvernon
joshuatvernon / README.md
Created April 24, 2026 18:42
Interactive CLI support for Cursor agents (terminalcp + DSR workaround)

Interactive CLI Support for Cursor Agents

Drive any interactive CLI tool (newt init, npm init, gt submit, ssh, docker login, etc.) from a Cursor agent using a PTY-based MCP server.

The Problem

Cursor agents can't handle interactive CLI prompts natively. When a tool like newt init asks "What type of component?", the agent has no way to respond. This setup solves that.

Setup (3 steps)

@joshuatvernon
joshuatvernon / GoogleMeetShortcuts.user.js
Last active March 4, 2021 04:10
Add shortcuts to Google Meet
// ==UserScript==
// @name GoogleMeetShortcuts
// @namespace joshuatvernon
// @version 1.1.3
// @description Add shortcuts to Google Meet
// @author Joshua Vernon
// @match https://meet.google.com/*
// ==/UserScript==
// Instructions:
# Your init script
#
# Atom will evaluate this file each time a new window is opened. It is run
# after packages are loaded/activated and after the previous editor state
# has been restored.
#
# An example hack to log to the console when each text editor is saved.
#
# atom.workspace.observeTextEditors (editor) ->
# editor.onDidSave ->
@joshuatvernon
joshuatvernon / functional-quicksort.py
Last active September 5, 2017 03:07
A functional quicksort
from random import randint
# Quicksort with starting index as pivot
def qsort(items):
if len(items) < 2:
return items
pivot = items[0]
left = list(filter(lambda x: x <= pivot, items[1:]))
right = list(filter(lambda x: x > pivot, items[1:]))
return qsort(left) + [pivot] + qsort(right)