Skip to content

Instantly share code, notes, and snippets.

View ryankirkman's full-sized avatar

Ryan Kirkman ryankirkman

View GitHub Profile
import mmap
import sys
import struct
def main(in_file, out_file):
with open(in_file, "r+b") as f:
map = mmap.mmap(f.fileno(), 0)
data = map.readline()
# Assuming first char is \x00 and
# data is in blocks of 3.
@ryankirkman
ryankirkman / couchdb_delete_non_design_docs.js
Created March 17, 2011 06:51
Delete all non-design docs in CouchDB (using cradle)
var cradle = require('cradle');
var database = 'app';
cradle.setup({
host: '127.0.0.1',
port: 5984,
auth: { username: "YOUR_USERNAME", password: "YOUR_PASSWORD" }
});
@ryankirkman
ryankirkman / node-pdfcrowd.js
Created March 23, 2011 23:24
Trying to make a node.js module to interact with pdfcrowd
var sys = require('sys');
var fs = require('fs');
var restler = require('restler');
exports.generate_pdf = function(username, api_key, src_data, res) {
console.log("starting to generate pdf");
console.log(username);
console.log(api_key);
console.log(src_data);
@ryankirkman
ryankirkman / auth_to_expressjs_with_curl.sh
Created March 29, 2011 08:43
How to authenticate to an express.js web service with curl
#!/bin/sh
## Save cookies to the "cookies.txt" file
## Assumes the web service expects username
## and password in a JSON object, submitted via POST.
curl --cookie-jar cookies.txt -H "Content-Type: application/json" -X POST http://localhost:3000/user/login -d "{\"username\": \"YOURUSERNAME\", \"password\": \"YOURPASSWORD\"}"
## Now to use the authenticated session:
## (Assuming your web service speaks JSON)
curl --cookie cookies.txt -X GET http://localhost:3000/user/SOMEID
@ryankirkman
ryankirkman / gist:981041
Created May 19, 2011 15:32
cluster stack traces
TypeError: Object #<Object> has no method 'on'
at Worker.start (./node_modules/cluster/lib/worker.js:83:17)
at Socket.<anonymous> (./node_modules/cluster/lib/master.js:258:16)
at Socket.emit (events.js:61:17)
at Socket._onConnect (net.js:587:12)
at IOWatcher.onWritable [as callback] (net.js:186:12)
Error: Socket is not writable
at Socket._writeOut (net.js:392:11)
at Socket.write (net.js:378:17)
@ryankirkman
ryankirkman / gist:981400
Created May 19, 2011 18:27
dead workers
[Thu, 19 May 2011 18:18:04 GMT] INFO spawned worker 0
[Thu, 19 May 2011 18:18:04 GMT] ERROR worker 3 died
[Thu, 19 May 2011 18:18:04 GMT] INFO spawned worker 3
[Thu, 19 May 2011 18:18:04 GMT] ERROR worker 1 died
[Thu, 19 May 2011 18:18:04 GMT] INFO spawned worker 1
[Thu, 19 May 2011 18:26:00 GMT] INFO master started
[Thu, 19 May 2011 18:26:00 GMT] INFO spawned worker 0
[Thu, 19 May 2011 18:26:00 GMT] INFO spawned worker 1
[Thu, 19 May 2011 18:26:00 GMT] INFO spawned worker 2
[Thu, 19 May 2011 18:26:00 GMT] INFO spawned worker 3
Cluster detected over 20 worker deaths in the first
20 seconds of life, there is most likely
a serious issue with your server.
aborting.
info - master started
info - worker 0 spawned
info - worker 1 spawned
@ryankirkman
ryankirkman / server.js
Created May 19, 2011 18:41
Cluster config
var cluster = require('cluster');
cluster('./app')
.set('socket path', '/tmp')
.use(cluster.logger('logs'))
.use(cluster.stats())
.use(cluster.pidfiles('pids'))
.use(cluster.cli())
.use(cluster.repl(8888))
.listen(3000);
@ryankirkman
ryankirkman / jqm_red_theme.css
Created August 1, 2011 07:15
jQuery Mobile Red Theme - now jQuery Mobile 1.1.0 compatible
/* F - Red Theme - Extended from: https://gist.github.com/909284
-----------------------------------------------------------------------------------------------------------*/
.ui-bar-f {
border: 1px solid #A60000;
background: #FF0000;
color: #ffffff;
font-weight: bold;
text-shadow: 0 -1px 1px #BF3030;
background-image: -webkit-gradient(linear, left top, left bottom, from( #FF7373 /*{a-bar-background-start}*/), to( #FF4040 /*{a-bar-background-end}*/)); /* Saf4+, Chrome */
@ryankirkman
ryankirkman / jquery_mobile_dynamic_theme_refresh.html
Created August 1, 2011 07:16
jQuery Mobile - Dynamically / Programatically Update Page Theme
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="dns-prefetch" href="//code.jquery.com">
<!-- Ensure we set a viewport so everything scales appropriately on mobile devices. -->
<meta name="viewport" content="width=device-width, initial-scale=1">