Skip to content

Instantly share code, notes, and snippets.

/**
* Replace any ocurrences of {{dimsum}} with generated text.
*/
dimsum.parse = function(root) {
var reg = /{{dimsum[:]?([pst0-9]*)}}/ig,
root = root || document.getElementsByTagName('body')[0],
command = '';
// If root is just a string, then return a string with replacement
@ninjascribble
ninjascribble / svg-to-xml.js
Created February 26, 2013 22:37
Saving dynamically created SVG in a WinJS app via the Windows.Data.Xml.Dom API
Windows.Storage.ApplicationData.current.localFolder.createFileAsync("example.svg", Windows.Storage.CreationCollisionOption.replaceExisting)
.then(function(storageFile) {
var serializer = new XMLSerializer()
, xmldoc = new Windows.Data.Xml.Dom.XmlDocument()
, xmlLoadSettings = new Windows.Data.Xml.Dom.XmlLoadSettings()
, svgnode = document.querySelector('.container > svg')
, svgstr = serializer.serializeToString(svgnode)
xmlLoadSettings.prohibitDtd = false;
@ninjascribble
ninjascribble / node-user-agent.js
Last active September 30, 2024 22:28
Fetching the user-agent string from a request using either NodeJS or NodeJS + Express
/** Native NodeJS */
var http = require('http')
, server = http.createServer(function(req) {
console.log(req.headers['user-agent']);
});
server.listen(3000, 'localhost');
/** NodeJS with Express */
var express = require('express')
@ninjascribble
ninjascribble / user-agent-match.js
Created March 8, 2013 22:07
user agent matching on the client-side
/** User-agent pattern matching */
var browser = 'unknown'
, version = 'unknown'
, patterns = {
android: /android\s([0-9.]*)/i
chrome: /chrome\/([0-9.]*)/i,
firefox: /firefox\/([0-9.]*)/i,
ie: /msie\s([0-9.]*)/i,
ipad: /ipad.version\/([0-9.]*).safari/i,
iphone_4: /iphone\sos\s4.version.mobile\/([0-9.]*).safari/i,
/** NodeJS with Express */
var express = require('express')
, http = require('http')
, app = express();
http.createServer(app).listen(3000);
app.get('/', function(req, res) {
console.log(req.get('user-agent'));
});
if ('document' in this) {
this.document.addEventListener('DOMContentLoaded', function() {
dimsum.parse(document.getElementsByTagName('body')[0]);
});
}
; (function () {
var Controls = Controls || {};
var fallback = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIW2N81d/4HwAHYAL7mbvoAwAAAABJRU5ErkJggg==';
var classname = 'deferred-img';
Controls.Image = function (node, options) {
this.state = 'ready';
this.node = node || document.createElement('figure');
ec2.describeInstances(params, handleResponse);
function handleResponse(err, data){
if (err) {
console.log("Error", err);
return;
}
else {
var status = data.Reservations[0].Instances[0].State;
@ninjascribble
ninjascribble / nodejs-intro.md
Last active March 4, 2019 20:36
Introduction to NodeJS
@ninjascribble
ninjascribble / dump_packets.sh
Last active August 29, 2015 14:07
tcp packet dump filtered by port
# -i: The interface to listen on
# -s: Setting snaplen to 0 sets it to the default of 65535
# -B: Buffer size in KiB
# -w: File to write packets to
tcpdump -i en1 -s 0 -B 524288 -w out.pcap dst port 8080