YAPC::ASIA Tokyo の 1 日目に行って参りました

2015年08月21日 ― [ 日記/コンピュータ/その他 ]

Yet Another Perl Conference ……略して YAPC。世界的な Perl のお祭り、らしいです。

らしいです、というのは、そんな会議の存在を今年に入るまで知らなかったから。ついでにいえば Perl など使ったことがなかったのです。(未だに使っでいません)

だのに私が YAPC に行くことになったのは、私が大学に来て KMC(京大マイコンクラブ)なるサークルに入ったからであります。KMC は有志がお金を出して今年のスポンサーになったということでした。そして YAPC の開催日はコミケの一週間後、場所も同じ。聞くところによると、Perl と名前は付いているけれども中身は Perl と関係ないものもたくさん。東京での YAPC は今年で最後。更に学生チケットは無料。

……こんな条件が揃っていたら、ついチケットの申し込みをしてしまいますよね。しないはずがない。そして気付くわけです、「あ、Perl に限らず js も ruby も PHP も碌に知らないじゃん。こんなので行ったら話も分からないし会場で肩身の狭い思いをしそう」。気付いた後は少しそのあたりも勉強しようかと思ったりもするのですが、やはり大して興味が無い分野だったから今まで手を付けていなかった訳であり、結局なにもせずにそのまま行くことになったのでございます。

と、不安だらけだったのですが、行ってみればこっちのもの。楽しい。思っていたより楽しい。

最初は Perl の“神”であるところのラリー・ウォール氏のプレゼンでした。これがトールキンの作品を例えに出した凝ったもので、こういうのが向こうのプレゼンなのか、と感心していました。肝心のトールキンの話は知らなかったのですがね…… それでも「クリスマスまでには出る」などの分かるネタをとともに、Perl 6 の特長について語られると、Perl を使ってみたくなるものですね。

同時通訳というのも初めてでした。イヤホンのついた機械を渡されて任意に使えば良かったので、最初は英語リスニングに挑戦、などと考えていましたが、早急に諦めました。英語力駄目ですね……


……書くのに疲れて参りました。「YAPC はブログに書くまでが YAPC です」ということなので書き始めましたが、遅筆でつらい。以降要点を箇条書きに。

  • Web エンジニアが組み込みに手を出し、起業してスマホで開ける鍵を作った話。いわゆる IoT(物のインターネット)の話。ハードが動くってやっぱり夢がある。動くのを確認して社員がみんなで「うぇーいw」って言っている動画の生々しさ。「あとはファームで」。幅広い分野に知識があることは、全体を見通せるという利点になる。
  • 今度は Ruby の“神”こと Matz さんの話。「たぶん日本で唯一の職業言語デザイナー」とのこと。「Ruby の一番の欠点は Perl の影響を受けていること」なんて。悪い部分まで真似てしまったという。全体的にとてもゆるい空気で気楽に聞けた。
  • 同人サークルが Perl の本を売っていたので乗せられるままに中を見てみたら、好きな対話形式の本だったのと Perl 6 の話があったので、つい買ってしまった。コミケ n 日目である。
  • そんなことをしていたら、次に見たかった講演が満席になってしまっていた。第二希望のほうに行ってみても満席。すこし考えるべきだった。
  • Piet で Lisp 処理系を書く話:笑った。それに尽きる。ラムダ式についての知識があったら更に楽しめたかな、と。
  • esa:起業とひとくちにいっても、いろいろな形があるのだな、と。
  • LT: いろいろありすぎて全部はとても語れますまい。会場が笑いに包まれる楽しさ。こういうのがいいのです。

以上。簡易なまとめでした。任務達成!(適当)


……客観性は問題じゃないですね。私が「行って良かったな」そう思えたのだから、行って良かったのでしょう。ほんとうに面白かったのです。

またこういったイベントには行ってみたいですね。


編集後記:

MarkDown 使いたい……


Cat System 2 のバージョン3がいつの間にか公開されていた件

2014年09月29日 ― [ 日記/コンピュータ/ソフトウェア関連 ]

「公開日:2014.2.19」らしいので、本当に今更気付いたというだけのことなのですが。バージョン3になっても“Cat System 3”になるわけではないのですね(笑)

ぱっと見たところの改良点は、デバッグ系の機能がかなり強化されているということ、それとマスター作成用のバッチファイルが追加されたことでしょうか。MakeInt.exeなんかはver.2.01でも含まれていたのに、説明がなくて試行錯誤されていた方がいたような。親切でいいですね。

少し残念なのはマニュアルが同梱されずにオンラインのみになったこと。最近は「古くて実際と乖離しているマニュアルを含めるのは罪」なので常に最新版が読めるようオンラインマニュアルのみ公開、という風潮がある気がしますが、オンラインマニュアルは突然見られなくなることもあり得るので、個人的にはそのバージョンの時点でのマニュアルを同梱しておいてほしいかな、と思います。(自分で保存しておけばいいのですが)

あと、どうでもいいことですが、IE9だとダウンロードボタンが見えない(!)という。ちょっとソースを覗いてみると、CSS3のグラデーション背景+白文字になっているようです。

.TopEntryButton {
	padding: 16px 80px;
	color: #fff;
	font-size: 24px;
	
	background: -moz-linear-gradient(top center, #b5db0a 0%, #a4c412 100%);
	background: -webkit-gradient(linear, center top, center bottom, from(#b5db0a), to(#a4c412));
	background: linear-gradient(top center, #b5db0a 0%, #a4c412 100%);
	
	-moz-border-radius: 36px;
	-webkit-border-radius: 36px;
	border-radius: 36px;
}

(http://cs2.suki.jp/css/main.css より引用)

この表の示すように、きちんと3つの書式で書いてありますが、IE9はどれにもあてはまらず白背景になってしまう、ということのようです。

まあIE11にアップデートしないこっちが悪いんですがね。


GLFW3 を VC2005EE で使う

2014年08月28日 ― [ 日記/コンピュータ/プログラム ]

OpenGLを使うためのライブラリの一つ、GLFW。そのバージョン3をVisual C++ 2005 Express Editionで使えるようにするための作業の記録。

環境はWindows 7 Proの32ビット版。

cmake のインストール

どうもGLFWのバイナリは新しい方から数えて二つのバージョン用にしか用意してくれないらしい。今の最新版3.0.4では2012と2013用しかない。よって自分でコンパイルすることになる。

コンパイルを手動でするのは面倒そうだが、支援ソフトのcmakeが使えるようになっているので結構楽に行く。

まずはcmakeをインストール。

公式サイトに行ってインストーラを落としてくる。

インストールの際には、環境変数Pathにcmakeの場所を追加するか聞いてくるので、これは追加するように設定する。

(但し、私の場合はPathが長すぎて設定に失敗したという旨の警告がでてきたので手動で追加した。初期設定なら追加するのは"C:\Program Files\CMake\bin")

ここで、コマンドプロンプトを開いて、"cmake"とコマンドを打った時に文字が流れれば成功。見つからないなどと言われる場合は失敗している。環境変数がきちんと設定されているか確認するべし。

GLFW のコンパイル

公式サイトからソースのZIPを持ってきて適当な場所(とはいってもずっと置いておけるような場所にするべき)に解凍する。

このフォルダ(名前は「glfw-3.0.4」など)を以下では「(GLFWのルートフォルダ)」と書くことにする。

(GLFWのルートフォルダ)の中にbuiltというフォルダを作る。

「Visual Studio 2005 コマンド プロンプト」(スタートメニューの「Visual C++ 2005 Express Edition」の中から起動できる)を管理者権限で起動。cdコマンドで先程作ったbuiltフォルダに移動する。

そこで"cmake .."(ピリオドは2つ。一個上のフォルダを指す)と入力、実行するとbuiltフォルダの中にいろいろなファイルが生成される。

(私はここで散々「No CMAKE_C_COMPILER could be found.」というエラーメッセージに悩まされた。これは試行錯誤の結果、上で書いたように、普通のコマンドプロンプトではなく「Visual Studio 2005 コマンド プロンプト」を管理者権限で実行するという方法で回避できた。どちらがキーになっていたのかはよく分からない)

生成されたファイルの中に「GLFW.sln」があるはずなので、これをVC2005で開く。たくさんのプロジェクトが並んでいるが、その中から「glfw」を選んでそれだけをビルドすれば良い。(他のはサンプルや動作確認用のプログラム)

(GLFWのルートフォルダ)\built\src\debug(又はrelese)にglfw3.libが出来上がる。これでglfwのコンパイルは完了。

GLFW を使ってみる

いつものようにVCで新規プロジェクトを作る。

このときは空のコンソールアプリケーションに設定する。

main.cppをつくり、http://www.glfw.org/docs/3.0/quick.htmlの一番下にあるサンプルコードを入力する。

以下、GLFWを使えるように設定する。

まず、VCの「ツール>オプション>プロジェクト及びソリューション>VC++ディレクトリ」の「インクルードファイル」に「(GLFWのルートフォルダ)\include」を追加する。

※「(GLFWのルートフォルダ)\include\GLFW」ではないことに注意。

次に、先程作ったglfw3.libをプロジェクトフォルダ(main.cppと同じフォルダ)にコピーしてくる。

その後、main.cppの先頭に、

#pragma comment(lib, "GLFW3.lib")
#pragma comment(lib, "opengl32.lib")

の二行を追加する。

これでビルド→実行すると、コンソールウインドウとともに黒い窓が開き、そこで色相環みたいなものが回るプログラムが動く。

これでとりあえず動作確認は完了。


コメント機能停止のお知らせ

2014年08月27日 ― [ 日記/コンピュータ/ホームページ関連 ]

しばらく見ないうちにコメント欄がスパムにやられていました。目下、コメント機能と掲示板機能は停止します。もし何か連絡事項がありましたら、メールでお願いします。時間ができたら何かしらの対策を追加して復活させようと思います。


無為の日日

2014年05月02日 ― [ 日記/雑記 ]

いろいろとやりたいことはあるのだが、忙しくて何も出来ない状況が続いている。

仮に時間があっても、やり始めたことがなかなか続かないのが難点。

今一番面白そうなのはEntis GLS 4。最初は大量の専門用語の海に呑み込まれて意味が分からなかったが、マニュアルを読む内に、ようやく詞葉の概略が飲み込めてきた。

スクリプト言語のソースをC++とソース共用できるような形にしているというのがとても面白い(厳密には少し違うようだが)。Java風にいろいろな機械(アーキテクチャ)に対応し、かつ実行時コンパイル(?)により高速動作可能、とまあ夢の塊である。

惜しむらくは今すぐ作るゲームとかの案と時間と情熱がないこと。……何もないではないか。悲しい。そういう私にとって、あの方は憧れの人。