VirtualPCでDebian(woody)の覚え書 [備忘録]
ソースツリーは微妙にSH4でもx86でもほとんど修正無しで済むようにしてあるので問題無いのです。
で、最近更新してもらった会社ノートPC(VAIO type Z)でVirtualPCなDebianを動かしてみると...
「えぇ~?!」
なぐらい動作が遅い。ってか/dev/hdaでlost interruptが頻発する挙句、コンソールにバラバラ出力されて使い物にならないでやんの。
祈る気持ちで
# hdparm -d 1 /dev/hda
でDMAモードをONにしてみたら...見事に解決ッスよ!!
これ以降はlost interruptは一切なくなって全体のパフォーマンスが段違いに良くなりました。
VirtualPCとかのエミュレータってDMA転送もサポートしてるんだ。すげーな、おい。
これでVirtualPC上に製品と機能的同等品(ソースレベルでは互換性あり)な仮想環境が作れるよ。
最近のノートPCだとcoLinuxが動かなくて難儀していたけど、これで安心かも。
後はがんばってポーティングせねば。
昔とった杵柄 [備忘録]
ふと大学時代の卒研で精神医療診断用ソフトの実装なんてしてたのを思い出した。
あん時はX Window System+Motif向けに書かれた元ソースを全く読まずにJavaで遊んでたなぁ...。
やっぱり電気回路に向いてないなぁ [備忘録]
後輩に聞かれて即答できなかったので覚えておく。
元ネタはFA屋の会議室
NFB:過電流遮断器 ELB:漏電遮断器(最近は過電流遮断器の機能を併せ持つものが多い) CP:サーキットプロテクター ヒューズの代わりとして使う例が多い。 NFBやELBが電磁引き離し方式を採用しているのに対し、 バイメタル方式を採用しているので、比較的安価ですが、比較的ELBやNFBに対して動作時間が遅い NF:ノイズフィルター。電源から混入するノイズ成分をカットする。 一般的には、大元の電源にELB、各モーター負荷の大元にNFB、DC電源などの 微少負荷(といっても、ヒューズを使うような回路に)CP そしてシーケンサー(やタッチパネル用)の電源の直前にNF という使い分けで大抵は大丈夫です(NFは過負荷保護じゃないです)
バイメタル…抵抗に電流を流し熱を発生させ、その熱でもって 熱変性が異なる2つの金属を曲げ接点のON/OFFを行う
電磁引き離し…コイルに電流を流し電磁誘導によって接点のON/OFFを行う
バイメタルは温度に変換してから接点操作なので電磁誘導に比べて時間が掛かるらしい。あとコイルを使わんで済むので仕組みが単純で安価で済む...と思われ。金属特性を使っているおかげで劣化しづらいらしい。
これを熟知してなくても回路図を書いてたってのが恐ろしい(参考図面があったからねぇ)。 いくらソフト屋ベースのSEとは言え、操作回路図程度の知識は必要だろうな..。この手の知識ってWebで体系化してあるところって少ないのよね。
APOP [備忘録]
何故か自作MUA(送信だけね)のPOP before SMTP部分をAPOP対応にする気になったのでメモ。
POP3 クライアントを作ってみよう(3)
実装するのはいいものの、社内のメールサーバだとまともにテストできないので(汗、携帯使ってPPPしてSo-netのメールサーバを使うという情けない状況。
さらにはMD5ハッシュの作成はmd5sumコマンドを使ってるんだけど、パイプ経由でechoさせて読む際にechoの-nオプションを付けてなくて、改行コードが含まれてしまいハマりまくり...orz。
おかしいなぁ、もっと簡単に実装が終わると思ったのだけど...。やっぱりモチベーションっすか?
ちなみにAPOPはPOPが
USER hogehoge PASS passwordしてたのを
APOP user md5hashにしたものです。
md5hashにはPOPサーバ接続時に'<'~'>'で括られて渡されるタイムスタンプ+パスワードをmd5した値です。タイムスタンプが返ってこない場合はAPOP不可なんで普通のPOPで認証してください。
md5hashはPOPでつないだ際に返される「<8817156.1131971481@202.71.73.25.18846>」のようなタイムスタンプ+パスワードで「<8817156.1131971481@202.71.73.25.18846>password」をmd5sumでハッシュした値です。
ほら、簡単ぢゃん...。
RSS AutoDiscovery [備忘録]
RSSリーダーを利用する為の覚書き。
<link rel="alternate" type="application/rss+xml" title="RSS" href="RDFのファイルのURL">を<head>タグの中に埋めておけばfirefoxなんかではステータスバーにRSSのアイコンが表示され、そのまま登録可能。他のRSSリーダーでも上記タグを含んだページ(index.htmlとか)を作っておけば、そこを指示するだけでRDFファイルに到達できるハズ。
浮動小数の仮数とか指数 [備忘録]
いつも忘れるのでメモ。二次方程式の解
ってかLinux-SH4用のクロスコンパイラの浮動小数なんか挙動不審。
x86だとprintf("%f",float)でNaNの値を突っ込んでも死なないけど、SH4のクロスコンパイラでやるとSEGVるみたい。おまけにmath.hに含まれるisnanf()等でも微妙に検出できない怪しさ...orz。
なんか中途半端っぽいので自作することにしよう。
Oracle+SQLメモ [備忘録]
SQLの本を大阪から持ってくるのを忘れたので必要文だけ抜粋。
現場でこれ以上は不要だろう。(最悪はGUIあるし)
Oracleのコマンド
・データベースのエクスポート(ってかダンプ)
exp 【ユーザー名】/【パスワード】@【サービス名】 file=【ファイル名】
・データベースのインポート(全部)
imp 【ユーザー名】/【パスワード】@【サービス名】 file=【ファイル名】 IGNORE=y FULL=y
・データベースのインポート(特定のテーブル)
imp 【ユーザー名】/【パスワード】@【サービス名】 file=【ファイル名】 IGNORE=y tables=(【テーブル名1】,【テーブル名2】,…)
SQL文
・検索
SELECT 【式】 FROM 【テーブル】 WHERE 【条件】
*1.件数数えるときは式にcount(*)
*2.降順にする場合は ORDER BY 【フィールド名】 DESC
・削除
DELETE FROM 【テーブル】 WHERE 【条件】
*1.全部削除するならTRUNCATE TABLE 【テーブル名】
・テーブルの削除
DROP TABLE 【テーブル名】