Skip to content

Instantly share code, notes, and snippets.

Alexander Egorov sashaegorov

Block or report user

Report or block sashaegorov

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@sashaegorov
sashaegorov / prime.rb
Created Jan 11, 2019
Prime numbers with Ruby endless range
View prime.rb
factors = -> (n) { (1..n).select{|x| n % x === 0} }
prime = ->(n){ (factors === n) === [1,n] }
(1..).lazy.select(&prime).take(10).to_a
@sashaegorov
sashaegorov / es60_tags_search.js
Created Jan 22, 2018
ElasticSearch setup for searching tags
View es60_tags_search.js
// DELETE my-index
// PUT my-index
{
"settings": {
"analysis": {
"analyzer": {
"auto_completion_analyzer": {
"type": "custom",
"filter": [
@sashaegorov
sashaegorov / sleep.js
Created Dec 25, 2017
Await and Sleep
View sleep.js
function sleep (time, arg) {
console.log(`Sleep started for ${arg}...`);
return new Promise((resolve) => {
setTimeout(() => {
resolve(arg);
}, time);
});
}
await sleep(1000, this.report.pagination.pageNumber)
@sashaegorov
sashaegorov / ar_arel_wrapper.rb
Created Feb 22, 2017 — forked from tokland/ar_arel_wrapper.rb
Simple wrapper over arel
View ar_arel_wrapper.rb
require 'active_record'
require 'arel'
# Ruby-like syntax in AR conditions using the underlying Arel layer (Rails >= 3.0).
#
# What you would usually write like this:
#
# User.where(["users.created_at > ? AND users.name LIKE ?", Date.yesterday, "Mary"])
#
# can now be written like this (note those parentheses required by the operators precedences):
@sashaegorov
sashaegorov / .eslintrc
Created Sep 18, 2016 — forked from elycruz/.eslintrc
.eslintrc as yaml file
View .eslintrc
# --------------------------------------------------------------------------------------------------------------------- #
# Conversion of http://eslint.org/docs/rules/ to an actual .eslintrc file:
# Copied: 04/01/2015
# Updated to yaml format: 05/15/2015
# Copied by: Ely De La Cruz <elycruz@elycruz.com>
# --------------------------------------------------------------------------------------------------------------------- #
# --------------------------------------------------------------------------------------------------------------------- #
# Environemnt Types:
# --------------------------------------------------------------------------------------------------------------------- #
@sashaegorov
sashaegorov / node-cluster-messaging.js
Created May 14, 2016 — forked from jpoehls/node-cluster-messaging.js
Simple message passing between cluster master and workers in Node.js
View node-cluster-messaging.js
var cluster = require('cluster');
if (cluster.isWorker) {
console.log('Worker ' + process.pid + ' has started.');
// Send message to master process.
process.send({msgFromWorker: 'This is from worker ' + process.pid + '.'})
// Receive messages from the master process.
View ruby_private_inheritance.rb
class Parent
attr_accessor :a, :b
def initialize(a)
@a = a
end
private
def set_b
@b = 'b'
end
end
@sashaegorov
sashaegorov / cs-jq-plugin-template.coffee
Created Oct 30, 2015 — forked from rjz/cs-jq-plugin-template.coffee
Coffeescript jQuery Plugin Class Template
View cs-jq-plugin-template.coffee
# A class-based template for jQuery plugins in Coffeescript
#
# $('.target').myPlugin({ paramA: 'not-foo' });
# $('.target').myPlugin('myMethod', 'Hello, world');
#
# Check out Alan Hogan's original jQuery plugin template:
# https://github.com/alanhogan/Coffeescript-jQuery-Plugin-Template
#
(($, window) ->
View string_sub_bm.rb
require 'benchmark'
N = 10_000_000
Benchmark.bmbm do |bm|
bm.report('String') do
N.times do
a = 'devise/session'
a.sub('/', '-')
end
View gist:0b5065619e862b54fef6
$ ssh egorov@hdp001.rdb
$ echo 42 > big_data.txt
$ hadoop fs -put big_data.txt /tmp
$ hadoop fs -ls /tmp
Found 1 item
-rw-r--r-- 3 egorov supergroup 3 2015-07-10 02:41 /tmp/big_data.txt
$ hadoop fs -du /tmp/big_data.txt
3 /tmp/big_data.txt
[egorov@hdp001 ~]$ hadoop fs -stat %o /tmp/big_data.txt
134217728
You can’t perform that action at this time.