構造化したら負けらしい

昨日の嫁認証OSSについての会話。
嫁「擬似コードってあんなのでいいんだっけ?」
旦那「いいんじゃない? ちゃんと構造化されてるし」
嫁「構造化プログラミングの定義ってなんだっけ」
旦那「if文とか」
嫁「あの嫁認証ってif文使わないと書けなくね? いやwhile使うとかそういう話じゃなくて」
旦那「え? jump使って……w」
嫁「…………」


結論。
プログラミングって構造化したら負けなんですね。
んな阿呆な。

嫁認証をOSSにしてみた

うちの嫁認証の基本部分を、擬似コードっぽい何かでぷれぜんつ。

int n1, n2, n3, n4

if (要求 ! 無茶) {

  if 書籍 {
    if (冊数/月 < n1) {
      if PG系 {
        Talk "どうぞ"
      } elseif SF {
        Talk "後で貸して"
      } else {
        Ask 動機
        return(判定(動機))
      }
    } else {
      Ask "積ん読してない?"or"それ本当に欲しいの?"
      return(判定(Askの回答))
    }

  } elseif 勉強会 {
    Talk "楽しんでおいでー"

  } elseif 飲み会 {
    if ((回数/月 < n2) || ((month == December) && (回数/月 / 2 < n2))){
      Talk "いってら"
    } else {
      Ask 詳細
      return(判定(詳細))
    }

  } elseif ハッカソン {
    if (Random n3%) {
      Talk "定員空いてたら便乗したいんだけどどうよ?"
    }

  } else {
    if (金額 < n4) {
    } else {
      Ask 詳細
      return(判定(詳細))
    }
  }

  return(true)

} else {
  Ask 詳細
  return(判定(詳細))
}

テストをひとことで言うと

網羅テストは
「アタイハ スベテ イジレ」
「リンクト ボタンハ スベテ オセ」


探索的テストは
「ヨケイナコト ダイカンゲイ」
とか
「テストタイショウデ アソベ」
とか。


メトリクスは……
「キョクゲンマデ マビケ」(笑)
いや、全部の組み合わせなんてやってられないので、なるべく網羅的になる組み合わせを考えて極限まで間引くんですよ。
10項目×6項目×3パターンとか全部真面目にやってられっか。
(作業の手間的にもコストパフォーマンス的にも)


ともかく、探索的テストはテスト対象を執着的好奇心の対象にできれば勝ち。
好きなだけつつきまわして壊してもいいおもちゃなんて、大人になると滅多に与えられないですからね。楽しいです。
……日常生活でも反応の鈍い自販機を無意識に連打したり好奇心のタガが外れて券売機や家電をつつくりまわしてバグらせたりキョドらせたりしてますがorz

【Let'snote】レッツノートのいいところ&微妙なところ(1st impression)

レッツノートには、10年近く前にマグネシウム天板の製品が初めて発売されて以来ずっと憧れていたのですが、先日CF-R8Gがソフマップで安く売っていたので、ひょいっと買っちゃいまして。
Apache+PHPが動かなくて軽く悩んだり(Vistaのはまりポイントらしいです。こちらを参考に解決しました)しつつも使ってみた感想を挙げてみます。


レッツノートのいいところ

  • とにかく静か(省電力モードにしたときの話)

それまで使っていたIdeaPadのファンの音がかなりうるさいくて不満だったので「日本人の発想で作ったPCなら静かに違いない」と考えてはいましたが、予想をはるかに上回る静かさにびっくり。
ファンの音だけでなく打キー音もクリック音もとにかく静か。
新幹線で隣の席の人が寝ていても気兼ねなく使えそうです。
遠慮と配慮を常とする日本人らしい発想で作られているなと思う。

  • 軽い

レッツノートといえば軽さと頑強さなので、これに関してはわかっているつもりではあったのですが、家に持って帰って使ってみると、やっぱり軽くて驚いた(笑)
とくに、電気店では重さを確かめることのできないバッテリー部分とACアダプターも軽いのが衝撃的でした。

  • タフそう

これは試してみるわけにもいかないので、見た目の印象で(笑)
私が使うノートPCは、なぜかど高確率で底面とキーボードの面を止めるネジがバカになって隙間が開いてくるのですが(頻繁に分解するわけでもないのになんでだろう?)、レッツノートは見た限りでは開きにくそうに思えるので期待大。

  • 熱くなりにくい

省電力モードなら、電源つけっ放しでかばんの中に放り込んでもたいして熱くならない。
や、SSDならまだしもHDDでそれはよくないとはわかっていますが、つい(笑)


レッツノートの微妙なところ

  • 液晶が傷みやすそう

表面が硬質プラスチックのIdeaPadと違い、やわらかく薄い素材でできているので、尖ったものを当てたり押さえたりするとすぐ駄目になりそう。
まあここを分厚くするとかなり重くなるので、それを考えると悪いトレードオフではないと思うけれど。

  • 液晶の画質がよくない

市場に出ている製品の中でも良くない方だと思うが、電力消費量を抑えるための選択なのかなぁ。
まあ、店頭で事前に確認できる部分なので、通販で買わないかぎり騙された感はない、はず。

私は指が細いからまだいいけど、男の人はこの広さで不自由しないんだろうか。
それまで使っていたIdeaPadと違い、丸型だから余計に狭く感じる。。。

  • カメラもマイクもない

カメラはともかく内臓マイクがないのには驚きましたが、外付けマイクなんて小さくて軽いので必要なときに持って行くのは苦じゃないからまあいいかな。

もう少し出っ張っていた方が、キーボード内部にごみが入りづらいと思うのだけれど。

  • 蓋を閉じると、上蓋をロックする金具が横から見えてしまう

これが一番気になっている問題点!
金具を引っ掛けるプラスチックの部分があと1mm上に長ければ、ずいぶんかっこいいと思うんだけどさ……。


■総合
軽さ、サイズ、スペック、頑強性などすべてが、日本人の日本人による日本人のための製品という印象。
しっかりとした製品コンセプトとそれを実現する技術の賜物。礼節と技術の国日本でしか生まれない工業製品だと思う。
外国では売れないだろうなぁ(笑)


まあ、あばたもえくぼな感じですが、こんなところで。

【NetWalker】Willcom3G接続が安定しない(調査中メモ)

公式で配布された設定をインストールするとフリーズするらしいので、相変わらず以前ブログに書いたやり方(pppconfigで設定してpon/poffで接続/切断)しているのですが、しょっちゅう接続が切れる。
で、とりあえず監視してる/var/log/syslogに何も吐かずに切れる時もあるんですが、こんなのを吐くときもあるんです。

Unhandled fault: external abort on non-linefetch (0x1018) at 0x4300d054

これ何だろうって現在調査中。


今のところの一次資料(?)はこのあたりで。
http://sourceforge.jp/cvs/view/uclinux-h8/linux-2.6/arch/armnommu/mm/fault.c?revision=1.1.1.1&view=markup
http://www.mogya.com/zaurus/ml/linux-zaurus/msg00916.html
http://sourceforge.jp/cvs/view/uclinux-h8/linux-2.6/arch/armnommu/mm/fault.c?revision=1.1.1.1&view=markup

【NetWalker】(備忘録)リカバリしました

リカバリ後の作業あれこれ。
居心地のいい端末にするための、大きなことから些細なことまで。

          • -

壁紙を設定
上下バーに隠すボタンをつける
デスクトップの初期アイコンを削除
端末とgeditをバーに追加
ネットワーク設定(無線LAN)の追加
文字サイズを変更

ppp設定(HX003ZTとWX420K)
debian.multimedia.orgを設定
以下をインストール
 VLC、fluxbox、vim
システムアップデート

          • -

思いだしたら順次追加。

『ネットウォーカー Guide Book』届きましたーーーが

シャープにユーザー登録した先着3000名がもらえるアスキーアレですが。


中身は「NetWalkerってこーんなすんばらしーマシンなんだよ」ってな感じのレビューと、スクリーンショットを多用した激しく初心者向けのガイドが半分以上。(ネットにつなぐ方法とかね)
後半にはAsciiで動作確認した周辺機器情報などの情報もあるものの、『Ubuntu搭載』と言われて「あああれね」とわかる人には、大半の部分は不要な情報。
Linuxを触ったことがない人向けの本だと思いまふ。


けどね……あの本の対象読者と思われる、Linuxを触ったことがない人は、NetWalkerを買わない方が幸せなんじゃないかと思うのですよorz
ザウルスの時はわりと電子手帳ライクな皮がかぶさっていたので、Linuxがわからなくてもそれなりに使えるマシンでしたが、今回は起動したとたん「がっつりUbuntuデスクトップっ」だし(真ん中にでででんと鎮座しているアイコン達を除けば)。
ザウルスの頃はコンソールを叩けない人向けに色々書いてる人もいたけど、NetWalkerの情報はLinuxを触れることが前提のものばかりだし。
Linuxについて十分に自助努力できる能力のある人か、そういった能力がなくとも私のように、この端末のためなら必要なら火の中水の中英語の中に飛び込んで行けるという目的と手段を履き違え+最低限ぐらいのアドバイスはくれる頼れるお兄さんが近くにいる人以外は、買ってもたいして「使えない」マシンなんじゃないかと。
市場にはiPhoneとかBlackBerryとか魅力的なマシンがたくさんありますしねぇ。……私は目が悪いから、どれもモニタが小さくて使えないんですけどね(TT)


つまり、何を言いたいのかわかんなくなってきたけど、ターゲットユーザーの狭いマシンだなーとつくづく実感したというか、なんというか、タダで頂けるのは嬉しいけどどうせならもうちょっと違うもの送ってほしかったなーというか、なんというか、そんな感じだったりとか、うん……むぅっ。