Skip to content

Instantly share code, notes, and snippets.

@rctay
rctay / googreader.user.js
Created May 31, 2012 11:06
[userscript] Google Reader script to hide big fat header
// ==UserScript==
// @name Google Reader no header
// @namespace https://gist.github.com/rctay
// @description Hides header
// @include http://www.google.com/reader/view/*
// @include https://www.google.com/reader/view/*
// @include http://www.google.*/reader/view/*
// @include https://www.google.*/reader/view/*
// @version 1.0
// ==/UserScript==
@rctay
rctay / gist:2731447
Created May 19, 2012 16:42
[windows] remove those pesky x.exe...LOG files
find . \
| grep -Pi '^.*\.exe-\d*(\.\d{2}){3}\.\d{3}-\d{2}\.\d{2}\.\d{4}\.LOG$' \
| sed 's/.*/"&"/' \
| xargs rm -v
@rctay
rctay / v1.py
Created April 27, 2012 06:30
[python] pygments' markdown, revisited
# -*- coding: utf-8 -*-
"""
The Pygments Markdown Preprocessor
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This fragment is a Markdown_ preprocessor that renders source code
to HTML via Pygments. To use it, invoke Markdown like so::
from markdown import Markdown
@rctay
rctay / PushbackBufferedStream.scala
Created April 7, 2012 17:24
BufferedReader, but better
import java.io
import collection.mutable
class PushbackBufferedStream(in: io.InputStream, lineSize: Int = 30, bufSize: Int = 4096)
extends io.PushbackInputStream(in, bufSize) {
def readLine(): String = {
val read_buf = new Array[Byte](bufSize)
val line_buf = new mutable.ArrayBuffer[Byte](lineSize * 2)
def loop(sz: Int): Unit = {
@rctay
rctay / pyramid.c
Created February 17, 2012 16:17
[c] pyramids for CS1010
#include <malloc.h>
#include <string.h>
void print_pyramid(int k)
{
int i;
size_t sz = 1 + (k-1)*2;
char *buf = malloc(sizeof(char) * sz);
memset(buf, '*', sz);
for (i = 1; i < k; i++)
printf("%*.*s\n", k + i - 1, 1 + (i-1) * 2, buf);
@rctay
rctay / list.c
Created February 9, 2012 03:58
[c] extension of Week 4, Q5
#include "list.h"
int
list_head(list *the_list, node_val *ret)
{
if (!the_list)
return 1;
*ret = the_list->val;
return 0;
}
@rctay
rctay / email.sh
Created January 19, 2012 07:35
[awk] print comma-separated NUS emails
#!/bin/awk
# a1234567b@nus is not a valid address, but a1234567@nus is. Hence this
# script.
# Expects: lines of nus matric no, like a1234567[...]
# Outputs: comma-separated nus email addresses on a single line, like
# [email protected],[...]
{ printf "%[email protected],", substr($0,0,8) }
@rctay
rctay / auth-token.sh
Created January 18, 2012 18:11
[sh] get auth token for IVLE LAPI
#!/bin/sh
# user-specific info
API_KEY=
USER_ID="" # be careful about escaping!
PASSWORD="" # ditto
# add additional curl options here - eg. -v
CURL='curl'
@rctay
rctay / sieve1.py
Created November 17, 2011 18:26 — forked from ejamesc/gist:1373187
[fork] Sieve
"""Translated from Haskell:
let sieve(p:xs) = p : sieve (filter (\ x -> x `mod` p /= 0) xs) in sieve [2..]
"""
from itertools import ifilter
def ints(k):
while True:
yield k
k+=1
@rctay
rctay / q2c.rb
Created November 15, 2011 17:20
[ruby] NUS 11/12 Sem 1 CS2100 Tutorial 11 Q2c
class Cache
def split(addr)
x = addr >> 3
return [x & 3, x >> 2]
end
attr_reader :misses, :hits
def initialize
@misses = 0