Hacks

From Jon's Wiki
Revision as of 03:31, 3 May 2017 by Johnno (talk | contribs)

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.

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

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=gnome-open.desktop#' ~/.local/share/applications/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