Skip to content

Instantly share code, notes, and snippets.

View justmoon's full-sized avatar

Stefan Thomas justmoon

View GitHub Profile
@justmoon
justmoon / 0001-Added-EJS-Embedded-JS-support-to-nXhtml.patch
Created December 16, 2010 18:47
[PATCH] Added EJS (Embedded JS) support to nXhtml.
From 89b8b1c03fb9f5e88df9fc55895b618ce90b551b Mon Sep 17 00:00:00 2001
From: Stefan Thomas <[email protected]>
Date: Thu, 16 Dec 2010 18:38:34 +0000
Subject: [PATCH] Added EJS (Embedded JS) support to nXhtml.
---
nxhtml/nxhtml-autoload.el | 1 +
nxhtml/nxhtml-mumamo.el | 17 +++++++++++++++++
util/majmodpri.el | 1 +
util/mumamo-chunks.el | 31 +++++++++++++++++++++++++++++++
@justmoon
justmoon / leakdemo.js
Created June 30, 2011 03:39
node-binary/node-chainsaw memory leak demo
var profiler = require('v8-profiler');
var Binary = require('binary');
var EventEmitter = require('events').EventEmitter;
var em = new EventEmitter;
var CHAIN_LENGTH = 5000;
var benchmarkTimer;
moon@clymene:/atlas/www/node-bitcoin-p2p$ valgrind -- node test/util.js
==2201== Memcheck, a memory error detector
==2201== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==2201== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==2201== Command: node test/util.js
==2201==
·==2201== Invalid read of size 4
==2201== at 0x4101A3E: BN_free (in /lib/libcrypto.so.0.9.8)
==2201== by 0x8043EA8: base58_encode(v8::Arguments const&) (native.cc:214)
==2201== by 0x81AA79D: v8::internal::Builtin_HandleApiCall(v8::internal::(anonymous namespace)::BuiltinArguments<(v8::internal::BuiltinExtraArguments)1>) (in /usr/local/bin/node)
@justmoon
justmoon / bintest.js
Created July 14, 2011 15:22
MongooseJS Binary Example
var crypto = require('crypto');
var mongoose = require('./');
mongoose.connect('mongodb://localhost/bintest');
var Schema = mongoose.Schema;
var HashSchema = new Schema({
id : String
@justmoon
justmoon / 0001-Enable-LiveObjectList.patch
Created August 23, 2011 04:24
Node.js - Enable LiveObjectList in d8 debugger (tested with v0.4.10)
From f1f6f7bf486a2d6ceebe51063676212a91cb3ed3 Mon Sep 17 00:00:00 2001
From: Stefan Thomas <[email protected]>
Date: Tue, 23 Aug 2011 05:22:44 +0100
Subject: [PATCH] Enable LiveObjectList.
---
deps/v8/src/liveobjectlist.cc | 138 +++++++++++++++++++++++++++++-----------
wscript | 2 +-
2 files changed, 101 insertions(+), 39 deletions(-)
> [email protected] install /atlas/www/node-bitcoin-p2p/node_modules/bigint
> node-waf configure build
> [email protected] preinstall /atlas/www/node-bitcoin-p2p/node_modules/buffertools
> ./build-wrapper
Checking for program g++ or c++ : /usr/bin/g++
Setting srcdir to : /atlas/www/node-bitcoin-p2p/node_modules/buffertools
Setting blddir to : /atlas/www/node-bitcoin-p2p/node_modules/buffertools/build
@justmoon
justmoon / results.txt
Created November 2, 2011 22:28
Node.js Buffer#copy performance
Node.js 0.4.12
--------------
Buffer (10 bytes):
Buffer#copy x 233,570 ops/sec ±0.96% (74 runs sampled)
Buffer[] x 1,152,607 ops/sec ±2.57% (72 runs sampled)
Fastest is Buffer[]
@justmoon
justmoon / gist:1492987
Created December 18, 2011 10:32
NPM VPS crash
justmoon@atlas:~/opt$ rm -r node_modules/
justmoon@atlas:~/opt$ rm -r ../.npm/
justmoon@atlas:~/opt$ rm npm-debug.log
justmoon@atlas:~/opt$ npm install -v bitcoinjs
1.1.0-alpha-6
justmoon@atlas:~/opt$ npm install -verbose bitcoinjs
npm info it worked if it ends with ok
npm verb cli [ 'node',
npm verb cli '/usr/local/bin/npm',
npm verb cli 'install',
@justmoon
justmoon / gist:1534875
Created December 29, 2011 16:35
BlockChain, main processing sequence, Step example
/**
* Connect a block and store it.
*
* This function takes over once add() has ascertained that the block passed
* intrinsic checks and there is no reorg currently in progress.
*/
var processBlock = this.processBlock = function processBlock(bw) {
// Shorthand
var block = bw.block;
@justmoon
justmoon / main.c
Created January 1, 2012 02:45
OP_EVAL exploit miner
#include <stdio.h>
#include <openssl/ripemd.h>
#include <openssl/rand.h>
void print_hex(unsigned char *bytes, unsigned int len) {
int i;
for (i = 0; i < len; i++) {
printf("%02X", bytes[i]);
}
printf("\n");