月別アーカイブ: 2012年7月

大道詰将棋

今回は創作でないので気が引けますが、将棋で頭脳のトレーニングと参りましょう。詰将棋とは攻め方が先手になり王手の連続で相手の王将を詰めるゲームです。攻められる方は手順が長引く方向に応対し、攻め側は最後に持ち駒を余さず詰めるなど細かなルールが存在します。一般に詰将棋にも作者がいて著作権が存在します。

以下の例はかつて縁日などで見かけた大道詰将棋です。

簡単に詰むと思った方は将棋が強いとは思えません。高段者はあまりにも有名なネタで詰め手順を記憶のことでしょう。実力1級や初段の方にはちょうど良い問題と思われます。

攻め方の第1手は香を使うことはだいたい決まりのようです。次に王側は中合いという妙手を使って局面を複雑にします。回答はここでは述べませんが、15手詰です。 詰将棋は主になるべく右上の方に王将を置きます。今回のように左に置いても同じです。

多くの参照者はある理由で左に置きたがります。将棋は今や人気マンガの影響で、小中高校で盛んのようです。

将棋のコマは20枚づつ40枚でゲームを開始します。必ず相手を必要とします。相手がいない場合は詰将棋で実力を蓄えます。この他に将棋の独り遊びで40枚のコマを全部使ってお互いの駒の利きに入らないように81個のマス目に配置するゲームがあります。

進みどころのない場所に駒を打てないという規則は適用されません。有段者ならばちょっと時間を使って、級位者はかなりの時間を使えば正解にたどり着けられます。

基本正解はひとつですが、駒の利きは左右対象であるためバリエーションが多くあります。ネット社会ですから正解はネットのなかにありますがまずは独力で正解を見つけましょう。上図は取り掛かりの例です。

WordPressのプラグインについて

WordPressはオープンソース組織であり、よりよいシステム構築のため誰でもが組織に参加できます。WordPressの最初のインストールは基本的な機能のみで、必要な機能をプラグインとして追加できるのが気に入っています。

幼児の自転車に例えると、最初は補助ぐるま付きでだんだん体が大きくなって補助車輪を取ります。このように機能を追加したり削除できるのが成熟した製品といえるでしょう。パソコンの多くのOSも盛りだくさんの機能が網羅されていますが、初心者が戸惑うように開発されています。Windows7ではこの考え方がかなり取り入れられたようですが、後発のシステムはこの辺が改善されています。

テーマ画面を変更しました

テーマ画面はフリーテーマテンプレート「Basic Line Blue」を小変更したものを使っていましたが、表示幅の広い「Twenty Ten」に変更しました。この画面の方が表現量も拡大ししっくりきます。この変更によりタイトルに続く本文は1行しか表示されなくなりました。その分、多くの記事(の先頭部分)が一画面に表示されます。反面、続きを読むをクリックする手間が増えましたが、あちらを立てれば、こちらが立たないということは世事とまったく同じです。

この変更により、問い合わせ画面が表示されなくなり調査したところ、問い合わせコマンドの前に文面がなかったり、短文で続きを読むをクリックするほどでない場合に、問い合わせ画面が表示されないことが判明したので、長めの案内文を入れてあります。

感想、コメントを待望いたします。

自前でするカメラ修理

デジカメを修理に出そうとしたら、修理代が2万円近くかかるので自前でする修理法を伝授してもらいました。小雨降るバス旅行で写真を撮っていたらレンズに水滴が付いて写真にもゴミが付着したように写るようになりました。くもりは2~3週間たっても取れません。

上部右寄りの日本列島のような曇りです。ズームアップにした時が顕著に現れます。綿棒やメガネ拭きでレンズを拭きましたが、拉致があきません。今では2万円出せば、新品が買えるので考えました。購入・持ち込み先はY電機で、イケメンタイプのセールスエンジニアは、自前で行う対症療法を教えてくれました。レンズを出してレンズ正面から40cmほど離してドライヤーで冷風を吹き付けます。その後、バッテリを外してカメラ下面に40cmほど離して弱め目の熱風を吹き付けるとくもりが取れることがあるので試されてはいかがと説明されました。それでも直らなかったら修理致しますと言われました。

帰ってさっそく試したところ、曇りが取れたので拍手喝采です。カメラはそれなりの値段でしたので、これで一安心です。ありがとう、Y電機。

日付から曜日を求める

西暦の年月日から曜日を算出する計算方法は1,2月を前年の13,14月にするツェラーの公式として広く知られています。C言語でコンパクトな曜日算出関数を作ってみました。

ガウス関数とmod関数を使っています。C言語では演算に使う変数を整数型にすればガウス関数を使うこともなく、またモジュロ演算子(%)を使えばmod関数も必要ありません。

一方、暦に目を移すと現在、利用されている暦は1582年に制定されたグレゴリオ暦です。わが国では明治5年から使われています。

平年を365日とし、400年間に97回の閏年をもうけ、1年の平均日数を365.2425日としています。日付から曜日を割り出すテーマはコンピュータにうってつけです。

今ではC,EXCELなどの言語処理系が曜日を算出する関数やマクロ定義を用意していますが、計算式を抑えておくと何かと便利です。以下のような作成基準で計算式を検討してみます。

①if文などの判別式を使わない。閏年かの判定や月の大小なども計算式の中で吸収する。

②簡潔なプログラムコードとする。

③他の言語に移行可能とする。 ④C言語でプログラミング。

⑤検証コードも示す。

※日付から曜日を算出する関数

int date2week( int y, // 西暦年,1月、2月でもそのまま指定
int m,                // 月,1月、2月で13,14に修正はしない
int d)                // 日
{
int l;                // work

l = y + (m - 8) / 6;  // この処理と(m+9)%12*26)/10で1,2月を前年の13,14月扱いに
l = ((5 + (m + 9) % 12 * 26) / 10 + (l * 5) / 4 - l / 100 + l / 400 + d) % 7;
// ここで月別の大小を考慮に入れたずれ数を求む

l = (l + 2) % 7;      // 火曜始まりを日曜始まりにする。

return l;          // 日(0)~土(6)。

}

上記コードはコンピュータサイエンス誌bit 1976-7,FORTRAN演習問題解答を参考にしています。30年以上も前のコードですが、いまだに光り輝いています。その記事では語られていませんが、原本はツェラーの公式と思われます。

※検証コード

#if 1 // test-1
for(i=1990; i<2101; ++i){
j = date2week(i, 2, 28);
w = date2week(i, 3, 1);
c = w - j;
if((c==1)||(c==-6)) c=' '; // 平年
else c='@'; // うるう年
uPrint("i=%d %d %d %c\n", i, j, w, c);
}
#else // test-2
n=0;
i=2099;
w = date2week(i, 12, 31);
uPrint("Y=%d w=%d\n", i, w);
for(++i; i<=2100; ++i){
mmax[1]=28; // 平年
if((i % 4)==0){
if((i%100)==0){
if((i%400)!=0) goto heinen; // 平年扱い
}
mmax[1]=29; // うるう年
}
heinen:
for(k=0; k<12; ++k){
for(l=1; l<=mmax[k]; ++l){
j = date2week(i, k+1, l);
c = j - w;
uPrint("Y=%d M=%d D=%d j=%d %d\n", i, k+1, l, j, c);
if((c!=1)&&(c!=-6)) ++n; // 内部エラー
w = j;
}
}
}
uPrint("内部エラー検出回数=%d\n", n);
#endif

※暦のルールに寄せての雑感

すでに一昔は過ぎてしまったが、2000年問題でどうしてあのような大騒ぎをしたのかと不思議です。閏年の規定は西暦年を4で割り切れれば閏年。その他は平年との決まりだが、100で割り切れる場合は400で割り切れる年だけを閏年とする約束です。

この規定からすると2000年は閏年になり、結果として1996年や2004年の閏年と同じだったのです。直近の例外は2100年だから騒ぐのは100年早かったわけです。

そのほか、明治政府は旧暦の明治5年(1872)12月3日を、新暦の明治6年1月1日としました。明治5年の12月はたった3日間であり、12月分の給料を削減するために強行したという説もあります。

2000年が20世紀最後の年で21世紀は2001年からというのもピンときません。2000年1月1日の年賀状に「旧世紀はたいへんお世話になりました。今世紀もよろしくお願いします」とあったそうです。気分では2000年が21世紀の始まりです。

風呂の経済的な沸かし方

工業製品に文化、電化、自動とかがやたら付いていた頃、風呂を沸かすにも気を配っていました。夏場は午前中、早い時期に水を張り気温の上昇とともに汲んだ水の温度が上がるのを期待し、夕方に風呂を沸かしていました。

逆に冬場は沸かす直前に水を汲みます。昔は井戸水を使うことが多く、冬は気温より水温が高いことを利用します。冬場、早めに水を張ると外気によって水温が下がり燃費が嵩むことになります。

今こそエネルギー不足、二酸化炭素排出量の問題などで細かい配慮が必要なはずです。水を張る時期、沸かす時期に気を配るだけで燃費の向上につながります。 資源の少ない国は知恵を使うことによって栄えることでしょう。

水道のトラブルを直す

餅は餅屋、生病法は怪我のもとなどの言葉はプロの力がいかに大切かを物語っています。

だから人々は対価(料金)を支払って業者に依頼します。DIY(Do It Youself)で事を進める場合は、プロならばどうするかなと自問すべきです。

台所の蛇口の修理、洗濯機の放水口の変更をプロに依頼したとき、最初にしたことは止水栓を閉めることでした。バルブ(弁)を閉めてから水トラブル解決に入ります。

ほかに適切な言葉が浮かびませんが「プロの技術」を盗むことです。 ケレップ今回、水道の蛇口をきつく締めてもポタポタと水が滴り落ちるトラブルを自前で直した体験を記録にとどめます。

水が漏れる原因はケレップというコマが劣化しているための場合が多いです。この部品は2個200円ほどでホームセンターで売っています。市の水道局で無料でもらえるところもあるようです。

手順としてプライヤなどの工具を用意し、止水栓を閉めた後、蛇口を外しケレップを交換し蛇口を元に戻します。

㈱カクダイの動画(http://kakudai.jp/try/washroom/001.html)を参考にしました。最後に止水栓を元に戻して終了です。水を勢い良く出し、栓を締めポタポタが解消されれば成功です。

業者に依頼すると5,000円程度であり、今回のようなトラブルには部品代は少額ですが技術料、訪問代などが料金名目になります。

蛇口を外すスパナのような工具は必須です。修理時間は10分もあれば十分です。水漏れの原因は他にある場合もあり、症状をじっくり観察し、対策法をネットで検索して適切に判断します。自信が無い場合は業者に依頼してください。

暗号文の作り方

暗号と符牒

暗号や符牒はスパイ小説のなかで使われるほか、日常生活を助けます。テレビの黎明期、VTRは高額で生放送が多く、ある役者はテレビの本番までは結論を出すからと家を出るときに、本番時に右手を挙げたときはGo,左手を挙げたときはNo goだからテレビを見逃さないようにと家人に伝えたそうです。

符牒と言えばトイレに行くことを直截な表現でなく「5番に行って来ます」などとあらかじめ決めて置いた慣用句を使うこともあります。

イースターエッグ

イースターエッグとは、キリスト教の復活祭(イースター)を祝うために、色とりどりの卵を隠して、子ども達が探して遊ぶ行事です。コンピュータの世界では遊び心で、コンピュータのソフトウェアに本来の機能や目的とは関連のないメッセージや画面を挿入するユーモアの一種です。

著作権対策と遊び心

暗号の作り方と少し異なりますが、この手法は法律の時効のように後になって公知になることがあります。他社で開発した辞書をコピーしてワープロソフトを販売する違法行為の防止に、めったに使われない単語を変換しようとすると特定の漢字に変換される仕掛けを折り込んだり、開発者にしか思いつかない用語を指定した場合に、自分の娘の名前に変換されるように組み込んだイースターエッグ入りワープロソフトがありました。

Windows95開発チームのメンバー名

Windows95開発チームのメンバー名を表示する隠しコマンドがあったことも知られています。マイクロソフトから公開されていますが、SHIFTキーを連続5回、押して見てください。特殊なメニューが現れます。

あうんの呼吸など、暗号らしくなくそれとなく意思を伝える奥深きは東洋文化でしょうか。暗号文の作り方として、気分を害することなく特定の人に情報を伝える手段は個々人のなかにあります。

写真や動画の投稿

大きなファイルを埋め込もうとするとサイズオーバーになります。許容内であってもサーバー残量が少なくなります。そこで動画はYoutubeへ投稿しURLアドレスを載せます。

投稿する場合、著作権が問題になります。音楽などは作曲家の死後50年まで権利が確保され、その後であってもピアノを弾いた演奏者や編曲者の権利が付いてきます。

没後、150年以上も経つ作曲家の曲をBGMにした動画を投稿したところ、下記のような知らせがYoutube事務局から届きました。

『あなたの動画「〇〇」に、×× さんが所有またはライセンスを所持しているコンテンツが含まれている可能性があります。引き続き YouTube には表示されますが、一緒に広告が掲載される可能性があります。この申し立てによって、アカウントにペナルティーが科されることはありません。この動画に適用されるポリシーについて詳しくは、著作権の侵害に関する通知のページをご覧ください。 よろしくお願いいたします。 – YouTube チーム』。

厳密には著作権に抵触する部分がありそうですが、目くじらを立てるほどでもないので、脇にコマーシャルを表示させて欲しいと理解しました。動画投稿者のベテランはまたかと思うかもしれないが、最初はびっくりものです。

手作りと通販制度

だいぶ前、通販などがない頃、天体望遠鏡を手作りするべく、文房具店、眼鏡屋さんを訪ねたことがあったが、キット商品というものは置いてなかった。これでは理科離れもしょうがないかなと嘆いたが、今では通販制度が確立したのでキット商品が出回ることになって嬉しい限りだ。