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 / How I Do PlantUML.md
Last active March 20, 2025 15:40
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 / 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 / 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;

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 / 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"
@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 / manage-dir.sh
Last active August 29, 2015 14:08
Manage directories' files using a simple shell script! This script simply relocates files from a base directory to a subdirectory based on its file format.
#!/bin/bash
# A basic directory management script file.
# Add this to incron via incrontab -e with the IN_CLOSE_WRITE and IN_MOVED_TO flag.
# Usage: manage-dir.sh <file-to-process> <base-directory>
INCOMING="$1"
BASE_DIR="$2"
SUBFOLDER=""
ICON="/usr/share/icons/gnome/32x32/actions/document-save-as.png"
@jerieljan
jerieljan / config.yml
Created August 10, 2014 12:40
This is my personal Flexget configuration file. Simply follow the Flexget Installation Guide and apply this config to your ~/.flexget/ directory.
# Flexget Config
# @author jerieljan
templates:
anime:
inputs:
- rss: { url: 'http://www.nyaa.eu/?page=rss&cats=1_37&filter=2', silent: yes, ascii: yes }
- rss: { url: 'http://tokyotosho.info/rss.php?filter=1', silent: yes, ascii: yes }
series:
settings:
@jerieljan
jerieljan / Job.java
Created August 7, 2014 00:46
Dealing with long-running, processor-intensive tasks happen, and sometimes, requests for the same tasks get triggered and your system ends up attempting to process the -same- thing multiple times. JobManager is an attempt to resolve that by taking note of each Task<Result> as Jobs, which takes care of assigning future reattempts into existing Jo…
/*
* Job
* v1.0
* June 18, 2014
*
* Copyright 2014, Jeriel Jan del Prado
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
@jerieljan
jerieljan / facebook-css.css
Last active August 29, 2015 14:04
Facebook - No Right Column, Collapsed Left Column
#rightCol {
display:none !important;
}
#leftCol {
width:48px !important;
}
#leftCol:hover {
width:165px !important;