Skip to content

Instantly share code, notes, and snippets.

View sergi's full-sized avatar
🎯
Focusing

Sergi Mansilla sergi

🎯
Focusing
View GitHub Profile
@sergi
sergi / redis_test2.js
Created July 25, 2013 14:18
Naive redis GET/SET server for Node.js. Version 2, no dependencies
'use strict';
var net = require('net');
var db = Object.create(null);
net.createServer(function(socket) {
function sendError(err) {
console.error(err);
socket.write("-ERR " + err + "\r\n")
}
@sergi
sergi / redis_test.js
Last active December 20, 2015 05:29
Naive redis GET/SET server for Node.js.
// Try with `redis-benchmark -t GET,SET -n 100000`
'use strict';
var net = require('net');
var split = require('split');
var db = {};
net.createServer(function(socket) {
function sendError(err) {
console.error(err);
@sergi
sergi / dabblet.css
Created May 12, 2013 12:34
Circular Tooltip (SO)
/**
* Circular Tooltip (SO)
* http://stackoverflow.com/q/13132864/1397351
*/
* { margin: 0; padding: 0; }
body {
overflow: hidden;
background: url(http://theearlcarlson.com/experiments/amTooltip/img/bg.jpg);
}
/* generic styles for button & circular menu */
function firstUnrepeated(str) {
var blacklist = [];
var once = {};
str.split("").forEach(function(e, pos) {
if (blacklist.indexOf(e) === -1) {
once[e] = pos;
blacklist.push(e);
}
else { delete once[e]; }
});
@sergi
sergi / stack.go
Last active December 10, 2015 11:48 — forked from bemasher/stack.go
package main
import (
"fmt"
)
type Stack struct {
top *Element
size int
}
@sergi
sergi / range.js
Created October 30, 2012 13:19
Test creating
macro val {
case $var:ident = $expr => {
var $var = $expr
}
case $var:ident = $x:lit .. $y:lit => {
var $var = (function() {
var arr = []
for (var i = $x; i < $y; i++)
arr.push(i)
@sergi
sergi / javascript_background_thread.js
Created September 25, 2012 12:24 — forked from jameswomack/javascript_background_thread.js
Extend function prototype to run a function as a WebWorker
Function.prototype.runOnBackgroundThread = function (aCallback) {
var _blob = new Blob(['onmessage = '+this.toString()],{"type":"text/javascript"});
var _worker = new Worker((webkitURL.createObjectURL || URL.createObjectURL)(_blob));
_worker.onmessage = aCallback;
_worker.postMessage();
}
var _test = function () {
postMessage((1+1).toString());
}
@sergi
sergi / reduce.js
Created April 4, 2012 14:49
JavaScript reduce implementation
var __reduce= function (func, list, initial) {
if (initial != null) {
var value = initial;
var idx = 0;
} else if (list) {
var value = list[0];
var idx = 1;
} else {
return null;
}
function HugeAnimal(name) {
Animal.apply(this, arguments)
}
HugeAnimal.prototype = new Animal
HugeAnimal.prototype.constructor = HugeAnimal
HugeAnimal.prototype.toString = function() {
return 'im ' + this.name + ' a ******* huge animal'
}
From ebb10691764938adec189da0e9f73e03a4291b2c Mon Sep 17 00:00:00 2001
From: Sergi Mansilla <[email protected]>
Date: Wed, 14 Sep 2011 14:35:50 +0200
Subject: [PATCH] Small optimizations
---
jsftp.js | 22 +++++++++++++++-------
1 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/jsftp.js b/jsftp.js