Skip to content

Instantly share code, notes, and snippets.

View aloncarmel's full-sized avatar
🤘
❤️ Having fun!

Alon Carmel aloncarmel

🤘
❤️ Having fun!
View GitHub Profile
@aloncarmel
aloncarmel / killsockets.js
Created July 21, 2014 08:28
Fight renegade socket.io connections that try to kill your server
/*
Very simple solution for fighting renegade connections that try to overflood your socket.io server and kill your nodejs.
This limits number of connections and sends disconnect to the rest.
You can expend it by saving IP list in memory and handle uniqueness per IP also if you wish.
*/
//Start count
var connections = 0;
var maxconnections = 1000;
AtomAdapter.prototype.setOtherCursor = function(cursor, color, clientId) {
var clazz, css, cursorRange, end, justCursor, start, _ref,
_this = this;
if (this.otherCursors == null) {
this.otherCursors = {};
}
cursorRange = this.otherCursors[clientId];
if (cursorRange) {
@aloncarmel
aloncarmel / stop_words.txt
Created June 4, 2012 09:40 — forked from DarrenN/stop_words.txt
Naively parse a text removing stopwords
'tis
'twas
a
aah
aaron
abandon
abandoned
abbott
abby
abe
@aloncarmel
aloncarmel / gist:6404647
Created September 1, 2013 14:02
Small experiement to start writing my own related content engine on app engine using search api and some basic levenshtein. * Grabs keywords per url from textwise.com * Writes full text search in app engine, creates a hash. * Grab url and keywords, compare hashes after keyword search. Its a start. never been tested.
#!/usr/bin/env python
#
# Copyright 2007 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
@aloncarmel
aloncarmel / encryptor.js
Last active January 1, 2016 07:29
Encrypt and Decrypt text on nodejs with callbacks.
//Encrypt data, call callback when done for make sure everything is done.
function EncryptText(text,key,callback) {
console.log('Encrypting text');
var cipher = crypto.createCipher('aes-256-cbc',key)
var crypted = cipher.update(text,'utf8','hex')
crypted += cipher.final('hex');
@aloncarmel
aloncarmel / capture
Created January 23, 2014 15:20
A try to capture chrome pages using the pagecapture and create an image of them. NOT working.
chrome.pageCapture.saveAsMHTML({'tabId':1654}, function(mhtmlData){
var reader = new FileReader();
reader.readAsText(mhtmlData);
reader.onloadend = function() {
var html = reader.result;
d = document.createElement('div');
@aloncarmel
aloncarmel / inserthtmltonode.js
Created August 13, 2014 12:51
Insert html into textnode
var selection = document.getSelection();
var cursorPos = selection.anchorOffset;
var oldContent = selection.anchorNode.nodeValue;
var toInsert = '_BUTTON_';
var newContent = oldContent.substring(0, cursorPos) + toInsert + oldContent.substring(cursorPos);
@aloncarmel
aloncarmel / package.json
Created April 20, 2016 13:11
An Amazon lambda nodejs code that runs and waits for API calls coming in from a segment webhook configured. This lets you sync segment identify calls to salesforce. Its ready for a call from salesforce to update segment.
{
"name": "segmenttosalesforce",
"private": true,
"version": "0.0.1",
"description": " sync data across services",
"keywords": [],
"dependencies": {
"aws-sdk": "^2.0.17",
"request": "^2.44.0",
"bcrypt": "^0.8.0",
@aloncarmel
aloncarmel / randombg.js
Created August 20, 2013 13:35
Grab a random background from unsplash.com and apply to a div.
function GetRandomBackground()
{
var url = 'http://unsplash.com/rss';
$.ajax({
url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent(url),
async: false,
jsonpCallback: 'jsonCallback',
contentType: "application/json",
@aloncarmel
aloncarmel / PBIgetEmbedToken.php
Last active July 23, 2020 17:02
Embed a PowerBi Report using PowerBi JS library with AccessToken and EmbedToken
<?php
function getAccessToken() {
$curl = curl_init();
$data = array(
'client_id' => 'XXXXX',
'client_secret' => 'XXXX',
'grant_type' => "password",