Thu, 26 Jul 2007

Re: Linuxをメインのプラットフォームにしている方々に伺います。

オレはメインじゃないけどなんとなく.

元はここ: http://opentechpress.jp/opensource/07/07/25/029236.shtml

  1. WindowsやMac OS Xも使用していますか?

    Windowsは未だに使いつづけてますね.結局外部のハードウェアで面倒になるし. OS X環境も魅力があるんですが.

  2. 使用している場合、どのような用途に使っていますか?

    いわずもがなCUIオンリー.

    • メール(IMAPサーバ,fetchmail,procmail,spamassassin)
    • IRCクライアント(plum,自作したbot)
    • Webサーバ,WebProxy
    • SSH
    • BitTorrentクライアント
    • ファイルサーバ(バックアップサーバ,NAS)
  3. 使用していない場合、これらのプラットフォームを利用する以外に目的とする作業(例えば特定のゲームなど)が行えないという場合はどうしますか?

    • 迷わず使う.道具だもの.
    • プラットフォームごとに得意不得意があってもいいじゃない.
    • GUIじゃないとできないことはX窓でシンドイ思いするくらいなら, Windowsとかでやればいいもんな.

きんねこさん解答例: http://d.hatena.ne.jp/kinneko/20070726/p2

Fri, 15 Jun 2007

SkypeでLL魂のミーティングに参加

最近体調を崩しがちなので,早めに仕事あがっちゃってます.

Skypeで参加するとどういう具合かなあと思ってみましたが, 近くにいる人の声は聞こえるけど,むこうでワイワイやってる声は 聞き分けられなくなるようです.やっぱり映像や文字情報があったほうがいいなと.

開催まであと2ヶ月くらいか.チケットはまだあるのかな.

Fri, 08 Jun 2007

sh, awk, python - forkは遅いけど

awkが遅いなんて言ったら 斉藤さん が全力で弁護してくれますよ.たぶん.

from Dan-san: http://blog.livedoor.jp/dankogai/archives/50847769.html

builtin read:

% time sh builtin.sh
    The name of this job.             :sh builtin.sh
    CPU seconds spent in user mode.   :0.12s
    CPU seconds spent in kernel mode. :0.07s
    Elapsed time in seconds.          :0.19s
    The  CPU percentage.              :98%

exec awk:

% time sh awk.sh
    The name of this job.             :sh awk.sh
    CPU seconds spent in user mode.   :0.50s
    CPU seconds spent in kernel mode. :1.40s
    Elapsed time in seconds.          :1.89s
    The  CPU percentage.              :100%

Python:

% cat builtin.py
#!/usr/bin/python
s = "aaa,bbb,ccc"

null = open("/dev/null", "w")
for i in range(1000):
    print >>null, s.split(",")[1]

% time python builtin.py
    The name of this job.             :python builtin.py
    CPU seconds spent in user mode.   :0.01s
    CPU seconds spent in kernel mode. :0.00s
    Elapsed time in seconds.          :0.01s
    The  CPU percentage.              :94%

Pythonが速い.

...いやまてE5310(Quad Core Xeon)ほぼ独り占めの環境だった.凄腕ハカー雇うより機材投資のほうがペイできるよ(身も蓋もない).

それはおいといて,以下GLANTANK(XScale-IOP8032x 400MHz)でやるほうが現実的か.

builtin read:

% time sh builtin.sh
    The name of this job.             :sh builtin.sh
    CPU seconds spent in user mode.   :1.92s
    CPU seconds spent in kernel mode. :5.40s
    Elapsed time in seconds.          :7.99s
    The  CPU percentage.              :91%

exec awk:

% time sh awk.sh
    The name of this job.             :sh awk.sh
    CPU seconds spent in user mode.   :10.32s
    CPU seconds spent in kernel mode. :19.73s
    Elapsed time in seconds.          :30.05s
    The  CPU percentage.              :99%

Python:

% time python builtin.py
    The name of this job.             :python builtin.py
    CPU seconds spent in user mode.   :0.22s
    CPU seconds spent in kernel mode. :0.09s
    Elapsed time in seconds.          :0.31s
    The  CPU percentage.              :99%

bashは遅いかねえ.ただwgetとか鬼みたいなツールを繋げるには shell script使うほうがやっぱり楽ちんだし.

結局,人間がパタパタ手作業やるのに比べたらこんなベンチマークが いかにばかばかしいかってことは火を見るよりも明らかではあるけどあえて釣られ.

Fri, 25 May 2007

twitterのrssをthunderbirdでよみたいだけの人のためのCGI(w

ネタ寄りです.CGIというか単にwgetがproxyしてるだけ.わかる人のみお使いください(w

#!/bin/sh
echo -e "Content-Type: application/rss+xml\n"
wget -q --http-user=(twitterのID) \
        --http-password=(パスワード) \
        -O /dev/stdout \
        読みたいRSSのURLを適当に.xml

ただなんか全部creatorがanonymousで見えちゃうのよね.

http://user:passwd@... はthunderbirdのRSSリーダからはうまくうごかなかった...ナズェダ

Thu, 24 May 2007

それでも人生の時間の80%くらいを無駄にしていると思う

日経ってTrackbackとかないからアレだ(それが日経クオリティ) 「人生の時間の80%くらいを無駄にしている」人とは? でも 「ょ」の人の言うこと もあるしなあ.

vimもemacsも慣れれば(w)楽だよ.マウスを使った作業っていうのは 一見便利だけどプログラミング中のいわゆる「ゾーン」に入るまでのコストが 高い感じがする(感じだけ). こいつらの特徴は覚えるべきコマンドが膨大ということかな.viならまだしも emacsはファイルの編集そのものの機能が強くつくられていて, 初学者のころは保存のコマンドが2アクション(C-x C-s)なのに戸惑いました. せいぜいDOSしか知らんかったし.でもVzとTurboCのエディタはけっこう キーボードショートカット使ってたかも.うろ覚え.

vimだけのコマンドってあんまり知らない.visualモードとかは便利だけど. 画面を割ったりする方法とか,変な使い方とか,たぶんいっぱいあるんだろう.

emacsはQWERTY配列であればControlがAの左にないと使えない. よってCapsLockであろうが問答無用でControlキーにして作業ね.

個人的にはvimもemacsもつきあいはじめてかれこれ8年くらい,かな. 専らプログラミングはemacsだね.vimはシステム管理するときとか, 今まさに書いているこのエントリもvimだ.もちろんeclipseも使うし, VisualStudio.NETのIDEもほぼそのまま使う.

去年まではbashだったのもzshに変えた.補完がやたら便利だしね. そういやTABキーの打鍵数を量るとその人がどれだけ短気なのかわかるかもね. 誰か研究したりしないのかな.

Fri, 18 May 2007

LL使いの憂鬱

LLを普段使う人であれば誰しも(?)が思うだろう-> LL / イライラさせられること

公開したWebフレームワーク普及のためのヒント

フレームワークじゃなくてアプリでも同じことがいえま砂.

  • 最低CGIとして動作する.パフォーマンスのチューンは後でもできる.
  • mod_perlやmod_pythonのようなApacheのアクセラレータで動作する.
  • pythonであればWSGIに準拠するのが好まれる.
  • sqlite,MySQLで動作する.PostgreSQLも使えればなお可.
  • 英語のドキュメントやフィードバックを用意する.

とりあえず,こんなところか?

まだありそうだから, Wiki をモリモリ編集すればいいや.

Tue, 17 Apr 2007

VisualStudio 2005でのSubversion そしてロック

環境の中で操作できないとね.EclipseのSubclipseらへんは完成度高いけど, VisualStudioだといまひとつアカぬけないというかピュアOSSと仲が悪いからか あんまりカコイイやつがない. ちなみにVisualSourceSafeは未だにちゃんと使ったことがない.

通常Subversionだとチェックアウト後ロックはできても デフォルトでは書き込みアクセス自体は自由なのでロックそのものの効果が薄い. せいぜい誰かがロックしてるからチェックインは待ってくれというくらい. そうではなく,ロックしてからじゃないと書き込みアクセスはできないよ, というルールにしたいときがある. TortoiseSVNでの場合Gentto sideさんところの 編集時にロックの取得を必須にするには に 詳しい説明があるようだ.

Thu, 05 Apr 2007

SC1430にDebian etchをインストール

SAS(SATAいれてるけど)なHWRAIDでも全く苦労せずにイントールできた.すばらしいすぎる.sargeのインストーラじゃここまでできなかった(broadcomのNICとかのドライバがなかったりした). 面倒でもetchのベースインストールしてからstableに移動するほうが楽じゃないかと思う.けどめんどいからそのまま使うかな.

Mon, 26 Feb 2007

はじめてのwizpy(ユーザ登録までの道のり)

ブート方法は3つあるらしい。(USB-HDD,CD-ROM,GRUB)

ヽ(;´ー`)ノ ブートからユーザ登録をしようとしたらこれだけの手順を踏むハメに。 いかんせん古い自作PC(Athlon XP 3200+, KT800チップセット, 追加NIC Intel e1000)でやろうとすると壁にブチあたりやすそうではある。

メーカ製PCの動作確認情報 も一度は見ておいて損はない。

ブートからXログインするまで
  1. ひとまず安全牌であろうCD-ROMで起動。ユーザ(IDはbravo)の登録。
  2. 再起動後Xログイン画面。なぜかしらねどbravoでログインできない。
  3. ここで Ctrl+Alt+F2 で仮想コンソール画面に移動してみる。すでにrootでログインされた状態だった。
  4. $ grep bravo /etc/passwd とかしても登録したユーザが出てこねえ。
  5. おもむろにrootで # useradd -g users -d /home/bravo -s /bin/bash bravo で登録。 # passwd bravo でパスワードの設定。
  6. Ctrl+Alt+F7 でログイン画面に戻って再度ログイン。入れた。やれやれ。
Happy Hacking Keybordな人のための設定とか
  1. キーボードがHappy Hacking Keyboardなのでそのままだと「 | 」いわゆるパイプ記号が出ない。
  2. コントロールセンターでキーボードを設定。 Generic-101 にして,キーボードレイアウトを en_US に。
肝心のネットワーク
  1. ターミナルがどっから起動できるかわからんが,コマンドの実行で xterm とやればxtermが起動した
  2. pingをルータにやるもののネットワークにつながっていない。 $ /sbin/ifconfig するとこいつにはeth0(VIA)とeth1(Intel)があって,eth0は未使用。当然か。
  3. ネットワークの設定はコントロールセンターじゃない「設定」というところにある。
  4. eth0を無効にしてeth1を有効にする。とりあえずはDHCPで。
  5. pingはうまくいったが名前解決(要はDNS)にまだ問題が。
  6. ルータがDNS cacheしてるので, xtermからrootで # cat > /etc/resolv.conf して手入力「 nameserver 192.168.1.1 (要はルータのIPアドレス)」して改行, Ctrl-D$ cat /etc/resolv.conf で中身を確認。ていうかデフォでviとか無いのはカルチャーギャップというか何ともはや。
  7. $ host www.wizpy.jp でIPアドレスが正引きできることを確認。
  8. 再起動はしなくてよいんだが,ようやくユーザ登録サイトへ。

めでたしめでたし。なんかいろいろ試された感じがする。

wizpyコミュニケーションメンバーIDは 149 です。