sudo apt-get install -y build-essential libncurses5-dev libreadline6-dev libzlcore-dev zlib1g-dev liblzo2-dev libssl-dev
- Download and install tinc
2.1. Download the latest tinc 1.1 source package ( current:wget https://www.tinc-vpn.org/packages/tinc-1.1pre16.tar.gz -O tinc.tar.gz
)tar -xf tinc.tar.gz --one-top-level --strip-components=1
cd tinc
./configure
If the volume that the temp directory is on is not the same as the install path, then it won't let it install. See the lines in the source for it below:
https://www.google.com/search?q=set+temp+path+batch
To fix it you have to set the %TMP% in a command prompt and launch the installer from that command prompt.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Тайпкласс Animal (для полноты картины добавил метод hello, иначе был бы совсем тривиальный пример) | |
// Animal полностью абстрагирован от низлежашего типа A | |
trait Animal[A] { | |
def word: String | |
def talk() { println(word) } | |
def hello(a: A): String | |
} | |
// Обертка над тайпклассом Animal, чтобы можно было писать cat.hello, а не animal.hello(cat) | |
// AnimalOps полностью дублирует методы, определённые в Animal, но также может содержать еще и дополнительные методы. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//The gist of this script is: we have three states. Bullet selected, explosive selected, and fire selected. | |
//When bullet is selected, we make the 'go to bullet' button do nothing, whereas the other two advance one, and update their current state. | |
//This way, you can continually hit a key, which will advance state, until you hit your current desired state, and it will stop advancing. | |
//We always start on spawn with bullet, so we set bullet blank, as to not change resist type | |
alias +go_to_bullet; | |
alias -go_to_bullet "-reload"; | |
//Since we start on bullet, going to explosive is one use | |
alias +go_to_explosive "bullet_to_explosive"; |
Each of these commands will run an ad hoc http static server in your current (or specified) directory, available at http://localhost:8000. Use this power wisely.
$ python -m SimpleHTTPServer 8000
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$stack, $draws = [], {} | |
def method_missing *args | |
return if args[0][/^to_/] | |
$stack << args.map { |a| a or $stack.pop } | |
$draws[$stack.pop(2)[0][0]] = args[1] if args[0] == :< | |
end | |
class Array | |
def +@ |