ダウンロードしたファイル名が違う

授業が休みなのを利用して、学生の成績や授業の単位取得、さらに教室の予約など、学校に関わる情報を一括管理するシステムの更新がありました。そして、ハードが新しくなったのに合わせて、バージョンアップも実施し、最新のOSおよびブラウザに対応することになりました。

今回の更新で新しく追加された機能を中心に動作確認していたところ、怪しい動作が見つかりました。

このシステムには、Eメールのように通知を登録しておく機能があり、その通知に添付ファイルを付けられます。更新直後、さっそく最初の通知を登録したところ、添付ファイルをダウンロードするとファイル名が変なことに気が付きました。

私は、大学生のころからMS-DOS や UNIX を使ってきたので、ファイル名にスペースが入るのには違和感があります。しかし、今の若い人には、そんなことは無いのでしょう。かなり前に、全角スペースを使ったファイル名を見て、驚いたのですが、今はかなり慣れてきました。しかし、半角スペースを含んだファイル名は、絶対におかしいと思います。今回は、ファイル名に半角スペースが使われていました。

JavaScript で、半角スペースをURLに変換するのは、いろいろ問題があります。avaScript は、ブラウザ毎に実装された機能なので、それを作った会社の考え方によって、機能が変わることがあり、半角スペースをURLに変換する処理はその影響を受けているようで。

どうも標準のJavaScriptでの半角スペースをURLに変換した際の振る舞いは、「+」にするだそうです。しかし、そのまま「%20」で処理するブラウザもあります。手元のパソコンで確認したところ、Chrome は、「%20」でした。しかし、IE11とSafari は、「+」にしていました。そのせいで、ブラウザによってダウンロードしたファイルのファイル名が違ってしまうことに。

添付ファイルをダウンロードするとファイル名が変わってしまうのは、よくありません。しかし、ファイル名に半角スペースを使ってしまうと、ブラウザの都合でファイル名が変わってしまいます。

一応、開発した会社に相談してもらうことになりましたが、相談された方がかわいそうかも。事務スタッフが、ファイル名に半角スペースを使わない、としてくれた方が楽ですが、そうはいかないでしょうね。Microsoft Office でファイルを保存する際に、半角スペースを使ってはいけない、というメッセージは出ないし。そのうち、半角スペースを使っても問題ないようにしてくれるでしょう。

Adobe製品の旧版でトラブル

派遣先の大学は美術系、デザイン系の学部がメインということもあり、学内ではAdobe社の製品がよく使われています。以前、勤めていた会社では高くて1ライセンスしか購入できなかったPhotochop ですが、ここでは全学生が使えたりします。その対応も仕事の1つなのですが、トラブルが発生しました。

ここの映像学科は、Adobe製品を多くつかう学科の1つです。特に、プロも利用する動画編集ソフト Premiere Pro CC は、これを使った授業があるくらい頻度が高いアプリです。

数年前に、まとめて導入した iMac にインストールしてあったバージョンをそのまま使っていたのですが、さすがに古いバージョンは問題が多い、ということで新しいバージョンを入れることに。

最新バージョンとその1つ前のバージョンを入れることになったのですが、その1つ前のバージョンでトラブル発生。インストールパッケージを作ってまとめてインストールする予定だったのですが、Premiere Pro CC 2015.3 というバージョンだけ、英語版が入ってしまいました。

日本語版がインストールできないと困る、なんとかしてほしい、ということで調べることに。パッケージを作ったMac Book Pro では、問題なく日本語版がインストールされます。でもその確認したパッケージをインストールしても英語版が入ってしまう。幾つかのケースを用意して試してみたのですがダメでした。

結論から言うと、今回作ったパッケージは全て、最新のmacOS Sierra なら日本語で表示するのに、実際に使うiMacに入っている MacOS Yosemite で使うと英語になってしまいます。他のMacで試してみたところ、細かい版数が違っていても、やはり、MacOS Yosemite では英語になるのを確認しました。

今更、Adobeの古い版を、古いMacOSにインストールして使っている人はいないのかもしれません。しかし、他のアプリケーションがインストールしてあって、このアプリは、古いOSでしか動作しないとなると、どうしても古いOSを使わざるえません。今回もそんな理由でMacOS Yosemite が残っていました。

自力では対応不可能なので、Adobeのサポートに問い合わせすることに。
その日のうちに回答がありました。それは、うれしいのですが、その内容を見て絶句。隠しコマンドみたいな機能があり、それで表示言語の切り替えができました。一般のユーザーは、使うことが無い機能です。自力でアプリケーションを配布する能力のある情報システム部門には、ここまで教えてくれるんでしょうね。

とりあえず、Adobeのサポートの回答で、今回はなんとかなりました。

VMware ESXi がまた

派遣先の大学で、かなり前の前任者がしかけた仮想化システム。また、はまりそうになりました。たぶん、仮想化システムが好きだったんでしょうね。私が思うに、あまり意味の無いシステムに設定しています。

8月の夏休み期間中を利用して、電気設備の定期点検が行われました。この時は、サーバー室を含めて全館停電します。手順に沿ってサーバーの停止、起動を行えば、それほど面倒なことではありません。

しかし、サーバーとネットワークが面倒なことになっている派遣先の大学では、そう簡単なことではなさそうです。緊急用の自己発電装置があるので、点検している間は、その発電システムを使って乗り切ったそうです。そうなると、切り替えの瞬停くらいでサーバーは稼動し続けます。

というはずだったのですが、世の中そう簡単にはいきません。複雑になりすぎたシステムでいつもと違ったことをやろうとすると、かならずどこかに不具合が発生します。夏休み明けは、停電に伴う小さなトラブルがいくつか発生しました。

管理部門が使っている学内に非公開のサーバーが止まったのも、その影響の1つでした。止まったことでクレームはありませんが、共有サーバーが止まるのは不便なことです。優先順位は低いのですが、早めに対応しなければなりません。

しかし、昔に設定されたサーバーを流用しているらしく、今の担当者には、このサーバーがどこになるも解りません。結論から言えば、仮想システムの1つが、共有サーバーでした。それは、解らないかも。

サーバーの外見上は、何台かある学内でファイル共有に使っているファイルサーバーとなんら変わりません。しかも、同じラックに納まっていました。しかも、これまでトラブルなく利用されてきたようで、今の担当者は、一度も触ったことが無い、とのこと。

古いノートPCに設定された VMware ESXi で動いている Linux で、停電前にはまったばかりですが、このサーバーも、同じ時期に仮想で CentOSがインストールされており、ホストOSとして VMware ESXi が動作していました。ハードとしてのサーバー機は正常に稼動していたものの、ゲストOSは停止しており、それで使えなくなっていたようです。

このファイル共有サーバーは、古くてあまり使っていないシステムのバックアップ用途にも使われていました。しかし、ゲストOSとして動作しているのは、1つだけです。かなり、もったいない仕様、というか、仮想化する必要もない。

昔の担当者が、趣味で仮想化したのかな、というのが私の考えです。このサーバーで仮想化を使うため、古いノートPC何台かにも同じように設定して、学習したのかもしれません。たぶん、すぐに廃止される予定のサーバーだったんでしょうね。それが予想外に長く使われて、設定した前任者がいなくなり、誰も知らないシステムになってしまったと。

「こんな古いサーバー、捨てたら」と言いたいところですが、今の担当者にとっては使い勝手がいいらしく、使えるようにしたところ、喜んでもらえました。できれば、こんな怪しいシステムは、早急に廃止したいのですが、しばらくは私が見ることになりそうです。

1つのSoCに48コア

ネットで気になった記事が。

Qualcomm、最大48コアのサーバー向けSoC「Centriq 2400」

単純な話、1台のサーバーで、最大48個のプロセスが動く、ということですかね。

昔の話ですが、1つのCPUコアを8時間占有するプロセスを、同時に数本流す、という仕事がありました。

当時使っていたのは、1台数百万するサーバーでしたが、1台に1CPUコアの時代です。そんな高価なサーバーを、同時に何台も使うという訳です。そのサーバーを使っていた人の調整とかもあり、サーバーを増やす増やさないといった議論になって、対応に苦慮してました。

その後、分散処理の技術が確立され、4つのCPUコアに割り振れば、2時間ちょっとでできるようになる、ということでCPUコアを4つ持つMPUを搭載したサーバーの導入を検討した覚えがあります。それは、リモートでそういうサーバーを利用できる環境ができたので、不要になったのですが。

最近は、コア数はインフレ気味ですね。16コアでも驚いたのですが、48コアですか。昔のあのプロセスは、朝流したら夕方までかかってました。その処理が、10分で終わるかもしれない。当時からCPUもずっと高性能になっているので、5分かからないで終わるのかも。まる1日かかっていた計算が10分で終わったら、最適な条件へのアプローチのしかたが、大きく変わるでしょうね。今のエンジニアは、きっと昔とは全く別のことに悩んでいるのかもしれない。

昔は、時間がかかる計算を前提に、エンジニアはいろいろな可能性を自分の頭で考えていたと思うんです。しかし、今は、計算させた方が早い。多くの計算結果を並べて、そこからアイデアを出すとなると問題の本質の理解が進まない。なんか、こんな記事も何かで読んだような気がする。しかし、ここまで処理が早いと、違ったアプローチがとれる。

条件をリニアに変えて、ベストな条件を算出させれば、細かいパーツの理解が無くても全体の設計ができるようになる訳です。最後は、AIに最適な設計をやらせ、人は仕様を明確にするのが仕事、なんてこともありか。すると、何がやりたいのか、が重要になってくる。とりあえず、前の仕様を変えずに、なんとなく新しい機能を追加してみました、なんてものは無くなるということかな。きっと、普通のエンジニアには厳しい時代のように思える。

サーバー室のラックに積んであるノートパソコン

派遣先の大学で、この夏休みに電気点検が行われることになりました。予備電源の稼動テストも兼ねて、サーバー室は予備電源に切り替えて運用し、止めないことになったそうです。そこで、UPSに繋がっていないパソコンをチェックすることに。

実は、サーバー室のラックに、前々からそのままになっているパソコンが何台かあります。私の前の管理者が設定していったもので、稼動しているようです。今回、それを停止してもいいか確認することに。

ノートパソコンなので、自前のバッテリーを持っているので、普通なら電源の切り替え程度の停電では止まりません。でも、古いノートパソコンのバッテリーは信頼できないので、UPSに繋がってなければ、繋ぎ変えが必要です。そこで、今、どうなっているかをチェックすることに。

見たところ、かなり古いノートパソコンがラック内に3台、積まれてました。驚くことに全て、稼動しています。しかも、そのうちの1台はWordPressでローカルな情報共有に今も使っており、停止する訳にはいきません。あお、残り2台は使っている様子が無いパソコンでした。

しかし、問題が。
この3台、なぜか、VMware ESXi がインストールしてありました。しかし、ゲストOSは1つだけです。CPUが、昔のCeleronで、メモリーも2Gバイト程度では、2つ目のOSがどれだけ動くかちょっと疑問、といったところです。前任者は、なんでこんなスペックの低いノートパソコンに、VMware ESXi なんぞを入れたのか、全く理解できません。暇だったのかな。

この古いノートパソコンが壊れる前になんとかしたいな。
あまり考えずに、使われなくなったノートパソコンにCentOSを入れて構築しなおしでしょうね。手元にある修理する可能性のない、液晶の壊れたノートパソコンが候補かな。

最近のPCゲームを買わされた

下の子には、中学に入学したお祝いに安価なパソコンを買ってあげた。
自宅は私が使うのでWi-Fiを設定してあるので、自分の部屋でインターネットが使える。動画の編集とかゲームがやりたい、と言っていたのだが、今はもっぱらゲームをやっているようだ。

パソコンを買ってあげてすぐ、ドラクエのパソコン版を買ってあげたのだが、先月、新しいソフトが欲しいと言ってきた。アカウント登録が必要とか言うので、見たところアメリカのサイト!しかも、最新の英語版のRPG。

Minecraft もスマホで遊ぶからと買ってあげた時はドルだったが、このソフトはちゃんと円で表示されている。アカウント登録画面は日本語になっているので、ちゃんとローカライズしている会社らしい。

で、購入したゲームは、Undertail 。

後で調べたところ、もうすぐ国産のゲーム機用に日本語版が出る、アメリカではゲーム賞も受賞した有名なゲームらしい。Minecraft も画面のインパクトに欠けていたが、このRPGもかなりしょぼい。国産の綺麗なグラフィックに慣れたゲーマーには、どう映るんだろうと心配になるような画面でした。

どはいえ、ストーリーや世界観が独特で、ファンも多いらしい。従来のRPGに無い良さがありそうなので、ぜひ、子供にやってほしい、と思える内容みたいです。世の中にはいいものがまだまだたくさんあるんだな、と改めて思いました。さらに、そんな外国のゲームを中学生がやれてしまう時代に改めて驚かされます。なお、まだ日本語版が無いのですが、非公式のパッチが出てて、日本語で遊べるのだそうです。そっちは、子供が自分でやると言ってました。今の中学生は、そんなことも自分でやれる、というのも、まあ時代なんでしょうね。