Skip to content

Instantly share code, notes, and snippets.

Avatar
🌴
Train yourself to let go of everything you fear to lose.

WebBrother Webbrother

🌴
Train yourself to let go of everything you fear to lose.
View GitHub Profile
View resume.json
{
"basics": {
"name": "Vitaly Komarov",
"label": "Frontend developer",
"picture": "",
"email": "komarov.vitaliy@gmail.com",
"website": "http://webbrother.net",
"summary": "I'm frontend developer with over seven years of experience. I have wide experience of work in different projects (from unknown startups to worldwide famous projects). I have strong front-end development skills and related technologies awareness and JavaScript expert competencies.\nI tend to use design patterns and \"academic\" approaches (SOLID, DRY, GRASP, KISS), modern techniques (unit testing, packet managers, task runners etc.). I am especially interested in state of the art front-end trends and MVC frameworks. I like modern code quality control tools like Tslint, Prettifier.\n",
"location": {
"address": "Russia",
@Webbrother
Webbrother / update-emails.gs
Last active Oct 3, 2018
Adds labels to gmail threads if members are in contacts group
View update-emails.gs
// Add Gmail labels by contact group
// komarov.vitaliy@gmail.com, 2018
// Inspired by https://github.com/thirschbuechler/GmailContactGroupLabels
// BTW: see readme in mentioned github repo ^^^
function applyGroupLabels() {
var MY_GROUP_NAME = "My-contact-group-name"; // Change right side of this line to match your contact group
var MY_LABEL_NAME = "My-label-name"; // This as well, insert the Gmail label
var QUERY = 'in:all -in:trash -in:spam'; // This as well, insert the query
View Preferences.sublime-settings
// ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User
// Settings in here override those in "Default/Preferences.sublime-settings",
// and are overridden in turn by syntax-specific settings.
{
// Mac only: When files are opened from finder, or by dragging onto the
// dock icon, this controls if a new window is created or not.
"open_files_in_new_window": false,
}
View terminal run gist
GIST_URL=
GIST_FILE=temp_gist.sh
curl -o ./$GIST_FILE $GIST_URL
chmod 700 $GIST_FILE
./$GIST_FILE
View Shell for Vagrant virtual box
#!/bin/bash
echo "====== Start provisioning! ======"
echo "====== OS apt-get update ======"
sudo apt-get update
echo "====== Installing git ======"
sudo apt-get install -y git
echo "====== Installing ruby ======"
sudo apt-get install -y ruby-full
View Vagrantfile for Ubuntu in Windows
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
View WebStorm live template: React: Create a ES6 container class
import React, { Component, PropTypes } from 'react';
import { connect } from 'react-redux';
class $class$ extends Component {
static contextTypes = {
};
static childContextTypes = {
};
View Сетка 8x8 HTML
<div
id="grid_8x8"
style='display: none; opacity: .75; position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: 9999; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKBJREFUeNrs1jERgDAQRcEDE5QwgwZQgSVMxQZKUBGCACLgWGZSXbfF50WtNb7eOi9H8nsZ4+cfAAAAAPz6G95fRee+tXclvp+hA2wAAAAAAOgAHaADbAAAAAAA6AAdoANsAAAAAADoAB2gA2wAAAAAAOgAHaADbAAAAAAA6AAdoANsAAAAAADoAB2gA2wAAAAAAOTqgNK5T+3die/7I8AAbAirmzEWm+EAAAAASUVORK5CYII=);'
></div>
View Сетка 8х8 jade
// Сетка 8х8 ^_^
#grid_8x8(style='display: none; opacity: .75; position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: 9999; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKBJREFUeNrs1jERgDAQRcEDE5QwgwZQgSVMxQZKUBGCACLgWGZSXbfF50WtNb7eOi9H8nsZ4+cfAAAAAPz6G95fRee+tXclvp+hA2wAAAAAAOgAHaADbAAAAAAA6AAdoANsAAAAAADoAB2gA2wAAAAAAOgAHaADbAAAAAAA6AAdoANsAAAAAADoAB2gA2wAAAAAAOTqgNK5T+3die/7I8AAbAirmzEWm+EAAAAASUVORK5CYII=);')