View steamingFrequentTermsKeywords.java
1 2 3 4 5 6 7 8 9
package com.nini;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map.Entry;
View ThinBTClient.java
1 2 3 4 5 6 7 8 9
/*
licence pubilc domain
prepered by Shimon Doodkin
vibrate a vibrating bluetooth bracelet
a simple bt client it sends "RING" AT command to a device named "BRACELET"
it is a good "android bluetooth client example".
View 1)src_MainActivity.java
1 2 3 4 5 6 7 8 9
package com.doodkin.example;
 
import android.support.v7.app.ActionBarActivity;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
View setup_ufw.sh
1 2 3 4 5 6 7 8 9 10
apt-get install fail2ban
apt-get install iptables-persistent
apt-get install ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh/tcp
ufw allow www
ufw allow smtp
ufw allow pop3
ufw enable
View large_detable_float.js
1 2 3 4 5 6 7 8 9 10
//try take advantage of inacurate large exponent of double floating point to compare decimal numbers.
var large_detable_float=function(point){ if(point){this.maxfloat=parseFloat("1"+Array((Number.MAX_SAFE_INTEGER*point).toFixed(0).length+1).join("0"));}this.a=0; this.b=0;};
large_detable_float.prototype={
maxfloat:100000000,
add:function(a){ if(a<0) return this.sub(-a);
if(this.a+a<this.maxfloat)this.a+=a;
else {this.a-=this.maxfloat;this.b+=this.maxfloat;this.a+=a;}
},
sub:function(a){ if(a<0) return this.add(-a);
if(this.a-a>-this.maxfloat)this.a-=a;
View module developed.js
1 2
// this grown up to a module -
// https://github.com/shimondoodkin/efficient-rolling-stats
View cbguard.js
1 2 3 4 5 6 7 8 9
// cbguard by Shimon Doodkin - license: public domain
 
function cbguard(cb,printerr){ //kind of filter for callbacks. it prevents a callback to be called twice
var cb1=cb;
return function() {
if(cb1) { var cb2=cb1; cb1=false; return cb2.apply(this,arguments); }
else if(printerr)console.log(new Error('cb called twice').stack);
}
}
View resting_nonblocking_for_loop.js
1 2 3 4 5 6 7 8 9 10
//suppose you want to insert 15000000 rows to database
// i can tell you the future your program will crush
// because of background processes will be full to to the limits of the buffers for I/O
// so to not crush the system you have to let go everynow and then
//
//for(var i=0;i<a.length;i++)
//{
//}
function forloop(from_i,to_i,fn,done,max_continious_loops_i)
{
View flat_object.js
1 2 3 4 5 6 7 8 9 10
// serialization of hierarchical object/array/int/str to a flat object and back
//
// useful to store an object in compressed column store
// so it will be compressed by type and not as blob.
// the resulting object values and keys can be escaped and converted to a sql query
 
//example:
// var xx=['test',{data:[1,2,"asd"]}]
// result=flat(xx)
//
View app.js
1 2 3 4 5 6 7 8 9 10
var express = require('express'),
passport = require('passport'),
GoogleStrategy = require('passport-google').Strategy,
connect = require('express/node_modules/connect'),
http = require('http'),
path = require('path'),
util = require('util'),
fs = require('fs'),
redis = require('redis'),
cookie = require('cookie'),
Something went wrong with that request. Please try again.