Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

tls周りが遅くて悲しい

昨日のプログラム のプロファイリング取った。

...
           tlsManagerSettings                                                                                                Network.HTTP.Client.TLS               51910          0    0.0    0.0    87.7   92.5
            mkManagerSettings                                                                                                Network.HTTP.Client.TLS               51911          0    0.0    0.0    87.7   92.5
...
                           decodeLenient                                                                                     Data.ByteString.Base64.Lazy           55231          0    7.0    8.5    52.5   49.7
                            decodeLenient                                                                                    Data.ByteString.Base64                55235     162720    0.1    0.0    42.7   41.0

処理時間の 52.5% が Data.ByteString.Base64.Lazy に費やされているそうで、すごく悲しい。16万回呼ばれてるのね

【追記】 改善できたのでQiitaへ書いた

ストーカー、始めました

冬休みの工作。

lotz84さんが https://github.com/lotz84/haskell/Haskellのブックマークをガンガン更新していて、これはいいものだと思ったのでストーカーするバッチを書いた。 soozy.slack.com *1 の #haskell というほとんど誰も使っていない部屋に更新ログを流している*2

さくっとHaskellで書いたのだけど、大したことしてないくせに動かすたびにCPUを30%くらい持ってってる。なんか癪に障るので後で調べたい。

*1:登録用の http://soozy.fushihara.net/ が落ちているので id:mikihoshi さんと連絡を取るしかなさげ。

*2:このエントリを書いてる現在、まだ一件も流れていない

Surface Studio を買った

ここ数年年末に散財することが多いのだけど、今年は Surface Studio を買った。Surface Pro3、Surface Bookと買い進めてSurface製品の3台目。 10/26 日の発表直後にpreorderして、手元に届いたのは 12/19 だった。i7のモデルを選んだので、本来発送開始が来年1月の予定だったのだけど、12/6に出荷が早まったから喜べってメールが来て、12/13に倉庫から出庫された。早期出荷してくるとは心憎い。普通のモデルの発売日が本来12/15だったので、それと比べても予想よりも早く手に入った形になる。

転送サービスは 1WorldShopping.com を使っているのだけど、今回はこちら側が荷物の追跡番号を間違えてしまってやりとりが色々大変だった。英語のみしか対応してないと思って日本時間の日中に英語でメールをして反応がなくてヤキモキしていたのだけど、このサービスは日本語のメール受付用のアドレスがあり、日本の日中にはある程度日本語がわかるスタッフが担当してくれていて1~2時間程度で返事をくれる。最後まできちんと対応してもらえて助かった。

A photo posted by Hira Tara (@hiratara) on

触ってみると、やはり 4500x3000 のディスプレイは大きい。 virtual boxでゲストディスプレイのサイズが大きすぎるとバグる という問題も引いてしまって嬉しい悲鳴である。結局ダイアルもペンもまだ一度も使ってないのでstudio感はまだまったくないが、これから何か面白い使い方を見つけられたらいいなあと思っている。

AWSにドブ課金するよ

AWS を含めたクラウドは商売のやり方が昔から本当に嫌いで個人では絶対触りたくないのだけど、そうも言ってられない時代なので今後はどっぷりと課金していく決意をする。

久々なので IAM 周りを色々と見て、問題なさそうなことを確認。

http://dev.classmethod.jp/cloud/aws/after_get_aws_account/ を見ながら課金周りのアラートを弄ってみたのだが、これ、複数アカウントで支払いをまとめてない限り特に要らないってことに気がつく。まあ色々触るリハビリにはちょうどよかったのでいいや。

不思議なもので、ドブに捨てるように課金すると決めると、触るのが楽しくなるのである。色々と使い倒して今日設定した課金のアラートも動くか見ておきたい。

ResourceTのコードリーディング

雑に読んだメモ。だいたい構造わかったので満足。

はてなダイアリーからはてなブログに移行した

ようやく重い腰を上げて http://d.hatena.ne.jp/hiratarahttp://hiratara.hatena.diary.jp へ移行した。かなり枯れてきてるので移行しても問題は起きないだろうし、markdownに対応されてるのは便利。はてな記法とか覚えてないし。

http://hiratara.github.io を使ったり Qiita を使ったりもしてるのだけど、前者は git push の履歴が細かく残り過ぎて気軽に編集しにくく、後者はまとまった文章を書いたほうがいいかなーという圧力があって気軽に投稿しにくい。 https://twitter.com/hiratara は気軽でいいのだけど、後からまとめて読み直しにくい。というか、そもそも読み直すつもりのものをまったく書かないのでただのログになってしまう。

ということで、今後はここもメモ用途に使ってみようかなと思っている。

$&のpodはきちんと読むべき

心に傷を負ったのでこれを記しておく。

The use of this variable anywhere in a program imposes a considerable performance penalty on all regular expression matches.

perlvar

perl5.18なら直ってるみたいな噂も小耳に挟んだけど変わらなそげ。手元のperl5.18.1の結果。

% time perl -e 'sub f { $_[0] =~ /foo/ } f("foo") for 1..10000000'
perl -e 'sub f { $_[0] =~ /foo/ } f("foo") for 1..10000000'  6.58s user 0.04s system 99% cpu 6.627 total
%  time perl -e 'warn $&; sub f { $_[0] =~ /foo/ } f("foo") for 1..10000000'
Warning: something's wrong at -e line 1.
perl -e 'warn $&; sub f { $_[0] =~ /foo/ } f("foo") for 1..10000000'  10.79s user 0.06s system 99% cpu 10.850 total

リャマ本には書いてた。

4/1追記: Plack::App::Proxyで使ってた。ごめんなさい。