読者です 読者をやめる 読者になる 読者になる

編修前記

"まとまる前の文章" を "まとめる前" の文章

死にそうです。

というか、もう死んだほうが良いんじゃないのか。

SE

iPhoneSEを買いました

4年来の相棒であるAQUOSPHONEのSHL21がもうそろ寿命っぽかった(バッテリーの持ち・重すぎ・Android3.x)ので。

かねてからiPhoneを買おうと思っていて、SEの登場でこれは買いだと思ってずっと色々忙しい合間に7発表会。ひっそりとSEが値下げされていて、結果オーライでした。

64GBの白。Appleストアでポチったら次の日に届いて感動しました。

SIM

本当はMNPで端末入れ替えのつもりでしたが問い合わせると2年縛りが12月に解けるというので2ヶ月間は2台持ちマンです。その際IIJの2GBプリペイドSIMで十分だと思っていたのですが、某DEP◯で商品取り違えされ、普通にSIMを買ってしまったが開封後返品不可ということで普通に契約しました。MNPのタイミングでSIMの入れ替えですね。無駄にお金はかかりましたが無駄な買い物にならなかったのでまぁ不幸中の幸い。

そんな感じ。

出会ったのは亡霊

PhantomJSに出会った

もうかれこれ、ちらしずしのデプロイ当初から困惑していたjsによって動的に生成されるhtmlを拾ってくる話、コイツのおかげで解決できた。
webクローリングについて1mmも詳しくないままにちらしずしをスタートアップしてしまったおかげでだいぶ場当たり的対処をしてきたものが、ついに良い感じになってまた一歩大人になった感じ。

詳しい話

  • PhantomJSは画面のないブラウザ。ヘッドレスって言うらしい。
  • そもそも問題は何かというとカスミとかのHPがチラシの情報をjsで動的に生成していて、単にurllib2で取ってきてもjsが実行できないのでスクレイピングできなかったということ(ここに気づくのにn年かかった)
    • 仕方ないのでelectronでhtmlを描画させてそれをローカルに落とすとかいうことをしていた
    • でもcronではelectronは実行できなかったので手動cronで毎回研究室に来てはコマンドを叩いていた
  • PhantomJSは画面が生成されずに内部でhtmlを読み込んでjsも実行してくれるため、cronでも叩けた
  • 任せている作業は単純で、スーパーのURLを渡して、読み込んだhtml(js生成分含)をconsole.log(page.content);して出力をローカルファイルにリダイレクトしてるだけ

学んだこと

  • PhantomJSはいいぞ
  • ガルパンはいいぞ(円盤が届いてから研究室でずっと放映してる。自分一人の時はプロジェクタをお借りして)

チラシを撒き散らす話

twitterBotを作ったので、ログを残そうと思って。
別にちらしずしが大好物なわけでは(ry
chirashiとrawashiが似てたとかその程度の話。

つくったもの

  • ちらしずし
  • Twitter
  • GitHub
  • アイコンはいらすとやのちらしずしとヒラギノ明朝(だったかな)から f:id:Rawashi:20160517222715p:plain

なんでつくったか

  • ここ最近かなり貧困していて、そろそろ自炊生活に戻さないとなぁと思っていた
  • どうせ材料買うならと、カスミのHPでチラシをめくっていたが、それさえ面倒になってきた
  • twitterに流しておけば見やすいなぁって思った

なかみのはなし

  • おおまかな流れは、
    • electronでhtmlを拾ってきて
    • BeautifulSoup4でスクレイピングかけてpdfの在り処を特定
    • wgetでpdfを拾ってくる
    • ImageMagickでpdfをpngに変換
    • Tweepyで画像付きツイート
  • みたいな感じ。

おもってたよりアレだった

  • 作る前はそんなに面倒じゃないかなぁって考えていたけど甘かった。
  • 始めてから幾つかの点に気づく
    • どうやらカスミのHPから一度shufooAPIを叩いて、返ってきたhtmlからpdfデータの在り処を探さなければならないらしい。
    • abobeReaderの有無(?)か何かを判別して動的にhtmlを生成してるらしく、pythonから直に叩いてもshufooのurlが生成されず、うまくいかない。
  • 1つめに関してはスクレイピングを2回すればいいだけの話なので、大きな問題はなかった
  • 2つめは自分にはかなり厄介で、httpリクエストヘッダのuser-Agentとかをいじってみたけどどうにもならなかった
  • 苦肉の策で、chromium内蔵のelectronでwindowのないデスクトップアプリを作り、それでアクセスしてhtmlをローカルに引っ張ってきて、それをスクレイピングかけている

つくってみて

  • 面倒なところはあったけど深いバグ谷に落ちることなく1晩でなんとか書けた。
  • bs4はイケメン。
  • syncerのtwitterAPIの触り方(めっちゃ便利)読んで、"画像付きツイートってめっちゃめんどいやん"って思ったけど、tweepy先輩はupdate_with_media(filename,status,~~)でできちゃうのですごいなって。
    • イケメンなんだけど、1ツイートに複数枚画像乗っけられないっぽいので普通にhttpリクエスト投げることにした
  • ただ多重投稿しちゃった時にエラーステータス返すんじゃなくてアプリが落ちちゃうの、どうにかなんないかな。
  • やっぱりpython2を書かなければならない運命は存在するのでpython3がメジャーになる時代になってほしい。

こんご

  • マルモ学園店は実装済み(めっちゃ簡易なhtml構成で助かった)
  • ある程度のリファクタリングはいい感じになった。
  • 駅前のイオンとトライアルは取ってこれそうな雰囲気あるので、機会があれば。
  • 画質改善をどうにかしたい。
    • メディアアップロードの上限に引っかかってしまうので、どうにかして1枚を分割する方法を考えたい。
    • 階層クラスタリング使っていい感じに大枠を認識するとかの案があるけど面倒そう。
  • 営業時間お知らせとかはすぐ出来そう。
  • 特売情報とかは手動になっちゃうかなぁ。
    • 自分用に作った側面が大きいのであんまり手がかかるならやりたくない
  • たまに寿司を散らすツイートをしたい。
  • "ちずずらし" ってちらしずしの空目しそうなのでエイプリルフールネタにアリかもしれない。

おわり。markdownは箇条書きじゃないと書けない病に罹患しているのかもしれない。

追記

 

ふとももの食レポ

この世で唯一不変の正義 それは"かわいい"

ふともも写真の世界展に行ってきた。

結構今更感はありますが。
twitterでえらくバズってたので決して下心などはなしにアートとして見に行こうと思い立ちました。 ここ最近様々な事象に翻弄されメンタル的に死んでいたので現し世への信頼回復と自身のメンタル回復を兼ねて。
全休を謳歌しての5/11(水)13時頃という平日真っ只中参戦でしたが、こんな平日ド真ん中に来る客もあんまいないだろうと思ったのは間違いで、入った瞬間にめっちゃ大勢の人でビビりました。
そんなに広いスペースでは無かったけれど、壁からパネルからベランダまで所狭しと写真で埋め尽くされ、なんかそれはそれは神聖な空間でした。しかも全作品撮影拡散OK。どう撮っても客の顔が写ってしまうため部屋全体の写真は断念。

メインのスペースの隣にちっちゃい1区画があって、そこは天井すらも壁紙のごとくふとももに覆い尽くされ見事でした。
f:id:Rawashi:20160517232407j:plain

自分の至らない日本語力では到底言い表せない素晴らしさなので、写真を並べていこうと思います。

  • 個人的至高の1枚

f:id:Rawashi:20160517232352j:plain

  • 次点 f:id:Rawashi:20160517232144j:plain

その他いっぱい f:id:Rawashi:20160517232116j:plainf:id:Rawashi:20160517232123j:plainf:id:Rawashi:20160517232133j:plainf:id:Rawashi:20160517232151j:plainf:id:Rawashi:20160517232205j:plainf:id:Rawashi:20160517232223j:plainf:id:Rawashi:20160517232232j:plainf:id:Rawashi:20160517232239j:plainf:id:Rawashi:20160517232255j:plainf:id:Rawashi:20160517232331j:plainf:id:Rawashi:20160517232343j:plainf:id:Rawashi:20160517232413j:plainf:id:Rawashi:20160517232417j:plain

まだまだありますが、キリがないのでこれくらい。

おもったこと・かんじたこと

  • 客層は大体男性。でも2割くらい女性もいて、大体は20代、たまに5,60代っぽい人もいて、なんだかカオスでした。
  • 意外と外国人っぽい客が少なかったこと。ふとももは世界共通のコンテンツじゃないのだろうか。
  • ほとんどの客が一眼、コンデジを持っていて、持っていない人もスマホでパシャパシャしていました。自分ももっと画質の良いスマホを持っておけばとはじめて後悔しました。
  • 撮った写真たちを見比べて、1つ。圧倒的に"制服"or"百合"or"濡れシチュ"の割合が大きかったこと。嗜好がモロバレです。これを機に濡れ髪フェチから濡れフェチに転職。

かったもの

  • クリアファイル、写真集2冊、ブロマイド2枚 f:id:Rawashi:20160517234820j:plain

そんなの買ってどうするんだ!って行く前は思ってました。今はおうちの壁にディスプレイされています。
ちょっと変態チックですがまぁ誰が見に来るわけでもない部屋なので気にはしてません。
写真集などは希望あれば鑑賞会しましょう。

おわり

Dance with ssh

研究室に配属になりまして。

Ubuntuマシンを配給されたわけなんです。 linuxは触るの初めてで、環境整えるのに一苦労です。

外部からsshでアクセスできるようになったら便利かなぁと思って、慣れない手つきでopensshを導入し、 "やったぜsshでアクセスできるじゃん(ただしLAN内のみ)"ってなるじゃん。

次なるステップとして、やっぱLAN外の広大なインターネッツからssh出来るようになりたいから、何から始めたものかと思ってやっぱセキュリティ周りだろうと。

とりあえず公開鍵認証onlyでパスワード認証切ると良いって教わったので公開鍵をscpで送って、sshd_configもそれっぽくいじって、ssh ッターン!! ってやるじゃん。
Permission denied (publickey).

なぜだなぜだと格闘しつつ早1時間。

原因はauthorized_keysでした。簡単な話。

これディレクトリじゃないのね。この中にid_rsa.pubを入れるって書いてあったから初期段階でディレクトリを生成してしまって、そっからドツボにはまる。インターネッツを調べたらどうもcat id_rsa.pub >> authorized_keys ってやってて、"うん?なんでディレクトリに書き込めてんだ?"ってなる。ああそうかコイツ自体がファイルなのねと。

まだまだ環境構築までの道のりは長そうですが、ちょっとだけ達成感のある作業でした。

ルータの設定やら何やらを乗り越えて早く外部からsshしたいお年ごろ。おしまい。

無為徒食のその先

人生は何事もなさぬにはあまりにも長いが、 何事かをなすにはあまりにも短い。
らしい。

誰の言葉かは思い出せないが、最近この言葉をよく思い出す。


ムーアの法則も終焉かと言われているが、そんなことも感じさせず、コンピュータハードの高速化は進んでいる。
そして対になるようにして人間の寿命は伸び続ける。

どうだろう、ここから先、いつになるかはわからないけれど、
人間の処理スピードは速くなっていくはずだ。ポストヒューマノイドかも知れないし、AIかもしれないけれど、格段に処理スピードが上がる日がくるだろう。
そして、寿命もどんどん伸びてゆく。

そうしたら、人生は何事をなすにもあまりにも長くなる日が来るのだろうか。

その逆転の日を迎えるには、現在の自分の人生は短すぎるのだろうか。