Skip to content

Instantly share code, notes, and snippets.

View generate_share_image_with_text.rb
class SharePhoto
attr_reader :image
SRC_PATH = Rails.root.join("app/assets/images/private_share/")
def self.update_all
source_files = SRC_PATH.join("src/backgrounds")
Dir.foreach(source_files).each do |image_name|
View 2015.md
  • Ушел из компании мечты (фейл, пришлось), а потом ее купила Airbnb (вин);
  • Запустил второй проект на Эрланге в продакшн (трекер общественного транспорта, щас он уже все);
  • Для этого проекта на Эрланге сделал красивое приложение для Windows Phone в продакшн (прям качали с магазина);
  • Затащил лучшего друга в программирование, всячески ему помогал и сейчас он уже на зарплате;
  • Затащил этот проект с трекингом транспорта в дипломную и защитил на отлично, закончил универ;
  • Попал в сильную команду рубистов, там немного научили в DDD и поставили на путь, куда идти дальше в ООП;
  • Попал в другую сильную команду рубистов, где хорошо прокачал теорию и практику распределенных систем;
  • Возненавидел тех, кто использует Elasticsearch не по назначению (никогда в жизни не устану это повторять, это травма);
  • Прокачался во фронтенде (react, babel и все такое модное с БД на клиенте и иммутабельными стейтами);
  • Попал в команду ROM, написал два адаптера в продакшн (rom-elasticsearch, rom-redis) и один для себя (rom-rethin
View lager_parse_transform.erl
lager:debug("throughput ~p num/s", [length(State)]).
% transforms to
case {whereis(lager_event), whereis(lager_event), lager_config:get({lager_event, loglevel}, {0, []})} of
{undefined, undefined, _} ->
fun () -> {error, lager_not_running} end();
{undefined, _, _} ->
fun () -> {error, {sink_not_configured, lager_event}} end();
{__Pidfb_throughput43, _, {__Levelfb_throughput43, __Tracesfb_throughput43}} when __Levelfb_throughput43 band 128 /= 0 orelse __Tracesfb_throughput43 /= [] ->
lager:do_log(debug, [{application, fb}, {module, fb_throughput}, {function, handle_info}, {line, 43}, {pid, pid_to_list(self())}, {node, node()} | lager:md()], "throughput ~p num/s", [length(State)], 4096, 128, __Levelfb_throughput43, __Tracesfb_throughput43, lager_event, __Pidfb_throughput43);
@artemeff
artemeff / run
Created Aug 9, 2015
runit with erlang and relx
View run
#!/bin/sh
APP=<application_name>
USER=user
ROOT=/home/$USER/apps/$APP/_rel/$APP
export HOME=/home/$USER
exec 2>&1
exec chpst -u $USER $ROOT/bin/$APP foreground
View ram.fish
function ram
set -l sum 0
set -l app $argv[1]
if [ -z $app ]
echo "First argument - pattern to grep from processes"
else
for i in (ps aux | grep -i "$app" | grep -v "grep" | awk '{print $6}')
set sum (math $sum + $i)
end
View identified_collection.rb
module IdentifiedCollection
module ClassMethods
attr_reader :objects
def identify_by(identity)
@objects = Hash.new
@identity = identity
end
def identity
View diff.rb
class Diff
def initialize(a, b)
@a, @b = a, b
end
def left
diff(@a, @b)
end
def right
@artemeff
artemeff / mkcd.fish
Created Apr 30, 2015
Holy timesaver
View mkcd.fish
function mkcd
mkdir $argv; and cd $argv
end
View beamdec
#!/usr/bin/env escript
main([BeamFile]) ->
{ok, {_, [{abstract_code, {_, AC}}]}} = beam_lib:chunks(BeamFile, [abstract_code]),
io:fwrite("~s~n", [erl_prettypr:format(erl_syntax:form_list(AC))]).
View yosemite_conf.sh
#Enable repeat on keydown
defaults write -g ApplePressAndHoldEnabled -bool false
#Use current directory as default search scope in Finder
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
#Show Path bar in Finder
defaults write com.apple.finder ShowPathbar -bool true
#Show Status bar in Finder
You can’t perform that action at this time.