タグ

ブックマーク / jarp.does.notwork.org (44)

  • Just another Ruby porter, 2016-6-b

    ■ jqで anagol的にはつい-sまでしちゃうが、それは不要。 % jot -r 10 1 100 | xargs -n 5 | jq -R -r 'split(" ")|map(tonumber)|sort|@sh' 6 29 34 59 62 27 30 67 80 82 sort_byを使う方法も。 % jot -r 10 1 100 | xargs -n 5 | jq -R -r 'split(" ")|sort_by(tonumber)|join(" ")' 2 5 9 32 90 1 7 76 87 95 ■ ifconfig.meの代替 というわけでいろいろ探してみた。 % for i in inet-ip.info ifconfig.io ifconfig.es globalip.me ipcheck.ieserver.net ifconfig.co ipv4bot.w

    YAA
    YAA 2016/06/23
    >nkfじゃなくても3バイト削るだけなのでBOMを消す方法はいろいろある
  • Google Chromeのプロファイルを削除 - jarp,

    ■ awkで約分 #シェル芸 ユークリッドの互除法を使うというのをどこかで見かけたのでawkで書いてみた。 ユークリッドの互除法を使えば最大公約数が簡単に求められる。 入力を m, n (m ≧ n) とする。 n = 0 なら、 m を出力してアルゴリズムを終了する。 m を n で割った余りを新たに n とし、更に 元のnを新たにm とし 2. に戻る。 awkでこれを表現すると while (n) { r = m % n m = n n = r } となる。これをゴルフすると while (n = m % (m = n)); となる。 先日の勉強会のQ7にあてはめて前半の通分を略すと % echo 1532 2880 | awk '{m = $1; n = $2; while(n = m % (m = n)); print $1 / m "/" $2 / m}' 383/720 とな

    YAA
    YAA 2016/01/14
  • Just another Ruby porter, 2013-1-c

    rubyciの復活案 RSSをどこかに吐けばいいと思っていたが、iftttを使えばgmailからtwitterへポストできるよな。 ruby-cvs MLを受けてtwitterへ流せばいいわけだ。 で、自分のアカウントで試そうとして、ふとこれは自分宛のメールが流出する危険性が高いことに気づいた。 やっぱ別のアカウントを作ったほうがいいな。明日試す。 ■ rubyciはgmaneを利用することに 昨日のつづき。 gmailのアカウントを実際に作って試してみたらあっさりと成功した。 でも単にsubjectだけなのがさびしい。 ここでどこかにRSSがないかと探してみたら、gmaneにあった。 ruby-cvs MLをアーカイブしてたんだなあ。 というわけでgmaneを利用することに。 gmaneへのリンクになるが、まあそこはいいよね。 結局iftttをそのまま使っているので15分間隔になった

    YAA
    YAA 2016/01/14
  • Just another Ruby porter, 2015-6-c

    fitbit apiを使って歩数を取得 簡単に言うと以下のURLから歩数は取得可能。日付は2015-06-01から現在までという意味。 stepsを削除すれば保存してあるもろもろのアクティビティが取れる。 https://api.fitbit.com/1/user/-/activities/steps/date/2015-06-01/today.json https://api.fitbit.com/1/user/-/activities/date/2015-06-01/today.json ただ、OAuthでの認証が必要なので面倒なら API Explorerを使うといいかもしれない。 各種APIが簡単に呼び出せる。 ■ fitgemで歩数情報を取得 方法は Fitgem Reference Clientの通りにすればok。cunsumer_keyとcunsumer_secretは

    YAA
    YAA 2016/01/14
  • OpenSSH v7ではまる - jarp,

    rubyciもkimono labsで運用開始 しばらく動かしてみて問題ないようなのでkimono labsで運用開始。 ちょっとダブらせてみたら Action skipped about 2 hours ago Twitter error: 'Cannot send duplicate tweet.' とログが出てたので今までとまったく同じメッセージを吐かせることに成功した模様。 ■ ワールドトリガー 前に書いたとおりアニメでもドラマでも最近は終わってから一気に見るんだが、 ワールドトリガーはいつまで経っても終わりそうにない。 もう1年だよ。 しかも Wikipediaを見たら 2015年10月11日からは新シリーズ「逃亡者編」が放送され、完全なアニメオリジナル展開に入る予定 などと書かれているではないか。 というわけでとりあえず1話だけ見て切るかどうか判断しようとしたが、 気づいた

    YAA
    YAA 2015/09/30
  • Just another Ruby porter, 2015-9-b

    ■ kimono labsとIFTTTとの相性 いろいろkimonoでAPIを作っているが、IFTTTとの相性が悪いのか時間経つとTimeoutしてしまうものがある。 IFTTTのログはまったくもって役に立たないので原因がわからないんだよなあ。 まじで生のログを見せてほしい。 ■ IFTTTのタイムアウトの原因がわかった気がする descriptionに画像のURLを <img src="http://.../foo.jpg"> のように埋め込んで置くとIFTTTでEntryImageUrlで受け取れるが、 どうもこれが悪さしてるようで。外したら調子いい。 そういえばもう1個動かしてるほうは画像なしのせいか調子いい。 しかしそうなると画像つきtweetが使えないのは痛いな。 ■ console.log %j JSON.stringifyって書くの面倒だなと思ったら、console.log

    YAA
    YAA 2015/09/14
  • 実際にwaifu2xでスキャンした画像を変換してみた - Just another Ruby porter, 2015-6-a

    ■ gifsicle gifsicleを使えばGIFアニメは高速で作成可能。 ただ元の画像もGIFじゃないとだめなので、変換しておく必要あり。 % gifsicle -V --delay=100 -l0 -o foo.gif foo/*.gif

    YAA
    YAA 2015/06/08
  • 入力ファイルへのリダイレクト問題 #シェル芸 - Just another Ruby porter, 2015-5-a

    Amazon::SimpleDB::ClientがRecursive dependencyでインストールできない まあ、そういうわけでamazon-simpledb-cliがインストールできなくて、 他の方法を探していたというのが昨日の真相。 % cpan Amazon::SimpleDB::Client Reading '/home/eban/.cpan/Metadata' Database was generated on Sat, 02 May 2015 01:29:02 GMT Running install for module 'Amazon::SimpleDB::Client' Fetching with LWP: http://www.cpan.org/authors/id/D/DT/DTRISCHUK/Coro-Amazon-SimpleDB-0.04.tar.gz

    YAA
    YAA 2015/05/07
  • Ruby 2.1のNumeric#stepの秘密 - jarp,

    Ruby 2.1のNumeric#stepの秘密 ドキュメントを見るとRuby 2.1ではby:とかto:でも指定できるようになっている。 順番も気にしなくっていいわけだ。 実はそれ以外にも使い方があって、なんと省略も可能なのだ。 loop{|i|}でiがインクリメントされないかなあなんて妄想したことがあるが、 0.step{|i|}と書ける。無限に続く。 % ruby -ve 'p 0.step' ruby 2.1.2p95 (2014-05-08) [i386-linux-gnu] #<Enumerator: 0:step> % ruby -e '0.step{|i|break if i > 8; p i}' 0 1 2 3 4 5 6 7 8 by:を使えば偶数だけのstepも可能になる。 % ruby -e '0.step(by:2){|i|break if i > 8; p

    YAA
    YAA 2015/03/12
  • Just another Ruby porter, 2015-2-b

    ■ ハンチョウ 安積班シリーズをあらかた読んだので、録りためたハンチョウを見始めた。 原作を単に適当につまみいしてる的な感じで、キャラ設定もだいぶ違う。 やっぱ原作通りにはいかないか。 ■ pipeを介したsort 3000万行、2.8GBのテキストファイルをsortする。 % ls -oh bigfile.txt -rw-rw-r-- 2 eban 2.8G Feb 12 17:26 bigfile.txt % wc -l bigfile.txt 30750762 bigfile.txt % time sort bigfile.txt > /dev/null sort bigfile.txt > /dev/null 15.35s user 18.82s system 191% cpu 17.886 total 次にcatしてpipeで。 % time cat bigfile.txt |

    YAA
    YAA 2015/02/17
  • xargsの罠 - Just another Ruby porter, 2015-1-c

    ■ sedでも対応してみる awkの$3は3つあることを確認している。 つまりsedでも3個あることを確認すればいい。 フィールドが3個ということは区切りは2個なので/ .* /でok。 % seq 100|xargs -n3|sed '/ .* /s/[^ ]*$/Fizz/'|xargs -n5|sed '/ .* .* .* /s/[0-9]*$/Buzz/'|xargs -n1 ちょっと不恰好だけど、正規表現で条件を書けばいける。 ■ readの挙動 while read lineで読んでいるときに最終行に改行がないとループを抜けてしまう。 だが、read自身はちゃんとlineへ反映させているのであった。 % bash -c 'echo -n foo | while read line; do echo $line; done' % bash -c 'echo -n foo | {

  • Just another Ruby porter, 2014-9-c

    ■ 1日ごとの最低気温をもとめる さいたま市の1時間ごとの気温データはとりあえず20日と21日だとこんな感じ。 2014-09-20 01:00 18.5 2014-09-20 02:00 18.0 2014-09-20 03:00 18.1 2014-09-20 04:00 17.5 2014-09-20 05:00 17.5 2014-09-20 06:00 17.5 2014-09-20 07:00 18.0 2014-09-20 08:00 18.6 2014-09-20 09:00 18.7 2014-09-20 10:00 19.0 2014-09-20 11:00 19.4 2014-09-20 12:00 19.7 2014-09-20 13:00 20.2 2014-09-20 14:00 20.5 2014-09-20 15:00 20.7 2014-09-20 16:

    YAA
    YAA 2014/10/06
  • zshのsubstring - jarp,

    ■ zshのsubstring bashと同じように % foo=barbaz; echo ${foo:2:3} rba という感じの表記も可能だが、これはまさにbash互換なので0から数える仕様になってる。 startとlengthだ。一方zsh来の記法は % foo=barbaz; echo $foo[3,5] rba のように1から数えてstart,endになってる。なんともすごい世界だ。 この記法だと代入もできて % foo=barbaz; foo[3,5]=hoge; echo $foo bahogez 左辺にもなれる。start,endなので % time=1234; time[3,2]=:; echo $time 12:34 のようにendをstart-1に指定すればその直前に挿入にすることができる。 ■ GMANEが更新されない RSSが更新されないのが解消されたと思った

  • Just another Ruby porter, 2014-5-a

    ■ convertで丸く切り抜く -drawで円が描けるのでそれを利用して切り抜く。 % convert bakeneko-eban-twitter.png \ \( +clone -threshold -1 -negate -fill white -draw "circle 150,150 150,0" \) \ -alpha off -compose copy_opacity -composite bakeneko-eban-twitter-circle.png こんな感じ。 circleの引数はちょっと変わっていて、 中心と半径ではなく中心と半径分離れた1点を指定する。 つまり指定のしかたはいくつもある。 ■ convertで角丸の形に切り抜く ベジェ曲線とか使うまでもなく、そのものずばりのroundrectangleが使える。 % convert bakeneko-eban-twi

  • Just another Ruby porter, 2014-4-b■ J:COMのルーターのユーザ名とパスワード

    ■ freenodeからbanされた やっと解除された。 まあメッセージに従って進めればすぐにリストから外れるんだけど、 しばらくbanされたままになる。たぶん2,3週間はかかるので気長に待とう。 ■ J:COMのルーターのユーザ名とパスワード 1ヶ月前にPDFをダウンロードしたときはUserとPasswordだったが、 今はuserまたはadminとpasswordになっている。 実際後者のほうだった。 まあ、聞けば教えてくれると思うが。 設定内容は普通のルーターでできることはたいてい可能。 というわけでこれで穴を空けられる。 無線ケーブルモデムゲートウェイ BCW710J2(PDF) ■ heredoc Rubyでの挙動に馴染みすぎてshでの挙動を忘れていた。 <<-はタブだけが特別扱いだった。 % cat heredoc.sh #!/bin/sh cat <<-EOF foo bar

    YAA
    YAA 2014/04/21
  • zshで(N-/)を使うとき - jarp,

    ■ RD-H1がメールを受け取ってくれない 新たな環境になってからRD-H1のネットワーク設定は放置状態だったが、 まあ、192.168.0.0/24なのは変わりないし問題ないだろうと思ったら、 メールを受け取ってくれない。しかも時計がちょっとずれてる。 ということは全然外とつながってないわけで見直してみると、 今回新たに設置されたルータにはDNS機能がないということがわかった。 RD-H1はHTTPサーバが内蔵していてもろもろブラウザから設定できたりするので、 DHCPではなく固定IPアドレスで運用していたが、それが仇になった形。 面倒なので8.8.8.8にしようかと思ったが、最近あんなことがあっただけに、 DHCPが配ってるDNSにした。これでメールもNTPもok。 2015年でデジアナ変換は終了するらしいが、それ以降もまだまだ使えてしまうな。 ■ zshのhistoryのmetafy

    YAA
    YAA 2014/03/26
  • faketimeで任意の日時でコマンド実行 - jarp,

    ■ sshでSendEnvをキャンセルさせるには sshするとLANG等が勝手に引き継がれるのは、Ubuntuだと/etc/ssh/ssh_configに SendEnv LANG LC_* と書いてあるからだとわかったが、これをやめる方法が見つからない。 ぐぐってみるとなんとほんとにないそうだ。 Bug 1285 – provide fallback options /etc/ssh/ssh_config 2007年に報告されている。最後の2013年11月には Damien Miller 2013-11-16 02:03:24 EST Created attachment 2375 [details] Add UnSendEnv option This adds an UnSendEnv option that allows cancelling SendEnv. It supports

    YAA
    YAA 2014/03/17
    >faketime
  • Just another Ruby porter, 2014-2-c

    ■ cygwin: ~/.ssh/configでControlPathを指定するとエラー cygwinでもsshで多重接続してみたらなぜかエラーになるので調べたら、 なんかいろいろと未実装ということらしい。 Corinna Vinschen - Re: Can not make port forwarding from Cygwin when ControlMaster/ControlP 残念。 ■ AmazonのURLを単純に 今までは javascript:location.href='http://www.amazon.co.jp/dp/'+document.getElementById("ASIN").value; というbookmarkletを使っていたが、どうも最近これだと変換されないときがあって調べてみると、 確かにid="ASIN"がない場合があった。ないときはname="

    YAA
    YAA 2014/02/27
  • またssh -ttの出番 - jarp,

    ■ code golf - String of alphanumeric characters to a sorted list of comma-separated ranges このRubyの解なんだけど、与えられた文字以外を改行($/)に変換するという発想がすばらしい。 puts [*?0..?Z].join.tr('^ABC321STPpJqZZr0'.upcase,' ').gsub(/\B\w+\B/,?-).scan(/\S+/)*', ' puts [*?0..?Z].join.tr('^ABC321STPpJqZZr0'.upcase,$/).gsub(/\B\w+\B/,?-).scan(/.+/)*', ' puts [*?0..?Z].join.tr('^ABC321STPpJqZZr0'.upcase,$/).gsub(/\B.+\B/,?-).scan(/.+/

    YAA
    YAA 2014/02/20
  • Just another Ruby porter, 2014-2-a

    ■ s3fsでさくらのBASE Storageをmount s3fsはごにょごにょというわけでUbuntuのパッケージが存在しないので自分でmakeする。 % sudo aptitude install build-essential libfuse-dev libcurl4-openssl-dev libxml2-dev mime-support % wget http://s3fs.googlecode.com/files/s3fs-1.74.tar.gz % tar xf s3fs-1.74.tar.gz % cd s3fs-1.74 % ./configure % make all install 設定は/etc/fuse.confの最終行のuser_allow_otherを活かして、permissionを確認。 0640あたりなら0644にするとかsudo gpasswd -a

    YAA
    YAA 2014/02/10