Google Code Jam 2009

よく覚えてないけど去年えらいひどい成績だったので、今年はちゃんとしようと思ったんですが、結局解いたのは会社で昼休みに解いた A だけでした。まだ眠気引きずってるし。

スコアとかコードはたぶんこの辺。6168 位です。下層市民ですね。

http://code.google.com/codejam/contest/scoreboard?c=90101#sp=6161

kinaba さんが A 問題を JS で解いたと言ってたので追従して JS でやりました。アップされてるコードが HTML。これはひどい。問題をペーストしてボタン押すだけで解答が出てきます。素晴らしいですね。こんなプログラムではウォームアップにも何にもなりませんね。

高専カンファレンス in 東北

はい、高専カンファレンス in 東北行ってきました。これで 8 月はもう 3 回目の関東行き(いわきは関東ではないけど、通過ってことで)。月間記録更新ですが、これ以上は毎週ってことになるし、さすがにないでしょうね。

もともとは急行能登で向かうつもりだったので ATND の予定では最速上野入りを宣言してたのですが、ふたを開けてみれば id:earth2001y と一緒に最遅上野入りでした。正確には、上野入りは最遅ではなかったんですが、集合がラストでした。ルートとしてはこんな感じ。

なわけで6時間ですね。長いような短いような。きたぐにの電気が消えない&自由席全席ボックスなのは想定外でした。

福島高専は去年の高専プロコンでいわき明星行くときに通過したので、バス停の位置なども含めて、場所は記憶にしっかり残ってました。

福島高専!

が、中に入ったのは今回が初めてで、なんというか、毎回色々な高専に行って思うことですが、作りが高専によってまちまちですね。福島高専は、一体感がありました。茨城って棟、棟、棟って感じなんですが、そうじゃなくて、ひとつ、みたいな。もっと色々な高専を見てみたいものです。

発表したり

shtaxxxさん

デモやったり

いつきくんのデモに群がる

実験したり

実験楽しい!


こんなカンファレンスで、とてもよかったです。回を重ねたこともあってか、非常にスムーズな進行で、マンネリかと思いきやサプライズもありで。

         ,. -‐'''''""¨¨¨ヽ
         (.___,,,... -ァァフ|    あ…ありのまま 今 起こった事を話すぜ!
          |i i|    }! }} //|
         |l、{   j} /,,ィ//|   『おれはLTセッション前にトイレに向かってたと思ったら
        i|:!ヾ、_ノ/ u {:}//ヘ   いつのまにかLANケーブルで髪を結った巫女が目の前にいた』
        |リ u' }  ,ノ _,!V,ハ |
       /´fト、_{ル{,ィ'eラ , タ人   な… 何を言ってるのか わからねーと思うが
     /'   ヾ|宀| {´,)⌒`/ |<ヽトiゝ   おれも何がいたのかわからなかった…
    ,゙  / )ヽ iLレ  u' | | ヾlトハ〉
     |/_/  ハ !ニ⊇ '/:}  V:::::ヽ   頭がどうにかなりそうだった…
    // 二二二7'T'' /u' __ /:::::::/`ヽ
   /'´r -―一ァ‐゙T´ '"´ /::::/-‐  \    ニーソだとかカッパだとか
   / //   广¨´  /'   /:::::/´ ̄`ヽ ⌒ヽ    そんなチャチなもんじゃあ 断じてねえ
  ノ ' /  ノ:::::`ー-、___/::::://       ヽ  }
_/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::...       イ  もっと恐ろしいものの片鱗を味わったぜ…

司会だったこともあって事前には聞いてたんですが、秀逸でした。関係各位に感謝。だけど kawataso が言うとおり制服も良かったんだぜ。あとで写真を見返してみたら、なぜか後ろからのショットばかりで、なにやってんだという感じでしたね。

お見送り

あ、いちお掲載 OK はもらってますので。その他写真はここにつっこんであります。そろそろプロアカウントが必要なふいんき

色々発表がありましたが、琴線に触れたのはやはり高専プロコン関連のコルンさんの発表。話の内容が上野で id:earth2001y と話してたこととほとんど同じで、とても共感しました。プロコン OB、特に競技をやっていた方は、何らかの形で今後も関わっていきたいと考えてたりすることがあるわけですが、それを、本当に、競技練習場という形で、実践している。素晴らしいです。自分はと言えば、一参加者としてふらっと会場に行ってみるぐらいですね。今年の木更津開催も 3 年連続で参加予定です。

ちょっと聞いた現役視点での感想。石川高専の競技選手と話す機会があったのですが、「練習場が大阪府立無双でなんだかなー」って話を聞きました。本番で打ちのめされるのもショックですが、本番の前から勝てる見込みがなくて萎縮しちゃうケースもあるようです。どっちが良いともいえない、ということは無く、当然練習場があるほうが良いのですが、こういうこともあるんだなぁと。

次回の高専カンファレンス高専カンファレンス 2009秋 in 東京には、残念ながら顔を出すことができませんが、その後予定されてる長野あたりには行こうかと思ってます。なんか東京に限って参加しないという位置づけになりつつありますが、それはそれで。地方楽しいし。

XNA Creators Club のアイコンがキモすぎた

XNA のゲームカタログを見ていて、そういやアカウントとか作れるんだっけかと思って右上の「サインイン」を押して普段の MSN メッセのアカウント情報を入力して登録画面に行ってみたんですが、そこで出てきたアイコン選択画面を見てなんかがっくりきました。こんな感じ。

なんというか、もう、センスが。左上のがデフォルトで選ばれてるんですが、もはやグロいレベルだし。他のやつも目の下のくまみたいなのが邪悪感をかもし出してますね。忍者、リボン、爆弾、迷彩、ヘッドホン(下の)あたりが無難でしょうか。

そんなわけでアカウントは作りましたが、特に何をするといったわけでもありません。

docomo ばっかり槍玉に上がってかわいそうなこと

HT-03A の発売で「iPhone のほうが優秀」的な記事が出てきて、それはそれで主観だからまぁいいんですが、そのときに引き合いに出される docomo がかわいそうだなぁという話です。キャリアの課金フローを使わない、いわゆる勝手アプリに限って考えると

って状態なので、docomo が一番オープンだなぁと思うわけです。閉鎖的な日本の中では頑張ってるほうだと思うんですが、回線が多いおかげで閉鎖的な代表にされちゃってるのが残念です。iPhone ユーザからすると、その人が SBM 叩く義理もないし、KDDI はおそらく眼中に無いので、余計 docomo がターゲットになりやすいですね。

QtのGitリポジトリが公開されてた

WindowsC++、.NET不使用という条件の上で最有力のライブラリQtですが、いつのまにかGitリポジトリが公開されてました。今まで分散リポジトリVCSについては「そのうちMercurialやろうかなー」程度にしか考えてなかったんですが、必要性が出てきてしまったので、先にGitに手をつけることになりました。

手元の環境はCentOS 5.3。Gitは標準のYumリポジトリに入ってないので、まずRPMforgeを登録するところから始めます(参考

$ wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
--17:29:06--  http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Resolving apt.sw.be... 193.1.193.67
Connecting to apt.sw.be|193.1.193.67|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16698 (16K) [application/x-redhat-package-manager]
Saving to: `rpmforge-release-0.3.6-1.el5.rf.i386.rpm'

100%[=================================================================================>] 16,698      18.9K/s   in 0.9s

17:29:08 (18.9 KB/s) - `rpmforge-release-0.3.6-1.el5.rf.i386.rpm' saved [16698/16698]

$ sudo rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
$ rpm -K rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpmforge-release-0.3.6-1.el5.rf.i386.rpm: (sha1) dsa sha1 md5 gpg OK
$ sudo rpm -i rpmforge-release-0.3.6-1.el5.rf.i386.rpm

この後、上のドキュメントにあるように、リポジトリのpriorityを適宜設定しておきます。

次にGitをインストールします。といってもこれだけですが。

$ sudo yum install git
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * rpmforge: apt.sw.be
 * base: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
 * addons: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
369 packages excluded due to repository priority protections
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package git.i386 0:1.5.2.1-1.el5.rf set to be updated
--> Processing Dependency: perl(LWP::UserAgent) for package: git
--> Processing Dependency: perl(SVN::Ra) for package: git
--> Processing Dependency: rcs for package: git
--> Processing Dependency: perl(SVN::Core) for package: git
--> Processing Dependency: perl(DBI) for package: git
--> Processing Dependency: perl(Git) for package: git
--> Processing Dependency: perl(SVN::Delta) for package: git
--> Running transaction check
---> Package perl-Git.i386 0:1.5.2.1-1.el5.rf set to be updated
--> Processing Dependency: perl(Error) for package: perl-Git
---> Package perl-libwww-perl.noarch 0:5.805-1.1.1 set to be updated
--> Processing Dependency: perl-HTML-Parser >= 3.33 for package: perl-libwww-perl
--> Processing Dependency: perl(HTML::Entities) for package: perl-libwww-perl
--> Processing Dependency: perl(Compress::Zlib) for package: perl-libwww-perl
---> Package subversion-perl.i386 0:1.4.2-4.el5 set to be updated
---> Package perl-DBI.i386 0:1.52-2.el5 set to be updated
---> Package rcs.i386 0:5.7-30.1 set to be updated
--> Running transaction check
---> Package perl-HTML-Parser.i386 0:3.55-1.fc6 set to be updated
--> Processing Dependency: perl-HTML-Tagset >= 3.03 for package: perl-HTML-Parser
--> Processing Dependency: perl(HTML::Tagset) for package: perl-HTML-Parser
---> Package perl-Error.noarch 0:0.17015-1.el5.rf set to be updated
---> Package perl-Compress-Zlib.i386 0:1.42-1.fc6 set to be updated
--> Running transaction check
---> Package perl-HTML-Tagset.noarch 0:3.10-2.1.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================================================
 Package                           Arch                  Version                            Repository               Size
==========================================================================================================================
Installing:
 git                               i386                  1.5.2.1-1.el5.rf                   rpmforge                 27 M
Installing for dependencies:
 perl-Compress-Zlib                i386                  1.42-1.fc6                         base                     52 k
 perl-DBI                          i386                  1.52-2.el5                         base                    600 k
 perl-Error                        noarch                0.17015-1.el5.rf                   rpmforge                 27 k
 perl-Git                          i386                  1.5.2.1-1.el5.rf                   rpmforge                 18 k
 perl-HTML-Parser                  i386                  3.55-1.fc6                         base                     92 k
 perl-HTML-Tagset                  noarch                3.10-2.1.1                         base                     15 k
 perl-libwww-perl                  noarch                5.805-1.1.1                        base                    376 k
 rcs                               i386                  5.7-30.1                           base                    332 k
 subversion-perl                   i386                  1.4.2-4.el5                        base                    753 k

Transaction Summary
==========================================================================================================================
Install     10 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 29 M
Is this ok [y/N]: y
Downloading Packages:
(1/10): perl-HTML-Tagset-3.10-2.1.1.noarch.rpm                                                     |  15 kB     00:00
(2/10): perl-Git-1.5.2.1-1.el5.rf.i386.rpm                                                         |  18 kB     00:00
(3/10): perl-Error-0.17015-1.el5.rf.noarch.rpm                                                     |  27 kB     00:00
(4/10): perl-Compress-Zlib-1.42-1.fc6.i386.rpm                                                     |  52 kB     00:00
(5/10): perl-HTML-Parser-3.55-1.fc6.i386.rpm                                                       |  92 kB     00:00
(6/10): rcs-5.7-30.1.i386.rpm                                                                      | 332 kB     00:00
(7/10): perl-libwww-perl-5.805-1.1.1.noarch.rpm                                                    | 376 kB     00:00
(8/10): perl-DBI-1.52-2.el5.i386.rpm                                                               | 600 kB     00:01
(9/10): subversion-perl-1.4.2-4.el5.i386.rpm                                                       | 753 kB     00:01
(10/10): git-1.5.2.1-1.el5.rf.i386.rpm                                                             |  27 MB     00:57
--------------------------------------------------------------------------------------------------------------------------
Total                                                                                     455 kB/s |  29 MB     01:05
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : subversion-perl                                 [ 1/10]
  Installing     : rcs                                             [ 2/10]
  Installing     : perl-DBI                                        [ 3/10]
  Installing     : perl-Compress-Zlib                              [ 4/10]
  Installing     : perl-Error                                      [ 5/10]
  Installing     : perl-HTML-Tagset                                [ 6/10]
  Installing     : perl-HTML-Parser                                [ 7/10]
  Installing     : perl-libwww-perl                                [ 8/10]
  Installing     : perl-Git                                        [ 9/10]
  Installing     : git                                             [10/10]

Installed: git.i386 0:1.5.2.1-1.el5.rf
Dependency Installed: perl-Compress-Zlib.i386 0:1.42-1.fc6 perl-DBI.i386 0:1.52-2.el5 perl-Error.noarch 0:0.17015-1.el5.rf perl-Git.i386 0:1.5.2.1-1.el5.rf perl-HTML-Parser.i386 0:3.55-1.fc6 perl-HTML-Tagset.noarch 0:3.10-2.1.1 perl-libwww-perl.noarch 0:5.805-1.1.1 rcs.i386 0:5.7-30.1 subversion-perl.i386 0:1.4.2-4.el5
Complete!

Perlの依存ライブラリと共にGitがインストールされます。そして本来の目的、Qtをcloneします。

$ git clone git://gitorious.org/qt/qt.git
Initialized empty Git repository in /home/rch850/qt-git/qt/.git/
remote: Counting objects: 55370, done.
remote: Compressing objects: 100% (27771/27771), done.
Indexing 55370 objects...
remote: Total 55370 (delta 30302), reused 50040 (delta 25537)
 100% (55370/55370) done
Resolving 30302 deltas...
 100% (30302/30302) done
Checking 30996 files out...
 100% (30996/30996) done

これでqtディレクトリが作成され、その中にソースコード一式が入ります。ちなみに最後のgit cloneだけで30分以上かかりました。さすがにdu -hsして671MBもあるようなソースだと時間かかりますね。とりあえず今日はここまで。

==余談==

最初に以下のようなことをやってみたのですが、

# cd /etc/yum.repos.d
# wget http://kernel.org/pub/software/scm/git/RPMS/git.repo
# yum install git

依存関係でエラーが出たのでRPMforgeを使う運びとなりました。

そういえば身近にあった

お許しください!と言えばボルガ博士ですが、福井にはボルガライスなんてものがあります。チャー研ネタ自体はだいぶ前から知ってましたが、昨日下の記事にあるジャムハウスでボルガライス食べてる最中にになってふと「あ!これボルガって名前付いてる!」って気づいたので(今更)、紹介しておきます。

サイト内の写真にあるとおり、これぞB級!なメニューです。オプションで、大盛りにしたり、中身のご飯をピラフにしたりできます。標準はケチャップライスで、それなりの量があります。大盛りにすると結構おなかいっぱいに。

ボルガライスだけでもネタとしては十分なんですが、ジャムハウスの魅力はそれだけではありません。メニューを1ページめくると出てくるのが「グランドキャニオン」。器はボルガライスと同じなんですが、周りが大量のカレー。中身は標準でピラフになってます。かわりにカツがオプションです。

交通の便が悪いので観光で来た人が行くのは難しいかもしれませんが、機会があれば是非。店内の雰囲気も独特で面白いです。

高専カンファレンス in 九州行ってきました押忍!押忍!押忍!!

人生初九州ということで、高専カンファレンス in 九州に行ってきました。場所は久留米高専。前の福井では開催する側でしたが、今回はお客さんで。

新大阪から博多まではのぞみ7号(N700系)のグリーン席。

なんというブルジョワ

というわけではなく、新幹線・特急\乗り放題/!な西日本パスを使っただけです。2日間でグリーン席4回も乗れて16000円!安すぎる!しかし山陽新幹線はトンネルだらけで、せっかくの芋場がほとんど使い物になりませんでした。あと新下関から小倉がトンネルだと知らなかったので、九州上陸というかなんというか。

カンファレンス、発表を聞いて思ったこといくつか。

まともなプログラミング系のサークルが無かったって高専はうちぐらいだと思ってたんですが、色々見てると他にもあるみたいですね。大分もそんな感じでしたし。「うちにはどうせサークル無いし、個人でひっそりやろう」なんて考えるよりは、同志を募るのが最近のやり方なんでしょうね。理解の教員も増えてるでしょうし(何

プロコンネタは非常によかったです。高専となると、とかく高専プロコン、高専プロコン、たまにパソコン甲子園ですが、その他の色々なフィールドを示してくれたのがよかった。「高専プロコンの競技部門はなってない。あれは真のプログラミング能力を競う大会ではない」って言う人もいますが、残念ですが高専プロコンはそういう場ではないんですよね。そんな事言ってるやつらはICPC行ってボコボコにされて来い!ってことを、発表者のwosugiさんと話してました。

いくつかの発表の中で、高専間でサークルが連携できたらいいなという話がありました。北陸では、福井高専Profo石川高専のI研が、合宿を開催するなど、とても仲良くやっています。まずは、やってみることじゃないですかね。

あとは最後に、いい加減ちゃんとしたスライド作成ソフトないとつらいなぁ、と。パワポ2000しか持ってないので、今回はOOoに手をつけてみましたが、どうも作業効率悪かったです。

次は8月下旬に福島高専での開催。去年の高専プロコンに続いて2年連続でいわきになりそうです。


そうそう、タイトルについて。二次会終わって、送迎バスに乗ろうとしていたときのこと。久留米クラスタが「ここは久留米高専っぽくやっときますか」と言うので、よく分からないけどやっとけやっとけということになったんですが、そこで始まったのがコレ。

  • 腰を低く構え、左の拳を突き出し、右の拳は腰に。
  • 音頭を取る人が「高専健児ー元気あるかー!!」
  • 全員で右拳を三度前に突き出しながら「押忍!押忍!押忍!」

なんか最後の最後でものすごいインパクトでした。久留米すごい久留米