Skip to content

Instantly share code, notes, and snippets.

View mshustov's full-sized avatar

Mikhail Shustov mshustov

  • ClickHouse
  • Berlin, Germany
View GitHub Profile
@mshustov
mshustov / sgg.sh
Last active August 29, 2015 14:05
#!/bin/bash
# Example usage:
# ./sgg.sh http://islands-components.incrop.lego-dev.dev.yandex-team.ru/ popup
GATHER_URL=${1:-https://lego-staging.dev.yandex-team.ru/islands-components/dev/}
BLOCK=$2
DIR_MAIN=gemini/screens
DIR_DIFF=gemini-report/diff
IMG_DIFF=./current-diff.png
@mshustov
mshustov / gist:0370e219f1fb062238df
Created January 19, 2015 12:34
manual send mail via smtp
var promise = require('promise');
var punycode = require('./punycode.min');
var smtpc = require("smtpc");
var config = require("./config");
exports.send_mail = function (to, topic, body) {
return new promise(function(resolve, reject){
var _to = [];
for (var i = 0 ; i < to.length; i++) {
_to[i] = punycode.toASCII(to[i]);
@mshustov
mshustov / gist:82ef15b95bcdccce34aa
Last active August 29, 2015 14:14
handlebars like template
var reg = /\{\{(.+?)\}\}/gim;
var zz = 'hello {{name}} {{surname}}'.replace(reg, function(full, key){
switch(key){
case 'name':
return 'myName';
case 'surname':
return 'mySurname'
}
});
@mshustov
mshustov / checks.js
Last active August 29, 2015 14:16 — forked from andre487/checks.js
exports.fastElements = function(obj) {
if (%HasFastSmiElements(obj)) {
console.log('Fast SMI elements');
}
if (%HasFastSmiOrObjectElements(obj)) {
console.log('Fast SMI or Object elements');
}
if (%HasFastObjectElements(obj)) {
console.log('Fast Object elements');
}
function(fn, cb){
var a = fn(cb);
var b;
setTimeout(function(){
b = fn(cb);
}, 100);
}
function Man(name, age){
this.name = name;
#!/bin/bash
REL_PATH=$(dirname $0)
cd $REL_PATH
env=$1
CONFIG=$(cat container-config/env-$env.sh | base64)
# delete the old config
sed -e "s/{{config_data}}/''/g" container-config/config-template.yaml | kubectl delete -f -
var hello = 'hello';
var world = 'world';
var mark = '!';
var options = {
silent: true
};
function greet(options, first, second){
if (options.silent){
var getSources = function(name) {
var filename = name.substr(templateParams.htmlWebpackPlugin.files.publicPath.length);
return templateParams.compilation.assets[filename].source();
}
templateParams.htmlWebpackPlugin.files.css.map(getSources)
templateParams.htmlWebpackPlugin.files.js.map(getSources)
@mshustov
mshustov / error-stack-parser.js
Last active December 28, 2017 11:38
parse error stack
// "error-stack-parser": "2.0.1",
// "stacktrace-gps": "3.0.2"
// additional sources https://github.com/stacktracejs/stacktrace.js/blob/master/stacktrace.js#L102-L116
import fs from 'fs';
import path from 'path';
import { SourceMapConsumer } from 'source-map';
import StackTraceGPS from 'stacktrace-gps';
import ErrorStackParser from 'error-stack-parser';
import mapValues from 'lodash/mapValues';