topcoder

とかはじめてみた。あ、プログラミングコンテストの類のサイトで、時間を決めてコンテストが行われるというものです。結構メジャー。

ちょっと練習して、昨日の夜中に初参加。初回なのでDiv2からスタート。(topcoderはランクによって難易度の高いDiv1とやさしいDiv2に分かれている)
易しい問題から難しい問題まで3問出題されるんだけど、やさしいほうの2問を解答。
コーディングフェーズの後に、ほかの人のバグを見つけるフェーズがあるんだけど、あっさり見つけられて撃墜される(^^;

でも、Div1の問題とか結構難しくて、みんなよくやるなぁという感じ。この手の問題に対する慣れもあるんだろうが…

Visual Studio 2010 Expressでのテスト

試してみると,なんだかインクルードファイルのディレクトリを認識していないので,プロパティ→構成プロパティ→C/C++→全般→追加のインクルードディレクトリで設定.
Debugでコンパイルすると動くが,Releaseでコンパイルすると動かん…と思って調べてみると,どうやら「プログラム全体の最適化」が効いていると駄目っぽい.なんでだろ.あ,コンパイラが「fork」を知らんからかな?
性能の方は,Linuxとは傾向が違うけど,まぁ速くなるかな,一応.
qsortは駄目.Linuxの方はquが駄目.まぁいずれにせよメンテが必要かなぁ.

久しぶりの更新

気がつくと1年更新していなかったという.
デスクトップPCを新調したので,全くメンテしてなかったPARDSを久々に見てみることに.
VirtualBox内のDebian Squeezeでテスト.(ホストは話題のCore i7-2600K, Windows 7.)
まぁ動くんだけど,システムのセマフォ最大数を増やしたりしないと(データサイズを大きくできなくて)サンプルでも速くならんという.bzip2の方は,初期化時にメモリを大きく取らないと動かないし.う〜む.
コンパイルすると,Warningが出るのもいまいちだなぁ.
VirtualBoxはSMPに対応しているので,一応速くはなる.

去年くらいから諸般の事情で全然趣味プログラミングができてなかったんだけど,さてどうするか.今もそんなことをしている暇は無いのだが…

Hybrid W-ZERO3 購入

世の中がiPhoneAndroidだ言っているこの時代に今更Windows Mobileも何なんだが,腐れ縁で購入.さすがにnicoで生きて行くのも飽きたので.
HybridなのでPHSと(docomoから借りている)3G回線をデータ通信に使えるわけだけど,通信速度については問題なさそう.ただ,Webブラウザは微妙.比較的重いPC用サイト(asahi.comとか?)を見ると,やっぱり表示されるまで時間がかかるし,表示もあんまりよろしくない.もちろん,軽いサイトなら普通に見られるけど.
OperaとかNetFrontとかも試したけど,あんまり変わらないかなぁ.fenecは起動すらしない(メモリ不足).iris browserというWebKitベースのものが過去にはあったらしいが,今は公開されていないらしい(公開していた会社が買収された).
ブラウザはNetFrontが一番ましなような気がする.IEFlashが使えるのでYouTubeが見られるというメリットがあるけど.いずれにせよ,CPUパワーが足りてないのかしら.
というわけで,個人的にはちょっと残念な感じでした.っていうか,これくらい買う前にチェックしとけよっていう.(^^;
ただ,通信路として使う目的にはいいかも.これまでE-mobile+D4だったのを,Hybrid W-ZERO3+D4にすることができるので.(端末代を通信代に使ったらいいじゃん…とか考えてはいけない(^^;)

BluetoothWiFiSnapでのインターネット接続の共有は特に問題無し.D4と接続して利用してみたけど,快適に利用可能.

それから,フルキーボードが無くなったので,ソフトウェアキーボード(かテンキー)で入力する必要があるわけだけど,ソフトウェアキーボードは指先では小さすぎて不可能.スタイラスがあれば,まぁなんとか.テンキーで文字を入力するのは拷問と言えよう.

あとはソフトウェアを導入してカスタマイズしますかね.

並行コンピューティング技法

という本がO'REILLYから出ていたので買ってみた.まだちゃんとは読んでないけど,…う〜ん.
前半は並行処理の基本的な所,後半はおもに並行アルゴリズムについて書いてあります.
で,プリフィクススキャンとかソートとかサーチとかについて書いてあるんだけど,人々はこのレベルのアルゴリズムを並行・並列に記述したいと思ってるのかしら?今時,逐次ならライブラリを使うよねぇ….まぁ,勉強だと思えば良いのかも知れないけど.

あと,「依存性が全くないソースコードを魅惑的並列(enchantingly parallel)と呼ぶことがあります」とあるが,それはembarrassingly parallelのことか?(こういういい方もあるのかと思ってググったけど無いし.)