Skip to content

Instantly share code, notes, and snippets.

@jesse-c
jesse-c / crush.sh
Last active August 27, 2019 11:02
Use pngcrush to recursively optimise and replace PNGs (used on macOS)
#!/bin/sh
find "$1" -type f -iname '*.png' -print0 | while IFS= read -r -d '' file; do
echo "crushing $file"
pngcrush -rem alla -reduce -brute "$file" temp.png
mv -f temp.png "$file"
done
@jesse-c
jesse-c / waitforandfollow.sh
Created August 1, 2017 07:49
Wait for Docker container to start and immediately follow its logs
#!/bin/bash -e
# Example:
#
# 1. In a terminal window: ./waitforandfollow.sh hello-world
# 2. In another terminal window: docker run hello-world
if [ "$#" -ne 1 ] ; then
echo "$0: exactly 1 argument expected."
exit 3
@jesse-c
jesse-c / today.sh
Created January 25, 2020 13:45
Create a log entry for today
#!/bin/sh
mkdir -p ~/Documents/log/$(date +"%Y")/$(date +"%m")
echo "\n\n---\n\n" > ~/Documents/log/$(date +"%Y")/$(date +"%m")/$(date +"%y-%m-%d").txt
@jesse-c
jesse-c / empty.clj
Created September 6, 2022 09:29
using babashka for my Git worktree workflow
#!/usr/bin/env bb
(require '[babashka.fs :as fs]
'[babashka.process :as process])
; Get the final path name
(defn get-final-path-name []
(.toString (.getName (fs/cwd) (- (.getNameCount (fs/cwd)) 1))))
; Get the matching group that may have a worktree-type name