Skip to content

Instantly share code, notes, and snippets.

View ololobus's full-sized avatar
👹

Alexey Kondratov ololobus

👹
View GitHub Profile
@ololobus
ololobus / Rails_ActiveRecord_SQL_caching_bench.md
Last active March 11, 2023 00:25
Rails ActiveRecord SQL Caching vs Cache to Hash catalog benchmark

Results

Caching with ruby hash is about 1000 times faster than per iteration request to DB without Rails ActiveRecord SQL caching and about 200 times faster than per iteration request with SQL caching.

@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
#!/usr/bin/env spark-submit
import operator
import random
import math
import os
from pymongo import MongoClient
@ololobus
ololobus / Spark+ipython_on_MacOS.md
Last active November 22, 2022 22:24
Apache Spark installation + ipython/jupyter notebook integration guide for macOS

Apache Spark installation + ipython/jupyter notebook integration guide for macOS

Tested with Apache Spark 2.1.0, Python 2.7.13 and Java 1.8.0_112

For older versions of Spark and ipython, please, see also previous version of text.

Install Java Development Kit

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

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

src2img logo

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

Предыстория

@ololobus
ololobus / mdadm-check.sh
Created October 6, 2014 23:26
mdadm raid1 array check script
#!/bin/bash
# При запуске без параметров `bash mdadm-check.sh` проверяет все массивы из `raids`.
# Если один из дисков неиправен, то заменяет его на резервный из `backup_disk`.
# Передав параметр `install` `bash mdadm-check.sh install` можно внести запись
# в cron, для выполнения проверки каждую минуту (Установка работает в Ubuntu 14.04).
# После этого можно испортить один из дисков командой `test` `bash mdadm-check.sh test`,
# чтобы проверить работу. При этом будет сломан диск из `test_disk`.
@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 / 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 / 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 / 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|