rch850 の上澄み

技術的な話題とか、雑談とか。タイトルを上澄みに変えました @ 2020/09/02

aws-sdk-java の PR 通ったけど空気ってなんだろう

朝からおはよう Rails を見てて「モンキーパッチやめろ」が連呼されてたから、upstream への pull request の話題をひとつ。

JavaAWS 使うときに使う AWS SDK for Java に、ちょっとした機能が欲しくなって Pull Request を送って取り込まれたってのがもう2ヶ月ほど前の話。Contributors に名前が載ったよ。やったね!

で、最近になって流れてきたツイート。

うん、空気ってわからん。

まず PR 送る前に、コミュニティの空気を読むために他の PR をちょいちょいチェックしてみたんだけど、割とマージされないどころかコメントすらついてない PR がそこそこあって……もしかして自分の PR もこの中に埋もれるんじゃないか!?という未来が見えたり見えなかったり。

で、自分なりに空気を読んだ結果、「これがあればきっと便利!」とだけ書いて PR を送った。

f:id:rch850:20140920113842p:plain

数日でライセンス確認のコメントがついて、いいよって答えたら1ヶ月弱でリリースされてた。

PR の中で、追加機能の有用性だとか、詳しい仕様だとかを書かなかったのは正解だと思ってる。有用性を判断するのは自分じゃないし、詳しい仕様なんてコードを読めばわかるし、分からないならコードがまずい。空気を読むのはほどほどに、ちゃんとコードを書けば大丈夫なんじゃないかなぁ。

次元を落として不気味の谷を超える

二次元と三次元が仲良くするためには、三次元側が次元を落とすのがいいと思っている。

何を言っているのかわからないと思うけど、次元が低い相手とのインタラクション、コミュニケーションには、自分が次元を落とすのがいいという話。

よくある AR アプリ(そいつは MR だろ、とツッコミたい諸君は抑えて抑えて)は、カメラを通して実世界を見ることで、そこに 3D のキャラクターが現れる。これはこれで感動モノなのだけれど、ちょっと違和感がある。

そういう時は、実空間の次元を落とそう。カメラを通した実空間と、それにオーバーレイされたキャラクターに、まとめて絵画調フィルタなどをかけることによって、次元が揃う。これでかなり違和感が軽減される*1。三次元と二次元、次元の異なる両者が揃って二次元という舞台に立つことで、不気味の谷を超えられるんじゃないかと思っている。いや、谷の手前に戻っているのかもしれないけど、いずれにせよ谷底に落ちずに済むだろう。

超えられる谷は映像の次元だけじゃない。

最近ちょくちょくゆりえDaysで遊んでるんだけれど、これがうまいこと谷を超えているなと思った。

Yo を使って、架空のキャラクターゆりえちゃんとコミュニケーションを取るんだけど、コミュニケーションの次元が Yo 次元に落ちている。この世界でできることは、ただ Yo するだけ。YURIECHAN から Yo されても、RCH850 から Yo されても、相手が人間なのかゆりえちゃんなのか区別がつかない。同じ舞台。10年以上前から人工無能チャットとかあったけど、それらが超えられなかった谷をいとも簡単に超えてきたな、という感じで、ちょっとした感動を覚えた。

異次元とコミュニケーションを取りたければ、舞台の次元を低い方に合わせてしまうといい。

*1:絵画調フィルタなどを使うことによって、3D キャラクターを合成する際の環境光をある程度雑にすることもできる

Mashup Hackathon 北陸 in 福井に行ってきましたね

Mashup Hackathon 北陸 in 福井の二日目だけ参加してきました。初日は某社恒例のインターンシップ交流BBQがあって参加できなかったんです。

今後の展開とか今後の展開とかあるので、何を作ったのかはここでは詳しく書きません。どんな作品があったのかは Togetter にまとまってるので参考に。

#MA10 Mashup Hackathon 北陸 in 福井 〜MA10一次予選ハッカソン 最新APIでMashup!!〜 - Togetterまとめ

今回のきづき

  • 勢いでドメイン買ったんだけど、Azure Web Sites の無料プランだと設定できなくて困った。うーん、Heroku にしようかなー。
  • Web API は、万が一つながらなくなってもデモが動くようにしておくとよい。開発中にしばらくつながらなくなって詰んだかと思った。結果をキャッシュして回避。

ドメインがサクッと設定できれば、今回の作品を公開しても良かったんだけど、さすがにほげほげアジュールウェブサイツドットネットのまま公開するかどうかは悩ましいところで。内容ももう少しよくしたいし、公開はちょっとおあずけで。

AWS 新サービスつまみ食い(2014年夏)

クラスメソッドさんがさっそくまとめてますね>AWS Summit 2014 | New Yorkで発表された新サービス | Developers.IO。もちろん公式ブログでもまとまってます>Amazon Web Services ブログ: 【AWS発表】新しくなったAWSモバイルサービス

個人的な感想とか。

CloudWatch Logs

待ってた!動かせるまでが簡単でよい。サクッと t2.micro で試せた。

/etc/init.d/awslogs を読んでみたところ、デーモンの起動スクリプト/var/awslogs/bin/awslogs-agent-launcher.sh にあるらしい。/var/awslogs なのか。/opt/aws/awslogs じゃないのか。

どうも AWS-CLI に logs というサブコマンドが導入されているようで、概要は /var/awslogs/bin/aws logs help で確認できる。パッと見、ログを送出するコマンドは /var/awslogs/bin/aws logs put-log-events なんだけど、ヘルプ見ても詳細書いてない。このへんでちょっと深読み諦めました。もう2時になるし、今回のスクフェスのイベントまだやり込めてないし。

Amazon Mobile Analytics

これは、CloudWatch Logs と別の意味で、びっくり。要するにスマホアプリの利用状況を集計、表示できますよーって話なんだけど、これって割と先駆者が多い分野じゃない?

2012年10月時点の比較(和訳したのが2013年)で、すでにゴロゴロと競合がいる状況で、当時は Flurry, Mixpanel あたりが元気。最近は Google Analytics も本腰入れてきて、わいわいがやがやしてる感じ。そこに Amazon。さーてどうなることやら。

Flurry をそれなりに使ってる人間から見た Amazon Mobile Analytics はというと、ちょっと渋い感じ。見られる項目としては、DAU, MAU, ARPU, ARPPU, Retention など、割と平凡。Flurry に比べて極端に勝ってるのは、反映速度。Mobile Analytics のトップページにはこう書かれている。

Amazon Mobile Analytics is designed to deliver usage reports within 60 minutes of receiving data from an app so that you can act on the data more quickly.

全ての指標が60分以内に反映されるのであれば、Flurry に比べるとだいぶ優秀。

でも……従量課金なんだよね。月1億イベントまで無料。イベントって何?って疑問は FAQ が解決してくれる。イベントは3種類。

  • システムイベント(セッション開始など)
  • アプリ内課金イベント
  • カスタムイベント

これらが一ヶ月にどれだけ発生したかで料金が決まる。Pricing ページには、月間2000万セッション、1セッションに10カスタムイベントの例が載っていて、その場合は2.4億イベントから無料の1億イベントを差し引いて1.4億イベント、140ドルになると書いてある。払えなくはないけど、払えなくはないけど、無料の Flurry とくらべて140ドルかー。

月間2000万セッションって、どんなもんかっていうと、30で割って1日66万セッション。3万人が22回フォアグラウンドにするとか、11万人が6回フォアグラウンドにするとか。なお、セッションの定義はFAQに書いてあって、アプリが起動された、またはフォアグラウンドになったとき。ただし、5秒以内の非アクティブはセッションが途切れない。

あと、10イベントってのがどれぐらいか。ゲームで言うと、ひとつのステージをクリアしたのを1イベントにすると、割と無難な数なのかもしれない。でも、自分の考えはそういうのじゃない。カスタムイベントは UX やコンバージョンの改善に使うもので、結構細かく仕込むものだと考えている。例えば画面遷移ごととか。で、そういうことをし始めると10イベントでは到底足りない。

まーーー、とにかく現状では弱い!!!

Flurry には、ユーザの何割が所定の操作シーケンスを実施したか、してない場合はどこで脱落したかを測定する Funnel があるし、クラッシュレポート機能(Crashlytics ほどではないけど)もある。Mobile Analytics は、グラフを眺めるぐらいしかできない。でも Amazon はまだこの分野に踏み込んだばかりで、先駆者に追いつけるだけの技術、資源はあるだろう。お得意の規模の経済で、コストダウンも望める。これからどんどん伸びていってほしい!

地味なところだとタイムゾーン指定したいし、解析的に目立つところだとコホート指定したい。

Zacalo, Amazon Cognito

あんま見てない

Kanazawa.rb meetup #22 に行ってきたYO!

Kanazawa.rb meetup #22 に Heroku の @keiko713 さんが来る!ってんで行ってきたYO!10ヶ月ぶりだYO!

個人的には、Heroku はちょこっとデプロイして独自ドメイン貼る程度で使ってたぐらいだった。例えば即ホTELとか。しかもこれほぼ静的ファイルだし、Python だし!Heroku っていうとアドオンがいっぱいあっていいなぁと思ってて、その辺りの話が聞けたらいいかなと思ってたら、ちょうど聞けてよかった。

Heroku 触るの初めてなんですーって人向けの内容って最初に言ってたけど、話を進めていくと、「リポジトリをプッシュすると内部で slug ができて、その中に諸々のバイナリやらアドオンやらが入ってて」みたいなつっこんだ話も出てきた。

ここ1年ぐらいは Azure Web Sites やらさくらのクラウドやら触ってて、しばらく Heroku はご無沙汰だったんだけど、変わるところは変わったんだなーという感じ。

  • クレカ登録しないとアプリを5つまでしかデプロイできなくなってた。既に5個以上作ってあったんだけど、そいつらは生きてて、今回のハンズオンで作るアプリを heroku create しようとしたらおこられた。速攻でクレカ登録したけどね。
  • データベースのプランが、Hobby, Standard, Premium, Enterprise で大別されるようになってた。昔は Ika とか Mecha が全部横一線に並んでたと思う。
  • パッと見、worker dyno って概念がなくなってるっぽい?アドオンに Heroku Scheduler ってのがあったから、それ使うのかも

アドオンの他に紹介してもらった buildpack は、すごく面白そうだなーと感じた。Third-party buildpacks を見てると、Middleman とか PhantomJS とか Sphinx とか、言語じゃねーだろ!ってのが並んでて、なんか何でもできそうな感じ?サーバセットアップ系エンジニア的には色々遊べそう。

そうそう、遊べそう。Heroku は課金が秒単位だってことを今回初めて知った。これなら、アドオンとか buildpack とか気兼ねなく使える&開発できそうじゃん?

はい今回もビールがおいしかったです。また行くYO!

「ラブライブ」を商標登録出願した上田育弘氏について

(2016/5/17 追記)

特許庁がお怒りのようです。

www.jpo.go.jp


高専カンファレンス6周年記念パーティー 福井サテライトで、怒りドリブン開発について紹介してきたところで、また怒りドリブンブロギングをする事態に至ってしまった。前回の怒りドリブンブロギングはソースカツ丼の件ね。

原因は、登録商標botが上田育弘無双になってること。

あー、!ついてないし関係ないかー。ラブライブ!は安泰じゃ〜〜〜じゃないですよ!!色々大変なんですよ!!!!(後述)。ちなみに今回のスコアマッチは 63,184 pt の 15,375 位で、無事に SR 凛ちゃん2枚ゲットしました。がんばった。

弁理士登録公告の PDF によれば、上田育弘氏は、平成25年4月10日に、日本弁理士会を登録抹消になっている。理由は、「弁理士法第24条第1項第5号に該当するに至った為」

弁理士法第24条とは:

第二十四条  弁理士が次の各号のいずれかに該当する場合には、日本弁理士会は、その登録を抹消しなければならない。

一  その業務を廃止したとき。

二  死亡したとき。

三  第八条各号(第五号を除く。)のいずれかに該当するに至ったとき。

四  前条第一項の規定による登録の取消しの処分を受けたとき。

五  第六十一条の規定による退会の処分を受けたとき。

第61条とは:

弁理士会の退会処分)

第六十一条  弁理士会は、経済産業大臣の認可を受けて、弁理士会の秩序又は信用を害するおそれのある会員を退会させることができる。

というわけで、弁理士としては抹消されてるけど、出願は懲りずに続けてるようで……

こんなのが出願されちゃうと、受け付けるのが大変なんですよ。手続きの流れの図を見てみると、出願されたものは、とりあえず受け付けて、公開して、審査しなきゃいけない。今回の場合だと間違いなく拒絶されるけど、その拒絶通知を出さないといけない。これは大変!!

というわけで、特許庁への DoS 攻撃とも言えるこんな行為はやめてほしい。出願のコストは 3,400 円 + 区分 x 8,600 円だから、上記のアニメタイトル系だと1件につき29,200 円と、全然安くないんだけどね。

参考リンク:


(以下、6/16 16:30 追記分)

"手数料を支払わないで商標登録出願をするとどうなるのか | 栗原潔のIT弁理士日記" によれば、手数料を支払わなくても出願できるとのこと。

この所定の手数料を支払わないで商標登録出願をする(典型的には特許印紙を貼らないで願書を提出する)とどうなるのでしょうか?

この場合でも即時に却下されることはなく、出願としてはいったん受理されます。

でも DoS 攻撃してるのは一緒だからやめてほしい。


(以下、7/4 9:30 追記分)

"上田育弘さんを止める方法 | やめたいときは やめるといい。" に、特許庁にとっては屁でもないんじゃないかという話がありました。

特許庁の審査負担が増大するのではないかという懸念はありますが、商標登録出願の件数は年度によって数千件単位でぶれますし、特許出願などはここ数年で数万件単位で激減していますので、上田育弘さんが高々3000件の不備のある出願をしたところでわれらが日本国特許庁には屁でもない規模だと思います。

netstat が万能だと思っていた話

Linux サーバで、どんなポートが空いてるか(外からつなぐことができるか)確認するには、

$ netstat -nlt

で十分だろう。と、ずっと思ってた。

ある日、Elastic Beanstalk で Node.js の環境を作った。どんな風に動いているんだろうと疑問に思って、ログインしてみて、netstat を打ってみたんだけど、どういうわけか 80 番が開いていない。でも 80 番に対するアクセスはできる。どういうことだろう?

結論から言うと、iptables で 80 番が別のポートに転送されていた。どういう調べ方でその原因を見つけたか忘れたけど、そういう結論だった。

参考: 80番ポートへ届いたパケットをiptablesでローカルの上位ポートに転送する - Qiita

netstat で全てわかると思ってた自分にとってはだいぶショックだった。今度から開いてるポート調べるときには netstat だけじゃなくて iptables も確認するようにしよう。

(6月11日追記)

昨今バズってる記事「訳:非推奨になったLinuxネットワークコマンドの代替コマンド - aws memo」に従って ss -nlt したけど結果は変わらなかった。