全883件 (883件中 201-250件目)
< 1 2 3 4 5 6 7 8 9 10 ... 18 >
帰宅 0:35 いつもの様に遅い。帰宅開始 30 分前、始めてから 1 週間くらい経っているだろうか?まだデバイスを動かせない人を冷やかしに行く。色々と話を聞いてみると、データシートを読んでい無さそうだ。オシロまで机に並べているのに。単純に固定されているはずのピンの電圧(ロジックレベル)も未確認。テスタで当たれない様な BGA パッケージでもない。なんだろう、問題を考える材料を集めない。問題を巻き戻せない。状況の差分を考えない。
2015.10.29
コメント(0)
Ubuntu 14.04.3 を USB メモリにインストールして起動し Try Ubuntu without installing を選んで起動しても次の様なログイン画面になってしまう場合がある。このログイン画面で login name: ubuntu, password: なし(no password) を入れてもデスクトップ画面にすることはできない。USB メモリに Ubuntu を書き込む所から準備が必要だ。4Gbyte(kde-full の場合は 8Gbyte) 以上ある USB メモリを使い Universal USB Installer で Persistent file size を 2Gibyte (kde-full の場合は 3Gbyte)程度かそれ以上にする。Persistend file size の微調整は [←][→] キーでする。そこに新しいウインドウマネージャー(デスクトップ環境)をインストールすることで問題は一応回避できる。login 画面になった所で [CTRL]-[ALT]-[F4] を押してコンソール画面に入る([CTRL]-[ALT]-{[F1]..[F6]} も同様の機能)。lxde をインストールするならば次の様にコマンドを投入する。$ sudo su# apt-add-repository universe# apt-get update# apt-get install lxde[CTRL]-[ALT]-[F7] を押して、GUI 画面に戻る。ここで 1 度わざとログインに失敗する。次のアカウントで 1 度ログインを試す。これは失敗する。login name: ubuntupassword: なしすると、ログインダイアログの右上に ● が現れる。● をクリックして lxde を選ぶ。もう一度 login name: ubuntu, password: なし でログインを試みる。何回か小さなダイアログに応答する必要があるかもしれない。デスクトップ画面に辿りつける。画面が真っ暗になってしまった場合は openbox を選んでしまっている。右クリックで脱出できるメニューが現れる。他の Desktop 環境(Window Manager)を選んで試してみる。xfce4 の場合$ sudo su# apt-add-repository universe# apt-get update# apt-get install xfce4 xfwm4-themes gnome-icon-theme-fullkde の場合$ sudo su# apt-add-repository universe# apt-get update# apt-get install kde-fullUnity (Ubuntu) だけが問題を起こす様だ。最も問題を起こす Desktop 環境を一押ししてくるなんて...
2015.10.18
コメント(0)
ハードディスクのサルベージが難航していた。Linux で sg3_utils の sg_dd を使い読み取れないブロックを飛ばしつつ、ディスク全体をイメージファイルコピーする。# sg_dd if=/dev/sda of=salvage.img iflag=coe,sgio coe=1 time=1 bs=512 bpt=32coe, sgio, time パラメータがサルベージを目的とした指定だ。コピーがなかなか進まないのでsg_dd にパッチを当ててしのぐことにした。sg3_utils-1.37 に対するパッチなので最新の sg3_utils に当たらないかもしれない。Linux の SCSI 層は状況を悪化させる様な作りになっている。エラーがあるとリンク(SATA ドライブで有れば SATA Link)を切断して再接続する。次の様なログだ。[ 702.238974] ata4.00: qc timeout (cmd 0xec)[ 702.246847] ata4.00: failed to IDENTIFY (I/O error, err_mask=0x5)[ 702.246853] ata4.00: revalidation failed (errno=-5)[ 702.246860] ata4: hard resetting link[ 704.972263] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)[ 764.704116] ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0[ 764.704121] ata4.00: irq_stat 0x40000001[ 764.704126] ata4.00: failed command: READ DMA[ 764.704132] ata4.00: cmd c8/00:10:30:ec:03/00:00:00:00:00/e0 tag 26 dma 8192 in[ 764.704132] res 51/04:10:30:ec:03/00:00:00:00:00/e0 Emask 0x1 (device error)[ 764.704135] ata4.00: status: { DRDY ERR }[ 764.704137] ata4.00: error: { ABRT }[ 765.244760] ata4.00: configured for UDMA/133[ 765.244780] ata4: EH complete[ 768.926130] ata4: limiting SATA link speed to 3.0 Gbpsリンクを切断してしまうと IDENTIFY からやり直しになる。せっかく認識出来た状況を御破算にしてしまう。sg_dd でコピーしている途中でディスクが消失してしまいコピーが中断する。SCSI 層を修正する手もある。大げさな手は時間が掛かる。sg_dd を修正する事にした。ログを見ると timeout, ABRT が目立つ。読み取りできないブロックで timeout, abort が発生するのは仕方が無い。timeout, abort の頻度を不必要に上げないことにした。当てたパッチは SG_IO が abort した時に同一の block でリトライしない(ソース中では repeat)様にする修正だ。abort 回数の上限も 256 から 10240 に上げる。sg_dd のソースを見るとブロックを読み取れない状況は medium error で通知されることを前提にしている。実際は時間切れで abort が発生する。SCSI エミュレーションで SATA ドライブをアクセスしているので期待したステータスは帰ってこない。暇になった時の課題かな、サルベージ専用の dd を作る。
2015.10.11
コメント(0)
久しぶりにラジオデパートに入って見る。何の魔が差したのだろう。階段の所に懐かしい絵柄のポスターが目に入る。昭和の画風。今の若い人たちには珍しく感じるのか、それとも違和感を感じるのか、浮世絵を見る感じなのか。「マイコン BASIC マガジン」スペシャルトークイベント のお知らせポスターだった。 2015.11.8(SUN) 14:00 - 18:00, 開場 13:00 予定 とある。出演者を見ると懐かしい名前ばかりだ。もう 33 年ほど前のこと、読んでいた自分は今 45 才、出演者として集まってくる人たちも恐らくは 50 ~ 70 才くらいだろうか。33 年の時を経てプログラムのソースコードはクリック一つで入手でき、そして公開できる。エディターで開けば関数や変数の参照関係は如何に深く遠くで有っても追跡できて、オートコンプリートで容易く修正できる。ググれば作例や注意事項は大量に見つかる。だけど何だろう、「今っ子」たちのプログラムに違和感を感じるのは。他人のプログラムを読んで反省や工夫の余地を追求していないと言うか、良く言えば「個性がある」のだけど、一つ抜きんでる鋭さが無いし、あらゆる批判(ソフト的に言えばテスト)に耐える屈強さも無い。「マイコン BASIC マガジン」的なプログラムを執筆公開するという手続きが必要な場はもう作れないかもしれない。あぁ、いや、Linux kernel driver の patch を投稿してフルボッコにされるとか、そう言う機会なんだろうなぁ。うーん、ラジオデパートは地下の一部を除けばほぼ球のアナログ屋さんと LED 屋さん建物になってしまったんだけどなぁ。
2015.09.26
コメント(0)
母親が PC がおかしいと言う。word 文書 .doc, .docx に赤い Acrobat Reader のアイコンが付くと言うのだ。リソースが足りなくなると、ファイルに付くアイコンがメチャクチャになることは良くある。症状は .doc, .docx を開こうとすると、「壊れている。修復するか?」という旨の表示が出るらしい。リソースが足りずアイコン表示がメチャクチャになっている場合でも、ファイル拡張子とアプリケーションの関連付けは維持されている。何かがおかしくなっているのは確実な状況だ。この時点で関連付けを直せば良いかと思っていた。急遽秋葉原に行くつもりを止めて、実家に出向くことにした。幸い無くしたと思っていた部品も出てきたし、行く用事も今日は急ぎでは無くなった。実家の PC の状況を見てみる。確かに .doc, .docx のアイコンが Acrobat だった。右クリックで「プログラムから開く」にて word から開く様にすれば大丈夫だと思っていた。word が出てこない。あれ?スタートメニューから、Microsoft Office を探す、Microsoft Office より一段下のメニュー項目に並んだ word, outlook, excel, power point のアイコンがみんな白表示になっている。リンク先が失われているのだ。消された?コントロールパネルよりプログラムの追加と削除を見る。Microsoft Office が消えている。消されたにして、何か中途半端で強引に消された様な状況だ。再インストールのため、リカバリディスクが無いか探した。今の Office はキーだけが PC に添付されている。ダウンロードでインストール出来ることが分かった。キーを入力してダウンロードしてインストールした。word, excel, power point は復旧した。outlook の再インストールに難儀する。メールアカウント設定を復旧する必要がある。実家にプロバイダーの契約書類が無いか探した。無い。持ち込んだ自分のノート PC にアカウント情報の複写が有ることを思い出す。.pst ファイルをバックアップした後、アカウント情報を複写より復旧した。メールの再開通を確認する。不可解だ。「アプリケーションの追加と削除」なんて弄ることが出来ない母親だ。自発的にこんな状況に持って行くことはほぼ有りえない。誰かに消されたか、怪しいソフトによってアンインストールされたかだ。「変だなー、ソフトが消えることなんてないのに」と呟きつづ、Microsoft Office を消す様な意図が残っていないか PC の設定やファイルを見回す。特に怪しいものは見つからず。Microsoft Office の代りに使ってもらいたいソフトにすり替えられた様子は無い。ふと、頭の中にひらめくキーワード「PC 修復詐欺」。母親に「PC を修復するとか、お困りでは有りませんか」とかいう勧誘や表示を見たことは無いかと聞いてみる。「そう言えば、PC で困ったようなので修復するから 50,480 円程掛るという案内を見た」と言う(金額はうろ覚えだ)。色々と入力しているうちに、金額が出ることに違和感を覚えて止めたのだそうだ。怪しいリンクをうっかりクリックさせて、Office を削除するプログラムを起動、文書ファイルやメールが使えなくなる様にする。IE でググったら(検索プロバイダーリンクを書きかえるのだろうな...そう言えばリンク点検したかなぁ) 何やら、親切に状況を察した様に PC 修復案内ページに繋げる。家に出向いてまんまと修復のお代をせしめる。やることは再インストールだけだ。多分 outlook のパスワード再設定とか、親切なことはしないだろう。どうして、引っ掛かり易くなった? Windows 8 辺りから導入したフラットデザインだろう。そして CSS によってリンク表示などを自由に変えてしまう HTML 仕様も問題だ。あれは何処をクリックしたら反応するのか全く分からなくなるデザインだ。単なる境界なのか、文字列なのか、反応するオブジェクトなのか分からない。反応領域が大きく、マウスだと大味な操作で誤操作を招く。マウスを重ねないと反応するオブジェクトかも分からない。マウスを隅っこに持って行ってようやく反応するオブジェクトも危ない。何か判断することか困難な抽象的すぎるアイコンをチラ見させただけでクリックさせる。あんなデザインを流行らせたら、被せ型の危ないリンクも躊躇なくクリックしてしまうし、試しにボタンを押してしまう。全てがオブジェクトになって反応するソフトの理想は、全てのオブジェクトが危険かどうか判断できなくなる現実的な問題を引き起こす。デザイナーの自己満足にはウンザリだ。
2015.09.19
コメント(0)
PC 上のデータをバックアップするため BD-R DL の ISO イメージ作成を始めた。終わらない。HDD 上のディレクトリツリーをそのまま BD-R DL に焼く様にしたのが終わらない原因の一つ。ツリーは深く広い。今更ながら BD-R がデータ用途では中途半端な媒体であることを認識する。50G byte では HDD 全ては入らない。個別ディレクトリを格納しようとすると、イメージ作成が遅すぎる。録画保存用に買った BD-R DL、録画書き出しソフトは DL に対応していないし。
2015.09.13
コメント(0)
今使っている Windows Vista 32bit business を Windows 10 64bit に移行する作業を開始した。作業時間が無いので少なくとも 2, 3 ヵ月はかかるだろう。Windows Vista Business はまだ Microsoft のサポートが続いている。Microsoft 以外の動向は厳しい。Vista の IE9 に未対応ページが増え、ネイディブアプリも Vista 未対応が目立ってきた。何かと不便することが多い。32bit/64bit を変えようとしている。Upgrade と言う訳にはいかない。作業が面倒になっている。溜まったアプリも選別が必要だろう。移行先の PC は自作 PC とした。なるべく消費電力は少なくと言うことで、現在の PC より拡張性を減らしてある。メモリ・テストを終えた。今は静音化を始めている。これもしばらく掛るだろう。ああ、まだ未完のソフト有るんだよなぁ。
2015.08.30
コメント(0)
副サーバーで認識できなくなったディスクを外して交換するところから作業を再開する。23:30 に帰宅した後の作業だ。控えておいたシリアル番号を確認し、dmesg に残らなかったディスクを取り外す。予備に買ってあったディスクに交換する。予備というと聞こえはいい。魔がさして、ついつい PC パーツ店で買った部品だ。取り外したディスクはたとえ問題が無かったとしても、副サーバーに戻すことは無い。交換したディスクは副サーバーの中で暫くはパーティションも切らず、フォーマットもせず、電源を入れただけの状態が続く。副サーバーと言っても、主サーバーでは担当していない機能を受け持っていた。縮退状態で起動する。副サーバーの担当の機能にアクセスしてみる。問題ない。取り外したディスクを別の Linux マシンに eSATA 接続する。認識した。fsck をしてみる。問題なし。dmesg にエラー記録無し。fsck -f をしてみる(もっと慎重になるべき)。使用ノード数が多いので 30 分 ~ 1 時間程チェックが続いた。問題なし。dmesg にエラー記録無し。あっけないほど調子が良い。油断は禁物だ。partimage でディスク全体をイメージファイルにダンプする。時間が掛かるので、ここで就寝する。昨日同様 3:30 を過ぎていた。まさか、1 セクタの障害も無いとか...
2015.08.18
コメント(0)
家庭内と外部公開を行っている副サーバーに異常が発生した。最初に気付いた異変はサーバーの筺体からガラスを引っ掻く様な「キッ」と言う音が 2, 3 分に 1 回発生していた事だった。久しぶりに窓を開けカーテンを揺らす風が強かったので、カーテンレールと滑車が擦れて鳴っているかと思っていた。冷静に考えればカーテンレールから発生する様な音では無い。「キッ」と言う音は過去に記憶がある。ハードディスクから聞える異音だ。この音がするのが正常なディスクもある。副サーバーに使っているディスクは普段こんな音はしない。「あれ?正常動作音なのかな?」と異常だと判断するに至らなかった。副サーバーが抱えている仮想マシン上で samba 経由でファイル保存をしようとした。書き込めない。smbd, nmbd を再起動しても一向に書き込みできる様になる気配が無い。sudo を使った時に次の様な奇妙なメッセージが現れていた。普段出ていたっけ?sudo: unable to open /var/lib/sudo/furuta/0: Read-only file system何回かこのメッセージを見ているうちに、read-only file system と言うことは仮想マシン上で仮想ディスクに書き込めない障害が出ているのでは?と、ようやく最悪の事態が進行していることに思いが至った。「キッ」と言う音を的確に説明できる状況だ。仮想マシン上で dmesg を見てみた。[1815641.229297] sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE[1815641.229306] sd 0:0:0:0: [sda] Sense Key : Aborted Command [current] [descriptor][1815641.229317] Descriptor sense data with sense descriptors (in hex):[1815641.229323] 72 0b 14 00 00 00 00 0c 00 0a 80 00 00 00 00 00 [1815641.229358] 00 c0 d2 c0 [1815641.229369] sd 0:0:0:0: [sda] Add. Sense: Recorded entity not found[1815641.229381] sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 c0 d2 c0 00 00 08 00[1815641.229399] end_request: I/O error, dev sda, sector 12636864[1815641.229498] ata1: EH completedmesg で得られたメッセージはほほ全てが I/O error だった。物理的な機構が無い仮想マシンで I/O error が発生するのは host マシン(副サーバー)に問題があるのが原因だ。仮想マシンが失われたかもしれない。samba 経由で保存しようとしたファイルを、samba client 側のマシンにローカル保存した。仮想マシン上にしかないファイルもある。幸いなことに、それらのファイルのうち 8 割程度の複製を作ってあった。これも、同 client マシンに保存した。仮想マシン上の source code は git 管理下にある。家庭内 git server に中央リポジトリがあるので、完全喪失は免れている。落書きやちょっとした手間を省くスクリプトは失われたかもしれない。副サーバー上の dmesg も見てみる。エラーが発生していた。[1816243.404031] ata2: exception Emask 0x10 SAct 0x0 SErr 0x40d0002 action 0xe frozen[1816243.404046] ata2: irq_stat 0x00000040, connection status changed[1816243.404057] ata2: SError: { RecovComm PHYRdyChg CommWake 10B8B DevExch }[1816243.404081] ata2: limiting SATA link speed to 1.5 Gbps[1816243.404092] ata2: hard resetting link[1816244.126939] ata2: SATA link down (SStatus 0 SControl 310)[1816244.126982] ata2: EH complete副サーバーが抱えている仮想マシンを shutdown する。エラーに巻き込まれていない仮想マシンは shutdown に成功した。エラーに巻き込まれた仮想マシンは強制電源切断した。副サーバーを shutdown する。再起動してみる。起動しない。原因は fstab に書かれたパーティションを mount 出来ないためだ。メンテナンスモードに入るため、root の password をコンソールに入力する。dmesg, ls /dev/sd*, cat /proc/scsi/scsi で接続しているディスク数と認識したディスク数を比較してみる。1 台足りない。ssh で入り状況を詳しく知り、出力ログを保存する目的で fstab を書き換える。いくつか書き替えパターンを試した。mount option (第4パラメータ)に nofail を加え、fstab に従った mount に失敗しても起動継続できるようにした。以下は fstab 書き換えの主要な操作。# mount -o remount,rw /# nano /etc/fstab # mount オプションに nofail を加える。# sync# /sbin/reboot機能縮退させて起動した。dmesg を取り、SATA 接続した 2 台のハードディスクのうち 1 台が認識できないことが分かった。dmesg より、認識出来たハードディスクのシリアル番号の一部 "22ZAT0" を確認する。[ 1.923498] ata1.00: ATA-8: WDC WD5000BEVT-22ZAT0, 01.01A01, max UDMA/133[ 1.923661] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA時刻は 3:30 になっていた。今日はここまでだ。副サーバーを shutdown して、物理的な悪化を避ける。既に認識しなくなったディスクの悪化を避けるのは無意味かもしれない。調べたシリアル番号がついていないディスクを外すことから作業再開だ。別のマシンにディスクを繋ぎ直せば認識するのだろうか?
2015.08.17
コメント(0)
ORICO A3H7-SV 7 port USB Hub を何回か電源ボタン押ししていると接続されてる Super Speed の USB memory と USB Card reader が認識され接続ランプが点灯する「ことがある」。認識結果を点検してみると、一部のデバイスは High Speed に Fall Back していることが分かった。上記ツリーの詳細テキスト、lsusb -t と lsusb -v で採取した結果にコメントを付け加えているSuper Speed HUB は Super Speed 担当 HUB と High Speed(とそれ以下) 担当 HUB の 2 階建構造になっている。A3H7 は 4 port の Super Speed HUB チップ VL812 を 2 個使い 7 ポートを実現している。上流 HUB は 3 口と下流接続を担当、下流 HUB は 4 口を担当している。上の画像で水色下線部分が A3H7 の SS 担当 HUB, 緑色下線部分が A3H7 HS 担当 HUB になる。7 個接続した SS の USB memory と USB card reader のうち 5 個は SS HUB の下、赤色下線を付けた 2 個は HS HUB の下に入った。全て認識されているのでポートの LED は点灯している。赤色下線が付いた 2 個は性能を発揮できない。Super Speed 接続の運用はこれで断念する。敗戦処理として High Speed 接続の試験をしてみた結果、10 時間 7 ポートの Mass Storage Class device にアクセスし続けても安定して動作し続けた。買ったのはアルミボディの High Speed HUB と言うことだ。頑丈だよね...きっと。(1) AC アダプタの電力容量が足りない(2) Super Speed で Down Stream Port に接続できない
2015.07.26
コメント(0)
ORICO A3H7-SV USB 3.0 7 port HUB 動作試験続き。2 つの問題がある。復電時に自動的に接続しない。Super Speed での接続は安定しない。上流側ポートのパネルに電源「ボタン」が有る。上の画像で一番右の上下の真ん中で黒い丸として写っている物だ。DCIN に給電した後、「ボタン」を押さないと HUB として機能しない。DCIN の給電が断たれ、復電した場合も「ボタン」を押さないと HUB として機能しない。上の画像をクリックすると mp4 ビデオをダウンロードした後再生が始まります。停電があった後に自動復旧しないので録画用 HDD の HUB として使うには都合が悪い。据え置きで使う用途には適さない HUB だ。7 つのポートに Super Speed の device を接続して認識テストをしてみた。Host ポートは P8H67-M PRO に ubuntu 14.04 x86-64 インストールして用意した。USB 3.0 ポート接続である。device には USB memory と USB Card Reader を使用した。電源「ボタン」を押して一斉認識をさせてみると、一部の device を認識しない。何回かボタン押しを試すと、デバイス認識ランプか短い周期で点滅する現象も発生した。上の画像をクリックすると mp4 ビデオをダウンロードした後再生が始まります。認識したランプが点けば安心?では無かった...2015.7.27 追記 関連日記へのリンク追加(1) AC アダプタの電力容量が足りない(3) 認識されても High Speed に fall back
2015.07.22
コメント(0)
久しぶりに古い USB メモリを取り出した。ADATA 製 4Gbyte の製品だ。長い間電源を入れていない。作業前に中身をコピーして退避しようとした。エラーが起きてコピーできない。経年で劣化してしまったか。自分の記憶にないファイルだ。ファイル名を見ても鮮明に覚えていない。Linux マシンで 0x00 fill した後 FAT32 フォーマットしてみた。古いデータを全て上書きして、エラー訂正が必要無い状態にすれば復活するだろうと考えた。ファイルとして連続した 0x00 を書き込むと 6.4 Mbytes/sec だった。復活したのか?と思って普通のファイルをコピーする 160kbytes/sec だった。ADSL 回線並みだ。既に書きこんであるデータパターンと照合していて、何も書き込まなくていい場合は書き込み処理はしない?忘れたい記憶は USB メモリへ。
2015.07.05
コメント(0)
Windows Vista で Windows update を適用したせいだろうか? PuTTY が開かなくなってしまった。正確には PuTTY Configuration 画面は開いている。タスクバーに現れている。透明になってしまったのか、画面上に見えない。移動はできるが透明な何かが動いている?ウインドウに描画されたビットマップも取得できる。急場をしのぐために、putty.exe と putty_jp.exe (これは自分でりネームしたんだっけ?)のプロパティを開き、互換性タブの デスクトップ コンポジションを無効にするにチェックを付けた。[v] デスクトップ コンポジション を無効にするデスクトップ全体のウインドウ枠は透けなくなる。PuTTY の Configuration 画面(接続画面) は見える様になった。デスクトップコンポジションを使いたければコマンドラインから pytty.exe hostname の様に PuTTY を起動すれば、直接接続画面を開くことができる。え? Microsoft 様は透けない Windows 10 に移行しろと言っているの?
2015.06.15
コメント(0)
scankeylx の実行速度がかなり下がっている。初めはアルゴリズム変更によるものだと考えていた。生成したバイナリを逆アセンブルしてみる。Free Pascal 固有の癖、あるいは gcc ほど最適化をしていないことが分かってきた。自分が調べたのは Free Pascal の 2.4.4 で i386 ターゲットでコードを生成させてみた結果だ。古いので最新の Free Pascal に当てはまらないかもしれない。var 節の後ろに書いた物の方ほどレジスタ割り付けされやすい。var a:integer; b:integer; c:integer; d:integer;だったら d の方がレジスタ割り付けされやすくなっている。変数を byte register(AL レジスタなど), word register (AX レジスタなど)に割付けることは無さそう。式計算処理の一部で byte register を使っているのを見た。if 文の分岐 goto の最適化は比較的良く掛かっている。case 文で実行されない jmp コードを生成しがち。符号付き整数変数だと 0 比較のコードが冗長になりがち。(intel 表記で)mov eax, editest eax,eaxjle labelの様に eax に冗長なロードが行われる。文字列定数 const s:string='initial_string'; を参照する場合でも s が NIL 文字列かどうかテストする冗長なコードを生成している。例えば、リンク前のコードにてmov eax,0 ; 0の所はリンク後文字列格納アドレスに fixup されるtest eax,eaxje labela:=a and b;の様に 2 operand 演算でも一旦 eax に演算結果を保持して、代入先に格納している。土曜・日曜久しぶりに blog を忘れてソースコードと逆アセンブルリストを並べて睨めっこ。
2015.06.07
コメント(0)
あきばパレットタウン QcPass 斜め向かい店で Solaris 10 8/07 が 108 円で売っていた。古い版だ。x64/x86 版と SPARC 版が一緒に入っている。VirtualBox 仮想マシンにインストールしてみると x86 版が入った。パッケージを開けると DVD ディスクが 8 枚出てきた。開発ツール(Sun Developer Tools) も入っているので C, C++ 言語を使った開発も可能だろう(まだインストールしていない)。VirtualBox にインストールする場合は、タイプは Solaris、バージョンは Oracle Solaris 10 5/09 and earler (32bit) を選択した方が無難だと思われる。これより新しい版を選択したり、64bit 環境を選択すると、インストール後「重大なエラー」で起動できない。仮想マシンに装備された IDE ドライブは HDD/CD(DVD) ともそのまま IDE 接続の方が良いだろう。気になって 光学(CD/DVD) ドライブを SATA 接続にすると次のエラーが発生する。SATA 接続の光学ドライブだと Solaris インストール DVD を認識しない様だ。ERROR: The disc you inserted is no a Solaris OS CD/DVD.VirtualBox に一通りインストールすることができた。CDE デスクトップを立ち上げてみる。Java Desktop System Release 3 と呼んでいる Linux user に馴染みが有る GNOME も選択できる。うんうん、懐かしい Solaris だねぇ。パレットタウンの店先でどの様に売られているか、画像を忘れていた。 Solaris 10 だとは一見で気付かない様に置かれている。え?リニューアルするの?
2015.05.24
コメント(0)
Free Pascal / lazarus で開発していた scankeylx のテストを行っている。 光学ドライブ起動の ubuntu 10.10 i386, VIA C3, i815, RAM 512MiByte, swap on という貧弱な環境のテストで linux 全体が停止してしまう問題が出ている。250Gbyte の IDE ハードディスクをスキャンを開始して早々 ~ 5% 程度のスキャンを経過した時点で停止する。停止してしまう進捗率は一定しない。全てのウインドウと時計の様なアクセサリは画面更新が止まり、入力を受け付けない。キーボートを押しても反応が無い。Num Lock, Caps Lock の反応が無い。マウスを動かしても反応が無い。光学ドライブの読み込みも止まっている。反応が無い状況はもう少し詳しく調べる必要がある。TCP/IP の口を開けて置いて反応が有るかどうかなどだ。vmstat で記録された内容に不審な点も見当たらない。memory, swap を使い果たした等の分かり易い異常な数値は出ていない。iostat の bi が小さくなるか、0 を示すことが多発しいる。スキャン速度が低下していることが示唆される。scankeylx は root 権限で動くアプリだ。そうだとしても、kernel 全体をデットロックさせてしまう様な操作はしていないし、意図してやろうと思っても出来ないはずだ。kylix 版も平行メンテ?
2015.05.20
コメント(0)
scankeylx 本体、それらを起動・補助するスクリプトの動作確認をほぼ終えた。実行環境が Ubuntu になる。旧来の操作マニュアルは全面改定となる。多種バージョンの KNOPPIX に対応していた記述を削除、今では見掛けないフロッピー・ディスク等の注意書きも削除・改定する。ライセンスも 2 条項 BSD ライセンスにする予定だ。記述を変更する。記述が増える部分もある。光学媒体 CD, DVD から Ubuntu を起動する方法と、USB memory から起動する方法を追加する予定だ。どちらもコマンドライン操作が含まる。難度は少し高くなる。旧来のドキュメントを全て git に入れてから、修正を開始する。文字コードも S-JIS から UTF-8 に変える予定だ。何れはファイル内容がまるで変わってしまう履歴が残る。古い文章を惜しんでいる暇は無い。
2015.05.11
コメント(0)
scankeylx の実行環境として ubuntu 15.04 i386 が使えるか試している。インストールをせず「ubuntu を試す」で live linux として動作させてみる。いきなりログイン画面が出てきた。動作がおかしい。username: ubuntu, password: 無しのまま、でログインしようとしても、ログイン画面に戻ってしまう。2016.6.21 対処方法追記: USB boot の Ubuntu 14.04.3 で Try Ubuntu がログイン画面になる - 別のウインドウマネージャーに差し替え[Ctrl]+[Alt]+[F1] や [Ctrl]+[Alt]+[F2] で仮想コンソールから username: ubuntu, password: 無しのまま でログインできる。なのでアカウントに変更はない。sudo su もできて権限昇格できる。昇格した権限で useradd -m ユーザー名 もできる。passwd ユーザー名 でパスワードも設定できる。グラフィカル・ログイン画面で追加したユーザーが出てきた。これらアカウントも同様にログインできない。実マシンで DVD disc または USB memory で起動した時に起きる様だ。仮想マシンだと期待通り、「ubuntu を試す」でデスクトップ画面がログインしなくても出る。softpedia の記事によれば "Received Very Well"らしい。仮想マシンで夢でも見ているのだろうか?実マシンで動かすと Very Hell ?
2015.05.10
コメント(0)
knoppix jp が開発終息してしまった。本家の knoppix はまだ継続している。光学メディアや USB メモリで起動できる有名な Linux ディストリビューションは Ubuntu だろうか。Ubuntu は長期サポートもある。scankeylx にとって厳しい面もある。USB メモリ上のファイルに実行権が付かない。セキュリティ上の方針なのだろう。起動するのにコマンドライン入力が必要になる。上のスクリーンショット?画面は開発中のものです。
2015.05.04
コメント(0)
ODM に設計させ出てきた共通設計の元となるシステムの評価、追加開発が炎上している。プロトタイプが出来て 1.5 ヵ月、この間自分の帰宅も遅い状況が続いている。冷静に考えて状況は異常だ。おかしな事例ばかりだ。「ODM 元より先に異常動作の解決方法が見つかる」、「"動く"と言われてテストした形跡が全く無い」、「ミーティングにて 2 週間後に対応可と言われ、1 週間後に 1 ヵ月先になると予定変更」、「"動く"と言っているのに態と塞がれている機能を使ってみると、動作不良」、「動く/動かないの認識ずれを質してみると提供を受けたコードではテストしていないのだとか」、「提供される情報の依存関係が矛盾」。中止するなら今のうちだし、中断して計画全体を修正するのが良いと個人では思う。そんな立場にないので、今は自分の体を痛めるだけだ。使い物になるか分からないのに派生開発が始まる。いわゆる正常バイアスだろうか?現象としての事実よりも。外挿線の先にない期待や希望の言葉を信じるのが人間なのだろうか。共通設計に問題が有る状態で派生開発を始める危うさは大きい。派生数が N 有れば、問題に対する作業量は単純に N 倍になる。実際には「水平展開」と呼ぶ相互突き合わせで問題対応と解消を確認するので、 N^1.5 ~ N^2 と言ったところか。最近のリコール問題で対象になる製品数の多さと対応の遅さの原因の一つだ。学ぶべき事例は既に有るのだ。こんな状況を察してか、周りを見回すと人が増え始めた。所属会社、指揮系統、技術レベル、お友達関係、複雑さのパラメータが増え、確度が悪くなる。
2015.03.13
コメント(0)
scankeylx 用に新規に追加した既出判定辞書の動作をテストするコードを動作させデバック実施。既出判定辞書コードに大きな問題は無かった。辞書を使う側に問題が有ることが分かった。既出判定辞書は照合パターンをツリー状に維持している。ツリーを構成するノードに使用履歴変数を持たせている。16bit の変数だ。照合する度に root node は単純に +1 し、以下ぶら下がる node は、parent node の値をコピーして保持する。良く照合される node は root node に合わせて大きな値になるし、使われない node は「相対的に」小さな値のままだ。16 bit なので「溢れる前に」 tree に含まれる node 全ての変数を適当な値(例えば 1000 ~ 6000 程度)で減算する必要が有る。減算した結果、負になる場合は tree から node を除去して、「照合パターンを忘れる」ことにする。「溢れる前に」の判定が誤っていたため、16 bit の変数が 65535 から 0 に戻ってしまった。「child node が持つ履歴変数の値は parent node 以下である」という条件が破綻して問題を起こしていた。で、ちゃんと動くようになって既出判定は賢くなったか?「多くて 1, 2 割は出力量を減らせたかな」と言う所だ。
2015.03.10
コメント(0)
午前中は Linux driver のソースコード調査、この 1 週間帰りが遅くなっている原因のデバイスに近い SoC 向けのコードだ。SoC メーカーがオープンにした 1, 2 年古いコードから、どの様な経緯で問題を起こすコードになったのか読み解く。おおよそコードを書いた人は(あるいはデバックをした人)は問題に気付きながら正しい解決方法を取っていないことが分かった。アルゴリズムが根本的に間違っている。SoC を作った所は近年名を知られる様になったメーカーだ。仕事の関係上「とある」としか表現できない。無名だった頃は 秋葉原のジャンク屋に山積みになっているポータブル・ガジェットに良く入っていた。オープン・ソースではなかったし、データシートも入手不能、誰も手を出さず、今でも残っているのを見る。回路やソースを読める人は「食えるものではない」と分かっている物だった。今になって集積度とプログラムコード量が増えた分だけさらに混沌としたものになっている。メディアの関連記事を読んでみると低価格で脅威だと評している。確かに脅威だ。今自分の体力と体調が削られている。秋葉原で同じ板が「格安 Linux ボード」として売られていて、買ったとしたら。「デバックしますか?」--「勘弁してくれ」。
2015.02.21
コメント(0)
帰宅 23:30 遅いので日記サボり。scankeylx 修正を続ける。Windows 8/10 で見られた新パターンに対応する。鍵の復号はネット上で decode windows8 digitalproductid 検索できる新アルゴリズムが有る程度妥当で有る事が分かってきた。冗長な計算を含んでいるのもほぼ確定した。同期処理周りのバグが残る。厄介だなぁ。
2015.02.16
コメント(0)
帰宅 23:00 scankeylx コードを弄っていたので日記はサボり。windows 8 以降で変わってしまったことを調査して、対応できないか実装する。新アルゴリズムを導入した方が良さそう。今のアルゴリズムの延長だと検索速度が落ちる。数 10 行の修正で済ますのか、500 行程度のアルゴリズム実装を始めるのか。検索速度を落としてしまう修正を選択した。新しいアルゴリズムに本当はワクワクしたいんだよなぁ。
2015.02.12
コメント(0)
Windows 10 に向けて scankeylx を改良出来ないか実験している。難しそうなのが分かっている。一つは復号できないことだ。Windows 8 からキーの符号化方式が変わっているらしい。普通に気付くこととして 'N' が使われる様になった。decode windows8 digitalproductid で探すと幾つか新アルゴリズムが見つかる。多くはフォーラムのスレッドに貼りつけられたコード断片だ。良く読むとデコード出来ないという報告が有る。コードを読むと一部無意味な部分が含まれている。bitwise and で既に 0 になってしまったビットから情報を取り出そうとする部分がある。すぐに気付く程度の奇妙な処理だ。さて、意図して誤りがあるコードをインターネットに放流したのか。それとも最初に解析した人が式の誤りに気付かなかったのか。色々な言語に書き直されている。書き直した人もおかしな事に気付いていないらしい。斜め読みをした限りでは、書き直した人の弁として「変だなぁ」と言った感想もない。別言語に書き直す程の読解をしているのに、全く問題に気付かない。だとすると「コードレビュー」で品質を上げると言う考えに無理が有るのかもしれない。
2015.02.10
コメント(0)
Linux 上で使用していた VirtualBox マネージャー UI が応答しなくなり強制終了した。その後仮想マシンの設定変更をする必要があったため、VirtualBox マネージャーを立ち上げなおした。強制終了前に起動していた仮想マシンが「電源オフ」になっている。「あれ?」と思ったのはこの時だ。疑問に思いつつ、UI から電源オフになっていた仮想マシンを立ち上げる。嫌な予感は続く、ホスト OS の terminal を立ち上げて ps uaxww | grep VirtualBox として稼働状況を手動で確かめた。同一のイメージで仮想マシンが 2 つ動いているではないか。急ぎ仮想マシンをシャットダウン手続きを踏まないで 電源Off、ホストマシンも再起動した。深夜 3 時のできごとだった。本来なら仮想マシンのボリュームを fsck すべきだ。そんなことをしていたら、日の出の時間になってしまう。仮想マシンは立ち上げてしまった。一旦寝た。起きた時は 12 時過ぎ、悪夢の後の目覚めは良くない。仮想マシンを Live CD イメージで起動して fsck を実施、奇妙な異常が多数見つかる。使用ブロック数不一致、グループの異常、参照していないノード、参照カウンタ異常、使用ビットマップ矛盾。修復して再起動できた。修復と言っても多分元に戻る訳ではない。立ち上がったけれど何処か壊れているんだよね。きっと。
2015.01.24
コメント(0)
アプリケーションから Kernel 何処を見ましても無理がありそうな計画で進んでいる開発に放り込まれている。ハードウエアから Kernel までは ODM だから安心、と言う空気も有る。Kernel ソースコードのうち device driver を見るとそんな雰囲気は全くない。バラバラなコーディングスタイル(極度に整っているのも気味が悪いけれど)、無造作にコメントアウトされた処理(その排他処理をコメントアウトする理由は?)、ライセンス表示も無く(修正して良いのか、公開義務があるのか)、既に kernel に有る機能の再実装らしいもの(だからといって優れている訳でもなく)。ODM 元の売り文句につられて始めてしまって、詳細を見たら何やら怪しい雰囲気だと気付きはじめた様な段階か(気付いたのはごく一部の人?)。ODM 契約なのだから、色々と要求を出そうとの話は出てきている。指示を出して直すまで待つのか?ソースを見る限り手直しではなく、再実装になりそうな...ネットを検索して ODM 元の設計情報が乏しい所からして、ここまで突っ込む前に分かりそうに思うのだけど。
2015.01.14
コメント(0)
Canon MG7530 を年明けに買う。実家に帰った時にこの下位機種を便利そうに使っていたのを見て買うと決めた。去年は売り場で買おうかどうか悩んでいた。プリント速度はカラーでも早い。スキャナ機能をコピーとして使っていたのを見た。色の再現性も良く、解像度も良かった。自分は紙の説明書を取り込みたく、スキャナ機能を使おうと思っていた。自分の設置環境は有線 LAN 接続だ。電源 Off 時(電源 LED が消えている時)でも印刷要求を出すとプリントが始まる。LAN 接続をすると HTTP Server としても機能する。驚いた事に電源 Off 時ても IP アドレスを直打ちして HTTP request を送ると404 応答(リンク先は応答ページのサンプル)をする。メモ: 管理画面パスワードの初期値は Username: ADMIN, Password: cannon だった。電源 On の時は HTTP Access してメニュー画面がでる。これは普通の動作だ。電源 Off の時に HTTP Server として機能している。この場合の消費電力がどうなっているのか気になった。ワット・チェッカーで測定し次の表の様になった。電源 LEDパネルHTTP response消費電力(AC100V電流)OffOff404< 1W (0.01A)OnOffメニュー< 1W (0.01A..0.02A)OnOnメニュー5W電源 Off 時は 0W 表示だった。電流を見ると 0.01A となった。測定限界だ。力率は 0.50 ~ 0.60 程度、消費電力は 1W 未満だろう。これで 404 を返せる HTTP Server として動作している。電源 On(LED 点灯)、パネル Off(消灯)時は、0W だった。電流を見ると 0.01A で 10 秒くらい見ているうちで 1, 2 回 0.02A となった。力率は同様だった。0+W ~ 2W 程度で動作していると思われる。この状態で HTTP Request に対してメニューページを返す。パネルが点灯した状態で特に機械的な動作をしていない時に 5W を消費する。消費電力測定結果からすると、普段使いで電源を Off しなくても電力消費は気にしなくても良いことが分かった。1W 未満で HTTP Server として動作しているとは...
2015.01.12
コメント(0)
昨日の続き、2 CPU の VirtualBox 仮想マシンを Core i3-2120T マシン上に構築し systemd test scriptを並列して実行し systemd に負荷を掛けた。負荷を掛け systemd がメモリリークする状況をプロットしてみた。縦軸はメモリ消費量、横軸は経過時間だ。負荷試験途中よりプロットを始めたのでグラフの 0 秒時点である程度メモリリークが溜っている状況である。単調にメモリを消費し続けていることが分かった。おおよそ 1000 秒当たり 545.2Ki byte である。目視で気付く増加である。原因は単純に何処か free を忘れているだけかもしれない。とは言え systemd の作りとテストの取り組みにダメな所があるのではと思う。RedHat Enterprise Linux に組み込まれている systemd はメモリリークしているのだろうか?
2014.11.25
コメント(0)
2014.11.26 追記: systemd メモリリークの様子をグラフでプロット午後に強い眠気、昨日干しておいた布団の上に横になるだけで体が張り付いた様に動かなくなる。眠気をおして、Fedora 20 x86_64 を仮想マシンに install し、update を適用する。systemd を試すためだ。眠気の理由に systemd source codeを clone して読み始めた事もある。自分は systemd を好ましく思っていない。導入する複雑さに見返りが有る程に起動の早さなどの利便性が有ると思ってはいない。今までは何となくそう思っていた。技術的に思いが正しいことなのか、明確にしたかった。読み始めてまず気付くのが排他制御が無い。これは dbus の queue を使っているから順次実行され本質的に不要なのか、それとも全く忘れているのか未だ読み切れていない。allcate, free が多い。全てをチェックしきれているのか疑念が有る。特に unit 相互の依存性を自動解決するのが systemd の目的で有るのに、reference counter 等の参照中の free を防ぐ手段を持っていない様に見える。これも別の仕掛けで防いでいるのだろうか?いたる所で alloca が多用されている。free を忘れないのは便利だとは思う。systemd に関して言えば自分で落とし穴をたくさん作っている。mam page に依れば stack overflow には無防備なはず。write_to_journal() を見ると log_error() が使われていて再帰呼び出し構造になっている。一度異常が発生すると更に事態を悪化させる様なコードになっている様に見える。少し見回しただけで怪しい個所が彼方此方にある。こんなのが PID 1 で良いのか?と Fedora20 のインストール途中で眠くなって布団に潜ってしまった。すっかり暗くなった頃に昼寝から目覚める。「まぁ、動けば良いのだ」と、自分に言い聞かせて、systemd が簡単なテストで壊れないか試すことを続ける。(lm)sensord をインストールする。これは、仮想マシンでは特に意味をなさない。systemd の負荷試験用だ。sensord の enable, disable, start, stop を高頻度・非同期で実施し、systemd の作りの善し悪しを見てみることにする。test scriptを書く。これらは単純に enable, disable, start, stop を並列実行するために書いた script 群だ。暫く動かしてみて cpu 時間を 35% 程消費するも systemd は壊れる様子を見せない。「そうなのかなぁ」と思って top コマンドに表示される systemd の RES (VmRSS) 項目を暫く眺めてみた。1 分くらいすると増加傾向に有ることが分かる。随分と分かり易い memory leak だ。そのうちに GC されて減る(いつか kernel に返却される)のだろうか?未だ結論は早いかもしれない。この程度の耐久試験で memory leak するのでは systemd は PID 1 に居座る器じゃないと思う。git log を見ると開発開始から 5 年が経過している。なのに今だと単純な負荷試験で問題が露見する程度の作り込みだ。systemd を書いた人は PID 1 の責務の重さを理解していないのだろう。2014.11.26 追記: systemd メモリリークの様子をグラフでプロット
2014.11.24
コメント(0)
ASUS P8H61-I の SATA port 1 が故障してしまった。Samsung 830 シリーズ SSD を認識しない。UEFI BIOS から SSD の名前を見つけることが出来なくなってしまった。H61 チップセットは H67 チップセットの下位派生品だ。H67 チップセットは SATA ポートの欠陥が発売開始時有った。Intel の発表では SATA 3.0Gbps で使用していると速度低下を起こす不具合が有るとされた。色々な書き込みを見るに、遅くなるのではなく認識しない状況まで悪化していた。説明では H61 は大丈夫だとも言っていた様な。購入当時の画像を探してみると New H61 B3 Revision とある。これは不具合修正済み Revision を意味していたはず。2011/12/24 撮影なので、2 年 10 ヵ月前ほど使用している。使用状況は連続稼働していた期間、連続して休止していた期間も有り、総稼働時間は 6ヵ月 ~ 1 年程だろう。PLL 回路のトランジスタに過剰な電圧が掛かるからだと解説記事がある。過剰な電圧と言うよりは、トランジスタの物理設計が未熟だった様な感が有る。今になって「問題解消済み」とされたチップが壊れたのだ。未使用だった SATA port 3 に接続して取り敢えずは SSD を認識するようになった。現象からすればいずれこのポートも壊れる。既に USB 3.0 ポート x 2 (こちらは ASMEDIA ASM1042)は全壊し USB 2.0 としても使用不能だ。SATA ポートも 1 ポート故障、使いづらいマザーボードになってしまった。
2014.10.13
コメント(0)
IO-DATA MagicTV を version 6.12 に上げて 2,3 日してからライブラリ(録画済み番組と予約番組)の操作に時間が掛かるようになってしまった。リストのスクロールは軽く問題ない。番組再生、録画削除、予約削除・作成・編集、番組録画開始、BD へのエクスポート などリストの内容変更・観賞・追加に関する操作のほぼ全てが重くなってしまった。1 操作に 30 秒 ~ 1 分程掛かるようになり、Windows からアプリケーションがハングアップと判定されウインドウが白くなってしまう。重くなったのに伴い録画失敗も頻発するようになった。おまかせ録画のエントリーが消えない様にとの修正らしい。確かに不意に消えなくなった。結果、録画失敗するのでは修正の意味が有ったのだろうか?我慢ならず、バージョンを 6.09 にダウンした。カスタムインストール→MagicTV で行う。バージョン 6.12 の MagicTV は完全削除となる。6.09 に戻した後、録画内容は 10 個くらい確かめた範囲で観賞する事が出来た。6.09 起動後に番組表を念のため再構築、以降ライブラリ操作に異常を感じることは無くなった。うーん、「デバックしますか?」というやつなのだろうか。
2014.10.01
コメント(0)
日曜日の半分は bash の脆弱性塞ぎをしていた。野良サーバーの bash を入れ替える作業だ。古い fedora なので自前でコンパイルする必要がある(fedora の選択について云々はある)。bash の source codeから bash-4.3.tar.gz と bash-4.3-patches 以下全部を持ってきてパッチを当ててコンパイルした。configure で足らない xxx とかバージョンが古い yyy とかを覚悟した。全く無しだった。$ cd ${work_dir}/bash-4.3$ for f in `ls ${down_loaded_dir}/bash-4.3-patches/bash43-*`;do echo "[$f]"; patch -p0 < $f;done$ ./configure --prefix= --includedir=/usr/include --datarootdir=/usr/share$ make -j 2$ su# make install# exit以下テストを続ける。$ /bin/bash --version再起動してみる。立ち上がらない等の致命的な問題は発生しなかった。少し手を入れた ~/.vnc/xstartup スクリプトの挙動か変?依然として bash 脆弱性を狙う request は来る。wget を使って返信する手の込んだものが来た。whoami を返信させると言うことは、httpd の権限を見ているのだろうか?おや?自宅の IP アドレスが変わったみたいだ。
2014.09.29
コメント(0)
bash の脆弱性 CVE-2014-7169 確認方法を狙うアクセスが自宅の野良サーバーにも来ていた。パターンとしては HTTP_USER_AGENT に仕込みを入れる方法だ。仕込みの中から ping を返したり、動的に生成されたページに特別な hash を紛れ込ませている。色々と不勉強な所もあり CGI や動的なページ生成を wellknown port の http server では行っていない。ログを見ると 404 で応答している。アクセスログを見ると動的ページ生成を狙った web root "/" と cgi-bin または cgi-sys の下に有る。cont.cgi (以下 .cgi 略), test, help, index, defaultwebpage, 各種アクセス認証用の良く知れた CGI を試す様だ。あー、対策しないとなぁ。
2014.09.27
コメント(0)
scankeylx を free pascal に移植する作業が難航している。原因はデバックのための仕掛けが少なすぎたことだと考えている。最近のデバッカは優秀でデバック表示を入れなくても、ローカル変数、クラスメンバをステップ実行中に自動で表示してくれるので手で WriteLn (printf) を入れなくても何とかなっていた。muti-thread の program のデバックは簡単ではない。そもそも、lazarus IDE のデバッカはまだ不安定の様だ。生きがいい状態でデバックしないと、実際の挙動とまるで違う状況をデバックする事になる。成立しないと考えている状況を式として書いて、成立してしまった場合は print する。これを無駄だと言う人はいる。「コードカバレッジ率を下げる」ともっともらしい理由を付けて。自分の経験からすると、多くのプログラムで矛盾検出ロジックを持たない場合、不安定な動作をし、デバックをしようとしても困難を伴い、目的の動作に対する実装も不十分だ。動きだすまで遠いのかなぁ。
2014.08.16
コメント(0)
lazarus 開発環境を作るため ubuntu 12.04, ubuntu 14.04 を仮想マシンにインストールした。相変わらず UI が使いずらい。lazarus の方も unity とタッチ重視の UI の組み合わせで不具合が起きている。次の様にして従来型の UI に戻す。Window top menu bar を使う GNOME classic (従来通り)の shell をインストール$ sudo apt-get install gnome-shellWindow デザイン変更ツールをインストール$ sudo apt-get install gnome-tweak-toolubuntu 12.04: overlay scrollbar を従来通りの太いスライダー型のスクロールバーに戻す。$ gsettings set org.gnome.desktop.interface ubuntu-overlay-scrollbars falseubuntu 14.04: overlay scrollbar を従来通りの太いスライダー型のスクロールバーに戻す。$ gsettings set com.canonical.desktop.interface scrollbar-mode normalウインドウタイトルバーの最小化・最大化・閉じるボタンを右へgsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'Linux の GUI 界隈は不具合を起こす開発が是なのかなぁ。
2014.08.13
コメント(0)
今週より夏休みに入った。色々と作りかけの続きを再開する。長期計画で scankeylx を free pascal (lazarus) に移植するのもその一つだ。まだ Form だけという状態だ。色々と弄っているから長期になってしまっている。コメントを英語に全面書き替えし、出力重複検出と検索結果保存処理を別スレッド化する。ここまでは自分が原因だ。Free Pascal (lazarus) の方も気づいてみれば LibC は残るものの ctypes, unixtype, BaseUnix, unixutil 他に分散してしまった。試しに検索開始、うん、abort だった。先は長い。
2014.08.12
コメント(0)
測定結果をまとめる様に新人(と言っても 2 年目)にお願いをした。出てきた excel シートを見て少し違和感を感じる。客先に提出するため整理作業を自分でしている過程で桁が揃っていないことに気づく。右揃えして、空白を取り除き調整されていなかった。測定も任せていた。数値を見て測定の妥当性を考えるとかしないのだろうか?確かに考えてはいた。「小さい」「大きい」「少しおかしい」とか、精々大小関係なのだ。一桁か log オーダーで良いので、何 %、何桁の違いとか、踏み込んだ考察をしない。工学(いや、自分たちは工業)の世界では数値を持って伝えないと情報の価値は殆ど無い。「いい感じ」では伝わらないんだよなぁ。
2014.08.08
コメント(0)
Transcend 4Gbyte Class6 の MicroSD を椅子のローラー足で踏んで割ってしまった。他 2 枚の MicroSD も割ってしまった。割れた断面を観察すると Transcend の MicroSD は 2 枚のチップを重ねた構造らしいことが分かった。Flash Memory は 1 パッケージの容量を稼ぐためチップを積層していると聞いた事が有る。MicroSD でも行われていることが分かった。4Gbyte は既に市場価値を殆ど失う程の小容量のメモリになってしまった。かなり以前から積層構造による容量アップが行われていたことになる。透かしてみると向こうが透けて見える程に薄くする技術もあると聞いていた。このメモリはそれ程には薄くしていない様だ。2 枚あってもウエアレベリングは上手くやっていたのかなぁ。
2014.07.27
コメント(0)
大崎駅にあるみずほ銀行デジタルサイネージがこの 1 週間の前半動いていなかった。動いていなかった時に画面を見たところ Windows Xp Embedded に VNC server を組み合わせて遠隔操作が出来るようになっていた。正常動作時の画面いつもと様子が違う画面になっていた。画面の真ん中にマウスポインターが現れている。タスクバーを上に配置してある。何かの意図が有るのだろうか?スタートボタンをみると Windows Xp かそれを元にした Embedded 版だと思われる。"SHARP Monitor..." はリモコン制御アプリ、"WiMAX CU Ver2" は通信アプリ?無線で配信サーバーと接続されている?タスクトレイの方を見てみる。WiMAX のクライアントアプリか、無線デバイスを制御するためのアプリ。PnP 管理アプリ、スケジューラーらしいアプリが 2 つ。真ん中のサイコロを模したアイコンのアプリは何だろうか?時計の隣に VNC server が見える。VNC 直接接続? ssl でトンネルしているよね。きっと...
2014.07.04
コメント(0)
32Gibytes 前後の容量があるディスクのフォーマットを調べてみた。iSCSI target を Linux 上で動かし 32Gibytes 前後のファイルをディスクドライブ(Logical Unit)として windows に見せる様にして実験した。次の表の様になった。Near 32Gibyes disk format difference on Windows VistaDeviceSize(bytes)FormatClustersize(bytes)Total disksize(bytes)Available disksize(bytes)34359737856(512*(32*2*1Mi-1))FAT3216Ki33,533,936Ki33,533,920Ki34359738368(512*(32*2*1Mi))FAT3232Ki33,542,144Ki33,542,112Ki34359738880(512*(32*2*1Mi+1))exFAT128Ki33,551,360Ki33,550,976Kichkdsk output in detailexFAT でフォーマットする様になるディスクの容量は 32Gi + 512 bytes 以上だった。興味深いのは容量が 32Gibytes 丁度の場合、FAT32 でフォーマットできてクラスタサイズが 32Kibytes になることだ。お店で売っている 32Gbyte の SD card は 10 進数表記なので、ここで示した境界が何かの差として現れることは無いと思われる。
2014.06.22
コメント(0)
暫くメインマシンの週 1 バックアップが動いていなかった。1ヵ月間バックアップが無い。Norton Ghost (中身は VPro recovery) を使用している。手動でバックアップ処理を起動すると、「ファイルの分割数が多い(999)ためエラー」になった。初めのうちは対処方法が分からなかった。web ヘルプを開くと「再インストール」のページに飛ばされる。サポート終了なのか?酷い対応だ。自力解決する。リカバリポイントを削除、バックアップファイル一つの大きさを約 4.5Gbyte にして解決。1ヵ月放置したせいでバックアップ終了まで 99 時間(点滅しているのでもっと長い?)掛ると表示される。バックアップ中はパフォーマンスが著しく低下する。日本語入力も 1 秒に 1 文字以上入力して変換すると、変換しているのだか、入力しているのだか、反応が分からなくなる。一応バックアップの優先度は下げられる。気休めだ。エラーを出力する前に、(半)自動的に解決が可能な状況だと思う。これも正しい仕様、使えない機能か。
2014.06.08
コメント(0)
outlook 2007 でメールが未読のまま変わらず、削除しようとしても削除できず、移動もできない。他のプログラムで pst ファイルを操作しているから、再起動をする様にと促される。例の「お役に立ちましたか?」が「再起動」を促すダイアログに出てくる。何度も再起動をした。改善しない。PST ファイルが壊れたのだろう。scanpst を使うことにした。3 時間程修復に時間を要した。修復後は普通に使える様になった。「お役に立ちましたか?」は「別の正解が有る」というヒントだ。
2014.06.05
コメント(0)
PC の電力消費量削減を進めた。家全体で去年の 4 月は 436kWh 消費したのに対し、今年 4 月は 287kWh の消費だった。サーバー運用 PC を消費電力が小さいものへ置き換えた。サブ PC 群の運用見直しを実施した。殆どサブ PC に電気を入れなくても困らない様に機能をサーバー運用 PC の仮想マシンに寄せた。メイン PC も積極的に休止状態に入れる様にした。USB VBUS を全て +5VSB から供給して休止に入った直後に再び再開してしまう問題を解消した。加えて積極的に休止状態に入るスクリプトを常時動作させるようにした。(詳細な説明は申し訳ないけれど省略する)cygwin 上で スクリプトを走らせ Windows の休止・スリープ機能に比べより積極的に休止状態に入る様にした。このスクリプトはプロセスの状態をCommand Line Process Viewer/Killer/Suspenderにて取得する。休止しては困るプロセスが実行されていないか監視するためだ。スクリプトでマウス移動も調べる。現在のマウス座標を調べるコンソールアプリ(Delphi Source と EXE)を作って、マウス移動が有る場合は休止しない様にした。sleepping.d 以下に有る複数の副スクリプトで特定のディレクトリ以下の更新状態を監視する。magicTV の録画・番組表更新監視、VPro Recovery (Norton Ghost) の増分バックアップ活動監視をする。活動中は休止状態に入らない様にする。監視した結果「何もしていない」と判断したら hibernate.bat で休止状態に入る様にした。スクリプトを展開して他で使えそうなのは hibernate.bat と standby.bat だろう。それぞれ休止状態、スタンバイ(スリープ)状態に入るバッチファイルだ。おおよそ 3,000 円程電気代を削減できている。
2014.04.30
コメント(0)
新人のコードを背中から覗き込む。随分とすっきりとしていた。良く見てみると中かっこ { } の近辺に見慣れないマーカーが表示されている。「随分とすっきりとしているなぁ」と声を掛けたら、マーカーをクリックして「いゃ」と答えた。コードが折り畳まれていた。20 行ほどに畳まれていたコードは 100 行ほどだった。「エディタで見てスッキリと言うのはいいのかなぁ。」と、悩んでしまう。まぁ、良くないよな。実現したい事を分割して、組み上げる力は多分つかない。かと言って全体を記憶し、一気に実装できるような見通しが立てられるほどの実力は無さそうだし。え?ググればコードが見つかるから、書き方は拘る所じゃないって?
2014.04.17
コメント(0)
隣の人はスマホゲームを良くしている。どう見ても 2 次元(アニメかイラスト)を強く意識してデザインされた平面的なキャラクターが 3D, HD, 60fps で動くゲームなったそうなのだ。スマホゲームはお手軽開発が売りじゃなかったのか?あっ、自分が身を置いているハードメーカーが煽っているのか、3D アクセラレータ、full HD 越えの解像度ディスプレイ、4 core 当たり前、高容量電池。
2014.04.16
コメント(0)
商用電源監視サーバーを 22:05 頃に再起動した。原因は分かっていない。きっかけは分かっている。21:31 頃に USB hub と FT-232 を使用した USB serial converter を接続した事だ。Configured state に遷移すると光るはずの USB hub の LED が点灯しないことで気付いた。監視記録は SSD の USB storage に保存している。dmesg を見ると接続したあたりで USB storage が切断された後に続けて EXT4 file system の Journal 書き出し失敗まで即時に進展している。Apr 14 21:31:29 blackflat kernel: [8073125.112864] usb 2-2: USB disconnect, address 3Apr 14 21:31:29 blackflat kernel: [8073125.113641] JBD2: Detected IO errors while flushing file data on sdc1-8Apr 14 21:31:29 blackflat kernel: [8073125.113704] Aborting journal on device sdc1-8.Apr 14 21:31:29 blackflat kernel: [8073125.113724] EXT4-fs error (device sdc1) in ext4_reserve_inode_write: Journal has abortedApr 14 21:31:29 blackflat kernel: [8073125.113736] EXT4-fs (sdc1): previous I/O error to superblock detectedApr 14 21:31:29 blackflat kernel: [8073125.113763] JBD2: I/O error detected when updating journal superblock for sdc1-8.Apr 14 21:31:29 blackflat kernel: [8073125.113800] EXT4-fs error (device sdc1) in ext4_dirty_inode: Journal has aborted複数ポートで共有している自己復帰ヒューズが切れてしまったか。SSD USB storage + HUB + Serial converter だとしてもそれ程重い負荷では無いはず。ところで Serial converter に繋がっている先の物?
2014.04.14
コメント(0)
PC が休止状態に入れない問題は VBUS を +5VSB に接続して解決した。一部のポートだけ VBUS を +5VSB に接続していたのを失念していた。USB の接続を変えた時に問題を起こすデバイスを VBUS が +5V に接続されている系統に繋いでいた。全ての VBUS を +5VSB から供給すると電力不足になる可能性が有る。+5VSB は補助電源から電力注入している。電力注入の回路はまだ改良の余地ある。ようやく自動的に休止状態に入る処理を実装できる様になった。
2014.04.07
コメント(0)
4 月から消費税増税となる。電気料金も上がる。5 月徴収分からだ。メイン PC の消費電力は常時 110W 有り大きい。この PC の省電力化対策が済んでいない。Windows Vista PC なので電源の管理でコンピュータをスリープ状態にする設定をしている。45 分後に設定している。今までこの設定が有効に働いた事は無い。家に帰ればいつも PC は ON 状態だ。どうして設定が働かないのか色々と調べても原因不明だ。デバイス、タスク・マネージャー、BIOS 設定、組み合わせも膨大だ。How To Put the System into hibernation or Standby from Run menu Shortcuts to Restart, Hibernate, Standby or Shutdown Your Computer 等を見てコマンドラインを入力すると一応それらしい動作を始める。最後の最後になって on 状態に復帰してしまう。(2014.4.8 追記 解決の方策が見つかる VBUS を +5VSB に接続上手く行けば電気代は今の 6 ~ 7 割程度になるはず。
2014.03.31
コメント(0)
秋葉原でも Windows XP サポート切れを予告する看板が目立つようになった。Windows 7/8 マシンに買い換えるかアップグレードするため周辺機器の対応状況を聞く人も多い。聞いていると「古いプリンタは対応しているのだろうか?」という何とも返事に困る質問だ。正確に診断するためには Windows 7 Upgrade Advisor , Windows 8 アップグレード アシスタント を使う。おおよその見積もりは Windows 7 対応なら 2009/9 以降発売の製品かどうか、Windows 8 対応なら 2012/8 以降発売のの製品かどうかだ。メーカーは 半年前程度から preview 版を使ってテストを開始しているので、恐らくはもう少し古くても対応している。突然使えなくなる訳でもないので、秋葉原界隈の切迫感は今一つな感は有る。既に移行した人も多いはず。具体的な問題はサポート切れの後でしか分からない。最悪の場合は全世界に未確認だった脆弱性をつくウイルスやボットプログラムが Windows Xp PC に広がり、あらゆる情報が流れだしてしまうことだ。多くのユーザーが少し用心深ければ 1, 2 年は何事も無いだろう。怪しいサイト、メール、文書、画像を開かない。複数のサイトでパスワード共有しない。あるいは、重要度に応じて使い分けをする。Windows Xp を使いつづけるために 100 以上の厳守事項を挙げれば切迫感が増すのかもしれない。Start ボタンの上にスクロールしながら常に表示し続ければきっと...
2014.03.16
コメント(0)
全883件 (883件中 201-250件目)