[ TOP ] 日常(14),BUY(11),GAME(6)
11/11 #01 [iOS,GAME]IngressようやくA8に

-sharlinfo-

4ヶ月近くかかってますね…。


07/16 #02 [日常]recipient_delimiter laundering problem

-sharlinfo-

やっぱり独自ドメイン + unique local partが最強なのではないだろうか。


07/16 #01 [iOS,GAME]Ingress始めました

-sharlinfo-

ようやくiOSにきた配布初日(7/14)から始めたんだけど、家の周りにポータルがほとんどなくて、現時点ではiOS版はポータル申請できなくて、ひたすら寄生する感じ(笑)

それでもなんだかんだレゾ打ち込んでリンクしてCF作ってってやってたら白ポータル取ることができた(先輩ありがとうございます!)

まずはL8にならんとな・・


06/21 #01 [iPhone,IRC,hack]IRCでキーワードがあったらBoxcar2で通知するtiarraプラグイン

-sharlinfo-

7/1に旧Boxcarのインフラレイヤーが止まるのを知ってしまった知り合いがケツを叩いてきたので(笑)、 重い腰を上げて4年前に作ったやつを焼き直して記録しておく。

ユーザから見た大きな変化としては、anonymousで使えるところかな。(Boxcarにアカウント作らなくてもいい)


06/05 #01 [日常]古いOSにもインストール可能なrpmを作るには

-sharlinfo-

 error: Failed dependencies:
 rpmlib(FileDigests) <= 4.6.0-1 is needed by ...
 rpmlib(PayloadIsXz) <= 5.2-1 is needed by ...
と出てrpmパッケージをインストールできない、古いOSの面倒を見なければならないお仕事、おつかれさまです。

rpmbuildのオプションに

--define="_binary_filedigest_algorithm 1" --define="_binary_payload w9.gzdio"
をつけてシグネチャをSHA256から古いMD5に、LZMA圧縮から古い形式のgzip圧縮に戻せばインストール可能なrpmを作成することができます。 古いOSを入れたビルド環境は必要ありません。たぶん。

gzip圧縮ではなくbzip2圧縮も可能っぽいけど、互換のためにgzipにしておいたほうがいい気がします。


05/19 #01 [BUY,でじこ]USB急速充電器とUSB簡易チェッカーを買った

-sharlinfo-

密輸をして報酬がAmazonギフト券で送られてきたのと、期間限定でお安くなっていたので衝動買い。
[Anker 40W 5ポート USB急速充電器 ACアダプタ PowerIQ搭載 iPhone5C/5S/5/4S/4/iPod/iPad/Xperia/GALAXY/ウォークマン等対応[Wireless Phone Accessory]]
[ルートアール USB 簡易電圧・電流チェッカー ストレート型 RT-USBVA2[エレクトロニクス]]
簡易チェッカーでダメダメケーブルをもりもり廃棄。荷物が若干減ったわ♪


05/15 #01 [BUY,COMICS,水曜どうでしょう]女ふたり原付で東日本縦断して水曜どうでしょう祭に行って来た!

-sharlinfo-

買ったのを忘れていた・・
[女ふたり原付で東日本縦断して水曜どうでしょう祭に行って来た![単行本(ソフトカバー)]]
エッセイ漫画ですね。UNITE2013に行った人なら面白く読むことができるでしょー。もちろん藩士なら問題なし。


05/08 #01 [iPhone,BIKE]BioLogic BikeBrain

-sharlinfo-

BioLogic BikeBrain - GPS bike and cycle computerを導入して1か月くらい。いい感じ。


05/02 #01 [GAME,hack]DQX2014GWミッションをグラフに

-sharlinfo-

ゴルスラ会長のゴールデンミッションが始まっていて、 ミッションの進行状況ページが公開されていたのでとりあえずデータを取得する。

んでグラフに・・私家版『ゴルスラ会長のゴールデンミッション』ミッション進行状況

データ量増えてきたので間引くことも視野に入れないとなー


05/01 #01 [perl,Master of Epic]ログイン数のリアルタイム表示をHerokuで

-sharlinfo-

自分のサイトでやってるやつをPSGIで書きなおしてHerokuにdeploy...と思い立ったので miyagawa/heroku-buildpack-perl を使ってみたところ

-----> Fetching custom git buildpack... done
-----> Perl/PSGI app detected
-----> Bootstrapping cpanm
-----> Installing dependencies
       /tmp/buildpack_b77d3c0d-2a81-44a0-93bc-59c252147ccd/bin/compile: 28: cpanm: not found
-----> Installing Starman
       /tmp/buildpack_b77d3c0d-2a81-44a0-93bc-59c252147ccd/bin/compile: 31: cpanm: not found
-----> Discovering process types
       Procfile declares types     -> (none)
       Default types for Perl/PSGI -> web

-----> Compressing... done, 0K
-----> Launching... done, v5
ん? と思って原因を調べてみたら、githubがraw.githubusercontent.comにコンテンツ置くようになってリダイレクトしていたので cpanmが取得できなくてエラーになっていた。(ことに気がつくまで約1時間・・Heroku初めてなんです!!)

issueを出したら素早く修正されて

-----> Fetching custom git buildpack... done
-----> Perl/PSGI app detected
-----> Bootstrapping cpanm
       Successfully installed version-0.9908 (upgraded from 0.77)
       Successfully installed Module-Metadata-1.000022
       Successfully installed JSON-PP-2.27203
       Successfully installed Test-Simple-1.001003 (upgraded from 0.92)
       Successfully installed CPAN-Meta-YAML-0.012
       Successfully installed Parse-CPAN-Meta-1.4414 (upgraded from 1.39)
       Successfully installed CPAN-Meta-Requirements-2.125
       Successfully installed CPAN-Meta-2.141170
       Successfully installed Perl-OSType-1.007
       Successfully installed ExtUtils-CBuilder-0.280216 (upgraded from 0.2602)
       Successfully installed ExtUtils-ParseXS-3.24 (upgraded from 2.2002)
       Successfully installed Module-Build-0.4205 (upgraded from 0.340201)
       Successfully installed App-cpanminus-1.7004
       13 distributions installed
-----> Installing dependencies
:
:
:
-----> Discovering process types
       Procfile declares types     -> (none)
       Default types for Perl/PSGI -> web

-----> Compressing... done, 2.5MB
-----> Launching... done, v5
       http://moestats.herokuapp.com/ deployed to Heroku
おお、入った入った。

こちらになります。Master of Epic login status


04/17 #01 [hack]gperfによるCompiler::Lexer,mrubyのfootprint最小化実験

-sharlinfo-

gperfで完全ハッシュ関数を作成してキーワードのマッチを高速に行う試みはrubyなどで行われている手法だけど、 そこで生成される関数とかハッシュテーブルのサイズをgperfに与えるオプションを変えることで小さくできると 嬉しいことがあるんじゃないか? というのを、ふと思いついたのでやってみてる途中経過。

コードはhttps://github.com/sharl/gperf-minに。

ターゲットはLinux x86_64で対象はCompiler::Lexerで。

ハッシュ関数はinline化されてしまってよくわからないので、生成されるシンボルテーブルから関連するサイズを求めてみるようにした。

以下は途中経過なのでまだまだ変わるかも? (4/21に終わってました)

Compiler::Lexer キーワード 408 個
$ sort -k2 gperf-min-p5-Compiler-Lexer-linux.log | head
in_word_set 00e0 asso_values 0200 wordlist 06f78 lookup 0000 total  29272 filesize 2207840 [-i1 -j1 -k1,2,4,5,$]
in_word_set 00e0 asso_values 0200 wordlist 075b8 lookup 0000 total  30872 filesize 2213560 [-i0 -j1 -k1,2,4,5,$]
in_word_set 00e0 asso_values 0200 wordlist 07cf8 lookup 0000 total  32728 filesize 2215392 [-i2 -j1 -k1,2,4,5,$]
in_word_set 00e0 asso_values 0200 wordlist 09998 lookup 0000 total  40056 filesize 2226840 [-i2 -j3 -k1,2,4,5,$]
in_word_set 00e0 asso_values 0200 wordlist 09e58 lookup 0000 total  41272 filesize 2228032 [-i0 -j3 -k1,2,4,5,$]
in_word_set 00e0 asso_values 0200 wordlist 0a038 lookup 0000 total  41752 filesize 2228512 [-i1 -j3 -k1,2,4,5,$]
in_word_set 00e0 asso_values 0200 wordlist 0bf78 lookup 0000 total  49752 filesize 2240632 [-i2 -j5 -k1,2,4,5,$]
in_word_set 00e0 asso_values 0200 wordlist 0c878 lookup 0000 total  52056 filesize 2247008 [-i0 -j5 -k1,2,4,5,$]
in_word_set 00e0 asso_values 0200 wordlist 0c878 lookup 0000 total  52056 filesize 2247008 [original]
in_word_set 00e0 asso_values 0200 wordlist 0e1f8 lookup 0000 total  58584 filesize 2257656 [-i1 -j5 -k1,2,4,5,$]
src/compiler/util/Compiler_reserved_keyword.cppをコンパイルしてできるblib/arch/auto/Compiler/Lexer/Lexer.sonmしてサイズを出してる。 コードサイズは変わってないけど、lookupが減ってトータル38kBytesくらい減ってますな。

in_word_setが文字列から構造体のポインタを返すハッシュ関数のサイズ。totalin_word_set+asso_values+wordlist+lookupの合計。filesizeLexer.soのサイズ。オリジナルソースから生成されるサイズよりも 少し減ってるのがわかるはず。アラインメントがあるから多少の誤差はあるけども。

次はOS X Mavericks, Command Line Tools for Xcode5.1.1のLLVM環境でmrubyを。

mruby キーワード 40 個
$ sort -k2 gperf-min-mruby-osx.log | head
parser_yylex 66e0 asso_values 0100 wordlist 03b50 lookup 0000 total  41776 filesize 1073700 [-i0 -j1 -k1,2,3,$]
parser_yylex 66e0 asso_values 0100 wordlist 03b98 lookup 0000 total  41848 filesize 1073668 [-i0 -j1 -k1,3,$]
parser_yylex 66e0 asso_values 0100 wordlist 03bb0 lookup 0000 total  41872 filesize 1073828 [-i1 -j1 -k1,2,3,$]
parser_yylex 66e0 asso_values 0100 wordlist 03bf8 lookup 0000 total  41944 filesize 1073796 [-i1 -j1 -k1,3,$]
parser_yylex 66e0 asso_values 0100 wordlist 03bf8 lookup 0000 total  41944 filesize 1073796 [original]
parser_yylex 66e0 asso_values 0100 wordlist 03c58 lookup 0000 total  42040 filesize 1073924 [-i2 -j1 -k1,3,$]
parser_yylex 66e0 asso_values 0100 wordlist 03c58 lookup 0000 total  42040 filesize 1074052 [-i1 -j3 -k1,2,3,$]
parser_yylex 66e0 asso_values 0100 wordlist 03c88 lookup 0000 total  42088 filesize 1074116 [-i2 -j1 -k1,2,3,$]
parser_yylex 66e0 asso_values 0100 wordlist 03cd0 lookup 0000 total  42160 filesize 1074084 [-i0 -j3 -k1,3,$]
parser_yylex 66e0 asso_values 0100 wordlist 03cd0 lookup 0000 total  42160 filesize 1074212 [-i0 -j3 -k1,2,3,$]
src/lex.defをincludeしてるparse.yから生成されるy.tab.cをコンパイルしてできるbuild/host/src/y.tab.o。キーワード少ないからあんまり変わんないね。

などなど、実験してたりするのでした。CPUパワー足りねえ(笑)

小さくするんじゃなくて速度を求めるなら--switchとか--readonly-tablesとかするといいんじゃないかな。


04/14 #01 [BUY,BIKE]買ったった

-sharlinfo-

4/5に到着したけどまだ2回しか乗ってないよ…寒いんだよ…
[ダホン(DAHON) Curve D7 オブシディアンブラック[その他]]
[キャットアイ(CAT EYE) CC-MC200W マイクロワイヤレス ブラック[スポーツ用品]]
[I live(アイリブ)I live LOCK reflect dial [アイリブ ロック リフレクト ダイヤル] φ18×1200mm[スポーツ用品]]
[PALMY(パルミー) アルミシャックルロック P-ES-101AL/Φ15mm ブラック[スポーツ用品]]
[GENTOS(ジェントス) 閃 355 【明るさ100ルーメン/実用点灯10時間】 SG-355B[スポーツ用品]]
[キャットアイ(CATEYE) テールライト [NIMA] クロームブラック[スポーツ用品]]
早くぽたぽたしたいのう…


12/24 #01 [日常]【追記あり】serverspecは敷居が高い

-sharlinfo-

CentOS6.5をminimalで入れたら当然のようにrubyは入っていないので入れてみる。

$ sudo yum -y install rubygems
$ yum list ruby
Installed Packages
ruby.x86_64                 1.8.7.352-13.el6                   @updates
$ sudo gem install serverspec --no-ri --no-rdoc
1.8.7なのですが、だいじょうぶなのかこれは…と思ったら案の定 などの問題が出てきて、お手軽に、というわけにはいかなかった。

serverspec使うには「rubyが入っている前提です」って説明ではなくて、 「ruby-buildで最新のrubyをビルドします」ってところから説明しないといけないのでは、と思った。

こういうやつ CentOS 6.4 x86_64 にserverspecセットアップするスクリプトー

20:01追記:
1.8.7でも動くので安心してお使いください、バグあったらpullreqしてください、ということです。

12/25 15:00追記
serverspecのアーキテクチャ - tagomorisのメモ置き場

誤解
モリスさんから説明していただいた…。非常にわかりやすかったです。ありがとうございます。


12/18 #01 [BUY]Coleman ウォーキングポーチ

-sharlinfo-

水曜どうでしょう祭 UNITE 2013で売っていたもののオリジナル。違いは刺繍のありなしくらいか。 折り畳み傘とiPad miniと小物が一緒に入るのでものすごく便利。

[Coleman Walking Pouch ウエスト ショルダーバッグ CBW10111 パープル]


11/29 #01 [BUY,COMICS]バーナード嬢曰く。

-sharlinfo-

[バーナード嬢曰く。[コミック]]
SFファンはこんなにも危険です。


6020 accesses since 2005/04/14.