Skip to content

Instantly share code, notes, and snippets.

View spion's full-sized avatar
:shipit:

Gorgi Kosev spion

:shipit:
View GitHub Profile
exports.pipe = function (source, sink) {
var resolve, reject;
return new Promise(function(resolve_, reject_) {
resolve = resolve_;
reject = reject_;
source
.on("error", reject)
.pipe(sink)
.on("error", reject);
.on("finish", resolve);
var raven = require('raven')
, Promise = require('bluebird')
, requestAsync = require('request-promise')
var redis = Promise.promisifyAll(require('redis').createClient())
var languages = JSON.parse(require('fs').readFileSync(__dirname + '/languages.json')).languages
Promise.all(languages.map(function(language){
return redis.setAsync('lang:'+language.tag+':name', language.name)
export class CodedError extends Error {
constructor(code, msg) {
super(msg)
this.code = code;
this.msg = msg;
}
static is(code) {
return (e) => e.code == code;
}
static only(code, handler) {
@spion
spion / table.ts
Created November 6, 2015 18:00 — forked from whoeverest/table.ts
/// <reference path="anydb-sql.d.ts" />
import anydbsql = require('anydb-sql');
var db = anydbsql({
url: 'postgres://user:pass@host:port/database',
connections: { min: 2, max: 20 }
});
// Table Post
@spion
spion / existing.sql
Last active November 9, 2015 04:58 — forked from eduardoleon/existing.sql
create table male
( male_id int not null
, primary key (male_id) );
create table female
( female_id int not null
, primary key (female_id) );
create table name
( id int not null
@spion
spion / functional.js
Last active December 6, 2015 13:36 — forked from Arnavion/async-await.ts
Promise.any - async/await vs then()
let pending = new Promise((r,rj) => {})
let waitForever = () => pending
let reject = Promise.reject.bind(promise)
let identity = x => x
let promiseTransform = fns => p => p.then(fns.fullfilment, fns.rejection)
function any(promises) {
let fulfillments = promises.map(promiseTransform({fullfilment: identity, rejection: waitForever}))
let rejections = promises.map(promiseTransform({fullfilment: waitForever, rejection: identity}))
let firstFulfill = Promise.race(fulfillments);
#include <OneWire.h>
#include <LiquidCrystal.h>
#include <avr/delay.h>
#define CHANGERATE 5 // in which limits will the temperature change since the last reading, in degrees
#define INPUTPIN 5
// For every sensor found it outputs to serial:
// SensorID,CurrentTemp,Readout time,Current time
// Info at: http://wiki.spodeli.org/Хаклаб/Температура
ffmpeg = require 'fluent-ffmpeg'
mongoose = require 'mongoose'
amqp = require 'amqp'
async = require 'async'
# Connect to RabbitMQ
amqpConnect = (done) ->
amqpConnection = amqp.createConnection {host: 'localhost'}
amqpConnection.on 'ready', done.bind(this, null, amqpConnection);
amqpConnection.on 'error', done.bind(this, "Failed connecting to rabbit");
@spion
spion / gen-test.js
Last active December 17, 2015 13:59 — forked from creationix/output.log
var fs = require('fs');
function run(makeGenerator) {
return function () {
var generator = makeGenerator.apply(this, arguments);
var continuable, sync, value;
next();
function next() {
var less = require("less"),
Promise = require("promise");
module.exports = function(options) {
return function(inputs) {
return Promise.all(inputs.map(lessp)).then(function(css) { return css.join(''); });
};
};
function lessp(input) {