Skip to content

Instantly share code, notes, and snippets.

View dorentus's full-sized avatar
๐ŸŽฒ
๐ŸŒŽ๐ŸŒ๐ŸŒ

ZHANG Yi dorentus

๐ŸŽฒ
๐ŸŒŽ๐ŸŒ๐ŸŒ
View GitHub Profile
class BinaryTree
constructor: () ->
class BinaryTreeNode extends BinaryTree
constructor: (@value, @left, @right) ->Object.freeze(@)
isEmpty: () -> false
depth: () -> 1 + Math.max(@left.depth(), @right.depth())
count: () -> 1 + @left.count() + @right.count()
inorder: (fn) -> @left.inorder(fn); fn(@value); @right.inorder(fn)
MRuby::GemBox.new do |conf|
conf.gem :github => 'iij/mruby-digest'
conf.gem :github => 'iij/mruby-io'
conf.gem :github => 'iij/mruby-socket'
conf.gem :github => 'iij/mruby-regexp-pcre'
conf.gem :github => 'iij/mruby-pack'
conf.gem :github => 'dorentus/mruby-bnet-authenticator'
end
@dorentus
dorentus / build_config.rb
Last active August 31, 2020 01:53
Put build_config.rb into mruby root dir, make, and put build_framework.rb into build dir and run it to get a MRuby.framework, run collect_mrb_gem_archive.rb <gem_name> in build dir to get a seperate <gem_name>.framework
MRuby::Build.new do |conf|
toolchain :clang
conf.gembox 'default'
end
def crossbuild_for(name, platform, sysroot, cc_defines = [])
MRuby::CrossBuild.new(name) do |conf|
toolchain :clang
conf.gembox 'default'
rails new myapp -m https://raw.github.com/RailsApps/rails-composer/master/composer.rb
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNvfUw8zgNbMEQmyfFhN2CGa5m+oRkUXRbzdZkyyqj8/SMTflfMRXBZOLKPGnSZv9ZazRdGUA6FS2CcrCqGzsxwDHVxvQo2RfbYMLo0181GJIFQq2WA0GfSgtPJ57agHNgMQcOeir0dexJ7z9CZRGGf4e+7ByTKROvq67ZziOIxYpquKG8+uCdIvd8QP6sXHGFL0DuLjaGzfDnj7FORC7sgGaxrcuAE8BAEAKWlTQSbSaM1hv7Vka/XxVXwA71bjb5ZZTpZkNBHskK/ffY2XCjzxGbqab6aV8eeBSzRGg32UulIhN159Zwsy6qxfXk6ceQDZLa5nSCUhww/j9947/3 [email protected]
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAIAQCdVrmIoEVyyYSRuEeC+Vzg1pzE3r/JRSLIexLsZzYHe/E+BXy49r0wOPGUyWJoeBdyGp7clz2FYFO62nFxJFQ+dZZg6lwrpBXts4d8Teau5t0x6MDn/ZRpT0ztJCYi3RyonHwDMA2zyxYVuWLtx7esKKvZOqOXzuVVyWgJCqadgL0a4286D9PJnG9K10+nDxRti99ykVLABczf9E81HJQlLoNi1zVZZzty1JWuX7NTvLJcEppSYWrxDln8SV8Mp88Yb9YDdfXZIGG7TkqWGESkxBNLI/h813Q/J+UzsDHxDW+mzQ3x5XViPIRShb1HbB9hCQ2UxCXLUPyYtXKSRziYZG9wijjHJ9CC1tuQZ1vcd/b+0XoYe782g1n4uHw8wmzlVBHaVX/h4ndek+/coo8LcUBHhfMnSUfaEu0WsYjI44yy4H7DZBRmPanc9MNYXoeUtBwG9vkb48CSWmNdqzspOKRoi/lJ26o3npyDXi4tP9/H8zyWY7DMMXi5OzKmM235ezZbgUfjx2sFLvPO7sBQ01w4v7slNQtYUpAWRLwPm9DAB10xzxul0e8Gdy0InVxgBeAkom
@dorentus
dorentus / shadowsocks-server.service
Last active April 21, 2017 15:59
wget 'https://gist.githubusercontent.com/dorentus/10704239/raw/shadowsocks-server.service' -O /etc/systemd/system/shadowsocks-server.service && systemctl enable shadowsocks-server.service && systemctl start shadowsocks-server.service
[Unit]
Description=Shadowsocks Server
After=network.target
[Service]
Type=forking
PIDFile=/run/shadowsocks/server.pid
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /run/shadowsocks
ExecStartPre=/bin/chown nobody:nogroup /run/shadowsocks
@dorentus
dorentus / shrpx.service
Last active August 29, 2015 13:59
/etc/systemd/system/shrpx.service
[Unit]
Description=SPDY proxy
After=network.target
[Service]
Type=forking
PIDFile=/run/spdylay/shrpx.pid
EnvironmentFile=/etc/default/shrpx
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /run/spdylay
#!/usr/bin/env ruby
# 08:02:34 => oh 8 oh 2 hours and 34 seconds
# 08:00:01 => oh 8 hundred hours and 1 second
# 14:32:10 => 14 32 hours and 10 seconds
def telltime ใ‹ใพ
h, m, s = {
:hour => nil,
:min => [' hundred hours', ' %{text} hours'],
@dorentus
dorentus / .bashrc
Last active August 29, 2015 14:00
fancy $PS1
PS1_SYM='\$'
if [ -x $HOME/bin/choose_by_hostname ]; then
PS1_SYM=$($HOME/bin/choose_by_hostname ๐Ÿ’Š ๐Ÿ‘พ ๐Ÿ โญ• ๐ŸŒ€ ๐ŸŒ)
fi
export PS1='\n\[\e[0;30m\]โ”Œโ”€\[\e[0m\]\[\e[01;30m\]\u@\h\[\e[00m\]:\[\e[01;34m\]\w\[\e[00m\]\n\[\e[0;30m\]โ””โ”€โ”€โ”€\[\e[0m\]${PS1_SYM} \[\e[00;33m\]$(__git_ps1 "(%s)")\[\e[00m\] '
@dorentus
dorentus / my.example.shadowsocks-libev.plist
Created May 14, 2014 08:13
put inside $HOME/Library/LaunchAgents/
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>my.example.shadowsocks-libev</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/shadowsocks-libev/bin/ss-local</string>
<string>-c</string>