Skip to content

Instantly share code, notes, and snippets.

View devgru's full-sized avatar

Dima Semyushkin devgru

View GitHub Profile
var testCell = function (current, test) {
var actor = current.piece;
var target = test.piece;
if (current == test && (!current.maze || actor.is('C'))) {
return 'empty';
}
process.nextTick(function () {
var contents = '';
tuple.contents.forEach(function (file) {
var oneFile = fs.readFileSync(sourcePath + file + '.js', 'utf-8');
if (debug)
contents += oneFile
else
contents += jsmin.jsmin(oneFile);
});
fs.writeFile(targetPath + tuple.name + '.js', contents, errbacker.create(log.error));
@devgru
devgru / sqrt.c
Created February 21, 2013 17:31
Best, fast & exact floor(sqrt()) for Arduino etc.
uint8_t my_sqrt(uint16_t input) {
uint16_t res = 0;
uint16_t one = 1u << 14;
while (one > input) one /= 4;
while (one != 0) {
if (input >= res + one) {
res += one;
input -= res;
@devgru
devgru / README.md
Created June 24, 2013 17:22 — forked from mbostock/.block

This examples demonstrates how to use D3's brush component to implement focus + context zooming. Click and drag in the small chart below to pan or zoom.

<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var width = 960,
height = 480;
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
var projection = d3.geo.equirectangular()
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var width = 960,
height = 480;
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
var projection = d3.geo.equirectangular()
@devgru
devgru / .block
Last active October 4, 2016 19:51
Dots + margin & color
license: mit
@devgru
devgru / .block
Last active October 5, 2016 07:05
Dots
license: mit
@devgru
devgru / index.html
Last active January 4, 2016 12:29
Simple stream
<!DOCTYPE html>
<body>
<script src='http://d3js.org/d3.v3.js'></script>
<script src='http://d3js.org/colorbrewer.v1.js'></script>
<script>
var format = d3.time.format('%m/%d/%y')
var width = 600
var height = 400
var x = d3.time.scale().range([0, width])
var y = d3.scale.linear().range([height - 10, 0])
@devgru
devgru / index.html
Last active January 4, 2016 12:29
Simple stream + interpolation, layout offset & axes
<!DOCTYPE html>
<meta charset='utf-8'>
<style>
body { font: 10px sans-serif; }
p { font: 12px helvetica; }
.axis path, .axis line {
fill: none;
stroke: #000;
stroke-width: 2px;