Skip to content

Instantly share code, notes, and snippets.

View chrisyco's full-sized avatar

Chris Wong chrisyco

View GitHub Profile
@chrisyco
chrisyco / desmume-compiling.md
Created December 13, 2011 05:01
How to compile DeSmuME on Debian or Ubuntu

How to compile DeSmuME on Debian or Ubuntu

(with a mildly condescending tone)

Step 0 (optional)

You can enable fancy optimizations by creating a config.site file. To do this, open your favorite text editor and type:

@chrisyco
chrisyco / power.sh
Created May 24, 2011 03:38
Suspend, hibernate, restart or shutdown the computer without sudo!
#!/bin/sh
# Suspend, hibernate, restart or shutdown the computer without sudo!
# by Chris Wong
# Released to the public domain.
NAME=$0
usage() {
echo "Usage: $NAME suspend|hibernate|restart|shutdown"
@chrisyco
chrisyco / fixext.py
Created May 23, 2011 04:05
Recursively rename UPPERCASE filename extensions to lowercase
#!/usr/bin/env python
"""Epic script to rename scary uppercase extensions (like .JPG) to
more friendly lowercase (like .jpg).
How to use
==========
Recursively rename all files in the current directory::
fixext
@chrisyco
chrisyco / leak.c
Created April 8, 2012 06:46
Memory leak in 10 lines of code
#include <stdlib.h>
#include <unistd.h>
int main() {
size_t sz = sysconf(_SC_PAGESIZE);
for (;;) {
char *leak = malloc(sz);
leak[0] = 'a';
}
@chrisyco
chrisyco / OldExp.hs
Created March 25, 2012 20:47
Initial attempt at lambda expression data structure
-- |
-- Module : Saliva.Model.OldExp
-- Copyright : GPLv3
--
-- Maintainer : chrisyco@gmail.com
-- Portability : portable
--
-- The 'Exp' data type, for representing lambda expressions.
module Saliva.Model.OldExp
@chrisyco
chrisyco / FizzBuzz.hs
Created February 22, 2012 03:38
FizzBuzz variations
-- | FizzBuzz: an example program, similar in purpose to the infamous
-- Hello World, that serves to demonstrate the features and syntax of
-- the language in which it is written.
--
-- The rules of the game are as follows:
--
-- 1. If the number is divisible by 3, return \"Fizz\";
--
-- 2. If the number is divisible by 5, return \"Buzz\";
--
@chrisyco
chrisyco / BirdTree.hs
Created January 19, 2012 04:16
Bird tree solution in linear time
import Data.ByteString.Char8 ( ByteString )
import qualified Data.ByteString.Char8 as B
import Control.Applicative ( (<$>), (<*>) )
import Data.Char ( isSpace )
import Data.List ( intercalate )
import Data.Maybe ( catMaybes )
import Data.Ratio ( (%), numerator, denominator )
{-
@chrisyco
chrisyco / BirdTree.hs
Created January 17, 2012 01:39
Bird tree solution (simplified)
import Data.ByteString.Char8 ( ByteString )
import qualified Data.ByteString.Char8 as B
import Data.Char ( isSpace )
import Data.Functor ( (<$>) )
import Data.List ( intercalate, unfoldr )
import Data.Maybe ( fromJust )
import Data.Ratio ( (%) )
{-
@chrisyco
chrisyco / BirdTree.hs
Created January 1, 2012 05:05
Bird tree solution
module BirdTree where
import Control.Monad.Maybe
import Control.Monad.State
import Data.ByteString.Char8 ( ByteString )
import qualified Data.ByteString.Char8 as B
import Data.Char ( isSpace )
import Data.Functor ( (<$>) )
@chrisyco
chrisyco / gist:1276918
Created October 11, 2011 00:01
Autoboxing is not foolproof
// Duck.java
class Duck {
public static void quack(Integer num) {
System.out.println(num);
}
}
// Main.java
class Main {
public static void main(String[] args) {