Skip to content

Instantly share code, notes, and snippets.

@lomereiter
lomereiter / make_vapi.py
Created December 30, 2011 19:44
libmusicbrainz4: converting cinterface.xml to .vapi file
#!/usr/bin/env python
import xml.etree.ElementTree
# in order for this script to work, manually do the following:
# 1) delete extraneous 'uppername="PUID"' at line 205 of cinterface.xml
# 2) delete '------------ ... ----' lines (there're 2 of them)
def un_camel(text): # slightly modified piece of code from StackOverflow.com
result, length = "", len(text)
for pos in range(length):
@lomereiter
lomereiter / gist:1407085
Created November 29, 2011 23:13
flattening (C++11)
template <typename... T> struct type {};
struct A{}; struct B{}; struct C{}; struct D{}; struct E{}; struct F{};
struct G{}; struct H{}; struct I{}; struct J{}; struct K{}; struct L{};
struct M{}; struct N{}; struct O{}; struct P{};
typedef type<A, B, type<C, D>, type<E, F, type<G, H>, I, J>,
type<type<type<K, type<L>>, M>, N>, O, P> init;
typedef type<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> expected;
@lomereiter
lomereiter / priem_spbu.py
Created August 1, 2011 15:32
script for spbu applicants
# -*- coding: utf-8 -*-
from urllib2 import urlopen
import re
import time
class DegreeProgramInfo:
regexp = re.compile(
r"\d</td>\s*<td>\s*(\d+)</td>\s*(?:<td>[^<]*</td>\s*){5}<td>([^<]+)</td>",
re.MULTILINE | re.UNICODE)
def __init__(self, id, name, url, places):
@lomereiter
lomereiter / factorial.rb
Created July 31, 2011 16:35
fast factorial calculation in ruby
require 'numtheory' # gem install ruby-numtheory
def product(arr)
def rec_product(n, step, arr)
return arr[n] if step > n
newstep = step << 1
t = rec_product(n, newstep, arr) *
rec_product(n-step, newstep, arr)
return t
end
@lomereiter
lomereiter / clem_info.vala
Created June 13, 2011 12:01
getting info from clementine for conky via dbus
/* to compile:
valac --pkg gio-2.0 clem_info.vala
example of usage:
clem_info '${artist} - ${title}; elapsed: ${elapsed}/${time}'
*/
[DBus (name = "org.freedesktop.MediaPlayer")]
interface Player : Object {
public abstract HashTable<string, Variant> GetMetadata() throws IOError;