Difference between revisions of "Hacks"

From Jon's Wiki
Line 92: Line 92:
 
  sudo apt install shntool
 
  sudo apt install shntool
 
  shnsplit -o flac cdimage.flac -f cdimage.cue -t '%n.%t'
 
  shnsplit -o flac cdimage.flac -f cdimage.cue -t '%n.%t'
 +
 +
You may need to do tags again, if they didn't stick:
 +
 +
sudo apt install cuetools
 +
cuetag cdimage.cue *.flac

Revision as of 12:27, 24 July 2019

Image renaming by create date

When you have a bunch of files from your old Android phone with a timestamp filename (e.g. 1388042328550.jpg), you can rename them thus:

for f in 1*.jpg; do
  mv $f $(date +IMG_%Y%m%d_%H%M%S.jpg -d @$(echo $f|cut -c 1-10))
done

Otherwise, we can fish out the Create Date from the EXIF data, using exiftool:

exiftool '-FileName<CreateDate' -d %Y%m%d_%H%M%S%%-c.%%e .

Repair broken or rotated phone videos

You can fix broken video .tmp files from your Android phone using untrunc. This will create a fixed.mp4 file in cwd:

untrunc working_video_from_the_same_camera.mp4 broken.mk4.tmp

Did your phone unhelpfully rotate your video? Fix the metadata:

ffmpeg -i original.mp4 -acodec copy -vcodec copy -metadata:s:v:0 rotate=0 unrotated.mp4

Or, did you actually film your shit the wrong way up? You'll need to re-encode it:

ffmpeg -i original.mp4 -acodec copy -vcodec libx264 -crf 20 -metadata:s:v:0 rotate=0 unrotated.mp4

Export your photos

Before uploading your photos, remove all the EXIF tags, and reduce the resolution; nobody needs 5000x4000 pixels, much less corporations hoovering up your stuff to put in adverts.

mkdir tmp
for f in $.jpg; do
  convert -resize 1600x1200 $f tmp/$f
  exiftool -all= -P -overwrite_original tmp/$f
done

Clean out your revoked and expired PGP keys

Spring-clean your gpg database, make it go faster. Just go:

gpg --delete-keys `gpg --list-keys|grep -P 'revoked|expired'|awk -F/ '{print $2}'|awk '{print $1}'`

Obviously. If you can't be arsed confirming each key, add --batch --yes to the first gpg call.

Firefox opening your shit in gedit

I don't know, who thought that was a good idea? Jesus.

sed -i 's#.*octet-stream.*#application/octet-stream=xdg-open#' ~/.local/share/applications/mimeapps.list ~/.config/mimeapps.list

GNOME not sorting your folders first

It's not in a dialog anywhere, and a pretty lame default behaviour.

dconf write /org/gnome/nautilus/preferences/sort-directories-first true

Restoring huge databases to PostgreSQL

Skip some huge tables by dumping the TOC, removing culprit large tables, and restore with the edited TOC, e.g.

pg_restore -l huge.dump > TOC
# edit the TOC file...
pg_restore -L TOC -d dbname huge.dump

Output PostgreSQL queries to CSV

COPY (SELECT <query> ...) TO STDOUT CSV HEADER;

Turn off the shitty default "visual" mouse mode in vim

Christ. Add set mouse-=a to ~/.vimrc

Too many leftover git branches merged into master? Nukem!

This will remove any branches on your local git repo that have been merged to master.

for i in $(for b in $(git branch|grep -v '\*'); do git branch $b --merged master; done); \
    do git branch -D $i; \
done

Move your MySQL databases

Used to be you could move your /var/lib/mysql directory somewhere else and symlink it. You can, but in newer distros with Apparmor you'll need to declare it:

# In /etc/apparmor.d/tunables/alias
alias /var/lib/mysql/ -> /mnt/wherever/mysql/,

Note the trailing comma.

Split audio CD rips using the cue file

Single-file FLAC or Ape files of a CD can be split up using the .cue file for both the timestamps and the tagging data. Also, install flacon (from a PPA).

sudo apt install shntool
shnsplit -o flac cdimage.flac -f cdimage.cue -t '%n.%t'

You may need to do tags again, if they didn't stick:

sudo apt install cuetools
cuetag cdimage.cue *.flac