Skip to content

Instantly share code, notes, and snippets.

View jthomas's full-sized avatar
💻
serverless all the things.

James Thomas jthomas

💻
serverless all the things.
View GitHub Profile
@jthomas
jthomas / gist:1891911
Created February 23, 2012 09:31
Loading AMD modules using Dojo
// This doesn't work....
define("a/b/c", function () {
// return something....
});
var mod = require("a/b/c");
// This does work...
@jthomas
jthomas / gist:2401041
Created April 16, 2012 19:47
Authenticating user to access restricted feeds
<html>
<script src="./lib/require.js"></script>
<script>
require.config({
paths : {
//create alias to plugins (not needed if plugins are on the baseUrl)
async: 'src/async',
goog: 'src/goog',
propertyParser : 'src/propertyParser'
}
@jthomas
jthomas / gist:2775152
Created May 23, 2012 13:08
Creating custom DOM events
// Register for custom events
document.addEventListener("oncustom", function () {
console.log("fired!");
});
// Createcustom DOM events and fire
var evt = document.createEvent("Event");
evt.initEvent("oncustom", true, true);
document.dispatchEvent(evt)
@jthomas
jthomas / gist:2966649
Created June 21, 2012 15:56
Rendering Dijit widgets server-side in NodeJs
var fs = require('fs'),
jsdom = require("jsdom").jsdom,
document = jsdom("<html><head></head><body></body></html>"),
window = document.createWindow();
// Fix window objects in global scope.
global.document = document;
global.navigator = window.navigator;
global.window = window;
@jthomas
jthomas / nano.profile.js
Created July 23, 2012 11:05
Nano-build profile
var profile = (function(){
return {
layerOptimize: "closure",
releaseDir: "../../../release",
packages:[{
name:"dojo",
location:"../../../dojo"
}],
input {
stdin {
type => "stdin-type"
}
tcp {
port => 5000
type => syslog
}
udp {
port => 5000
@jthomas
jthomas / .nvimrc
Created March 30, 2015 21:46
NeoVim configuration
call plug#begin('~/.vim/plugged')
Plug 'tpope/vim-sensible'
Plug 'tpope/vim-fugitive'
Plug 'altercation/vim-colors-solarized'
Plug 'scrooloose/syntastic'
Plug 'scrooloose/nerdtree'
Plug 'kien/ctrlp.vim'
Plug 'bling/vim-airline'
Plug 'jelera/vim-javascript-syntax'
@jthomas
jthomas / app.js
Created June 11, 2015 10:49
Phonebot mock API responses server
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
app.use(bodyParser.json())
app.use(bodyParser.urlencoded())
var requests = []
var store_request = function (req) {
requests.push({
@jthomas
jthomas / n-queens.js
Last active August 10, 2022 12:49
Solving "N Queens Problem" with JavaScript
var iterations = 0
var print_board = function (columns) {
var n = columns.length, row = 0, col = 0
while (row < n) {
while (col < n) {
process.stdout.write(columns[row] === col ? 'Q ' : '# ')
col++
}
@jthomas
jthomas / test.js
Last active January 31, 2016 16:38
Accessing variables from closure
var vm = require('vm');
var Debug = vm.runInDebugContext('Debug');
Debug.setListener(function (event, exec_state) {
if (event !== Debug.DebugEvent.Break) return;
try {
console.log(exec_state.frame(0).evaluate('inner'))
} catch (err) {
console.log(err)
}