Skip to content

Instantly share code, notes, and snippets.

@summer4096
summer4096 / fancyCanvas.js
Last active August 29, 2015 14:10
Vector tiles on canvas!
L.tileLayer.fancyCanvas = function(url){
var layer = L.tileLayer.canvas();
layer.setUrl(url);
var dataSource = function(x, y, z, done){
var url = layer.getTileUrl({x: x, y: y, z: z});
d3.json(url, done);
};
layer.data = function(fn){
@summer4096
summer4096 / fancyCanvas.js
Last active August 29, 2015 14:10
fancyCanvas tile layer
L.tileLayer.fancyCanvas = function(url){
var layer = L.tileLayer.canvas();
layer.setUrl(url);
var dataSource = function(x, y, z, done){
var url = layer.getTileUrl({x: x, y: y, z: z});
d3.json(url, done);
};
layer.data = function(fn){
@summer4096
summer4096 / README.md
Created September 16, 2014 13:55 — forked from mbostock/.block

A spanning tree of the canvas is generated using Wilson’s algorithm and then flooded with color. Hue encodes Manhattan distance from the root of the tree. (This is not an optimal visual encoding, but it suffices and is pretty.)

Spanning trees can also be used to generate mazes. See a maze generated with Wilson’s algorithm flooded with color, and compare color floods of spanning trees generated with Wilson’s algorithm to random traversal, randomized depth-first traversal and Prim’s algorithm.

@summer4096
summer4096 / designer.html
Last active August 29, 2015 14:04
designer
<link rel="import" href="../polymer/polymer.html">
<polymer-element name="my-element">
<template>
<style>
#core_header_panel {
width: 100%;
height: 100%;
left: 0px;
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>External map layers</title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<script src='https://api.tiles.mapbox.com/mapbox.js/v1.6.4/mapbox.js'></script>
<script src='https://api.tiles.mapbox.com/mapbox.js/plugins/leaflet-hash/v0.2.1/leaflet-hash.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox.js/v1.6.4/mapbox.css' rel='stylesheet' />
chat.transports.websocket = function(){
this.conn = new WebSocket('ws://web.sock.et/');
var self = this;
this.conn.onmessage = function(ev){
var data = JSON.parse('"'+ev.data+'"');
this.emit('data', data);
};
this.queue = [];
var formidable = require('formidable');
var express = require('express');
var socket = require('socket.io');
var app = express.createServer();
var io = socket.listen(app);
app.use(express.static(__dirname + '/public'));
app.listen(process.env['app_port'] || 8000);
// ==UserScript==
// @name dAmn.ws
// @namespace botdom.com
// @description Make the official client use WebSockets
// @author Henry Rapley <[email protected]>
// @version 1.0.3
// @include http://chat.deviantart.com/chat/*
// @include http://chat.deviantart.lan/chat/*
// ==/UserScript==
var ws = require('websocket.io');
var net = require('net');
var server = ws.listen(3456);
server.on('connection', function(socket){
var google = net.connect({
host: 'google.com',
port: 80
});
@summer4096
summer4096 / runner.js
Created October 17, 2012 06:10
Runner for streaming templates
var events = require('events');
var stream = require('stream');
var util = require('util');
var runner = function(template, output) {
stream.call(this);
this.readable = true;
this.writable = true;