Skip to content

Instantly share code, notes, and snippets.

💭
:trollface:

Victor Maslov Nakilon

💭
:trollface:
View GitHub Profile
@Nakilon
Nakilon / HOW TO (example).md
Last active Apr 9, 2020
streaming a still image with ability to replace it on the fly
View HOW TO (example).md

Streaming local Moscow time:

  • mkdir stream && cd stream
  • test run:
    docker run --rm -it -v $(pwd):/mounted -w /mounted --log-driver local -e TZ=Europe/Moscow nakilonishe/alpine-vips-text sh -c "apk add tzdata && while sleep 0.5; do vips text image.v \"\$(date '+%Y-%m-%d%n %H:%M:%S')\" --dpi 200 --font Monospace && vips invert image.v atomic.png && mv atomic.png image.png; done"
    export key=...
    docker run --rm -it -v $(pwd):/mounted -w /mounted --log-driver local -e key -e loglevel=info -e s=640x360 -e preset=medium nakilonishe/ffmpeg-stream-image
@Nakilon
Nakilon / 0 rating.txt
Last active Mar 31, 2020
"Large Text Compression Benchmark" (http://mattmahoney.net/dc/text.html) sorted at the same time by compression ratio, speed and memory usage
View 0 rating.txt
1. GRZipII
2. Info-ZIP
3. WinRAR
4. gzip124hack
5. bssc
6. ppms, bzp, gzip
7. scmppm, lzsr, CTXf
8. M1x2
9. ppmd
10. sr3c, drt|lpaq9m
@Nakilon
Nakilon / materials.rb
Last active Dec 9, 2019
7 Days to Die -- best building blocks (by glue and mass)
View materials.rb
blocks = Hash[ File.read("blocks.xml").scan(/<block .*?<\/block>/m).each_with_object({}){ |m, h|
xml = Nokogiri::XML m
if mat = xml.at("[name=Material]")
h[xml.root[:name]] = mat[:value]
elsif ext = xml.at("[name=Extends]")
h[xml.root[:name]] = ->{ h.fetch ext[:value] }
end
}.map{ |k, v| [k, MLL::nest_while[v, ->_{ _.call }, ->_{ _.respond_to? :call }]] rescue nil }.compact.
group_by(&:last).map{ |mat, g| [mat, g.map(&:first)] } ]
fail unless blocks.values.flatten.include? "woodCatwalkRailing2"
@Nakilon
Nakilon / Day 1.md
Last active Dec 10, 2019
7 Days to Die -- my story
View Day 1.md

Непонятным образом я очнулся на дороге -- проселочная, пыльная дорога простиралась через холмы с северо-запада на юго-восток. На юге виделась деревушка, но уже издали было понятно, что в ней нет жизни, поэтому я туда не пошел. На севере, правей дороги стоял домик, относительно целый, если сранивать с другими постройками, виднеющимися отсюда. Я решил обыскать его и поселиться в нем для начала. По дороге я изучил местную флору и фауну -- камушки, трава, растения, похожие на лекарственные, прок от которых мне еще следует узнать. Также по дороге мне встретились страшные твари -- зомби. Кажется, солнечный свет они не любят -- ходят медленно и потому не представляют для меня большой угрозы. Наломав немного дров и насобирав камней и трав, я сделал каменный топор, и уже им добыл еще больше дерева и камня, сделав из этого копье и лук. В траве встречаются птичья гнезда -- в них перья, которые необходимы для стрел. Освоив такие навыки выживания, я добрался до дома.
Стучать не стал, потому то у меня уже стало складыват

@Nakilon
Nakilon / happy_cursing.rb
Last active Nov 19, 2019
mix "happy" and "cursing" words stats together for final ranking
View happy_cursing.rb
require "bundler/inline"
gemfile do
source :rubygems
gem "pcbr"
end
require "open-uri"
require "csv"
happy, cursing = %w{ happy cursing }.map do |filename|
CSV.parse(
@Nakilon
Nakilon / id_rsa.pub
Created Sep 26, 2019
macbook 2017 pub key
View id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyqfb/JsmNKlCSCC9F+VhG0tsxHhGEMMIyjpenIX97cPKjC6SL1S0APoxta7YdHgOYwOD76n3VuJoOSAcQ0FeY6i+PmONnrfAXFrpknyr1e6FwWyNQACZj+df7nowLy8l5AmLpy2U8gd6zpCN/0SPaeyxLcouBNgEU+AfItsJqg8dN2pMsJAH5eGAflWqBlPUhRlqXhxQHTrY2WAbiHoxrSj9becaWa3aL8k2wTS3TVpGQGAgzNYNa4bSrm70mPJvUvReP13KymfJkKoRv/7ZgQBCD7pHDf0tu0kwh0CE4RvsydARHbsKIYeZh70v7YYBGZ48tvOqov9A6ztQ1u9YR nakilon@gmail.com
@Nakilon
Nakilon / gist:959835ebbb474ad072ca98e26fc96e4f
Created Dec 3, 2018
QuakeLive dedicated server guide draft; the rest is somewhere on another machine
View gist:959835ebbb474ad072ca98e26fc96e4f
screen -x workshop
steamcmd +login anonymous +workshop_download_item 282440 539421606 +quit
screen -x server
QLDS_RCON_PASS=... QLDS_STATS_PASS=... ./run.sh 0
steam@ql:~$ tree qlds_fs_homepath/27960/
qlds_fs_homepath/27960/
└── baseq3
├── access.txt
@Nakilon
Nakilon / Nakilon_1.txt
Last active Jul 24, 2018
COLOBOT: Code battle - vs computer :: this one by Nakilon is very short and defeats AI
View Nakilon_1.txt
void titanium() {
object o;
while (null == (o = radar(TitaniumOre, 0, 360, 0, 30))) wait(0.1);
goto(o.position);
grab();
goto(radar(Converter, 0, 360, 0, 20).position);
drop();
move(-2);
}
@Nakilon
Nakilon / news.md
Last active May 6, 2018
Changes in Ruby versions that are the most important for me (comments https://www.reddit.com/r/ruby/comments/8233et/so_ive_updated_my_macos_and_now_switching_from/)
View news.md

N -- new feature -- I may consider using it
B -- breaking change -- I should review my code

https://github.com/ruby/ruby/blob/ruby_2_1/NEWS

N def-expr now returns the symbol of its name instead of nil.
N Array#to_h converts an array of key-value pairs into a Hash.
N Enumerable#to_h converts a list of key-value pairs into a Hash.
N Binding#local_variable_get(symbol)
N Exception#cause provides the previous exception which has been caught at where raising the new exception.
@Nakilon
Nakilon / 1.1.bfn
Created Dec 9, 2017
adventofcode.com/2017/day/1 (Part 1) in Befunge, 61 chars
View 1.1.bfn
~:00pv<@.$>#$<
5:~::<|-5-
\68*-+ v$\_
v0g00$<> #-
>\00p\00g:|
You can’t perform that action at this time.