Skip to content

Instantly share code, notes, and snippets.

View jerieljan's full-sized avatar

Jeriel Jan del Prado jerieljan

View GitHub Profile
@jerieljan
jerieljan / simple-sync
Last active August 29, 2015 14:17
A simple shell script that consistently observes a directory and synchronizes its contents when changes are found, using rsync's one-way sync.
#!/bin/sh
## A simple shell script that consistently observes a directory and synchronizes its contents when changes are found, using rsync's one-way sync.
## Most of the heavy lifting is really done by rsync, so what this script provides is just convenience over cron, notifications (if you have notify-pb) and rsync not being spammed by said cron job through a simple lockfile.
## simple-sync requires rsync, notify-pb (Pushbullet) and preferably run by a scheduler such as cron.
# Core variables
SYNC_HOME='/home/user'
SYNC_SOURCE='user@server.com:/path/to/source/*'
SYNC_DESTINATION="${SYNC_HOME}/path/to/destination/"
@jerieljan
jerieljan / splice-video.sh
Last active August 7, 2016 03:36
This simple script splices a video file "trimmed.mkv" into multiple videos--defined by X-count and Y-count of screens. Requires ffmpeg.
#!/bin/bash
# This script splices a movie file into multiple parts.
# First parameter for the number of X screens
# Second parameter for the number of Y screens
X_COUNT=$1
Y_COUNT=$2
FILENAME="trimmed.mkv"

Keybase proof

I hereby claim:

  • I am jerieljan on github.
  • I am jerieljan (https://keybase.io/jerieljan) on keybase.
  • I have a public key ASCF6k9MLYGsujm1UDnNb8A1F6Qon0h2e5DNSlAWYJEkiwo

To claim this, I am signing this object:

@jerieljan
jerieljan / ps3shot.sh
Created November 17, 2016 00:52
A simple script for processing screenshots taken with a PS3. Images are cropped (custom for me, edit it to fit your needs), files are renamed and modification dates are retained in a correct sequence.
#!/bin/bash
# This simple script processes screenshots taken with a PS3 and does multiple things:
# - Crops the image to a preferred size (this depends on the game used, remove if desired, or adjust as needed.)
# - Renames all images by sequence, sorted by modification date (dates are copied to the new files)
# Prepare a file list, sorted by modification date.
rm FILELIST 2>/dev/null
ls -tdr1 *.png > FILELIST;
@jerieljan
jerieljan / archive-lepton.sh
Created April 10, 2017 02:18
A simple script for processing a directory of PNG images converted to JPG and compressed to Lepton and renamed into a sequence while retaining the modification dates.
#!/bin/bash
# This simple script processes screenshots taken with a PS3 and does multiple things:
# - Changes all PNG files to JPG using imagemagick
# - Compresses all files into Lepton-format images
# - Reapplies the original modification date for metadata retention.
# Prepare a file list, sorted by modification date.
rm FILELIST 2>/dev/null
ls -tdr1 *.png > FILELIST;
@jerieljan
jerieljan / How I Do PlantUML.md
Last active January 1, 2024 06:23
PlantUML with Style -- How I do PlantUML

I use PlantUML a lot. It's what I use for drawing all sorts of diagrams and it's handy because of its easy markup (once you get used to it) while making things easy to maintain as projects grow (thanks to version control)

This gist explains how I do my PlantUML workspace in a project.

  • The idea is to keep a globals directory for all diagrams to follow (like the "stylesheet" below) to keep things consistent.
  • I use a stylesheet.iuml file that keeps the use of colors consistent through use of basic FOREGROUND, BACKGROUND and ACCENT colors.
  • The style-presets.iuml file defines these colors so you can make "presets" or "themes" out of them.
  • As stated in the stylesheet.iuml, you'll need the Roboto Condensed and Inconsolata fonts for these to work properly.
  • You can choose to either run the PlantUML jar over your file/s, or use an IDE like VSCode with the PlantUML extension. Here's a preview of example-sequence.puml for example: https://imgur.com/Klk3w2F
@jerieljan
jerieljan / Smarter-Better-Diagrams.md
Last active December 12, 2018 02:56
This quick little guide lets you export and share vector diagrams that can be panned, zoomed and loads custom fonts from the web, like Google Fonts. Perfect for sharing detailed diagrams to people without compromising quality and convenience.

Sharing Smarter and Better Diagrams

Exporting diagrams and sharing them is just business as usual; especially if it comes in PNG or JPG.

But what if you could make them better?

Well, yeah, you can by exporting them to a vector format like SVG or a PDF document. That way, details are drawn in 2D points and math and won't lose any detail if you zoom in.

@jerieljan
jerieljan / Test.kt
Created March 6, 2019 02:45
Jackson + Kotlin makes easy work with JSON.
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
/**
*
*
* Date: 2019-03-05
* Time: 11:03 AM
* @author jerieljan
*/
@jerieljan
jerieljan / btt-screenshot.sh
Created May 22, 2021 13:32
Screenshot OCR with BetterTouchTool on MacOS
#!/usr/bin/env bash
# Usage:
# - Install `tesseract` with `brew install tesseract`
# - In BetterTouchTool, create a trigger of your choice.
# (I recommend a Keyboard Shortcut with Cmd+Shift 6)
# - Add an Execute Shell Script / Task action
# - Paste this script.
# NOTE: You'll need to authorize BTT to the Screen Recording permission in Security and Privacy at System Preferences
#!/usr/bin/env bash
###
# whisper-cpp - a shell script that easily creates subtitles out of movie files and muxes them.
#
# Requirements
# - ffmpeg
# - whisper.cpp
# - Make sure to run https://github.com/ggerganov/whisper.cpp#quick-start first!
#