2009-06-30 (火)
寝坊した.遅刻.
明日は遅刻しないように…と言いたいところだけど,試用期間終わったので遅刻という概念が無くなる.でも,一応,午前中に出社しよう.
この日記はフィクションです.登場する人名・団体名・地名・職業などはぜんぶ架空のものです. なので実際のものとは何も関係がありません. それから,写真のように見える画像はCGもしくは念写によるものです.
ICFP最終日です.でも仕事.試用期間中は有給取れないなんていう,とてもブラックな会社に勤めてしまったので新幹線通勤.
放っておくと,どんどん順位が落ちていく.寝る前は20位以内にいたのに,会社に着いてから見たら30位.一時期,6位とかだったのが夢のよう.
もう疲れました.持久力不足.そして,コードが汚くてもういじりたくない.
昨日までは月はただの質点かと思っていたのに,今日見たら半径が追加されている.気をつけないと衝突もあり得るのか.昨日になって月の存在を知ったけど,前のバージョンの問題を見たらmoon なんて単語はどこにも出てきていない.
もしかしたら,最初のバグだらけの問題文も意図的に間違いを混ぜて難易度を上げていたのかも….
仕事のあと,やろうと思ったのだけど寝てしまった.
24時くらいにはじめたけど,ちょうど4002がなんとか動きそうになったところで残り30分.
間に合いそうに無いので,足りない部分は他の問題のための関数を流用してしかも求めるのが大変なパラメータは手作業で探す.手作業で探すときは円軌道の方が楽な気がしたので,3003を対象に.パラメータ調整に15分くらいかけて,なんとか3つめの衛星を捕まえたところで終了.順位は不明だけど,20~30位には入れた予定.
1衛星分の調整に5分かかっている感じだったので,あと1時間くらいあれば全部取れたかも.1時間あったらプログラム書いて解いてたと思いますが.
私がサブミットした覚えの無いのは,sangoがやってくれたのかな?
来年はちゃんと有給とってやろう.
でも,去年の自分を思い返しても,本気でがんばっているのは最初の数時間と,最後の数時間だけなんだよなぁ.個人的には,72時間って少し長すぎるかも.
朝起きたらランク外だった.みんながんばってるなぁ.
今日の前半はVM上で動いているプログラムの解析.とても複雑で追いにくい.ただ,任意のアドレスへの書き込み命令が存在しないのでデータの流れは追いやすい.データの流れとプログラムの流れが一見無関係に見えるのが面白い.どうやってこのコードを生成したのかにも興味がある.暇があったら自動で解析するプログラム作るか.
とりあえず1000~3000番台の問題は全部解く.
最後の4000番台はここで初めて実際に見てみる.月が存在することを知って絶望.なんだか変な軌道を動いているターゲット衛星があると思ったら,月の回りを回っていたのか….軌道計算面倒くさい.月の重力は無視して,無理やり動かすか.燃料の消費が激しそう.そして仕様に書かれていることを満たしているはずなのに,ターゲットを通過したことにならない.なぜだ?
夜中にピザを頼む.
上位に比較的日本人が多いですね.よく見る人たちがけっこういます.
今年も社会人としては先輩のgotoの驕りで寿司.
がんばって6位まで.
昨日はバグだらけで理解に苦しむ記述があった問題の仕様もかなりまともになっていた.想像で実装していた部分は少し間違っていたっぽい.とりあえず,今後も問題が出ないように修正.
ICFPのコンテストに参加するために長野へ.
仕事後に急いで準備して,上野駅でgotoと夕食食べて新幹線で長野駅に.sango邸に集合.
日本時間で,27時00分16秒に開始.って,safiiは別チーム参加か.すでに眠いけど,問題を読む.
人工衛星を制御して指定された軌道に載せたりするのが課題っぽい.そして,制御プログラムは存在しないコンピュータで動くものなので,VMを作成しなければいけない.かなり特殊なCPUで,任意のメモリアドレスから読むことは出来ても,書き込み先は,現在のプログラムカウンタに対応する番地にしか書き込めない.そして,ジャンプ命令や分岐命令も存在しない.条件によって演算結果が変わる命令があるので,これで分岐が実現されている.で,ジャンプ命令が無いので,全体を1秒に一回実行するっぽい.
最終的に作成するのは,制御プログラムの入力データなので,実際にはVMなんか作らずに問題を解くことは不可能ではないけれど,内部でどんな動作をしているのか解析するのが大変そう.
とりあえず,VMが動くのを確認して簡単な問題をいくつか解いて寝る.
4月分のガス料金が口座振替の申し込みが間に合ってなかったみたいで,未払いになっていた.早く払わないとガス止めますと書いてあったので,電話して銀行口座から引き落としてもらうようにしてもらう.こういうときって,翌月の料金と一緒に引き落としてほしいなぁ.
今月の給与明細来た.先月の残業分を入れても4月の給料の方が多い.保険料とか税金とか.来年からは住民税もかかるのか.
今月は残業が大目なので,来月はもしかすると初任給より上になるかもしれない.でも,今月で試用期間終わりなので残業とか無くなりますが.
いまやっている某プロジェクトの行く末が心配でなりません.
昼食を食べに行って,帰ろうと思ったら雨が強くなっていて濡れる.
イーバンク銀行の定期預金を解約し続ける日々.
そろそろ,給料が振り込まれているはずの口座を使うようにしようと,みずほのインターネットバンキングを調べる.みずほダイレクトがそうですね.というか,口座作るときに一緒に申し込んだ気がするぞ.というわけで,みずほ銀行から来た封筒をあさったら,なんかカードが出てきた.
銀行で申込書を書くときにクレジットカードのために会社名を書いている途中あたりで面倒くさくなって挫折してしまったので,ネットバンキングなんかできないと思っていたのですがどうやら基本情報書いてあれば丸を付ければいいだけか何かだったっぽい.
パスワード登録して終わりかと思ったら,好きな画像を選ばされたり良くある秘密の合言葉とかを決めさせられたりして,なんとかログイン.
ちゃんと,5月分の給料も振り込まれているのを確認.もうすぐ6月分が入る予定です.
クレジットカードもあと一歩のところまで書いたので作っておくべきだったと後悔していたのですが,ネットからも申し込みできるっぽい.しばらくは楽天のカードでいいやと思ってたけど気が向いたら作るか.
とあるWebサービス系の会社の話ですが,TimePro-XGとかいうシステムを使っています.
何が問題ってIEでしかまともに使えません.かろうじて出勤,退勤の操作だけならFirefoxでもできますが,表示がまともじゃないので,何か心配.
一応WSHからIEを操作して操作を自動化しているけど,スタートアップとかに登録しておくとやっぱり重たい.C++でクライアント書くかな.ログインや情報取得周りは勤務時間取得用に作ったので,適当なUIつけたら終わりですが.もちろん勤務時間外に書きます.当然ですよね(笑).
あと,出勤はスタートアップに登録するとして,退勤が面倒くさい.OS終了時に実行されるようにすることも可能だけど最初に登録したものが有効っぽいのでOSを再起動したりすると訂正が面倒.自動的に退勤時刻を訂正するようにもできるけど,頻繁に訂正していると何か言われたりするのかもしれない.
食料が尽きたので買い物に.しかも自転車を会社の駐輪場に置きっ放しだったので歩き.
今日は工作の日です.D社で待ち合わせ.秋葉原に寄ってから工作タイム.
秋月のLCDをAVRから使ってみる.昔H8用に書いた関数を機械的に置き換えて移植.とりあえず動いた.
タイミングをかなり余裕を持たせて設定してたので,少し調整.と思ったら,うまく動かなくなる.早くオシロ買うべきか.
そのままUSBにも挿せるようにV-USBも組み込む.最近はPCINTとかのピン変化割り込みでも動かせるんですね.INT0,1を使ってしまっていて,しまった,と思ったのですが適当な空いているピンで大丈夫でした.
関数の引数の型に同じテンプレート引数が使われていても,最初のパラメータの型で固定してくれたりしないんですね.呼び出し時の型を決めてから,テンプレートを見に行くので仕方がないのか.
template<typename T> T sum(T a,T b) { return a+b; } int main(int argc,int argv[]) { sum(1.0,1); return 0; }
VC++でもgccでもコンパイルしてくれない.まぁ,明示的に完全に同じ型にしてあげれば良いのですが….
テンプレート引数増やして別の型にすれば解決するんじゃないかと思う人も多いでしょうが,書いていたコードではこうなっていたのです.
template<typename T>
T sum(T a,T b=T()) {
return a+b;
}
この場合,二つ目の引数の型を分けてしまうと型が不明になって省略できなくなってしまいます.
メモ:Dokan sshfs
仕事の後,残業時間を表示するプログラムを書く.今月はすでに8時間も残業していた.ちょっと気をつけよう.
久しぶりに,C++で書いた.メンバの参照にthisを書きそうになる.書かない派だったのに.
会社の出退勤を管理しているサーバにアクセスしてデータを取ってくるように.デバッグのためにアクセスしすぎな気がするけど怒られないことを祈ろう.社外のサービスにアクセスするときは気をつけるように言われている.裏を返せば社内なら好き勝手やっていいということだと解釈しよう.
ネットワーク周りは前書いたsocket.hで.http.hも書いたけど,公開するようなものじゃないなぁ.
HTMLのJavaScript中にデータが埋め込まれるという嫌な仕様なので,無駄なデータをたくさん取ってこなくてはいけない.
というか,XSS脆弱性ありそうだな,このシステム.セッションID盗んだりして人の勤務時間を0にして遊ぶ人はさすがにいないだろうけど.というか,私のアカウントはパスワードかかってないので社員番号知ってる人ならログインし放題です.
出勤操作はすでに自動化してあるのでパスワードかけても良いかな.
なんか,ここ最近1時間近く残業してる気がする.試用期間中なので8時間働かなければならないというのが,だらだら作業を続けてしまう原因な気がする.
まぁ,午前中に出社しなければいけないのも今月までなので,来月までの辛抱.
勉強も出来てお金ももらえるとか,大学より良い環境だと思うんですが.ただ,コンピュータとネットワーク以外のものを必要とするときはちょっと困るなぁ.ボール盤すら無いし.
雨に濡れた.
DOSKEYコマンド便利.cmd.exeのcdの動作が気に入らないので,cd.batに置き換え.
初めて会社のリフレで昼食.なんか雰囲気が違いすぎる.そしてゲーム機が豊富すぎる.
仕事の後,少し会社に残ってマイコン.
会社に行ってマイコンとかいじる.
自転車買った
今週は分からないことだらけですごく大変だった….
今日はずっとテストを書いていた.PHPUnit使うのは初めて.そもそも,テストを真面目に書くのがはじめて.
かなり戸惑いながらも,リポジトリ上のコードを見ながら書く.PHPUnitのマニュアルは分かりにくい.
前提条件が伝わってなくて少し困った.まぁ,実際に運用したら問題があるのは分かった上で開発したのですが….これで実際に使われてしまったら笑えますが.
会社に家の鍵を忘れて戻る.
先月作ってたやつはもう終わったものだと思ってたのだけど,なんだか,もう一度偉い人に見られるらしい.
とりあえず,ちゃんとした仕事が始まりました.
Visual C++とかインストール.
引越し…というか席替え.来週からはみんな別の階に行くので寂しいです.
秋葉原のUDXで飲み会(?).
私たちのチームが表彰された.予想外の展開.本部長にカレー(非売品)と図書カードを貰った.とてもうれしい.
…このカレーは…まさか.と思ったら,やっぱりアレですね.まさか自分で食べる機会があるとは思いませんでした….
買ってから一ヶ月経ちそうでしたが,やっと使い始める.
何が悪いのかわからないのだけど,エクスプローラを閉じた後にフォーカスが下のウインドウに移らないのが困るなぁ.
キーボードは少しX60と違う気がするけど,慣れれば大丈夫そう.
ディスプレイの解像度が1280x800あるのは快適.ただ,物理的な大きさが少し小さいかな.リフレッシュレートが60Hzになってるのは個人的にうれしい.ゲームとかはしないのだけど,やっぱり50Hzだと足りない事がある.できれば75Hzくらいにしてほしいところだけどノートにそこまでは求めない.
偉い人たちに見守られてプレゼン.とりあえず,これでひと段落.
やりたいことが色々ありすぎる.なんか,体も頭も追いついてこない.
今週末の引越し(というか席替え)のためのダンボールが積み上げられている.私の席は数メートルしか移動しないのにわざわざ箱詰めするのは面倒だな….
座席表の自分の席が2箇所にあったり,他の同期の人は別の階だったりで先行き不安….