日記帳だ! with Tux on Libserver

二度目の大改造!! 日記帳…か?を継承し、より柔軟でパワフルなBlogに変身しました。

RSSに対応しています。リンク・コメント・トラックバックは自由にしていただいてほぼ問題ありません。
RSS購読方法、僕のリンク・コメント・トラックバックについての考えを読むことをおすすめします。

JavaScriptを有効にし、Cookieを受け入れ、以下のブラウザを使うことで完全なコンテンツが楽しめます。
Mozilla Firefox 3.0(Get Firefox)・Opera 9.6・Safari 3.2・Lunascape 4/5(Gecko)・Lunascape 5(WebKit)
Internet Explorer 7/8とそれを使うIEコンポーネントブラウザ(Lunascape・Sleipnirなど)

<< 過去

ノートPCでも時々DVDを使う

最近、業務用のノートPCの選定品が変わった。

メーカーも変わったからかなり大きな変化だ。

そんなわけで新しくレンタル開始になるPCから順次変わっている。


それでノートPCを借り換えた人が、「外付けのDVDドライブを買った方がいいかもね」と。

最近レンタル切れになっているタイプのノートPCはDVDドライブ付きだった。

これが借り換えでDVDドライブなしになったことを受けての意見なのだが、

実はその後にレンタルを開始したPCではすでにDVDドライブなしになっていた。

なので今さらとも言えるが、間もなく完全に ノートPC=DVDドライブなし となるのは大きな変化かも知れない。


外付けのDVDドライブなんて買ってもそんなに高いものではないけど、かといって代替策がないわけでもないし……

と思っていたら、ちょうどDVDに入ったソフトウェアのインストールをする用事が出来た。

自分が職場で使っているノートPCは、すでにDVDドライブなしになっていたものなので、そのままではインストール出来ない。

そして、現時点ではまだ外付けのDVDドライブは職場にはない。

ではどうしたか。デスクトップPCのDVDドライブを使ったのだ。


デスクトップPCのDVDドライブを共有設定した上で、ノートPCにはネットワークドライブとしてマウントしている。

なので、デスクトップPCにDVDを入れて、ノートPCでネットワークドライブにアクセスすると、

デスクトップPCのDVDドライブでアクセスが発生し、DVDからのソフトウェアのインストールができた。

USBではなく、EthernetでDVDドライブにアクセスしてるってわけ。

これでも代替出来るんですよね。特にアクセス速度も問題ないし。


CD・DVDの出番が減っていくだろうというのは、ほぼ世間の共通見解だろうと思う。

ゆえに軽量化・薄型化の妨げになるDVDドライブをなくそうという考えは妥当だ。

ただ、そうはいっても少しは出番が残っているのもまた事実なんだよね。

未だに一部のインストールメディアはCDまたはDVDですからね。

有償ソフトだとしてもWebからダウンロードってのもそこそこあることからも、DVDドライブの出番が減っているのは確かだが、

それでも未だにCD・DVDで提供されるのはあるからねぇ。スタンドアローン環境での利用も想定してるというのもあるんだろうけど。


もう十年もすればDVDドライブなんて無用の長物になるのかなぁ?

ただ、やっぱりスタンドアローン環境では、一番手堅い方法ではあるんだよね。

USBストレージというのもあるし、少なくともフロッピーディスクはすでに代替できている。(古い計測器では残ってるけど時間の問題だろう)

DVD程度の容量であればUSBストレージで代替出来るが、大量生産向きではないし、セキュリティ面で警戒されやすい?

今思っているデメリットが将来デメリットではなくなる可能性は十分ありますけどね。


Author : hidemaro
Date : 2017/12/01(Fri) 21:21
Windows・Microsoft | Comment | trackback (0)

パスワードもコンピュータもBANされた

職場に最近来た人が、パスワードの有効期間が過ぎてPCにログインできなくなってしまった。

あれ有効期限切らすと全くログインできなくなっちゃうんだと少し驚いたが。

どうもWindowsはそういう仕様なんだそうで。


一方で別システムからドメインのパスワードを変えるインターフェースがあるのを知っていたので教えてあげた。

Windowsからパスワード変更できない人のための代替手段として用意されているようだけど。

(Windowsのログイン以外の用途でしか使わない人のためのものらしい)

これでパスワードを変更すれば、しばらくすると新しいパスワードでログインできるようになるはず。

こちらはすでに有効期限を切らしたパスワードも変更することができたので、問題は解決したと思った。


ところがしばらく経っても新しいパスワードでログインできない。

それでエラーメッセージを見てみると「サーバーのセキュリティ データベースにこのワークステーションの信頼関係に対するコンピュータアカウントがありません」となっていた。

こりゃ別の要因なのでは? ということで社内外の情報を調べていたのだが、そしたら真の原因が見つかった。

実はこのコンピュータ、とある事情により上位側でコンピュータ名の変更が行われていたらしい。

こういう場合、移行期間中に実際にコンピュータ名の変更を行うことになっているのだが、これを怠っていたようだ。


とはいえ、パスワードの有効期限が切れるまでは問題なく使えていたというのもまた事実。

なんで使えていたのかというと、一度ネットワークに接続した状態でドメインのユーザー・パスワードでログインすると、

このときログインしたユーザーについては、スタンドアローンでもログインすることができるようになる。

すなわちパスワードの有効期限が切れるまではスタンドアローン扱いでログインできたので、

コンピュータ名変更を忘れていたことの問題は表面化しなかったわけである。

ところがパスワードの有効期限が切れた時点で、スタンドアローン扱いでのログインはできなくなる。

さらに新しいパスワードとの認証を行うためには、ドメインのパスワードとの照合が必要なので、スタンドアローン状態ではどうにもならない。

この結果、一気に問題が表面化したわけである。


そういう問題であれば、他の正常なコンピュータではドメインのユーザー・パスワードでのログインが成立するはずなので、

それで変更後のパスワードでのログインが成立したので、このコンピュータに限った問題であることが確認出来た。

その上で、問題が発生したコンピュータのコンピュータ名変更を行い(管理者の操作が必要で多少時間がかかった)、

とりあえず一連の問題は解決したのだった。

なんやかんやと問題が全部解決するまで半日ぐらいかかってしまった。


それはそうとして、パスワードの有効期限って意味あるんですかね。

かつては推奨されていたが、現在は特に推奨されていないというのが真相らしいんだけどね。

使っているパスワードの強度がどれだけあるかとか、そっちの方が重要なんだという話か。

社内のシステムでもいくつかパスワードの有効期限が切られているものがあって、

そのうち1つはかなり頻繁に変更を要求される上に、2世代か3世代前までのパスワードを覚えていて、それと被ると弾かれるんだよね。

あまり使用頻度が高くないので、ログインするたびに期限切れで変更要求されるというほどで大変。

それに比べると、Windowsログインに使うドメインのパスワードの有効期間はゆるいんだけどさ。


Author : hidemaro
Date : 2017/07/04(Tue) 19:31
Windows・Microsoft | Comment | trackback (0)

Windows 10にしたかった

Windows7からWindows10への無料アップデートをやっているのは知られているとおりだが、

ノートPCがWindows7だからアップデート予約をしていたわけだけど、なかなか回ってこない。

普段起動させないから順番が回ってこないのかな。

そんな中、Windows10へのアップデートに合わせてHDDをSSDに置き換えて、さらなる性能向上・延命を図ることを考えた。


そこで中古のSSDでいいのないかなぁと探しに行ったが、思ったほど安くない。

当初64GB程度でいいから安く買えるかなぁと思ったんだけど、あまり128GBと差がない。

その128GBのSSDは中古と新品で大差ないという。むしろ中古の方が高い。

その中古より安い新品というのがSanDiskのSSD Plusという廉価なものなので、先日のデスクトップPC組み替え時にも使用した。(Windows 10のお供にAMD APU)

もしかすると性能面では並んでいる中古品より劣るのかも知れないけどね。

そんなわけでSSD Plusの128GBを買って帰ってきた。


Windows7からWindows10へのアップデートだが、新規インストールと同時に行う場合は、

Windows10のインストール時にWindows7のシリアルナンバーを入れればよい。それでも通るようになってるんだと。

Windows10のインストールメディアはUSBストレージに書き込めるので特にDVDを用意する必要はない。DVDでもいいけど。

HDDを外して、まっさらなSSDに差し替えて、Windows10を新規インストールしたわけである。


Windows10のインストールが終わった後、画面の解像度が1024x768で動いているので、

グラフィックのドライバーが別に必要ということでインストールしようとした。

ところがこのノートPCのグラフィック、RADEON X1270に対応したドライバーはWindows Vistaまでしかない。

Windows7のときはVistaのドライバーをインストールすれば動いたのだが、インストールしてもうまく反映されない。

調べたところWindows Vistaと7はドライバーは共通であることも多かったが、8以降はドライバーの仕様が変わったようでインストールできないそうだ。

AMDはこの世代のGPUのドライバーをWindows7以降では作らないことにしたので、Windows10では使えないということである。

このノートPCを買ったのは2009年のこと(cf. なぜdv2を選ぼうというのか)、さすがに古すぎるということである。

グラフィックドライバーが入らないならばWindows10になってもメリットは得られない。

というわけでこの目論見は失敗したのだった。


その後、デスクトップPCに元々入っていたHDDと新しく買ったSSDを接続し、パーティションをそっくり移し替えた。

EaseUS Todo Backup Free/Download

Freeでもパーティションを転送するだけなら問題ない。

これで移し替えて、SSDをノートPCに取り付ければSSDでWindows7が動いた。

これまでHDDの音がけっこううるさかったので静かになったなぁと思った。

起動してからログインまで、ログインしてからブラウザなどソフトが立ち上がるまでのスピードは多少速くなった気はする。


買ってしまったのでSSDはこうして活用しているが、当初の目論見は全く外れてしまったわけである。

そもそもあまり稼働率の高くないノートPCにSSDを買うというのはあまりよい買い物とは言えないのでは? という思いはあったものの、

Windows10にできればそこそこ延命できるという期待もあって、それとセットならそこまで悪い買い物ではないと考えたわけである。

まー、SSDはHDDより寿命が長いことが明らかになっているし、ノートPCを捨ててもSSDは何らかの形で活用できるから、

このノートPCで十分活躍できなかったとしても将来はどうだか分からんけどね。


しかしノートPCどうしたもんかなぁ。

過去に何度も買い換えを検討していたのだが、最近ではタブレットの活用が進み、稼働率が下がっている。

曲がりなりにも現状でも動くので別にいいかなぁと思ってやってきたんだけど、

Windows7である以上はソフトウェアの寿命がそろそろ見えてきているという状況でどうしたもんかなぁと。

さっきも書いたけど、2009年に購入してからそろそろ7年に達しようという状況である。

これをWindows10にして延命するというのは10年選手を目指すということだったのだが、そうはいかんかったと。

どうしましょうかね。

短期的には大丈夫だから新しいのを買う気は全く起きないが、このまま放置し続けると使えるノートPCが無くなってしまう。

危機感は持ちつつもとりあえずは様子見とするのは、その程度の問題と捉えているということだ。


Author : hidemaro
Date : 2016/01/21(Thu) 22:03
Windows・Microsoft | Comment | trackback (0)

ノートPCは指紋があると楽

職場には開発用のデスクトップのコンピュータがある。完全にワークステーションですね。

けど、実験用の機材の横で使うのには持ち運びできるノートPCが必要となる。

自分の席に実際にハードウェアを持ってきて開発することもできるけど、

あまり大規模な装置を置くことはできないし、やりたいこと次第だろう。


職場にやってきてこれまで1ヶ月は他の人の作業環境をノートPCごと借りたり、

ある人が作業場所に据え付けたデスクトップPCを当面使わないという理由で借りたり、

そうやってあれこれやっていたのだが、1人1人作業できる環境ではないので、

1月になったら本格的に僕の作業場所を確保することになっていた。

そこで使う道具を運んだりあれこれしていたのだけど、そこにはノートPCも含まれ、

部署で持っているノートPCを1台渡してくれた。

基本的にはこれを作業場所で使ってよいとのことだ。


社内のコンピュータは基本的に共通のID・パスワードでログインできるので、

今まで誰かが使っていたコンピュータを借りても自分の名前でログインできる。

ところがノートPCはBIOSパスワードがあるのよね。

研修中に使っていたノートPCにもBIOSパスワードがあったんだけど、このBIOSパスワードが難儀なのである。

というのもBIOSパスワードはマシンごとに固定で自分で変えることはできない。

そしてポリシー上、筐体にBIOSパスワードを貼るなどしてはいけないことになっている。

かといって覚えられるものでもないので、現実的にはどこかに書き留めるという話になる。

もっとも研修中、ほとんどの期間で毎日のように打っていると覚えてしまうのだけど。

ノートPCはHDD暗号化をしてるらしくてその都合でこういうことをしているらしい。

盗難・紛失時のデータ漏洩リスクを低減するためなのだろう。


ということはここでもノートPCのBIOSパスワードを覚えないといけないのか?

と思ったかも知れないが、実はある時期から導入されたノートPCには指紋認証機能がついている。

これは指紋認証を行うことで、BIOSパスワードとログインID・パスワードの入力を省略できるもので、

ここの部署では指紋認証機能を使ってる人が多いんだとか。確かに使えるならそっちの方が便利だな。

そんなわけで指紋を登録しておいた。最低1本でいいが、10本まで登録できるので、左右の人差し指・中指を登録しておいた。

登録するのは1人には限らないので、これまでこのノートPCを主に使っていた人と僕と2人分登録されているはず。

どちらでもBIOSパスワードを突破することができるということだ。


デスクトップPCはBIOSパスワードがない、ということは盗難されればデータ流出の可能性はあるのではないかと思う。

とはいえ、基本的には従業員しか入らないわけだし、あんなデカイの持ち出される心配はあまりないと考えているのだろう。

もっとも開発職場で使うノートPCはほとんど社外に持ち出す機会もなくて、専ら社内で使われている。

もちろん社内ではあれこれと運ぶことはあるけどね。主に職場内だが。

じゃあリスクはデスクトップPCとさほど変わらないのでは? ともなる。持ち出す難易度が全く違うが。

会社のポリシーで、ノートPCは一般にHDD暗号化を行いBIOSパスワードで制御すべしとなっているのでそれに従っているまでだ。

もっとも指紋認証でBIOSパスワードとログインID・パスワードの代わりになるならば、デスクトップPCのログインより手間がかからないぐらいなので、

ちゃんと設定さえしておけばこんなに便利なのかという話である。

だから法人モデルで指紋認証機能がついたノートPCが多いということである。


Author : hidemaro
Date : 2016/01/07(Thu) 19:21
Windows・Microsoft | Comment | trackback (0)

GPUを活用できるかできないか

AMD APUを使うメリットの1つとして挙げられていたブラウザや動画再生でのパフォーマンスをあれこれ調べていた。

APUに限らないけど、CPUだけだと大きなリソースを占有してしまうFlashの実行や動画のデコードにGPUを使うことはよく行われており、

これまでも知らないうちに使ってたか知らないけど、具体的にどんなときに働くか調べてみた。

けっこう環境によって違うので調べてみないとわからないかもね。


これまで高解像度の動画を再生すると、再生できるが時々カクついたりすることはあった。

それがWindows Media Playerで再生すると、なんとCPUリソースをほとんど食わずに再生できてしまう。

GPUで処理しているということである。

それ確かめるにはどうすればいいかという話だけど、Open Hardware MonitorではGPUリソースの占有率も見られる。

これで見ると確かにGPUのリソース占有率が上がっていることはわかる。

ところがGOM Playerで再生すると、CPUリソースはそれなりに消費する。

消費するって言っても10~20%ぐらいなんだけどね。それだけパワフルなCPUということなのだと思うけど。

GOM PlayerがGPUをデコードに使っているのかどうかはよくわからないのだが、どうやってもCPUリソースを消費するというところがポイントだ。

このように環境によってGPUを使うことによるCPUの負担軽減効果には大きな差が出るということがポイントである。


これはFlashでも言えることで、ニコニコ動画で「ニコニコベンチマーク」とタグがついている異常にビットレートの高い動画を再生してみるとわかる。

ニコニコのプレイヤーの設定にハードウェアアクセラレーションを有効にするとか設定があるので、そこにチェックを入れる。

それで、Firefox・Chrome・Internet Explorerでそれぞれ再生してみたが、

Chromeは明らかに性能が出ない。どうもChromeのPPAPI版FlashではGPUを使ってもあまりCPU負荷は軽減されないようだ。

FirefoxとInternet Explorerはどちらも同じぐらいだが、Firefoxの方が重い動画もスムーズに再生できた。

もちろんChromeでも常識的な動画であれば重いと感じることはないだろうけど、極端な例で試すと大きな差が出る。

FirefoxでGPUが効いていると、FlashはほとんどCPUリソースを食わずに重い重い動画も再生できてしまった。すごいな。


最近のPCはCPUとGPU、どちらのリソースをどのように使うか、工夫するとかなり性能が向上することも多いかと思う。

あれこれ調べてみると、これがいいというのが見えてくるだろう。

実は今まであまり調べたことがなかったんだけど、今までの環境でもここ工夫してたらもうちょっとよくなってたのかもなと思うこともある。

もちろんCPU・GPUとも性能が大幅に向上したことでCPUを活用する処理でもGPUを活用する処理でも良さを引き出せるようになったというのはあるけどさ。


Author : hidemaro
Date : 2016/01/04(Mon) 23:32
Windows・Microsoft | Comment | trackback (0)

Windows 10のお供にAMD APU

昨日、川崎大師からの帰り道に秋葉原に寄り道をして、あれこれ見ていたのだが、

PCの組み替えのアイデアを探るために、CPUとかマザーボードとか見ていたんだけど、

こうやって詳しく見るのは久しぶりのことで、IntelとAMDがどういうことをやっているか勉強していた。

そして、また今日、秋葉原に行ってPCのパーツを買ってきて、早速組み替えてみたのだった。


そもそも、今までのPCは2011年に組み立ててからほとんど触っていない。

DDR3の時代がやってきたからPCつくりかえる

5740円で買ったAthlon II X2を積んで作ったものだと書いてある。今のCPUの値段と比べると不思議なほど安いな。

こんなに安く組んだPCでこれまで4年半ほど経過しているが、意外にも性能面で大きな問題はなかった。

まぁ大きな問題は無いとは言うけどメモリ不足気味だったし、構成を一新すればなおさらサクサク動くのではという思いもあったが、

とはいえ、わざわざお金をかけて構成を一新する気概というのはあまり起きず、これまで放置してきたという状況である。

そんな状況だったが、最近、Windows 10が出始めて、Windows 7のメインストリームサポートも終了して、

いますぐ問題は起きないにせよ、Windows 10への移行を考えるべき状況となってきた。

そんな状況で、Windows 7のユーザーならばWindows 10への無償アップデートがあるところだが、

このPC、DreamSparkで入手したWindows Server 2008R2を使っているので、Windows 10にはならない。

というわけでWindows 10への移行に合わせてPCの構成を一新しようという考えになったのだった。


弟に言わせれば、「AMDはCPUもIntelにはかなわないし、GPGPUもNVIDIAにはかなわない」との評だが、

調べてみたところ、確かにIntel Core i7のようなハイエンドなCPUに並ぶCPUがAMDにはあまりないし、

GPGPUの世界でNVIDIAのアーキテクチャであるCUDAの評判が高いことは事実で、そうなるとNVIDIAのGPUを使うしかない。

ただ、僕はGPUを使ってゲームをするわけでもないし、計算をするわけでもない。なので、そこにこだわる必要はない。

これまで長らくAMDのAthlonシリーズを使ってきたが、そんな話も聞いていたので、当初はIntelのCPUとグラフィックでやろうと考えてみた。

ところが、実際に店で見てみるとIntelのCPUはかなり高い。Core i5でも2~3万円とかするから思っていたより高い。

一方でAMD APUについて、店に繰り出してみると、AMD APUはWindows 10の性能を引き出すということが宣伝されている。

強い者だけが進化する。AMDの次世代APUが武器になる (ソフマップ)

Intel Core i3との比較になっているが、Intel Core i3より安い値段で、それより性能に優れるものが買えるようだ。

ということで当初Intelで考えていたところが、AMD APUの採用に傾いていったのだった。


ところでAMD APUとはなんぞやという話である。

AMDがRadeon擁するATIを買収したのは2006年の話。

以後、AMDのブランドでGPUとしてRadeonを統合したチップセットが売られるようになったが、

2011年にはAMD FusionとしてCPUとGPUを統合した商品を売るようになった。FusionはまもなくAPUと呼ばれるようになった。

APUは何がいいのか?

革命的な新しいアーキテクチャーHSAによって、1つのAPU上で、CPUとGPUによるデータの共有化、同じメモリーへのアクセスが可能になります。このテクノロジーは、ヘテロジニアス・ユニフォーム・メモリー・アクセス、または「hUMA」と呼ばれます。

このアーキテクチャーには、ヘテロジニアス・キュー、または「hQ」と呼ばれる画期的なテクノロジーも搭載されています。hQは、コンピューティング・タスクを処理するAPU搭載プロセッサーの相互インタラクティブ動作を劇的に変えるものです。以前のシステムでは、CPUがマスターであり、GPUはスレーブでしたが、HSAが開発された現在は、両方がタスクを割り当て、実行できるようになりました。平等なパートナーとして、各タスクに応じた最適なコアでワークロードを管理することができます。

(AMDコンピューティング・コア)

今までCPUとGPUは互いに独立していたが、CPUとGPUが同じメモリを共有し、相互に処理のやりとりができるようになると高い性能が発揮できると。

ただし、そのためにはソフトウェア側の対応も必要で、Windows 10ではAMD APUの性能を発揮できるものになっているということらしい。

もっともIntel Core i7・i5・i3もCPUとGPUの統合はやってるんですけどね。


それで今回の構成だけど、ほとんどツクモで買った。大阪撤退以来、ツクモで買い物したことなかったからだいぶ久しぶりである。

  • AMD A8-7670K+マザーボード+DDR2 SDRAM 4GB×2 : 約26800円(うちAPUが13400円ぐらい)
  • SSD 120GB : 約5400円
  • Windows 10 Home Edition DSP版(SSDにバンドル) : 約14900円
  • 300W 電源 : 約5900円

で、しめて53000円ぐらい。けっこうな金額したが、まぁWindows 10も入ってるしね。

APUだけだと13400円ぐらいと書いたけど、この値段で買えるIntelのCPUはさほどないので、お値打ち感がある。

今回、起動などの高速化を期待してシステムドライブ用にSSDを購入した。

最近ではSSDを使う構成が一般的だというのでそれを取り入れたものだ。今はSSDもけっこう安いので。

電源は2011年時点で使い回しだったが、信頼性も考慮してちょっといい電源に買い換えることにした。

とかなんとか。これまでほどケチケチした買い物ではないので高くなったが、長く使うとすれば必要な投資だろう。


とりあえずまだインストールしたばかりで、どれぐらい快適に動くか確かめ切れていない分はあるが、

少なくとも起動はずいぶん速い。それが早くならなければSSDの価値はないが。

いろいろ試しながら良さを確かめていければなと思う。

Windows 10が使い続けられる限り、このPCも活躍してくれるのではないかと思っている。


Author : hidemaro
Date : 2016/01/03(Sun) 23:25
Windows・Microsoft | Comment | trackback (0)

Excelがどこでも使えるからVBAはうれしい

Microsoft Excelの上でVisual Basic for Applications(VBA)で書かれたプログラムを動かす、

というのはわりとよく行われていることだそうだ。

今まで触れる機会はそこまで多くなかったのだが、業務で使ってる職場も多いとか。

そんなことを思っていたら今の職場に来てそうそうにVBAでプログラムを書いて使う必要に迫られたとさ。

一から書いたわけではなくて、元々あるプログラムに書き足して使うという話だったのだが。


ただ、仕事でプログラムを組むということにおいてVBAは1つありがたいことがある。

それはExcelさえあればプログラムの開発も実行もどちらもできるということだ。

なぜ、それがありがたいかというと、職場で使えるソフトウェアが限られるからだ。

主にセキュリティ上の問題を考慮してか、職場で使うソフトウェアは予めリストアップされたものしか使えないことになっている。

もちろん、必要な開発ツールがあるんだ、となれば必要性や安全性を確かめた上でリストアップされることになるのだけど

そういうプロセスが必要なので、無料でダウンロードして使えるソフトウェアでもなかなか使えないのだ。

リストアップされてるソフトだって無条件で使えるとは限らない。

有償のソフトウェアだとライセンスの問題があるからだ。最低限必要な数しかライセンスを買っていないと、他のコンピュータにはもう入れられない。

……という壁に職場に来て早々にぶつかったのだよ。とある作業をするときに問題になったんだけど。

一方でExcelを含むMicrosoft Officeは全社的に使えるソフトウェアと位置づけられているし、ライセンスは全社で全コンピュータ分まとめて契約しているはず。

というわけでExcelほど手を出しやすいプログラムを開発・実行できるソフトウェアはないのだ。


VBAって実用上どうなんだよ、という話だけど、思ってたよりVBなんだね。

もっとも、これまでVBというとVB.netを読み書きしたことがあるぐらい。それだってC#で触る.net Frameworkの知識があってのことだ。

実際、VBAに触れると、サクサク読み書きできる部分もあるが、戸惑う部分もあった。

いくつか列挙すると、

  • Dim foo as Integer とInteger型で宣言すると16ビット整数型(Cでいうところのshort)なので、一般的にCのintに相当する32ビット整数型はLongと書かないといけない
  • Cのfloatに相当する単精度浮動小数点型はSingleと書く (特にこだわりが無ければ倍精度のDouble型を使う方が実行効率に優れるが)
  • 関数を実行するとき、返り値を変数に代入しないときは Call foo() と書かないといけない
  • VBでは"\n"と書いても改行コードではなく \n という文字列として解釈されてしまうので、Cで言うところの"\n"はvbLf、"\r\n"はvbCrLf を使わないといけない
    (ちなみにVBでは文字列結合の演算子は&なので "foobar" & vbCrLf  のように書くことになる)
  • 16進数を書くときは &HC100 のように&Hを接頭辞として付けて書く
    CLng("&H"&hex)とすれば16進表示の文字列を解釈してLong型に変換することもできるが、&H10000以上を変換する可能性があるならCLngにしないとオーバーフローエラーが出る
  • セルに数値化されそうな文字列を文字列として出力したいときは、Excelのセルに打ち込むとき同様に ' を付けて、
    Cells(10,5)="'0001" のように打たなければならない

このあたりかなぁ。最後のはVBA特有、というかむしろExcelの仕様ですね。

あと最初に書いたIntegerだけど、実はVB.netでは Integer は System.Int32、すなわちC#のintと同じく32ビット整数型ということになっている。

なのでVB 6.0以前の仕様ということになるが、VBAはこの仕様のままなので要注意だ。

型変換演算子もCIntは16bitまでしか対応していないので、整数への変換でもLong型に入れるものはCLngとしないといけないのだ。

このあたりVB以外の感覚では正しそうに見えるので注意が必要だ。


ちなみにVBAの実行効率だけど、純然たるインタプリタではなく中間コードを生成するとのことなので、

そこそこの実行速度は出るんじゃないですかね?

どこぞの Scilab みたいな純粋なインタプリタだと繰り返しさせると途端に遅くなるが(Scilabでは速いとされる)、そういうことはなさそう。

プログラムの実行環境としてはそこそこなんじゃないでしょうかね。PerlとかRubyみたいなもんでしょ。

入出力にExcelのワークシートを使えるのもメリットかもしれない。もっともセルの入出力はVBAでは遅い部類の処理らしいが。

今後もなんしか業務上のツールをExcelのVBAで開発・実行することは多そうだ。


Author : hidemaro
Date : 2015/12/15(Tue) 22:02
Windows・Microsoft | Comment | trackback (0)

多言語対応し始めたが対応していない

なんかここ数日、言葉の話ばかり書いているけど、

今日は1つ、言葉の壁を感じる出来事があった。

困ってしまったのは僕ではなく、教えてくれている技術者なんだけど。


この職場の業務の流れについて順次教えてもらっている中で、とある作業で使うツールに興味を持った。

一体どんなツールなのか想像がつかなかったので、「このツール見せてもらえない?」と頼んだら、見せてもらえることになった。

このツールというのがMicrosoft Office上で動くツールだったもので、コピーして僕の業務用PCに持ってきてくれた。

そこまではよかったのだが、僕の業務用PCのMS OfficeのUIは全て日本語で表示されている。

そしたら、教えてくれている方は日本語が読めないので困ってしまったのだ。

ピクトグラムでわかれば問題ないのだが、もうちょっと複雑な作業が必要なようで、「英語表示にできない?」と聞かれた。

僕もきっと英語表示に切り替えられるはずだと思い、オプションの言語設定を開いて見た。

そしたら日本語しかインストールされてないではないか。

結局、「○○はどこ?」「ここですね」とか、「ウィンドウ閉じたいんだけど」「これがキャンセルですね」とか、

そういうやりとりをしながら実際にツールを操作して、機能を教えてもらうことができた。


この事業所の方にとっては日本語のUIなんか読めたもんではないだろう。

僕だって英語か中国語かドイツ語ならなんとなく操作できただろうけど、例えば韓国語だったらお手上げだっただろう。

どの言語でも基本的に同じ機能があるはずなのにアクセスできないというのはつらいことだ。

もちろんメニューの配置を完全に覚えていればなんとかなるのだけど、そんな人もそうそういないだろう。

申し訳ないことをしてしまったなぁと思ったのだが、僕もまさか切り替えできないとは思わなかったのだ。


また、こんなことがあっては申し訳ないと思い、言語パックはインストールできるのか調べてみた。

ポータルサイトから情報システム部門の情報にアクセスし、多言語対応について調べてみたところ、

ある時点以降に導入された業務用PCでは英語パックは標準インストールになっているとのことで、

そうでないPCはこのページの説明に従えばインストールできると説明が書かれていた。

なので、インストールしておいた。今後はオプションから言語設定を変えればUIを英語にできる。


言語パックさえあれば多言語対応できるのはすばらしいのだが、

よくよく考えてみるとあえて他の言語パックをインストールするかと言われると、微妙な話だ。

そんなに容量を食うわけでもなく、使わなければなにも起きないわけで、インストールするだけしといてもよいのだが、

しかし標準でチェックが入っていないものをあえてチェックを入れに行くかと言われるとなんともかんとも。

ある時点から英語パックは標準インストールになったというのも、英語表示を常用したいユーザーからの問い合わせが多かったのだろう。

日本語を得意としない従業員もいるのは確かで、そんな人たちが英語表示を常用したいと申し出るのは不思議ではない。

そのときについでに中国語パックとかも標準インストールにして問題はなさそうだが、そういうニーズはさほどないのだろう。

真相はどうだか知らんが、英語UIを常用せずとも必要時に切り替えられるのが標準仕様になったのは、いざというときにうれしいことだ。

切替以降に導入された業務用PCなら、スッと切り替えて教えてもらえたのにな、と思うとうらやましい。


Author : hidemaro
Date : 2015/11/06(Fri) 21:46
Windows・Microsoft | Comment | trackback (0)

PDFを結合しページ番号を付ける

先日、職場でこんな作業をしていた。

  1. 対象のファイルをPDF化して集める
  2. 集めたPDFを結合する
  3. 結合したPDFにページ番号を付加する

とりあえずPDFでいろいろやっていた。


仕事ですから、職場で使っているツールを僕も使って作業していた。

まず、フリーのとあるPDF変換用の仮想プリンターをインストールして、ひたすらファイルをPDFに変換する。

PDFのいいところは、プリンターに出力できるものなら何でも同じ形式にして集められることだ。

そして、そうして作った雑多なPDFを結合して1つのPDFにすることもできるのだ。

PDF結合ツールもいろいろあるけど、フリーでもいろいろあるので、職場で使っているとあるフリーのPDF結合ツールを使う。

結合だけではなく分割もできるので、結合されたPDFのある1ページを消すとか置き換えるとかそういうこともできる。


ここまではよかったのだが、最後のページ番号付加というのが問題である。

どうもフリーのツールではできないらしくて、この作業だけは Adobe Acrobat Pro がインストールされているPCで作業した。

さすが Acrobat、ヘッダー・フッター で簡単に追加できた。

この作業のためだけに作業環境を移動して、というのは大げさな気はしたけど、

Acrobatの入ってるPCが限られるのは致し方ないことだろう。


実はこういう方法でなくても、多種多様なデータを1つにまとめて連続したページ番号を振る方法がある。

  1. 対象のファイルを印刷する
  2. 印刷した紙を順番に並べる
  3. 鉛筆でページ番号を書き込む

アホらしい話だが、PDFでやっている作業はこれをペーパーレスにしたものと言える。

特にページ番号を振る作業が一瞬でできるのは画期的だ。ただしAcrobatが必要だったが。


まぁPDFにページ番号振ったのは初めてなんだけど、PDF結合ツールは今までも何度か使うことがあった。

そのとき使ってたツールと職場で使ってたツールは違うんだけどね。それだけいろいろあるということだ。

その当時は何のためにPDF結合ツール使ってたんだったかなと思い、大学院時代の学業関連のファイルを探ってみると、

複数のプログラムのソースをPDF出力して結合したものが見つかった。

そういや、その当時、研究室内でプログラムの検討をするために、ソースを印刷する必要があったんだけど、

紙がもったいないし、2in1で両面プリントにして、4ページを1枚の紙に印刷しようとしていた。

ところが1ファイルだと4ページ行かないし、1ファイル単位で2in1両面とかしても無意味だ。

そこで、ファイルをPDFで結合してから、結合した一連のページを2in1両面で印刷することで、無駄なく印刷しようと考えたんだった。

片面印刷で普通に印刷して、これをコピー機に突っ込んで、2in1両面としても同じことだが、

最初からプリンターで出力できるというメリットがある。それだけですけどね。


Author : hidemaro
Date : 2015/10/09(Fri) 23:16
Windows・Microsoft | Comment | trackback (0)

MPEG1じゃだめ、MPEG4じゃないと

最近、研究室で仕事が長引いて、普段よりだいたい2時間遅れで帰っている。

毎日それだとさすがに疲れるなぁ。そろそろ時間を費やすところは終わりかなぁ。

とか思ってるけど、さてはて。まぁ着実に完成に近づいているので。最終発表会が来週頭だけど。


その作業の中で動画を作っていたのだけど、PowerPointに動画を貼り付けたら、色がおかしい。

てっきり元の動画の色がおかしいのだと思っていたのだけど、貼り付けるときにおかしくなったらしい。

原因は、貼り付け時に再エンコードされてしまっていたから。再エンコードのときに劣化してしまっていたらしい。


そもそも、どうやって動画を作っていたかという話だが、

元々動画ではなく、連続した静止画データをつなぎあわせて動画にしている。

ただ、繋ぎあわせる前にグレースケールから色相方向のカラーグラデーションに変換している。

Scilabでやってるんだけど。

imIn=imread(sprintf("foobar-%03d.bmp",i);
imInGray=double(rgb2gray(imIn))/256;
imOutHSV=zeros(size(imIn,1),size(imIn,2),3);
imOutHSV(:,:,1)=imInGray-0.5+0.166;
imOutHSV(:,:,2)=1;
imOutHSV(:,:,3)=0.8;
imwrite(sprintf("mov-%03d.jpg",i) , hsv2rgb(imOutHSV));

HSVって色相・彩度・明度で色を表す方法だけど、グレースケールの入力画像を色相に突っ込んで、彩度と輝度を適当に決めれば良いと。

グレースケールの真ん中が黄色(60°=0.1666)になるようにして、それで色に変換していると。

ともかくこれで、mov-001.jpg のようなファイルがずらずらできる。

これをTMPGEncでMPEG1に変換していた。TMPGEncは連番の静止画ファイルを読み込むことが出来る。

TMPGEncはMPEG1への変換ならライセンスいらないのよね。なんやかんや言ってMPEG1は鉄板だし、まぁツールとしても使いやすいしね。

こうやって動画を作っていたわけだ。


ところがMicrosoft PowerPoint 2013では、所定の形式以外の動画は全てMPEG4に変換してしまう。

PowerPointには上位互換も下位互換もない

以前のバージョンは挙動が違って、環境によって再生できたりできなかったりよくわからなかった。

そういう問題を少なくしたいのか、都合のいい形式に勝手に変換するのだが、これが残念だったわけだ。

ただ、最初からMPEG4で持って行けば変換されないのかな、ということで最初からMPEG4にすることにした。


そうなるとTMPGEncは使えないので、そうなるとffmpegですかね。

連番静止画からタイムラプス動画を作る (Qiita)

ffmpegのバイナリをダウンロードしてきて、それで

ffmpeg -f image2 -r 30 -i "mov-%03d.jpg"  -an -vcodec libx264 -pix_fmt yuv420p "out.mp4"

とかすれば、それでMPEG4/AVCでエンコードされた動画が完成する。

これをそのままPowerPointに持って行ってやれば、そのまま貼り付けられた。


最初からffmpeg使ってればコーデック・コンテナだけの問題だったのだが、

TMPGEncは手軽だったんでね。まさかMPEG1が不都合なんてなかなか思わんし。

もっともMPEG1で作ってもMPEG4に変換される問題は以前から把握してたことで、

それでも普通の動画ならあんまり気にならないんだけど、今回は色があまりにひどくてね。


Author : hidemaro
Date : 2015/02/17(Tue) 23:23
Windows・Microsoft | Comment | trackback (0)

Tools