Skip to content

Instantly share code, notes, and snippets.

Avatar

kageru

View GitHub Profile
@kageru
kageru / README.md
Last active Jul 8, 2020
Standalone script using Vapoursynth to determine the original resolution of scaled images or videos.
View README.md

This version is deprecated

I’ve stopped updating this a while ago because some people made a proper respository with a few necessary fixes and changes. Just get this version from now on: https://github.com/Infiziert90/getnative

View kagefunc.py
"""
This project was moved to https://github.com/kageru/Irrational-Encoding-Wizardry.
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
@kageru
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 Int.to(other: end) = RangeTuple(this, Int.MAX_VALUE)
View openvpn-install-arch.sh
#!/bin/bash
#
# Original: https://github.com/Nyr/openvpn-install
#
# 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"
exit
@kageru
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
#!/bin/bash
# Move/rename a file/folder and change all m3u playlists in $playlists accordingly
# Usage:
# $ mv3u old_filename "new filename"
# change this
playlists='/path/to/your/playlists'
src="$1"
@kageru
kageru / mkvmerge-audiocut.py
Created Jan 28, 2018
just converts framenumbers to split parts for now
View mkvmerge-audiocut.py
#!/usr/bin/env python3
"""
Just very basic for now. It only prints an mkvmerge command.
TODOs:
- 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
kageru / pydie.py
Last active Jan 17, 2018
digital die, just paste in into the python/ipython shell
View pydie.py
from random import randint
from functools import partial
def d(m, n=1):
s = 0
print(f'{n}d{m}')
for _ in range(n):
r = randint(1, m)
s += r
print(r)
@kageru
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
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
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
type
Direction = enum
up = 0, left = 1, down = 2, right = 3
Grid = seq[seq[char]]
You can’t perform that action at this time.