SVX日記
2004-12-17(Fri) オシロ入手ッ!!
夕方、職場の売店でちらっとトラ技をチェックしたら特集が「すぐに使えるUSBデバイス&応用」ということで思わず買ってしまった。毎月かなりの精度でカユいトコロを直撃の記事は見事だ。やっぱりUSBはコンビニエントなのである。シリアルポートみたいに簡単に使いたいのである。そして特集も「シリアルポートみたいに簡単に使いたい」方面に突っ走っている。うぅむ、素晴らしい企画力。
しかしながら、読んでいると確かに簡単に使えそうな気もするのだが、やっぱり敷居は高いのである。政治的には「秋月が石を扱っていない」技術的には「石のピン間が0.5mm」財政的には「値段が高い」のである。如何に本を読んで知識を蓄えようと、こういう周辺環境ばかりはどうにもならないのだ。早い話、秋月でDIPパッケージを300円で扱えば万事解決なのであるが、現在のところそういう状況ではない。しかしながらトラ技と秋月はタッグで素人電子工作の屋台骨を担っている(と思う)のだからして、こういう方向性の気運が高まれば近いうちに期待できる状況になると思いたい。
帰宅してワクワクしながら待っていると「ピンポーン、佐川急便です、夜分遅くすみません」というわけだ。そう、一昨日に秋月に注文したペン型オシロスコープ「osziFox」が到着したのである。いやぁぜんぜん夜分遅くすみませくないぞ。22時以降を指定したのはコッチなのだからして。佐川はスゴいねぇ。
うひょー、異様に小型のパッケージである。写真にCD-ROMが写っているが実はコレは8cmCDなのだ。オシロ本体にあまり高級感はないが、こんなもんに高級感を求めてどうする。ちゃんと性能を発揮すればそれでよい。しかし紙のマニュアルなしというのもどうだろう。CD-ROMの中にPDF形式で入っているかと思えば見当たらない。オシロのアプリ(このosziFOXは本体の液晶画面でも波形が見えるが、PCの画面で波形を見るのが本筋)をインストールしたら、その時点でPDFが展開された。んなもん、ルートにも置いておけや。
まぁマニュアルが英語というのはいいとしても、PDFは「両面印刷して中綴じ」すると本になるというスタイルになっている。つまりフツーに見るとページがバラバラだ。どーもあちこちに配慮が足りないなぁ。ドイツ人てこんなアバウトだっけ? とりあえず「CAUTION」だけ拾い読みしてテレビのイヤホン出力に当ててみた。
オシロ初体験なのでサンプリング間隔に設定に関する感覚がないのでアレコレ試行錯誤してしまったが、音声信号を確認するブンには意外なほどサンプリング感覚を粗くしなければイカンのね。つまり如何に安物オシロといえど適当に音声信号のクネクネを見るブンには、最高分解性能は必要ないということ。おぉ!! あこがれのクネクネ信号だ。ついでに以前PCの電源にムリムリ使っていた古いトランスを持ち出してAC100Vの50Hzを確認してしまう。うひゃー楽しい。これから使いでがありそうなツールである。うほほ。
あ、そうそう。昨日のワイヤーストリッパの話にタイミングを合わせるようにインプレスのケータイWatchが100円ショップのソレを取り上げている。確かに100円で買えるのは嬉しいのだが、アレには100円を上回る価値はなかろう。さぁワイヤーストリッパが欲しい人は、浜田電器へ急げッ!!
2007-12-17(Mon) Emacs + IIIMECF + ATOK X3 = シアワセ!?
wbel4-co:/root/atok_install # tar xvfz atokx3.tar.gz
wbel4-co:/root/atok_install/ATOKX3 # ./setupatok.sh
This software is furnished under an end user agreement and may be used
or copied only in accordance with the terms of such license.
If you accept the terms of the license agreement,Please select "Yes".
If you do not accept the terms of the license agreement,Please select "No".
? (yes/no)yes
Preparing... ########################################### [100%]
1:iiimf-client-lib ########################################### [100%]
Preparing... ########################################### [100%]
1:iiimf-gtk ########################################### [100%]
Preparing... ########################################### [100%]
1:iiimf-protocol-lib ########################################### [100%]
Preparing... ########################################### [100%]
1:iiimf-server ########################################### [100%]
Preparing... ########################################### [100%]
1:iiimf-x ########################################### [100%]
"/etc/gtk-2.0/i386-redhat-linux-gnu/gtk.immodules" will be changed.
Preparing... ########################################### [100%]
1:atokx ########################################### [100%]
Installation has been completed.
次はIIIMFの設定。ここは大いにハマった。というか、まずLinuxにおける、日本語入力システムの仕組みがサッパリわかってなかった。一応、オイラはLinuxで飯を食ってはいるが、ウチは主にサーバ用途として売っているから、X上の日本語入力に関する知識はゼロなのだ。
いろいろ苦労して調べたところによるとEmacsとATOKの関係は「Emacs(エディタ)」 → (インクルード) → 「IIIMECF(Lispモジュール)」 → (TCP/IP) → 「IIIMF(入力メソッドデーモン)」 → (ダイナミックリンク) → 「ATOK(漢字変換システムライブラリ)」ということになっているらしい。Xで使う場合のことはよくわからんが、よく聞くSCIM-Anthyというのが、IIIMF-ATOKと同じ次元の概念ということになるな。
IIIMECFは、UnixドメインかTCP/IPのどちらかでIIIMFと通信を行う……のだが、まず、IIIMFをどう起動していいものやらわからない。いろいろ試したところ、単にコマンドラインから「# iiimd」とやれば、デーモンとして起動するみたいだ。
wbel4-co:/etc/iiim # vi iiimd.xml.conf
wbel4-co:/etc/iiim # diff -c iiimd.xml.conf.org iiimd.xml.conf
*** iiimd.xml.conf.org 2007-11-17 12:00:00.000000000 +0900
--- iiimd.xml.conf 2007-12-23 01:27:26.000000000 +0900
***************
*** 7,17 ****
type ... tcp : child directives: <hostname>, <port>
unix: child directives: <file>
-->
- <!--
<listen type="tcp">
! <hostname>localhost</hostname>
<port>9010</port>
</listen>
<listen type="unix">
<file>/var/run/iiim/.iiimp-unix/9010</file>
</listen>
--- 7,17 ----
type ... tcp : child directives: <hostname>, <port>
unix: child directives: <file>
-->
<listen type="tcp">
! <hostname>0.0.0.0</hostname>
<port>9010</port>
</listen>
+ <!--
<listen type="unix">
<file>/var/run/iiim/.iiimp-unix/9010</file>
</listen>
***************
*** 38,43 ****
--- 38,46 ----
<acl type="permit">
<hostname>127.0.0.1</hostname>
</acl>
+ <acl type="permit">
+ <hostname>192.168.1.123</hostname>
+ </acl>
</acls>
<!--
<auth> directive:
wbel4-co:/etc/iiim # iiimd
wbel4-co:/etc/iiim # netstat -an | grep 9010
tcp 0 0 0.0.0.0:9010 0.0.0.0:* LISTEN
次は、Emacsのインストール。ちょっと古いバージョンだが、ディスク上に置いてあったパッケージをそのまま使った。emacs-elをインストールするのは、IIIMFの動作に必要なMule-UCSモジュールが含まれているからである。
wbel4-co:/root # rpm -Uvh /mnt/bin2/WhiteBox/RPMS/emacs-21.3-19.EL.1.i386.rpm /mnt/bin2/WhiteBox/RPMS/emacs-common-21.3-19.EL.1.i386.rpm /mnt/bin4/WhiteBox/RPMS/emacs-el-21.3-19.EL.1.i386.rpm
警告: /mnt/bin2/WhiteBox/RPMS/emacs-21.3-19.EL.1.i386.rpm: V3 DSA signature: NOKEY, key ID 73307de6
Preparing... ########################################### [100%]
1:emacs-common ########################################### [ 33%]
2:emacs ########################################### [ 67%]
3:emacs-el ########################################### [100%]
wbel4-co:/root # emacs test.txt
次はIIIMECFのインストール。パッケージに添付のREADMEにしたがって、バイトコンパイル、インストールする。
wbel4-co:/root/atok_install # tar xvfz IIIMECF-0.73.tar.gz
wbel4-co:/root/atok_install/iiimecf # emacs -q --no-site-file -batch -l iiimcf-comp.el
Remove old byte-compiled files-----
Compiling 1st stage-----
While compiling the end of the data in file /root/atok_install/iiimecf/lisp/iiimp.el:
** The following functions are not known to be defined:
find-coding-system, iiimp-coding-system-or-name-p,
make-network-process, char-to-ucs, ucs-to-char
Wrote /root/atok_install/iiimecf/lisp/iiimp.elc
While compiling the end of the data in file /root/atok_install/iiimecf/lisp/iiimcf.el:
** The following functions are not known to be defined:
event-to-character, character-to-event, event-key,
dispatch-event, next-event,
iiimcf-server-control-get-hotkeys-by-label
Wrote /root/atok_install/iiimecf/lisp/iiimcf.elc
While compiling iiimcf-UI-insert-preedit in file /root/atok_install/iiimecf/lisp/iiimcf-UI.el:
** reference to free variable jit-lock-first-unfontify-pos
** assignment to free variable jit-lock-first-unfontify-pos
Wrote /root/atok_install/iiimecf/lisp/iiimcf-UI.elc
While compiling the end of the data in file /root/atok_install/iiimecf/lisp/EIMIL.el:
** The following functions are not known to be defined:
compiled-function-arglist, compiled-function-instructions,
compiled-function-constants, compiled-function-stack-depth
Wrote /root/atok_install/iiimecf/lisp/EIMIL.elc
Wrote /root/atok_install/iiimecf/lisp/PCE.elc
While compiling the end of the data in file /root/atok_install/iiimecf/lisp/iiimcf-sc.el:
** The following functions are not known to be defined:
line-number-at-pos, maker-position, mark-position
Wrote /root/atok_install/iiimecf/lisp/iiimcf-sc.elc
wbel4-co:/root/atok_install/iiimecf # mkdir -p /usr/share/emacs/site-lisp/iiimecf
wbel4-co:/root/atok_install/iiimecf # cp lisp/* /usr/share/emacs/site-lisp/iiimecf
wbel4-co:/root/atok_install/iiimecf # ls /usr/share/emacs/site-lisp/iiimecf
合計 624
-rw-r--r-- 1 root root 44312 12月 9 08:54 iiimcf.el
-rw-r--r-- 1 root root 26937 12月 9 08:54 iiimcf-sc.el
-rw-r--r-- 1 root root 21739 12月 9 08:54 iiimcf-UI.el
-rw-r--r-- 1 root root 48519 12月 9 08:54 PCE.el
-rw-r--r-- 1 root root 28738 12月 9 08:54 EIMIL.el
-rw-r--r-- 1 root root 60143 12月 9 08:54 ChangeLog
-rw-r--r-- 1 root root 83174 12月 9 11:11 iiimp.el
-rw-r--r-- 1 root root 151532 12月 18 01:41 iiimp.elc
-rw-r--r-- 1 root root 33606 12月 18 01:41 iiimcf.elc
-rw-r--r-- 1 root root 17628 12月 18 01:41 iiimcf-UI.elc
-rw-r--r-- 1 root root 24439 12月 18 01:41 EIMIL.elc
-rw-r--r-- 1 root root 22077 12月 18 01:41 iiimcf-sc.elc
-rw-r--r-- 1 root root 37349 12月 18 01:41 PCE.elc
wbel4-co:/root # vi .emacs
;; .emacs
;;; uncomment this line to disable loading of "default.el" at startup
;; (setq inhibit-default-init t)
;; turn on font-lock mode
(when (fboundp 'global-font-lock-mode)
(global-font-lock-mode t))
;; enable visual feedback on selections
;(setq transient-mark-mode t)
;; default to better frame titles
(setq frame-title-format
(concat "%b - emacs@" system-name))
(global-set-key "\C-h" 'delete-backward-char)
(global-set-key "\C-z" 'scroll-down)
(global-set-key "\C-u" 'undo)
(global-set-key "\C-]" 'call-last-kbd-macro)
(menu-bar-mode nil)
(column-number-mode t)
(setq blink-matching-paren nil)
(setq default-tab-width 4)
(setq default-fill-column 64)
(setq text-mode-hook 'turn-on-auto-fill)
(setq make-backup-files nil)
(setq auto-save-default nil)
;; ATOK X3 for Linux
(setq iiimcf-server-control-hostlist '("localhost:9010"))
(require 'iiimcf-sc)
(setq iiimcf-server-control-default-language "ja")
(setq iiimcf-server-control-default-input-method "atokx3")
(setq default-input-method 'iiim-server-control)
(define-key global-map "\C-q" 'toggle-input-method)
冒頭は、WBELのEmacsパッケージのデフォルト設定。その後ろがオレ用設定。末尾の7行がIIIMECF用の設定なのだが、この設定を付加し、Emacsを起動、Ctrl+qでATOKを起動しようとすると……
Args out of range: 0, 9
2009-12-17(Thu) マジで週刊「メーラを作る」
先ほど、テキストベースのメーラ「Mave」のバージョン2.93をリリースした。なんと、今回は真に週刊ペースである。
今回のリリースの目玉は、インクリメンタルサーチ機能。コードを書くのが3度目にもなると、さすがに実装方法も洗練されてくる。見た目の動作の複雑さに反して、意外なほどスッキリしたコードになった(気がする)。
2016-12-17(Sat) デスクトップPC用スピーカ完成、Kindleにストラップを装着
先日、回路的には完成したものの、どうやって設置したものかと、やや思案しつつ、ディスプレイの左右に設置することにしたのであった。PCのスピーカと言えば、やはり往年のX68k用ディスプレイCZ-613Dのイメージが浮かぶのだ。不恰好といえばその通りかもしれないが、音源の配置場所としてはベストであることに間違いない。
直接にディスプレイの脇にくっつけるのもアレなので、手持ちの木材を利用することにした。白木の色は目に眩しいので、手持ちのつや消しブラックのスプレーでササッと塗装し、木材の両端にぶら下げるようにくっつけ、ディスプレイの上に載せる。アンプは右のスピーカの上あたりにくっつけ、右手で容易に電源のオンオフとボリュームの調整ができるようにした。オレンジの電源ランプもいい感じ。
さて、既に主に無料のマンガを読むために使い倒しているKindleだが、いつまでも前面パネルを外したままというのもみっともないので、サッサとストラップをつけて前面パネルを元に戻すことにした。
2024-12-17(Tue) なんとなく大阪へ走り出す
6時に目を覚ます。朝食は6時45分から。ここんとこロングドライブの宿は、開店と同時がデフォだ。パパッと食べて駐車場に向かう途中、フロントガラスをガリガリしている人を見かける。え。そんなことになってんの? と、思ったら、なってた。ガリガリするの面倒なので、エンジンをかけデフロスタをマックスにして待つ。まぁまぁ溶けたら出発。でも、幌は凍りついているので開けられない。残念。
今日は大阪に行ってみることにした。ちょっと前に計画した「パークアンドライド」を試してみようかと。目的地は日本橋付近。だいぶ前に行ったレトロゲーセン「ザリガニ」と、共立「シリコンハウス」でも再訪するつもりだ。
山道を門真市に向かって南下する。雪が心配だったが大丈夫。酷道かと思ったら、そこそこ交通量があり、連なって走ることに。が、その先、市街地に入るとかなりの渋滞だ。なぜか茨木駅前を通過。摂津の新幹線基地の横を通り、なんとか門真市へ。
知ってはいたが、駐車料金は平日なので550円ではなく990円。ガード下なので無闇に狭く、あまり快適とは言えない。門真市から京阪電車で北浜へ。280円。大阪の電車ってなんか違うな。北浜での乗り換えは地下で完結。案内が多く迷わない。堺筋線に乗り換えて恵美須町へ。240円。んが、恵美須町駅を上がった交差点にある駐車場が、当日800円、休日でも1800円だと!? なんやそれ。パークアンドライドの意味ないやんけw。まぁ、市内の渋滞は避けられるし、電車も楽しいけど、別に必要なかったんかいな。あほらしわぁ。
気を取り直して、レトロゲーセン「ザリガニ」へ。なんだか活気がない。そりゃ、平日だからな……と、いうのともなんか違う印象。いきなりテトリスが目を引く。画面の色ズレで四角の黄色ブロックが3x2みたいに見える。これはキツそう(笑)。アフターバーナーが3台並んでいるのはスゴいよな。アウトランもダライアスもある……けど……あれ? アウトラン、なんだか画面がスクエアだ。ちょっと笑えない。
やっぱりダライアスはやっておくべきだよな……が、1P側のコンパネが使えないので2P側でプレイしろという状態。海外版ならではの逃げ方だな。まぁ、右側にいること多いんだし、いいか。ボタンが連射付きなのはいいが、連射なしボタンはなし。コインも入りづらい。うーん、呑み込まれないだろうなぁ……入った。あれ、中央のモニタの色がヘンだ……んー、なんだか? なんだか??
プレイを始めてすぐにレバーの反力がユルいことに気づく。ユルいどころか、時々、下に入りっぱなしになる。実はこの症状、ダライアスの純正レバーにありがち。だから、前回来た時はシャキッとした反力に、むしろ驚いたんたものだが……これは狭いステージに行くのが怖い。エキストラバージョンではないようなので、ミサイルで止める。なんとなく、保険を多めに5つで止めた……ところで、中央のモニタの色がヘンなのは、赤成分が抜けているから、ということに気づく。これだとカプセルの色がわからん。赤かと思うと取るのを躊躇してしまう。
「A-C-F-J-O」と下ルートを進む。青をいくつか逃したので、いまだスーパーアームのまま。ほんじゃ、と、Tを抜けて、Yに進んだ。狭いトコは無事に抜けられたが、イカの直前でアームが剥がれた。これはキツい。正面切って戦うほど若くはないので、上の腕に張り付くが、痛恨のミス。正面でも戦ってみるが、ヤズカがキツい。すべての残機を潰し終了。まぁ、そんなもんか。
2Fに上がってみたが、サイバリオンもドルアーガも動いていない。と、ようやくそこで、疑念が確信に変わった。きっと、飽きちゃったんだなぁ、これ。動いていない筐体が端に固められている。どれも、稼働するに満たない状態なのだろう。メンテナンスを怠ると、こういうことになるんだなぁ。
レトロゲーセンって、全国に数えるほどしかなくなってきてるけど、その各々は想像以上の情熱によって支えられていたのだ、ということを実感させられた。ゲームセンタなんて、基本は個人が営利のために運営しているわけだから、その運営状態は運営している個人の裁量に依存する。ある意味で「底」を見ることができて、当たり前のことに気付かされた。まぁ、自分もレトロゲーは好きだけど、飽きずに何年もメンテし続けられるかといわれると必ずしも自信ない。
対象がパブリックになっていると誤解しがちだが、法に反しない範囲で次第に腐っていっても、法は止めてはくれないのだ。それは大きな会社だろうが同じ。個人経営はもちろん、イエスマンに囲まれている経営者は、方向性を誤ってもそれに気づけない可能性が高いだろう。もっと大きく、業界だろうが、国家機関だろうが、それは起こりうる。それを個人の働きかけで変えることは難しい。できるのは、それを正しく捉えて振る舞うことくらい。たった100円で多くのことに気づくことができたな。さらばザリガニ。これが最後だ。二度とここには帰らん。
次の目的地である共立「シリコンハウス」へ。最近、ハンダゴテを振るってないので、そんなにワクワクしないし、買うものもない。そういえば、マウスのセンタークリックが腐りかけてたことを思い出し、タクトスイッチだけ買っておく。33円。6個で198円。と、その近くでアーケードゲーム用のジョイスティックとボタンをみかける。ちょっとイイな。でも、4方向レバーに変更できるヤツが欲しいんだよな。帰ったら探してみよう。やっぱり、実店舗はインスピレーションを与えてくれて、イイ。