2007-10-31
人間コンパイラへの道はまだまだ遠い。
問題、下記のC++のコードの意味を答えよ。
char (&test(...))[3] ;
ちなみにこれは、可変引数を取り、char[3]への参照を返す関数testの宣言である。
私は、もはやどんな関数ポインタの宣言があろうが理解できる自信を持っていたのだが、いともあっさりと打ち砕かれてしまった。
ああ、人間コンパイラへの道は果てしなく遠い。
指がえぐれた
バイトで茶碗を洗っていたのだが、米粒がなかなか取れなかった。そこで力を入れてこすってみたところ、茶碗が割れ、左手の中指を切ってしまった。傷口を見ると、軽くえぐれている。そしてまずいことに、血が止まらない。
20分立ってもまったく血が止まる気配がない。深夜だったのだがしかたがない。病院に行って、止血してもらうことにした。
とりあえず血は止まったようだ。やれやれ助かった。しばらくは水につけてはいけないようだ。また、酒も飲まないようにとのこと。
2007-10-28
スーパーサイズ俺
マクドナルドのマックポークがうまかったので、おととい、昨日と、昼飯に食べた。しかし、三日目の今日になると、さすがに飽きてきた。別にまずくはないのだが、毎日食べられる味ではない。
とりあえず明日は、そばかうどんを食べたい気分だ。
スーパーサイズミーなんて絶対ヤラセだよなぁ。
2007-10-21
靴を買う際の注意
昨日、新しい靴を買いに行った。靴屋にて、右足の靴だけ見て満足し、購入した。
さて今日、さっそく新しい靴を取り出し、左足の靴を見てみると、シミがついていた。気にせず歩いてみるが、どうも左足の靴の履き心地がおかしい。左右の靴を合わせて見ても、形がおかしい。やれやれ、ちゃんと両足とも確認すべきであった。
店に文句を言いに行ったが、まずいことに、既に外を歩いた後だったので、靴は汚れている。結局、返品はできなかった。実に一日分に相当するバイト代が、無駄に飛んでいった。
教訓、靴を買うときは両足とも確認せよ
このバイク欲しい
MONOTRACERというバイク。最高速度250km/h、100km/hまで5.6秒で加速、エンジンは4サイクルの1171CC、四段階変速とロックできないバックギア、スピーカもついているようだ。CDプレイヤーも付けられるとか。容量200リットルのでかいトランク、燃費は90km/hで、4,15 l/100km、120km/hで、5,05 l/100km
普通のバイクはまったく欲しいとは思わないが、これは欲しい。ただ、これ停車時はどうするんだろう。いちいち脇の車輪を上げ下げするのだろうか。
お値段は、52,500 ユーロ(2007年10月現在、日本円にして864万円) 恐らく個人輸入になるので日本国内ではもっと費用と手間がかかる。日本国内では大型自動二輪車の扱いになると思われる。
2007-10-16
見よ、現代のヤクザの仕事を
http://sankei.jp.msn.com/economy/business/071013/biz0710132040011-n1.htm
http://news21.2ch.net/test/read.cgi/bizplus/1192281933/
■内定辞退を引き留めます 神戸の会社が翻意サービス
新卒採用の増加に伴って増えている大学生の内定辞退に頭を痛める企業が、「内定辞退翻意サービス」を活用
し始めている。昨年からサービスを始めた神戸市のコンサルタント会社「ブレーン・サポート」(木村俊良社長)には、
今年も8月末までに大手43社が依頼。成功率は6割以上と高く、依頼企業はさらに増える見込みという。
同社は4年前から、転職希望者の引き留めサービス事業を成功報酬制でスタート。依頼企業から新卒採用の
内定辞退が多いと聞き、昨年から「内定辞退翻意サービス」も始めた。
企業から依頼を受けると、木村社長自らが学生に連絡を取り、高級ホテルで食事をしながら面談。まず「会社の
依頼で来たが、優先するのはあなたの条件を会社に伝えることだ」などと味方であることを強調したうえで、辞退理由
などをさりげなく聞き出す。学生が翻意するまでは面談や電話でフォロー。依頼された複数の学生を鹿児島県の
沖永良部島や与論島などへキャンプにまとめて連れ出し、じっくり話をすることもある。こうしたサービスを昨年、
46社から依頼された内定辞退者69人に行った結果、55%に当たる38人が内定辞退を取りやめたという。
ある国立大の男子学生は、大手自動車メーカーの内定を得たため、中堅自動車メーカーの内定を辞退。しかし
「大手は同じ能力の人間ばかり集まっている。君の力を生かせるのはそういう会社ではないのでは?」などと諭すと
翻意した。またメガバンクに内定していた別の国立大の男子学生は「メガバンクは転勤も多いし、50代以降は出向
させられる。着実にキャリアを築けるのは中小」と説得すると、内定辞退した中堅企業に戻った。
木村社長によると、内定を辞退する学生に確固たる理由はなく、「『この会社はここまで自分を欲しがっている』と
認識すれば、あっさり翻意する」という。
就職情報会社、毎日コミュニケーションズが実施した平成20年の企業採用予定調査では、採用活動における上場
企業の悩みのトップは「内定辞退の増加」(62.3%)。今年5月末時点での大学生の内々定獲得社数の平均は、
昨年の1.99社から2.24社へと顕著に増えており、内定辞退者が増加している現実が浮き彫りになっている。
これは酷い。このニュースは分かりにくい言語を使っているので、私が日本語に翻訳してみようと思う。
まず、複数の企業を抜けぬけと受けておいて、当社の内定を蹴った無礼者に対して、まずは怒らず、アメを与えることで、関心を向けさせる。これには「高級ホテルで食事」といった古典的な手法が用いられる。まず警戒心を解くために、「味方である」ように見せかける。そして、学生が洗脳されるまで、ひっきりなしに自宅訪問や電話で責めたてる。それでも洗脳されないタフな学生のためには、離島に連れ出して脅迫するという最後の手段に出る。効果は絶大だ。何しろ69人中38人も洗脳しているのだから。
55%も心変わりさせている、この数字は異常だ。まさにヤクザの仕事だ。最初にアメを与えておいて、徐々にムチを与える伝統的な方法だ。まずいことに、この方法は実によく働くのだ。
だいたい何度も言うが、内定を蹴られた時点で、「所詮お前は滑り止め」と言われている様なものなのだ。それを下手に出てなだめすかし、最後は離島に連れて行って心変わりするまで脅迫……もとい説得する。これをヤクザの仕事と言わずに何と言う?
また、内定辞退の引きとめという仕事は、本来企業自身が行うものだ。それを外注しているのだから、労働者をバカにしているとしか思えない。
この手のコンサル会社には、注意すべきだ。第一、「ブレーン・サポート」という名前からしていかがわしい。「ブレーン・ウォッシング」としてはどうか?
2007-10-13
へんなmkvファイル
mkvmergeで、二つの動画をマージしようとしたら、何故かうまくいかなかったので、調べてみると、FOURCCが "H264" なmkvファイルであった。やれやれ、mkvの自由度の高さは尋常じゃない。とりあえずffmpegで生バイトストリームを吐き出してからmuxした。
まあ、こんなへんてこなファイルも面白かったので、自分で作ってみることにした。とりあえずH.264をAVIに格納(そんな標準規格はどこにもないことぐらい把握している)して、最新版のmkvmergeに食わせてみたところ、普通に(V_MPEG4/ISO/AVC)になった。うーむ、変更されたのかな。しかし、この出所が怪しいmkvファイルは、今年に作成されたはず。
x264のvfw版の功罪なのだろうか。
2007-10-12
これだから健康志向の商売はなくならない
http://www.asahi.com/life/update/1011/TKY200710110446.html
一本で一日分の野菜がとれるとしよう。すると、次の献立で暮らしていけるはずである。
ご飯、肉や魚、野菜ジュース三分の一本、一切の野菜なし。
これが一食分。これを毎日、三食欠かさずに食べれば、健康を維持できるはずだ。さあ、健康職人の信者達よ。このすばらしい献立で生活するが良い。これだから健康志向の商売というのはオイシイんだろう。
そういえばスーパーサイズミーなんて映画もあったけれど、あれも怪しいものだ
2007-10-07
Boost.Program_optionsの問題解決
どうせソースコードも公開されていて、しかもライセンスも制限なしといっていいほどゆるいのだから、書き換えてみることにした。面倒かもしれないと予想していたが、以外にも簡単だった。
やりたい事
wvalue(std::wstring)->default_value(L"Unicode") が出来ること。
問題点
現行のprogram_optionsの実装はdefault_valueの引数の型の値を、lexical_castでstd::stringにキャストしようとすること。
当然std::wstringからのキャストはできない。
改変方法
utf16のstd::wstringから、utf8のstd::stringへ変換してやればいい。
改変の次第
boost/program_options/value_semantic.hppに
#include <boost/program_options/detail/convert.hpp>
を付け加えて、
typed_valueのプライマリテンプレートの下に、次のメンバ特殊化を付け加えればいい。
template<>
typed_value<std::wstring, wchar_t> *
typed_value<std::wstring, wchar_t>::default_value(std::wstring const v)
{
m_default_value = boost::any(v);
m_default_value_as_text = boost::to_utf8(v);
return this;
}
いやはや、C++のテンプレートはすばらしい。とくにMember Specializationは役に立つ。本当に変更すべき部分だけ書き換えればいいのだから。
2007-10-06
Boost.Program_options が酷い件
program_optionsを使ってみることにした。
しかし、Unicodeへの対応がなってない。
namespace po = boost::program_options ;
po::options_description desc("options") ;
desc.add_options()
// std::stringへlexical_castしようとしてコンパイルエラー
("output-file,o", po::wvalue< std::wstring >()->default_value(L"out.txt") , "output file name")
これは酷い。wchar_tへの相互変換のラッパをかませているだけだ。しかも一部動かない。こんなひどい対応で、何が
>Throughout this document "Unicode support" is a synonym for "wchar_t" support
何だか。
ドキュメントは次のように変更すべきである。
Throughout this document "Unicode support" is a synonym for "char to wchar_t conversion" support
>Neither of these issues appear to be critical in practice
だって? 皆ASCII外の範囲の文字は使ってないのですか。 たいしたUnicodeですな。
ああ、utf16leを使うのは難しい。
追記:
Boostスレに助言を求めたら、このブログを引用された。program_optionsって誰が使っているんだろう。