Skip to content

Instantly share code, notes, and snippets.

View lastlegion's full-sized avatar
🎯
Focusing

Ganesh Iyer lastlegion

🎯
Focusing
View GitHub Profile
var fake_dimension = {
filter: function(f) { //Create filtering function
if(f) {
queryFilter[fake_dimension] = f; //Set filter in query filter
refresh(); //Make the AJAX call.
}
}
}
@lastlegion
lastlegion / app.js
Created July 19, 2014 19:03
crossfilter on node.js
var crossfilter = require("crossfilter.js");
//Load your data
var data = [{"a": 1, "b":2}, {"a":2, "b":3}];
//Apply crossfilter
var ndx = crossfilter(data);
var dimension = ndx.dimension(function(d){return d.a});
var group = dimension.group();
@lastlegion
lastlegion / gist:f96ee1315ee6a9924eca
Last active August 29, 2015 14:04
The ajax request for filtering
function handle_filter_request(req,res,next) {
filter = req.param("filter") ? JSON.parse(req.param("filter")) : {}
if(filter[dimension]){
dimension.filter(filter[dimension]);
}
results[dimension]= {values:group.all(),top: group.top(1)[0].value};
res.writeHead(200, { 'content-type': 'application/json' });
res.end((JSON.stringify(results)));
}
@lastlegion
lastlegion / gist:f6894d500b38d94d4d1c
Created October 12, 2014 16:41
Benchmark test for node with crossfilter
29 attributes(24 filtering)
1mil - memory exceeded
500k - memory exceeded
250k - memory exceeded
100k -1100
50k- 1000
20 attributes (15 filtering)
1mil - memory exceeded
500k - memory exceeded
io.on("connection", function (socket){
t.on("tweet", function(tweet){
var tweetText = tweet.text;
var score = s.score(tweetText);
socket.emit("tweet", {tweet: tweetText, score:score})
});
});
tweets = [];
socket.on("tweet", function(data){
console.log(data);
tweets.push(data);
});
@lastlegion
lastlegion / gist:d29bcd2850f336799696
Last active August 29, 2015 14:10
sentimentscore
function(text){
var score = 0;
var words = text.split(" ");
for(var i in words){
word = words[i];
if(word in this.wordList){
score+= this.wordList[word];
}
}
return score/words.length;
@lastlegion
lastlegion / gist:5925862
Created July 4, 2013 08:17
Handling socket events in wordelta
setEventHandlers = function( ) {
io.sockets.on("connection", onSocketConnection);
}
onSocketConnection = function(client){
players++;
client.on("new player", onNewPlayer);
client.on("add word", onAddWord);
client.on("disconnect", onDisconnect);
};
@lastlegion
lastlegion / gist:5925897
Created July 4, 2013 08:23
Setting up game module
function init(err, data){
reset();
io = require('socket.io').listen(app);
if(err){
console.log("Error reading dictionary: "+err);
}
//Conver dictionary to a list
word_list = data.toString().split("\n");
//Listen for events
setEventHandlers();
@lastlegion
lastlegion / generatedata.py
Created October 9, 2013 13:08
Generating synthetic data for perceptron
def generateData(X, y):
i=0
for i in range(0,N):
datapoint = [random.uniform(-1,1), random.uniform(-1,1)]
X[i] = datapoint
if(datapoint[0] + datapoint[1] > 0):
y[i] = 1
else:
y[i] = -1