コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2007年11月8日 >>> 2007年10月26日
link もっと後

2007年11月8日

そういえば

高校、中学のときには語呂合わせとか、替え歌に乗せて覚えたなあ。世界史の時間にアルプス一万尺の替え歌で、中国歴代国家なんてのを教えてもらったっけ。懐かしいなあ…。

人身事故?

踏切に人が倒れていたとかで、50分くらい電車が止まっていました。今日に限らずJR西日本は頻繁に遅れます。5〜6月には2週間に1回くらい遅れてました。

長距離運行の結果

Wikipedia曰く、JR西日本の路線は私鉄が併走している区間が多いので、より良いサービスを展開しようとしてかなり無理しているようです。確かに私鉄より速いし、列車も綺麗だし、一本で行ける距離が長いです。

じゃあ東と西はどのくらいロングランに差があるんでしょうか?ってことで、まずはJR東日本の路線長(出典Wikipedia)です。都心を突っ切るタイプを挙げておきます。

  • 埼京線(大崎 <-> 川越: 52.2キロ)
  • 京浜東北線(大宮 <-> 横浜: 59.1キロ)
  • 根岸線(横浜 <-> 大船: 22.1キロ)
  • 中央線(東京 <-> 高尾: 53.1キロ)

以上が都内を突っ切る長い路線です。中でも京浜東北線(直通根岸線)が長いかな?両者を足すと80キロくらいです。大船って遠いんだなあ…。

対するJR西日本はかなり長い距離を走ってきます。普通列車の西明石 <-> 京都ですとほぼ100キロですね。

  • JR神戸線(西明石 <-> 大阪: 55.9キロ)
  • JR京都線(大阪 <-> 京都: 42.8キロ)

しかしJR西日本にはもう一つ、新快速という編成があります。調べてみると、姫路 <-> 敦賀といった特急顔負けのロングランです。以下、始発から終点までのキロ数を計算してみました。

姫路 <- 東海道本線経由 -> 敦賀: 244.3キロ
JR山陽本線(姫路 <-> 神戸: 54.8キロ)
JR神戸線(神戸 <-> 大阪: 33.1キロ)
JR京都線(大阪 <-> 京都: 42.8キロ)
JR琵琶湖線(京都 <-> 米原: 67.7キロ)
JR北陸本線(米原 <-> 敦賀: 45.9キロ)
姫路 <-> 近江塩津: 229.8キロ
JR山陽本線(姫路 <-> 神戸: 54.8キロ)
JR神戸線(神戸 <-> 大阪: 33.1キロ)
JR京都線(大阪 <-> 京都: 42.8キロ)
JR琵琶湖線(京都 <-> 米原: 67.7キロ)
JR北陸本線(米原 <-> 近江塩津: 31.4キロ)
姫路 <- 湖西線経由 -> 敦賀: 224.8キロ
JR山陽本線(姫路 <-> 神戸: 54.8キロ)
JR神戸線(神戸 <-> 大阪: 33.1キロ)
JR京都線(大阪 <-> 京都: 42.8キロ)
JR東海道本線(京都 <-> 山科: 5.5キロ)
JR湖西線(山科 <-> 近江塩津: 74.1キロ)
JR北陸本線(近江塩津 <-> 網干: 14.5キロ)
網干 <-> 長浜: 216.4キロ
JR山陽本線(網干 <-> 神戸: 65.1キロ)
JR神戸線(神戸 <-> 大阪: 33.1キロ)
JR京都線(大阪 <-> 京都: 42.8キロ)
JR琵琶湖線(京都 <-> 米原: 67.7キロ)
JR北陸本線(米原 <-> 長浜: 7.7キロ)
姫路 <-> 長浜: 206.1キロ
JR山陽本線(姫路 <-> 神戸: 54.8キロ)
JR神戸線(神戸 <-> 大阪: 33.1キロ)
JR京都線(大阪 <-> 京都: 42.8キロ)
JR琵琶湖線(京都 <-> 米原: 67.7キロ)
JR北陸本線(米原 <-> 長浜: 7.7キロ)
播州赤穂 <-> 野洲: 191.6キロ
JR赤穂線(播州赤穂 <-> 相生: 10.5キロ)
JR山陽本線(相生 <-> 神戸: 75.5キロ)
JR神戸線(神戸 <-> 大阪: 33.1キロ)
JR京都線(大阪 <-> 京都: 42.8キロ)
JR琵琶湖線(京都 <-> 野洲: 29.7キロ)
姫路 <-> 野洲: 160.4キロ
JR山陽本線(姫路 <-> 神戸: 54.8キロ)
JR神戸線(神戸 <-> 大阪: 33.1キロ)
JR京都線(大阪 <-> 京都: 42.8キロ)
JR琵琶湖線(京都 <-> 野洲: 29.7キロ)

最優先のくせに長距離だから、遅れると他の列車に多大な影響を及ぼすんですね。こんなのが1時間に4本も走ってるんだから、時間通りに来る方が奇跡なのかもしれない。今後10分くらいは遅れても温かい目で見守ろうと思います。

編集者:すずき(2007/11/09 22:00)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年11月7日

十分は厳しい

高校の数学で習った「必要条件、十分条件」って覚えてますか?
x = 0はxy = 0の何条件か?
という奴です。いきなり言われても、ん、どっちがどれだっけ?ってなりますね。

ネットに丁寧な解説がたくさんありますが、自分はこのサイトでわりとすんなり理解できました。「十分から必要に流れる」という覚え方は良いね。

そして必要十分条件を誤解していた事もわかりました。語感からか厳しさの順が「必要十分>十分>必要」と感じるのでしょう、世の中では必要十分が間違って使われまくりですね。人のことは言えませんけどね。

上記サイトのベン図を見れば厳しさの順(つまり条件の狭さ)が「十分>必要十分>必要」ってことが分かると思います。既におわかりのことと思いますが、冒頭の問題は「十分条件」です。

編集者:すずき(2007/11/08 22:14)

コメント一覧

  • hdkさん(2007/11/08 23:53)
    不等号でかくと十分のほうが大きい感じがして、その不等号の向きがそのまま、A ならば B の記号になるという感じで覚えました。そのおかげで今でもすぐわかったよ! まあ「必要条件」はそのまま理解しようと思えばできなくもないですが。(x=0 が xy=0 に「必要」ではないですよね。) 十分のほうはわからんなぁ。
  • すずきさん(2007/11/09 19:55)
    ああーなるほど、不等号の向きって覚え方もありですね。
    不等号とベン図の広さは逆になってしまいますけど、そもそも必要十分をベン図で考たことなかったの気にならないっすね…。
open/close この記事にコメントする



2007年11月6日

screen

今更ですがscreenを使い始めました。Windowsのタスクバーが仮想ターミナル5〜6個で埋まる(グループ化は嫌い)のも、それはそれで一興なんですけど。screenは研究室に居たときに hdk氏が絶賛していたというか、氏の一部となっていましたね。

早速使ってみると、特殊なことをしなくてもスクロールして履歴を検索して、コピーペーストできたりしてナイスです。Ctrl+Aが押しづらくて、bashと被ってるのがイライラします。早いところ変えなきゃ…と思いつつ変えてません。今はプログラム書いたりしていないので、それほど必要ないのです。

しかも使ってるサーバが毎日シャットダウンされるので、attach/detachというscreenの本領が発揮できません。使い始める時期も場所も間違えた気がする…。いつか引っ越して自宅鯖を復活させるまでは、練習しとくか。

編集者:すずき(2007/11/08 21:51)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年11月5日

全て記録される

会社でネットを見ているときに変なリンクをクリックすると、プロキシが検知して、業務に関係ないページは見んな、みたいなメッセージが出ます。ご丁寧にもシステムが「こいつ仕事してませんよ!」って上司にチクってくれるそうです。全自動でね。

どうせ仕事しない奴は何言ったって仕事しないんだから、ネット封鎖なんて意味がないような…。ま、それはさておき、プロキシの運用ポリシーは普通で、HTTP, FTP, HTTPSが通ります。大抵は正常に動いてますが、突然白紙のページを返したりしてくるお茶目さんなときもあります。過負荷かしら?

今は亡き

プロキシからのHTTPレスポンスを見て、どこの製品か見当付けたは良いものの、去年辺りに他社に売却されたらしくて情報がありません。そんな素敵なシステムを一体いくらで売りつけられ売ってくださっているのか知りたかったんですけど…残念ねえ。

編集者:すずき(2007/11/08 21:25)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年11月4日

奈良

奈良に行って唐招提寺の金堂(修理中)を見てきました。触れるくらい目の前に屋根瓦があるのはなんとも不思議な気分です。

行きは迷いました。名神高速 -> 近畿道 -> 第二阪奈道という道順のはずが、なぜか神戸の三宮に居ました。関西の高速道路は意味が分からん。

帰りも迷いました。R24 -> R163 -> R170のはずが、突然コースアウトしていて県道16号に入っていました。関西の下道は意味が分からん…。

関東では旅行先でもなければこんなに迷わなかったが、関西だと近所でなぜこんなに迷うのか。地図もあったし、4人も居たのに…。

複雑かつ不親切

帰り道、迷う理由を考えていたら、R170からコースアウトしたわけですが、そこで一つ気がつきました。青看板が出現するタイミングが非常に遅いのです。

大抵の道では、分岐する地点の真上に看板があり、看板が見えたらもう手遅れです。本来行くはずだった道を悲しく見送るだけしかできません。

そして本日走ったR170はさらに上の作りでして、陸橋に完全に乗った後に「陸橋の下に」看板が出ます(※)。
「正解は『陸橋の手前で左に降りて、右折。』でした。残念っ…!」ってか。
道案内はクイズじゃねーぞ、いい加減にしろこの野郎が。

まあ、半分冗談で半分本気です。

(※)実は手前にも青看板はあるんですが「陸橋から左に抜けて、その後右折」なんて情報は読み取れません。無理言うな。

編集者:すずき(2007/11/06 20:15)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年11月3日

.NET 1.1の亡霊

何度インストールしてもまたインストールしろと言われるKB928366(Microsoft .NET Framework, Version 1.1 Service Pack 1用セキュリティ更新プログラム)ですが、やっと黙らせることができました。

まずは Windows Installer Clean Up というツールをインストールして、起動します。


Windows Installer Clean Up

こんな画面が出ますので、.NET 1.1と名の付く項目を全部removeします。そのあと、.NET 1.1と .NET 1.1 SP1をインストールしてから、Microsoft UpdateでKB928366をインストールすると成功しました。

にしてもMicrosoft Updateはトラブルが多い。何でもかんでも一カ所でアップデートできるようにしたせいでしょうか。人ごとながらMSも検証大変そうだなあと思う…。

編集者:すずき(2023/07/11 15:46)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年11月2日

どうせやるならとことんやろう

今日はコードを2つ紹介(出典: ハッカーのたのしみ, Henry S. Warren, Jr., 滝沢ら訳)しますがどれもメチャクチャわかりづらいです。どちらも可読性なんかかなぐり捨ててとにかく効率を追った、ある意味潔いコードです。GNU netcatも中途半端に読みづらい変なコードを書くくらいなら、このくらいやって欲しかったなあ。

本についてですけど、前半はまだわかる気がしますが、後半はあまりにも頑張りすぎていて全然わからんです…。こういうコードを読んでいると、根性っていうか、ハッカー達の職人魂みたいなものを感じますよ。

ビット計算は奥は深い

さて1になっているビットを数える処理ですが、比較的わかりやすいコードを一つ例にとってみようと思います。


unsigned int x;
int count;

x = (x & 0x55555555) + ((x >>  1) & 0x55555555);
x = (x & 0x33333333) + ((x >>  2) & 0x33333333);
x = (x & 0x0f0f0f0f) + ((x >>  4) & 0x0f0f0f0f);
x = (x & 0x00ff00ff) + ((x >>  8) & 0x00ff00ff);
x = (x & 0x0000ffff) + ((x >> 16) & 0x0000ffff);

count = x;

以上は32ビット用のコードです。ぱっと見だと、なんじゃこりゃ?って感じですね。このコードでは隣り合う桁を足していきます。最初は隣の1桁、次は2桁、次は4桁という風に倍々ゲームにしていきます。
では8ビットで検証してみます。

 x           = [   1][   0][   1][   1][   0][   1][   0][   0]
 1ビット毎の :     1,    0,    1,    1,    0,    1,    0,    0
 1の個数    :

 x           = [   1][   0][   1][   1][   0][   1][   0][   0]
 x>>1        =       [   1][   0][   1][   1][   0][   1][   0][   0]
 0x55        = [   0][   1][   0][   1][   0][   1][   0][   1]
 
 x&0x55      = [   0][   0][   0][   1][   0][   1][   0][   0]
 (x>>1)&0x55 =       [   1][   0][   1][   0][   0][   0][   0][   0]
 x           = [   0     1][   1     0][   0     1][   0     0]
 2ビット毎の :   1 + 0 = 1,  1 + 1 = 2,  0 + 1 = 1,  0 + 0 = 0
 1の個数    :

 x           = [   0     1][   1     0][   0     1][   0     0]
 x>>2        =             [   0     1][   1     0][   0     1][   0     0]
 0x33        = [   0][   0][   1][   1][   0][   0][   1][   1]

 x&0x33      = [   0     0][   1     0][   0     0][   0     0]
 (x>>2)&0x33 =             [   0     1][   0     0][   0     1][   0     0]
 x           = [   0     0     1     1][   0     0     0     1]
 4ビット毎の :               1 + 2 = 3,              1 + 0 = 1
 1の個数    :

 x           = [   0     0     1     1][   0     0     0     1]
 x>>4        =                         [   0     0     1     1][   0     0     0     1]
 0x0f        = [   0][   0][   0][   0][   1][   1][   1][   1]

 x&0x0f      = [   0     0     0     0][   0     0     0     1]
 (x>>4)&0x0f =                         [   0     0     1     1][   0     0     0     1]
 x           = [   0     0     0     0     0     1     0     0]
 8ビット毎の :                                       3 + 1 = 4
 1の個数    :
よってxには1が4つ含まれていた。

このように検証してみますと、1の数を倍々でまとめていって最後にはxの右端にビットの個数が集約されて計算されることが分かります。凄いんですけど、なんともトリッキーですねえ。

もう一つ似たようなコードで、パリティを求める処理が書けます。単純にパリティを求めるならば、全てのビットのxorを取れば良いのですが、この本では以下のように書きます。


unsigned int x, y;
int parity;

y = x ^ (x >> 1);
y = y ^ (y >> 2);
y = y ^ (y >> 4);
y = y ^ (y >> 8);
y = y ^ (y >> 16);

parity = y & 1;

以上は32ビット用のコードです。やはりこれもぱっと見では、なんじゃこりゃ?って感じです。これも2進数の1桁分, 2桁分, 4桁分…とxorを取っていって最後に32桁分のxorがyの右端に来るという仕掛けです。
では8ビットでの計算の結果をご覧下さい。

 x    = [   7][   6][   5][   4][   3][   2](   1)(   0)
                                                `-----| xor
 x>>1 =       [   7][   6][   5][   4][   3][   2](   1)[   0]
 
 y    = [   7][ 7,6][ 6,5][ 5,4][ 4,3]( 3,2)[ 2,1]( 1,0)
                                          `-----------| xor
 y>>2 =             [   7][ 7,6][ 6,5][ 5,4][ 4,3]( 3,2)[ 2,1][ 1,0]
 
 y    = [   7][ 7,6][ 7-5]( 7-4)[ 6-3][ 5-2][ 4-1]( 3-0)
                              `-----------------------| xor
 y>>4 =                         [   7][ 7,6][ 7-5]( 7-4)[ 6-3][ 5-2][ 4-1][ 3-0]
 
 y    = [   7][ 7,6][ 7-5][ 7-4][ 7-3][ 7-2][ 7-1]( 7-0)
                                                  ~~~~~~

このように検証してみますと、うまく各桁が一回ずつxorされるようにずらしながら計算していることがわかります。最後に yの右端に全てのビットのxorが計算されているのが見事ですね。

今時トリッキーなコードは嫌われる

現在はコンピュータが十分高速化していて、ソフトウェアの規模も大きくなっているため、速度より保守性を重視します。要は遅くて良いから誰もが読める普通のコードが求められます。どんなに速くても誰も理解できないトリッキーなコードは歓迎されません。

ただしそれは商業サーバー用のプログラムとかPC用のプログラムでの話。もっと特殊な分野、例えば究極の速度を求める超高性能計算(計算用のライブラリとか)や、ハードがショボショボな組み込み機器などは、無駄に使えるCPUやメモリがありません。というわけで、まだまだトリッキーなコードも出番があるんじゃないかなあ?

編集者:すずき(2007/11/06 20:17)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年11月1日

もー!変なことするからこんがらがるんだよ!

GNU netcat 0.7.1(※)でポートのlistenはできるのに、別のホストにconnectしようすると無視されてしまいます。PCでコンパイルすると動くので、環境依存かなあ?と思ってprintfデバッグしていたら、複雑といえば複雑だけどしょうもない問題だったことに気づいてがっくり…。

以下はflagset.cの135行目あたりにあるint netcat_flag_count(void) という関数内の処理です。


char c;
int ret = 0;

while (c) {
  ret -= (c >> 7);
  c <<= 1;
}

この処理はcの中の1になっているビットを数える処理です。retには1だったビットの数が格納されます。例えばc = 3だったらret = 2です。

ぱっと見ret -= とマイナスするの部分が奇妙に見えます。理由としてはcの最上位ビットが1(つまりマイナスの値)ならば、c >> 7としたときに符号が維持されたままシフトされ、-1になるためです。もし最上位ビットが1でなければc >> 7は0になります。つまりc >> 7は -1 or 0になるので、ret -= で符号を反転させて足してあげています。
極めてわかりづらいです。なんでこんなことするんでしょうか。

それはさておき、このコードの何が問題かというと、char = signed charだと決めつけていることです。世の中にはchar = unsigned charとするコンパイラもあります。というか実際、そういうコンパイラが目の前にあります。しかし大抵の人がchar = signed charだと思っていることを踏まえると、char = unsigned charという設計は避けるべきだと思います。
このコンパイラを作った人は意地悪というか…ちょっとひねくれてたんでしょうね。

C言語ではcharがsigned charであるという決まりも、そもそも8ビットであるという決まりすらないので、こういうコードを書くと変な環境に持って行ったときにはまります。え、変な環境を作る方が悪い?ま、それも一理あります。

ちなみにunsiged charのときは、c >> 7の計算で符号拡張されませんので、c >> 7が -1 or 0になって欲しいはずが1 or 0になってしまい、retが減算されてしまいます。すると正負が逆になってしまって、結果netcatは引数がねーよ、と判断してしまうわけです。こんなことになるくらいならいっそsigned charなんて使わずにunsigned charを使った処理の方が感覚的にわかりやすいと思うのは私だけでしょうか?
GNUの中の人も変わってるわねえ。

まとめるとGNU netcatはchar = signed charと仮定した処理が入っていたので、char = unsigned charの環境に持って行くとおかしくなりますよ、って話でした。

それにしてもコンパイラ作者、GNUの中の人と、世の中にはひねくれ者が多いですなあ…。プログラムに限らず何事をやるにしても変な思いこみをしないように気をつけたいものです。

(※)FreeBSDやDebian GNU/Linuxは違うnetcatを使っているようです。GNU netcatを採用しているディストリビューションは少ないと思われます。

編集者:すずき(2007/11/02 19:21)

コメント一覧

  • hdkさん(2007/11/02 21:05)
    むかし使ってた LSI C-86 試食版も unsigned でしたね。SJIS を扱うには好都合でした。そのプログラムは... 自分でかくと &1 と >>=1 で書きそうだ。(当然 unsigned じゃないとおかしくなりますねw) x86 アセンブリで書くとキャリーフラグを使ってコンパクトにかけます。
  • すずきさん(2007/11/02 23:19)
    LSI C もかー。もしや DOS 時代って unsigned が普通?
    上記のプログラムですが、自分も書けと言われたら、素直に unsigned と、右シフト、(c & 1) で書きます。
    アセンブリかあ、x86 のことだから、一発でビット数える命令があってがっくり…なんてありそうですね。
  • hdkさん(2007/11/02 23:51)
    MS-C は違ったと思うけど... 忘れました。さすがに一発で数えるのはないですよね。8bit の 1 のビットが偶数個か奇数個かの判断ならパリティビットで一発ですが。普通に書けばこんな感じかなあ。
    xor eax,eax
    l1: shr cl,1
    jnc l2
    inc eax
    l2: jnz l1
  • すずきさん(2007/11/03 01:42)
    >ビット数える命令
    さすがの x86 にもないすか。
    >パリティ
    そういやそんなビットが flags の中にありましたねえ。ARM にもあるかなーと思ったけど、なかったです。
    x86 ってほとんど使わない機能が満載ですね…。
  • hdkさん(2007/11/04 14:01)
    縮めようとしたけど縮まらなかった... 32bit 版 (入力ecx,出力eax):
    sub eax,eax
    L1:
    stc
    adc ecx,ecx
    adc eax,0
    loop L1
  • すずきさん(2007/11/05 22:33)
    短くないけど、テスト対象の両端に近いビットだけが 1 だと速いコード。
    xor %%eax, %%eax
    bc_again:
    bsf %%ecx, %%edx
    jz bc_end
    btr %%edx, %%ecx
    adc $0, %%eax
    jmp bc_again
    bc_end:
    (入力 ecx, 出力 eax, 破壊 edx, 長さ 15byte)
  • すずきさん(2007/11/05 23:02)
    参考までに、hdk 氏の 1番目のは 9byte で、2番目のは 10byte でした。
open/close この記事にコメントする



2007年10月31日

脆いもんだ

朝出かけるときに靴を履こうとしたら、バシっと乾いた音がして靴べらがへし折れました。なぜ忙いでいるときに折れるのか…。


折れた靴べら

元々短かったんじゃないか?ってくらいに真っ二つに割れていますね。まあ、百均の安物だったんだけどさ、さすがに半年も持たないというのは短すぎやしないかなあ。

編集者:すずき(2007/11/01 22:52)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年10月30日

Google一押し

何気なくGoogle Mapsで「鳥取県」と検索したら、以下のような結果が出てきました。Googleからすると、鳥取の高速バスってのはそんな一押しなのか?


「鳥取県」の検索結果

他の県を片っ端から入力してみたのですが、検索結果が出てきたのは「青森県」だけで、他には一つも出てきません。「青森県」に何を求めたのか知りませんが、やたらたくさん登録されています。

ちなみに青森の検索結果は以下のようになっておりました。全国広しと言えども「青森県」の充実っぷりには敵いませんよ!


「青森県」の検索結果

Google Mapsの「お店やサービスを検索」で頻繁に指定された単語が出ているのでしょう。しかし「鳥取」と「高速バス」がそんな頻繁に指定されているかと考えると、かなり微妙だと思います。

恐らくこの機能の利用者が少なくてうまく抽出できていないか、この機能が正常に動作してないか…だと思うんですが。とにかく変ですよね。

編集者:すずき(2007/10/30 00:35)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年10月29日

一日の約半分は会社で出来ています

会社の話は書いちゃいけないし、日曜日の話を書いて埋めておこう。まだ今日が始まって2時間も経ってないですが、気にせず書いてしまいましょう。

いつも誰かに見られている気がする

榮樂君のお兄さんの日記を見ていたらコンビニの話をしていたので、コンビニ経験者としてはコメントせざるにはいられない。でも恐らくこっちのことなんか知らないだろうから「通りすがり」って名前でコメントしてみました。

さっき日記見てたら、丁寧にコメントの返事が書かれておりましたけど、よく考えたらいきなり知らん奴がコメントしてきてびっくりしたのではなかろうか?まあ、今更言っても遅いですけど…。

君は病んでいる

全く話は変わりますが、上の日記のタイトル「いつも誰かに〜」ってのは、筑波大学に入るときに「心が病んでませんかテスト」(名前忘れたんで勝手に命名)にあった質問です。

他にも「ときどき死にたくなる」とか「生活にやる気を感じない」みたいなストレートすぎる質問が満載で、不覚にも笑ってしまった記憶があります。ちなみに質問にいくつか○をつけると、ホケカンだか病院だかに連れて行かれると噂になっておりました。誰かやった人いるかなあ?

編集者:すずき(2007/10/29 01:53)

コメント一覧

  • mamaさん(2007/10/30 14:10)
    大昔に、私がやったときは(似たような別のテストだとおもうけど)○だらけにしたので、先生によばれました。
    だけど、ずっと人間やってたら、1回くらいは、だれでも死にたくなりませんか?
  • すずきさん(2007/10/31 20:22)
    うーん、そりゃ呼ばれますよね。
    落ち込むことはあるけれど、さすがに死にたいと思ったことはないなあ…。
open/close この記事にコメントする



2007年10月28日

私しか使っちゃダメなんだからね

以前Googleが検索するという意味で「ググる(google something)」と言わないでくれなんて声明を出していました。世論は、せっかくGoogleというブランド名が定着したのに、なぜ邪魔するの?Googleだって嬉しいくせに!!という意見が見受けられました。

しかし実際は全く逆でして、Googleは全く嬉しくありません。一般の単語にされるとむしろGoogleは迷惑なのです。これはGoogleという商標(登録 第4478963号、国際登録番号881006)が何のためにあるのかを考えるとわかります。

商標とは「商品やサービスを見分けるための標識を独占的に使用できる権利」です。Googleという商標が付いていれば「これはGoogle社が提供していて、他の何者でもない」、「Google社の提供する品質を持っている」という点が容易に理解できます。

その役目を果たすためには、Googleという標識はGoogle社しか使えないようにしなければなりません。もし無断で商標を使用する者がいれば、Google社はその会社を訴えて、使用をやめさせることができるのです。

有名になりすぎると損をする

商標は有名になってなんぼ(同様に自社の商品も有名であることを意味するから)ですが、あまりに広まりすぎて一般の単語と同様になってしまうと、商標が取り消されたり、期間を延期できなくなります(商標法 第46条、第47条)。これは商標法 第3条1.(※)の6. にある「需要者が何人かの業務に係る商品又は役務であることを認識することができない商標」に該当するため、でしょうか?ちょっと自信ないです。

例えば、全ての英語辞書に「google = (インターネットで)何かを検索する」という意味で載ったとすると、googleはsearchやfindと同様の普通の単語になってしまいます。つまり一般動詞になってしまったわけです。

一般動詞になれば、利用者がGoogleという単語を見ても「検索する」という意味しか浮かばず、Google社のサービスであることが認識できません。
「え、GoogleってGoogle社の提供するサービスなの?」
と言われるようでは、もはやGoogleという商標が、商標の役目を果たしていない状態と言えます。されば取り消されて当然と言えます。

お前だけ儲けたら面白くないんだよな

よくわからん、っつう人はGoogleを「検索」あるいはもっとわかりやすく「飴」に置き換えるとわかりやすいです。

「飴」という商標を許せば、「飴」を使えるのは世の中で一社だけになります。これは一般の単語の利用を禁止するのとほぼ同様です。「飴」だけならまだしも、他の会社も同様に一般単語を登録し始めれば、そのうち商品に使える一般単語はなくなってしまいます。

法律は社会の維持のためにあるものですから、上記のように社会のバランスを崩す状況に陥る状況を許しません。そのためには一般単語(またはそうみなされるもの)は使えないようにするのが自然、ということですね。

取り消されちゃたまらねえ

というわけで、あまりに有名になりすぎてGoogleが商標を取り消されてしまえば、Google社はgoogle以外のブランドを新たに立ち上げなければならなくなります。また、他社からgoogleなんとかが山のように出てきて、自社の製品が埋没し、大損することは請け合いです。

だからGoogle社は必死になって一般動詞化を阻止しているのです。

ホッチキスは一般名詞

いやいや、そんなこと心配するだけ無駄、って思いますか?でも実際にあるんですよ。

例えば、株式会社イトーキの「ホッチキス」です。かつてはイトーキの登録商標だったそうですが、現在は登録商標に存在しません。N○Kみたいにわざわざステープラーって言い直してる人が居ますが、んなことしなくて良いんです。

ちなみに現在、ホッチキス風の商標は、マックス株式会社の「HOTCHKISS」(紙綴り器)か、キヤノン株式会社の「ホッチキス」(理化学機器、その他)のみです。マックスはまだしも、キヤノンのホッチキスって何に使うのかな…。

(※)商標法(第3条の1.)
自己の業務に係る商品又は役務について使用をする商標については、次に掲げる商標を除き、商標登録を受けることができる。
1.その商品又は役務の普通名称を普通に用いられる方法で表示する標章のみからなる商標
2.その商品又は役務について慣用されている商標
3.その商品の産地、販売地、品質、原材料、効能、用途、数量、形状(包装の形状を含む。)、価格若しくは生産若しくは使用の方法若しくは時期又はその役務の提供の場所、質、提供の用に供する物、効能、用途、数量、態様、価格若しくは提供の方法若しくは時期を普通に用いられる方法で表示する標章のみからなる商標
4.ありふれた氏又は名称を普通に用いられる方法で表示する標章のみからなる商標
5.極めて簡単で、かつ、ありふれた標章のみからなる商標
6.前各号に掲げるもののほか、需要者が何人かの業務に係る商品又は役務であることを認識することができない商標
(以下略)

編集者:すずき(2007/10/28 18:14)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2007年10月27日

買い物1、ジョーシン

万歩計を買いました。会社から帰ってくる途中で、自分は一日に何歩歩いているのかが気になったのです。色々種類がありましたが、数日間の歩数メモリ機能があるものを選んだら、なんと3,000円もしました。どれだけ使うかも分からないのに高い買い物でしたね…。

さて、会社の中で歩く分は知れてる(10分は歩かないと意味があまりないらしい)ので、通勤カバンに放り込んでおいて、メモリした歩数(一週間分)を後で記録しようと思います。買って良かったと思えるように役立てていかないとなあ。

買い物2、ニトリ

久しぶりに車でお出かけ、同期の友人とぶらぶらしてきました。

まずはニトリで低反発クッションを買いました。寮の部屋にある椅子は、どうもイマイチなのでこれで少しはましになるはず。

と期待して現在使っておりますが、ずっと座っているとクッションが自分の尻の形に変形してしまうので、直接座っているのと何が違うのかよくわからないです…。

買い物3、マイカル

茨城のマイカルに行って、革靴と普段用の靴を買いました。

革靴は2足あるんですけど、一方は足に合わないのか足が痛くなるのであまり好きじゃないです。で、いつも同じ靴ばかり履いていたらわずか半年でかなりボロっちくなってしまいました。とほほ。

そういえば、革靴の会計をしていたら突然箱がぶっ壊れました。それに気づいた店員さんが
「すぐに新しい箱と取り替えます」
って言うんで、でも、自分用だから箱なんてどうでもいいやと思って、
「テープでくっつけるだけでいいですよ」
と言ったら、テープでくっつけた後、靴の手入れクリームをオマケしてくれました。うーん、そんなつもりじゃなかったんですけど…なんか悪いな。

タモリがいる

後は同じくマイカルにて映画HEROを見ました。いまさら見るのかという気もしますが、面白かったので結果オーライです。

ドラマを見ていなかった(or完全に忘れている)ために、HERO = キムタクが検事のドラマ、という程度の認識しかありません。さすがにそんな状態だと、この人は誰?って場面がちらほらあります。

とはいえ映画の内容を理解するには影響ありません。ドラマ発の映画ってドラマを見ない人は置いてきぼり、というイメージでしたが、HEROはそんなことないです。良くできてます。

編集者:すずき(2007/10/28 02:01)

コメント一覧

  • hdkさん(2007/10/28 02:14)
    万歩計ってことは山佐時計計器ですね
  • すずきさん(2007/10/28 14:58)
    そういえば登録商標だっけ。ヤマトの「宅急便」みたいなもんか。
    ま、気にしないで下さい。
open/close この記事にコメントする



2007年10月26日

去り際鮮やか

いつのまにかWindows XPのログオフ、シャットダウンが異常に遅くなってしまって困っていたのですが、そんな悩みを解決するUser Profile Hive Cleanup Service(ダウンロード) というツールがあると知りました。

早速使ってみたところ、確かに速くなります。Shift + シャットダウンのスピードには及びませんが、いつもの何かのタイムアウトを待っているような時間(その間、ディスクアクセスが止まったまま)がなくなります。

あえて気になる点を挙げれば、変なドライバ(%sysdir%\drivers\uphcleanhlp.sys)をインストールすることくらいかな。カーネル内部の値でもいじっているのかな?

編集者:すずき(2007/10/27 10:11)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2007年11月8日 >>> 2007年10月26日
link もっと後

管理用メニュー

link 記事を新規作成

<2007>
<<<11>>>
----123
45678910
11121314151617
18192021222324
252627282930-

最近のコメント5件

  • link 21年9月20日
    すずきさん (11/19 01:04)
    「It was my pleasure.」
  • link 21年9月20日
    whtさん (11/17 23:41)
    「This blog solves my ...」
  • link 24年10月1日
    すずきさん (10/06 03:41)
    「xrdpで十分動作しているので、Wayl...」
  • link 24年10月1日
    hdkさん (10/03 19:05)
    「GNOMEをお使いでしたら今はWayla...」
  • link 24年10月1日
    すずきさん (10/03 10:12)
    「私は逆にVNCサーバーに繋ぐ使い方をした...」

最近の記事20件

  • link 23年4月10日
    すずき (11/15 23:48)
    「[Linux - まとめリンク] 目次: Linux関係の深いまとめリンク。目次: RISC-V目次: ROCK64/ROCK...」
  • link 24年11月6日
    すずき (11/15 23:47)
    「[Ubuntu 24.04 LTS on ThinkPad X1 Carbon Gen 12] 目次: Linux会社ではTh...」
  • link 24年11月11日
    すずき (11/15 23:26)
    「[Pythonのテストフレームワーク] 目次: Python最近Pythonを触ることが増えたのでテストについて調べようと思い...」
  • link 24年11月2日
    すずき (11/15 23:25)
    「[Python - まとめリンク] 目次: Python一覧が欲しくなったので作りました。 スクリプト言語始めました(Pyth...」
  • link 20年5月10日
    すずき (11/15 23:24)
    「[Pythonの文字置換APIは変な名前] 目次: PythonPythonの文字列置換は "string".replace(...」
  • link 24年2月7日
    すずき (11/15 23:23)
    「[複数の音声ファイルのラウドネスを統一したい] 目次: PythonPCやデジタル音楽プレーヤーで音楽を聞いていると、曲によっ...」
  • link 13年7月2日
    すずき (11/15 23:22)
    「[スクリプト言語始めました(PythonとRubyでNクイーン問題)] 目次: ベンチマーク目次: Pythonスクリプト言語...」
  • link 23年9月18日
    すずき (11/15 23:22)
    「[一覧の一覧 - まとめリンク] 一覧の一覧、まとめのまとめが欲しくなったので作りました。OS、アーキテクチャ系。目次: An...」
  • link 13年10月1日
    すずき (11/15 23:21)
    「[JetBrains PyCharm 3.0リリース] 目次: PythonPyCharmがメジャーアップデートされ PyCh...」
  • link 22年7月8日
    すずき (11/08 23:28)
    「[マンガ紹介 - まとめリンク] 目次: マンガ紹介面白かった漫画の紹介です。知名度はあまり気にせず紹介します。5作品乙女ゲー...」
  • link 24年10月31日
    すずき (11/04 15:17)
    「[DENSOの最終勤務日] 最終勤務日でした、入門カードや会社のPCを返却してきました。在籍期間はNSITEXE(品川のオフィ...」
  • link 24年10月30日
    すずき (11/02 20:33)
    「[マンガ紹介] 目次: マンガ紹介お気に入りのマンガ紹介シリーズ。最近完結した短めの作品を紹介します。マイナススキル持ち四人が...」
  • link 19年3月28日
    すずき (11/02 13:27)
    「[マンガ紹介] 目次: マンガ紹介お気に入りのマンガ紹介シリーズ。こわもてかわもて(全2巻、2019年)(アマゾンへのリンク)...」
  • link 21年6月20日
    すずき (11/02 13:22)
    「[読書一生分が93万円?] 目次: マンガ紹介書籍通販のhontoがこんなキャンペーンをやっています。honto読書一生分プレ...」
  • link 17年10月27日
    すずき (11/02 13:11)
    「[異世界&最強系漫画の種類] 目次: マンガ紹介少し前にアニメ化されて盛り上がって(おそらく負の方向に…)いた「...」
  • link 24年10月28日
    すずき (10/30 23:49)
    「[Linuxからリモートデスクトップ] 目次: Linux開発用のLinuxマシンの画面を見るにはいろいろな手段がありますが、...」
  • link 24年10月24日
    すずき (10/25 02:35)
    「[ONKYOからM-AUDIOのUSB DACへ] 目次: PCかれこれ10年以上(2013年3月16日の日記参照)活躍してく...」
  • link 24年7月25日
    すずき (10/25 02:24)
    「[OpenSBIを調べる - デバイスツリーの扱い(別方法)] 目次: LinuxOpenSBIのブート部分を調べます。Ope...」
  • link 24年8月7日
    すずき (10/25 02:23)
    「[Debian独自の挙動をするQEMUとbinfmt_misc] 目次: Linux前回はbinfmt_miscの使い方や動作...」
  • link 24年9月9日
    すずき (10/25 02:22)
    「[GDBの便利コマンド] 目次: LinuxGDBは便利ですが、少し使わないでいるとあっという間にコマンドを忘れます。便利&使...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 11/19 01:04