週に一回は書きますよ 月に4つ記事を書けばノルマは満たされます。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

むしろ必需品。

素数判定問題@ spojのために読みました。オペランド逆向きとかたくさんの%とかの謎が一気に解消しました。

ちなみに素数判定問題は私の中ではまだ

それから、扱っている整数は別に特別なアルゴリズムが必要なほど大きな整数ではないことに気づくべきだったと思います。一部のアルゴリズムは明らかにover killでした。

スポンサーサイト

前回やったときはofficialがインストールできなかったのでそのまま諦めていました。よく考えたらぐぐってすらいない。なんというやるきのなさ。 じつは普通に見られるらしい(_ _)ので挑戦。

apt -i flashplugin-nonfreeではできませんでした。インストールはできるものの動画が見えない。やはりubuntuはdebianより遅いのか?

別方法を探して検索検索ぅ。

これでうまくいきました。

新宿ビックカメラ、パソコンの階入口で、初音ミクがビックカメラの歌を歌っていました。 歌詞は普通でしたが、何度聞いても「みっくみくみくみっくかめら」にしか聞こえませんでした。 せっかくだから録音してくればよかった。

コードを try や catch の引数にしておけば、その外には例外は漏れない。そう思っていた時期が(ry

以下てきとうに。ソースは見てません。でもここら辺の挙動は別にghcのソース見なくても言語レベルで決まっている気がします。どこを読めばいいのかわかりませんが。

Haskellのlazy evaluationって、ようするにHaskellの型Aはすべてocamlにおける"() -> A"に対応する、とか考えておけばいいかしらと思っています。たとえば次のコード。

result <- try $ do
                let x = f 10
                return x
ここで帰ってくるのはxではなくて、評価するとxが帰ってくるサンクです。適当な関数f 10 はreturn xの時点ではまだ評価されていません。 tryから帰ってきた後でサンクを評価して例外が発生しても、tryでは捕まえてくれません。

これはどうにかならないんでしょうか。tryは外に返すサンクにも責任を持つとか。無理そうですが。

次善策として、返値をtryの中で積極評価してしまえば大丈夫です。上の例だと、次のようにseq xを導入すればokです。

result <- try $ do
                let x = f 10
                seq x $ return x
seq :: a -> b -> bは、 第一引数を必ず評価してから第二引数を返してくれます。積極評価のための関数です。こうしておけばxは評価され、tryの外では例外は起こりません。

ここまでがnyaasanのところでのコメントの補足です。


積極評価は、xがIntやFloatなど単純な値だとよいのですが、複雑な値、たとえばリストとかタプルとかだとまた厄介です。

result <- try $ do
        let x = (f 10, f 20)
        seq x $ return x
この場合、f 10やf 20が例外をはいたとしても、それはtryではつかまりません。seq xしていてもです。

x::(Int, Int)の場合、xを積極評価しても、xの中身は評価されません。具体的にMLのように書くと、評価する前のxの型は() -> (()->Int, ()->Int)のようなもので、seq xしても現れるのは(()->Int, ()->Int)です。xがなんかタプル二つであるというところまでしか評価されません。次のように中身を丁寧に評価すれば大丈夫です。

result <- try $ do
        let x = (f 10, f 20)
        fst x `seq` snd x `seq` return x
以下 ubuntu Gutsy desktopの初期状態についてのメモ
  • sshdは入っていない
  • x?inetdも入っていない
  • ランレベルは2
    • see http://lab.urume.net/2007,0227,612.html.
    • むしろランレベルというレベルではない。
    • そもそも、ランレベル3がテキストで5がグラフィカルログインなのはfedoraだけの話?
    • 逆にDebian系が特殊? Debianは初期設定ではランレベル2-5の調整をしていない。

905iを買いに行ってきました。

BC新宿店ではP905iはすべて売り切れ、D905iは黄色だけ売り切れていました。ほかは在庫あり。P905iを買いにきた親子がすごくがっかりしていました。調べたところ、予約の段階でかなり人気だったようですね。

メーカをどれにするか決めてなかったので、売り場で小一時間携帯をいじってました。二方向に開くP905iの仕組みを観察したり、変な方向に開いてみたり、F905iの画面を横に倒してからしまってみたり。 D905iのダイヤルをぐるぐる回してみたり。このダイヤルは結構便利ですが、よく暴発する困りものです。

結局メーカも変えずに905iに。操作が変わらないのは楽です。しかしメニュー表示が遅くて、表示する間に先行入力すら受け付けてくれないのは困ります。

iアプリにGoogle Maps for Mobileがプリインストールされていたので早速振り回しています。docomoから提供されている地図アプリとの差を観察観察。

中古で逆転裁判 1を買ってきてやってました。面白かったのでとりあえず一話と二話を一気に終わらせてしまいました。

ところで、ゲーム中にチーターマンみたいな音楽 (この動画の1:26あたり) が流れるのですが、どうしたらよいでしょう。つい笑いそうになります。

いろいろと細かい問題。linuxよくわかりません。

  • .zshrcと.emacs。知っているけど再現させるのが面倒。会社で使っているのをコピーするのがはやそう。
  • flassプラグイン。firefoxから勝手にインストールするやつは、インストールしてもまだプラグインを要求するなどまったく役に立ちません。一方adobeから落とすと、「AMD64じゃ動きませんよ」だそうです。ニコ厨涙目。
  • apt-cache show ghc6 → ghc 6.6
  • apt-cache show ocaml → ocaml 3.09
  • ..最新版を手動で導入します。
  • 日本語キーボードを英語配列にしたら"\"キーが消えて、 | lessができなくなりました。

この辺はwindows使いだからどうとか言う話ではありませんね。そもそも別に深刻な問題ではありません。

昨日のモニタ小さい事件を受け、早速\22,000でワイド20 inchを買ってきました。XPでちゃんとつながるのを確認してからubuntuを導入。

ディスプレイを替えたら、見え方が完全に変わりました。画面サイズだけでなく何もかもすべて。具体的にはubuntu インストールのときに、プログレスバー(この動画の8 secあたりの)がちゃんと見えるとか。CRTのときは暗くて見えませんでした。どれだけ古いCRTを使っていたかという話ですが。

ちゃんと1680x1050で起動したため、ウインドウが画面に収まっています。これはうれしい。「次へ」ボタンを押せます。ubuntu 7.10だとubuntu 7.04の場合と違って、1680x1050でも何も問題なく画面サイズを認識できました。

というわけでubuntuインストール完了。さてこれからどうしましょう。

購入したPCにXPとubuntuを共存させてみます。

  1. まずXPを起動して動作を確認。

    機械を横置きにしたら、Windowsのシリアルが書いてあるところが下になって見えません。面倒くさい。

  2. すぐにXPを再インストールして、その過程でHDを切り分け。
  3. 上の作業中に、ubuntuのimageをほかのマシンで落とす。

    ところでCore 2 Duoの場合、落とすべきバイナリは 64 bits AMDというやつで良いんでしょうか? 64 bit版が欲しいけど私のCPUはAMD製じゃないんですが。

    適当に検索して、64 bitで満足している人の日記とか見つけたので 64 bitをdlしました。

  4. XPの再インストール完了。
  5. windows update 88 項目...
  6. 次にubuntu install。しかし...

ubuntu installは簡単だと思っていたらはまりました。 モニタに9年前のCRTを使用したままインストールを開始したところ、解像度が800 x 600に固定されました。インストーラのウインドウが画面に収まりません。ウインドウの下のほうにあるボタンが画面外になってしまい、確認できません。

CUIモードでインストールするか、モニタを一時的に引っ張ってくるか考え中です。むしろ私はCRTで作業する気がないので、モニタも新調すべきでした。

いい加減使っていない8年前のコンピュータを廃棄すべく、新しいコンピュータを購入してきました。 品物はツクモ電気の小さいやつです。

  • http://www.tsukumo.co.jp/bto/aeromini_2.html
  • M20J-7320E/CP1. M20J-7320Eの、メモリが512 MBになっている代わりに\69,800と異常に安くなっている店頭商品。
  • Core2Duo E6320
  • SATA-IIの120 GB
  • オンボードグラフィック
  • XP Home

小さいので熱とかちょっと心配です。

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。