Skip to content

Instantly share code, notes, and snippets.

@tron1point0
tron1point0 / keymap.pl
Created September 24, 2012 04:50
Generates a keyboard map given a list of keybinds
#!/usr/bin/env perl
use strict;
use warnings;
use Template::Toolkit::Simple;
use YAML qw(Load);
my %config = Load do {local $/;<DATA>};
@tron1point0
tron1point0 / fizzbuzz.hs
Created June 19, 2012 01:14
Point-free style, monads, arrows, and a partridge in a pear tree
import Control.Monad
import Control.Arrow
import Data.Monoid
import Data.List(unlines)
import System.Environment(getArgs)
fizzbuzz = uncurry (flip maybe id) . (arr show &&& arr forb)
where tests = map ((.) (==0) . flip mod) [3,5]
fb = map Just ["Fizz","Buzz"]
#include <stdlib.h>
#define lc(var) (var >= 'A' && var <= 'Z' ? var + 32 : var)
#define uc(var) (var >= 'a' && var <= 'z' ? var - 32 : var)
#define vowelp(var) ( \
uc(var) == 'A' || \
uc(var) == 'E' || \
uc(var) == 'I' || \
uc(var) == 'O' || \
uc(var) == 'U')
@tron1point0
tron1point0 / Makefile
Created June 7, 2012 00:07
Youtube thingie
VERSION := 4.1.0
ZIPFILE := ext-$(VERSION)-gpl.zip
download := http://cdn.sencha.io/$(ZIPFILE)
downloader := $(shell which curl)
downloader ?= $(shell which wget)
COFFEE := $(shell which coffee)
UNZIP := $(shell which unzip)
package Magento;
use v5.14;
use warnings;
use Carp;
use XML::RPC;
sub new {
my ($class,$uri,$user,$pass) = @_;
my $client = XML::RPC->new("$uri/api/xmlrpc/");
npto :: (Integral a) => a -> [a]
npto x = [2,3] ++ concat [[x*6-1,x*6+1] | x <- [1..n]]
where n = ((+1) . round . sqrt . fromIntegral $ x) `div` 6
factors :: (Integral a) => a -> [a]
factors 1 = []
factors x = least : factors (x `div` least)
where least = head $ fs ++ [x]
fs = filter ((==0) . mod x) . npto $ x
@tron1point0
tron1point0 / pascal.hs
Created April 17, 2012 22:26
I'm an ass.
pascal' :: [Int] -> [Int]
pascal' l
| length l < 2 = [1]
| otherwise = (a + b) : (pascal' (b:rest))
where a:(b:rest) = l
pascal :: [Int] -> [Int]
pascal = (1:) . pascal'
#ifdef STANDARD
#include <string.h>
#include <stdlib.h>
#include <time.h>
#else
#include <my_global.h>
#include <my_sys.h>
#endif
#include <mysql.h>
#include <m_ctype.h>
@tron1point0
tron1point0 / sqlconnect.pl
Created April 11, 2012 16:27
Connect to dancer's dev DB
#!/usr/bin/env perl
use v5.14;
use warnings;
use YAML::XS qw(Load);
my @files = qw(config.yml environments/development.yml);
unshift @files, @ARGV if @ARGV;
for (@files) {
@tron1point0
tron1point0 / queued.pl
Created April 3, 2012 22:06
It's *like* redis...
#!/usr/bin/env perl
use v5.14;
use warnings;
package Handler::Send;
use base 'Tatsumaki::Handler';
sub post {
my ($self,$id) = @_;