IFTTTの調子が最近悪いのでIntegromatに切り替えた話

SNS間の連携でよく使用されているのが IFTTT (「いふと」と読むらしい)というサービスです。

ifttt.com

私もIFTTTで

という処理(IFTTT 的にはアプレットと呼ぶ)を作って、主に飯テロに利用していました。

ところが最近 IFTTT の調子がどうもよろしくない。以前からポストが遅れることは度々ありましたが、2月中旬からまったく処理が行われなくなりました。

これが動かないのは飯テロ的にとても痛いので、代替になるサービスを探すことにしました。そこで見つけたのが Integromat というサービスです。

Integromat とは

www.integromat.com

IFTTT のように【なにがあったら】【どうする】という単純な2段階構成だけではなく、複雑な処理の流れを設定できるのが Integromat の特徴で、そのためのフィルター群も多数用意されています。複雑なものを作れるぶん設定は多少難しくなっていて、どのように処理 (Integromat 的にはシナリオと呼ぶ) を作るかというチュートリアルビデオが、YouTube にたくさんアップされています。


Tutorial: Routers and Filters

無料プランといくつかの有料プランが用意されていて、主に3つの指標の制約が、高いプランになるほど緩くなっています。

  • 処理の起動回数
  • データ転送量
  • 処理起動の最小間隔

無料で使える FREE プランでは、処理の起動回数が月1,000回までに制限されています。これは計算すると1時間に1回強しか起動できません。タイムリーな飯テロにはちょっとつらいなと考えて、自分は月額9ドルの BASIC プランにしました。BASIC プランだと起動が月10,000回まで緩和されます。

www.integromat.com

Facebook Photo to Twitter/Flickr を作る

それでは早速、目的のシナリオを作っていきましょう。最初に完成形を出しちゃいますが、こんな形になりました。

https://gyazo.com/c76a3e599fe1b7db1d79fa58d1ef3b74

以下詳しくみていきます。

Facebook: Watch Photos

まずは Facebook モジュールを写真の投稿をトリガーとして作ります。

https://gyazo.com/752afa518d6a77b6ce535147b664bce6

HTTP: Get a file

次にそこからの接続先として HTTP モジュールの Get a file を作ります。これなしに直接 TwitterFlickr モジュールにつなぐとうまく動いてくれません。Facebook モジュールで取得できる画像に関する項目は URL だけなので、間で HTTP モジュールで実際の画像データを取りに行く必要があるんですね。これが分からなくてずいぶんハマりました。

https://gyazo.com/d5b34649368687bc213d9dc589feb392

Router

ここから直接 Twitter に繋いでしまっても良いですが、同じデータを Flickr にも投げたいので Router をはさみます。Router は1つの入力を複数に分岐してくれる機能です。

Twitter: Create a tweet

Router から送られた情報を Twitter モジュールの Create a tweet で新規ツイートとしてポストします。ツイート本文をどうするかは、渡されてきた情報や固定文字列の組み合わせで指定できます。今回は Facebook のコメント本文と URL を、ツイート本文としてポストするようにしました。 ここで大事な点があります。以下の画像の赤枠のように、「8. Name」と「8. Link」の間に「スペース」を一文字入れておくということです。これをやらないと、例えば

Facebook本文だよ #hashtag

というコメントだったときに、ツイートされる文章は

Facebook本文だよ #hashtaghttps://facebook.com/...

となってしまい、Twitter側にハッシュタグとして正しく認識されません。

https://gyazo.com/4c34d5d4429dd20133818a4ab642274a

Flickr: Upload a photo

Twitterモジュールとと設定項目の違いはありますが、やっていることは同じです。

https://gyazo.com/6c70112e599830a9b34d6ee67a3c200f

試しに実行してみる

シナリオができたら、左下の「Run once」ボタンで試しに実行してみましょう。なにかまずいことがあると、そのモジュールにエラーが発生したことが表示されるので、その内容を読んで対処していきます。

あとは定期実行を設定しておしまい

BASICプランでは、シナリオの起動間隔を最短 5 分まで短く設定できますが、そんなに厳密さを要求するものでもないので、デフォルトの 15 分のままにしておきました。

さて写真を Facebook にアップロードしてしばらく待つと、無事に Twitter にポストされていました。めでたしめでたし。(↓が Integromat 自動実行で初めてうまくいったツイート)

違法コンテンツブロックのためにOP53Bを導入することへの懸念点

8月24日に開催された「知的財産権本部 インターネット上の海賊版対策に関する検討会議」(第5回) の議論に対してまとめられた以下の togetter

togetter.com

について、思うところをツイートをしたところ、

川上量生氏本人から詳細を明らかにせよとのリプライが来たので、自分の考える問題点をまとめます。

OP53B について

一様に OP53B を実施すると、組織内のキャッシュDNSサーバからも名前解決できないという本末転倒な話になってしまうので、すでに実施されている OP25B と同様にプロバイダから動的IPアドレスが割り当てられる環境のみを対象にすると想定します。多くの企業組織は固定 IP による接続なので対象にならない前提です。

ざっと考えられる問題点は以下になります。

  • 接続環境のDNSが壊れている場合に回避手段がない
  • DNS の不具合調査が著しく困難になる
  • 組み込み IoT 機器への影響
  • IP 電話への影響

接続環境のDNSが壊れている場合に回避手段がない

ホテルが提供しているネットワークや公衆 WiFi など、きちんとメンテナンスされていない環境は未だにちょくちょく見かけます。WiFi で接続できても、DHCP で IP アドレスが降ってこない、指定された DNS サーバが腐っていて外部のホスト名が全く引けないか不安定、などの経験をした方も大勢いることでしょう。

IP アドレスが取得できていて外部へのルーティングが可能という条件なら、たとえ提供されている DNS サーバが腐っていても Public DNS を自分で指定することで回避できます。私もこの方法で回避したことがこれまで何度もありますが、OP53B を実施されるとこれができなくなります。

DNS の不具合調査が著しく困難になる

上記のように接続しているネットワークに不具合がある場合、ツールを駆使して原因を探っていくのがエンジニアの本性なわけですが、OP53B が有効になっている環境では DNS に関する原因究明はほぼ不可能となるでしょう。原因が分からないことには、ネットワーク提供者に報告するにしても「なんか繋がらない」という曖昧な表現しかできません。

組み込み IoT 機器への影響

組み込み機器がインターネットに接続して情報をやり取りする例も増えてきました。いわゆる IoT というやつです。IoT 機器に使いやすい UI はついていない場合が多いので、参照 DNS サーバの情報は設置時に一度設定されてからずっとそのままだったり、場合によっては決め打ちで書き込まれているかもしれません。IoT 機器が繋がっているネットワークに急に OP53B を実施されると、参照 DNS が外部のものだった場合は当然処理が行えなくなります。

IP 電話への影響

DNS はホスト名と IP アドレスへの名前解決だけに使われているわけではありません。メールサーバはメール送信のために MX レコードを使いますし、IP 電話は SIP プロトコルを通して DNS を利用しています。

動的 IP アドレスレンジから SIP フォンを使っている例がどのくらいあるのかは分かりませんが、もしそうなっていた場合に不用意な OP53B がサービス停止を招く可能性は十分にあります。

Public DNS サーバについて

川上氏のドキュメントでは Public DNS についても言及されています。前述の Togetter まとめでは「Google Public DNS 8.8.8.8 や Cloudflare 1.1.1.1 には IP ブロッキングを実施せよ」と川上氏が主張していると解釈しているツイートがいくつも見られます。私もこれに引っ張られて多少過激な表現のツイートをしてしまいましたが、ドキュメントを熟考した結果これは解釈が間違っているのではないかという結論になりました。

少し長いですが該当部分を引用します。

企業または個人が自己の使用の目的のために設置している DNS サーバはやむを得ないとしても、一般の利用者の多い Public DNS サーバに対しては、ブロッキングの対象とすべきである。

これをおこなえば上記の立石氏の資料でも指摘されている②③④の 3 点の回避策についても、ほぼ、防ぐことが可能になる。

もちろん、すべての Public DNS サーバーに対してブロッキングを実施してもらうことは不可能である。ただし、現実的には主に利用されている Public DNS サーバの数は限られている。

具体的にはクラウドフレアの 1.1.1.1 とグーグルの 8.8.8.8 を対象とすべきである。<中略>

これらは海外の DNS サーバであり、日本の行政、または司法による命令に従わない可能性がある。だとしても、彼らが、日本ユーザーからのアクセスに対して日本の法制度に従うか、そうでないかの立場をはっきりとさせる踏み絵としても、国内の DNS サーバ同様にブロッキングをおこなうことを要請すべきであると考える。

文章をよく読めば、Public DNS サーバ自体を IP ブロッキングするのではなく、Public DNS サーバにも国内同様の DNS ブロッキングを要請していくという意味であると解釈するのが妥当です。

川上氏は、Public DNS への IP ブロッキングに関しては、少なくともこのドキュメント内では主張していないので、その点に関する過剰な反応は不適切ではないかと思います。

Public DNS の役割とは

Google が Public DNS をはじめたのは、ユーザ環境の参照 DNS サーバによる原因で快適なインターネット接続体験が阻害されていることが調査によって分かったからです。また DNS プロトコル「毒入れ」攻撃によるセキュリティ事件が発生したこともあって、それを回避する役割も担っています。

OP53B を実施することによって、動的 IP アドレスブロックからは通常の方法では Public DNS へのアクセスがほぼ不可能になります。このことは、先に上げたメリットをユーザから取り上げることを意味していて、違法コンテンツへのアクセス制限によるメリットに比べて「オーバーキル」であると私は考えます。

「REALFORCE R2 PFU Limited Edition」はスペーサーを使うと味わい深い

この角度で撮ると大き目に見えるw #HHKB REALFORCE

※ 関係性の明示:

筆者は6月5日に開催された記者発表会に無償にて参加し「REALFORCE R2 PFU Limited Edition 黒」をモニターとして頂いています。またその後に開催された「HHKB ユーザーミートアップ vol.2 with 東プレ」の運営に関して PFU より委託費を頂いています。

6/5 に開催された PFU と東プレの新製品発表会に参加してきました。そこで発表されたのは「REALFORCE R2 PFU Limited Edition」です。

US 配列の無かった REALFORCE R2

昨年9月にREALFORCE が R2 としてアップデートされたことはニュースとしては知っていたのですが、ラインナップに US キー配列がなかったこともあって、あまり興味の対象にはなってなかったのです。

www.4gamer.net

で今回の PFU Limited Edithion ですが、US 配列も(少し発売が遅れるものの)製品に含まれるのはターゲットを考えると当然なわけで、ひょっとすると今回の PFU 版が決まっていたから、昨年の R2 初期ラインナップは JP 配列のみだったのかなぁなどと勘ぐってしまいます。

ということで、US 配列好きが多いソフトウェア開発者にとっては、断然こちらが本命ですね。

R2 はキースペーサーでタッチが全く変わるよ

記者発表会は 16 時前には終了し、その後に控えるミートアップまで時間があったので、どうせならとモニターとして頂戴した REALFORCE にキースペーサーを仕込んでみました。スペーサーは 2mm/3mm 厚の2種類が付属していますが、会場の展示品に 2mm 厚を仕込んだものがあったので、こちらは 3mm にしてみました。

キートップを外すのは専用の工具が付属しているのでそれを使います。最初は慣れてないのでちょっともたもたしますが、すぐに慣れて調子よくペースが上がっていきます。ぽちぽちとキーを外すこと約15分、メイン部分のキートップを外し終えて、スペーサーを敷き、再びキートップをポチポチ嵌めます。外すのに比べると嵌めるのはずいぶん早いw

3mm スペーサーを仕込んだキーボードは、全く別物のキータッチでした。自分はわりかし深めのキータッチが好みなので、スペーサーのないオリジナルのタッチの方が正直好きですが、浅いキータッチが好きな人は試してみる価値はあるでしょう。

この手法が使えるのも、物理的なスイッチを持たない東プレの「無接点静電容量キースイッチ」ならではなんですね。キーを押し込んだどの時点でオンにするかを変更できる「APC (アクチュエーションポイントチェンジャー)」機能と併用することで、自分の理想とするキーストロークに近づけることができます。こういうカスタマイズの方法もあったのかと、そのアイデアに舌を巻きました。

キーボードの世界は開拓されていない手法がまだまだあるんですねぇ。

「HHKB ユーザミートアップ vol.2 with 東プレ」はきっと面白いイベントになる

昨年9月に「HHKB 20周年記念 ユーザーミートアップ」というイベントを開催しました。

hhkbmeetup.peatix.com

なぜかこのイベントの運営側に入ることになり、モデレーターとしてセッションの構成や、当日の司会などもろもろのお手伝いをしました。その辺の話はいしたにまさきさんにチャットインタビューを受けて MODUL.JP の記事にまとまっています。

modul.jp

上記の記事中で

小山:次回の話は決まってないので、そこについては何もないです(笑)

なんて自分でも答えていますが、思っていたより早く2回目が実現してしまいました。

それが6月5日(火)に開催される「HHKB ユーザミートアップ vol.2 with 東プレ」です。

hhkb2.peatix.com

今回は平日夜のイベントなので、私の作業的には前回ほど大変ではないのですが、まあやっぱり期待されているわけですよ、面白いパネルディスカッションを。

今回のパネルディスカッションのテーマは「高級キーボード」

今回はHHKBにとどまらない「高級キーボード」をテーマにするという事もあって、どういう座組みにすればよいかいろいろ考えました。前回のパネルは「HHKBからあまり大きく外れた人選にはしないで欲しい」というPFU側の要望もあり、HHKB を軸に据えた議論を盛り上げることができて、それはそれで面白かったです。

でもデスクトップPCの衰退という状況の中で、キーボードを取り巻く環境は、ものすごくマニアックに拘る派と全く気にしない派の両極に分かれていると思います。HHKB 好きな人たちも「拘る派」の一端を担っているわけですが、世間ではさらに尖った「自作キーボード派」と呼べる人たちの勢力が勢いを増しています。ここを議論に取り入れずして高級キーボードの現在と未来は語れないでしょう。

ということで、今回の第2部パネルセッション「高級キーボードの世界事情」では、以下の方々をお呼びすることにしました。

  • 松本 秀樹 (株式会社 PFU)
  • 持田 智彦 (東プレ株式会社)
  • ぺかそ@Pekaso
  • じゅにゃ@junya28nya

上のお二人は主催者サイドかつビジネスサイドです。

下のお二人の方々について軽く説明したいと思います。

まずはぺかそさん。

twitter.com

自作キーボード派に大きな影響を与えた同人誌「BUILD YOUR OWN KEYBOARDs [compiled]」を執筆された方です。

plustk2s.com

実は前回の HHKB ミートアップの際に、ぺかそさんが同人誌に HHKB について書かれた記事を C92 で見かけて登壇を打診したのですが、諸々の理由で残念ながら断られてしまった経緯があります。今回は自作キーボードについて思う存分語っていただきたく登壇をお願いしたところ、ご快諾いただいたのが個人的にも本当に嬉しいです。

もうお一人はじゅにゃさん。

twitter.com

物理フリックキーボードを実際に開発し、スイッチサイエンスで販売までされている方です。

じゅにゃさんご本人によるブログ記事はこちら。

キーボードを現在のキースイッチという枠組みにとらわれずに、もっと様々な入力インターフェースがあり得るということを実践、証明されているじゅにゃさんに議論に加わっていただくことで、面白い気付きがあるのではないかと楽しみにしています。

どうですか? なんかワクワクしてきませんか? 自分だけ?

前回もそうでしたが、パネルディスカッションは座組みが決まった段階で面白くなるかどうかが、8割方予想できることがあります。議論テーマの詰めはまだこれからですが、どういうセッションになるのか予測できるところとそうでないところがあり、どっちに転んでも面白くなりそうで本当に楽しみにしています。さらに会場からの飛び入りゲストも期待できそうで、そっちも楽しみです。

チケットはまだまだ発売中

「HHKB ユーザミートアップ vol.2 with 東プレ」は定員 150 名のうち、現時点で販売済チケットは 78。まだまだ余裕で買えます。キーボードに関する熱い議論に参加したい方は、6月5日の夜に六本木までいらっしゃいませんか?

#ssmjp キタガワナイト「公開情報から読み解くWnnaCry騒動」にブログ枠で参加してきた

本日10月26日に開催されたssmjpにブログ枠で参加してきました。

ssmjp.connpass.com

競争率3倍以上の人気イベントで、抽選で勝ち残れる気がまったくしなかったので、先着3名で空いていた「ブログ枠」というものにさくっと申し込みました。ブログ枠というからにはブログを書かなければいけません。イベント中はひたすらメモを Markdown で書いてて、イベント終了とほぼ同時に gist で公開といういつものパターンをやったのですが、なにせブログ枠なので、はてなブログの機能で gist を貼り付けてブログエントリに仕上げました。

北河さんによる発表内容は本当に広く深くて、頑張ってメモりましたがそれでも全体の3〜4割くらいだと思います。

今年5月に社会を大きく騒がせた WannaCry ですが、不正確な情報や明確な間違いが結果的に多く流れました。公開情報を丹念に追うことで、それらがどのように発生したかを検証していく北河さんの話はとてもおもしろく、一次情報に当たる重要性を再認識させてくれます。

#ssmjp 2017/10 #1 キタガワナイト記録メモ

丸善丸の内本店で開催されている「プロが教える!読んでおきたい言語書籍フェア」に行ってきた

https://c2.staticflickr.com/4/3942/33056973633_c2034a8a6b_c.jpg

4月1日から丸善丸の内本店 4Fのロビー横の一角で、「達人選書!! プロが教える!読んでおきたい言語書籍フェア」が開催されています。これは、丸善丸の内本店とコンピュータ出版販売研究機構(CPU)の共同企画で、各言語コミュニティからおすすめ本を5冊選出してもらって、それに言語の紹介を加えるパネルを用意することで、販促につなげようという内容です。

t-wada こと和田卓人さんから、PHPで誰かやってもらえませんかというお誘いがあって、面白そうな企画だったので自分で引き受けることにしました。

コミュニティが解説を書いているプログラミング言語は以下の9つ。

あとCPUが書籍を選出している言語が4つあります。

展示場所に行ってみた

今日時間があったので、東京駅近くの丸善丸の内本店まで行ってみました。

https://c1.staticflickr.com/3/2876/33870375275_ac25ff94cd_b.jpg 展示場所は丸の内本店4Fの技術書棚近くのロビー横。

https://c1.staticflickr.com/3/2830/33485729600_5b06ec674a_z.jpg こんな形でパネルと書籍が展示されています。

https://c2.staticflickr.com/4/3940/33485729390_241d8be524_z.jpg

Ruby 高橋さんのパネル

https://c1.staticflickr.com/3/2905/33026486864_831f92db49_z.jpg

小山のパネル

https://c1.staticflickr.com/3/2840/33026486744_11696c7ecb_z.jpg

Python 鈴木さんのパネル

https://c1.staticflickr.com/3/2852/33870373335_aabe9f4584_z.jpg

Perl/Go 牧さんのパネル

https://c1.staticflickr.com/3/2879/33829273186_4735f4e41c_z.jpg

Scala 水島さんのパネル

https://c2.staticflickr.com/4/3727/33870371765_c386204668_z.jpg

HTML 吉川さんのパネル

https://c1.staticflickr.com/3/2921/33870372895_b0b70e7068_z.jpg

CPU の推薦書籍たち

https://c2.staticflickr.com/4/3856/33829273706_bacf64f7f0_z.jpg

言語の解説文が載っている小冊子はご自由にお持ち下さいでした。

私の紹介文

このフェア、Web的に見える部分にはコンテンツが存在しないようです。このままだと数年も経てばきっと検索に引っかからなくなる気がするので、せめて自分が書いた紹介文をここに記載しておくことにします。

あと本の紹介の際は

  • 1冊は初心者用のものを入れる
  • 1冊は言語に依らないお勧め本を入れる

という縛りがありました。

PHPの紹介

PHPの発端は、1995年にRasmus Rerdorf氏がC言語で書いたCGI用のツール集です。当時はウェブがまだ生まれたばかりで、ちょっとしたことをウェブサーバにやらせるための便利なツールとして徐々に広まっていきました。

ウェブに特化したプログラミング言語としてのPHPの位置づけが明確になったのは、1998年のPHP 3からです。他の言語から有用な構文をどんどん取り込んでいく一種の無節操さは、プログラミング言語に厳格さを求める人達からは嫌われましたが、「何となく書いてもそれなりに動く」というPHPのとっつきやすさがウェブプログラミングの敷居を大きく下げたのも確かです。

近年ではPHPにもモジュール指向の波が到来し、PHPライブラリのパッケージマネージャComposerを用いて多くのライブラリを利用し、また自分にあったフレームワークを使いつつ、効率的に開発を進めていくのがトレンドになっています。未だに乱立しているフレームワークも、徐々にモジュールベースに書き直され始めており、Composerを軸とした共通基盤ができつつあります。

2015年にリリースされたPHP 7は、内部構造の抜本的な改善によって大幅に性能を向上させています。今後は厳密な型チェックを可能にする方向で構文が強化される流れです。

お勧め本

確かな力が身につくPHP「超」入門

確かな力が身につくPHP「超」入門

確かな力が身につくPHP「超」入門

ウェブの動作の仕組みから、PHPの文法、データベースの連携までわかりやすく解説されています。

いまどきのアルゴリズムを使いこなすPHPプログラミング[開発テクニック]

PHPアルゴリズムを学ぶという大変珍しい書籍です。

PHPはどのように動くのか

PHPはどのように動くのか ~PHPコアから読み解く仕組みと定石

PHPはどのように動くのか ~PHPコアから読み解く仕組みと定石

PHPが内部でどのように動作しているのか、その内部構造を解説している貴重な本です。

Laravel リファレンス

Laravel リファレンス[Ver.5.1 LTS 対応] Web職人好みの新世代PHPフレームワーク

Laravel リファレンス[Ver.5.1 LTS 対応] Web職人好みの新世代PHPフレームワーク

近年大躍進しているPHPフレームワークの解説本です。

スティーブズ (1)

スティーブズ 1 (ビッグコミックス)

スティーブズ 1 (ビッグコミックス)

コンピューターが個人の手に届き始めた頃の熱いやつらの物語。最初から決まってることなんか無い。

自己紹介

フリーランスエンジニア。Webシステムの開発を行うかたわら、日本PHPユーザ会の運営に関わる。毎年開催される「PHPカンファレンス」には2003年よりスタッフとして関わる。共著書に「超・極める! PHP」「PHPエンジニア養成読本」「Laravelエンジニア養成読本」など。好きな作家は藤井太洋、好きな声優は杉田智和

おまけ

その他枠は少し悩んで、一般的なエンジニア向け名著と言われるものはきっと誰かが出してくるだろうと思ったので、ちょっと遊んで「スティーブズ」を選びました。蓋を開けてみたら、こちらが想定していた名著はあまり選ばれてなかったわけですが、まあいいやということでそのままスティーブズで行くことにしましたw

技術書に限らず出版業界は苦しい状況がずっと続いているので、このように複数の出版社と書店を横断した取り組みが行われるのは素晴らしいことだと思います。4月は新入社員としてエンジニアの門をくぐる人も多数いると思われるので、こういうことがきっかけでエンジニアリングの面白さに気づいてくれれば言うことはないです。

フェアはゴールデンウィークくらいまでは開催中だそうです。お近くに寄った際は覗いてみて頂けるとありがたいです。

デブサミ2017のランチセッションに登壇します

デブサミ2017

えらい久しぶりの更新ですw

さて、今週末に目黒雅叙園で開催されるDevelopers Summit 2017 通称デブサミ2017。その2日目2/17(金) のランチセッションに登壇することになりました。

event.shoeisha.jp

テーマはフリーランスの働き方について。ランチスポンサーはレバテックフリーランスというそのものずばりのサービスをやっているレバレジーズさん。

以前に、同じレバレジーズがやっているteratailの木下さんからコミュニティについてのロングインタビューを受けたことがあって、おそらくそれきっかけでお呼びがかかったのだと思います。

news.mynavi.jp

本日レバレジーズさんに伺って事前打ち合せをしてきたのですが、話はいくらでも広がるから30分はあっという間に過ぎるよね―という話で落ち着きました。パネラーは私の他には水野竜与志さん、フリーランス4年目のバリバリの若手の方です。セッションチェアはレバレジーズの林英司さん。お会いした印象はは気のいいお兄さんといった感じですが、実はレバテック事業部の事業部長さんです。

登録は満員になっていますが、デブサミは会場に余裕があれば当日参加も可能なシステムになっているので、並んでいればたぶん入れると思います。ご興味ある方はさくっと参加登録をどうぞ。デブサミ自体の参加申込みは明日2/13(火)の13:00までなので、急げ諸君。