SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|06|07|

2004-12-07(Tue) ひさびさの秋葉

  平日に秋葉といっても「サボったなッ!! シャアッ!!」というワケではない。またもやYRPで仕事だったのだが、いろいろあって15時ごろにキリがついてしまったのである。15時ごろにキリがついてしまったら「帰り、チョット寄ってきますか」となるのは自然のナリユキである(寄るところがフツーでない気もするが)。ちょうど購入すべき部品もたまりつつあったトコロなのだ。気がつけば、前回の秋葉はSVXで行った11月7日。奇しくもキッカリ1ヶ月である。ここに「1ヶ月の法則」の復活である。

  秋月前にツタタタタっと瞬間移動。昨日述べた「テレビのバイパス手術」を行うための部品を購入だ。ステレオオーディオアンプキットとDCジャック、RCAプラグ&ジャック等を適当に購入。どんな接続にするのか、まだちゃんと考えてないので、ちゃんと考えずに適当に購入するのだ。一方で、例のコンデンサ容量計のプローブ用の部品も物色。バナナジャックを買おうと思ったが秋月には見当たらない。安いしミノ虫クリップを適当に買っておく。あとは、不足してたような気がする8pinのPICとDSUB9pinコネクタ、面白そうなSDカードスロットと傾斜スイッチ、SVXのカギの電池が切れた時のためのボタン電池も買っておく。

  しかし平日の秋月はスイている。平日は店内を「フツーに歩ける」のだね、知らなかった。それから平日は「レシートか領収書必要ですか?」って店員さんが聞いてくるんだね。平日はお仕事で部品を買いに来ている人が多いってコトだな。以前にロスに行った時、シンガポール航空だと観光用入国書式が、タイ航空だと就労用入国書式が着陸前に配られたのを思い出した。暗黙の型宣言は世界のアチコチで行われているってコトだ。DEFWORKER A-Z(ふるっ!!)。

  話は替わるが、秋月の店員さんっていつも紙袋に計算式をサクサクと書いて会計してくれるけど、まちがったりしないのか以前から疑問だった。ここんトコこのBlogに買い物内容を記録しているので、まちがえたりしたらスグわかるのだ。今までまちがっていたことはなかった……が、今回はハデにまちがえていたぞ。しかも計算も単価もだ。計算を200円、単価を10円、30円まちがえて、結局210円も安くしてしまっている。よって以下の表は合計が合わないが、まぁそういうこともあるってことだ。

  画像の説明

秋月電子通商
ステレオオーディオアンプキット\1,000
SDカードスロット\1502\300
PIC12F629\1402\280
傾斜スイッチ\1002\200
DSUB 9pinオスコネクタ\502\100
RCAプラグ\504\200
ミノ虫クリップ\204\80
DCジャック\302\60
RCAジャック\402\80
ボタン電池CR2025\100
\2,190

  秋月で買えなかった部品を補完すべく、千石へ。おぉ、スピーカーコネクタが見つかるとは思わなかったな。さすが品揃えの千石。入力用のステレオミニのコードとジャック、それに座金付きのLEDも購入してしまおう。LEDは手持ちのモノを使ってもいいけど、座金付きのがキレイにケースに取り付くからね。おぉ、秋月のものより小さなミノ虫クリップだ。バナナプラグもあるな。ゲットだ。地下ではスピーカーコネクタの幅とアンプキットのデカいコンデンサの高さに見合うケースを探す。いいのがあったぞ。テレビに取り付けても目立たない黒いヤツにしておこう。

  画像の説明

千石電商2F
スピーカーコネクタ\380
ステレオミニコード\220
ステレオミニジャック\502\100
ミノ虫クリップ\202\40
バナナプラグ\402\80
座金付きLED(緑)\90
\910
千石電商B1F
ケースSW-85B(60x40x85)\160

  高さの低いバナナジャックが欲しかったので、ヒロセテクニカルの地下へ。おぉ、小さなバナナプラグもあるじゃん。千石のヤツよりいいな。被っちまうけど、まぁ、買っておけ。

  画像の説明

ヒロセテクニカル
バナナプラグ\504\210
バナナジャック\502\105
\315

  それはそうと、カミさんのお父さんが新しいデジカメを買ったのだが、画像の転送をするのにカードリーダが欲しいといっていたので、ついでに探してみた。松下のデジカメだということなので、SDカードリーダで間違いないだろう。これだ。780円か……まてよ、近頃のデジカメならフツーUSB転送ケーブルくらい付いているよな……ということは、イランな。それより、デスクトップPCの背面にしかUSBジャックがないとすると、オモテに出すためのUSB延長ケーブルのが必要だな。これだ。190円か……まてよ、フツー付属のUSB転送ケーブルってったってソコソコの長さがあるよな……ということは、イランな。というわけで買い物なし。

  一応、その場でカミさんに電話して、特に買わなくて済みそうだと報告すると、いま仕事の帰りで御茶ノ水にいるということなので、セガの前で合流。合流すると手に持っていた紙袋がない……なにぃっ!? ないぃ〜っ!? そういえばヒロセテクニカルでバナナジャックを物色しているときに脇に置いたような……気持ち的には「Bボタンを壊れるほど押し込んでダ〜ッシュ!!」である。あぁ、あった!! よかったぁ……。

  その後、ちょっとトライアミューズメントタワーに寄って、ダライアスして、サクッとオトシゴを倒して帰宅。隣に座っていたカミさんはボスシーンのボディソニックにビビっていた。あはは。


2013-12-07(Sat) 源平討魔伝めぐり

  最近、ガキとプチ源平討魔伝ブームである。そんなこんなで、なにげなく調べたら……なんと! 近所の熱田神宮のすぐ近くに、平景清ゆかりの場所があるとか。

  その名も「景清社」。以前、山口県の秋吉台にある景清洞を訪ねたことがあるが、なんだかえらく広範囲にゆかりの場所を持つ御仁だよなぁ。本当に九州から鎌倉まで復讐の旅をしたことがあるみたいだ。

  行ってみると、こじんまりした社だったが、大きく「かげきよ社」と書いてあった。思わず、100円のお布施をしてしまう。やはり、地獄から甦るためには、100円が必要だろうから。

  画像の説明 画像の説明

  さて、源平討魔伝に携わった場合、源氏と平家の片側だけ参ると呪われる、という噂を信じたわけではないが……なんと! 同じく熱田神宮の近所に、源頼朝の出生地があるとか。というわけで、そちらも訪ねてみた。しかしこの近さ、なんという因縁だろう。

  ぱっと見の構えは立派だが、脇が大きく開いていて、裏が駐車場になっており、門としてはトマソン化してしまっている。なんじゃこりゃ。笑って頼朝。

  画像の説明 画像の説明

  熱田神宮の境内できしめん食って、ホームセンタによって帰る。道中、ゲームセンタUFO M1が閉まっているのに気づいた。もしかして……。


2015-12-07(Mon) 増殖するEFIブートエントリ、キックされないキックスタート

  kugutsuスクリプトを完成する都合もあって、やたらFedora23とopenstackのインストールを繰り返していたことで、いろいろと気づいた点があったのでまとめておく。やっぱ、OSS関連の仕事をしている以上、たまにはマシンやデバイスを新調し、いろいろと気づきを得ることは重要だな。いくらソフトウェアのサポート要員とはいえ、OSだけ最新のLinuxを使っていたって気づけない点は多々ある。

  とはいえ、ソフトウェアに関しても、角度を変えれば同じこと。何年も前にWindowsから開放されてヒャッハーな気分だったとはいえ、その反面、Windowsの操作に関しては、完全に素人以下になり下がってしまっている気がする。何度使ってみたものの、まったく興味が湧かないAndroidも同じような状況。まぁ特段、生活にも仕事にも支障は出ていないのだからいいのだけれど。

  それはそうと、気づきのひとつとはEFIブート。コンピュータが単細胞生物レベル(?)だった頃のピタゴラ装置的ブート機構をようやく今になって置き換えるものだ。EFIと言えば破廉恥なセキュアブート機構が話題だが、真の狙いのひとつはブート機構をスッキリさせることのはず……だったはずだが、なんだこれは。いつの間にこんなことに。

Fedora
UEFI:CD/DVD Drive
UEFI: Built-in EFI Shell
UEFI:Removable Device
UEFI:Network Device
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1

  OSのインストールを繰り返しているうちに、ブートエントリが増殖してしまっているような……なんだこれ、消したいが、どうやって消しゃええんじゃ?

  調べると、どうもEFIブートでは、ブート関連の設定情報をマザーボード上の不揮発性メモリ上に記録するようになっており、OSが起動した後も、その不揮発性メモリへのアクセスは可能らしい。いわゆる稚拙なBIOS画面でゴチャゴチャと操作しなくてもよくなったということか。具体的にいうと、Linuxでは擬似ファイルシステムとしてアクセスが可能であり、Fedoraでは/sys/firmware/efi/efivars/にmountされている。

  んが、ディレクトリの中身をlsで見てもほぼハナモゲラだ。エントリ数も妙に多い。何をどうすればいいのかよくわからんが、ブートエントリを操作するために、efibootmgrというツールがあるらしい。試してみたところ「efibootmgr」でリスト表示をさせて「efibootmgr -b 0000F -B」のようにしたら重複エントリを消すことができた。

  このefibootmgrがエントリを消す際、具体的には何をしているのか気になったので、straceで処理内容を覗いてみたところ、普通に擬似ファイルシステムに対して、削除や書き換えを行なっているだけだった。ふむん。EFIってそんなモンなのね。

  画像の説明

  んが、消したそばからまた増える……もぉええわ。

  さて、もうひとつの気づきはLinux OSのキックスタートインストール。この機能を使えば、最初に設定内容を渡すだけで、インストール完了までのすべての操作を自動化できるというシロモノ。openstackの環境用には2台のマシンを用意していることもあり、省力化の程度は大きい。

  具体的には、インストールDVD-ROM等からブート、直後に表示されるメニューの「Install Fedora 23」に移動し「e」キーを押下、以下の★部分の後ろにパラメータを追記することにより行う。

setparams 'Install Fedora 23'
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=Fedora-S-23-x86_64 quiet ★
initrdefi /images/pxeboot/initrd.img

  追記内容は以下。

selinux=0 inst.ks=http://server/anaconda-ks.cfg

  ちなみに「selinux=0」は、インストール開始時点からSELinux機能を無効化する指定で、これによりハナから各ファイルに拡張属性が付与されることを完全に防ぐことができる。

  続く「inst.ks=http://server/anaconda-ks.cfg」が、キックスタート機能に渡す設定内容。いったんキックスタートを使わずにインストールした場合に/rootに生成されるanaconda-ks.cfgを再利用する。読み込む場所はいろいろと選べるようだが、今回は手持ちのウェブサーバ上に置いて読み込めるように取り計らったので、冒頭がhttp://となっている。

  追記が完了したところで「Ctrl-x」を押下すれば、完全自動イントールの開始……かと思ったが、なんだかネット上のFedoraリポジトリを見つけられない様子で、そこから先に進まない。特にマズってるところはないはずなのだが……と思ったら、なんと不具合とのこと。

  普通、OSの導入後の不具合ならば修正パッケージで対応されるのだが、この問題は導入後に起きてるんじゃない……導入前に起きてるんだッ!……ということで、一体どうすんのかと思ったら、なるほど、そういう場合のための機構があるのね。キックスタート機能と同様に、修正内容を渡すことができる機構が。つまりこう。

selinux=0 inst.ks=http://server/anaconda-ks.cfg inst.update=http://server/1277638.img

  これで完全自動インストール、いっちょ上がり!


2017-12-07(Thu) タートルグラフィックスを実装

  先日に引き続き、ちょっとした用途のため、自製グラフィックライブラリにタートルグラフィックスの関数を追加することにした。習作として、フラクタル図形を描画するプログラムも書いてみる。やり始めたら極めてアッサリと、併せて数時間でできてしまった。

  まずは、12次のC曲線。

  画像の説明

 def c_curve(win, n, l)
     unless(n == 0)
         win.tLeft(45)
         c_curve(win, n - 1, l)
         win.tRight(90)
         c_curve(win, n - 1, l)
         win.tLeft(45)
     else
         win.tForward(l)
     end
 end
 
 win.tHome
 win.tRight(90)
 c_curve(win, 12, 4)

  次に、12次のドラゴン曲線。

  画像の説明

 def r_dragon(win, n, l)
     unless(n == 0)
         win.tLeft(45)
         r_dragon(win, n - 1, l)
         win.tRight(90)
         l_dragon(win, n - 1, l)
         win.tLeft(45)
     else
         win.tForward(l)
     end
 end
 
 def l_dragon(win, n, l)
     unless(n == 0)
         win.tRight(45)
         r_dragon(win, n - 1, l)
         win.tLeft(90)
         l_dragon(win, n - 1, l)
         win.tRight(45)
     else
         win.tForward(l)
     end
 end
 
 win.tHome
 win.tRight(90)
 r_dragon(win, 12, 4)

  最後に、7次のツリー。

  画像の説明

 def tree(win, n, l)
     unless(n == 0)
         win.tSetPenWidth(n * 2)
         win.tForward(l)
         win.tRight(25)
         tree(win, n - 1, l / 1.5)
         win.tLeft(55)
         tree(win, n - 1, l / 1.3)
         win.tRight(30)
         win.tBack(l)
     else
         win.tForward(l)
         win.tBack(l)
     end
 end
 
 win.tHome
 tree(win, 7, 96)

  描画結果は、svg形式でファイル出力される。上記の図形はOperaにレンダリングさせたもの。

  CADもイイけど、こういうロジックで描画させる方が好みだわ。