Skip to content

Instantly share code, notes, and snippets.



View GitHub Profile
kageru /
Last active Jan 28, 2017 — forked from FichteFoll/
Snap start and end times of ASS subtitles to scene changes using WWXD
#!/usr/bin/env python3.6
"""Snap start and end times of ASS subtitles to scene changes using WWXD.
Does not work with variable frame rate (VFR).
usage: [-h] [--epsilon EPSILON] [-o OUTPUT] [-v]
sub_path video_path
kageru / day19.nim
Created Dec 20, 2017
Day 19 of the Advent of Code in nim (both parts)
View day19.nim
import sequtils
import future
import nre except toSeq
Direction = enum
up = 0, left = 1, down = 2, right = 3
Grid = seq[seq[char]]
kageru / day8.nim
Created Dec 20, 2017
Day 8 of the Advent of Code in nim (only the first part)
View day8.nim
import tables
import nre
import strutils
let pattern = re"(?<target>\w+)\s(?<opcode>(inc|dec))\s(?<value>-?\d+)\sif\s(?<comptarget>\w+)\s(?<compop>(<|>|==|!=|<=|>=))\s(?<comp2>-?\d+)"
var registers = initTable[string, int]();
kageru / day20.nim
Created Dec 21, 2017
Advent of Code Day 20 in nim (only the first part)
View day20.nim
import strutils
import future
import nre
# 3-dimensional vector type with attributes for x, y, and z
# Mainly used for readability
type Vector = object
x, y, z: int
kageru /
Last active Jan 17, 2018
digital die, just paste in into the python/ipython shell
from random import randint
from functools import partial
def d(m, n=1):
s = 0
for _ in range(n):
r = randint(1, m)
s += r
kageru /
Created Jan 28, 2018
just converts framenumbers to split parts for now
#!/usr/bin/env python3
Just very basic for now. It only prints an mkvmerge command.
- properly get input file (or get it at all, lul)
- do the splitting for the user
- actually parse vs scripts
- get delay from source file (and --sync the output)
- add pluses automatically so you only get one file
kageru / mv3u
Last active Feb 15, 2018
A simple script to move/rename a file/folder and change m3u playlist entries accordingly. Portmanteau of mv and m3u
View mv3u
# Move/rename a file/folder and change all m3u playlists in $playlists accordingly
# Usage:
# $ mv3u old_filename "new filename"
# change this
# Original:
# Copyright (c) 2013 Nyr. Released under the MIT License.
# Minor changes by kageru to make the script run on Arch.
if [[ "$EUID" -ne 0 ]]; then
echo "Sorry, you need to run this as root"
kageru / kotlin-python-slice.kt
Created Jul 2, 2019
Mainly a proof of concept. There are better ways to do this, but it was a quick experiment to create something like Python’s slicing in Kotlin.
View kotlin-python-slice.kt
import kotlin.math.min
object start {
infix fun to(other: Int) = RangeTuple(0, other)
infix fun to(other: end) = RangeTuple(0, Int.MAX_VALUE)
object end
infix fun end) = RangeTuple(this, Int.MAX_VALUE)
This project was moved to
Don't expect this gist to be updated regularly.
import vapoursynth as vs
import mvsfunc as mvf
import fvsfunc as fvf
from functools import partial
You can’t perform that action at this time.