Skip to content

Instantly share code, notes, and snippets.

View webgago's full-sized avatar
🏠
Working from home

Anton Sozontov webgago

🏠
Working from home
View GitHub Profile
set-option -sa terminal-overrides ",xterm*:Tc"
set -g mouse on
set -g mode-keys vi
# Set prefix
unbind C-b
set -g prefix §
bind § send-prefix
# Start windows and panes at 1, not 0
@webgago
webgago / app.rb
Last active October 1, 2020 15:50
#
# inspired by https://www.youtube.com/watch?v=3Q_oYDQ2whs
#
require './military_time'
require './time_slot'
require './schedule'
my_schedule = Schedule.new([%w(9:00 10:30), %w(12:00 13:00), %w(16:00 18:00)], bounds: %w(9:00 20:00))
your_schedule = Schedule.new([%w(10:00 11:30), %w(12:30 14:30), %w(14:30 15:00), %w(16:00 17:00)], bounds: %w(10:00 18:30))
RubyProf.start
result = RubyProf.stop
printer = RubyProf::GraphHtmlPrinter.new(result)
File.open(Rails.root.join('tmp/profile_refactoring.html'), 'w+') { |f| printer.print(f, :min_percent => 2) }
class Array
# array.to_flatten -> new array
#
# Returns a new array that is a one-dimensional flattening of +self+
# (recursively).
#
# That is, for every element that is an array, extract its elements into
# the new array.
#
# a = [[1, 2, 3], [4, 5, 6, [7, 8]], 9, 10]
@webgago
webgago / base_search.rb
Created May 26, 2016 04:39
chewy example
# app/search/base_search.rb
class BaseSearch
class_attribute :index
class_attribute :per_page
self.per_page = 20
def initialize(params={}, &block)
@index = self.index.constantize

Отдельно бы хотел сказать еще об одной площадке. Это бомба, находка для маркетологов, и я до сих пор не понимаю, почему вы еще не используете эту площадку. Итак, встречайте: Cossa.ru. Суммарно мы получили с опубликованных тридцати материалов 3 120 переходов (по Яндекс.Метрике), совсем неплохо. Но главное даже не это. При том что Cossa.ru – это открытая трибуна, и опубликоваться на ней может любой. У этой площадки есть одно удивительное свойство – она рождает массовые републикации материала, при условии, конечно, что он качественный и интересен широкой аудитории. Почти каждый опубликованный материал рождал републикации. Лучшие материалы давали до 10 републикаций, причем многие из них на очень качественных площадках, куда «зайти с улицы» нам было бы тяжело.

Исходя из нашего опыта работы с Cossa.ru и анализа републикаций, хотим дать несколько советов по подготовке материалов для этой площадки:

  • Материалы должны быть сверхкачественными. Не нужно стремиться публиковать там все, что вы пишете. Лучше меньше, да л
@webgago
webgago / designer.html
Created August 18, 2014 09:36
designer
<link rel="import" href="../google-map/google-map.html">
<polymer-element name="my-element">
<template>
<style>
:host {
position: absolute;
width: 100%;
height: 100%;
bundle exec bin/shunting_yard_algorithm calculate expression.rb
result for
100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 * 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 * 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 * 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 * 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 * 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 * 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (23 * 239) ^ 2 * 2 + 100 * 100 - 200 * 3487 + (2
@webgago
webgago / convert-mp3tags.sh
Created May 20, 2013 20:59
convert mp3tags
find ~/Music/ -name '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1
@webgago
webgago / validation.rb
Created April 16, 2013 14:49
Сложная валидация больших объектов
class PersonValidator
def validate(record)
record.validates_presence_of :reject_reason
end
end
class Form10Validator
def validate(record)
case record.applicant_type
when 'husband'