J—P

Currently accepting new projects and available for hire.

Find Dirty Git Repositories

A tiny shell script that recursively scans a directory for Git repositories with uncommitted changes, nicknamed dirgit—a play on words combining "directory", "dirty", and "git".

#!/bin/bash

# Use current directory or first argument
ROOT="${1:-$(pwd)}"

# Find all Git repositories and check for dirty state
find "$ROOT" -type d -name ".git" 2>/dev/null | while read -r gitdir; do
    repo="$(dirname "$gitdir")"
    cd "$repo" || continue
    if [[ -n $(git status --porcelain) ]]; then
        echo "$repo"
    fi
done

Save it as dirgit (or any name you prefer), make it executable (chmod +x dirgit), and place it in /usr/local/bin or ~/bin to use it globally.

Usage

dirgit         # scan current directory
dirgit ~/code  # scan a specific directory

How to Reset a Single File in Git

If you've made changes to a file and want to discard them, you can use git checkout to restore it to the version from the last commit. This is useful when you want to undo changes that haven't…

Adjust Color Opacity

Easily create a semi-transparent version of any color using color-mix(). This CSS function blends two colors in a specified ratio. In this example, currentColor is mixed with transparent at 50…

Convert Image to WebP

Quickly convert a PNG image to the modern WebP format using the cwebp CLI tool. This command sets the output quality to 80%, striking a good balance between file size and visual clarity…