「趣味」カテゴリーアーカイブ

え、windowsとかIEって別に悪くないよね?

最近windowsとかIEとかの株が自分の中で上がっているのだが、他の人は共感してくれないようだ。「最近windowsがいいと思ってるんですよね〜」とかいうと、珍しい〜、とか反応が帰ってくるし、個人的にはfirefoxは面倒で遅くてあまり使いたくない。

結局、普通の人が使うのはパソコンのOSではなくて、OS上のソフトウェアである(つまり、windows対応ソフトを使いたくて仕方なくコンピュータを使うっていう場合が多い)ことだとか、ハードウェアの対応がどうしたってwindowsの方が上だとか、なんだかんだいってローカリゼーションに手を抜いていないあたりが、windowsとかIEのいいところ。chromeを使っても、cjkフォントが気持ち悪いとかいうのが検索すればすぐに出てくる。

対して自分が思うlinuxのいいところは、ディストリビューションごとに形式は異なるけれども、しっかりソフトウェアパッケージ管理がなされているところ。他には、プログラミング環境が整っているところとか、金かけずにサーバ構築できるあたりだろう。デフォルトの状態でなにができるかっていうのは結構大事。

apple?知らん。好きにしろ。まぁ、UIは馬鹿にしたらバチがあたるよね。

centOS6.0来たぞ〜〜〜〜

どうも最近は運営がグダグダなのか、scientific linuxに結構遅れた挙句、やっとcentos6.0が出た様子。

どうもこれが、というかRHELがlinuxの基準になってしまっているようなところが自分の周りではたまにあって、まぁなんだ、要はサポート期間が長すぎて新しいのが出ず、パッケージが古くなってしまっていろいろとはかどらない時があるんですよこれがまた。まぁ、6.0が出たから、新しいサーバをこれで設定すりゃ向こう何年も安心っちゃ安心なんだけど、どうも、時間とともに腐ってしまう、ということがなければいいんだけどなぁ、、、。

長期のサポート期間と、それなりの先進機能の両立はうまく達成しているように見えるのはubuntuなんだけど、どうなのやら。redhatもfedoraはcentoosよりももうちょっと活発なように見えるけれども、実際はどうなんだろう。

落ちはない。これだけ。

テキストエディタ、人に使わせるなら

やっぱり gnu nano ですよね。eeもまぁまぁ簡単でいいんだけど、日本語対応的に考えてnanoの勝ち。

UNIXとかlinuxになれた人は、どうしても自分の成功体験からviやemacsを人に勧めがちだけど、普通の利用者の観点から言えば、そのサーバで必要な仕事ができればいいだけで、エディタの使用方法に習熟することが必ずしも重要でないことはままある。そのような場合に、学習曲線がきついvimやemacsや無印viやedを無理やり使わせるのは必ずしも得策ではなく、nanoのような、使い方がいちいち画面に出るエディタの方が便利という話。というか、いまどきのgnu nanoはキーバインドが好き放題にいじれるんですね〜。これでword的なキーバインド、 (Ctrl-sで上書き保存とか、名前ついてたと思うんだけどなんだっけ?)をあらかじめいれといてあげればwindowsのメモ帳よりも便利なテキストエディタの完成!素晴らしい。

難点は、UTF-8なものじゃないと日本語がいまいち都合が悪そうな点。やっぱりlinux的にはSHIFT-JISとか見るよりも、i18n対応はUTF-8で全部おさめちゃうんですかねぇ。日本語対応さえなんとかしてくれればもっとnanoを人にすすめられるのだが、、、。

===

実際のところ、CUIでエディタ使わないといけない環境では、UTF-8しか使えないっていうのはつらいかもしれない。GUI対応できるなら、それこそ好きなエディタ使えってことになるし。。。。viとか使うのかなあ。

linux で使える圧縮形式あれこれ。やっぱりlzopだよね〜

基本的にtarから呼び出せるやつで有望な連中は、 gzip, bzip2, xz, lzop あたり。

gzipは圧縮に時間がそれなりにかかるが、伸張decompressionは結構はやくて、圧縮率はそれなり。

lzopは圧縮伸張がやたらめったらはやくて、無圧縮のtar作成とたいして変わらない。圧縮率はgtarより悪いが、まぁ個人向けストレージがここまで安い時代には、十分と思う。SAS玉つかうなら話は別だけどさ〜。うちでは無理です。

bzip2は圧縮伸張にかかる時間はそれなりで、圧縮率はまぁまぁ高い。xzとか出てくるとちょっと使いにくい。

xzは圧縮にすごく時間はかかるが伸張はbzip2くらい。圧縮率は今回あげた中では一番大きい。

ストレージ容量重視ならxz、圧縮に時間をかけていいならgzip、とくに理由がなければlzopといったところかなぁ。

公式サイトに書いている “lzop is usually IO-bound and not CPU-bound” という一言が非常に強力かつ魅力的。http://www.lzop.org/

 

git と hg と bzr と svn と

git の宣伝はこれ http://whygitisbetterthanx.com/ hgでもそんなにブランチ切るのが遅いの?ほんとに?

個人的にはpythonなしでもインストールできるgitとsvnしか選択肢がない。

で、いろいろ調べた最近はやりの分散型ソース管理システムの比較。

まず、svn対git svnの有利な点は、中央リポジトリが一つあってわかりやすいことと、リビジョン番号が連版になっていること。さらに、大きなバイナリファイルが扱えるという点。 https://git.wiki.kernel.org/index.php/GitSvnComparison

hg対git では、hgの方が履歴書き換え形のコマンドが使えない点と、ローカルリポジトリ固有のリビジョン番号がある点。ただ、リポジトリによって違うリビジョン番号は混乱の元なので、ちょっと使いにくいかなぁ。windowsとの親和性でもやっぱりhgという話。hgはoctopus mergeがない?

http://hgbook.red-bean.com/read/how-did-we-get-here.html

bzr対gitでは、bzrはsvn的な中央リポジトリも使えるし、bzr2.0からhg並みのスピードがでるという点でいろいろ便利そう。launchpadがあるし、バックにcanonicalがついてるから、いろいろはかどるんだろうなぁという印象。

http://doc.bazaar.canonical.com/migration/en/why-switch-to-bazaar.html

分散型リポジトリ系ではどれもこれも巨大なバイナリファイルが扱えないという点はどれも同じ。

基本的にはgitの方がややこしいけどgitは速い、という反応。githubとかgitoriousがあるので、将来的にはgitかなぁという感がある。まぁ個人的にはgitなんですけどね。どうせwindowsで使おうというわけではないので。

amahiをsheevaplugにインストール中。

インストール用シェルスクリプトをちゃんと読まずにやったのでちょっと手間取った。http://wiki.amahi.org/index.php/Amahi_Plug_Edition

SDカードにイメージを入れるところまではいったが、どうにもうまく起動しない。つうか、sheevaplugって、/bootがあまり大きいとうまく起動しないからいろいろ面倒なことをしないといけないはずだったけど、今回のインストールプロセスではその辺が書いてないことに気付いた。うーん。2GBのSDカード用意するのか??

途中で邪魔が入ったので今日のところはこの辺でおしまい。

しかし、ちょうどタイムリーにhttp://blog.amahi.org/2011/06/21/apple-hits-amahi-with-a-cease-and-desist-wait-what/
こういう話もあって、だんだんAppleが嫌いになるね。

 

 

fedora15でsyslogが保存されないupgradeのバグに当たった。

fedora14からfedora15にアップグレードするときのバグで、/var/log/messagesが保存されないというのに当たった。

http://www.spinics.net/linux/fedora/fedora-users/msg398294.html

 

ちなみに、このバグに気付いたのは、linuxのサスペンドから復帰できないバグにあたって、ログでもさらうかと思ったから。messagesがなければさらうもなにもない。まぁ、しょうがあるまい。

ちなみん、gnome3環境は割と快適。マウスの移動速度を最速にしないとイラつくかもしれない、ってくらいかな。よもやlinuxでwindowsキーをフル活用する世の中になるとは思わなかったよ。

dokuwikiのプラグインではまり

症状は、特定プラグイン追加後に、管理>サイト設定を表示しようとすると上のバーのところだけ表示されてその下は真っ白。httpのエラーログにはろくなものが残っていない。

いろいろと調べて、結局原因は、そのプラグイン(wikicalendar http://www.dokuwiki.org/plugin:wikicalendar?s[]=wikicalendar)でphp5.2で追加された関数を使っていたこと。プラグインのサイトの下の方に書いてあった。もちろん勝手にphpのアップデートなんかできる環境ではなく、サイトにあった対応をしてもうんともすんとも言わないのであきらめ。

RHELなんだけど、導入した時期が悪かった、、、、。微妙にふるくてパッケージが腐っている、、、。勘弁してほしいなぁ。

いいかげんgooブログやめるかな〜。

gooブログは著しくコードが書きにくいのでだいぶ困る。で、どうせやるならレンタルサーバ的なものを借りてやらむという話。電気代とか心配だしね。

で、ちょっと見て回ったけど、root権限あるけど管理をきっちりやる方がいいのかなぁ。個人向けIaaSっぽいサービスがいくつかある。VPSとかいう名前でサービスされている。ただのレンタルサーバだと、ユーザは各ユーザ領域を適当に使うイメージ?VPSだと/以下全部手を入れられるイメージかな。chrootで押し込められてるのかもしれないけど。

500円/月 とかのやつがあるから本当にそっちにブログを移してしまおうか、検討中。いきなりやめることはしないけど、少なくともgooに払っている御布施は引き上げてもいいかも。wordpressとかdrupalとかjoomlaとかを入れて遊びたいかなぁ。そこまで重いことはできないか??

今はバックアップとしては家サバに2台ハードディスクをつないで適当なタイミングでrsyncしているけれど、このバックアップを地理的に離れたところにおきたい。転送量課金がないところにして、貴重なデータの2重化先としても使いたいのだけれども、そういう使い方って現実的なんだろうか。10GB超えるので選択肢は限られるが、、、。はてさて。

すげ〜今更だけど、「史上最大のコーディングスキル判定」をやってみた。

14か月くらいいまさらだけど、気になってのでやってみた

問題は

http://www.itmedia.co.jp/enterprise/articles/1004/03/news002_2.html

 

要件が書いていないチートイツは無視で、5枚目牌を待つ待ちも許容した。(前者は割と簡単。後者もまぁできるけど、問題に定義されていないので無視。1113334447777というテンパイ形も許容)

 

テンパイ形だけ分かればいいので、最初にメンツを取れるだけとって、4つ取れたらタンキ待ち確定。3つ取った後、4つ目のメンツが取れなかったら、残りの4枚がトイツ+ターツか、トイツ2個になっていたらテンパイ形にする。

 

で、この手の問題はやっぱり再帰関数だよねということで、文法を思い出しながらocamlで試行錯誤して3時間。for文使った方が楽だと思いなおして、ロジックを整理してrubyで書き直して全テンパイ形を得られるまで2時間ちょっと。出力とか、繰り返し回数減らすのにちょっといじって1時間、ってあたり。rubyで書いたといっても、使ったのは配列の関数くらいで、ほとんどcだった。 このあたりは普段rubyでかかないので勘弁してくださいってことで、、、。


# -*- coding: utf-8 -*-
##史上最大のコーディングスキル判定
##グローバル変数の定義
$pai=[1,2,3,4,5,6,7,8,7,9,9,9,1] #牌の組み合わせ。処理前にソートされる。
$pai2=[1,1,1,1,1,1,1,1,1,1,1,1,1] #牌をとったらそのインデックスの要素は0になる。
$all=Array.new # テンパイ形の牌の組み合わせの配列を要素にもつ配列。テンパイ形が全て入る。
$len=$pai.length
##判定関数たち。引数は$paiのインデックス
def isMenzu(h1,h2,h3)
  return ($pai[h2] == $pai[h1]+1 && $pai[h3]==$pai[h2]+1) || ($pai[h1]==$pai[h2] && $pai[h1]==$pai[h3])
end
def isToizu(h1,h2)
  return $pai[h1]==$pai[h2]
end
def isTarzu(h1,h2)
  return $pai[h2]==$pai[h1]+2 || $pai[h2]==$pai[h1]+1 || $pai[h2]==$pai[h1]
end
##残り1枚になったときのタンキ待ちの組み合わせを$allに入れる
def hantei1(arr)
  for i in 0..12
    if $pai2[i]==1
      $all.push((arr +[[$pai[i],-1]]).sort)
    end
  end
end
##残り4枚になったとき、対子+ターツの形を$allに入れる。面子+タンキはhantei1で判定済みのはず。
def hantei4(arr)
  a1=Array.new
  a2=Array.new
  for k in 0..12
    if $pai2[k]==1
      a1.push(k)
    end
  end
  if a1.length==4
    0.upto(2){|i|
      (i+1).upto(3){|j|
        if isToizu(a1[i],a1[j])
          a2=a1.dup
          a2.slice!(j)
          a2.slice!(i)        ## このあたりもっときれいに書けないかなぁ。
          if isTarzu(a2[0],a2[1])
            tmp=arr.dup
            tmp.push([$pai[a1[i]],$pai[a1[j]]])
            tmp.push([$pai[a2[0]],$pai[a2[1]],-1]) # -1は、結果出力時に待ちになっている部分を判定するためのゴマカシ
            $all.push(tmp.sort) # sortしたものを入れておくと重複排除のときに簡単になる
          end
        end
      }
    }
  end
end

def make_list(ans,num,count) # ansはテンパイ形の13枚の組み合わせを作るために、3つずつ牌の組み合わせを入れる。
  if count==4 # 残り1枚
    hantei1(ans)
  else
    num.upto($len-3){|i|
      next if $pai2[i]==0
      (i+1).upto($len-2){|j|
        next if $pai2[j]==0
        (j+1).upto($len-1){|k|
          next if $pai2[k]==0
          if isMenzu(i,j,k) # 重複なしに適当に取った3枚がメンツになっているなら、次のメンツをとる。
            $pai2[i],$pai2[j],$pai2[k]=0,0,0
            make_list(ans+[[$pai[i],$pai[j],$pai[k]]],i+1,count+1)
            $pai2[i],$pai2[j],$pai2[k]=1,1,1
          end
        }
      }
    }
    if count==3 # 残り4枚からメンツを取らなかったとき
      hantei4(ans)
    end
  end
end

# main part
if $len == 13
  $pai.sort!
  make_list(Array.new,0,0)
  $all.uniq!
  # output result
  $all.each{|arr|
    arr.each{|a1|
      if (a1.index(-1)).nil?
        c1="("
        c2=")"
      else
        c1="["
        c2="]"
      end
      printf(c1)
      a1.each{|a2|
        printf("%d",a2) if a2 != -1
      }
      printf(c2)
    }
    printf("\n")
  }
end

 

こんなかんじ。ocamlで書いてたときに、for文てどうやって書くんだっけと思った時点で、rubyで書いた方が早いと思ってしまったのです、、、。make_list関数をocamlで書こうとしている間に時間切れ。結局、ループ変数を全部引数に持たせて再起関数を書けばできたような気もしつつ。結果を全部突っ込む配列を用意しないでスマートに書けたらいいんだけど、重複を排除するんだよなぁと思うと、どうしてもこんな感じ。例外処理は、、、別に変なもの入力しないから勘弁してください。 チンイツ形以外にも拡張するには、適当に数字を離して牌の名前を振れば問題なく行けるはず。マンズ 1〜9 ソーズ 21〜29 ピンズ 41〜49 字牌 60,63,66,,,, とか。役の判定を考え出すと面倒だなあ。

っつうか、ブログ書いてる間にすでに繰り返し回数減らす変更を思いついてしまって、どうしようもないな。まぁ、make_listに渡すnumが、num>4+count*3 だと一回も回らないっていう条件を入れ忘れたってこと。(その後、実際にループを減らすのをやってみましたが、そのif文を入れると、単純で時間がかからない時は早くなるけど、1111222233334みたいな、ややこしくて時間がかかる場合には遅くなることがわかった。どうしようもないね。)

なんか、gooブログでソース書こうとすると、だいぶムカつくね。もうやめようかな。

結局、自分はプログラマとしてはいまいちっぽいので、よかったというべきか悪かったというべきか、、、
まぁ、コーディングが仕事というわけじゃないし、ruby自体書くのは久しぶりなんだ、、、。

==
当時いろいろとコーディングされた物が公開されているのでみてみた。そうか、作業配列の作り方がまずかったか。配列arr[i]に、牌iの枚数をぶち込んで、枚数を勘定してその数字はメンツになれるかどうかを、一つ一つの数字ごとに判断するという手があったか。参考になるなぁ。

kongregateでゲームなぞやってた

5月の連休明けから、kongregateでフラッシュゲームなぞやってる。

全部英語ではあるけれども、gooの一日30分ゲームのMonster’s Denが時間無制限で(ただし英語で)遊べるというので始めたけれども、数時間で終わるしょうもないゲームが腐るほどあって、どれをやるか選ぶのが大変。というか、上位のページに表示されるようなものしかやらないんで、どれも数時間は遊べる。終わったらもう二度とやらないレベルなのも結構多いけど、スマートフォン時代のゲームってそんな感じだよね。

プレイヤーが年をとっていて時間がとれないから軽いゲームがうける?

んで、一部の(といっても結構多い)ゲームでは、ゲーム中で条件を満たせばバッジとポイントがもらえるというどこかで聞いたようなシステムがあって、これがまたいろいろやりたくなる。で、まぁいろいろ手をつけたけど、そろそろ飽きてきたかな。

今は、tyrantをやっているくらい。課金しなければ一日にできる時間が限られているので、朝と夜だけせいぜい15分ずつやるくらい。まぁよかろ。

fedora15でgnome3を使った件

windows7ライクなデスクトップになったけど、windows7よりは好みかな。
windows7のalt+tabって、結構いつも忘れてしまって、いつも使わないんだよなぁ、、、。さて。

windowsキーを押したり左上にマウスカーソルを持っていくと、ランチャ件ブックマークバーが起動して、そこからアプリを選ぶという感じ。デスクトップの背景で右クリックしてもコンテクストメニューが何も出なくなったし、上の方のパネルの表示もあまり柔軟でない感じ(横長ディスプレイであれを広く表示されると邪魔。左に置きたいかなぁ。)

んで、gnome3では、デスクトップ画面とランチャー画面を切り替えながら使う感じなんだけど、これって、マウスのインターフェースには向いていなくて、タッチパネルによりむいている気がする。タラタラ左上までマウスを持っていくのが面倒だし。。。

あとは、デスクトップ数が動的に増える(つまり、常に空のデスクトップが一番下に表示される。(これって、実は制限数あったりする?))ので、ブラウザやメーラはえいやっと全画面表示してしまって、デスクトップ切り替えで使うのが便利っぽい。今後スレートPCとか、タブレット端末がたくさんでてくると、こういったUIが主流になっていくんだろうなぁ。windows8も変わるっていうし。

しかし、linuxでwindowsキーを多用することになるとは、、、、今までも機能はあったのかもしれないけど、使ったことはなかった。そもそも、マウスに最適化されたGUIなのに、キーボードショートカットを覚えるっていうのも、なんか思想が曲がっている気がするんだけど、それってワタクシだけなのでしょうか〜〜

fedora15にあげたけど、、、

preupgradeして、yumで変なのが残ってないかみて、/etcのしたの設定ファイルをちょろっとみておしまい。
texまわりのフォントが派手に変わっているようだけど,だいぶ使っていなかったから,いつから変わったのか不明。まぁいいけどさ。
壁紙の雰囲気が変わったね。

gnome3はうちのPCではフォールバックモードになってしまうので、不便になっただけ。LXDEにしている。

もう一台の方は余裕で動くはずだけど,preupgradeが通らない(プロクシのせい?)なので、来週暇を見て。

初回起動時に出たエラーメッセージはログが残ってないからもうすでにわからん。

git でハマった

いろいろあってgitを使い始めた今日この頃。
outofmemoryでcloneとかgcとかいろいろはかどらない事態に遭遇したのでメモ。

原因はある程度の大きさのバイナリ定数ファイル。
ulimitでユーザーの対話シェルでのメモリはガッツリ制限されてる環境での作業が行われているのだけれども、この定数ファイルがメモリの制限値を越えているのが原因で、outofmemoryエラーが発生しているものと考えられる。っつうか、ユーザは0.1%もメモリをつかえないって、ちょっとひどいな。ジョブスケジューラにジョブを投げればメモリもたくさん使えるんだけれども、これって、ちょっと使い勝手がよくない。どうしたものか,,,。(そもそも、darcsやmercurialやbazaarでなくてgitなのは、pythonやghcが入っていない環境で、とりあえずユーザー権限でインストールして使うため、というのも半分はある。つまり、そもそもインストールできるのはgitだけだったという話。svnはすでにはいってるんですけどね。)

といっても、これらのファイルはプログラムには不可分なので、できればリポジトリで一括管理したいところ。でも、他のマシンで試して見たところ。全部で10GB越えるようなリポジトリは、ちょっといろいろはかどらない気がする。でかすぎるんだよなぁ。。。個々のファイルはそれほどでもなんだけれども、、、。

https://git.wiki.kernel.org/index.php/GitSvnComparison
このあたりの記事を読むと、バイナリファイルの管理はsvnの方が良さげとか書いてあるし、他の分散型cvsについても、ちょっと検索すれば、すぐに大きなバイナリ定数ファイルはまずいことがわかる。

結局、定数をどうしても管理するなら、svnを使うというのが、スジなんじゃないかと思いつつも、そういうことはさせてくれないような感じだし、そもそも他人に使わせる段になったら問題。割と困ってしまっている。tarで固めて適当に保存するのがいいのかなぁ。。。rsyncとかつかってみたりして。

—-
結局、バイナリファイルは管理しないことにした。
定数ファイルをそうそう変更することもないので、変更時にtar.gzで固めておけばいいやという判断。

—-
ちなみに、pythonがない環境でのgitのインストールは、公式サイトからtarを拾ってきて
gmake configure
configure –prefix=”path” #CFLAGS=64bitオプションとかもお好みで
config.mak.autogenを編集して、最後にNO_PYTHON=YesPleaseを追加。
Makefileかconfig.mak.autogenのどっちだったか忘れたけど、もしgnu installにパスが通っていなかったら、installコマンドでgnu coreutilsから入れたinstallを使うように、install=を書きなおしておく。
(ちなみに、その環境の下ではcoreutilsのコンパイルは簡単だったので省略)
で、あとは普通に
gmake
gmake test
gmake install
でOK
—-
あと、/bin/shがbashじゃないとダメっぽい。stashとか。ひょっとしたら作業環境のshの方が悪いのかもしれないけど。

光iフレームが届いた件。微妙? 音質微妙だけどradiko端末としてなら、、、。

申し込んでおいた光iフレーム(充電スタンドがある方)が4月29日くらいに届いていました。
ディスプレイに貼る保護シールが同封されていて、自分で貼れとのこと。そこまでするのならば、あらかじめ貼ったものを送ってくださいよ、、、。あと、ちょっと本体が重いかなあ。
先日購入したbaffaloのWHR-HP-GNで無事接続できています。

ゴールデンウィーク中は今日まで旅行に行っていたので、昨日帰ってからちょこちょこ試しています。
もともと、デジタルフォトフレーム的なものがちょっと欲しかったものの、ちょっと画面が大きくて便利そうなものだと1万円近くしてちょっと買うにはなぁ、と思っていた次第。旅行先で撮ってきた写真のSDカードを突っ込んでぽちぽちやると、スライドショーが延々うつる。radikoでラジオも流せたり、音楽を突っ込んでプレイヤーにしたりしながらと、普通なデジタルフォトフレームよりは機能は豊富。まぁ、延々1000枚もある写真をスライドショーで見るほど暇じゃない。radiko端末か?

さて、android2.1で動いているというのがこの機械のキモらしいけど、まだアプリがそろっていないのでそんなに期待するほどいろいろ遊べない。っつうか、この機械にデジタルフォトフレーム+ウェブブラウザ以上の機能をまだ求めてはいけないのかなぁ。

んで、そのウェブブラウザだけど、これがまた使いにくい。右の方に縦に三つならんでいるボタン。ただの飾りかよ、、、ってくらい、真ん中のホームボタンが敏感。戻るボタンとか、メニューボタンとかを押すのにちょっとコツがいるうえ、反応するまで1秒弱くらいかかってしまう。まだまだ微妙かなぁ。

一応、ハックしていろいろ遊ぶ方策もあるらしいけれども、そこまでこの機械に思い入れはないからやらない。toshibaのdynabookazの方が使いやすいので、デジタルフォトフレーム以上の機能はもういいです。

え〜い、fedora15はまだか〜!! rhel5にredmineを入れた話とかぐだぐだ話

ubuntu11.04がでたとかいう噂ですね。もうそんな季節か。

gnome3.0なfedora15を早く使いたいなぁ、まだか?つうか、3月くらいにリリースされてくれれば、4月にインストールできていいんだけど、、、、

sheevaplugはいまだにfedora12しか使えないんだけど、どうするっかな。やっぱりdebianなのかなぁ。

さて、今日のどうでもいいよしなしごと。
今日は某所で管理権限を持っているRHEL5な機械にredmineが入ってたらいいなぁ、といわれてインストールした。ってか、結構宣伝されている割にはインストールが面倒くさいぞ!この面倒くささでも使う気になるほどいいツールなのかなぁ。

とりあえずインストールからプロジェクトのテスト、初期設定までは3時間くらいかかった。ってか、オールインワンインストーラって、mysqlが必要とか、、、。mysqlは使いたかったけど、都合があって使えないので、仕方なくsqlite3で使うことにして、手でインストール。

つうかさぁ、なんでrubygemsとかあるんだろう。rpmとかaptとかに乗って依存性解決したほうが楽なのに、わざわざgemでいれないといけないし、glibcのバージョン違いで動作しなかったりして、正直面倒臭かった。まぁ、慣れなんだろう。モジュールだけならあんまり複雑な依存関係にもならずに管理できるということなのかなぁ。perlにもCPANとかあるし、便利なところがあるんだろう。

まぁ、とにかく、gemから拾ったモジュールが、redmineには新しすぎて微妙で、過去のバージョンはどういうバージョン番号がついてるのかわざわざ調べて、当たりっぽいバージョンを選んで入れるとか、、、。なんか、rubyはそれで大丈夫か?という気がして来るが、それだけ仕様がすぐに変わるほど開発が盛んなんだろう、きっと。

入れてしまえば、管理権限持って自由に使えるredmineも便利かもしれないなぁと思えてきた。手帳兼ねるメモ帳がわりに使えるかな。ちょっと大袈裟か。ただ、gitとかのリポジトリが、1プロジェクト1リポジトリしか持てないのは致命的に使いにくい。Tracの方がいいのか?

そのうち家でもためそう。

あとは、、、某PSNの流出事件で、しっかりメールが届きましたよ、と、、、、。
正直勘弁してほしいわ、、、。

dokuwikiがよさげ

デフォルトでコードを自動で色分けする機能がついている!
何も意識しなくても横に目次がでてくる!
pdfを吐くプラグインまである!
見出しごとに編集できる!
ユーザー認証とか権限設定とか簡単!

簡単なメモ書きとか、ドキュメント作成には便利。
カレンダーとかはちょっと弱い?と思うので、高尚なことをやりたくなったら他にどうぞ行ってください、というスタンスだと思うけど、少なくともこれで新規にpukiwikiを立ち上げることはなくなったと思う。

ただ、我が家で使っている、結構面倒くさいphpのwikicalendarも移行できたらいいのだけれども。googleカレンダーにしちまうのかなぁ。。。

LinuxのX端末? Xnestを入れてみた

sshでX11Forwardingが使えない環境で、vncもない状況で、Xwindowなアプリケーションをリモートからいじらないといけない羽目になったので、設定方法のメモ。もちろん、rshでxhost + したり、リモートで手元の端末をDISPLAY変数に入れてやるのもうまくいかなかった前提(これは、クライアントすなわちXサーバ側の設定の問題な気がするが、それは明日また考えよう、、、)

とりあえず、ファイアウォールとSELINUXを殺して(fedora14はSELINUXを殺すのが面倒だなぁ、、、)
# init 3
してから
# X -query リモートホスト :0
なことをすれば、手元の端末をX端末としてリモートホストにつなぐことができる。

ここまでは知っていたが、やはり、ブラウザとか、いろいろローカルに構築したものを使いたいのが人情というもの。リモートホストといったって、いまどきのクライアントは結構パワフルなので、クライアントのせいぜい3台分くらいの処理能力しかないわけで、いちいち手元の端末を使えなくしてしまうのも悔しい、、、というわけでいろいろググってみたら、、、、

XnestとXephyrというのが使えるらしい。どちらも使えたが、とりあえずはXnestを例にとって説明。

yumで、Xnestのパッケージが取れたので、とりあえずそれをインストール。(名前は何だったかな。 yum list |grep -i xnest とかして調べました。)

で、Xを立ち上げたままで、 
# Xnest -query リモートホスト :1
なことをしたらうまくいった。手元の端末のXが0番のディスプレイで立ち上がっているので、別のディスプレイを立ち上げるのがポイント。こうするとvncをあげたみたいにリモートのログイン画面が出ます。っていうか、これがうまくいく場所ではあんまりvncする意味ないのかも、、、、。

Xephyrも同様に出来ましたが、いまいち違いがわかりません、、、。

drupalいいかも。 うちのサーバに入れようかな。

いろいろと探してみたところ、我が家のカレンダー+微妙なメモ書きに使っていた、pukiwiki+PHP webcalendar環境を、drupalに移植してもいいかもしれないと思った。wordpressの方が日本語の人口は多いのかもしれないなぁとは思うのだけれど、カレンダーとか使うのはどうよ?という感じだし、基本的にはホワイトボードにまとまりなくだらだら書いていくような使い方なんで、drupalでいいのかなぁ、と思っている。一応は日本語化されているようだし。

joomla!もあるけどどっちの方がよいのかな?こっちはまだ試してないからよくわからないんだけれども、、、。

他にいいのはあるのかな?xoops系はだいぶ悩んでスクリプトいじったりしてもインストールできなかった苦い思い出があるので却下で、、、。

あ、amahiのモジュールでdrupalも使えそうだ。これはいいかも。っといってもなかなか試せていないんですが、、、。最近英語を読む元気がなくなって困る、、、。

==
で、ちょっと試しにdokuwikiとか使ってみた。

wikiだけ使うならこれはいいな。インストールがmediawikiとかpukiwikiと比べてすごく楽だし、データベース非依存なので、いろんな環境に入れられる。wikiの表示も、見出しごとに編集できるようになっていて、割と素敵。見出しで区切って目次付けるような簡単な文書には最適だと思う。次からdokuwikiだな。

でも、ちょうどいいカレンダーがないので、そこは残念、、、。

logicool Illuminated Keyboard CZ-900 を買った。

家電量販店の某カメラで叩いてみて、静かにヌルヌル叩ける感じ(?)が気に入ったので、帰宅後に最安値を狙ってNTT-Xストアで購入。職場で使うつもりだったが、今日届いたので試しにブログ書きに使ってみている。

異動になったことだしそろそろ新しいキーボードでも物色するべかと、某家電量販店にてキーボードをぽちぽち叩いていたところ、このキーボードを発見。ちゃんと行儀よくキーボードを打っていないので、あまり手を動かさないで使うように設計されているように思われるマイクロソフトのエルゴノミクスキーボードはちょっと無理かなぁ、ということで却下。マイクロソフトのarcキーボードの見た目はだいぶ良かったし、サイズ的にも問題なし、あれの有線版がありさえすれば、、、。職場では2台のPCをKVM切り替え機で切り替えながら使っているので、無線はちょっと不安なのです。と、いうわけでどれがいいのかなぁ、と思って叩いてみてよさげと思ったのがこのCZ-900というわけでした。
HHKBの安い方は売ってたけど、東プレは売ってなかったので、見ていた時点でそれらの存在は忘れていました。HHKBのキー配列は好きなんだけどね〜。Fn押さなくてもF10とかF7とか押せればなおよしなんだけど、そんなのは出るはずがないか。CAPSLOCKを殺すのはソフト的にやるということで我慢。

あとは、本当は上位機種のこれが欲しかったんですよ、、、。無駄なテンキーとかついてないし、、、。ただ、値段が跳ね上がる上に無線なのでちょっと悔しいが、ここも我慢。正直、テンキーを外すとか、左側に付けてくれないかなぁ、マウスとキーボードがテンキー分遠くなってしまうのは、操作がキーボードで完結しないマウス派としてはちょっと残念。といっても、それはテンキー付フルキーボード全般に言えることであって、このCZ-900に限った事ではもちろんない。

さて、届いて、開けて、見てみた感じ。まずは、薄い。
結局家ではノートパソコンしかないので、パンタグラフキーボードしか叩いていないこともあり、結構叩き心地は悪くない。というか、うちの古いノートよりは静かだけど、もうちょっと新しい方のアイソレーションタイプのキーボードよりはちょっと音がする感じ。なんか、ちょうどいい高さの机がないから試し足りない気もしつつ、、、。

パームレストがついているので、その薄さとも相まって、机に置いた手をあまり浮かせずに自然に使えるようになっていると思う。ただ、このソフトな感じのパームレスト、使っているうちにはがれてこないかちょっと不安だなぁ。はてさて。あ、質感の話が出たのでついでに書いておくと、このキーボード、艶消し加工がしてあるっぽくて、見た目とは違って指紋が目立つようなことはない。

イルミネーションについては、まぁ、家で使うには便利なんだろうね。ただし、職場では基本的に不要、なはず。節電でどうなるかわからんけどね。まぁ、役には立たないでしょう。周りが薄暗い中ではすごくいいと思うんだけど、、、。って、よく見たら、半角/全角キーとかNUMLOCKキーとかが半端な光り方な気がする。

キー配列を見て気になった点が一つ。
バックスラッシュとパイプ| のキーが小さい!
毎日しょうもないシェルスクリプトやワンライナーを書いている(た)身としては、これはちょっとつらいのかも。正直キー配列はHHKBの方がいいかもしれない。これからはコード書きの方面になるのか文書書きの方面になるのかよくわからないが、使わなくなるかもしれないしね、っていうか、使わなくなったらいいなぁ、、、。

一番手前のスペースバーやCTRL、ウィンドウズキーなどがちょっと盛り上がっている。これはワープロで漢字変換するときにすぐ変換できるようになっているし、手元のCTRLキーが叩きやすいかも。ゴミのようなFnキーはあまり使わない右下についているのはよさげ。SHIFTとCTRLって、そういや左しか使わないような気がするし。INSERTキーが普通には押そうとも思わない場所についているのはよい。

かな刻印がないので、ローマ字打ちな自分としてはすっきりしていてよい。っていうかそれはイルミネートな部分をちゃんとカッコよく見せるため、ですよね〜。なんか、ノートでのブログ更新になれたら、矢印キーが遠いな。

あ、コンテキストメニューを開くキーがFn+PRINTSCREENに割り当てられてる、、、ひらがな/カタカナキーよりこっちの方が使うんだよ、、、、。

で、まぁ、なんだかんだいってキーボードはキーボードで、ただの道具だしね。結局、あまりとがったキーボードだとそれしか使えないのに販売してない、っていう状態になってしまいそうなので、あまりモノに思い入れを入れるのはよくないんだろうなぁ、と思いつつ。

1時間叩いてみて、100点満点中70点くらいかな。あまりうるさくないのはいいと思う。これから毎日叩いてみて、たぶんなれればもっと評価があがるでしょう。たぶん。

==

一日使ってみて、、、。

バックライト液晶わりといい! はっきり言って蛍光灯の下ではほとんど意味ないけど、節電モードの暗いオフィスでははっきりと明るくなっている!というわけでカッコよく使えるのがよい!

で、気になったのは、その重さのせいか、机の上であちこち動かしにくい。前のプラスチックの安いキーボードはあちこち動かして、メモ書きしたり本読んだりしながら使っていることがあったけど、なかなか動かせないことに気付いた。まぁでもなれればそれでもあちこち動かして使うんでしょう。

いろいろ文句を言ったキー配列は、実際はあまり気にならなかったかなぁ。一日しか使っていないというのもあるけど。

ってか、capslock(というより英数)キーって、半角アルファベット入力するときに使えたのね、、、。
半角/全角キー使わなくていいのか、、、。

で、肝心の叩きやすさは、うーん、どうだろ。すでになじんでいる気がするし、前のキーボードがどんな感じかすでに覚えていないけど、ストレス無く使えていると思う。静かなのは確か。

100点満点中85点くらいにはなったかも。

==
ついでに、キーボード切替器(KVMスイッチ)とも相性がいいです。
切替の瞬間バックライトが消えますが、キーボードが認識されるとバックライトがつくので気がつきます。
これは想定していなかったけれどもうれしかった点。切替器が安物だからか??

==
この製品の後継機種はこちらです。