Skip to content

Instantly share code, notes, and snippets.

View andrewrk's full-sized avatar

Andrew Kelley andrewrk

View GitHub Profile
mf.include("chat_commands.js");
(function() {
chat_commands.registerCommand("forward", function() {
mf.setControlState(mf.Control.Forward, true);
});
chat_commands.registerCommand("back", function() {
mf.setControlState(mf.Control.Back, true);
});
@andrewrk
andrewrk / Lever Metadata
Created November 6, 2011 05:22 — forked from Darthfett/gist:1342503
Lever Metadata
mf.Metadata.Levers = {
"Powered": 8,
"East": 1,
"West": 2,
"South": 3,
"North": 4,
};
@andrewrk
andrewrk / gist:1883543
Created February 22, 2012 09:20
function to count trailing zeros

Given an unsigned integer, return the number of trailing zero bits

Test framework:

#include <stdio.h>
#include <assert.h>

unsigned trailing_zeros(unsigned n) {
    // fill in this function
@andrewrk
andrewrk / config_deploy.rb
Created August 28, 2012 23:44
capistrano
set :application, "..."
set :user, 'deploy'
set :use_sudo, false
set :deploy_to, "/home/#{user}/apps/#{application}"
set :scm, :git
set :repository, "..."
default_run_options[:pty] = true
ssh_options[:forward_agent] = true
<!doctype html>
<html>
<head>
</head>
<body>
<a href="/">home</a>
<a href="/create">create</a>
<script src="jquery-1.8.1.js"></script>
<script src="underscore.js"></script>
<script src="backbone.js"></script>
# read this code in javascript:
# http://satyr.github.com/cup/#c:MainRouter%20=%20ReactiveRouter.extend%20do%0A%20%20routes:%0A%20%20%20%20'':%20'index'%0A%20%20%20%20'create':%20'create'%0A%20%20index:%20!-%3E%20@goto%20%5Cindex%0A%20%20create:%20!-%3E%20@goto%20%5Ccreate%0A%0Aexport%20Router%20=%20new%20MainRouter%0A%0AMeteor.startup%20!-%3E%20Backbone.history.start%20pushState:%20true%0A
MainRouter = ReactiveRouter.extend do
routes:
'': 'index'
'create': 'create'
index: !-> @goto \index
create: !-> @goto \create
class Parent
def render(args={})
expand = args[:expand] || {}
obj = { }
# how would we access child.fields here?
Parent.fields.each do |name, options|
prop = self.send(name)
obj[name] = if options[:model]
if (inner = expand[name])
prop.render(expand: inner)
@andrewrk
andrewrk / json_socket.js
Created September 23, 2012 22:41
send and receive JSON over a socket
exports.listen = function(socket, onMessage){
var buffer;
socket.setEncoding('utf8');
buffer = "";
function msgFromBuffer(){
var sep, msg_len, next_msg_start, result;
sep = buffer.indexOf("\n");
if (sep === -1) {
return null;
}
@andrewrk
andrewrk / server.js
Created September 27, 2012 17:17
node.js / express socket problem
var express, app;
express = require("express");
app = express();
app.configure(function() {
app.use(express.bodyParser())
app.use(app.router)
});
app.post('/up', function(req, resp) {