Windows10 update

自宅のパソコンは、今年の6月に購入した安い機種ですが、10月に入ってアップデートに失敗したというメッセージが出るようになりました。内蔵HDDがあるはずの場所に32GのSSDが入っていて、容量不足なんですよね。

 

まじめにやればできるだろう、くらいに思っていたのですが、Cドライブに最低8Gbyte の空き、さらに作業用に10Gbyteの空きが必要みたいでした。

 

Cドライブの最低8Gbyteは、無駄なファイルの削除くらいでは空けられず、最も大きなフリーのオフィス(Libre Office)をアンインストールすることになりました。
作業用の10Gbyteは、外付けのドライブでOK、というメッセージに従い、ポータブルのHDDを繋げばOKでした。もう10年ちかく経つポータブルのHDD、250GHbyteしかないのですが今は手放せません。
まあ、10Gbyte くらいなら、今時ちょっと大きめのUSBメモリーにも入ってしまうので、なんとでもなる容量といったところでしょう。

 

しかし、ネットからかなりの量をダウンロードし、さらに、インストールもかなり時間かかっていました。今の派遣先で、Mac Book のOSをネットからインストールする、なんてこともやるのですが同じくらいの時間がかかったみたいです。

 

これを毎月とかはやめてほしいが、1年に1回はしょうがないかな。

ネットワークのトラブル、無事復旧

派遣先でネットワークのトラブル、ということで呼ばれました。
現地に行って確認すると、やっぱり特定のケーブルだけ繋がらない。

 

そのケーブルが繋がっていたパソコンは、他のパソコン用のケーブルなら繋がるし、そのケーブルを他のパソコンに繋いでもダメ。Hubもいっしょで、別のポートに繋ぎ変えてもリンクアップしない。

これはケーブルが断線かな、ということで、見えているところだけ調べることに。しかし、見た感じ、これといって切れている箇所は見当たらず。

さて、どうしようか、と思っていたところ、いっしょに見に行った職員の方が
ケーブルの端子にテープが貼られているのを見つけました。

 

いや、盲点でしたね。普通、そんなところにテープは貼りません。

 

UTPコネクタの金属端子がある側は、平らになっているので、貼り易いと思った人がいたのでしょう。昔、端子に干渉しない位置に赤とか青の丸い小さなシールに数字を書いて貼ってあったのを見たことがあります。紐でラベルをぶら下げるよりは、はるかに見やすかったと思います。しかし、ここまで大胆なのは初めてですね。

 

ということで、そのテープが端子まで達していて、繋がらないだけでした。
テープを剥がして、無事復旧です。

これってやっぱり攻撃?

昨日の帰り際、bind の脆弱性の記事を見つけ、ちょうど CentOS のアップデートが出ていたので大学のブログサーバーのパッケージを更新しました。

 

今日、messages を見て様子を確認していたところ、ftp ポートへの攻撃と思えるアクセスが記録されていました。10/20の深夜、2時間くらい短い間隔で何度もアクセスがあります。OSの設定で通信をブロックしているので、きっと毎回はじかれているを思うのですが、自動処理か何かのようで何度もアクセスしていました。IPアドレスから、ロシアからのアクセスというのは解りますが、乗っ取られた何かかもしれないし。まあ、迷惑な話です。

 

他にも、アメリカとかオランダからも ftp ポートにアクセスがありました。日本語で書かれたブログサーバーに用事があるとは思えないのですが。困ったものです。

 

踏み台にされて他の誰かに迷惑をかけないようにしないと。

古い機器でトラブル発生

昨日と一昨日、派遣先の東北芸術工業大学で、高校生のデザインイベントが開催されました。ニコニコ生放送でネット中継を行う、というので金曜日に会場までのネット回線を準備していたところ、古いネットワーク機器がうまく動作せず、かなり焦る事態に。

 

大学では講義室と他とを結んで授業や会議を行うよう、通常のネットワーク回線のほかに、外部回線を引けるようなバイパスが準備されています。今回は、そのバイパス経路のうちちょうど外部と繋がる機器でトラブルが発生しました。

 

こんなふうに言っては悪いのでしょうが、いつ壊れてもおかしくないような古い機器を使っていました。半年前のイベントの際は正常に動作したのですが、今回は、全く繋がりません。難しい設定をやっている訳ではなく、家庭にあるような光回線終端装置からイーサネットケーブルでバファロー製の家庭用ルータに繋いだだけのシンプルな仕組みで、どうしても外部と繋がりません。
最初はルータを疑ったのですが、Webから操作できるし問題なさそうです。となると、光回線終端装置となるのですが、最近のIP電話やルータ機能が付いたタイプではなく、相当昔の単なる光回線をイーサネットケーブルに変換するだけのタイプ。こちらからは、どうなっているか確認できません。ONUはちゃんと電源ランプやイーサネットの接続ランプが付くので、もしかしたら光回線の断線?

 

ONUが故障、もしくは光回線が断線、だろうということで、この経路をあきらめました。どちらにしても金曜日中にかたがつく話ではありません。後日、ゆっくり原因調査をすることに。そしてネットの方は別のルートを使用することに。幸い、昔ネット中継に使った経路が生きているそうで、今回はそれを組み合わせて無事ネットでの生放送ができました。

 

ネットで調べると今回繋がらなくなったのと同じタイプのONUの障害の記事がいくつか。ただしいずれもランプが消えているケースで、完全に壊れたものばかり。大学にあるONUはランプが付いていたので、ONUの故障を疑えず、余計に時間がかかってしまった。もし、ランプが消えていればすぐ判断できたのですが。

 

それと、設置場所が暗いラック内ということで、何のランプかあまり気にしてなかったのも敗因。イーサネットケーブルは疑って、抜き差しもしたのですが、この場合はケーブルを抜くとランプが消え、ケーブルを挿すとランプがつく、また、電源を抜き差しするとちゃんと電源ランプが一旦消えて電源が戻れば付くと、わりと正常に動作してました。今考えると、光ケーブルが怪しいかな。

 

昔はねずみがかじって断線、なんていうこともあると読んだことがありますが、里山に近いこのあたりは、夏にはハチの巣除去で職員が呼び出され、校舎の人がめったにいかない場所には鳥や獣が巣を作っているのが見つかったりするので、何かが断線させたことも考えられる。だとすると断線箇所の特定はかなり面倒なんでしょうね。これは業者にお願いするので、私は直接タッチしないのは確かです。

 

UNI_cables_TP_V

perl のプログラム

今週は、Perl のプログラムに時間をかけています。

Perl は、昔は使っていたんですが、最近はさっぱり。ファイルの処理や配列ってどうするんだっけと、ネットで引きながらの作業です。昔は、C(というかUNIX標準コマンドのawk)で使える関数がPerlでも使えるということで、便利に使っていた覚えがあり、PHPへの移行も楽だったような気がしているのですが、時間が経っているからでしょうか、実際にプログラムを始めると不便なことばかりで。

それでも予定通りの機能ができました。
基になった予約システムのコードの一部を流用し、他はゼロから組んだのですが、せいぜい200行くらいのスクリプトで、そうそう時間がかかる訳ではありません。ただし、Webブラウザに表示すると、ここは色が付いた方がいいな、とか、ここにリンクを作って、なんてことをやっているとあっというまに時間ばかり経ってしまいます。それでも、今回は簡単な仕様だったので、わりとあっさりできてしまいました。

本当のプロのプログラマーなら、どんな言語でも要求された仕様を実装できるそうですが、とてもそんなレベルにはいけません。ネットで文法を調べながら、イメージした動作をやっと実装している状態です。やっぱり若い人のようにはできません。

Javascript のプログラム

以前は、社内で使う自分達で作ったWebツールに Javascript は貼り付けて入力を容易に行えるようにしていました。2000年ごろの古い技術で作られて、あまりメンテされていないシステムには、以外と効果的でした。

 

今時そんなシステムは残っていないだろう、思っていたのですが、派遣先にはあります。Perlで作られた予約システムで、DBを使わずに実現しています。まあ、当日分した入れられず、1日分を夕方に印刷して完了、という仕組みなんでやれることは簡単なんですが。

 

ところが、このシステムはバグだらけ。Perl なんで過去の技術者は手を出せなかったのかもしれません。まあ、元のソースが余りにひどいので、下手にいじると動かなくなるから扱えなかったのが正しいでしょう。

 

今回、簡単な修正をやろうとしたところ、結構重要と思える変数を、ファイルから読み込んだデータを一時的に格納する変数として使っていました。おかげで、デバックに苦労させられました。

 

今日は、簡単な Javascript を組み込もうと思ったのですが、うまくいきません。いろいろ試してみたり、ログをチェックして悩みましたが解りませんでした。たぶん、日本語処理ではだろう、見込んでいるのですが、解決できません。

 

やりたいのは、フォームの投稿の際、Submitボタンを押す代わりに、Javascript を組み込んだリンクで代用する、というもの。input のテキストに予め用意していた値を挿入して、フォームのオブジェクトの subimit() を実行するだけの処理なので簡単です。

 

テストで作ったのはうまくいったのですが組み込むと動作せず、解決に時間がかかってしまいました。最終的には Javascript でボタンを押す動作をやらせています。これだと、ちょっともたつく感じがあります。

 

Perl のシステムを最初に作ったのが、昔のUNIX環境だったのでしょう。文字コードはEUCでした。昔のUNIXは、この文字コードが使われていて、私もよく使いました。しかし、今では使う機会が少ないように思います。

 

タグの value に、EUCの文字を設定していました。たぶん、これだけなら問題ないのですが、name に変数を設定しており、

<form>で呼ばれるCGIで、この変数をチェックしていました。perl の日本語処理で、しかも、POST投稿された文字列を判定しています。私の経験では、javascript で UTF-8以外の文字コードを使った場合、ちゃんと動作するか自信がありません。以前は、SJISのデータをサーバー側で UTF-8 に変換するための処理をわざわざ作ったこともあります。

 

ここを詳しくしらべても、たぶんダメだろうと思い、次善の策を採用しました。

 

ちょっと不満ですが今のところ動作しています。この Perl のシステム、なんとかしたいと思いつつ、今回も最小限の修正で乗り切ることになりました。

ブログサーバーでトラブル

派遣先で利用しているブログのサーバーで、また、トラブルが発生しました。

約1時間くらいアクセスしにくい状態が続いてました。
ログを解析したところ、プロセスが大量に発生して、処理が追いつかなくなったようで、メモリーがいっぱいになり、強制的にプロセスを停止したというログがでていました。

どうも以前ネットで調べたところでは、WordPress には、プラグインに不具合があり正常に動作しない場合は何度も同じものを実行する仕組みがあるのだそうです。
今回のトラブルは、それに該当しているようです。

まず、エラーログを調べると、ある時刻から同じようなエラーが幾つも発生しています。さらに、その後、プロセス数がMAXに達したので処理を中断したというメッセージが続きます。
次にアクセスログを調べたのですが、特に多くの処理が集中している訳ではありません。しかも、ちょうどクローラーが見にきている時刻と、エラーが発生した時刻が一致しています。

残念ながら人がアクセスしたのではなく、機械がアクセスして眠っていたバグを起こしてしまったようです。

エラーログにあったテーマの不具合箇所を確認すると、MySQLから配列に取り込んでデータをソートするあたりでした。配列が無かった場合のケース分けがされていません。MySQLの該当データが入っていないのに、取り込んだデータをソートしようとしたら、PHPがそこで動かなくなったのが原因のようです。予めデータを入れているテーマもあるので、なんともいえませんが、今回はテーマのバグと判断しました。

実は、6月くらいからこの手のテーマの不具合を何度も修正しており、このテーマもコメント欄のデータが無いのにソートしようとして誤動作していたのを修正した記録がありました。危ないので、同じようにソートしている箇所は、全て配列かどうかの確認するようにPHPを修正しました。

たぶん、今回のような誤動作はもう無いでしょう。

駅名について

ネットの内職で駅について調べる機会があったのですが、以外と読めないものですね。
日本には難しい地名の場所がたくさんあります。意外と大きな市の名称も難しい。

宮城県には以前、古川市(ふるかわし)があって、「古川」は「ふるかわ」と読むものだと思っていました。今は、合併して大崎市になっています。

そのため、茨城県にある「古河市」も、「ふるかわし」と読むものだと勘違いしていました。ここは、「古河市」と書いて「こがし」と読むそうです。

しかし、パソコンで「かごし」を変換すると、「古賀市」が先にでてきます。注意していないと「古賀市」と打ってしまいますが、この「古賀市」は「こがし」と読み、九州の福岡県にある市でした。

ということで、宮城県の古川駅(ふるかわえき)、茨城県の古河駅(こがえき)、福岡県の古賀駅(こがえき)が存在します。今回お世話になった Wikipedia では、この辺りもちゃんと注意書きにしていました。なかなかやっかいです。

ニッケル水素電池

今日、初めて知ったのだが、Panasonic の eneloop で有名な充電して繰り返し使える
ニッケル水素電池には、容量によって3種類あるそうです。

 

メーカーによって少しずつ違うようですが、2500mAh、2000mAh、1000mAhだそうで、容量の小さい 1000mAh の電池はかなり安く買えます。家には子供がイベントでもらってきたのがあったと思うのですが、容量までは気にしてませんでした。家で使っているのは、ゲーム機のリモコンに入っているはずです。最近のデジタル機器は、電力消費がめっきり少ないものが多いので、いつ充電したかも覚えていません。

 

容量に3種類あると知ったのは、派遣先で使っているワイヤレスマイクの充電池として、使われているのを知ったからです。電力消費の多い赤外線タイプは、最も大きな容量の電池を2本搭載していました。一方、消費電力の小さい電波を使うタイプは、中程度の容量の電池でした。eneloop の白いタイプと同じ容量です。この他に、価格の安いタイプのもあり、確か100円ショップでも売っていたと思います。

 

しかし、マイクに入っていたニッケル水素充電池は、壊れて充電できなくなっていました。eneloop を出している Panasonic のWebページには、寿命に関する詳しい記事がありました。たぶん、問い合わせも多いのでしょう。
それによると、過放電や高温での使用が良くないみたいです。放電と充電を繰り返していると、電池自体が暖かくなっているので、使っているうちに少しずつ劣化しているのかもしれません。

 

ただ、メーカー純正品だとびっくりする値段です。こういった製品を作っているメーカーは限られるので、有名なブランドを使った方がいいような気もするのですが、充電器と合わないとちょっと不安だし。なかなかやっかいですね。

芸術系の大学で学ぶ意義

今いる派遣先は、東北では珍しい芸術系の大学です。
仙台にもデザイン系の専門学校がいくつもあり、文科系の大学には芸術系の
コースもあるようですが、ここまで専門の大学はここだけみたいです。
さらに、競合する大学となるとなかなか関東でも少なく、東京の有名な芸術系大学
までレベルが上がってしまうようです。

 

じゃ、芸術系の大学にどれくらいの意味があるか。
なかなか難しい問題のようです。
というのは、芸術で食べていけるのは一握りの人たちだけらしいので。

ラジオで聞いたのですが、都内の芸術系の大学出身の半分くらいは、同級生でも何を
やっているか解らないのだそうです。さらに、プロを目指すのはごく一部。中には、
普通の仕事をやっている人もいるとか。
デザイン系の学生にはいろいろと求人もあるようですが、芸術関係に関わる何かの
仕事につく、ことになるのでしょう。

 

デザイン系の仕事というのはWebとかゲームとかいろいろとあると思うのですが、
そういった分野は専門学校がたくさんあるので、その卒業生と競合してしまいそうだし。
ネットでもそういう質問を幾つも見かけました。

私は半年くらい芸術系の大学にいる訳ですが、思うに芸術に対する考え方、生活に
芸術を活かすという思考法を学ぶのが、こういった芸術系の大学の役割なのでは、
と思っています。

 

もちろん、デッサンや工芸の技術指導をやったり、パソコンを使って作品を作るやり方
も教えているようですが、それは作品を効率よく作る手段を教えている、といった感じ
でそこが目標ではありません。
学生にどんなテーマに取り組むか、を考えさせ、そのテーマに沿った作品を作らせる、
そういった自分で考えていく方法を教えているようです。

 

私が工学部で学んだのは高度な原理とかその原理を理解するための数学とかが多く、
なかなか自分で考えてそれを実現する、というのはありませんでした。昔の国立大学
の教え方はそれでもよかったのでしょう。もしかしたら、今の私立大学の教え方は
別なのかもしれません。

IMG_20160412_080135

若いころから、自分でテーマを探して、自分に何ができるかを考えられる人が増えると
いうのはいいことです。私は、会社に入ってそういった考えを学んだような気がしますが、
なかなか思い通りにはいきません。若いから新しいテーマにチャレンジできる、というの
もありますし、ここで学んだ学生が世の中を良くしてくれるといいですね。