<< 2003/09/ 1 2 3 4 5 6 7 8 9 10 1. TCOの話
2. tDiary のリンク元って
3. tree コマンド
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
トップ «前の日(09-09) 最新 次の日(09-11)» 追記

2003-09-10

_ TCOの話

一部は的確だけど一部はぼかしてあるなぁ。時間と手間を掛けてトレーニングした技術者なら「訳分かってないけどとりあえずパッチ当てとく」なんてことはないはずなのに、そのパッチ当てすら、自動化・簡略化されたら「自分では何も考えることができない担当」ってのが増えちゃうわけで、TCO は削れるかもしれないけど、状況としては今よりさらに危機的、ということにならんかえ?

教育にはコストが掛かるけど、教育の重要性を隠しちゃうのはどうかなぁ。

Tags: ことば Biz

_ tDiary のリンク元って

非表示設定じゃなくて記録除外設定なのね。すでに記録されちゃったものは元ファイルを直接修正しないと無理だと。うむ。

Tags: Web Tool

_ tree コマンド

こんなものが。DOS 独自のものかと思ったら RedHat に入ってました。Debian も FreeBSD もパッケージがある。cygwin にはないけど、2000 にも tree.com がある。なんか、あれこれフリーソフト探したりしたことあるけど、全然必要なかったんじゃん。

Tags: Tool

2004-09-10

_ tdiarygrep 追加

msearch の精度の低さで放置していた日記内検索は結局 tdiarygrep にした。これは日記データに直接 grep を掛けるので負荷が高く遅いのであまりやりたくなかったんだけど、検索できない日記なんて不便でしゃあないと実はずっと前から思っていたのでこれにした。設置が楽なのが何より強み。

ちなみに今回入れたのはオリジナルの方。これで Google が拾ってくれなくても検索できる。よしよし。

Tags: Web Ruby

_ FreeBSD で自分に必要な update だけを知る

方法が分からない。ただ、作る方法はあるなぁと思っている。

  1. pkg_db と ports skelton の distinfo を比較して skelton の方が新しいやつをリストアップ
  2. pkg_db と FreshPorts を比較して、FreshPorts に新しい情報が出ているやつをリストアップ
    • どこまで戻るかがあれだけど。手元の skelton より新しい日付は全部さらうってのもアリだな。
  3. pkg_db と CVSWEB と比較するのは面倒そうなのでやりたくない

ほんとは portupgrade でできるような気がしないでもないんだけど、man をざっと見た限りはそんな機能なさそう。

みんなこういうのまったく必要に感じないのかな? 誰か作ってくんないかなぁ。local で閉じる場合は以下のような感じ?

  • /var/db/pkg 内の directory 名をさらって
  • バージョン番号と package の名前を分割してハッシュにする
  • 名前で whereis を掛けると skelton の位置が分かる
  • distinfo を読んでバージョンを比較
  • 食い違ってるやつを出力

と思ったら

portupgrade -an

でいいっぽいぞ。何やってんだ、おれ。

あー。すごい重い。しゃーないっちゃしゃーないけど。なんか全部 Makefile なめてるし。やっぱもっと pkgdb と distinfo だけをうまく使った方法があってもいいような気がするな。

Tags: Unix Tool

_ portupgrade -an の結果を整形

重たいのは承知のうえで富豪手抜きアプローチ。こんな感じで。

#! /usr/bin/env ruby
# -*- ruby -*-

print "Have you executed CVSUP recently ?\n"
print "Please wait for a while. Take coffee break ;-)\n"

needupgrade = Hash.new()

cmd = open( '| sudo portupgrade -an 2>&1' )
while line = cmd.gets
  if ( line =~ /Upgrading '(.*)' to '(.*)'/ )
    needupgrade.store( $1, $2 )
  end
end
cmd.close()

if ( needupgrade.size > 0 )
  maxlength = 0
  needupgrade.keys.each { |string|
    if ( string.length > maxlength )
      maxlength = string.length
    end
  }

  needupgrade.keys.sort.each { |pkg|
    printf( "%-*s --> %s\n", maxlength, pkg, needupgrade[pkg] )
  }
else
  print "All ports are up-to-date ! Congratulation !\n"
end

STDERR をリダイレクトしてるのは no need な upgrade の情報が STDERR に出ちゃうのでそれをカットするため。

これでインストール済みの ports のうち、アップデートがあるものをリストアップできる。もちろん cvsup はしてないとダメだし、pkgdb が矛盾してて portupgrade の出力が途中で止まった場合のことは考慮してません。

名づけて listupgrade かな?

Tags: Unix Ruby

_ るびま創刊

イマドキ、という感じがしないでもない Web Magazine が創刊されました。

Rubyist Magazine

日本 Ruby の会責任編集。Code Reading 読んでみるかなぁとか、なんだかんだ影響受けてたりしますが。

Tags: Ruby

2006-09-10

_ screen の multiuser mode を1台のマシン上で1人で実験する

前にも一度だけやってみたことはあったんだけど、そのときは「おぉすげぇ」と思っただけで使いたいとは思わなかった。今回は真面目に使いたいと思ったのでメモ。

まず、screen の multiuser mode はユーザーが1人だけでも利用できるため、ちょっと混乱する。先に言っておくが、ユーザーが自分1人の場合は

screen -x は multiuser mode でなくても成功する

のでこの結果では判断しちゃいけない。ただ、何かの拍子に機械を変わる必要があり、いちいち detach しなくても作業を続けられるというメリットはあるのでこの使い方自体を否定する気はない。しかしあくまで multiuser じゃないのでそこんとこよろしく。

で、multiuser mode の実験になるわけだが、必要な作業は以下の通り。

  1. screen バイナリに setuid root ( man chmod )
  2. 別なユーザーでログインする
  3. screen の session を作成し、それに対し
コマンド 意味
multiuser on絶対に必要
acladd USERこれやっとかないと detach できない
aclchg USER PERMISSION WINDOW特定のユーザーに特定の window 上で特定の操作を許可する

と言ったコマンドを実行すると自分の利用している screen session に別のユーザーが attach してこれるようになる。attach するには

screen -x -r username/pid

とする。screen -S で name が設定されている場合はそれでもよい。detach は通常通り detach すれば ok.

別なユーザーでログインすることの意味

1人で実験の際に意外とハマるのは上の 2 に挙げた別なユーザーでログインするというところ。これ、su ではダメ。もっと言うとそのユーザーの tty が作成されてないとダメ。ということで login する。

これをクリアすればもう大丈夫。

acladd, aclchg 辺りの挙動がなんか変

しかしまだ自分の中には疑問があって、

  • acladd すると aclchg しなくてもいきなりフルコントロールできちゃうので、これは一種のセキュリティホールじゃないのか?
  • acladd しなくても aclchg しただけで attach は可能なので余計な作業をしてほしくない(例えば見せたいだけの)場合は先に aclchg した方がよさげ。
  • でもその場合も acladd しておかないと detach できない
    • で、acladd したときにやっぱり全権限が付与されちゃう予感

なんか、acladd と aclchg の動きがおかしいような。確認したのは screen 3.09.15 @ OSX なので、最近のバージョンでは挙動が変わってるかもしれない。

※ 設定も環境も元の session を作ったユーザーのものに従うっぽい。escape とか違ってると detach できなくて焦るので multiuser での作業はすぐに情報を伝達できる準備(irc とか Skype とか口頭でとか)をしてからやっとかないと混乱するかも。

Tags: Screen

2007-09-10

_ IEのドメイン当たりクッキー数の上限が20から50に増えるらしい

Internet Explorer で、ドメインあたりの Cookie の数の制限が 20 から 50 に増加する

RFC 的には user agent は最低 20 扱えるようにしろ、と書かれているだけで上限はないっぽい?

RFC 2965 HTTP State Management Mechanism

によると、

Applications should use as few and as small cookies as possible, and they should cope gracefully with the loss of a cookie.

ではあるけれども、

忍者 TOOLS の悪行 - にぽたん研究所

で挙げられている Client Side State - HTTP Cookies に書かれている

Servers should not expect clients to be able to exceed these limits.

という記述を見つけることができないなぁ。なんか見落としてますか?

※ いずれにせよ最小限で済ませましょうよというのは間違いないんだけど。

Tags: Web IE

_ もやもやしたものがありますねぇ

そもそも MacOSX のファイル名は UTF-8 で取れるけど UTF-16 で保存されてるんじゃないのかとか思ったりもしますが、ウノウさんには番長名乗ってるテスタも居るわけで、スルーしちゃってるってことはですよ、これは要するにテスト項目として MacOSX のファイル名問題が全然上がっていなかったということを意味しませんか。ちょっとそれはどうなんだろう。

フォト蔵使ってないんで分からないんですけど、Mac での動作を保証しないアップローダというかファイル転送サービスは多いですよ。1ユーザーとしては諦めがついてるんで気にしてないですが。

まぁ今回も保証外ですで済まそうと思えば済ませる問題をそうしなかったという点は評価できるんですけどね。

Tags: OSX Web

2008-09-10

_ github は git 1.4.x では使えないみたい

イントラで yapra を使いたくて git clone しようと思ったんだけど、404 で止まる。使ったのは Debian etch の git 1.4.4. 探すと同じようにハマった人が居て、やはり backports から入れて解決したようだ。

github - /var/log/messages

でもこういう情報はちゃんと表に出さないとダメだろうとカッとなってあちこち調べまくった。1.5 以上でしか github は使えませんというならそれはサイト上に書かれているべきだろうと思って探したがそもそも github には help がない。

Twitter / Keiji Yoshimi: @wtnabe guide? http://githu...

Home ― GitHub Guides ― GitHub

Guides というページを教えてもらったけどなんでこれトップページとかヘッダのメニューにリンクないの。そしてやはり欲しい情報はないっぽい。

さらにカッとなって git の release note を漁ると、こんな記述を発見。

The above two new features are not enabled by default and you have to explicitly ask for them, because they make repositories unreadable by older versions of git, and in v1.5.0 we still do not enable them by default for the same reason. We will change this default probably 1 year after 1.4.2's release, when it is reasonable to expect everybody to have new enough version of git.

from http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.0.txt

1.5.0 ならではの新しい機能を有効にすると古いバージョンからそのリポジトリは使えなくなります、と。1.4.2 が出て 1年経ったらそのオプションをデフォルトにしますよ。

で、ログを漁ると

Public Git Hosting - git.git/log

1.4.2 のタグが打たれてすでに 2年。つまり 1.5 以降を使っているリポジトリには 1.4.x ではアクセスできなくて当然の状況だと。こういうことですな。

残念ながら github がどういう環境で動いているかまでは調べる気力がなかったので分かってないですけど、せめてそういう大事な情報はトップページかせめて 1 hop の位置に書いといてくれよと思った。

その後スッキリして backports から git 1.5.6 入れたよ :-( できるだけ stable のままで行きたい人だっているんだよ。

Tags: Git