2008年10月30日の日記

2008-10-30

http://anond.hatelabo.jp/20081030220018

なんだっけ、面白い式があったな。

その人が財産があるかないか・・・

現在年収x0.6x年齢 が現在の貯蓄額より多いか否かみたいな

0.4だったかなー。

年収が300万だろうと、貯蓄率がうわまわればコントロールできてている人なのでリッチだし、

逆に年収1000万あろうとこれを下回れば貧乏

みたいな

同期のメールにイラっとする

神経質だろうか? 最近同期の会社メールの書き方が目に余る。

今日も今週末カラオケ行こうぜって十数人当てに流れて、

何人かが参加可否の返答+個人的の休日予定を全員に対して返信してきた。

その個人予定に対してまた全員に返信。このあたりから受信フォルダがこればっかになり始める。

正直てめぇの予定なんてどーでもいいよと思いつつ、イラっとまではこない。

が、一人が「某バースト案件からやっと抜けるから海外です」みたいなことを書いたのに対し、

「A●社ですか?おつw」「●B社だよねw」みたいなのが全員に流れた。

この仮にAB社案件関係者外秘で、うちでやっていること自体が丸秘なんだけれども、酷い燃えようでネコも杓子も投入されているような状況で、

声がかかった人間周辺に話が広まってはいる。

が、TOには管理部門など現場とは程遠い同期も入っているし、

そもそも「全員返信」に丸秘情報をさくっと面白がってかいてしまう習慣はどうなの?と。

うちは所謂一次請け会社で、技術力や業務知見ってよりは、いわゆる保険? 燃えても頓挫せず赤字出してなんとかやりきるみたいな色がある。

そういう会社人間が、顧客の信頼を落とすような所業はどうなのよ、と。

最初の1人目には個人宛になげたが、続けて別の人間からもひたので全員宛でツッコミを入れた。

ほかにも、ググればわかるようなことを何十人にすばっとだしたり、お前らなんなの?バイト君か?

というかんじで、イラッとすることが多い。

こういうツッコミをしたとき周囲からは、「正しいけど、そんなに怒ること?」という反応が多い。

忙しい現場だからこそ、習慣や癖という無意識下で働く行動はしっかりすべきだと思うのだが、自分が神経質すぎなんだろうか?

それとももうこんなふうに業務中に個人メール送ってくる仲良しグループはぶっちするべきってこと?

とか書いてたらツッコミいれた奴から電話きた。ツッコミありがとうと。

そうなんだよな、ボケた本人は真摯に受け止めて(くれてなくてもそういうフリは)くれるんだよな。

だから同期に期待して、勝手に裏切られてイライラしているんだろうか。あーあ。

http://anond.hatelabo.jp/20081025202001

いまさらだがFizzBuzz

1から100まで、3の倍数5の倍数云々って、全部定数の計算じゃね?

というところに気付き、自称メタプログラマー(略してメタグラマー)俺の血が騒いだ。

定数計算なら、それは実行時ではなくコンパイル時に行なわれるべきだ……。

というわけでC++テンプレートメタプログラミング召喚。

#include <iostream>

const int FIZZ_NUM = 3;
const int BUZZ_NUM = 5;
const int BEGIN_NUM = 1;
const int END_NUM = 101;

template<int N> struct Fizz {
    enum {PRINT = 0, NEXT = N + 1};
    static void print() {}
};

template<int N> struct Buzz {
    enum {PRINT = 0, NEXT = N + 1};
    static void print() {}
};

template<int N, bool ForB> struct Number {static void print() {std::cout << N;}};

template<> struct Fizz<FIZZ_NUM> {
    enum {PRINT = 1, NEXT = 1};
    static void print() {std::cout << "Fizz";}
};

template<> struct Buzz<BUZZ_NUM> {
    enum {PRINT = 1, NEXT = 1};
    static void print() {std::cout << "Buzz";}
};

template<int N> struct Number<N, true> {static void print() {}};

template<int N, int F, int B> struct FizzBuzz {
    static void print() {
        typedef ::Fizz<F> Fizz;
        typedef ::Buzz<B> Buzz;
        
        Fizz::print();
        Buzz::print();
        Number<N, Fizz::PRINT || Buzz::PRINT>::print();
        std::cout << std::endl;
        
        FizzBuzz<N + 1, Fizz::NEXT, Buzz::NEXT>::print();
    }
};

template<int F, int B> struct FizzBuzz<END_NUM, F, B> {static void print() {}};

int main(int argc, char **argv)
{
    FizzBuzz<BEGIN_NUM, 1, 1>::print();
    return 0;
}

ifなし%なしループ系なし、しかも実行時オーバーヘッドなし!(多分)

あ、これを見て理解する人間オーバーヘッドは無視ね。

ああ、久しぶりにC++を触ったけど、やっぱC++テンプレートってダメダメだな。20世紀の遺物といわざるを得ない。

君がもし21世紀モテイケメンメタグラマーなら、21世紀プログラミング言語D言語を使うべきだ!

驚くべきことに、D言語コンパイル時に関数が実行でき、その結果をソースコードとして取り込める!

ただし実行できるのは簡単な関数だけだけど……。

以下、それを使ったD言語によるメタプログラミング的実装。

import std.stdio;

// これでFizzBuzzを全部出力するコードを作るぜ!
string makeFizzBuzzCode() {
    string code;
    for(int i = 1; i <= 100; ++i) {
        // 効率? コンパイル時にそんな配慮は要らん!
        if(i % 3 == 0 &amp;&amp; i % 5 == 0) {
            code ~= "writefln(\"FizzBuzz\");\n";
        } else if(i % 3 == 0) {
            code ~= "writefln(\"Fizz\");\n";
        } else if(i % 5 == 0) {
            code ~= "writefln(\"Buzz\");\n";
        } else {
            code ~= "writefln(" ~ static_itoa(i) ~ ");\n";
        }
    }
    return code;
}

int main(string[] args) {
    // おまけで生成されたコードも見せるよ。
    pragma(msg, makeFizzBuzzCode());
    
    // 生成したコードを埋め込む。コピペみたいな感覚
    mixin(makeFizzBuzzCode);
    return 0;
}

// 以下ユーティリティ。このぐらい標準で欲しいな……。

/// 整数文字列変換(コンパイル時)
string static_itoa(int n) {
    if(n == 0) {
        return "0";
    }
    
    // 10で割りながら余りを文字にして追加。桁が逆転した文字列になる。
    string s;
    for(; n; n /= 10) {
        s ~= ("0123456789")[n % 10];
    }
    
    // 桁位置を正常にする。相変わらず効率無視。
    return static_reverse(s);
}

/// 配列リバースコンパイル時)
/// 実行時ならarray.reverseが使えるんだけどね……。
T[] static_reverse(T)(T[] s) {
    T[] result;
    foreach_reverse(c; s) {
        result ~= c;
    }
    return result;
}

// 心配なので静的ユニットテスト(笑)
unittest {
    static assert(static_itoa(0) == "0");
    static assert(static_itoa(10) == "10");
    static assert(static_itoa(999) == "999");
    static assert(static_itoa(9999) == "9999");
    static assert(static_itoa(12345) == "12345");
    static assert(static_itoa(314159265) == "314159265");
}

コンパイル結果

$ dmd -unittest fizz_buzz.d
writefln(1);
writefln(2);
writefln("Fizz");
writefln(4);
writefln("Buzz");
writefln("Fizz");
writefln(7);
writefln(8);
writefln("Fizz");
writefln("Buzz");
writefln(11);
writefln("Fizz");
writefln(13);
writefln(14);
writefln("FizzBu(ry

出力結果は略。

さすがD言語C++JavaC#にできない事を平然とやってのけるッ

そこにシビれる!あこがれるゥ!

というか、

writefln(1);
writefln(2);
writefln("Fizz");
writefln(4);

もうwritefln(出力関数)要らなくね?

修正。

// これでFizzBuzzを全部出力するぜ!
string makeFizzBuzzCode() {
    string code;
    for(int i = 1; i <= 100; ++i) {
        // 効率? コンパイル時にそんな配慮は要らん!
        if(i % 3 == 0 &amp;&amp; i % 5 == 0) {
            code ~= "FizzBuzz\n";
        } else if(i % 3 == 0) {
            code ~= "Fizz\n";
        } else if(i % 5 == 0) {
            code ~= "Buzz\n";
        } else {
            code ~= static_itoa(i) ~ "\n";
        }
    }
    return code;
}

int main(string[] args) {
    // もうコンパイル時のメッセージしか出さない。(笑)
    pragma(msg, makeFizzBuzzCode());
    return 0;
}

コンパイル結果。

$ dmd -unittest fizz_buzz.d
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBu(ry

実行するまでもなく結果が出力された。つまり実行時間ゼロ、ということは……

世 界 最 速

以上、世界最速なD言語宣伝でした。

みんな使おうD言語

D言語リファレンス日本語

http://www.kmonos.net/alang/d/1.0/index.html(1.0。こっちの方が安定してる?)

http://www.kmonos.net/alang/d/2.0/index.html(もっと凄い2.0)

D言語本家配布元(無料コンパイラが入手できます)

http://www.digitalmars.com/

それにしても、ちゃんとD言語シンタックスハイライトを実装しているはてなは偉い。(笑)

http://anond.hatelabo.jp/20081030223510

そこを勘違いするやつが出てきたら、その都度訂正すればいいわけで、それは全く別のフェーズだと思うわけだよ。

勘違いなんて絶対させない!一分のスキも作らない!みたいな感じで始めからゴリゴリ細かい話をやってたら、

いつまでたっても全体像なんて理解できない。効率が悪すぎる。

(いや俺は理解できるね、なんて、既にわかってる奴に言われても何の説得力も無い)

それって要は内輪に閉じこもって、人に理解させる気なんて全くないって言ってるのと近いよね。

相手に理解させる、って目的の上では、始めに詳細に立ち入ったところであまり意味はないんだよ。

そういう意味で「細かいやつだ」って言ったんだけどね。

http://anond.hatelabo.jp/20081030195527

おおなるほど!これなら走れそうだ。

遠距離恋人が居て、毎晩SkypeやらIRCやら使ってるんです。

このところ向こうの帰りが遅くて、自分が寝る直前とかなんだ。

浮気してても確かめようが無いから、気にしないようにしてます。

どうしようもないからな、ハハハ。

週末くらい会えるといいのに。

http://anond.hatelabo.jp/20081030221954

横だが、牛は球体だと話していると、本当に牛が球体だと思い込む人が出てくるのでイヤだと元増田は言っているのでは?

一般的な話題では、牛の形体を理解している人が多いため問題にはならない(同一視する人が出ない)が、サブプライムローンのように実態を理解している人が少ない状態で「牛は球体だ」と言っていると、本当に球体そのものの形をしていると思い込む人が出るってことでしょ。

プログラマー万能説を唱えるヤツをたまに見るけど・・・

ギークだかハッカーだかプログラマーだか知らんけど、はてな村界隈で、なんか楽しそうにワイワイやってる人達いるじゃん?若者達が集まって楽しそうだ。ちょっとうらやましい。そんでオフとかも楽しそうで旨そうな酒飲んでるし、俺には理解できないようなプログラムの話とか、webサービスの話とかでワイワイやってる。オフレポとかつい読んでしまう。ほとんど意味が理解できないけど楽しそうなのは解る。将来とか未来の話とかしちゃって意味は解らないんだけどワクワク感だけはとても伝わってくる。これが若さなのかな。

楽しそうなワクワク感を感じ取れるから、そういうエントリを読むのはとても楽しい(繰り返すが意味はほとんど解っていない)

ただ1つ気になる事がある。プログラマー万能説とか最強説とかプログラマーでなければ人に在らずというような文脈をよく見かける。それと優秀なプログラマーは平凡プログラマーのウン倍、ウン十倍の能力があるのだ。といったような記述

まあそれだけ自信があるとか、期待をしている所があるんだろうけど、仮にそれが事実だったとすると、ちょっとそれは大変な事じゃないか?とオジサンは心配になってしまうのだ。

というのも、自分だけでは無いと思うんだけど、webサービスにしても、Freeのアプリとかユーティリティなどにしても、その作者って日本人ではない事がとても多いように思うのだ。単純にBIOSにしてもOSにしてもドライバにしても作者は日本人では無い。もちろん個人個人で環境は違うだろうけど、日本人が作者であるものってどれだけ使われているのだろうか。

何が言いたいかっていうと、もう日本人が追いつく事は出来ないんじゃないかって事。もちろん、秀才や天才などはそんなものは全く関係なく羽ばたいて伸びていくんだけど、平均クラスやちょっと賢い程度では、もう勝負にならない。自分や知人が使ってるプログラムwebサービスを考えれば日本人は活躍していない。そして日本語英語に変換して使われているプログラムなんて果たしてあるだろうかと考えるとなんだか絶望的ですらある。これから日本人は減っていく。もう日本人プラグラマーなんて少しだけいればいい。そういう世の中で活躍しようと頑張っている若者を見るのはなんだか少しツライ。

明日関東大震災が起こる可能性は 0.004775%

なんか今後30年間に起こる可能性は70%らしいので、日々の起こる確率は等しいまま10,950日経過するものとして計算してみた。

...と書いてから気付いたが、うるう年を考えてなかった。

http://anond.hatelabo.jp/20081030221715

ただ、環境要因によっても子供学力が左右される、ということはごく普通にありうるので若干注意が要るよ。

さきほどの引用部分を書いた増田だが、それは当然含まれるので親に対しても考えるべきってことなんだが…。

親が頭が悪いと一概に言うが、環境と遺伝(この遺伝ってのもくせ者だが)が原因としてあるだろうから、と発言してるわけで、それが子供に対してはいきなり「子供頭が悪いのは遺伝が原因だ!」とか書いた覚えはさらさらない。

増田なんか変な読み方するね。

元祖西遊記

スーパーモンキー大冒険は攻撃が体当たりなんですよ。ドララ

ゴクウ以外は全然戦闘能力なしなんですよ。ドララ

http://anond.hatelabo.jp/20081030221741

下地にあるものと、その上物は別だね、という理解だけど。

下地にあるものは、ダイエーゆとりローンサブプライム共通点はあるけど、意図されたにしろしなかったにしろ、結果生じた現象から逆方向に共通点を見出すのはどうだろか、というかんじ。

http://anond.hatelabo.jp/20081030221643

いや細かいね。

牛は球体で近似していいんだよ。おおざっぱな話してる場合はね。

http://anond.hatelabo.jp/20081030221053

それは申し訳ないことをした。ごめんよ。

http://anond.hatelabo.jp/20081030192448

名前書けば受かるところじゃ満足しないんでしょ。

うちの王子様・王女様はそんなレベルの低いところになんて行かせられないわ! みたいな

勉強ができない子供を持つ頭の悪い親ほど手に負えないものはないからな。

増田と同一の考えをお持ちの人かと思ったもので。

ただ、環境要因によっても子供学力が左右される、ということはごく普通にありうるので若干注意が要るよ。

純粋生物学的な意味で「遺伝」という言葉を使うなら話は別だけど、この話の文脈では区別する意味が薄いと思う)

http://anond.hatelabo.jp/20081030220922

思ってないけど。というか、そういうつっこみをしようかと思ったけどめんどくさかったので。

だったら、ダイエー企業戦略サブプライムローンだね、でいいことになるし。

http://anond.hatelabo.jp/20081030215825

引用部分書いた増田だが、「身の程知らず」とか書いた覚えはないぞ。

自分の相手が常に同一人物だと思われては困る。

http://anond.hatelabo.jp/20081030220225

あーーーーーーーーーーーー!!!

さっそく「ゆとり返済」と「サブプライムローン」同一視してる!!!

都合よく同じ部分だけ抽出すると、知識がない人は知らない部分まで全部同じと思っちゃうんだよ。

だからイヤなんだよ…。

http://anond.hatelabo.jp/20081030220154

将来の増税消費税なら今の消費が冷え込むとはいえないから、非ケインズ効果の実験ではないはず。

もし重なる偶然

志村けんががっかりしていたらどうしよう。

昨日も一昨日も志村けんお話を書いていたのに、今日は少し遅くなっちゃったから。

ちょっとここを読むのが楽しみになってきた志村けんが、なんだ今日は俺のお話はないのかよ

期待して早く帰ってきたのに、なんて少しがっかりしちゃう。

もしも毎日俺のこと書いてくれたら嬉しいのに、最近お笑いレギュラーないからちょっと楽しいのに

チンパンジーなんて本当は嫌いなのに、スーパーモンキーズが良かったのに、

だめだそんなこと言っちゃいけない、ブログに書いたら炎上しちゃう。

パブリック志村けんとして言いたいことを我慢しなきゃいけない辛さ。

公人としての志村けんってなんなんだ。ただのお笑い芸人でいいんだ。

志村けんとしてはあんまりこういういじられ方はないからちょっと新鮮に感じているかもしれないし

本当に楽しみに思ってくれてるかもしれない。

毎日毎日、志村けんのことを考えてる僕と志村けん


でも絶対読んでないよね。わかってる。

http://anond.hatelabo.jp/20081030214830

バブルが崩壊した後というか直後に、地価があがることを前提にしたローンというのもまあすごいな。

http://anond.hatelabo.jp/20081030204325

収入もあるわけだから貯蓄が1千万しかなくてもそれほど不安じゃないだろ。

http://anond.hatelabo.jp/20081030201738

どうかな?

親が頭が悪い理由が知能指数的なものなら遺伝の可能性はあるかもしれんが、

環境によるものだったら遺伝は関係ないしな。

環境を持ち出すのなら、『親の所得水準と学力には関連があると言われていること』、そしてもう一つ『学歴と所得には相関があると言われていること』。これらが曲者になってくると思うなあ。この二つの前提に従うなら、『親の学歴(低)ならば、親の所得(低)』である可能性が高く、かつ『親の学歴(低)であるならば、その収入は低く、子の学力を期待できる可能性もまた低い』ということになる。

さて、低所得層出身者が、将来の自らの所得を高めるためにはより高い学歴を手に入れなければならず、高い学歴を手に入れるためには、なるべく教育の効果が高い高校大学を選択する必要がある・・・。子供のことを思う親であれば、名前が書けるだけで入れる高校よりかは、コストが余分に掛かるにしても、多少なりとも効果の望める教育を実施してくれそうな高校を選ぶのは非難されるようなことじゃないと思うぜ。それを「身の程知らず」と言って切って捨てるのは、さすがに階級意識がキツすぎるんじゃないかい。こういう発想って、『悪平等』的かな?

低学歴低所得の親の元に生まれた子供スタートラインから色々ハンディを背負っているってことは無視すべきではないと思うし、ましてそういう人間が向学心を持つことを否定するような主張は一層バカを増やすだけで、社会全体で見ると損になるのではないかしら。

ログイン ユーザー登録
ようこそ ゲスト さん