Skip to content

Instantly share code, notes, and snippets.

View color_stuff.js
(function() {
var color_stuff = function(selector,classes) {
var nth_of_type = function(len,i) {
return ':nth-of-type(' + len + 'n+' + i + ')'
};
var nested = function(c) {
return function() {
var cs = classes.filter(function(e) { return e !== c });
for (var i = 0; i < cs.length; i++)
$(this).children(selector + nth_of_type(cs.length,i))
@tron1point0
tron1point0 / Makefile
Created Feb 26, 2014
Merge multiple arrays.
View Makefile
merge: merge.c
$(CC) -std=c89 -Wall $^ -o $@
clean:
-rm merge
@tron1point0
tron1point0 / parse.pl
Created May 8, 2014
Java tokenizer/lexer/parser
View parse.pl
:- module(parse,[parse/3]).
:- use_module(library(utils)).
parse(Es) --> complation_units(Es).
compilation_units([E|Es]) --> compilation_unit(E), compilation_units(Es).
compilation_units([],A,A).
compilation_unit(unit(Unit)) -->
@tron1point0
tron1point0 / knapsack.hs
Created May 8, 2014
Bounded knapsack problem
View knapsack.hs
import Data.List
type Weight = Int
type Value = Int
type Item = (String,Weight,Value)
type Pack = ([String],Weight,Value)
knapsack :: (Pack -> Bool) -> [Item] -> [Pack]
knapsack f = sortBy (value) . filter (f) . map (foldl (pack) ([],0,0)) . tail . subsequences
where value (_,_,v1) (_,_,v2) = compare v2 v1
View Machine.java
import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Formatter;
public class Machine {
private Tape<Integer>[] tapes;
private int[] memory;
private final int scratch; // index of the scratch tape
View merge.c
#include <stdlib.h>
#include <stdio.h>
void swap(int32_t **a, int32_t **b) {
int32_t *tmp = *a;
*a = *b;
*b = tmp;
}
/* In-place update of subtree at `i` - O(log(n)) */
View Count.java
import java.util.Date;
public class Count {
static int[] _counts = {
0,1,1,2,
1,2,2,3,
1,2,2,3,
2,3,3,1
};
static int[] counts;
@tron1point0
tron1point0 / epoch.pl
Created Mar 2, 2012
You type stuff as arguments, it gives you the local time
View epoch.pl
#!/usr/bin/env perl
use v5.14;
use warnings;
use Time::Format qw(time_format);
use Time::ParseDate;
die <<END if $ARGV[0] && $ARGV[0] =~ m/-h(?:elp)?/;
$0: Fuzzy time conversion to localtime
View dotlan.js
// Raw SVG: http://evemaps.dotlan.net/svg/Branch.dark.svg
function system(name,fn) {
document.getElementsByClassName('ss').each(function(elem){
if(elem.textContent == name) fn.call(elem.parentElement)
});
}
system('D4R-H7',function(){this.getElementsByClassName('s')[0].style.fill = '#000000'});
@tron1point0
tron1point0 / planetary-interaction.hs
Created Mar 9, 2012
Look, ma, I made a database with a query language!
View planetary-interaction.hs
import Data.List
import Data.Maybe
input x = map (\(a,b) -> (a, b * x))
reduce :: [([Char], Integer)] -> [([Char], Integer)]
reduce = map (\(a,b) -> (head a, sum b)) . map (unzip) . group . sort
planet n = map (\(a,_) -> (n,a))
planets_for = foldl1
(\a b ->