Skip to content

Instantly share code, notes, and snippets.

View ololobus's full-sized avatar
👹

Alexey Kondratov ololobus

👹
View GitHub Profile
@ololobus
ololobus / url-parsing-speed.js
Last active August 29, 2015 13:55
Small script for a measurement of url parsing speed by RegEx and by <a> DOM-element
function parseByRegEx (url) {
var parser = /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
parserKeys = ['source', 'protocol', 'authority',
'userInfo', 'user', 'password', 'host', 'port',
'relative', 'path', 'directory', 'file', 'query', 'anchor'],
m = parser.exec(url || ''),
parts = {};
parserKeys.forEach(function(key, i) {
parts[key] = m[i] || '';
@ololobus
ololobus / README.md
Last active August 29, 2015 14:04
bem-history doc

bem-history

EN

What is this?

BEM wrap for History API:

  • supports browsers with a native History API and hashchange event;
  • provides manipulations with url, browser location and history in the terms of BEM (http://bem.info/).
@ololobus
ololobus / dijkstra-functional-way.py
Last active August 29, 2015 14:05
Dijkstra algorithm
graph = [[0, 7, 9, -1, -1, 14], [7, 0, 10, 15, -1, -1], [9, 10, 0, 11, -1, 2], [-1, 15, 11, 0, 6, -1], [-1, -1, -1, 6, 0, 9], [14, -1, 2, -1, 9, 0]]
start = 3
def dijkstra(graph, start):
r = range(len(graph))
def perform(results, work_results, visited, path, current):
tested = set(filter(lambda i: (graph[current][i] >= 0) and not visited[i] and ((results[current] + graph[current][i]) < results[i]), r))
@ololobus
ololobus / xls-to-js.rb
Created August 27, 2014 16:06
XLS file dict (word, transcription, translation) to js object
require 'roo'
require 'optparse'
require 'json'
options = {}
dict = {}
OptionParser.new do |opts|
@ololobus
ololobus / en-ru-dict.js
Created August 27, 2014 17:55
EN-RU js dictionary
dict = {
"abandon": ["[ə'bændən]", "покидать, оставлять"],
"abate": ["[ə'beit]", "уменьшать, ослаблять"],
"abbreviation": ["[ə,bri:vi'ei∫(ə)n]", "сокращение, урезание"],
"abduct": ["[əb'd∧kt]", "похищать, насильно уводить"],
"abhor": ["[əb'ho:]", "питать отвращение"],
"abolish": ["[ə'bоli∫]", "аннулировать, отменять"],
"abominate": ["[ə'bоmineit]", "питать отвращение, ненавидеть"],
"abort": ["[ə'bo:t]", "аварийное прекращение"],
"abrupt": ["[ə'br∧pt]", "внезапный"],
@ololobus
ololobus / crackle-pop.hs
Created August 28, 2014 20:57
CracklePop program
hundred = [1..100]
crack n
| mod n 5 == 0 && mod n 3 == 0 = "CracklePop"
| mod n 3 == 0 = "Crackle"
| mod n 5 == 0 = "Pop"
| otherwise = show n
main = print (map crack hundred)
@ololobus
ololobus / kit-walkthrough.md
Last active August 29, 2015 14:07
KIT LAMP&WordPress task walkthrough
  1. Установил, скачал, импортировал. Тут вроде бы никаких проблем не возникло

  2. Установил LAMP на yakit-z01 с помощью sudo tasksel install lamp-server. Скачал и распаковал WordPress.

Для завершения установки через web-интерфейс пробросил 80 порт первой машины (yakit-z01 10.0.2.101) на 8080 у хоста (у меня 192.168.1.2). Root pass mysql: ololo, WP -- login:kit, pass:kitkit.

  1. Установил LAMP на yakit-z02 и настроил на него репликацию базы wordpress с yakit-z01. Для этого завел mysql-пользователя repl на master-ноде, поменял конфиги, сделал дамп базы и перенес его на slave-ноду.

  2. Запустил yandex-tank с машины yakit-z03, но ему не хватало памяти (требовал свободных более чем 512МБ). Увеличил размер памяти до 1ГБ, написал пробные конфиги для тестов и настроил загрузку результатов на https://loadosophia.org. Результаты:

@ololobus
ololobus / src2img.md
Last active August 29, 2015 14:11
Пост про проект src2img на хакатоне по БЭМ

Хакатон: проект "src2img"

src2img logo

Привет, меня зовут Кондартов Алексей (github.com/ololobus, facebook.com/ololobus) и я представлял на хакатоне проект src2img.

Предыстория

@ololobus
ololobus / badass-checker.py
Last active October 7, 2015 14:48
Scoring scripts for Data Science Week 2015 Datathon in Moscow
#!/usr/bin/env python
import sys
import json
team_path = '/users/team%s/ozon_recoms.txt' % sys.argv[1]
badass_detected = False
@ololobus
ololobus / create_index.sql
Created December 4, 2015 22:58
PostgreSQL create index and full-text search query
UPDATE tus SET text1_tsvector = to_tsvector(COALESCE(lang1_psql, 'simple')::regconfig, COALESCE(text1, ''));
UPDATE tus SET text2_tsvector = to_tsvector(COALESCE(lang2_psql, 'simple')::regconfig, COALESCE(text2, ''));
/* CREATE INDEX text1_tsvector_idx ON tus USING gin(text1_tsvector);
CREATE INDEX text2_tsvector_idx ON tus USING gin(text2_tsvector); */
CREATE INDEX text_tsvector_idx ON tus USING gin(text1_tsvector, text2_tsvector);
CREATE FUNCTION text_tsvector_update() RETURNS TRIGGER AS $$
BEGIN
IF TG_OP = 'INSERT' THEN