Skip to content

Instantly share code, notes, and snippets.

@Nakilon
Nakilon / 2048.rb
Last active July 26, 2023 22:15
2048 golfed to 379 chars in Ruby by Nakilon for http://www.reddit.com/r/tinycode/comments/22wozn/
require"io/console"
_=[[_]*4]*4
t=->{_=_.transpose}
r=->{_.map! &:reverse}
f=->{_=_.map{|_|_=(_*?\s).gsub(/\b(\d+) +\1\b/){|_|_.to_i*2}.split;_[3]||=p;_}}
f[]
loop{(0while _[i=rand(4)][j=rand(4)];_[i][j]=[*[?2]*9,?4].sample)if$n!=_*?_
system"clear"
_.map{|_|puts"%5s"*4%_}
(c=STDIN.getch)[?q]|0
a=*$<.map{|s|s.scan /[a-z]+/i}
a[0]+=x=[i=0]
a.map{n=*x
a.map{|b|(b&x)[0]&&n+=b}
exit p i if(["Erdos"]&x=n)[0]
i+=1}
puts"Inf"
@Nakilon
Nakilon / prime.cr
Last active September 7, 2015 00:27
prime? method (in fact a lambda) implemented in Crystal
macro break_if_enough divisible, divisor, to_return = nil
q, r = {{divisible}}.divmod {{divisor}}
{% if to_return %}
return false if r == 0
return true if q <= {{divisor}}
{% else %}
break false if r == 0
break true if q <= {{divisor}}
{% end %}
end
@Nakilon
Nakilon / 111.cr
Created September 7, 2015 08:33
Crystal "almost" solution to Project Euler 111
macro break_if_enough divisible, divisor, to_return = nil
q, r = {{divisible}}.divmod {{divisor}}
{% if to_return %}
return false if r == 0
return true if q <= {{divisor}}
{% else %}
break false if r == 0
break true if q <= {{divisor}}
{% end %}
end
@Nakilon
Nakilon / 111.cpp
Last active September 7, 2015 08:38
C++ "almost" solution to Project Euler 111
#include <stdio.h>
#include <assert.h>
#include <math.h>
struct prime {
int32_t value;
prime* next;
};
prime primes = { 2, NULL };
prime* tail = &primes;
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKOJygfeqxk6yVuQdEdarz7BRtYKOa15NpzVhWdt9BltQY3y9R74UpEbYAd3/C3Fax+mQp4kJy7eBO4wxRBUl0/EIkMq691dwAajLK3U0nZylWRZDUjNpXMhZ8W1W95xv3/Li3o4ssi3Ns9Dkny7/aQOVPl/ggUFIG4jVebkxcv0b0b84Aq6jEGwIV8Og1Ps2FjoHvUw1SlAoNj2wRQfMW6BzbzOkyCeTwzl7gk2D1f8XysyY0WeJGQn3m3WnTAY8oSDLCCSzUNbP/swekdGf5j9M3ldhlf9OJb39/aq+dYCDItteu/KQj5av8btn4ntmv8Gf+y5O+n3AuXD7VQwh7 nakilon@nakibook.local
@Nakilon
Nakilon / Starbound v1.0
Last active April 12, 2020 09:31
small example
$ ruby recipes.rb Carrot Potato Bandage
1 roastedcarrot = 1 Carrot
1 carrotjuice = 1 Carrot
1 bakedpotato = 1 Potato
1 mashedpotato = 1 Potato
1 potatogrids = 2 Mashed Potato
By default all consumables are assumed to:
1) WellFed you
2) be blocked if you are WellFed already
3) Heal in 60 seconds
@Nakilon
Nakilon / Starbound v1.0
Last active April 12, 2020 09:31
big example
$ ruby recipes.rb Automato Avesmingo Banana Carrot Cocoa\ Pod Corn Currentcorn Grapes Pearlpeas Pineapple Potato Rice Tomato Wheat Sugar Beakseed
1 automatostew = 1 Wheat + 1 Currentcorn + 1 Automato
1 2kbpotage = 1 Currentcorn + 1 Automato
1 candyautomato = 1 Sugar + 1 Automato
1 avesmingojuice = 1 Avesmingo
1 apegrapes = 1 Grapes + 1 Banana
1 batteredbanana = 1 Wheat + 1 Banana
1 luckydip = 1 Carrot + 1 Banana
1 roastedcarrot = 1 Carrot
1 carrotjuice = 1 Carrot
‐=!ϐ=ʚ=‐
ʚ.define_singleton_method(:<<){|∣|@∣=∣}
ʚ.define_singleton_method(:-){|∣|∣ if-1<@∣-=1}
ʚ << 4
until ϐ==ʚ-‐
puts "he"
end
@Nakilon
Nakilon / checklist.md
Last active May 28, 2021 12:49
new macOS configuration checklist
  • настроить все в System Preferences, например

    • выключить Correct spelling automatically
    • инвертировать кнопку Fn
    • поставить раскладки "США" (на новых макбуках тильды будет слева внизу) и "Русская - ПК"
  • выключить ускорение указателя трекпада и перелогиниться

    defaults write .GlobalPreferences com.apple.trackpad.scaling -1
  • настроить Finder (войти в настройки любой программы в Mac OS можно комбинацией ⌘,)