Skip to content

Instantly share code, notes, and snippets.

View nkbt's full-sized avatar
💚

Nikita Butenko nkbt

💚
View GitHub Profile
@nkbt
nkbt / PeopleBrowsr.xml
Created December 17, 2013 00:11
PeopleBrowsr PHP/Webstorm auto-formatter config put to: <user>/.WebIde70/config/codestyles/PeopleBrowsr.xml
<?xml version="1.0" encoding="UTF-8"?>
<code_scheme name="PeopleBrowsr">
<option name="OTHER_INDENT_OPTIONS">
<value>
<option name="INDENT_SIZE" value="4" />
<option name="CONTINUATION_INDENT_SIZE" value="8" />
<option name="TAB_SIZE" value="4" />
<option name="USE_TAB_CHARACTER" value="true" />
<option name="SMART_TABS" value="false" />
<option name="LABEL_INDENT_SIZE" value="0" />
@nkbt
nkbt / Quall Dracula.icls
Created December 17, 2013 00:14
Less aggressive Dracula color theme for PHP/Webstorm
<?xml version="1.0" encoding="UTF-8"?>
<scheme name="Quall Dracula" version="124" parent_scheme="Default">
<option name="LINE_SPACING" value="1.1" />
<option name="EDITOR_FONT_SIZE" value="14" />
<option name="CONSOLE_FONT_NAME" value="Consolas" />
<option name="CONSOLE_FONT_SIZE" value="16" />
<option name="CONSOLE_LINE_SPACING" value="0.9" />
<option name="EDITOR_FONT_NAME" value="Consolas" />
<colors>
<option name="ADDED_LINES_COLOR" value="d6822" />
@nkbt
nkbt / chat.js
Created December 23, 2013 11:57
define('app/chat', [
'dom', 'underscore', 'lib/app'
], function ($, _, app) {
"use strict";
function init() {
var $element = $('.jsAppChat').html(app.template('template/app/chat'));
$element.find('.jsAppChat-formContainer')
.html(app.template('template/app/chat/form'));
}
@nkbt
nkbt / app.js
Created December 23, 2013 11:54
require.config({
urlArgs: window.noCacheSuffix,
baseUrl: 'js',
paths: {
underscore: 'vendor/underscore',
dom: 'vendor/jquery',
bootstrap: '../lib/bootstrap/js/bootstrap',
Firebase: 'https://cdn.firebase.com/v0/firebase',
FirebaseSimpleLogin: 'https://cdn.firebase.com/v0/firebase-simple-login'
},
@nkbt
nkbt / .bashrc
Last active February 4, 2016 15:34
.bashrc with git helpers and deployment
# .bashrc
PS1="\[\033[1;30m\][\[\033[1;34m\]\u\[\033[1;30m\]@\[\033[0;35m\]\h\[\033[1;30m\]] \[\033[0;37m\]\W \[\033[1;30m\]\$\[\033[0m\] "
export PATH=~/npm/bin:$PATH
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
@nkbt
nkbt / generate-specs.js
Created October 13, 2015 02:55
Generate empty Jasmine specs for React components
#!/usr/bin/env node
const glob = require('glob');
const path = require('path');
const fs = require('fs');
const mkdirp = require('mkdirp');
const args = global.process.argv.slice(2);
const sourcesRoot = args.shift() || path.join(__dirname, '..', 'src');
const specsRoot = args.shift() || path.join(__dirname, '..', 'spec');
const React = require('react');
const FeedsContainer = require('./FeedsContainer');
const $inject = [];
const feeds = function () {
const link = ($scope, $element) => {
const node = $element.get(0);
$scope.$watch('feeds', f =>
React.render(<FeedsContainer isLoading={!f.length} feeds={f} />, node));
module Test
  def get
    y x
  end

  def x
    'x'
  end
@nkbt
nkbt / osx-home-end.sh
Created February 6, 2018 01:34
Proper home/end bindings for OSX
mkdir -p $HOME/Library/KeyBindings
echo '{
/* Remap Home / End keys to be correct */
"\UF729" = "moveToBeginningOfLine:"; /* Home */
"\UF72B" = "moveToEndOfLine:"; /* End */
"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
"$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */
"^\UF729" = "moveToBeginningOfDocument:"; /* Ctrl + Home */
"^\UF72B" = "moveToEndOfDocument:"; /* Ctrl + End */
"$^\UF729" = "moveToBeginningOfDocumentAndModifySelection:"; /* Shift + Ctrl + Home */
@nkbt
nkbt / glob.js
Created February 2, 2018 02:26
My own slow and unoptimised glob
const process = require('process');
const fs = require('fs');
const util = require('util');
const readdir = util.promisify(fs.readdir);
const realpath = util.promisify(fs.realpath);
const stat = util.promisify(fs.stat);
const ls = async (cwd, paths = []) => {
for (let p of (await readdir(cwd))) {
const rp = await realpath(`${cwd}/${p}`);