2013年12月30日月曜日

互換性: インクカートリッジ実践編: Canon MG6230

Canon MG6230 に elecom 製の互換インクを入れてみた
  • Canon のプリンタ MG6230 のインクを,elecom 製の互換品に入れ替えてみた.
    • 5色のTHC-MG5230RSETグレーのTHC-326GY5を合わせて購入.リセッターも付属しており,元の純正インクカートリッジのICチップをリセットし,これらのインクを注入する形.
    • 注意:MG6330, MG6530 ではインクカートリッジの規格が変わり(参照:Canonのページ),elecom ならTHC-351350SET5THC-351GY5の組み合わせになる.ただし,リセッターはまだ開発されていないようで,詰め替えセットに付属しない(2013/12/30現在).インク残量検知機能を無効にして使うようだ.
  • 素人目には十分うまく印刷できている.
  • 交換作業経験者としての心からの注意
    • 説明書をよく読んで,とにかくその通りに!うまくいくから!
    • 作業場所を確保する.汚れても良い防水・撥水製の敷物を敷く
    • 手袋(詰め替えセットに付属)をはめてから作業する.
      • インクが手に付くと非常に落ちにくい.手袋無しだとほぼ確実に手に付く
    • インクボトルの準備で,「中層にたまるインク少なくない?」 と思ってもやり直ししない.それでちょうどいいんです.増やすと溢れます
では行ってみよう.
※体験記です.特に何かを推奨したりしなかったりする意図はないので念のため.

2013年10月17日木曜日

TeX: pdflatex で eps を取り込む

windows 上の tex で文書に eps ファイルを貼り込んで pdflatex でコンパイルする際,エラーが出て困ったのを解決した事例.

まとめ:
  • eps の図を取り込み指定した tex 文書を pdflatex にかけるとエラーが出て図が取り込まれなかった.
  • そこで,次の処置を行った.
    • perl の処理系(strawberry perl)をインストールし,PATH を確認した.
    • gswin32c にもパスを通した.
  • 上記処置により,pdflatex で eps 図入り tex 文書を正しく処理できるようになった
  • おまけ1,おまけ2 

では行ってみよう.

2013年8月30日金曜日

Excel: セル中での改行

Microsoft Excel で,ひとつのセルの中で改行を入れたい場合の方法.

エクセルを使っていると, セル中で改行したいことはよくあるが,私は最初やり方を知らなかった.入門書(amazon人気順)などを見てればよかったのだろうが,試しに普通にEnterキー(改行キー)を押してもセル内での改行は起こらず,入力が確定してカーソルがひとつ下のセルに移動するだけだ.なお,ここでセルというのは升目のこと.

では,セル内で改行するにはどうするかというと,
「Alt+Enter」 (前面+改行)
とすればよい.

1行目を入力する

Alt+Enter を入力する

2行目を入力する

できた.

なお,手動でなく自動で折り返し(見た目上の改行)を行いたい場合,セルの書式設定(セルを右クリックすると出てくるメニューにある)から,「配置」タブを選び,「文字の制御」の項で「折り返して全体を表示する」を選べばよい(Office 2010 の場合.バージョンが違うと少し違うかも).

Alt+Enter というやり方を忘れた場合には,
「ノートパッド(メモ帳)などで内容を作ってクリップボードにコピーしておき,
セルをダブルクリックしてから貼り付け」
という手もある.単なるクリックでセルを選択してもダメで,行ごとに別のセルに貼り付けられてしまう.セルをダブルクリックして, セルの中身を編集する状態にしてから貼り付けること.

ちなみに,LibreOffice の Calc では,セル内改行は
「Ctrl+Enter」
となっている.ということは OpenOffice 系はそうなのかな?


出典:Office 2010 の場合,Excel のヘルプで「セル 改行」で検索すると,「セルで文字列を折り返す」の下のほう,「改行を入力する」の項に Alt+Enter が述べられている.

2013年7月24日水曜日

互換性: ACアダプタ実践編: Acer Iconia W700

    Acer Iconia W700 (現在は SSD が 128GB になったW700-2 が流通しているようだ) のACアダプタを増やしてみた話.W700-2 や W700D, W710D など,他の W7 シリーズでも通用すると思われる.

    *注意*
    電源ラインの話なので,調査等は自分でしっかりやってください.この記事を真似して事故ったりしても筆者はいかなる責任も負いませんので,自己責任でよろしく.
    ****

    この W700 は Windows 8 なタブレット PC である.購入感,使用感についてはブログに書いている人がそこかしこに.さて,使用場所の都合で,W700用の追加のACアダプタが欲しかったのだが,どうも簡単には売っていないようであった.となれば,まずは調査からである.

    一番大事な電圧電流だが,
    photo by bun6. mobile phone's camera, cropped, resized, histogram modified
    19V, 3.42A である(それにしても,Acer と Lite-On って関係あったっけ?). PC用だし,スイッチング方式のACアダプタというものでいいのだろう.19V, 3.42A で amazon を検索すると,結構な種類が出てくる.アダプタ本体の入手性は問題ないようだ.

    問題はプラグの仕様である.
    photo by bun6, mobile phone's camera, cropped, resized, histogram normalized
    これは外径内径何ミリ何ミリなのか?価格.com の口コミを見ると, 外径3mm(φ3.0),内径1mmか1.1mm(φ1.0かφ1.1)でいけるらしいマル信無線電機のカタログに,MP-121PS, MP-121PN というDCプラグがあり,これが 3ミリ1.1ミリ となっている.秋葉原の千石電商で買って試してみたら,果たしてばっちりはまった.

    となれば,適当な19V/3.42AのACアダプタを買ってきて,元のDCプラグを切ってMP-121PSかMP-121PNに挿げ替えればよい.ただ,もとの製品に不可逆な処置をするのはなんなので,今回はDCプラグ切りは行わず,変換プラグ(変換コネクタ)の作成に挑戦することにした.その方が何かと便利そう.

    ACアダプタ本体は,Acer用と銘打っているelecomのACDC-AC1965BKにしてみた.が,これが後の苦難を呼ぶこととなった.このACDC-AC1965BKのDCプラグは,5.5mm/1.7mmというかなり変態的な仕様になっているのだ(Acerはなんでこれにしてるのかねぇ).

    ということは,変換のためには5.5mm/1.7mmのジャックが必要だ.しかし,5.5mm/1.7mmのジャックって全然見つからないのである.めげずに探していると,デンシ電気店に「DCジャック変換アダプタ/メス5.5×1.7→オス5.5×2.1」というものがあった.これを分解すれば5.5×1.7のジャックが取り出せるはずということで,買ってみた.


    ジャックはACアダプタのDCプラグとうまくはまった.DCジャック変換アダプタをばらすのはやや苦労したが,ニッパーひとつあればまあ何とかなる.予想通り,5.5x1.7のジャックの取り出しに成功した.
    photo by bun6, mobile phone's camera, cropped, resized, histogram normalized. 左が 5.5mm/1.7mmジャック,右が5.5mm/2.1mmプラグ.中心-中心,外周-外周で結線されている.もとはこのまわり中を樹脂のようなものが覆っており,さらにその外を黒いカバーが覆っていた.線の被覆などが傷付いているのは,分解時の筆者の不手際.

    そして,5.5x1.7のジャックと3.0x1.1のプラグを半田付けし,通電テストを行い,うまくいったのでホットボンドで固めた(今考えると,テープか何かでちゃんと絶縁してからホットボンドを使うべきだったか?使ったホットボンドの絶縁性能がわからない).この状態で十分そうだが,あとは外をテープか何かで巻いておけばさらによいだろう.こうしてめでたくW700+ACアダプタ2個の体制が整った.
    photo by bun6, mobile phone's camera, cropped, resized, histogram normalized. 作成した変換プラグ.左が 3.0mm/1.1mmプラグ,右が5.5mm/1.7mmジャック.半田ごてもグルーガンも不慣れなもので‥でもまあ機能性は問題なし.使ったホットボンド(グルーガン)は「goot ホットボンド トリガー付 HB-45」.


    今回の反省.プラグ変換前提であれば,ACアダプタとしては,より一般的なDCプラグ仕様のものを選んだほうが良い.例えば,外径5.5mm内径2.1mmというのは特に標準規格ではないもののよく使われているようで,DCジャック変換アダプタ12種セット/メス5.5×2.1→オス12種類なんてものを利用すれば相当種類の機器に対応できるだろう(でも W700 には対応しないんだこれが).外5.5mm内2.1mmのジャックは普通に見つかるはずだから,変換プラグの自作も楽になる.もちろん,EIAJ規格に沿ったプラグでも良いだろう.

    注意.ACアダプタは,電圧電流が合うからといって必ずしも置き換えられるとは限らない.想定する内部方式が違う場合があるからだ.
    ある機器にあるACアダプタが使えるかどうかは,事前に要確認である.もちろん,外側と内側の+-極性の確認は基本中の基本.

    2013年6月27日木曜日

    matlab: 一目で分かる多次元インデクス

    matlab の配列参照に使うインデクスの基礎について.

    まずはこれ.一目で分かる多次元インデクス!
    a を [4 by 3 by 2] なる 3 次元配列とすると,

    A three dimensional [4 by 3 by 2] array

    その要素の番号は

    Index / subscript correspondences of [4 by 3 by 2] array 'a'

    となるのだ~! この表の意味は,例えば「a(2,3,2)とa(2,6)とa(22)は同じ要素を指す!」ということ.行列(2次元配列)の場合は,真ん中と右に注目してもらえばOK. さっきの例では a(2,6) と a(22) だね.

    もうわかった?ともかく説明しよう.

    3 次元配列 a の参照の仕方は
    1. a(i1, i2, i3)
    2. a(i1, i2)
    3. a(i1)
    の3通り.s = size(a) とすると,s = [4,3,2] であって,式で書けば
    通し番号 = (i3-1) * s(2) * s(1) + (i2-1) * s(1) + i1
    となる.方式 2 では i3 = 1, 方式 3 では i3 = 1, i2 = 1 を補えばよい.例えば,
    (3, 1, 2) の要素の通し番号 = (2-1) * 3 * 4 + (1-1) * 4 + 3 = 15
    (3, 4) の要素の通し番号 = (1-1) * 3 * 4 + (4-1) * 4 + 3 = 15
    (15) の要素の通し番号 = (1-1) * 3 * 4 + (1-1) * 4 + 15 = 15
    となるわけだ.上の図と見比べてみると,方式 1, 2, 3 と通し番号との対応がわかるだろう.

    多次元インデクス(サブスクリプト)と通し番号(リニアインデクス,リニアサブスクリプト)の相互変換は,sub2ind や ind2sub を使っても行える.

    sub2ind は,多次元インデクスをリニアインデクスに変換する.
    k = sub2ind( [4, 3, 2], 3, 1, 2 )
    k = sub2ind( [4, 3, 2], 3, 4 )
    k = sub2ind( [4, 3, 2], 15 )
    はいずれも k = 15 を返す.

    一方,ind2sub は,リニアインデクスを多次元インデクスに変換する.
    >> i1 = ind2sub( [4, 3, 2], 15 )
    i1 =
        15

    >> [i1, i2] = ind2sub( [4, 3, 2], 15 )
    i1 =
         3
    i2 =
         4

    >> [i1, i2, i3] = ind2sub( [4, 3, 2], 15 )
    i1 =
         3
    i2 =
         1
    i3 =
         2
    となる.

    このプロセスは何次元配列にでも適用できる.つまり,N 次元配列を M 個の数字からなるサブスクリプトで参照するときは (ここでは M < N とするよ), 3 次元配列を 2 個や 1 個の数字からなるサブスクリプトで参照したときと同様,余りの次元は全て展開されて並べられたものとして考えると良い.

    ちなみに,インデクスのやりとりをするには,セル配列を使うのも便利だ.
    セル配列の使い方については当ブログの記事
    も参照されたし.

    [matlab 記事インデックスへ]

    2013年6月10日月曜日

    matlab: セル配列で困っている人へ

    matlab に慣れてきた人でも,「セル配列」をすっきり理解しきれた気がしない,という人は多いかもしれない.そうした向きへセル配列の解説を試みる.

    まとめ 兼 目次

    • セル配列とは「セル(=1×1のセル配列)」を並べた配列である.
    • 「セル」は,任意のデータを中括弧で囲むと出来る.B = {A} など.
      •  どんなタイプのものも中括弧 {} で囲むとセルになるということ.
    • セル配列の作り方は,根源的には 1) データを中括弧 {} で囲む(大括弧 [] 同様,複数のデータを一度に囲っても良い),2) cell 関数を使って空のセル配列を作る,3) struct2cell を使って構造体から変換する,の3通りで,この他に num2cell, mat2cell, cellstr という変換関数を使う方法もある.もちろん,個々のセルを配列として並べて大括弧 [] で囲んでも良い.
    • 小括弧 () を用いてアクセスすると,通常の配列と同様,部分配列を参照できる.
      • 取り出された部分配列もセル配列.
    • 中括弧 {} を用いてアクセスすると,セルの中身を取り出せる.
      • インデクス(=サブスクリプト)の解釈(参照される要素がどれになるか)は小括弧と同様.
      • 複数要素を参照すると,複数の文(式)を次々に実行(評価)したのと同じ結果になる.実行順序はリニアインデックス順.
    • 大事なのでもう一度.中括弧 {} アクセスは,複数文相当の表現!
    • セル配列に代入するには,次のいずれかの方法をとる.
      • 左辺を小括弧指定,右辺をサイズの適合するセル配列にする.例: a(1:3) = {'foo', 100, true};
      • 左辺を大括弧+中括弧指定,右辺を複数文相当の表現にする.例:[a{:}] = deal(100, 'strings', true);
    • 複数文相当の表現の使い道
      • 小括弧 () 受け:サブスクリプト,関数に入力引数を渡す
      • 中括弧 {} 受け:セル配列のサブスクリプト
      • 大括弧 [] 受け:連結,関数の出力引数を受け取る

    注意


    では,始めよう.


    2013年6月3日月曜日

    互換性: ボールペン替え芯実践編: ZEBRA JF-0.5 → uni-ball Signo RT UMN-105EW

    替え芯互換性の実践レポート.ゼブラ ZEBRA JF-0.5芯 を 三菱 uni-ball Signo RT: UMN-105EW (本来の替え芯 UMR-85N) に入れてみた.

    この組み合わせは互換リストに挙がっている.しかし,微妙に違う外形をしており,そのまま使うと芯出しノックのときにものすごく気合を入れて押し込まないといけない.芯のトータルの長さはほぼ同じだが,太い部分の長さが少しだけ違うからだ.
    photo by bun6. 上: UMR-85N, 下:JF-0.5. 先端付近の形状の差.
    そのままでも気合で何とかはなるが,JF-0.5の後部(太い方)の末尾を 1mm 程度削ったところ(丈夫なハサミならできる),ある程度スムーズになった.

    ※2013/08/05 追記:別の個体では削らなくても平気だった.勘違い?個体差?

    ということで,結果:
    • ゼブラ ZEBRA JF-0.5芯 → 三菱 uni-ball Signo RT: UMN-105EW
      • そのまま入れても使えるが,ノックに気合がいる
        •  芯の後部太い方を 1mm ほどカットするとまあ普通に使える
      • 追記:そのまま入れてスムーズに使える場合もあるようだ
    amazon で jf-0.5を検索umr-85nを検索すると,本数や色など結構いろいろバリエーションがある.

    こんなちょっとしたことでも,分解したり組み立てたりするのは楽しいものですね.
    UMR-85N を ZEBRA のボールペンに入れるとどうなるかも試してみたいところ.

    2013年5月17日金曜日

    matlab: 壁の外へ 1. 前置き

    [執筆中,2013]

    概要 


    この一連の記事では,matlab での workspace 間のアクセス方法をいくつか挙げる.初回となる本記事では,matlab における workspace の概念について解説する.
    • この文章は脱線上等のポリシーのもとで作成されています. 
    • matlab において最強の文書は,matlab 付属のヘルプドキュメント群です.ともかく help を参照するに限る.ともかく matlab メニューの「ヘルプ→プロダクトのヘルプ」を読め!わからん言葉はコマンドプロンプトから >> help XX で読みまくれ!過去に色んな人に多くの質問を受けましたが,ほとんどはヘルプに書いてあるのを読んでいないだけです.ただ,ある種のことは別の切り口で見るのも有益な場合があります.本記事はそれを期待しています.

    1.前置き: workspace, 関数,入出力引数

    workspace について - 変数の見える範囲 -

    matlab では,何か変数や関数があったとして,それらがある時点で「見える」かどうかは状況により変化する.例えば,matlab コマンドラインで変数 a に 3 という値を割り当てたとする.その後何らかの関数を呼び出しても,通常は,関数の内容によらず,関数の「中」からは「外」の,つまりコマンドラインで定義した a の存在や値は見えないし,関数内の処理は a の値に影響を与えない
    例えば,関数を func1 として,その中で変数 a に値 2 を割り当て,disp(a) するとする.
    ファイル func1.m:
     function func1
     a = 2;
     disp('a in func1');
     disp(a);
    この関数はコマンドライン上で見える変数 a にどう影響するだろうか?実行してみると,
    >> a = 3; func1; disp('a in base workspace'); disp(a);
    a in func1
         2
    a in base workspace
         3
    となる.func1 内での a への操作は,コマンドライン上から見える変数 a には影響を及ぼしていない.
    これは,コマンドライン上で見える変数と,関数 func1 内で見える変数とが,別の世界に存在しており,互いに隔絶しているからである.一丁目の山田さんと三丁目の山田さんは別人なのである.この各々の状況で見えている世界のことを,matlab では workspace という.他のプログラミング言語では名前空間 namespace やスコープ scope などと呼ぶ.コマンドラインで見えている世界のことを,base workspace という.

    関数 m-file と異なり,スクリプト m-file は,固有の workspace を持たず,呼び出し元と同じ workspace を共有する.同じご町内である.

    入力引数・出力引数

    では,コマンドラインの世界と関数内の世界で情報をやり取りするにはどうするか.それには,通常,入力引数出力引数を用いる.

    関数 func2 を
    func2.m:
    function y = func2(x)
    y = 3 * x;
    と作ったとすると,
    >> a = 4; b = func2(a);
    >> disp('a'); disp(a); disp('b'); disp(b);
    a
         4
    b
         12
    となる.コマンドライン上での a の中身(=4)は,func2 での x の中身として渡され,func2 での y の中身(=12)は,コマンドライン上での b の中身として渡される.
    なお,この受け渡しは,参照やポインタではなく,値のコピーが渡されることになっている(値渡し).一丁目の連絡文書が三丁目に伝達されるとき,その文書自体が渡されるのではなく,三丁目の人が文書を見ながらせっせと書き写して町内会に持って帰るのだ.一丁目の言う文書 a と,三丁目の言う文書 x は,当初の内容は同じでも物理的には別の存在なのだ.このことと,前記 workspace 間の隔絶とによって,外の世界と中の世界の交流は,入力引数と出力引数という,いわば関数呼び出し国と呼び出され関数国間の出入国ゲートのみに限定され,各々の中では他者の干渉を受けない鎖国が保たれているのである.なお,呼び出され関数国から見た関数呼び出し国のことを,matlab では caller と呼ぶ.呼び出し国の workspace のことを,caller workspace という.コマンドラインから関数を呼び出せば,関数内から見た caller workspace とは base workspace なわけだ.

    workspace の効果


    異なる workspace にアクセスできないことが何を意味するか.それは,裏を返せば,見えない範囲からの干渉は基本的に生じ得ないことを意味する.そのため,今自分の見えている範囲で整合性さえ取れれば大丈夫,という保証になるのだ.つまり,「今書いている関数 m-file がまともに動くこと」を積み重ねていけばいい,という世界が保証されている.一度に管理するのはエディタのそのページくらいで済むわけだ.

    前置きまとめ

    • matlab では,ある時点で「見える」変数の範囲を workspace という.
    • コマンドラインから見える範囲は base workspace.
    • 関数を呼び出せば,関数内の workspace は base workspace とは別物.スクリプトを呼び出すと,workspace は元のを共有.
    • 異なる workspace 間は隔絶した鎖国関係にある.同じ名前の変数でも別々のものを指す.
    • 関数呼び出し元の workspace (=caller workspace) と呼び出された関数内の workspace とは,通常,入出力引数という出入国ゲートを介してのみ,値渡しでやり取りが成立する.
    • workspace が分かれているおかげで,目に見える範囲の整合性さえ確保すれば,おかしな矛盾が生じない仕組みになっている. 
    • 関数のアクセススコープも workspace によるのだが,matlab サーチパスも含めてよりややこしくなりそうなので本記事では割愛.

    メモ

    • 関数 m-file とスクリプト m-file についてはこれを読もう:matlab のヘルプ→プロダクトのヘルプ→MATLAB->Getting Started->Programming->Scripts and Functions
    • workspace についてはこれを.同じく MATLAB->Desktop Tools and Development Environment->Workspace, Search Path, and File Operations
    • workspace は用語でもあるが,matlab で実際に workspace browser なるものを呼び出すコマンド名でもあるぞ.
    • matlab の次の性質は知っておくといいかもしれない.もっとも,プログラムの理論的な動作上は気にする必要は無い.実は matlab は毎度律儀に値渡しをメモリコピーの意味で実践してはいないようだ.大き目の行列を使って,matlab プロセスのメモリ使用量を観察しているとわかるのだが,入力引数を読むのにしか使わず,その中身を書き換えない場合は,コピー分のメモリ確保は生じていないようだった(matlab のバージョンには依存するかも).これ,気づく人は結構気づくものなんだね.Copy on Write (COW, or Lazy Copying) と言う動作で,Internal Matlab memory optimizations | Undocumented Matlab に詳しいぞ.
    • 構造化プログラミングって昔よく聞いたね.ベーマガDr.D も言ってたぞ

    予告

     

    workspace の安寧の中で虚偽の繁栄に酔いしれるプログラマたち.重い計算を恣(ほしいまま)にループで回す彼らは,長時間の計算中,突然天からの Ctrl+C による襲撃にさらされる.workspace 間の隔絶が仇になり,積み重ねた計算結果は日の目を見ることなく関数 workspace 内で雲散霧消してしまう.この run で受けた生を無駄にしたくない.天寿を全うできない場合でも,何とか壁の外の caller にこの情報を届けたい.越境者の自由を求め,今,餓狼たちの挑戦が始まる.次回,第2節,「workspaceをまたいだアクセス」.

    ※matlab では,実行中の処理は Ctrl+C で中断させることができます.Ctrl+C を押しても,あるまとまった処理が終わるまで待たされる場合もあります.
    ※本記事は2013年春季にノリノリで執筆しております.

    2013年5月16日木曜日

    fb2k: UI の種類と選択


    foobar2000 で UI を選ぶには,File -> Preferences で Preferences ウィンドウを開き,Display の User interface module のドロップダウンボックスを使う.
    • 使いたい UI がドロップダウンボックスに表示されていなければ,プラグインとして追加する必要がある.
    UI は執筆時点(2013春)では数種類あって,うちメジャーなのは 3 種類ほど,という状況らしい.インストール時に最初からあるのは Default User Interfaces で,他はプラグイン追加によって導入する.以下リストを挙げる.個々の設定についてはリンク先を参照されたい.

    UI リスト


    1. Default User Interfaces [通称 DUI / UI Element 系 / foobar2000 wiki jp の解説1, 2]

    標準付属.もちろんメジャー.ある程度はカスタマイズできる.

    2. Columns UI (通称 CUI) [公式 / UI extension 系 / foobar2000 wiki jp の解説1, 2]

    メジャー.本記事ではこれ中心.見た目完全に別物レベルにカスタマイズ可能.

    3. Func User Interface [公式, サポートBBS / UI extention 系 / foobar2000 wiki jp の解説1, 2]

    メジャー.CUI よりさらにカスタマイズできるらしい.使ってみたい.

    4. Egoh user interface [公式消失? / foobar2000 wiki jp の解説1, 2]

    シンプル・カスタマイズ性は低・更新は終了,らしい.公式サイトがちょっと見当たらないのだが,これ自体は foobar2000 wiki から入手可能.

    5. Panels UI [本体等 / * 系 / 何やら英語の解説 / 詳しそうなページ / foobar2000 wiki jp の解説1, 2]

    foobar2000 v0.9.5.3 以降には未対応.Unicode 未対応で,日本語環境では問題が出るとか.更新停止中らしい.カスタマイズ性はすごく高いらしい.

    6. Classic User Interface [公式 / 窓の杜の記事]


    foobar2000 10周年記念のお楽しみプラグイン.昔の UI を再現するらしい.公式にあるコメントを引用すると,
    「このコンポーネントは特に役に立つようなモノじゃないです.ノスタルジーってだけ.例えば表示しっ放しのボリュームコントロール等の,今の foobar2000 では必須とされる機能もいろいろないです.新しい機能を付ける計画はありません」(適当訳:私こと文六)
    私もその時代のインターフェースには馴染みが無い.

    参考


    ------------------------------------------------------------------
    [fb2k: 外観・UI設定の全体像に戻る]
    [foobar2000メモのトップに戻る]

    2013年5月12日日曜日

    Win: NTP が通らない時の時刻合わせ

    Windows 上で,NTP が利用できない場合の時刻合わせの方法について述べる.

    現在,職場のネットワークでは NTP が通らない.時刻あわせといえば NTP とばかり思い込んでいたので, これはもう PC の時計が狂うのを止めるのは困難かと思っていた.PC の時計は実際に確実なずれっぷりを見せ,部屋の壁時計(電波時計ではないのでずれてゆく)ともども混乱の元となっていた.もっとも,現用の腕時計は電波時計なのでそれが解決手段なのであった.
    しかし,ファイル同期その他のためにも,PC の時計はある程度まともでないと困ることは多い.改めて調べてみると,

    HTTP でも時刻合わせは可能

    であるらしい.そこで,HTTP による時刻合わせを,Windows 上で実際に試してみた.

    今回は以下のフリーウェアを用いた.どちらのソフトも,NTP/HTTP 両対応である(HTTPプロキシにも対応).
    どちらも正常に動き,時刻の修正が可能だった.

    舞時計の方は,PC 起動時に自動起動して時刻を合わせる設定ができる.定期自動アクセス等は無いようだ.すっきりシンプル.ちょっと試しに合わせたいときに便利.

    iネッ時計は機能豊富で,常駐して定期時刻あわせが可能.しかも接続先サーバはリストからローテーションして先方への負荷を減らしてくれる.何かと親切である。
    両ソフトについて,Windows Vista/7 以降で使うときは,「管理者として実行」 で起動しないといけない場合があったかも.

    今回は iネッ時計 を常駐させることにした.うまく動いてくれているようだ.めでたしめでたし.

    さらに:

    上記ではあくまでインターネットを利用した時刻合わせについて述べたが,さらにカッコよく GPS を利用する方法もある.
    ぐっと来る方は挑戦されたし.

    参考:

    日本標準時といえば情報通信研究機構(NiCT. 旧機関に通信総合研究所(CRL)を含む).そのNiCT の日本標準時グループによる説明ページのひとつに,https/http による時刻供給サービスについて言及されている.リンクされたページにはいくつかのクライアントが挙げられており,
    太助時計ピッタリでチュ!の各ソフトが http に対応しているそうだ.また,「このURLにアクセスすると,JSONP形式時刻情報の文字列が返ってくる」等の説明がある.

    UNIX 系の場合,http time protocol (htp) の実装が使えるらしい.
    cf. [linux][memo]HTP(HTTP Time Protocol)を使ってNTPが使えない環境でも時刻あわせをする from tanamonの日記

    一般に,http レスポンスヘッダの date フィールドで秒単位で時刻が見られるそうなので(上記の htp はそれを利用しているらしい),事実上世間の http サーバならなんでも利用可能なのかもしれない.NiCT の説明にあるのはもう少し凝っているように読める.


    2013年4月26日金曜日

    OneNote: syncing failed

    I love Microsoft OneNote 2010. By placing a notebook on SkyDrive, multiple devices can share and synchronize that notebook. It is a great convenience; however, it would be more if only OneNote did not fail to sync so often.

    In my case, errors went as such.
    In English, the messages are
    • OneNote cannot sync changes in this notebook because WebDAV support is not enabled on your computer. (Error code: 0xE0000784)
    • OneNote cannot sync this notebook because the network is disconnected or the network location is not available. (Error code: 0xE4010641)
    Come on, network IS working, firefox is showing webpages correctly (even SkyDrive pages!). And you OneNote showed good syncing yesterday...

    After a few months of such trouble, during when syncs succeeded or failed in a seemingly random manner, I finally figured out (so I think) the reason and solution. Look at this:
    With a check on Internet Explorer's menu File->Work offline, it seems that OneNote would not connect to the internet. By putting off the check, sync succeeded easily.

    I hope someday those error messages also show us solutions clearly, or, IE's menu doesn't cause unexpected influences on other applications.

    2013年4月25日木曜日

    OneNote: 同期が失敗するときは

    Microsoft OneNote 2010 をとても便利に使っている.SkyDrive 上に「ノート」を置けば複数のデバイス間で同期できる.しかしながら,OneNote でこのノートの同期が失敗することがままある.

    世の中のいろいろなケースは他の方の記事などを参照していただくとして,私の場合,生じたエラーは
    というものである.
    「ユーザーのコンピューターで WebDAV のサポートが有効になっていないため、このノートブックの変更内容を同期できません。(エラーコード: 0xE0000784)」
    「ネットワークが切断されているか、ネットワーク上の場所が利用不可能なため、このノートブックを同期できません。(エラーコード: 0xE4010641)」

    いやいや,普通にネットつながってるし.君も昨日は同期してたでしょ‥

    などと困り果てること数ヶ月.時々同期できたりまたできなくなったり,どうなってるのかまるでわからなかった.しかし!なんだかんだでようやく解決した(っぽい).原因はおそらくコイツだ.
     IE の「オフライン作業」にチェックがついていると,OneNote からもネットに接続に行かなくなるらしい.チェックを外したらあっさり同期した.

    なんとも言えない気持ちになりました.まあ一安心には違いない.

    2013年1月30日水曜日

    知識:ボールペンの替え芯(リフィル,レフィル)の互換性

    ボールペンの替え芯(リフィル,レフィル)は,別のメーカーのものでも使えることがあるらしい.基本的に JIS 規格に準拠しているのだそうだ.知らなかった‥.グリップと中身の芯の組み合わせを交換して楽しめるじゃないか.

    具体的なリストは「日本筆記具工業会「お役立ち情報」」を参照のこと.

    こうした互換性の知識をまとめるために,blog内に独立ページも作ってみた.

    やってみました実践編
    1. ZEBRA JF-0.5 → uni-ball Signo RT UMN-105EW