hamacoの日記

どうでもいい日常をたれながす日記だと思う

HammerspoonでRShiftを^と&にする

Sierra になってから Karabiner が使えなくなってしまったので、Hammerspoon で頑張るメモその1

今回は右の Shift を単押しで ^、 左の Shift を押しながらで & になるようにしたかったのでやってみた。

local LShift = false
module.rshiftKeymaps = hs.eventtap.new({hs.eventtap.event.types.flagsChanged}, function(e)
    local flags = e:getFlags()
    local keyCode = e:getKeyCode()

    if keyCode == 0x38 then
        LShift = flags.shift
    end
    if keyCode == 0x3C then
        local rawFlags = e:getRawEventData().CGEventData.flags
        if LShift and rawFlags == 131334 then -- 131334 = LShift+RShift
            return keyStroke({"shift"}, "6")() -- &
        elseif rawFlags == 131332 then -- 131332 = RShift
            return keyStroke({}, 0x18)() -- ^
        end
    end
end)
module.rshiftKeymaps:start()

Modifier Key に関しては keyDown / keyUp イベントが発火されないっぽいので、flagsChanged イベントで結構無理矢理頑張っていてちょっと辛い所。 あと、flagsChanged イベントだと、 keyDown / KeyUp 時両方とも発火されてしまうので、 rawEventData のフラグを見てどのキーが押されているのか判断している。

au から IIJmio に MNP した

iPhone 6 Plus にしたタイミングで au に乗り換えていたんだけど、丁度先月で2年縛りが終わって更新月だったので IIJmioMNP した。 au 端末使ってるとこういうのめんどくさいけど、iPhone 7 Plus は Apple Store で買ったので問題なし。

最初は Nexus 5X でお試ししている DMM Mobile に SIM 追加すればいいかなーとか思っていたんだけど、DMM Mobile に MNP する場合、「一度現在の契約を解除する → 新規申込で MNP する → SIM を2枚にして Nexus 5X に挿す」となんかすごくめんどくさいし、手数料とかあれな気がしたので無難に IIJmio に。

SIM が届いた後に IIJmio 側の MNP 手続きが電話で自動音声に対して電話番号とか入力するだけで済むので MNP 自体はだいぶ楽な感じがしました。 ただ、本人確認で保険証の住所を略字で書いてたら再提出喰らって SIM 届くまでは時間が掛かりましたが…w

通信速度とかのついてはまだ乗り換えたばかりなのでなんとも言えないけど、DMM Mobile と違って高速通信切り替える為のアプリがまともに動くのは便利。 これ低速通信下でもちゃんと使えるのかとかは使っていくうちに分かってくるかなーって感じ。

phpallのDocker版を作ってみた話

この記事はPHP Advent Calendar 2016の19日目のエントリです。

はじめに

PHPerは大体自分のマシンにPHPの各バージョンを入れて、バージョン間の挙動の違いなどを確認していると聞きました*1
しかし、各バージョンのPHPをビルドするのって時間が凄くかかってめんどくさいですよね。

なら各バージョンのPHPが動く Docker イメージを作ればいいのではとか思い、PHP 5.0.0 以降の各バージョン毎の Docker イメージを作ってみました。

https://hub.docker.com/r/hamaco/php-all/

使い方

まず、Docker イメージをダウンロードしておかないと話にならないので以下のコマンドで一括ダウンロードします。

$ docker pull -a hamaco/php-all

ただ、1イメージ辺り20MB程容量を喰う為、ディスク容量に余裕のない人は docker pull hamaco/php-all:7.1.0 みたいにして自分の必要なバージョンだけダウンロードしてきてください。
Docker イメージのダウンロードが完了したら、以下のリンクから docker-phpall をダウンロードしてきて PATH の通った所に置いてください。

github.com

そして、docker-phpall コマンドの引数に、実行したい PHP のコード or 実行したい PHP ファイルを渡してあげると、、、

$ docker-phpall '"0x1"=="1e0"'
php-5.0.0: bool(true)
php-5.0.1: bool(true)
php-5.0.2: bool(true)
php-5.0.3: bool(false)
php-5.0.4: bool(false)
php-5.0.5: bool(false)
php-5.6.28: bool(true)
php-5.6.29: bool(true)
php-7.0.13: bool(false)
php-7.0.14: bool(false)
php-7.1.0: bool(false)

こんな感じでダウンロード済みの Docker イメージの各バージョンで実行され、結果が出力されます。
上記コマンドの場合出力がないですが、phpall 同様に実行結果が空の場合 var_dump() で囲んで再実行しているのでその結果が出力されています。

まとめ

だいぶさっくり紹介ですまぬ…すまぬ…。

@hnw さんの https://github.com/hnw/phpall にあるインストールスクリプトを使用して PHP のインストールを行なっているので、基本的に phpall 互換になっていると思います。
docker-phpall の引数の挙動自体も、上記 phpall コマンドに合わせているつもりなので、同じような使いかたができると思います。もし、挙動が違うようでしたら PR なり、不具合報告なりして頂ければと。

あと、闇PHP勉強会で PHP5 以前のバージョンも作れとか圧があったのでもう少し改良予定です。そもそも新バージョンの PHP のビルド手動でやりたくないのでその辺もどうにかしないと…。

アイマスハッカソンを(一応)主催した #imas_hack

こんにちは! この記事は アイドルマスター Advent Calendar 2016 - Adventar の19日目の記事という体でイベントの報告になります。

はじめに

当日参加してくださったプロデューサーの皆さま、現地にはこれなかったけどニコ生の方で視聴してくださったプロデューサーの皆さま、スタッフの皆さま本当にありがとうございました! & お疲れ様でした!
そして、今回の会場を貸してくださったクラウドワークスさん本当にお世話になりました。

自己紹介

イベント報告の前にイベントでまともに発信できなかったのでとりあえず簡単に自己紹介をば…。
基本的にライブとかコンシューマーの方のゲームとかやらず、主にミリオンライブ!の方で豊川風花Pをしています。
あとはミリオンライブ!のプロデューサーデータを集めているサイトの運営をしていたり。

きっかけ

そもそもの開催のきっかけはこのツイートでした。

そして翌日にはたたき台ができるという素早さ。

GitHub - imas/hackathon at c616ac39bc39a7c9c30d7db97e3337a720da909c

こんな感じで @treby006 氏のフットワークの軽さに驚きつつ開催する流れに…。

前日まで

基本的に運営に必要そうなことは全部他の人がやってくれた*1ので、私はなんとなく Twitterハッシュタグとか見てひたすらふぁぼりつつ、参加ためらってそうな人を見つけたらとりあえずメンション投げるとか雑なことをやってました。
ひたすら他の人が有能だったので私はテキトーなこと呟いたり懇親会の担当をしたりしていただけな気がしますw

当日

当日は入口の受付席に座りつつ、Twitter と Slack で賑やかししつつ↑の運営サイトのバグ修正とかしていました。
私のハッカソンの成果は↓のツイートに全て集約されている気がします。なぜか @bode_mmk さんのクソコラを作って遊んでいましたw

全体としては思っていたより皆静かにもくもくしつつ、会場で常にBGMを流していたので曲によってはサイリウム振り始める人がいたり、リアルにあまり騒ぐとあれなので Slack の方にコール用のチャンネルが作られてそっちで盛り上がったりとなかなか面白い雰囲気のイベントでした。

まとめ

受付の場所がちょっと離れていたので私は直接会話とかでは参加できなかったんですが、Slack の方で盛り上がっていたのでぼっち感もなくわいわいできてよかった!
せめて来年の内(夏?)には第2回を開催していきたいなーと言う気持ち。そして次回こそはちゃんとハッカソンして発表するぞという気持ち。
あれ? あんまり主催した感がないな? まあ気のせいやろ。

そういえば、#imas_hack の Slack は誰でもウェルカムなので興味のある方は是非参加してくださいね!

*1:特に準備色々やって頂いた https://twitter.com/gomao9 さん本当にありがとう!

幕末!アイドル新撰組 は500位爆死しました #imas_ml

今月もガシャ回してて引換券が余っていたのでなんとなく走った。
なんか1200位と500位でそんなに差がない気がしたのでなんとなくSP走りしてたんだけど、やはり速度がでないせいでじわじわとボーダーに追い付かれ追い抜かれでダメでした。
ど、どうせ10%チケなんか当たらないからいいんだもんね!

f:id:hamaco:20161003154713j:plain:w300

Kindle Unlimited で漫画を色々読んだ

Kindle Unlimited の初月が無料だったのでお試し登録して読んだ本のまとめ。大体読んでて面白かったやつは上の方にある感じ。

大体読んだやつ

1~2巻だけ読んだやつ

最初は最新刊 or 1冊前まで対象だったりした本が、1巻のみ対象になってたりと地味にストレス溜まりそうな感じになってしまっていてあれなので継続はしない。
また来年とかある程度落ち着いてきた頃に見て、便利そうなら戻ってくるかもしれないけどどうだろうなー。

iOSDC Japan 2016 にスタッフ参加してきた

まったく iOS 関係ない人間だけど、2016/08/19 - 08/20 に開催された iOSDC Japan 2016 に当日スタッフとして参加してきました。

なんでスタッフなんかやってたの?

iOS とか一切関係ない人間なんですが、主催者の @tomzoh が PHP / Beer 界隈でよく会う人だったのと、懇親会のビールが豪華って噂を聞いてビール目当てに気がついたら当日スタッフに申し込んでました。 はい、完全にタダビール目当てです。

前日まで

当日スタッフだから当日まで ( ˘ω˘)スヤァ… してればいいやって思ってたんだけど、Twitter にセッション内容を自動ポストしたいって Issue がしばらく担当求むになってたので自動投稿するプログラムを PHP (ここ重要)で書きました。
最初はプログラムなんか書く気なくて Buffer でやろうとしてたんだけど、画面からポチポチ登録するのが糞めんどくさくて結局 PHP を書いて cron でツイートするように…。

このセッション前ツイートがどの程度役に立っていたのか分からないけど、単純なコードを書くだけでできるのでとりあえずやっておくのもいいのかなーって。
ツイートするセッション情報も iOSDC では json で全て取得できたので、ツイート用のデータを作る*1のがめっちゃ楽でしたしね。

ちなみにこのプログラム書いてる時、記憶の片隅にあったけどどこで見たか思い出せなかったので自分で書いたんですが、これ去年の YAPC で同じようなことやってたんですよね。
しかも自動ツイートするやつ公開されていると言うね。

当日

前夜祭と当日は Track A の雑用担当的なことを担当していました。
司会業は他のスタッフがやってくれていたので、私はスタッフ用 Slack を見つつ告知しないといけないことの告知をしたり、席の誘導をしたり、ランチセッション前にお弁当を配ったりとそんなことをやってました。
あと iOS 関係の会話とかできないし、知り合いもいないから他のスタッフより比較的暇な気がしていたので、懇親会では美味しいビールを飲みつつ司会業以外で LT のサポートとかをやってました。

しかし、 LT の時間にはバドワイザーがでてくるし、懇親会では Punk IPA やら Black Hammer やらよなよなやら毬花やらめっちゃ豪華なビールが飲めて、ビールに合う食事が付いてきて最高のプログラマー向けカンファレンスでしたね!
私のイベントの記憶はビールで埋めつくされているのでちゃんとしたイベントの内容が知りたい人は他の人の感想記事を見てくださいw

さいごに

いやー、ほんと発表だけじゃなくビールも最高な良いイベントでしたね! これはもし来年があって来年もビールが豪華ならまた参加するしかないぞ!

*1:これも PHP で書いた

Born to Die最高だった

Black Hammer & AB:20 Launching! | BrewDog Roppongi とのことで知り合いと BrewDog Roppongi に行ってきた。

そしたらそこで Born to Die 18.08.2016 なるものがあったので頼んでみたらめっちゃ美味かった。それだけ。

f:id:hamaco:20160804182511j:plain:w300

Xperia Z3割ってしまった

f:id:hamaco:20160801182954j:plain:w300

やっちまったぜ。 iPhone 6 Plus がタップに反応しなくなってきてて、次の iPhone 発売までの繋ぎとして使っていたのでちょっと嚴しいタイミングでやらかした。

しかし、iPhone と違って Xperia はガラスやられるとまったくタッチ操作できなくなるんですね。