SVX日記
2004-07-15(Thu) 接続ケーブルほか完成
実はケース加工(穴の増設)だけは昨日行っていたので、今日は配線を通してハンダ付けするだけ。必要なケーブルを揃え、一気に変換ボックスを完成させるのである。ステレオミニプラグの延長ケーブルをチョン切って利用したところ、内部の線がヨリ線かつ、表面メッキかつ、繊維混合のものだったため、かなり無理矢理ハンダ付けするという苦労があったが、とりあえず、完成である。
引出しから引き出せるケーブルは、1)ビデオ信号(RCAオス)、2)オーディオ信号(ステレオミニオス)、3)USB(Aタイプメス)、4)マイク(モノラルミニメス)の4種。そう、実は最後に1本余ったケーブルの秘密の用途とは、音声入力だったのである。音声入力があれば、音声入力によるPC操作に利用できる可能性があるし、とりあえずカラオケするのも悪くない(^^;)。
ちなみに、引出しに内にはPCの電源スイッチ&リセットスイッチとピンヘッダも存在する。ピンヘッダは6pin中5pinを使用しており、アクセサリ電源(+12V)&アースとシリアルポートのTx&Rxである。これも長らく秘密にしていたが、実はシリアルポート(RS-232C)だったのである。シリアルポートが前に出てきていれば、キャラクタ表示のLCDパネルを取り付けることもできるのだ。ナビが必要ない時は、デカイLCDディスプレイでなく、小さなLCDパネルで済ますことができる。そのために、5pinの中にはパネル駆動用の電源も含まれているのである。
2006-07-15(Sat) プチLinuxBox構築計画
コレだ。ファンレス動作のx86互換機……とはいえ、キーボードもディスプレイもつながらないので、IBM/PCとは言えない。いわゆる無線ルータ用のプラットフォーム。平たくいえばLinuxを動かしてルータを作るためのベースボードである。
実際に無線LANルータにするためには、本体上のminiPCIスロットにカードを実装する必要があるが、現状ではそんなコトするつもりはない。単に、家のサーバをコレにリプレースしてしまおうと思っているのである。電源はACアダプタで完全ファンレス、消費電力10W以下、しかもLANのI/Fが3つもあるッ!! 3つあればDMZが構築できるアルよッ!! こんなボードが欲しかったアルッ!!
そしてなんといってもオイラの心をくすぐるのが、この赤い筐体……なんというオレ好みッ!! しかも、この筐体とボード、送料まで合わせても2万円を超えないッ!! 安いッ!! 起動にはコンパクトフラッシュが必要だが、そんなの手持ちのゴミを流用すりゃいい。うっはーッ!!
しかし、早速、動かしてみようとしたトコロでハタと困った。こいつにはディスプレイがつながらない。いわゆるシリアルコンソールをくっつけなければ、動作してるコトすら確認できないし、操作するコトもできない……まずはマニュアルを読もう……
……うーむ、英語だが、なにしろ、電源をつなげよ、「null modem cable」でシリアルコンソールにつなげよ、「1:1 connected serial cable」でつなぐと壊れるぞ、通信パラメータは「38400 8N1」だぜ、あとコンパクトフラッシュはホットプラグじゃねーから電源オフの時に挿せよ……てなトコか。
で、なんとなく想像は付くんだけど「null modem cable」ってなに? 調べると予想通り「クロスケーブル」のコトだった。そんなの手元にないよ。作るか? でも、9ピンメスコネクタの部品は10数個もあるけど、オスは基板装着用が1個しかない……えーい!! もう使わないだろうコレをバラすか!? バラした!! RXとTXを引っくり返してハンダ付けした!! 挿そうとした!! 挿さらんッ!!
2011-07-15(Fri) PDFを集めれバインダ
もう7年も前に悪態をつきまくったPDFであるが、いまだに文書ファイルのフォーマットとしてデファクトスタンダードの位置にある。まったくもって不快この上ないが、Web上にある電子部品のデータシートは決まってPDFだ。もはや、逆らおうにもどうにもならない。
最近、ZiiOというAndroidタブレットを購入したのだが、触ってみて驚いた。どのアプリも、PC版に比べて極端に機能が低い。ん?「ファミコン版」なの? これは? という感じ。おまけに動作が不安定。ガタイがノートPC大である10インチ版を購入したこともあって、より激しい錯覚を起こしているのかもしれないが、現在のところ「所詮は携帯向けのOSだな」という評価に留まらざるを得ない。それにしたって、不安定すぎる気もするが。
と、話は替わって、PDF閲覧UIに対する不満とは別に、利用する端末が増えてくると、これまたPDFは面倒である。ファイルサイズがデカいから、ダウンロードに時間がかかる。で、どの端末でダウンロードしたかを忘れてしまうから、以前にダウンロードしたはずだ、とディレクトリを探し回った挙げ句、ダウンロードしてなかったことに気づいたりしてイライラするわけだ。探し回るのを効率化するため、分類して整理するのも手ではあるが、んなこと端末毎にチマチマやってられっかッ!!
ちなみにオイラ、いわゆるブラウザのブックマークについては、自宅サーバ上に配した自作のスクリプトによって、全環境で共有化している。カテゴリ分け可能、かつ、アクセスすると勝手に上位に移動する仕組みで、鼻血が止まらないくらい便利な環境を構築済みなのである。じゃ、PDFについても、似たようなことをすればいいんじゃないか。どの環境からでもPDFを自宅のサーバ上に集められるようにし、かつ、閲覧できるようにすればいい。そうだ! 自宅サーバをバインダ代わりにして「PDFを集めれバインダ」!!
つーわけで作ってみたのが、この100行に満たないCGIスクリプト「PDFを集めれバインダ」。である。eRubyで書いた。というのも、CGI自身を書き換えるという奇妙な仕様にマッチするからだ。HTMLとしては、かなりの文法破りを犯しているが、とりあえずは問題なく動作するはず。今回は、借りているVPS上にスクリプトを置いてみた。おぉ、我ながら、なかなかに快適ではないか。
PDFを指すURIをテキストボックスに貼ってボタンを押すと、サーバ側でPDFをダウンロード、登録され、閲覧が可能になる。なお、ブラウザ上からは登録のみしかできず、カテゴリ分けはブラウザ上からでなく、サーバにログインしてから、直接HTMLをエディタで編集するという仕様になっている。
2012-07-15(Sun) レース&レース
まったり向かいつつ、9〜12レースに300円ずつ。9と12で単勝をまぐれ当たり。払戻が580円と390円で、あっさりと1710円のプラス。それにしても12レース、先行逃げ切り6馬身差って……賭け事の厳しさを教えるつもりだったのだがな……。
帰宅して、ここ最近、思い出したようにグランツーリスモ3に取り組むイッペイ。自分はF1マシンに乗っているとはいえ、プロフェッショナルリーグ、グランツーリスモ・ワールド・チャンピオンシップ、コートダジュール(モナコ)で、15周。1回のピットインを挟みつつ、土壇場で787Bをブチ抜いて優勝。見事に350万とモナコマイスターの座をゲット。
2017-07-15(Sat) MTのコペンにも試乗、スプラトゥーン2前夜祭参加
先日に引き続き、MTのコペンに試乗してきたが、ディーラーの対応にシツこいところはなく、似たようなものであった。
それにしても、久々のMT。エンストこそしなかったものの、クラッチミートの感覚がしっくりこなくてガクガクさせてしまった。というか、MTに乗ってた頃も、代車の後は、自分の車に違和感を感じたから、別に何か衰えたわけでもなく、そんなもんなのかな。ガキを連れて行って一緒に乗ったのだが、初めてのオープンカー&タイトなコックピットが痛く気に入ったようだった。
で、今日は、スプラトゥーン2の前夜祭の日だったりする。例によって、開始直後から、まったくサーバにつながらない……1時間も……と、思ったら、ネット上にはそんな話はない。あわてて有線につなぎ替えたら、問題なくプレイできた。1時間以上も無駄にしてしまった。
メインの通信は、プレイヤ同士直接の秒間約30のUDPパケット。中央サーバは、やっぱり、AWSを使っているらしい。中央サーバとの通信量は、前作も大したことはなかったが、今作はさらに抑えられているような感じだ。
2024-07-15(Mon) Improving is Entertainment!
どうも最近「ヤル気の低調さ」を自覚する傾向にある。自覚したところで改善は難しいのだが、それはそれで低調なヤル気でやれる事を探したりできないこともないわけで、ダラダラと進められることに手を付けるわけだ。
そういや、メール環境を自作のMaverickに移したはいいが、メールの削除が面倒でゴミメールが3000通くらい溜まってしまっている。実はちょっと前にスレッド単位での削除機能を付けたのだがとても追いつかない。チェックボックスをチェックする操作が面倒すぎるのだ。要するに、画面内の全メールのチェックボックスを一発でチェックする機能が欲しい。
/root/docker/mave/mave # git diff
diff --git a/maverick.rhtml b/maverick.rhtml
index 4127bde..3dec566 100755
--- a/maverick.rhtml
+++ b/maverick.rhtml
@@ -176,6 +176,7 @@ SEARCH_FORM
<H1>Maverick</H1>
<HR>
<FORM action='.' method='post'>
+ <INPUT type='checkbox' id='checkall'>
<INPUT type='hidden' name='folder' value='<%= folder = cgi.params['folder'][0] || 'Inbox' %>'>
<% if(cgi.params['startsq'].size != 0)
%> <INPUT type='hidden' name='startsq' value='<%= sq0 = cgi.params['startsq'][0] %>'>
@@ -189,7 +190,7 @@ SEARCH_FORM
<HR>
<PRE><TT
><% sqs = maverick.each_mail(folder, sq0, n_max = 25) {|mail|
- %><INPUT name='sqs' type='checkbox' value='<%= mail[:SQ] %>'
+ %><INPUT name='sqs' class='mail' type='checkbox' value='<%= mail[:SQ] %>'
><A href='<%= maverick.script %>?view=mail;folder=<%= folder %>;sq=<%= mail[:SQ] %><%= sq0 ? ";startsq=%s" % sq0 : '' %>'><%= CGI.escapeHTML(mail[:ABSTRACT]) %></A
><A href='<%= maverick.script %>?folder=<%= folder %>;sq=<%= mail[:SQ] %><%= sq0 ? ";startsq=%s;" % sq0 : '' %>;req=fold'> < </A>
<% }
@@ -276,5 +277,14 @@ SEARCH_FORM
</BODY>
<% end
maverick.close
-%></HTML>
+%> <SCRIPT type='text/javascript'><!--
+// (chackall = document.getElementById('checkall')).addEventListener('click', () => {
+ checkall.addEventListener('click', () => {
+ mails = document.querySelectorAll('.mail');
+ for(mail of mails) {
+ checkall.checked ? mail.checked = true : mail.checked = false;
+ }
+ });
+ --></SCRIPT>
+</HTML>
ググるのも難しそうだと思ったが、すぐに見つかった。id名は「document.getElementById('id')」しなくても使えるらしい。なんだその場当たり的な仕様は。長すぎて打つの面倒だからそうしましょう、みたいな。やっぱりJavaScriptは好みじゃないな。キラいではないけれど。あ、Pythonはハッキリとキラいです。そのことだけはお付き合いを始める前にあらかじめお断りしておかなくてはと思いまして。えぇ。
またまた。次。オレ用のブックマークサイトの修正。先日からサイトの追加だけができなくなってしまっていた。DBがエラーを吐いている。軽く10年以上も動いていたのに何で? DBが壊れた? ゴミが溜まったか? sqlite3もたいしたことないな。エクスポートしてインポートすれば治るんじゃね?
$ sudo dnf install sqlite
$ sqlite3 remote_bookmark.db
sqlite> .output export.sql
sqlite> .dump
sqlite> .exit
$ sqlite3 import.db
sqlite> .read export.sql
sqlite> .exit
……が、治らない。アレ。ちゃんとエラー内容確認しなきゃダメか……と、マジメに読むと、uniqueキーの制約でinsertに失敗している。サイトへのジャンプの履歴の追加だな。あ。確かに重複している。なんで? あ。先日、移行時にヘンなことしたからか。その時に不整合を入れてしまったんだな。sqlite3のせいではなかった。でも、オレの書いたコードのせいでもない。10年以上も前のオレ、ナイス。
まずはヘッドホン。2年前くらいにちょっと奮発して買ったロジクールのヘッドホンG433BKに輪っかを付ける。頭頂部に穴孔けたいけど、ケーブルが片出しなんだから、ソコには配線があるはずだよね。と、アチコチを眺めると、ネジ発見。なんとトルクスだ。外すと頭の上のクッション部分を外すことができた。ウオッ、凝った作りだなぁ。部品もすごくシッカリしている。そこそこ値段しただけのことはあるな。メクラで穴孔けなくてよかった。ピンバイスでふたつ穴を孔ける。これまた品質のよいプラスチックを使っているだけあって、硬いな。ネジリッコ通して元に戻す。
次はF310というゲームパッド。これもロジクールじゃないか。普通のプラスネジだが、裏に7本もある。パカッとやると機構のほとんどは背面側であった。穴を孔けるのも背面側。ケーブルの少し奥に穴を孔け、やっぱりネジリッコ通して元に戻す。元に戻す時に、ボタン類を全部ブチまけてしまって慌てたのはナイショの話。
ヤル気が低調だった割には、エラく色々なものを改善できてしまった。先日、脳の疲れを癒すいくつかの方法というエントリで、そういう時のために軽いゲームを用意しておくといいようなことを書いたが、そういう時のために軽い課題を用意しておくのも有効なんだな。たいして必要性は高くなくて、そう難易度も高くない作業は、メモだけしてやらずに残しておくのだ。