kazusuke のすべての投稿

Wordの引用文献スタイルをなんとかする話

volumeとかissueが「第 巻 5」とかいう糞みたいな表示になるアレをなんとかする方法。実は前に挫折済みなんだけれど,改めて挑戦してみたら案外なんとかなった。

方法

Users\**\AppData\Roaming\Microsoft\Bibliography\Style
を開く。引用文献のスタイルが並んでいるので,IEEEスタイルのをコピーしてすぐ貼り付け。

コピーしたやつを適当なテキストエディタで開き,「IEEE」を「IEEE Fixed」とかに一括変換。

985行目,
<xsl:template name="templ_str_VolumeShortCap" >
を見る。要はこの中身がシステムロケールによって妙な文字列に変換されるのが諸悪の根源。VolumeShortCapの場合,英語環境だと「Vol.」のことなので,ごちゃごちゃした中身をそのまま置き換えて

<xsl:template name="templ_str_VolumeShortCap" >
Vol.
</xsl:template>

という感じに修正。これでロケールに依らず,templ_str_VolumeShortCapが呼び出されたときは「Vol.」と表示されるようになった。他のフィールドも同じように修正して完成。

フィールド名と日本語の対比は下記リンク先に詳しい。

https://srad.jp/~tagga/journal/559916/

愚痴

語順とかそもそもの表現文化の違いを無視して,ただただ意味だけを追って語句だけをロケールで変更するとこういうことになる。MSは反省してどうぞ。




chromeの起動が遅い話

諸事情で組んだRYZEN5マシン,何故かChromeとかのネット接続が異常に遅い。けどEdgeは正常。なんだこれは

原因

https://qiita.com/kik4/items/6c2942770236afee7d71

なにやらcryptsvcが原因らしい。確かに「安全な接続を…」のメッセージで引っかかってる時,CPU時間が7%とかになっていた。というかまたお前か!確かWindows Update関連の不具合が出た時もcryptsvcが原因だったような。

今回の事例だと,件のレジストリを削除した状態でPCを再起動すると直った。

注意

cryptsvcのプロパティから,ローカルアカウントでのログオンにすると標記の現象は起こらなくなる。けど代わりに何故かmmc.exeがUA制御で弾かれるようになって,イベントビューアとかが見られなくなった。

普通のアカウントでのログオンに戻す場合は,ユーザーの検索から「Network Service」を選択,パスワードは空欄にすれば元通りになる。

これからはSMPの時代らしい

長い間WSHを使わずに使ってきたfoobar2000なのだけれど、いよいよ耐えられなくなってきたので、ちょっとお勉強しようかと思っていた矢先の出来事。

顛末

WSH Panel使おう

今はJScript Panelがメインらしい?

JScript Panelもバージョンアップで過去スクリプトが色々動かなくなってるらしい?

JScript Panelが2.1.8にバージョンアップされる。リリースノートにJScript Panelの更新終了とSpider Monkey Panelへの誘導が見つかる。(事実上のJScript Panelオワコン宣言)

Spider Monkey Panelの勉強を始める ←いまここ

JScriptパネルと何が違うのか

そもそもJScriptってのはMSの作ったJava Scriptモドキで、ほぼ文法が一緒なのだけれどちょっとだけ違う、みたいなものらしい。WSHを利用したパネルなのでJScriptを使わざるを得ないって感じだったのだろうけれど、なにせWeb上に情報が無いのなんのって。google先生には「もしかして:Java Script」される始末。まさに生ける屍言語。

そんなものいつまでも使ってらんねーよ!ということで、火狐のJava ScriptエンジンであるSpider Monkeyを使ってJScriptパネルを再実装したのがSpider Monkey Panelということらしい。

あと作者曰く「Blazing-fast performance!」らしいっすよ?

今までのコードは

「on_~」系の関数が呼ばれて動くのはJScriptパネルと変わっていない様子。つまりかなり簡単に移植できるってこった。

JScriptパネルにサンプルとして載ってたものはすべてSpider Monkey Panelに移植されているようなので、とりあえずそのあたり確認したら良さそう。というかサンプルをそのまま使っていた勢は何も考えずにSpider Monkey Panelへ移行出来る。

あとfb2kのパネルとしての変更点として、コメント内に配置する変なプリプロセッサが無くなって、普通に他の言語っぽくincludeが書けるようになった点も注意。

complete系の話

色々改造の種になるcomplete系だけれど少し実装が変わっているっぽ。

特に見た目で気になるのがhelpers.js系。元々lodash_min.jsのmixin関数で、helpers.js内の関数をすべてlodashに含めていたのが、全部helpers独自実装に変わってる。

ただ単なる名称変更だとややこしいと思ったのか、例えば今まで

 _.chrToImg(chars.stop, colours.buttons)

とかしてたのが

 _chrToImg(chars.stop, colours.buttons)

になった。lodashにchrToImgを含めるのではなく、最初から_chrToImgという名前で定義してる。余計ややこしいと思うんですがそれは…

まとめ

Java Scriptにほぼ触れたことの無かった自分は「_.charToImg」とかいう表現に困惑したのだけれど、lodashはJava Script界隈では常識レベルのライブラリらしく、知識の乏しさを痛感したのであった(あほ)

とりあえず難しいロジカルな部分は既にあるコードに任せるとして、見た目だけ弄るところから始めようと思う。JScriptじゃなくてJava Scriptってだけで幾分か気が楽だし。デバッグ環境がうんこなのは一緒だけれど…

今からfb2kのカスタムするぞって人は是非Spider Monkey Panelから始めましょう。

DSDの未来が暗い話

moraとか眺めてて、結構DSDの配信もやってるんだなとか思って。ポタアンとか使うなら良いんだろうなーとか思ってたけど、よく考えたら手持ちのAVアンプでもDSD再生出来るんじゃないかとか思ったので調べてみた。結果ダメだったわけだけれど…

PCからDSDを送り出せる規格が無い

foobar2000にはDSDに対応するコンポーネントがあるし、WASAPIもASIOもDoPでDSDのビットストリーミングが出来る。SACDがDSDだったから多少古いAVアンプでもDSDのデコードは出来る。

これだけ環境が揃っててもPCからDSDを再生出来ない。所詮DoPなんてのは間に合わせの抜け道みたいなもの。オーディオデバイスはUSB等でPCに直ぶら下がりなのが前提。HDMIやSPDIFでも原理上伝送出来るはずなのに、誰もやらない。というかやれない。だって下流のデバイスがDoPに対応してるかなんて上流のデバイスが知る由もないし。無責任にDSD信号をPCMとして投げるなんて、そんなことやりたがるメーカーがあるわけがない。

せめてDTSとかDolbyDigitalみたいに、ビットストリーミングの一規格として策定してデバイス製造者に実装を促すべきだった。DoPなんて中途半端なもの生まれてこなけりゃよかったのに。

PCからUSB経由で認識させられないのか

ミニコンポなんかはUSBDACとして認識させられるようなものが多いけれど、どうやらAVアンプにそのようなものは無いっぽい。まあDSDを考えないなら光デジタルで良いし…。

勿論DoPに対応したデバイスを挟めば良いだけなので、DoP対応のUSBDACを挟めば良し。滅茶苦茶スマートさに欠けるし、それだと結局アンプ側のDACを使えないということになる。勿論ピュアオーディオ的に、昔ながらのアンプを使うというならそれでもいいんだけれど…。

AVアンプでDSDはどういう扱いなのか

基本的にはHDMI経由でDSDを受ける、つまりPS3とかでSACDを再生した場合とかを想定しているっぽい。だがご存知のようにSACDは完全にオワコン、PS4にすら見捨てられたクッソ哀れな規格なので存在価値無し。

じゃあ最近のAVアンプでのDSD事情がどうなってるのかといえば、

  • DLNA経由で再生
  • USBメモリ中のものを再生

といった感じ。もうね、アホですかね。DLしたDSDをUSBメモリに入れて、棚にでも飾るんですか?ひたすら意味不明なのだけれど、先に言ったとおりDSDを送る規格が無いのでアンプ側ではこのくらいの対応しか出来ないわけだ。

まとめ

折角SACDの失敗を乗り越えてDSDがコンシューマーレベルまで下りてきたかと思ってたのに、中々酷い有様でがっかりというのが正直なところ。DSD→PCMで再生すれば良いじゃんなんていう意見まで散見され、開いた口が塞がらない。それだったらflacで良いじゃん。

Web地図の高速道路色分けが糞という話

最近は新直轄方式なるわけ分からんものが出来たせいで、実際には道が出来てるのに、一般道と同じ色で表示されているせいで非常に見づらいなんてことが頻発。どうしてこうなったのか、というお話。

分類が良く分からん例

京奈和道

設計速度100 km/hなのに、どの地図を見ても普通の国道と同じ色。有料区間の城陽-木津間だけ高速道路色。地理院地図だけは淡い緑色。

阪和道-紀勢道

南紀田辺-すさみ南間は新直轄方式の無料区間だが、高速道路色。ただし何故かYahoo!地図といつもNAVIだけ一般国道色。地理院地図は淡い緑色。

続きを読む Web地図の高速道路色分けが糞という話

Win10でLAN上の他PCが表示されない問題

自機から他機が見えない。他機から自機も見えない。なおIP直打ちだと問題なくアクセス可能。なんじゃこりゃ。

解決策

https://konozama.jp/amazon_devil/2017/11/windows10pc.html

↑このあたりを参考に。

要するにFunction Discovery Provider HostとFunction Discovery Resource Publicationとが起動していないのが原因っぽ。自環境ではどちらも手動起動になっていて、確認時にはResource Publicationが未実行だった。

6/22にはMSから公式発表があったらしい。

https://forest.watch.impress.co.jp/docs/news/1129026.html

名前解決関連の問題とWin10

前にラボの方でネットワークの問題が起こった時にもぶち当たった壁なのだけれど、どうやら名前解決が出来ていないとエクスプローラでは表示されないらしい。まあIPだけでPCが表示されているのは見たことが無いし当たり前か。

この名前解決ってのはどうにもややこしいもので、過去の遺産を使えるように色々とやってきた結果非常にカオスな状態になってしまっている。

Windows 名前解決の順序

例えばpingコマンドを送る場合はWinsockの名前解決が使われるらしい。つまり大学やなんかのネットワークだとNetBIOSに優先してDNS鯖で名前解決がされることになる。なのでNetBIOSが正常でもDNS鯖が変な名前解決をしてくれるとエクスプローラで表示されなかったりする。

ところでWin10はInsider Previewとかでネットワーク関連の更新、というかセキュリティ関連の変更を多く行っていて、最近だとホームグループがオミットされたのが目につく。その関係でSMB1.0とかNetBIOSとか古臭くてセキュリティ的に劣るものは排除されていくようで、今回の問題もそのあおりを受けたものだと思う。

今回自機で何故当該サービスが止まってたのかはよくわからないけれど、Function Discovery系のサービスはセキュリティ上無効にすべきとか、不要なサービスだとか、そういう今思えばトンデモな記事が散見されるので、昔のバカな自分がサービスを手動に変えていたのかもしれない。