goo blog サービス終了のお知らせ 

必殺始末人 村山集治

必殺始末人 村山集治
ムラヤマ・コンピュータのブログ

マイクロソフトは何をやっているのだ

2009-02-26 11:37:58 | エクセル

 ぷかー。潜水艦浮上。ふー。しばらく書く気が起きなかったので成り行きに任せていた。まだそれほど書く気が起きていないのだが、面白いニュースがあったので紹介する。

-----technobahnより引用開始-----
払いすぎたから退職金を返せ! マイクロソフトが解雇した社員に督促状
 2009/2/24 16:09 - マイクロソフトが先月、最大5000名の従業員削減を行うことを発表していたことに関連して、発表後にレイオフとした元従業員に対して退職金を誤って過大に支払っていたとして、過払い分の返還を求める督促状を送付していたことが、米IT専門サイト「TechCrunch」による報道で明らかとなった。

 マイクロソフトでは退職金を誤って過大に支払った人数に関しては明らかにしていないが、過払い分の返却に応じた場合には税務面で適切に処理するが、返金に応じない場合には租税面で罰金が科せられる場合もあると述べている。

 マイクロソフトは先月22日、全従業員の約5%に相当する最大5000名の人員削減を今後、18ヶ月間をメドに実施すること、この内、1400名に関しては即時、解雇とすることを発表していた。

 TechCrunchではこのように解雇された元従業員に退職金の返還を求めることは、解雇された元従業員にとっては「踏んだり蹴ったり(adding insult to injury)」の状況であること、更に、今回の一連の出来事から、解雇された元従業員の一部は低賃金で働かされていた可能性も浮かび上がってきたと述べている。

 この督促状問題は多方面で大きく取り上げられる状況ともなってきており、解雇した元従業員に対して退職金の返還を求めるマイクロソフトの非情な姿勢には批判も集まってきている。
-----引用終わり-----

 マイクロソフトは一体何をやっているのだ。マイクロソフトの都合によって解雇されて退職金を貰った従業員に何か落ち度があるのかしら。落ち度があるとしたら100%マイクロソフトにあるはずだが、返金に応じない場合には租税面で罰金が科せられる場合もある、と脅しとも受け取れる文言があるが何を考えているのだろう。

 パソコンOSで世界中から金をかき集めてきたマイクロソフトやることが違う。今度は解雇した従業員から金をかき集めだした。訴訟社会アメリカで裁判になったら負けるだろうなと思っていたら、あっけなく撤回したようだ。

-----technobahnより以下引用-----
マイクロソフト、非難殺到で過払い退職金の返却要請を撤回
 2009/2/25 17:40 - マイクロソフトが先月、レイオフした元従業員に対して退職金を誤って過大に支払っていたとして、過払い分の返還を求める督促状を送付していた問題で、過払い退職金の返還要請を撤回していたことが23日までに明らかとなった。

 この問題は、米IT専門サイト「TechCrunch」が21日付けで元従業員の元に送られてきた督促状を公開したことから明るみになったもので、経済危機の真っ直中で即時解雇となり職を失った失業者に更に追い打ちをかけるものとして、マイクロソフトの姿勢には非難が殺到していた。

 マイクロソフトによると、管理上のミスにより退職金の過払いが行われたのは1月付けで即時解雇とした1400名の元従業員の中の25名。マイクロソフトでは、この25名の元従業員に対しては個々に連絡を行い、先に送付した過払い分の退職金の返金には応じなくても良くなったことを伝えたとしている。

 マイクロソフトでは同時に1400名の内、20名に対しては退職金を実際の金額よりも少なく支払っていたとした上で、この20名の元従業員に対して、不足分の退職金を小切手で送付したとも述べている。

 1月に解雇となった1400名は、5000名にも上るリストラ策の約3割に相当。マイクロソフトでは最大であと3600名のリストラを実施することを予定しており、状況によっては今後もこうした退職金に伴うトラブルが発生する可能性も残っている。
-----引用終わり-----

 過払いになっていた人数は25人で、その他に20名に対しては実際の金額より少なく払っていたということも明らかになった。マイクロソフトはエクセル使って退職金の計算をしていたのかな。

 エクセル使って退職金の計算をしたのであれば、こういうミスはあり得る。何せ世界中の企業が使っているエクセルのワークシートの中には計算式のミスが一杯潜んでいる。本家マイクロソフトのワークシートの中に計算式のミスが潜んでいてもおかしくない。

 給料や退職金を水増し計上して本人には渡さないというのは、裏金作りではよくある手口だが、ひょっとしてそれをやったのかな。どちらにしても自社の給与計算システムの信頼性と運用性に問題があるのが明るみに出てしまっては、ソフトハウスとしての信頼性に疑問符が付くのは否めない。

 こんなことやっていてウインドウズ7の信頼性は大丈夫なんだろうか。32ビットCPUで動作し、なおかつデュアルCPUで動作するOSというのは、32ビットCPU用のソースと、デュアルCPU用のソースと2頭立てで開発をして行かなければならないのだから考えただけでもため息が出てくる。その上今までのアプリケーションの動作保証もしなければならない。

 それをインストールして使うパソコンはハードディスクの容量をガバガバ取られるのは容易に想像が付く。ぼくはそういうものにアップデイトするつもりはない。お願いだから、更新の準備が出来ました、というやつ出さないでくれない。ソフトウエアのアップデイトは1年くらい寝かせてやった人の話を聞いてからやるものなんで勝手に吹き出し出されると迷惑なんだ。

 ちなみに今出ている、更新の準備ができました、を実行した人の話によると動作が遅くなったということなので、今まで何の問題もなく使っていたのであれば、更新を実行しない方が良いというのがぼくの判断です。

 まだ調子が今一つで書く気が起きない。またしばらく冬眠します。


米マイクロソフト:最大5000人削減へ

2009-01-24 18:10:23 | エクセル

 【ワシントン斉藤信宏】ソフトウエア世界最大手の米マイクロソフト(MS)は22日、世界的なIT(情報技術)関連需要の減退を受けて、最大で全従業員(約9万1000人)の約5・5%にあたる5000人を今後1年半で削減すると発表した。5000人のうち1400人は同日付で削減に踏み切る。MSの大規模な人員削減は75年の創業以来初めて。金融危機の深刻化に伴う景気悪化の影響がIT業界にも本格的に波及し始めた。

 削減対象は研究開発や販売など広範で、MSは年15億ドルのコストを削減できると見ている。

 MSは同日、08年10~12月期決算を発表。売上高は前年同期比2%増の166億2900万ドル(約1兆5000億円)と過去最高を更新したが、最終利益は11%減の41億7400万ドルだった。

毎日新聞 2009年1月23日 東京朝刊より引用

 とうとうマイクロソフトもリストラを始めた。それにしても全従業員が約9万1000人もいたとは驚いた。ソフトハウスは、そんなに人数必要ないはずなんだが、毎年世界中の優秀な学生を採用し続けてきた結果かもしれない。

 売上が2%増の過去最高を記録したが、最終利益は11%減だそうだ。2%増収の11%減益。売り上げる以上に費用がかかったということで、金を貸す側から見ると要注意ということになる。

 ぼくが今使っているパソコンは、昨年のある日突然、更新の準備ができました、という吹き出しが画面に右下に出たことがあった。こういう更新は味噌と同じで1年くらい寝かせておいて、やった人の話を聞いてから更新するかどうかを判断するのは、システムエンジニヤとして当然身に付けている術だ。だから今でもパソコンを起動するたびに吹き出しが出ている。

 ネットでいろいろ調べたらこの、更新の準備が出来ています、を実行したらOSのリビジョンアップと称して裏で海賊版かどうかチェックされて、海賊版だったら正規版を買ってくれというサイドに誘われたというのがあった。

 ニュースにある、08年10~12月期決算の売上高は前年同期比2%増の166億2900万ドル(約1兆5000億円)と過去最高を更新した、というのは、海賊版対策でむしり取った売上が寄与しているのかもしれない。

 5000人リストラして年15億ドルのコストを削減できると見ているというが、一人頭にすると3万ドル、日本円にしておよそ2700万円。借りている事務所を縮小したりという経費も入っているのだろうが、今まで結構使っていたのが分かる。

 まぁ水ぶくれ体質を改めるのはよろしいことだが、売上をむしり取って嵩上げしたはいいが、最終利益が減ったのでは何をやっていたのか分からない。

 マイクロソフトさんよ、リストラついでに価格を下げて更なるユーザー獲得に向けて頑張ってくれ。まだまだ開拓すべき余地は一杯あるぞ。マウスに固執するのはやめてくれんかな。キーボードとマウスの二刀流ではやり難くて仕方がない。

 ここのところ原稿を書く気がおきない。今に始まったことではないが、しばらく更新を休んで成り行きでアップしていきます。ご容赦を。


名簿管理案内状送付システム

2008-12-02 10:56:48 | エクセル

名簿管理案内状送付システムのダウンロード

 システムというほど大仰なものではないけど、エクセルを使って同級会の案内状を出すシステムができたのでアップしておきます。

 エクセルで小規模なデータベースを作り、それを元に案内状をプリントアウトするというもので、同級会に限らず名簿があれば何にでも使えるのではないかと思います。使いようによっては年賀状の宛名プリントにも使えるかもしれません。

 アップしたブックには、マクロが含まれています。ぼくにはマクロにウイルスを仕込むほどの技術はないので、アップしたブックにはウイルスは付いていませんが、エクセルの設定によっては読み込めない場合があります。その場合は、エクセルで、ツール→マクロ→セキュリティと進み、セキュリティ設定を、中、に設定すると読み込むことができます。

 詳しいことは、ブックの中のノートというシートを読んでください。エクセルのファイルをアップロードするのは始めての経験だけど、果たしてうまくアップロードできるかどうか、そらいけー。


ブックが開けない

2008-09-19 14:23:29 | エクセル

 エクセルで同級会の名簿をこつこつと入力して、文法のよく分からないエクセルのVBAと悪戦苦闘しながら、同級会の案内状を発送するマクロを作っていた。大体できあがって後はフォームと連結すればいいなというところでセーブしておいた。

 少し時間ができたので、あれを片づけてやるかと思って、ブックを開いたのだが、砂時計が出たままでうんともすんとも言わなくなってしまった。あちゃぁ、毎日新聞の記事の批判は書いたけど、ビル・ゲイツの悪口書いてないはずだがな。なんで提携を解消した毎日新聞の記事を批判するとこうなるの。

 批判しようがしまいが、スパゲティプログラムの上にぼくが書いたスパゲティプログラムのマクロを乗せて、スパゲティを3乗くらいしたからお亡くなりになったようだ。だからスパゲティは嫌いなんだよ。

 うーん。マクロを一からシコシコ書くのはいいとしても、名簿のデータを一から入力し直すのが痛い。データも式もマクロもすべてオンメモリで動くエクセルの欠点がもろに出てしまった。

 こうなるとバックアップ取ってあっても意味がない。お亡くなりになるのであれば、セーブする前にお亡くなりになって欲しかったのだが、セーブする前はちゃんと動いていたんだが、おいエクセルさんよ、これは一体どういうこっちゃい。

 仕方が無いまた一からやり直すか。ぶつぶつ文句言いながら使う方も楽じゃないな。普通のユーザーだったら頭から湯気立ててクレームつけるところだろうが、ぼくはこういうのもありだということを承知しているから頭から湯気を立てない。ぶつぶつ文句言うだけだ。

 まぁ大体こういうのの原因は、エクセルのVBAの文法に合わないプログラムを書いて、ほれ動けとやっていた、ぼくの方にある。それにしても、ブックが開かないというのには参った。開けば急いでデータを別のブックに移して、マクロのプログラムをテキストファイル書き出すんだが、開かないことにはどうしようもない。恐るべしエクセルの突然死。AIGの保険にでも入っておけばよかったかな。まぁこれはきつい冗談。

 エクセルを使っている人、こういうのもアリだからね。気を付けて使ってちょ。と人に言うのではなくて、自分が気を付けて使わなければいけない問題だった。それにしてもウインドウズというOSは、壮大なスパゲティプログラムだな。もうやる気が一遍に失せてしまった。


オブジェクトって何だ?

2008-09-02 17:01:42 | エクセル

 あいかわらずブツブツ文句を言いながらエクセルのマクロを組んでいる。エクセルのVBAのエディタは、1行書くたびにコンパイルして構文チェックする。有難いようで時に、プログラムを書く人間の神経を逆撫でする。えーうるさい。余計なことせんでいいからもう少し文字を大きく表示しろ。

 1行書き終える前にそういえばあそこのルーチンどうなっていたかなとカーソルを動かすと、途端に1行コンパイルしてエラー表示を出す。えーうるさい。こちらの思考回路が乱れるようなことをするな。普通のエディタのようにシコシコ書かせてくれと思う。

 システムエンジニヤはオペレータを信用しない。オペレータは何をしでかすか分からない人種だ。という確固たる独断と偏見を持っているのは、ぼくだけでなく、エクセルを開発した連中もそう思っている。事実ぼくは、何をしでかすか分からないようなことをしでかしながらマクロを組んでいる。

 よし、ちょっと実行してみるか。ほれ動け。オブジェクトが必要です。というエラーメッセージが出た。何じゃこりゃ。

 From_no = Worksheets("ワーク").Range(FromNo).Cells(1,1).value

 FromNoのところが反転している。オブジェクトって何だ?。ぼくは、エクセルが用意したものをそのまま使っているだけだぞ。どうすんだ、こうすんだ、ああすんだでやっていたら、セルに付けた名前をダブルコーテーションで囲んだら通った。下記が正解。

 From_no = Worksheets("ワーク").Range("FromNo").Cells(1,1).value

 くそったれ。それならそうと、変数名が見つかりません、というエラーメッセージ出せ。オブジェクトが必要です、では分からんだろう。こういう時に頼りとすべきお粗末なヘルプの用例ではセル範囲がオブジェクトだとはとても認識できない。まぁ、ぼくがエクセルを開発する側なら、セル範囲も立派なオブジェクトですよと言うところだけど、どうもこのオブジェクト指向プログラミングというやつはワケワカメだ。ブツブツ、ブツブツ。

 久しぶりにユーザーフォームの上に、フレームや、オプションボタンやコマンドボタンなどを、ぺたりぺたりと貼り付けて、よしこれでユーザーインターフェースはできあがりで、実行してみたらフォームが出る前に、オブジェクトが未定義ですというエラーが出た。

 さっきは、オブジェクトが必要です、というエラーだったが、今度は、オブジェクトが未定義ですかよ。一体なんだべ、エクセルさん頼むから日本人に分かるエラーメッセージ出してくれないかえ。

 また、あっち突っつき、こっち突っつきしている内にエラーが出なくなった。オブジェクトって何だ?。カプセル化、継承、多態性といったオブジェクト指向プログラミングの利点は理解できるが、英語をづらづら並べなければならないプログラミングには辟易している。

 ぼくが、コンピュータのコの字も知らないでコンピュータの世界に飛び込んだ頃は、コマンドや関数を50個か100個位無理矢理覚えればプログラムが書けたが、今は英語が分からないと全然駄目だわ。ブツブツ、ブツブツ。

 初期のコンピュータでは、メモリを節約するために変数名を短くしてGOTO分を多用したスパゲティ・プログラムが書かれていた。スパゲティのごとくグチャグチャになっているから見づらい。それでも動けばいいのだでやってきた。何しろメモリが少ないという制約の中では仕方が無かった。ぼくも、BASICでスパゲティ・プログラムを書いた覚えがある。

 これに対して、オランダのアイントホーヘン大学のダイクストラが、構造化プログラミングを提唱し、スパゲティ・プログラムからの脱却の道筋を示した。そして、この提唱は、メモリの制約の中で神業のようなスパゲティ・プログラムを書いていた人達に受け入れらた。神業とはいえ自分達のプログラミングの方法に辟易していたからだ。

 時代は構造化プログラミングからオブジェクト指向プログラミングへと移った。ぼくはオブジェクト指向プログラミングを否定するつもりはないが、プロパティの値を取得したり変更するのに、ずらずら書かなければならないのは勘弁して欲しい。まぁ、ジェネレータを作ればいいんだけどそこまでのめり込むつもりはないしな。

 もうオブジェクトをずらずら書く必要はないのだよという、第2のダイクストラさん出てきてくれんか。と言ってもマイクロソフトは、アメリカの国益会社だから下手なこと言うと、東大の坂村さんが開発したTRONのように世界に出られないようにされてしまうしな。ブツブツ、ブツブツ。

 少しできあがってきたから実行してみるか。ほれ行け。おーい。どうした。うんともすんとも言わなくなってしまった。無限ループになるようなことをした覚えは無いがな。

 仕方がない、Ctr + Art + Delete を押したが何も変化ない。おーいどうした。しばらくしてタスクマネージャーが出てきた。CPU使用率100%。パソコンのファンがうんうん唸りを上げている。エクセルとVBAとヘルプがそっくり応答無しなっている。あちゃぁ、まだ保存する前だった。追加でこつこつ入力した名簿のデータが吹っ飛んでしまった。もう一遍に力が抜けてしまった。ブツブツ、ブツブツ。

 翌日、実行してみたらまた行ったまま戻って来なくなってしまった。くそったれ。おい、エクセルさんよ。あんたが言っているオブジェクトって何だ?。ぼくは、少なくともエクセルが用意したオブジェクトを素直に使っているつもりだけど、行ったきり戻ってこなくなってしまったんでは、手の打ちようがないではないぞ。

 どうもこのウインドウズのソフトはマウスをくりくりするのはいいのだが、時々行ったきり戻ってこなくなる。まぁデバッグ中はよくあることなんだが、エクセル娘は、あっち突っつくとパラ。こっち突っつくとパラと、パラパラ踊るんだけど、ぼくはパラパラより馴染みの芸者を相手にちんとんしゃんの方がいいよ。ブツブツ、ブツブツ。

 まぁ、多少のお化粧をして、ユーザーインタフェースと出来ているルーチンを接続するだけだからその内にできるだろう。いいところは一杯あるんだからブツブツ文句言わないでパラパラ娘とちと付き合ってみるか。いやもうパラパラ娘と付き合うのは肩が凝るよ。もうちょっと文字を大きく表示してくれ。ブツブツ、ブツブツ。

 このエントリーは、また訳の分からない横文字が出てきたと思っている人がいるかもしれない。コンピュータの世界はワケワカメの横文字がずらずら出てくるんだ。まぁ分かる人には分かる内容だからご勘弁を。

 明日の更新は休みます。ご容赦を。


オーバーフローしました。

2008-08-20 11:24:19 | エクセル

 エクセルで同級会の名簿をシコシコ入力した。こんどはこいつを使って案内状を往復ハガキで出すべと思って、このあいだから慣れないマクロをしのごの書いているのだが、実行した途端にオーバーフローしましたというメッセージが出て止まる。

  Dim I as Integer
    For I = 2 to 65536
      しのごの
    Next I

 至ってシンプルなプログラムなのだが実行する前から For I = 2 to 65536 の行でオーバーフローしましたと出る。おかしいなゼロで割り算しているわけではないし、何が気に入らなくてエラーになるんだ。

 まぁ別のルーチンもあるからそっちを先に片づけるかでやっていて、実行すると、またオーバーフローしました、と出る。てめぇこの野郎ふざけんじゃねーぞ、と言ってみてもパソコン相手じゃ喧嘩にならない。またヘルプが分かり難い。ヘルプ見るためのヘルプが必要だよ。ウインドウズというのはつくづくマカロニスパゲティだなと、ブツブツ文句言いながらヘルプを読んでいたら Do while があるのを発見。

 For Next が駄目なら Do While を使えばいいやと組み直したら、あれだけオバーフローしましたとエラーメッセージを出して動かなかったのがすんなり動いた。何じゃこれは。あー。やれやれ。

 今度は、名簿のワークシートから指定された番号のセルの行番号を返す関数はないかなとワークシート関数を探したのだが、どうも都合のいい関数がないようだ。無ければ作ってしまえばいいやで作って動作試験をしたら、うまい具合に期待した値を返してくれる。For Next が駄目なので Do While を使って、シートのてっぺんからなめていったんだけどね。

 システムエンジニヤは、オペレータを信用しない。オペレータという人種は何をやらかすか分からない人種だ。という確固たる独断と偏見を持っているぼくは、とんでも無い値を入れて関数の動作テストをしてみた。そしたらオーバーフローしましたが出てプログラムが止まった。

 どれどれ I の値はいくつになっているのだと調べたら、32767 と出た。何じゃこりゃ。Integerは、型付4バイト整数型じゃないのか。使うのにヘルプが必要なヘルプで調べたら Integer は型付2バイト整数型だった。それで For I = 2 to 65536 のところでオバーフローしましたというエラーが出ていたのか。

 それにしても不親切なエラーメッセージだ。エラー出すなら I が 32767 を越えたらエラーにすればいいものを、実行する前からオバーフローしました、と出る。やりもしない内にオバーフローしました、と出るから、こりゃ何だべ。ビル・ゲイツの悪口は書かなかったはずだが、悪魔払いの儀式でもしなければいけないかなと考えちゃった。

 一日に2・3時間くらいこつこつやっていたんだが、10日もやっていたら肩甲骨の脇が痛くなってきた。要するに肩凝りが始まった訳だ。まぁこういうのは早いこと片づけてあまり神経使わないようにした方がいいな。下の方は出来たので、ユーザーインターフェースを作り始めた。

 そしたら、引数の型が違います。また訳の分からないエラーが出た。プログラムを見渡して、変数の型や変数名を確認しても問題ない。何故にエラーが発生するのかワケワカメだ。試しにエラーが発生した引数に渡した変数の型を調べたら Variant 型と表示された。

    Dim A, B, C as String

 何をおっしゃるエクセルさん。その変数はちゃんと String で定義しましたぞえ。と言ってもエラーになるのでは仕方がない。上の例では A と B が Variant 型になるようだ。

    Dim A as String
    Dim B as String
    Dim C as String

 変数の宣言を1行1変数に変えたらやっと正常に動くようになった。使うのにヘルプが必要なヘルプで調べて見たら上のように書くのが正解だそうだ。それなら1行で複数定義したらエラーにしてくれればいいのに、Variant 型で定義してしまう。そのくせヘルプには Variant 型はあまり使わないでくれと書いてある。まったく書いてあることとやっていることが別だ。

 まぁ、ぼくは他の言語をやっていたので、エクセルのVBAはよく分からないで、いきなりマクロを書いているから無謀といえば無謀なんだけど、ぼくが使っていた言語では、 Integer型は型付4バイト整数型だったから、エクセルも同じだと勘違いしていた。エクセルに限らずプログラミングというのは、言語のご機嫌伺いしてからやらないと駄目だな。

 このエントリーの内容は多少横文字が入っているので、分からない人がいるかも知れない。まぁ人が作ったソフトをブツブツ文句言いながら使う方が楽でいいという話だが、ブツブツ文句言う方もあまり楽じゃないな。