ももらぼっ!にっき


2003年05月30日 [長年日記]

_ 42件騒動・・・から始まった、オープンソースの定義と思想のこと。

なんかそこらじゅうで話題になっているので*1、(OSIの定義によると)オープンソースらしきものを公開しているらしい私もちょっと一言。

論点となっているのは

我々フリーソフトウェア開発者が個々のユーザから対価をもらわず日夜開発を行っているのは、自らの思想の実践であり、ソフトウェアの自由を実現するためである。

の一文だと思うんだけど、私が気になるのは次の二点。一つ目が「我々」って言葉で世の開発者さんたちの開発動機はこれだよ!って決め付けてしまっているように感じてしまう事。まぁ、その動機自身を決め付けてるわけじゃないんだけど、どんなことであれ「あんたはこうだよ!」って決め付けられるのは好ましくないと思う人がいるのは事実だろう。んで、二つ目が「自らの思想」って言葉の持つ重厚なイメージにある。まぁ、めちゃくちゃ主観なんだが、「思想」って言葉ってなんだか「確固たる思い」を表してるように感じる。まぁ哲学用語っぽいところがあるわけだし、同じ思いを持つ人って結構いるんじゃないかな?・・・これまた主観なんだけど。そんなわけで、私みたいに「『ソース欲しい』って言う人がいるからソースも公開しちゃいました。まーいーや。とりあえず、好き勝手にしちゃっておくれ」ぐらいの、周りに流されてなんとなく・・・なんて感じで結果的にオープンソースらしきものに手を染めちゃってるような人もいるわけで、そんな状態なのに「自らの思想」云々言われてしまうとなんだかこそばゆくてしかたない。

・・・あ゛〜。なんか言葉尻だけ捕まえてアレコレ言っているだけのような気がしてならない。書いてある言葉を単純に捉えてしまうと、こんな思いを持ってしまって、なんだか違和感を感じる人(私含む)がいるってことで。*2

*1 とは言っても、私ゃMatzにっきで知っただけだが

*2 ・・・やっぱり、こーゆー文章は慣れない。うまく書けない。感じた事の半分も書けてないような気がする(T-T)

_ やっぱ、Rubyでしょう。

現実逃避作業結果。

require 'getopts'
  
if ARGV.size == 3
	re = Regexp.new(ARGV.shift)
	x = ARGV.shift.to_f
	y = ARGV.shift.to_f
else
	usage =<<-USAGE
		書式: #{$0} [条件] [Xの増分] [Yの増分]
		  [条件]    : この条件にマッチする行の一つ前の行を対照とします。
		  [Xの増分] : Xの増える値を指定します。マイナス入力OK。
		  [Yの増分] : Yの増える値を指定します。マイナス入力OK。
		概要:
		  標準入力の内容を変換して、標準出力に出力します。
		  適当にパイプでつなげてください。
		例:
		  #{$0} ^G101 -1 0 < test.txt > test2.txt
		    test.txtの内容からG101の一行前のXを-1してtest2.txtに出力します。
		  #{$0} ^G101 0 +1 < test.txt > test2.txt
		    test.txtの内容からG101の一行前のYを+1してtest2.txtに出力します。
	USAGE
	STDERR.print usage.gsub(/^\t+/, '')
	exit 1
end
  
def change_line(data, x, y)
	id, d_x, d_y = data.scan(/^(.*)X(\d{3}\.\d{3})Y(\d{3}\.\d{3})$/).flatten
	d_x = d_x.to_f + x unless d_x.nil?
	d_y = d_y.to_f + y unless d_y.nil?
	return "#{id}X#{d_x}Y#{d_y}\n"
end
  
prev = ARGF.gets
ARGF.each do |line|
	if line =~ re
		print change_line(prev, x, y)
	else
		print prev
	end
	prev = line
end
print prev

_ [Tips] Procmailメモ。

今後よく使いそうなので、Procmailの紹介とレシピの書き方のサイトをメモしておく。

_ [Tips] VBで英数字のみかどうかチェックする。

よく忘れるので覚書として。

Public Function IsAlphaNum(ByVal Expression As String) As Boolean
  IsAlphaNum = Not (Expression Like "*[!a-zA-Z0-9]*")
End Function
本日のツッコミ(全3件) [ツッコミを入れる]
_ 藤代千尋 (2003年05月30日 18:56)

私も某所で現実逃避を。(^^;

_ 藤代千尋 (2003年05月30日 18:58)

でも、SAS の処理が 10 分も 20 分もかかる方が悪い(笑)。※逃避→矢印

_ 藤代千尋 (2003年05月30日 21:04)

Not (x Like "*[!a- ... その書き方は知らなかった。(@o@) φ(.. )