Skip to content

Instantly share code, notes, and snippets.

View archagon's full-sized avatar

Alexei Baboulevitch archagon

View GitHub Profile
@archagon
archagon / video-to-ipad.py
Last active October 12, 2015 22:08
Quickly converts h264 videos into an iOS-compatible format by only re-encoding the audio. (I wasn't aware of any software that did this when I first wrote the script. Recently, I discovered that MP4tools does the job quite nicely, and additionally Subler works great for retrieving metadata and converting subtitles. As a result, I'm abandoning wo…
#!/usr/bin/python
# This script takes a video and remuxes it as an iOS-compatible video, re-encoding the audio if necessary.
# Note that the video WILL NOT be re-encoded. The script will fail if the video is not h264.
#
# Requires ffmpeg, ffprobe, and afconvert to be installed.
import re
import os
import sys
@archagon
archagon / gdc-downloader.py
Last active March 21, 2024 19:04
A quick and dirty script to download GDC Vault videos.
# GDC Vault videos can't be watched on mobile devices and this is a very sad thing indeed!
# (Note: this has changed for GDC2013, which lets you watch raw MP4 streams. Kudos!)
# This script is designed to circumvent this by downloading the lecture and slideshow
# videos which can then be re-encoded into whatever format you wish. Obviously, you
# won't be able to do this without access to the Vault. This is strictly for the
# convenience of legitimate Vault users!
# Note: this code is rather flimsy and was written as fast as possible for my own personal use.
# The code only works for the most recent GDC Vault videos, since they all use the same player
# format. If the XML format used to run the player is changed (as it has in the past), the code
@archagon
archagon / playlist-to-podcast.py
Created September 28, 2012 07:03
A script that downloads videos from YouTube playlists, extracts their audio, and only downloads missing files each time it's run. Also generates an iTunes-compliant podcast xml file for private hosting purposes. Requires youtube-dl, ffmpeg, and ffprobe.
# YouTube playlist audio retreiver and iTunes-compliant podcast XML generation tool.
# This script will download each video file from the specified YouTube playlist, losslessly extract
# the audio, delete the video, and ultimately produce an iTunes-compliant podcast XML with the
# appropriate metadata, including chapter markers (if provided in the description). If you run the
# script again, only videos that haven't already been converted will be downloaded, allowing you to
# schedule the script to run as often as needed without stressing your internet connection or
# hard drive space. After generating the files and xml, you can easily host them on a local server
# in order to use them with iTunes or your favorite podcast aggregator -- but that's beyond this
# script's jurisdiction.
@archagon
archagon / quine.m
Created June 14, 2012 19:49
My first quine.
#include <stdio.h>
#include <string.h>
int main(void)
{
char* code = "#include <stdio.h>\n#include <string.h>\n\nint main(void)\n{\n char* code = \"%s\";\n\n int len = strlen(code);\n int tokenStarted = 0;\n for (int i = 0; i < len; i++)\n {\n char c = code[i];\n\n if (tokenStarted == 1)\n {\n if (c == 's')\n {\n for (int j = 0; j < len; j++)\n {\n char d = code[j];\n\n if (d == '\\n')\n {\n putchar('\\\\');\n putchar('n');\n }\n else if (d == '\\\"')\n {\n putchar('\\\\');\n putchar('\\\"');\n }\n else if (d == '\\\\')\n {\n putchar('\\\\');\n putchar('\\\\');\n }\n else\n
import sys
import operator
import os
from random import shuffle
def main(args):
try:
if (len(args) == 2):
data = parse(args[1])
rank(data)