Windows XP SP2でのWebDAVアクセス / バッテリ再生サービス / アルゴリズムの勉強中 / ユークリッドの互除法 / ファミレスに移動 / 日曜日は勉強の日 / e-typing / .procmailrc / Canon PowerShot Pro1 / IXY DIGITAL 600

投稿日: 2005年05月05月

Windows XP SP2でのWebDAVアクセス

バッテリ再生サービス

アルゴリズムの勉強中

自分は今までアルゴリズムの勉強とかしたこと無かったので、今からでも勉強することにする。

一応知識としては持っていて、業務で必要であれば調べて使ったりするけどそれでは効率が悪い。一通りいつでも使える状態のほうが何かと便利だし、応用もできる。

と、去年から似たようなことを書いてる気がするが、今回きちんと集中するために図書館にきて集中して勉強することにする。

教科書として「岩波講座ソフトウェア科学3 アルゴリズムとデータ構造」を選択した。

どうでもいいけど前に座ってる人(かなり分厚い専門書を読んでいらっしゃる)から酸っぱい匂いがして敵わない。多少の体臭ならともかくこれは公害だ。ていうか気持ち悪くなってきた。

ユークリッドの互除法

アルゴリズムの基本例であるユークリッドの互除法から。

教科書ではPascalのサンプルコードなのでCで書き直した。これから暫くはこんな感じの拙いコードを日記で公開していこうと思う。かなり恥ずかしいけどこうでもしないと続けられなさそう。

/*
* 最大公約数を求める
* (ユークリッドの互除法)
*/


#include "stdio.h"
#include "stdlib.h"

int gcd(int, int);

int main(int argc, char *argv[])
{
    int ans;

    if(argc < 3){
        fprintf(stderr, "input error.\n");
        return 1;
    }

    ans = gcd(atoi(argv[1]), atoi(argv[2]));

    printf("gcd = %d\n", ans);

    return 0;
}

int gcd(int m, int n)
{
    int r;

    while(r = (m % n)){
        m = n;
        n = r;
    }

    return n;
}

再帰でも書けるけど、あまりわき道にそれないように愚直に書いていく方向で。

他、今のところ(アルゴリズムと計算量の途中まで)の重要ポイント。

  • アルゴリズムの正しさは以下の2点で保証される
    1. 答えが正しいこと
    2. 計算を完了すること
  • アルゴリズムの証明の方法
    • プログラム中の特定の場所で変数の間に成立する条件式を表明(assertion)という。
    • ループ中で常に成立している表明をループ不変条件という。
    • ループ不変条件では前述の正しさの(1)を証明できる。
    • (2)は忘れがち。ていうか忘れると無限ループになったりするので気をつけること。

初心に返った気分。

Googleで見つけたユークリッドの互除法の証明とか

ファミレスに移動

図書館は夕方に追い出されたのでファミレスに移動。

タイピングの練習をしつつ雑談。

e-typingで遊んでみたところ、レベルは「Great!!」と出た。もう一度やったところ「Lighting!!」で「イナズマより速い!」とかなんとか。一応職業プログラマとしての面目は立った?

ここ最近作りたいと思ったもの(アプリ)をメモった。

日曜日は勉強の日

これから日曜日は他に予定が無ければ勉強の日とする。

忘れないうちに日曜日の持ち物をメモしておく。

勉強道具

  • 筆記用具
  • メモ帳、ノート
  • 教科書(「岩波講座ソフトウェア科学3 アルゴリズムとデータ構造」)
  • ThinkPad X31
  • Thinkpad 予備バッテリ(充電しておくのを忘れずに)

その他

  • ThinkPadのトラックポイント
  • タイピング練習ソフト
  • iPod(充電を忘れずに)
  • 図書館の利用カード
  • デジカメ(充電を忘れずに)

デジカメとタイピング練習ソフトとThinkPadのトラックポイントは今回忘れた物。

追記:高校数学の本も追加

e-typing

3回目で「Mania!!」になった。コメントは「タイピングマニアです!!」。

入力時間は52秒82。スコアは379pt。

でも歴代ランキングを見るとトップランカーのスコアは600〜700点台。遠いな。

.procmailrc

「未承諾広告※」のフィルターを追加

かなりいい加減。ちゃんと整理しないと。

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR
LOGFILE=$MAILDIR/procmail.log
SENDMAIL=/usr/sbin/sendmail
TIMEOUT=60

:0 fw
| /usr/local/bin/bsfilter --pipe --insert-flag --insert-probability

:0
* ^Subject:.*\/.*
* ? echo "$MATCH" | nkf -Zme |grep '未承諾広告'
.00Spam/

:0
* ^X-Spam-Flag: YES
.00Spam/

:0
* ^X-ML-Name: cppll
.cppll/ 

:0
* ^Sender: owner-mfc@ml.acty-net.ne.jp
.mfc/

:0
* ^Sender: php-users-bounces@php.gr.jp
.PHP-users/

:0
* ^Sender: php-dev-bounces@php.gr.jp
.PHP-dev/

:0
* ^X-ML-Name: xyzzy
.xyzzy/

:0
* ^To: root@mylab.jp
.root/

:0
* ^Sender: pgsql-jp-admin@ml.postgresql.jp
.pgsql-jp/

:0
* ^Sender: tdiary-devel-admin@lists.sourceforge.net
.tdiary-devel/

:0 c
* < 10099
! 携帯メールアドレス

:0
$DEFAULT

参考にしたページ

http://www.jaist.ac.jp/~fjt/procmail.html

同ページより「未承諾広告※」のより厳格なパターン

# SPAM filter
# 「未承諾広告※」と書かれているメールをゴミ箱へ捨てる
:0
* ^Subject:.*iso-2022-jp
* ^Subject:.*\/.*
* ? echo "$MATCH" | nkf -meZ2 | sed 's/[[:space:]]//g' | egrep '未承諾広告※'
$MAILDIR/trash/.

Canon PowerShot Pro1

最近、別々の友人がCanonのデジカメを購入した。どちらも試用させてもらったので素人から見た感想を書く。

まずは「PowerShot Pro1」から。

スペック的には、一眼レフを除けば最近の小型お手軽志向のデジカメとは一線を画す製品だと思う。それは本体の大きさや800万画素という画素数だけでなく、フラッシュのアタッチメントが付いていることや、広角の写真も撮れるレンズ(この表現あってるのかな)がそうさせている。

友人としては「外付けのフラッシュを付けたい」というのが選択の基準になったとか。

今自分が持っているCONTAXの小型デジカメに比べて特に羨ましかったのは、近くの被写体に焦点を当てて遠くの背景をぼかす写真が撮れる事。よく知らないがこれは多分、レンズが収まってるタイプのデジカメでは難しいんだろう。

ひとつ残念だったのはファインダーが光学式でなくデジタルだったこと。つまりファインダーを除くと液晶画面があって、そこでメニューも表示できる。でもこれは通常の液晶画面でも確認できるし、ファインダーは光学式のほうが良かった。

液晶と言えば、液晶画面が独立して動くのはかなり便利。以前使っていたSONYのデジカメもそうだったんだけど、これは色んなアングルで撮影する際にとても役に立つ。

一眼レフの大きさを考えると、気軽に持ち運べる大きさで以上のようなカメラ本来の楽しみを味わうことができるこの機種は性能と手軽さをうまくトレードオフした製品だと思う。

レビューサイト

IXY DIGITAL 600

次は「IXY DIGITAL 600」。

さっきのPro1とは別の制約の中で性能を追求した製品という印象。制約とは、Pro1とは明らかに違うそのコンパクトなスタイル。さっきの感想から引用すると「レンズが収まってるタイプのデジカメ」。かと言って「小型お手軽志向のデジカメ」というほど小さくはないし「お手軽」というのもちょっと違う。

もちろん、お手軽ではあるんだけど、それだけでなくマニュアルでの撮影もいい感じ(これは後日書く)。それに今までのCanon製デジカメに比べて起動が早いのも特徴らしい。これは実際に試してみて確かに早いと感じた。

まだ書きたいことがあるんだけど後日。

レビューサイト

名前:宮内 はじめ

Code for Nagoya名誉代表

E2D3名古屋支部長

プログラマーです。GISやデータビズが好きです。このサイトは宮内の個人的なメモです。

プロフィール

お問い合わせ