Skip to content

Instantly share code, notes, and snippets.

@EyalAr
EyalAr / 1.generator_example.js
Created May 9, 2014 07:19
Code snippets for Javascript generators and asynchronous code presentation. Based on http://eyalarubas.com/javascript-generators-and-callbacks.html
// generate a series of even numbers,
// but be able to to reverse the order of iteration
function * generateEvens(start) {
var dir = 1; // up
if (start % 2 !== 0) start++;
while (true) {
var tmp = yield start;
if (tmp === 'up') dir = 1;
if (tmp === 'down') dir = -1;
{
"always_show_minimap_viewport": true,
"color_scheme": "Packages/Monokai Extended/Monokai Extended.tmTheme",
"draw_minimap_border": true,
"ensure_newline_at_eof_on_save": true,
"font_face": "SourceCodePro-light",
"font_size": 15,
"caret_extra_width": 1,
"caret_style": "phase",
"ignored_packages": [
@EyalAr
EyalAr / gist:22747ffd69d89d095fc4
Created May 25, 2014 05:59
Bash prompt format
export PS1='[\[\033[0;95m\]\#\[\033[0m\]][\[\033[0;35m\]\!\[\033[0m\]] \[\033[0;36m\]\u\[\033[0m\]:\[\033[0;32m\]\W\[\033[0m\]\[\033[0;33m\]$(declare -F __git_ps1 &>/dev/null && __git_ps1 ":%s")\[\033[0m\]\[\033[0;31m\]$\[\033[0m\] '
@EyalAr
EyalAr / conf.example.js
Last active August 29, 2015 14:01
Generic configuration parser for my Node.js projects. Allows to override selectively with environment variables.
module.exports = {
key1: 'foo',
key2: {
subkey1: 'foo',
subkey2: {
subsubkey1: 'foo',
// ...
}
}
}
@EyalAr
EyalAr / dbcopy.sh
Last active August 29, 2015 14:02
Export from one mongo database into another
#!/usr/bin/env bash
#https://gist.github.com/EyalAr/4bc6524c3c9ae6af33a9
SOURCE_HOST=127.0.0.1
SOURCE_DB=dev
TARGET_HOST=127.0.0.1
TARGET_DB=stage
@EyalAr
EyalAr / error_demo.go
Last active August 29, 2015 14:05
Go + ZeroMQ ROUTER socket concurency problem demo
// This is a demonstration for a ROUTER socket which is used concurrently
// by two different threads. One to receive messages and one to send.
// Running this program will cause a panic because ZeroMQ sockets are not
// threads-safe.
package main
import (
"fmt"
zmq "github.com/pebbe/zmq4"
@EyalAr
EyalAr / README.md
Last active August 29, 2015 14:06
TroopJS data-weave inside template bug - multiple widget instances are created for elements

To run:

  1. Clone this gist
  2. bower install
  3. Serve index.html
  4. Open developer tools inspector
  5. First `` element has 4 widget instances attached; second had 3, etc.
@EyalAr
EyalAr / README.md
Last active August 29, 2015 14:06
Benchmarks of various nested loops control flow mechanisms in Javascript

MDN recommends NOT to use labels in Javascript, and instead use exceptions or functions. But turns out labels are the fastest, closely followed by named functions.

Test case: Run two nested loops. The inner loop needs to continue the outer loop upon some condition.

Tests:

  1. Using named loops with labels.
@EyalAr
EyalAr / CsvWriter.hpp
Last active December 15, 2015 21:38
Code samples for my face detection and recognition with OpenCV tutorial. http://blog.eyalarubas.com/2013/03/14/face-detection-and-recognition-theory-and-practice/
class CsvWriter {
public:
CsvWriter(const string &csvPath);
virtual ~CsvWriter();
void nextLine();
void addEntry(const string &s);
private:
ofstream _fs;
bool _isFirstEntry;
};
@EyalAr
EyalAr / InitPersonRecognizer.cpp
Last active December 1, 2016 03:34
Code snippets for my OpenCV face recognition tutorial, in which I show how to build an application which recognizes a specific person in a video. Full code at: https://bitbucket.org/EyalAr/person-recognizer
#define PERSON_LABEL = 10 //some arbitrary label
//LBPH face recognizer parameters:
#define RADIUS 1
#define NEIGHBORS 8
#define GRID_X 8
#define GRID_Y 8
#define THRESHOLD 130.0
//create a LBPH face recognizer model: