Excel 列名変換問題やってみた2011年11月12日 16時50分01秒

問題1: Excel列名変換問題
  • 仕様
    • 入力されたアルファベットを数字に変換する。
    • 変換ルールはExcelの列名と同等。
    • 例) A=1、B=2、Z=26、AA=27、XFD=16384
  • 起動時引数
    • [0] アルファベット (A~ZZZZ...[上限なし])
  • 実行例
    • ExcelColConv.pl A → 1
    • ExcelColConv.pl AA → 27

問題2: Excel列名変換問題(逆変換)
  • 仕様
    • 入力された数字をアルファベットに変換する。
    • ただし、問題1で作ったプログラムを拡張すること。
  • 起動時引数
    • [0] 0=数字へ変換、1=アルファベットへ変換
    • [1] 変換する数字またはアルファベット(どちらも上限なし)
  • 実行例
    • ExcelColConv.pl 0 AA → 27
    • ExcelColConv.pl 1 27 → AA

90分はかからなかったけどなぁ… まぁ、時間なんてちゃんと測ってないけど。

use strict;
use warnings;

sub exCol2Num ($) {
    my $col = shift;
    $col =~ /^[a-z]+$/io or die "Invalid Excel colmun name '$col'";
    my $num = 0;
    for my $letter ($col =~ /[a-z]/igo) {
        $letter = uc $letter;
        $num = $num * 26 + (unpack('c', $letter) - unpack('c', 'A') + 1);
    }
    $num;
}

sub num2ExCol ($) {
    my $num = shift;
    $num =~ /^\d+$/io or die "Invalid number '$num'";
    $num == 0 and die "Can't convert 0 to Excel colmun name.";
    my $col = '';
    do {
        my $subnum = $num % 26;
        $subnum = $subnum == 0 ? 25 : $subnum - 1;
        $col = pack('c', $subnum + unpack('c', 'A')) . $col;
    } while (($num = int(($num - 1) / 26)) > 0);
    $col;
}

my ($mode, $input) = @ARGV;
my $result =
    $mode eq '0' ? exCol2Num $input :
    $mode eq '1' ? num2ExCol $input : die "Unknown mode parameter '$mode'";
print "$result\n";

まぁでもよい問題ですた。

最近買った本、捨てた本2011年09月04日 16時43分11秒

仕事部屋を片付け中なんですが、疲れたので一休みがてらブログでも…。

最近買った本

会社の会計期が変わったので、参考書を 2冊ばっかし買いますた。わーい、昨期は赤字だー (泣

  • Android NDK ネイティブプログラミング

    会社での当面の主要テーマと称して、otoco という音楽制作・再生環境システム・ライブラリ群 (予定) を開発 (しようと) しているわけですが (全然着手できてないけど T-T)、将来的にこいつを Android に移植する可能性を鑑みて (というか妄想して) 今のうちにある程度勉強しておきたいなー、と購入。

    なんだかおいらの予想に反して結構な勢いでフィーチャーフォン(笑) がスマートフォンに置き換えられて行っているようなので (あんまり望ましい進行状況では無さげですが… 商習慣含めて)、当初予定していたケータイゲーム SNS 向けゲーム開発プロジェクトも中止にして Android アプリ開発に注力しようかなという魂胆でもあります…。まぁ iPhone でもいいんだけど。

  • Android Hacks —プロが教えるテクニック & ツール

    で、NDK の解説書だけだと Android での開発における基本的な文化というか慣習を身につけるのは困難だと思ったので、それほど古くない範囲で Android での開発に関するトピック全般を網羅的にかいつまんで解説してくれていそうな本書を合わせて購入。当面はこっちを読み進めることにしています。

    開発環境ぶち込んでエミュレータぶち込んでとりあえず動くものから代表的なライブラリを扱ったものまで作って覚えて NDK とかにももちろん踏み込んでいてさらにデバッグに関するアドバイスとかまで押さえてくれているっぽいです。さすがは安心の O'REILLY ブランド。

最近捨てた本

っていうか、今日の片付けで捨てることにした本です。明日の資源ゴミに出す予定。

  • Networking Linux

    何でこんなのずっと持ってたんだろう…。 1997年に刊行された本です。流石に古い…。

    いや、なんぼ古くてもネットワークの基礎知識として体系的に学べるような本であれば捨てることはないのですが、内容的にはモデム接続の時代にローカル PC に Linux を入れて PPP 接続することを前提とした解説書なので、DSL 接続に必要な情報ではないし、 BIND (named) とかにも触れてないし、メールサーバーは Sendmail オンリーだし… といった感じだったので、流石に捨てちゃうことにしました…。

    ネットワーク周りの知識は正直あんまり自信がないので、ちゃんと体系的に学べる本が欲しいんですけどね…。

  • Vine Linux 2.1システム管理ブック

    未だに Vine とか使ってる人いるの? っていう… これも相当昔に買った本です。捨てずにいた自分にも驚きですが、ちゃんと Amazon で検索して Hit する (しかも画像もちゃんとある!) ことにさらに驚きです (苦笑)。

  • PERLクイックリファレンスPerl5.6完全リファレンスブック

    前者は確かラクダ本と間違えて買った本ですw。後者は Perl5.6 が出た後にいち早く出版された本で、情報管理社さんの思惑通りに掴まされましたw。いずれにせよ、この手のリファレンスは perldoc にアクセスすれば十分なので (完全ではないけど日本語訳も充実してるし)、古くなってきたし、もう持ってる意味ないかな、という感じです。

  • MySQL徹底入門―ウェブに最適な高速フリー・データベース・サーバー

    この本、もう第3版まで出てるんですね。最新版ではもうちょっとマシになってるんでしょうか? 少なくともこの最初の版は、はっきり言ってセキュリティーホールそのものでしたね。ネット上で prepared statement 使えよっていう議論が盛り上がるよりずっと前の本だったので仕方なかったのかもしれませんが…。

  • HTMLポケットリファレンスJavaScriptポケットリファレンス

    もう、ゴールしてもいいよね…。

    まぁ古いというのもそうなんですが、最近はこの辺は専ら Web 上の情報を参照しています。そっちの方がむしろ正確だったりするんですよね…。 HTML と CSS はとりあえず閲覧性の高いとほほのWWW入門、正確な仕様を確認したい場合は W3C が公開している勧告仕様、 JavaScript は MDC や、 DOM ならやっぱり W3C のこの辺のテキスト辺りを見に行けば大体事足りちゃうので…。

  • 入門CVS 第2版

    sshd_config の書き方とかもあって結構参考になったのですが、今は専ら Subversion (+Trac) を使っていて、流石にもう使うことはないかな、という感じなので…。さらに git に移行すべきかどうかも思案中だったりはするのですが…。

  • 入門 Ajax

    買ったはいいものの、序盤で掲載されている「簡易クロスブラウザライブラリ」という名のオレオレライブラリに辟易してあんまり読んでいません。それだったらもうちょっとまともなライブラリ拾って使うよ、っていう…。

  • 改訂新版 基礎PHP

    当時仲間内で PHP を使うことがあったので買ったんですが、 PHP5 対応を謳いながら内容的にはほとんど PHP4 で止まっている感じで、もうちょっと新たに盛り込まれた言語仕様を活用して愉しみながら楽をしようという発想には至らないものかと首をもたげた覚えしかないです…。 PHP 絡みで優良なリファレンスって公式マニュアルだけなんじゃないかな… いやその公式も結構怪しいもんだけど…。

    その後、おいらもどちらかというと PHP を dis る勢力に荷担することになるわけですが、最近は modern perl と似たようなノリで Modern PHP Programming を謳う勢力も出てきているようで、 PHP プログラミングの慣習も大分まともなものに様変わりしつつあるようですね…。そういう意味でももはや過去の情報となった本書は紙資源へとリサイクルされるべきなのでしょう。

  • 基礎からのJava2

    古いってのもあるんですが、他にも Java の参考書は持っていて、内容的に被るので、より古くて内容の薄い本書は廃棄することに…。つってももう一つ持ってる方も相当古いんですけどね…。

    Android の開発が基本的には Java が主体になるので、できれば Java 言語をちゃんと学べる本 (で、比較的情報が新しいもの) が欲しいんですが、結城さんの本も望洋先生の本も内容が 4~6年前ぐらいで止まっちゃってるのでどうしたもんかなぁ…でも洋書に手を出すほどの元気もないし…っていう。

エイプリルフールは自粛を=被災者に配慮必要-石原都知事2011年04月01日 00時00分00秒

東京都の石原珍太郎知事は31日の記者会見で、東日本大震災に関連し、「4月馬鹿からといって、嘘をついて笑っているような状況じゃない」と述べ、被災者に配慮して今春のエイプリルフールは自粛すべきだとの考えを示した。

石原知事は「今ごろ、ジョークじゃない。同胞の痛みを分かち合うことで初めて連帯感が出来てくる」と指摘。さらに「(太平洋)戦争の時はみんな自分を抑え、こらえた。戦には敗れたが、あの時の日本人の連帯感は美しい」とも語った。

都は既に、エイプリルフールの名所となっている一部のアルファブロガーやニュースサイト等について、節電などのため今年のエイプリルフールネタ記事自粛を呼び掛けている。
















…ていうか、いまこの記事を書いている 3/31 22:47 現在、インプレスうおっちさんの 2011年エイプリルフール企画が本当に自粛 (2012年に延期) しようとしてるっぽいんですが (魚拓)、まぢっすか…… (悲

目的指向プログラミング2010年08月14日 13時53分57秒

からリンクを辿って

を読み、ブクマで糞を投げてみたものの、年配の日本人プログラマーにおいては割とありがちな傾向なのではないかと思うところもあり、ちょっと書いてみようかしらとか思った次第。

オブジェクト指向にありがちな、それもとっても日本人的な誤解のひとつに、「オブジェクト = 物、物体」という解釈があると思う。確かに object という英単語には「物、物体」という意味があるのだけれど、実際には物体を表現しているわけではないオブジェクトについてまで、それを物体だと見立てて思考展開するんだ、と無理矢理自分を納得させながら Java や C# やその他のオブジェクト指向 (に対応した) プログラミング言語で頑張っている人って、実は若手でも少なくないんじゃないかと思う。

object という英単語には他にも「対象」や「目的、目標」などの意味がある。そのことを踏まえた上で、オブジェクト指向による設計について考えてみて欲しい。

例えば Window という名前のクラスがあるとする。このクラスの概要を説明する際、大抵の人は「ウィンドウを表すクラス」と書いてしまうのではないかと思う。これは多分、「オブジェクト = 物、物体」という前提をかなり意識した書き方だと思う。

あるいはポリモーフィズムを意識している人ならばもう少しマシに、「ウィンドウを表す基本クラス」などと書くかも知れない。そして派生クラスとして、FrameWindow があったり、 DialogBox があったり、はたまた見た目にも概念的にもウィンドウとは似ても似つかない FormControl なんてのがあったりするかも知れない。それでもこれらは「ウィンドウを表すオブジェクト」の一種をインスタンスとして生成するためのクラスとして扱われることになる。

まぁでもここまでは、それはそれでいいのかも知れない、とある程度納得できてしまうレベルの話なのかも知れない。フォーム部品もウィンドウの一種だと無理矢理納得することが、思考展開する上で圧倒的に不可能なことだとは思わない。でもそう思えるのは、これらは実行したときに、画面上で割と物体っぽく振る舞う概念だからなのではないか。

ちょっとしたゲームを作ろう、ということになって、その設計を考えたときに、そんなにたいそうなプログラムになるわけでもないし、ということで、実行時のシーンに応じてクラスを分けてみよう、と考えたとする。例えば以下の通りだ。

  • GameTitle
  • GamePlay
  • GameOver

名前を見ただけで、これらのクラスの「役割」は理解できると思う。GameTitle クラスはゲームのタイトルを表示する。プログラム実行時に最初に呼び出されるシーンだ。GamePlay クラスは実際にゲームを遊ぶプレイ中の制御処理を行う。タイトル表示シーンから特定のコントロール操作 (「start」ボタンを押す、等) により呼び出される。GameOver クラスはゲームオーバーになったときに行われる動作だ。スコアを表示したり、ハイスコアランキングに登録したり、といった処理が考えられる。

そもそもこのような設計手法は妥当なのか? 現実問題としてこのプログラムを実行時のシーンに応じてモジュール分けすると言うことは十分考えられることなので、少なくとも手段のひとつとして絶対にあり得ないと言うことはないだろう。個人的にはこれはこれで十分アリだと思うが、実際の開発においてはチームで議論するなり、リーダーが自身のセンスに基づいて主導するなりすればよいことだ。閑話休題。

さて、これらのクラスの概要を書くとしたら、あなたはどんな風に説明するか? 「ゲームタイトルを表すクラス」? 「ゲームプレイを表すクラス」? 「ゲームオーバーを表すクラス」? どれもクラス名以上のことは書いていない。そろそろ、「○○を表すクラス」論法は無理が生じてきていると言えるのではないだろうか?

それよりも、「本クラスにおいて、」と前置きして (あるいはそう前置きされている物と仮定して)、「ゲームタイトルのアニメーション表示を実装する」、「ゲームプレイ中の中枢的な制御を実装する。具体的には以下の制御が対象となる: …」、「ゲームオーバーの処理を実装する。ハイスコアランキングの登録を含む」などと説明した方が、すっきりするだろう。

オブジェクト指向の「オブジェクト」とは、観念的に「物」や「物体」を表すことを指す、と考えるより、設計においてプログラムを個別の部品というかモジュールに分ける際に、そのモジュールが何を「目的」として実装されるのか、そのモジュールが「目的」としている「対象」は何なのか、をはっきりさせるための、プログラミング上での表現手法、と考えるべきだ。

生成されるインスタンスを観念的に「物」と言い表すことはできるかも知れないが、オブジェクト指向プログラミングにおいて重要なファクターは、必ずしもそこだけではないはずだ。「クラスもインスタンスも両者を含めてオブジェクトと言います」なんて説明で日本人プログラマーをはぐらかすのはもう止めよう。オブジェクト指向とは、プログラムを「目的」単位でモジュール化する手法である。その単位こそが (文字通り) クラスであり、従ってクラスの説明は実装の目的を記述することであるべきだ。

そのことを念頭に置き、そうした観念に頭が慣れるまでは、「オブジェクト指向」という語は封印し、代わりに日本語で潔く、「目的指向」と言い表すようにした方がよいのではないか、と提案する次第なのである。

ネットとバーチャルの混同2010年08月10日 04時39分26秒

はてなブックマークを利用するようになってから、ニュース記事や余所のブログへの言及記事を滅多に書かなくなってしまった。とまぁ、そこまでは別に気にしていなかったのですが、はてなハイクや Twitter をやるようになってから、今度はブログ自体をほとんど書かなくなってしまい、今に至ります。

ハイクも Twitter も、一度 post したら修正不可能なメディア。特に Twitter なんて文字数制限があるわけで、長文を綴るのには向かないツールなのに、何故かつらつらと長文を書きたくなってしまうことがちらほら。なんというか、あの何となくだらだらととりとめもなく書き綴る感じが、どうせ修正できないんだから校正とか考える必要ないかーみたいな投げやり感が、そして興味のある方がその場で割と手早くレスポンスを投げてくれるライブ感が、おいらをそうさせてしまったんだろうなぁとか思ったり思わなかったり。

いずれにせよ、ブログに書いておけばよかった級の長文が、この手のメディアで細切れ状態で漂うのはなんかもったいないので、今後はなるべくブログに書くようにします。ていうか、JASRAC 絡みの能書きなんて後でブログに起こす気満々だったんジャマイカ…もう今更だなぁ…どうしようこれ。

んで、こういう場でちゃんと長文を書くのもなんとなーくリハビリが必要な気がしたりするのでw、しばらくはとりとめもない話題でいくつか書いてみようとか思ったりする。あーブログ書くのひさびさできんちょうするなー (棒読み)。

割と昔からよく目にする構文なんですが、「ネットとリアルの混同」って奴。これって多分、ネット上でのやりとりが強いストレスになるケースがあって (2ちゃんでマイノリティ扱いされたとか、ブログなり Twitter なりで糞の投げ合いになっただとか、匿名でやっていた恥ずかしいことがハンドル名レベルで暴露されたとか)、それを実生活に引きずるが故に、仕事に支障が出たり、家族と喧嘩になったりするような、そういうケースを指してよく言われた言葉なんだと思う。

しかしまぁ、元々の表現方法自体に問題があるからだと思うんだけど、この言葉はたいていの場合、発言者の都合のよいようにネットと実生活を「別物」として扱いたい場合に用いられているのが実情なんだと思う。最近の使用例で思いつくのは、まぁこの辺とか。

百戦錬磨のネット論客 (笑) であるならば、そもそもネットはバーチャルでもなんでもなく、普通にリアルで利用されているツールというかメディアに過ぎない、ってことをよく理解している。だからネット上での発言も慎重なものになるか、あるいは極力自分で責任を持とうとする。間違いが指摘されれば調べ直して反論したり適宜修正を加えたり、とか。

だから、上記のようなケースは、それがネットであるが故の問題なのではなく、単に「プライベートと仕事を混同」しているだけだ、ということはすぐ理解できる。

ただ、ネットを「ある程度」バーチャルな空間として許容する空間もある。いや、空間と言うよりも、それは個々人の使い方によるもの、と考えた方がいいかもしれない。それは何かというと、匿名での参加および情報発信、である。

もちろんこれは、ハンドル名を用いて本名、素性を隠しているケースでも当てはまるんだけど、一連の発信内容から個人が特定されるリスクが高まることを思えば、完全な名無しさんの方が「バーチャル度」は高い、と言えるのかも知れない。匿名でネットを利用する人たちは、ネット上での発言や行動について、多くの場合その責任から逃れることが可能である為、ネット上での行動を、夢や妄想などの、実生活とは異なる概念として、精神的に切り捨てることができる。で、そういう使い方に慣れている人に限って、「ネット」と「バーチャル」を混同してしまうのではないかと思う。

いや、感覚的には割と前から漠然とそんな風に思っていたんだけど、こうしてしっかりと言葉にできるほどではなかった。

で、ネットでトラブルが起こるケースというのは、まさにこの、個々人が勝手に想定している「バーチャル」の領域と、社会の全体または一部、あるいは社会システムにおいて強い権限を持つ組織や個人が持ち込む「リアル」の領域とが、互いに衝突することによって生じているのではないか。例えば、ネットをバーチャルだと捉えすぎてしまったが故に暴走するケースとして、 OFF 会での悪ノリなんかが挙げられると思うし、領域の見極めに失敗したが故にトラブルとなるケースとして、 mixi でのダメ武勇伝 (犯罪行為とか) の開陳や、公私混同の動画うp (メガ盛りとか) による解雇などが挙げられると思うし、さらには公権力などの強い権限がバーチャルに過度に干渉するケースとして、犯行予告ジョークの度重なる摘発などが挙げられるんではないかと思う。

これらは当該ネット利用者からしてみれば、バーチャルだと思っていたものが突然リアルとして牙をむくわけで、言ってみれば悪夢を観て本当に死んでしまうグレイルクエストのような理不尽感なのだと思う。いや、七つの奇怪群島とか、めっさお気に入りでしたけどね。

そんなわけで、思い当たる節のある方なんかは、十分お気をつけくだちゃれ、ってなわけで本文を締めさせて頂きたいと思います。めでたし、めでたし。

新人の熱病2010年02月25日 00時58分39秒

おかしいな。。。おいらはてっきり彼は本職もプログラマーなのかと思っていたのだけど、そういうわけではないのかな。。。?

っていうのは、プログラマーとして有能たり得る性格的な資質を考えたときに、彼のこの記事での発言、そこから垣間見えるメンタリティーからはあまりにも乖離しているから。

過去やってきた実績なんて1ミリも役に立たない

プログラマーは常に学びの繰り返しではあるんですが、それは過去に学んだ礎としての土台を前提としています。過去のプログラミングの経験を「1ミリも役に立たない」と感じながら職業プログラマーしているんであれば、なるほど確かに素質無さそうなので今すぐ転職を考えた方がよいとご進言申し上げます。

自分のわがままなんて1つも通るはずがない

プログラマー、SE の違いに関わらず、相手が上司だろうと顧客であろうと、よりよい提案があるならそれを表明し、意見を求めることができないならば、技術者として最も必要とされる類のコミュニケーションスキルが圧倒的に欠けていると見なさざるを得ません。これもまた、どうしようもないとおっさられるようであれば、なるほど確かに素質無さそうなので今すぐ転職を考えた方がよいとご進言申し上げます。

まぁ、これに関しては、一年坊主に発言権が許されない雰囲気の職場も多々ありますし、一年坊主が身につけていなくても割と許される類の能力でもありますので、とりあえず気にされなくとも良いでしょう。一年間これができずじまいで「あいつは結局芽が出なかった」と言われても仕方のない話ではありますが。

兎にも角にも、”本業”の仕事だけを死ぬほどやりまくること

(中略)

平日の朝から夜まで一緒に会社の中で頑張って評価される

(中略)

いや、死ぬほど頑張って働きましょうよー。

また、仕事が定時が終わっても、土日も仕事モードの”オン・オフ”にするのではなく、
仕事モードは”ハイ・ロー”の概念がいいらしいです。
それぐらい、ずっと仕事モードでいると色々と成長が早いと聞きます。

この辺はおいらの誤解もあるかも知れないが、余暇をしっかり休めないような人にデリケートなシステムの設計・実装・テストのいずれも任せることはできない。「死ぬほど」「頑張って」デリケートなシステムを組まれたところで、あなたが過労で死ぬ分には別に構わないのだが、そのシステムを利用するユーザーが死に至るような事故に巻き込まれるようなことはあってはならないからだ。

プロフェッショナリズムとはこうした利用形態と品質保持とのトレードオフを適切に判断し、それを自身の心身管理にまで反映できることをも含む。気分転換が必要だと思うならしっかり気分転換することもまた、プロとしては必要な行動だ。それが理解できないようであれば、なるほど確かに素質無さそうなので今すぐ転職を考えた方がよいとご進言申し上げます。

…などなどと綴ってみたところで、実際本当に職業プログラマーではないと言うことであれば、これは本当に単なるおいらの早とちりでしたので非常に申し訳ない。気分転換に綴った単なる妄言として適当に受け流して頂ければ幸甚。

…と、ここまで書いて、いまさらプロフィールの存在に気づくヲレw IT系の営業とコンサルですか。なるほど通りで人間関係とか重視されるわけですね。「目標数値」とか言う意味不明言語が出現した理由も合点が行きました。

お願いですから現状のあなたの価値観を技術者の方々に押しつけるのだけはやめてあげて下さいね。それは即ち下手な営業で無茶な仕事を取ってくるのはご勘弁、ということをも意味するわけですが。


しかし、(むしろここからが本題なのですが)

本業の仕事以外は全部不純物

よく、「将来起業する予定なんだよねー。」とか言ってる人っていますが、
その大半が本業の会社の目標数値を達成してない人が多いと思います。

それは本業の会社でうまくいっていないから、
違うところに評価軸をすり替えようとしているだけでそれじゃ”心が満たされない”んですよ!

プロフィールにも記されていますが、あなた、Web サービスをいろいろと展開されていますよね? 特に非モテ SNS は非常に有名で、Newyork Times紙始め、いくつかのニュースにも取り上げられておりましたが、その運営は今でも続けていらっさるわけですよね?

つまり、これらの Web サービス運営は「本業ではない」と言うことになるわけですが、それらについて、違うところに評価軸をすり替えようとしているから、それじゃ”心が満たされない”んですよとおっさられるわけですが、これらの Web サービスにあやかっているユーザーの方々がこの文章を読み、その真意をそのように理解したとしたら、いったいどんな気持ちになるんでしょうかね?

まさか、本業じゃないから、ユーザーへの誠意なんて必要ない、ユーザーの気持ちなんてどうでもいい、とは、思っていませんよね?

あと、自分、プロフィールには思いっきり、

やはり『何かを生み出す』のは楽しいです。
ちゃんと、色々勉強ができたら自分で会社作りたいなぁ。。。と思います。

とか書いているわけですが、なんか今回の記事での発言と思いっきり矛盾してませんかね。。。??


まぁ、個人的には、就職一年生とかにはよく見られがちな、社会人ってものがどういうものなのか俺様理解しちゃったぜー的な熱病のようなものなんだろうなと予想しております。根がまじめくんだったりするとこれがこじれて長引いたり、逆に気の迷いをつけ込まれてネズミ講やらカルト教団やらに引っかかったりすることは少なくないですが (やや偏見含む)、社会的規範との距離の取り方をわきまえている人や、何らかの挫折を経験している人 (自称「挫折」ではなくて) であれば、この国で生きていても割とすぐに冷めるものだとも思っています。そう言う意味では海外ニートの人が心配するほどのことではないとは思います。

それでも、この国の因習としての社畜的な常識ってのは染みついていて、冷めたあとの常識でさえ、国際的に見ればそれはそれは酷いものだったりもするわけですが…。海外ニートの人も本当に憂えているのはむしろこっちの方だったりするんだろうし。そんな中で、「大人の対応」として日々を適当にやり過ごしながら生きるってこと自体が既に異常なわけで…。

32歳になりますた。2010年02月07日 09時10分09秒

ベタな強がり: まだまだ(0x)20歳。

ハッカー的にはやっと成人を迎えた、ってとこかな。

…ハッカー成人と言えるほどの技術力もなければ成果も成し遂げていない気もしなくはないが(´・ω・)

# 6bits 目が立ってしまったら定年という説も orz

…のーみそ衰えないようにこれからも日々精進ですわ(T-T)/

「世界はだんだんよくなっている 」がジャーナリズム批判としてはダメな理由2010年01月26日 14時40分25秒

t-murachi 社会形成, 歴史, 思考, hoge, 下らん, 時間の無駄, メタブもあるでよ 中身のないポジティブ論に賛同はできないな。今こうしている間にも、失業者は着実に増えている。悲観、無力感への処方箋は解決策と試行であるべきであって、無関係な代替概念を持ちだして納得させる事じゃない。 2010/01/25

リンク先記事については同意し、あるいは励みになったとする意見が多数見受けられた。そのこと自体は悪いことではないと思う。各自の個人的な人生において励みになる概念が少なからず存在することは、悪いことではない。

おいら個人の人生としては、現状、メディアが喧伝する閉塞感の中において、割と幸せなものだと自覚している。なので例えば生活に窮する状況に追い込まれている方々 (working poor 然り、失業者然り) や、旧来的・現代的を問わず差別の憂い目に遭っている方々などを代弁して何かを言うことは難しい (してはいけないわけではないとは思うが、多分実感がこもらないんじゃないかと思う) し、実際それをする気もさほど無かったりする。

ただ、ブックマークコメントで書いたことについては、まぁ、それはそれとして、この記事が、メディアが閉塞感を喧伝することに対する批判として書かれているのであれば、その批判に伴う提案としてのポジティブシンキングには、やはり同意することはできない。これは、メディアが行っているとされる、この国の社会に対する漠然としたネガティブキャンペーンを一つの極と定め、対立する概念としての (やはり漠然とした) ポジティブシンキングをもう一方の極に配した二項対立の図式に落とし込もうという、自縄自縛の議論であるように思うからだ。

「この国の社会に対する漠然としたネガティブキャンペーン」が何故ダメなのかと言えば、それは個々の議論が突発的な井戸端会議のネタに終わってしまうからだ。事業仕分けがメディアに取り上げられ、国民の間で議論を呼んだ。それ自体は悪いことではない。しかし京速スパコンに対する蓮舫議員の「二番ではダメなんですか」発言ばかりがクローズアップされ、「頭の悪い素人が仕分けに口出ししている」という負の側面ばかりが目立つような報道になってしまった。その後も事業仕分けに関してはスパコンのことばかりが取り上げられ、本当に必要な議論 (大幅削減が決まった spring-8 や海洋研究、逆に仕分けの対象から結果的に外された核燃料再処理工場の是非、etc...) にあまり耳目が集まらなかった。本来批判されるべきはこうした政策論議に関する報道の網羅性のなさや、ウケ狙いの報道姿勢、そしてそうした報道をネタとして消費する読み手の姿勢にあるのではないか。

ネガティブな報道ばかりだから閉塞感が広がる、もっとポジティブなニュースだってたくさんあるはずだし、そういうのをどんどん報じるべきだ、とする意見をよく耳にする。同意される方も多くいらっさると思う。

おいらがそうした考え方にどうしても同意できないのは、結局の所、その考え方というのは、現状の、報道をネタとして消費するという、読み手、聞き手の姿勢を前提とした考え方だからだ。そうした姿勢が正されることがない限り、即ち大勢が個々に社会に参加しようという意欲を持たない限り、メディアは成熟しないだろうし、デモクラシーは成就されないだろう。雰囲気だけで政権交代し、雰囲気だけでそれを悲観し後悔するなら、そもそも民主制である必要など無いのだ。

昨今のメディアによるネガティブ報道にはもう一つ問題点があって、それは極めて個人的な事情により起こってしまった事件について、容疑者 (未だ裁判で犯人だと確定したわけでもない) の属性情報ばかりを取り上げた挙げ句、それがいかにも社会的な現象であるかのように報じてしまう点だ。こうした報道は偏見・差別を好む低俗な耳目をよく集める。しかしメディアリテラシーを高める存在であるべき新聞・テレビ報道が、結果的に民度を失墜させることに手助けしているというのは実に皮肉なものだ。

最近では個別の新聞・テレビ報道に対し、関係者がネット上でブログなどを用いて認識の齟齬や報道上の問題点等を指摘すると言うことがたびたび行われている。これはよいことだと思う (そういう意味では、元記事に同意するものである)。そして、そうしたことの一つ一つが、テレビや新聞のネットに対する相対的な信頼感を、着実に貶めていっているのだと思う。その効果は新聞の販売数やテレビの平均視聴時間、広告・CM枠の売り上げなどといった数字にもろに影響しているし、大手の新聞社、放送局が軒並み赤字を出していたりする。

しかし彼らは反省しない。それどころか、彼らが手にしている特権的利権 (記者クラブ然り、電波利権然り) を手放すまいと躍起になっている。このことこそ、最も悲観されるべきなのだ (特に我々世代にとっては)。元記事はテクノロジーが社会を少しずつ、着実によりよくして行っていると書いている。しかし、テクノロジーを活用するのは人だ。情報コントロールは権力そのものだ。テクノロジーが変わってゆくなら、人も変わってゆかなければ社会はよくならない。テクノロジーに取り残されたはずのメディアがテクノロジーそのものへのネガティブキャンペーンを展開し、それに多くの人が踊らされて差別に勤しむような社会は成長しない。インターネットをメインステージに育まれるこれからの時代において、誰もがそのことを肝に銘じなければならない。

今年の高校野球千葉県代表、八千代東はとんでもないチームだ。2009年07月27日 22時36分32秒

八千代東の試合は、この決勝戦と、その前の準決勝だけ観てました。いやはや、とんでもないチームです。といっても、目立った特徴のあるチームではないように見える (ハズな) んですが、この辺の情報を頼りに、何が凄いのかを軽く列挙してみました。

  • 大会通算打率たったの .203
  • 大会通算得点 30点中、7回以降に上げた得点は実に半分の 15点
    • 大会 8試合中 5試合にて、 9回に得点を上げている。 9回に上げた得点だけで 7点になる。
    • 大会 8試合中 6試合にて、最終回 (延長の回含む) に得点を上げている。最終回に上げた得点だけで 7点になる。
  • 4番を打つ上條外野手は 8試合で全 9打点。チーム打点は 25 なので、1/3 以上を彼が稼いでいる。
  • 8試合中 3試合が延長戦。延長回数は合計 10回。回数で換算すれば 9試合分戦ったことになる。
  • 全試合、先攻を選び、そして勝っている。

実際、彼等の試合は、観ていて面白いです。良くできた漫画かなんかみたい。リアル山下たろーくんとかそういう世界 (あれ? そんな話じゃなかったっけ? >山下たろーくん)。

この「終盤に強い」という性格のチームは、単に観衆にとって面白いというだけではなく、相手チームにとっては非常に不気味なことなのではないかと思う。特に、1, 2点のリードでは終盤を迎えても絶対に安心できないと思う。高校野球は基本的にクローザーとか居ないしね。

大会 8試合中全試合で先攻を選んだ、というのも面白い。先攻、後攻はどうやらじゃんけんで決めるらしいのだが、じゃんけんで勝っても先攻を選んでいた模様。通常、野球は後攻の方が有利なので、じゃんけんで負けても相手チームが後攻を選んでくれるので、結果全部先攻になった、ということなのだと思う。これはある種の験担ぎなのかも知れないが、もしかしたら絶対にサヨナラ負けはしないという守備への自信の表れなのかも知れない。実際、一つの回で一度に取られた失点は最大でも 3点に止めており (流経大柏戦の 4回裏のみ)、ビッグイニングを許さない守備には安定感を感じる。

打率が低いのも、むしろ不気味さを感じる。なにより、これだけ打率が低いのに、 8試合やって全部勝っているのである。この打率で 8試合もやっていたら、 1, 2試合ぐらいは完封されるようなゲームがあってもおかしくないように思う。逆に言えば、少ないチャンスを確実にものにして得点を上げる能力があるチームである、とも言える。特に、 4番の上條外野手は 9打点を上げており、これは特筆すべきとまでは言えないかも知れないが、チーム打点の 1/3 を超える数字でもあり、 4番としての信頼には十分足りる数字ではあると思う。

そんなわけで、春夏通じて初出場ということもあり、全国的にはあまり注目され無さそうなチームではあるんだが、個人的には甲子園でも何気に面白いことをしでかしそうな気がして、結構楽しみだったりする。期待しとるでぇ。>ヤチヒガナイン

「ブラック会社」がブラックにならざるを得ない社会的背景2009年07月10日 01時30分39秒

どこかのうんこブログがリンク先記事への回答として「雇用流動性が低いからこうなる、解雇規制を撤廃すべきだ」などと極めてうんこな事をほざいていらっさいますが (腹立たしいのでいちいちリンクしません)、まぁそれはそれとして。

ブラック会社、あるいはブラック企業というのは、要するに労働環境が劣悪で、しかも社員の多くがそうした状況に疑念を抱かない、あるいは諦めてしまっている社畜ばかりである、といったような状況に陥っている会社のことを指し、そう言った現象について、経営者対労働者の構図で物を語る人が多かったりする概念です。

実際のところ、こうした現象というのは必ずしもそのような単純な物であるとは限りません。特に、SI 業界に関して言うなれば、顧客企業との軋轢、上流・下流やコンサルなどといった工程を切り分けるスタイルによる分業と、それに伴うピラミッド型の下請け構造、中小企業への支援制度が手薄な行政、などといったものが背景に横たわっており、その結果として、不利な条件で事業を請け負わなければならない零細ソフトハウスの苦渋、ご贔屓さんとの政治的おつきあい、さらには会社規模でいえば一流の筈なのに部署や取引先によって明暗がくっきり分かれるなんて事もざらにあったりする訳です。

もちろん、労基法がないがしろにされ、労働者の権利が踏みにじられている現実は、どうにかする必要があるでしょう。内部告発が増えてきているのは好ましいことですが (今のところニュースになっているのは飲食業界が多いですが)、罰則規定を強化し、労働者の権利侵害が悪であるということを政府の態度として明確にすべきだというご意見は、確かにごもっともであると思います。しかし、それとセットで同時に解決して欲しい問題がいくつかあるのも事実です。

ことソフトウェア業界に関していうならば、以下のような問題が横たわっている訳ですが…

  1. 作業領域が工程によって分断される為、下請け構造が根深く、企業間の上下関係がはっきりしてしまっている。
  2. 企業の技術力を推し量る基準が存在しない為、無名な中小零細企業は営業面において不利を強いられている。
    • 品質管理能力については一応 ISO 9001 というのが存在するが、そもそもテストを切り詰めろなどといった品質をないがしろにする要求をしてくる顧客が未だに多く、業種によってはあまり重視されないケースも少なくない。
  3. システム開発の適正価格が理解を得にくい為に、市場自体にダンピングの発生しやすい土壌ができあがってしまっている。
    • これに対し、システム構成を無駄にリッチにする、オープンではない技術を多用し、保守を入れ替え不可能にして独占する、などの (顧客側の無知を逆手に取った) 悪質な商習慣も横行している。
  4. 起業支援が手薄な為、新規に事業を興そうとするものが少なく、いても先立つものがない為に、SI 事業の下請けの末端として仕事を受けざるを得ないという状況がある。

1 と 2 は中小企業支援の問題。公正な取引が阻害される要因というのはいろいろと考えられる訳で、そのうちのいくつかは政府による規制によって状況をある程度改善することは可能かも知れません。一番の問題は作業範囲が工程によって切り分けられることであり、上流を請け負う企業が設計書を仕上げて持ってくるまで下流を請け負う企業がコーディングの作業を開始できないとか、納期までの時間の内の大半を上流が食い潰してくれやがったのに最終期限は延ばして貰えないであるとか、顧客が直接お金を払うのは上流を請け負う企業だけなので上流が見積もりを誤ればとばっちりを食うのは下流であるだとか、そういう差別要因を育む諸悪の根源なのだから、作業範囲を工程で切り分けること自体を不公正な取引であるとして規制してくれればそれが一番公正な世界を創り出す近道であるようにも思うのですが、実際のところ、うちには顧客と直接交渉してシステムを提案できるような人材はいない、仕事をくれる上流企業から仕事を貰えなくなるような規制ができたらうちは商売できなくなる、なんていって尻込みするソフトハウスも少なくないだろうから、いきなりそんなドラスティックな改革をやってのけるのも難しいんだろうなぁとも思ったりする。

技術力うんぬんに関しては、実際のところ、個々のスタッフの経歴がすべて、というのが実情。後は取得した資格とかですかね。で、「A と B と C という技術を使えば、n 千万円で実現可能です。当社であればこれらの技術を経験しているスタッフは揃っています」なんつって営業したりする訳ですが、こんなのはっきり言って顧客は理解できる訳がないので、結局は企業の知名度で選ぶか、価格が一番安いのを選ぶか、ということになってしまう。 3 の適正価格が理解されない問題とも通じていて、顧客企業自体にしっかりした情報システム部門があったり、有能な CIO がいらっさるようであればそれほど問題にはならないし、そういう体制はもっと普及すべきだとは思うのだけれども、すべての顧客にそれを求める訳にも行かず…。個人経営の飲食店とかだってなんらかのシステムが欲しいと思うことはあるのだろうけど、そういうところにシステムを構築することで、十分に食っていけるだけの報酬が得られるような世の中になっていないことが、独立開業を難しくしている要因の一つであるとも言えたりする訳で…。

4 は起業支援の話なのですが、これを求めることが国際的に見て贅沢なことなのかどうかおいらは知らないのですが、独立開業を夢見る人のご意見として、会社に縛られることなく、自分のペースで仕事ができる、という誤解があるのだけれども、それを実際にかなえるには、納期などに縛られない商売、すなわち、オーダーメイドではない金になる商品を既に持っていて、それをコンシューマーに向けて販売、もしくはサービス展開する、といった商売で勝負できる場合に限られることになる訳です。でも、それまで一労働者としてあくせく働いていた人が、そういう商品を作り出す時間を割くこと自体が難しかったりして、で、そんな時間を得る為に脱サラしてみたはいいものの、勝負になるようなものができあがらないうちに貯金が底をつき、あえなく派遣で仕事を探す、なんてのがありがちなオチだったりするのが実情です。これは SI で下請けやってる中小零細企業に関しても同様で、仕事が多くて忙しいときは時間的余裕が無く、仕事が少ないときは少ないときで今度は資金的余裕がなくなってしまう為に、なかなか自社開発に踏み切れずにいる。そういった辺りをうまいこと救済するような制度とかがあったりすると、コの業界ももうちょっと活気づくんじゃないかなぁとか思わなくもなかったりする訳です。

IPA が未踏IT人材発掘・育成事業なんてのをやっていたりしますが、これはこれで良いのですが、これだとどうしても凄い発明をする英雄的存在を発掘するアプローチ、ドラクエで各国の王様が勇者を捜し出すアプローチになってしまっていて、業界全体の労働者層を救済するアプローチにはなり得ないし、独創的な商売を育む土壌もなかなか根付かないのではないかとも思う。かといって、日の丸検索プロジェクトみたいなのは一部の企業を利するだけで、これも業界全体の活性化を促すものにはなり得ない。もっと、ソフトウェア企業がこれから作ろうとする物の価値を認めあえるような、財源とコミュニティが一体化したような社会的枠組みがあったりすると面白いんじゃないか、とか思ったりもするんだけど、庶民様の血税とやらでそれを実現するのはやっぱり難しいんだろうな、とも思う訳で…。

相変わらずまとまらないけれども、おいらの今のところの思考は、とりあえずこんな所。

で、せっかくなのでこぼれ話。おいらが今、会社として請け負っているお仕事なのだけれども、取引先の都合で、別の会社を1社はさんで契約して貰っている。

何でそんなことが必要なのかというと、事業を通して経費が適切に計上されているかどうかが審査される訳だけれども、事業全体の規模があまりに大きい場合、そのうちのいくらかを、うちみたいな無名の零細が請け負っていたりすると、それが使途不明金として疑われてしまうケースがあるからなんだそうだ。

結局の所、法が民間に対して信用を求めていて、それがうちみたいな零細には、結果として障壁となって立ちはだかっていたりする。法人は国に登記され、その事業内容も合わせて管理されるのだから、本来ならばその国こそが企業の信頼を担保するべきなのに、実際にはおいらたちは国にすら信頼されない、信用ならないならず者として扱われる訳だ。だからこそ、どこかから与えられる数少ないチャンスをものにし、信頼を積み重ねていかなければならない。

そりゃあ、奴隷にもなるよ。詐欺師にだってなる。おいらはどっちかっていうと、病気になる可能性の方が高そうだけれども…。