「REALFORCE R2 PFU Limited Edition」はスペーサーを使うと味わい深い
※ 関係性の明示:
筆者は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 キー配列がなかったこともあって、あまり興味の対象にはなってなかったのです。
で今回の PFU Limited Edithion ですが、US 配列も(少し発売が遅れるものの)製品に含まれるのはターゲットを考えると当然なわけで、ひょっとすると今回の PFU 版が決まっていたから、昨年の R2 初期ラインナップは JP 配列のみだったのかなぁなどと勘ぐってしまいます。
REALFORCE R2 は日本語配列しかこれまでなかったところを、PFU Limited Edition で US 配列対応されたということね。HHKB にファンクションキー/カーソルキーが欲しかった層にも嬉しいんじゃないだろうか。 #HHKB #REALFORCE
— KOYAMA Tetsuji (@koyhoge) 2018年6月5日
ということで、US 配列好きが多いソフトウェア開発者にとっては、断然こちらが本命ですね。
R2 はキースペーサーでタッチが全く変わるよ
記者発表会は 16 時前には終了し、その後に控えるミートアップまで時間があったので、どうせならとモニターとして頂戴した REALFORCE にキースペーサーを仕込んでみました。スペーサーは 2mm/3mm 厚の2種類が付属していますが、会場の展示品に 2mm 厚を仕込んだものがあったので、こちらは 3mm にしてみました。
モニターとして頂いた REALFORCE に 3mm 厚スペーサーを仕込むべく、キートップを外す。 #HHKB #REALFORCE pic.twitter.com/AoVxmGEqkw
— KOYAMA Tetsuji (@koyhoge) 2018年6月5日
キートップを外すのは専用の工具が付属しているのでそれを使います。最初は慣れてないのでちょっともたもたしますが、すぐに慣れて調子よくペースが上がっていきます。ぽちぽちとキーを外すこと約15分、メイン部分のキートップを外し終えて、スペーサーを敷き、再びキートップをポチポチ嵌めます。外すのに比べると嵌めるのはずいぶん早いw
全く違うキータッチになって面白い。このまま 3mm スペーサーを仕込んだままにしておきますので、ミートアップに参加される方は自由に試せますw #HHKBミートアップ
— KOYAMA Tetsuji (@koyhoge) 2018年6月5日
3mm スペーサーを仕込んだキーボードは、全く別物のキータッチでした。自分はわりかし深めのキータッチが好みなので、スペーサーのないオリジナルのタッチの方が正直好きですが、浅いキータッチが好きな人は試してみる価値はあるでしょう。
この手法が使えるのも、物理的なスイッチを持たない東プレの「無接点静電容量キースイッチ」ならではなんですね。キーを押し込んだどの時点でオンにするかを変更できる「APC (アクチュエーションポイントチェンジャー)」機能と併用することで、自分の理想とするキーストロークに近づけることができます。こういうカスタマイズの方法もあったのかと、そのアイデアに舌を巻きました。
キーボードの世界は開拓されていない手法がまだまだあるんですねぇ。
「HHKB ユーザミートアップ vol.2 with 東プレ」はきっと面白いイベントになる
昨年9月に「HHKB 20周年記念 ユーザーミートアップ」というイベントを開催しました。
なぜかこのイベントの運営側に入ることになり、モデレーターとしてセッションの構成や、当日の司会などもろもろのお手伝いをしました。その辺の話はいしたにまさきさんにチャットインタビューを受けて MODUL.JP の記事にまとまっています。
上記の記事中で
小山:次回の話は決まってないので、そこについては何もないです(笑)
なんて自分でも答えていますが、思っていたより早く2回目が実現してしまいました。
それが6月5日(火)に開催される「HHKB ユーザミートアップ vol.2 with 東プレ」です。
今回は平日夜のイベントなので、私の作業的には前回ほど大変ではないのですが、まあやっぱり期待されているわけですよ、面白いパネルディスカッションを。
今回のパネルディスカッションのテーマは「高級キーボード」
今回はHHKBにとどまらない「高級キーボード」をテーマにするという事もあって、どういう座組みにすればよいかいろいろ考えました。前回のパネルは「HHKBからあまり大きく外れた人選にはしないで欲しい」というPFU側の要望もあり、HHKB を軸に据えた議論を盛り上げることができて、それはそれで面白かったです。
でもデスクトップPCの衰退という状況の中で、キーボードを取り巻く環境は、ものすごくマニアックに拘る派と全く気にしない派の両極に分かれていると思います。HHKB 好きな人たちも「拘る派」の一端を担っているわけですが、世間ではさらに尖った「自作キーボード派」と呼べる人たちの勢力が勢いを増しています。ここを議論に取り入れずして高級キーボードの現在と未来は語れないでしょう。
ということで、今回の第2部パネルセッション「高級キーボードの世界事情」では、以下の方々をお呼びすることにしました。
- 松本 秀樹 (株式会社 PFU)
- 持田 智彦 (東プレ株式会社)
- ぺかそ@Pekaso
- じゅにゃ@junya28nya
上のお二人は主催者サイドかつビジネスサイドです。
下のお二人の方々について軽く説明したいと思います。
まずはぺかそさん。
自作キーボード派に大きな影響を与えた同人誌「BUILD YOUR OWN KEYBOARDs [compiled]」を執筆された方です。
実は前回の HHKB ミートアップの際に、ぺかそさんが同人誌に HHKB について書かれた記事を C92 で見かけて登壇を打診したのですが、諸々の理由で残念ながら断られてしまった経緯があります。今回は自作キーボードについて思う存分語っていただきたく登壇をお願いしたところ、ご快諾いただいたのが個人的にも本当に嬉しいです。
もうお一人はじゅにゃさん。
物理フリックキーボードを実際に開発し、スイッチサイエンスで販売までされている方です。
じゅにゃさんご本人によるブログ記事はこちら。
キーボードを現在のキースイッチという枠組みにとらわれずに、もっと様々な入力インターフェースがあり得るということを実践、証明されているじゅにゃさんに議論に加わっていただくことで、面白い気付きがあるのではないかと楽しみにしています。
どうですか? なんかワクワクしてきませんか? 自分だけ?
前回もそうでしたが、パネルディスカッションは座組みが決まった段階で面白くなるかどうかが、8割方予想できることがあります。議論テーマの詰めはまだこれからですが、どういうセッションになるのか予測できるところとそうでないところがあり、どっちに転んでも面白くなりそうで本当に楽しみにしています。さらに会場からの飛び入りゲストも期待できそうで、そっちも楽しみです。
チケットはまだまだ発売中
「HHKB ユーザミートアップ vol.2 with 東プレ」は定員 150 名のうち、現時点で販売済チケットは 78。まだまだ余裕で買えます。キーボードに関する熱い議論に参加したい方は、6月5日の夜に六本木までいらっしゃいませんか?
#ssmjp キタガワナイト「公開情報から読み解くWnnaCry騒動」にブログ枠で参加してきた
本日10月26日に開催されたssmjpにブログ枠で参加してきました。
競争率3倍以上の人気イベントで、抽選で勝ち残れる気がまったくしなかったので、先着3名で空いていた「ブログ枠」というものにさくっと申し込みました。ブログ枠というからにはブログを書かなければいけません。イベント中はひたすらメモを Markdown で書いてて、イベント終了とほぼ同時に gist で公開といういつものパターンをやったのですが、なにせブログ枠なので、はてなブログの機能で gist を貼り付けてブログエントリに仕上げました。
北河さんによる発表内容は本当に広く深くて、頑張ってメモりましたがそれでも全体の3〜4割くらいだと思います。
今年5月に社会を大きく騒がせた WannaCry ですが、不正確な情報や明確な間違いが結果的に多く流れました。公開情報を丹念に追うことで、それらがどのように発生したかを検証していく北河さんの話はとてもおもしろく、一次情報に当たる重要性を再認識させてくれます。
丸善丸の内本店で開催されている「プロが教える!読んでおきたい言語書籍フェア」に行ってきた
4月1日から丸善丸の内本店 4Fのロビー横の一角で、「達人選書!! プロが教える!読んでおきたい言語書籍フェア」が開催されています。これは、丸善丸の内本店とコンピュータ出版販売研究機構(CPU)の共同企画で、各言語コミュニティからおすすめ本を5冊選出してもらって、それに言語の紹介を加えるパネルを用意することで、販促につなげようという内容です。
t-wada こと和田卓人さんから、PHPで誰かやってもらえませんかというお誘いがあって、面白そうな企画だったので自分で引き受けることにしました。
コミュニティが解説を書いているプログラミング言語は以下の9つ。
- Java - 日本Javaユーザーズグループ
- JavaScript - html5j
- Ruby - 高橋征義さん
- PHP - 小山哲志
- Python - 鈴木たかのりさん
- Perl/GO言語 - 牧大輔さん
- Scala - 水島宏太さん
- HTML - 吉川徹さん
あとCPUが書籍を選出している言語が4つあります。
展示場所に行ってみた
今日時間があったので、東京駅近くの丸善丸の内本店まで行ってみました。
Ruby 高橋さんのパネル
小山のパネル
Python 鈴木さんのパネル
Perl/Go 牧さんのパネル
Scala 水島さんのパネル
HTML 吉川さんのパネル
CPU の推薦書籍たち
言語の解説文が載っている小冊子はご自由にお持ち下さいでした。
私の紹介文
このフェア、Web的に見える部分にはコンテンツが存在しないようです。このままだと数年も経てばきっと検索に引っかからなくなる気がするので、せめて自分が書いた紹介文をここに記載しておくことにします。
あと本の紹介の際は
- 1冊は初心者用のものを入れる
- 1冊は言語に依らないお勧め本を入れる
という縛りがありました。
PHPの紹介
PHPの発端は、1995年にRasmus Rerdorf氏がC言語で書いたCGI用のツール集です。当時はウェブがまだ生まれたばかりで、ちょっとしたことをウェブサーバにやらせるための便利なツールとして徐々に広まっていきました。
ウェブに特化したプログラミング言語としてのPHPの位置づけが明確になったのは、1998年のPHP 3からです。他の言語から有用な構文をどんどん取り込んでいく一種の無節操さは、プログラミング言語に厳格さを求める人達からは嫌われましたが、「何となく書いてもそれなりに動く」というPHPのとっつきやすさがウェブプログラミングの敷居を大きく下げたのも確かです。
近年ではPHPにもモジュール指向の波が到来し、PHPライブラリのパッケージマネージャComposerを用いて多くのライブラリを利用し、また自分にあったフレームワークを使いつつ、効率的に開発を進めていくのがトレンドになっています。未だに乱立しているフレームワークも、徐々にモジュールベースに書き直され始めており、Composerを軸とした共通基盤ができつつあります。
2015年にリリースされたPHP 7は、内部構造の抜本的な改善によって大幅に性能を向上させています。今後は厳密な型チェックを可能にする方向で構文が強化される流れです。
お勧め本
確かな力が身につくPHP「超」入門
- 作者: 松浦健一郎,司ゆき
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/09/27
- メディア: Kindle版
- この商品を含むブログを見る
いまどきのアルゴリズムを使いこなすPHPプログラミング[開発テクニック]
いまどきのアルゴリズムを使いこなす PHPプログラミング開発テクニック
- 作者: クジラ飛行机
- 出版社/メーカー: ソシム
- 発売日: 2016/05/10
- メディア: 単行本
- この商品を含むブログ (1件) を見る
PHPはどのように動くのか
PHPはどのように動くのか ~PHPコアから読み解く仕組みと定石
- 作者: 蒋池東龍
- 出版社/メーカー: 技術評論社
- 発売日: 2015/09/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
Laravel リファレンス
Laravel リファレンス[Ver.5.1 LTS 対応] Web職人好みの新世代PHPフレームワーク
- 作者: 新原雅司,竹澤有貴,川瀬裕久,大村創太郎,松尾大
- 出版社/メーカー: インプレス
- 発売日: 2016/01/08
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
スティーブズ (1)
- 作者: うめ,松永肇一
- 出版社/メーカー: 小学館
- 発売日: 2014/11/28
- メディア: コミック
- この商品を含むブログ (6件) を見る
自己紹介
フリーランスエンジニア。Webシステムの開発を行うかたわら、日本PHPユーザ会の運営に関わる。毎年開催される「PHPカンファレンス」には2003年よりスタッフとして関わる。共著書に「超・極める! PHP」「PHPエンジニア養成読本」「Laravelエンジニア養成読本」など。好きな作家は藤井太洋、好きな声優は杉田智和。
おまけ
その他枠は少し悩んで、一般的なエンジニア向け名著と言われるものはきっと誰かが出してくるだろうと思ったので、ちょっと遊んで「スティーブズ」を選びました。蓋を開けてみたら、こちらが想定していた名著はあまり選ばれてなかったわけですが、まあいいやということでそのままスティーブズで行くことにしましたw
技術書に限らず出版業界は苦しい状況がずっと続いているので、このように複数の出版社と書店を横断した取り組みが行われるのは素晴らしいことだと思います。4月は新入社員としてエンジニアの門をくぐる人も多数いると思われるので、こういうことがきっかけでエンジニアリングの面白さに気づいてくれれば言うことはないです。
フェアはゴールデンウィークくらいまでは開催中だそうです。お近くに寄った際は覗いてみて頂けるとありがたいです。
デブサミ2017のランチセッションに登壇します
えらい久しぶりの更新ですw
さて、今週末に目黒雅叙園で開催されるDevelopers Summit 2017 通称デブサミ2017。その2日目2/17(金) のランチセッションに登壇することになりました。
テーマはフリーランスの働き方について。ランチスポンサーはレバテックフリーランスというそのものずばりのサービスをやっているレバレジーズさん。
以前に、同じレバレジーズがやっているteratailの木下さんからコミュニティについてのロングインタビューを受けたことがあって、おそらくそれきっかけでお呼びがかかったのだと思います。
本日レバレジーズさんに伺って事前打ち合せをしてきたのですが、話はいくらでも広がるから30分はあっという間に過ぎるよね―という話で落ち着きました。パネラーは私の他には水野竜与志さん、フリーランス4年目のバリバリの若手の方です。セッションチェアはレバレジーズの林英司さん。お会いした印象はは気のいいお兄さんといった感じですが、実はレバテック事業部の事業部長さんです。
登録は満員になっていますが、デブサミは会場に余裕があれば当日参加も可能なシステムになっているので、並んでいればたぶん入れると思います。ご興味ある方はさくっと参加登録をどうぞ。デブサミ自体の参加申込みは明日2/13(火)の13:00までなので、急げ諸君。
日本のPHPコミュニティのあゆみ
ソフトウェアデザイン2016年9月号が発売されました。
- 出版社/メーカー: 技術評論社
- 発売日: 2016/08/18
- メディア: 雑誌
- この商品を含むブログ (1件) を見る
この号の第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年頃でした。mixiやGreeが日本発の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 の興味深い挙動を知った
そこで @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 }