「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までなので、急げ諸君。

日本のPHPコミュニティのあゆみ

ソフトウェアデザイン2016年9月号が発売されました。

この号の第2特集でPHPが取り上げられていて、私もコミュニティについて2Pほど執筆しています。

ソフトウェアデザイン編集長の池本(@XR230)さんから企画案をいただきまして、PHPのslackチャンネルで執筆者を募集して、実現された記事となっています。

私が執筆した第4章のコミュニティについての文章は、各グループの紹介にほぼ終始していて、あまり読み応えのある内容とはいえません。自分が締め切りすぎまでもたもたしたせいでページ数が減った結果、前半に用意していた導入部を全部ボツにするという判断で、現在のものになったのでした。

ということで、せっかく執筆した前半導入部なので、ここで公開することにします。

日本のPHPコミュニティのあゆみ

ソフトウェアデザイン2016年9月号 PHP特集ボツ原稿

コミュニティの発端

PHPに関するコミュニティらしきものが日本に生まれたのは、1997年のPHP-jpメーリングリストに遡ることができるでしょう。当時のPHPのバージョンは PHP2.0、「漢字patch」と呼ばれるものを各人が当てて日本語を使用していました。そのままでは日本語を扱えないものに対して、有志の人々が協力して日本語を扱えるように作業をし、そこでコミュニティが形作られていくのは90年代の日本のソフトウェアシーンとしてはごく当たり前の光景でした。

その後、PHP3.0.7に対して日本語を扱えるようにしたものを、日本のコミュニティとして独自に配布を始め、日本語も問題なく使用できるウェブプログラミング言語として評判になっていきます。そこからさらにコミュニティは発展して、2000年に「日本PHPユーザー会」の発足へとつながっていきます。この時はまだ自分はユーザ会には関わっていなかったですが、当時のニュース記事などを読むときちんとメディアを呼んで記者発表会が行われたようです。日本PHPユーザ会は、2000年7月2日に日本で最初のPHPカンファレンスを開催し、その後毎年欠かすことなく開催を続けています。

メーリングリストからブログへ

2000年代前半は、コミュニティのやりとりの中心はもっぱらメーリングリスト(ML)でした。普段MLでやり取りしている人達と、年に数回行われるPHPカンファレンスやLinuxConferenceなどのリアルイベントで顔を合わせて話すことで関係が深くなっていったということは、この頃なら誰しも経験していると思います。MLの流量も今とは比較にならないほどで、多いときは1日に100通以上が流れていたと思います。

そこから大きく変わってきたのは2004年頃にブログが流行ってきてからです。簡単な方法で広く世界に情報発信できるブログというツールは、その界隈での有名人を多く生み出すことになりました。PHPコミュニティでもその傾向はあり、PHPに関する情報を発信し続けるブログとそのコメント欄というコミュニケーション手段が加わることで、人のつながりが多層になったように思います。

情報をブログで発信する人が増えてくると、それをまとめて読みたい要望も生まれてきて、特定ジャンルの各ブログのRSSを一箇所に集約して配信する「プラネット」と呼ばれるサービスが流行したこともありました。

そしてSNS

今で言うSNSが最初に使われ始めたのは2004年頃でした。mixiGreeが日本発のSNSとして相次いでサービスを開始したのも2004年ですし、海外サービス勢もその後次々に日本に上陸してきました。しかしSNSが流行し始めた当初は、ITエンジニアコミュニティではさほど影響を与えていなかったように思います。

この流れが変化したのは2007年頃からのTwitterの流行だと思われます。Twitterは最初マイクロブログと呼ばれていたように基本的にはオープンな場で、人々の情報発信の敷居を大幅に下げました。ブログほど堅苦しくなく、日々の疑問やコードを書いていて感じたちょっとしたことなどがどんどん投稿されていき、そこから様々なコミュニケーションが生まれました。Twitterが広く一般に使われ始めるのは2010年頃からですが、それ以前よりIT関係者はこの新しいツールを上手く使いこなしていたように思います。

追って日本に上陸したFacebookも、ITエンジニアコミュニティにじわじわ浸透し、現在では一部のPHPコミュニティの主要コミュニケーション拠点にまでなっています。

あいまいになるコミュニティ

ブログやSNSがコミュニケーションの中心になることによって、ITエンジニアコミュニティに大きな変化が表れました。それは個人のブランド力の増大と、それに呼応した組織への帰属意識の希薄化です。2000年前後のエンジニアコミュニティは、組織や団体という看板を必要としました。そのメンバーの一員になるという帰属意識が、人々を結びつけるのに大きな影響力を持っていたのです。しかしブログやSNSでの活動は、それを書いているのが「どこのだれ」ではなく、ただ単に「だれ」ということのみが注目される傾向が強く、組織としてのコミュニティの役割は一面ではすでに失われつつあります。

個人が特定の組織に帰属することなく、その人それぞれの興味ある対象ごとに広くゆるく繋がっている状態、それが現在のITコミュニティの実態だと言えるでしょう。そういう意味では、GitHub上の各プロジェクトや、各Q&Aサイトも今風のコミュニティの一形態と見ることもできます。

PHP BLT #4 で PHP の興味深い挙動を知った

photo by Dana McMahan

昨日は PHP BLT #4 でメルカリに行ってきた。

phpblt.connpass.com

そこで @uzulla さんが雑談的に発表された内容に面白いものがありまして。

たしかこんな感じのやつ。

$values = [
  'a' => null,
  'b' => 'abc',
];
foreach ($values as $key => &$value) {
    $value[$key] = '123';
    // 本当は $key[$value] = '123' の意図
}

ここで間違えて $key と $value を入れ替えて記述したのはいいけど、$value が null の時にはエラーにならなくて、abc の時に初めて

PHP Warning: Illegal string offset 'b' in /some/path/hoge.php on line X

なんてのが出るという話。

値が null の変数は未定義と等しく扱われるので、そこで変数の生成と代入が同時に行われる。null は未定義と等しいのは以下の例をみても分かる。

$a = null;
var_dump(isset($a)); // 結果は bool(false)

で、先の uzulla さんのコードを、エラーを出さないようにキーが 'b' の要素を抜いて実行すると、当然エラーにはならず $values は以下のようになる。

$values = [
    'a' => null,
];
foreach ($values as $key => &$value) {
    $value[$key] = '123';
}
var_dump($values);

実行結果:

array(1) {
  ["a"]=>
  &array(1) {
    ["a"]=>
    string(3) "123"
  }
}

あれ? なんで配列が入れ子になるんだろうと不思議に思ったので、色々試してみたところ挙動が理解できた。

この場合 foreach でループを回す際の $value に & がついて参照になっていることがキモで、ループ内で新たな配列が作られた後、それが $values キー 'a' の値として上書きされているということになる。

分かりやすく代替コードで示すとこう。

foreach ($values as $key => &$value) {
    $tmp[$key] = '123';
    $value = $tmp;
}

参照をやめれば、当然ながら要素の上書きは起こらない。

$values = [
    'a' => null,
];
foreach ($values as $key => $value) {
    $value[$key] = '123';
}
var_dump($values);

実行結果:

array(1) {
  ["a"]=>
  NULL
}

クリスマスイブに「さくらの聖夜」というイベントに行ったら、とんでもない発表が行われていたw #さくらの聖夜

クリスマスイブの 12月24日 19:00 から DMM.make AKIBA で「さくらの聖夜」というイベントが開催されたわけですよ。さくらインターネットが不定期に開催している「さくらの夕べ」のクリスマスイブ特別版という位置づけで、今年で3年目になります。私はたまたま毎年参加しているので、今年も行ってきました。

sakura-kanto.doorkeeper.jp

2部構成の前半はさくらのこれまでのあゆみ

法林さんのイベント開始のあいさつのあとの最初のセッションは、さくらインターネット社長の田中さんとさくらインターネット研究所所長の鷲北さんによる、写真で振り返るさくらインターネットの歴史セッション。前身となった会社の初データセンターの写真とか、鷲北さんの前職のときの写真とか、ラックマウントサーバに絡みつくぐちゃぐちゃのケーブルとか、綺麗に整理されたケーブルとかw

こちらのセッションも軽妙なお二人のトークで大変面白かったのですが、それをふっとばす内容が後半に控えているとは、その時は露にも思わなかったのです…。

後半に IoT 絡みのすごい発表をぶっ込んできたw

後半は、今回の会場である DMM.make AKIBA を立ち上げ今年の8月に古巣のさくらインターネットにフェローとして復帰した小笠原治さんと、様々なネットデバイスを発表して飛ぶ鳥落とす勢いのCerevo 岩佐琢磨さんによる IoT 絡みのセッション。基本は小笠原さんの発表に岩佐さんが突っ込むという形式でした。

セッション冒頭でも「IoT」がバズワード化しているという話が出ましたが、小笠原さんがさくらに戻ったらすることは IoT 絡みの何かだということはすでに様々なメディアで語られているので、実際にどのようなサービス内容になるのか一部には注目を集めていたわけです。

weekly.ascii.jp

で小笠原さんが「これここで発表しちゃっていいのかなー」とか言いながら、さくらが来年サービスを開始する予定の「さくらのIoTプラットフォーム」の概要をしれっと発表しちゃったのでもう大変。おいおいさくらは一部上場しても暴れん坊だなw

さくらのIoTプラットフォームはオールインワンパッケージ

www.slideshare.net

小笠原さんから公表されたさくらのIoTプラットフォームは以下の構成要素から成り立っていました。

  • CerevoBlueNinja が乗った SIMモジュール
  • このサービスに特化した通信SIM
  • SIMのデータの送り先としてさくらのプライベートクラウド内のエンドポイント、DB、ストレージ、ルールエンジン
  • それらを外部から叩くAPI

小笠原さんが DMM.make AKIBA でさまざまなハードウェアスタートアップの人達と話して分かったのは、彼らの中でインターネット技術を理解している人は本当に少なかったことだったそうで、そういう人達が手軽に使えるようになるには上記のようなオールインワンのものが必要なのでしょう。

さくらインターネット先日発表したブロックチェーン関連のサービスで株価が爆上げ中らしいですが、こちらにも絡んでいる小笠原さんは、ブロックチェーンは別に FinTech だけのものではなく、IoT でデバイスから流れていくる連続データを抜けなく安全に処理することにブロックチェーン技術も使えるだろうとおっしゃっていました。

SORACOM とは真逆のサービス方向が面白い

IoT 専用の通信サービスとしては SORACOM さんが革新的で話題になっているわけですが、今回のさくら IoT も SORACOM も価格を圧倒的に安くするというユーザ目線は同じものの、そのサービスの方向は全く正反対とも思えるところが大変面白いです。

つまりこういうことです。SORACOM は AWS 出身の玉川さんがやっているだけあって、技術者が機能を隅々までコントロールしたいという目的のもとに設計されています。そのため最小限の使用では最小限の金額しかかからず、使った分だけ支払えば良いというモデルです。実サービスを構築するにはAWS IoTやその他クラウドサービス等を組み合わせて自在に使える技術力を、サービス設計者が持っていなければいけません。設計者にとってコスパに優れて使いやすい「技術要素」に徹するというのが SORACOM の特徴です。

対して今回発表されたさくらのIoTは、SIMモジュールからのデータの送り先はさくらのプライベートクラウドに限定されていて、一通りそこだけで完結する構成になっています。さらに外部からデータを利用したい場合はAPIを使って取得すればよいわけですが、ワンストップで全て揃っているのはサーバサイドに弱い人とってはそのほうが良いからでしょう。これまで IaaS に特化してきたさくらが、IoT を軸にしてようやく PaaS を志向しはじめたと捉えることもできて、個人的には大変感慨深いです。

少し考えれば分かるように、これはどちらの方向が正しいかではなく両方共正しいしどちらもあって良い、使う側の志向によって好きな方を選べば良いわけです。

IoT関連でも特徴的で面白い要素サービスがどんどん生まれてきそうで、来年は楽しみな年になりそうです。