Skip to content

Instantly share code, notes, and snippets.

View ariel-frischer's full-sized avatar
:shipit:

Ariel Frischer ariel-frischer

:shipit:
View GitHub Profile
@ariel-frischer
ariel-frischer / spec-comparison-summary.md
Created December 23, 2025 20:17
Spec-Driven vs Prompt-Driven Development: Quick Summary

Spec-Driven vs Prompt-Driven Development: Quick Summary

Date: 2025-12-18 Model: Claude Opus 4.5 for both approaches Projects: 6 small-to-medium Go CLI tools (1-5k LOC each) Full Report: spec-comparison-projects.md


What is Spec-Driven Development?

@ariel-frischer
ariel-frischer / spec-comparison.md
Created December 19, 2025 06:52
Spec-Driven vs Prompt-Driven Comparison Report

Spec-Driven vs Prompt-Driven Comparison Report

Date: 2025-12-18
Last Updated: 2025-12-18 23:45 UTC
Model: Claude Opus 4.5 (claude-opus-4-5-20251101) for both approaches
Projects Evaluated: 6 projects (URL Shortener, Linkcheck, Git Hooks Manager, Env Validator, API Mock Server, Cron Parser)
Methods: autospec all (spec-driven) vs claude -p (prompt-driven)


@ariel-frischer
ariel-frischer / cliphist-secret-cleaner
Created December 12, 2025 20:43
Cliphist secret cleaner - auto-remove passwords from Wayland clipboard history
#!/bin/bash
# =============================================================================
# CLIPHIST SECRET CLEANER
# Auto-removes passwords/secrets from clipboard history after a configurable delay
# =============================================================================
#
# DESCRIPTION:
# Monitors cliphist for high-entropy strings (likely passwords) and
# automatically deletes them after a delay. Uses Shannon entropy and
# character diversity to detect secrets.

Canvas Animation to MP4 Recorder

A minimal, production-ready React component for recording HTML5 Canvas animations directly to MP4 using the WebCodecs API. Records at 10x faster than realtime with hardware acceleration.

Features

  • True MP4 output with H.264 codec (not WebM)
  • Hardware accelerated encoding via WebCodecs VideoEncoder
  • 10x faster than realtime (5 second video encodes instantly)
  • Frame-perfect recording - no dropped frames or timing issues
@ariel-frischer
ariel-frischer / toggle-recording.sh
Last active October 1, 2025 20:43
Wayland Screen Recording Toggle Script
#!/usr/bin/env bash
# ============================================================================
# Wayland Screen Recording Toggle Script
# ============================================================================
#
# Description:
# Toggle screen recording on/off with region selection for Wayland compositors
# (Hyprland, Sway, etc.). First press starts recording, second press stops it.
#
@ariel-frischer
ariel-frischer / lint-format-code.sh
Last active July 11, 2025 20:44
General Claude Code Lint+Format Hook
#!/bin/bash
# Claude Code PostToolUse Hook for Auto-formatting and Linting
#
# This script integrates with Claude Code's hook system to automatically
# format and lint files after they're edited or created.
#
# How it works:
# 1. Claude Code calls this script after Write/Edit/MultiEdit|Update operations
# 2. The script receives JSON input via stdin containing:
# - session_id: Current Claude session
@ariel-frischer
ariel-frischer / aws_cost_table.sh
Created March 8, 2025 07:12
aws bash script to get simple cost tables for the last 7 days
#!/usr/bin/env bash
set -euo pipefail
# Get cost and usage data from AWS Cost Explorer
result=$(aws ce get-cost-and-usage --no-cli-pager \
--time-period Start=$(date -d '7 days ago' '+%Y-%m-%d'),End=$(date '+%Y-%m-%d') \
--granularity DAILY \
--metrics "BlendedCost" "UsageQuantity" \
--group-by Type=DIMENSION,Key=SERVICE)
@ariel-frischer
ariel-frischer / aws_cost_table.sh
Last active February 23, 2025 06:55
Pretty print aws usage per service for last 7 days
#!/usr/bin/env bash
set -euo pipefail
# Get cost and usage data from AWS Cost Explorer
result=$(aws ce get-cost-and-usage --no-cli-pager \
--time-period Start=$(date -d '7 days ago' '+%Y-%m-%d'),End=$(date '+%Y-%m-%d') \
--granularity DAILY \
--metrics "BlendedCost" "UsageQuantity" \
--group-by Type=DIMENSION,Key=SERVICE)
@ariel-frischer
ariel-frischer / .zshrc
Created February 12, 2025 21:58
Fast and Easy AI Git ADD, COMMIT, PUSH alias 'ocp'
# Install + configure https://github.com/di-sukharev/opencommit
# Use ocp for quick git add + commit + push
function ocp() {
local remote="$1"
git add -A
oco --yes
if [ -n "$remote" ]; then
git push "$remote"
else
git push
@ariel-frischer
ariel-frischer / fzf-kitty-tabs.sh
Last active April 29, 2024 00:18
FZF usage for kitty go to terminal tabs
!/bin/sh
# Kitty fzf to tab!
# Author: Ariel Frischer
# Add below mapping to your kitty.conf file (usually in ~/.config/kitty/)
# map super+j launch --type=overlay --stdin-source=@screen_scrollback /PATH_OF_THIS_FILE/fzf-kitty-tabs.sh
active_tab="$(
kitty @ ls | jq -r '