Skip to content

Instantly share code, notes, and snippets.

View genta's full-sized avatar

Genta Iha genta

View GitHub Profile

Keybase proof

I hereby claim:

  • I am genta on github.
  • I am genta (https://keybase.io/genta) on keybase.
  • I have a public key ASDYTAp8F6oFmNH8a680ge6yN3o0vm-WcybY-TmaKY_2ZAo

To claim this, I am signing this object:

@genta
genta / ifconfig
Created November 17, 2015 04:39
moderated ifconfig wrapper for OS X. ignore uninterested interface's output from /sbin/ifconfig result.
#!/usr/bin/perl
# moderated ifconfig wrapper for OS X
# ignore uninterested interface's output from /sbin/ifconfig result
@lines = `/sbin/ifconfig @ARGV`; # XXX
$prefer = 0;
foreach my $line (@lines) {
if ($line =~ /^\t/) {
print $line if $prefer;
next;
@genta
genta / append_my_number_check_digit.sh
Last active November 1, 2015 06:18
11桁の数値を与えると、マイナンバーのチェックデジットを付与した12桁の数値を出力するシェル関数
# 引数に11桁の数値を与えると、マイナンバーのチェックデジットを付与した
# 12桁の数値を出力する
function mynum {
n=`printf %011d $1`
cd=`echo -n $n|grep -o .|paste -d\* - <(echo -n '65432765432'|grep -o .)|paste -d+ - - - - - - - - - - -|sed -e 's/^/echo $(((11-(/' -e 's/$/)%11)%10))/'|sh`
echo $n$cd
}
# 使い方:
# i=10000000000; while [ $i -le 99999999999 ]; do mynum $i; i=$(($i + 1)); done | xargs -n 10
@genta
genta / verify_my_number.rb
Last active October 8, 2015 07:13
与えられたマイナンバーをチェックデジットに基づき検査する
def verify_my_number(my_number)
my_number = my_number.to_i
raise ArgumentError unless (0..999999999999).cover?(my_number)
remain, given_check_digit = my_number.divmod(10)
check_digit = 0
11.times do |i|
remain, p_i = remain.divmod(10)
check_digit += p_i * (i % 6 + 2)
@genta
genta / erbstr.rb
Created September 1, 2015 07:55
Simple wrapper for ERB
require 'erb'
class ERB
def self.str(template, binding = TOPLEVEL_BINDING)
self.new(template, nil, '%<>-').result(binding)
end
end
if __FILE__ == $PROGRAM_NAME
puts ERB.str(<<-_EOD_)
# .zlogin for launch screen on iTerm2 startup
if [[ -o interactive ]]; then
if [[ $TERM =~ ^screen[.] ]]; then
:
# fix 'screen.xterm-256color' => 'screen'
export TERM="screen"
else
exec screen -S iterm -U
fi
fi
@genta
genta / vni2groupaddr
Created August 27, 2015 09:38
Calculate VXLAN group address (multicast address) from VNI
#!/bin/sh
vni=$1
z=`expr $vni % 256`
y=`expr $vni / 256 % 256`
x=`expr $vni / 256 / 256 % 256`
echo 239.$x.$y.$z