I want to stay with you

あーーうまくいかん。私生活も研究も。

最近落ち込んだ時はこの曲だして元気出してます。
初心に戻ろう!!大丈夫、やればできるはず。

イントロでヤラれ、歌い出しでヤラれ、ザビでヤラれ。。。
この曲、ほんとググっと引き上げてくれます。感謝!

OB訪問の良さ

アベがイケメン化している。。
ていうかアベは髪短いほうが良いと思うよ。
(あと俺のコロンビアのマウンパ真似してんじゃねーよ。)

それはいいとして、今日は学内でSONY会社説明会ということで、
講座の先輩であるKMDさんが来てくださった。
IS棟で説明会があって、そのときに久々にHIBIKI夫妻を見た。いやー、つづいてんなー。

この前ACCESSのOBの方が来てくださったときも思ったんだけど、
やっぱ人事部の人がいない会社説明会のほうが、
学生もつっこんだ質問ができるし、社員の人も(ほぼ)利害関係無しでフェアに答えてくれるから、
なるべくOB訪問ってしたほうがいいなぁと思った。
まぁ一般論ですが。。

あと今日はM2の人が修論提出ということで、みなさんスッキリされていました!
お疲れ様です!
・・・1年後は俺らか。。。
ってか俺は近々、論文提出などあるので、気合入れないと。ヤバスヤバス。
シュウカツの時期に複数の学会発表とか・・・。

クレイジーな人

昨日は某社の説明会に行った。
したら、その場で半強制的にエントリーシート書かされたんだけど・・・。

「論理的とはどういうことか説明せよ。」

みたいな。
コピペリソース使えないエントリーシートはキツかったなぁ。ってそういう話じゃない。
説明会で,抜き打ち強制エントリーシートってどうなんだ?たぶん、受ける気などなかった人もいるのでは??
時間が空いてるし、ちょっと見に行ってみるか、ってノリで受けて、
強制的にエントリーシートか何か書かされて、しかも落とされたら最悪な気分だろうな~。

(閑話休題)

題名に書いた、「クレイジーな人」ってのだけど、なんかコンサルとかシンクタンク系の会社の説明会に行くと、
集まる学生に、他の会社では見られないような偏りがあるような気がする。
一言で言うのは難しいけど、なんというか

「君の人格を否定してるんじゃない。君の意見を否定してるんだ。」(←けど言い方が超絶人格否定的)

みたいな!!なんなんだ。誰もが打たれ強いっていうかクレイジーだと思うなよ。。
似たような話だけど、
普通の人間は、他人から強く嫌われても恨まれても、特に影響は及ぼされないけど、
恨まれてる事実を知るとダメージを受ける。多少なりとも。
どっかでこんな歌詞がありましたな。

「ここにあなたが居ないのが淋しいのじゃなくて ここにあなたが居ないと思う事が淋しい」(大事MANブラザーズバンド)

当たり前のことだけど、事実が淋しいのではなくて、事実を受けた脳が淋しいのな。
だから、成功する人にはちょっとクレイジーな人が多いんだと思う。
クレイジーな人は図々しいし萎えないし、他人からの負の念なんか感じない場合が多い。
それに、社会ってはいつも「おまえは大勢の中の一人だ」と、
人を萎えさせるメッセージを送るもんだと思うけど、
そんなメッセージもクレイジーな人には届かない。
クレイジーになりたい?なりたくない?
——
追記:
上の話に関連して。。(シュウカツしてると、言いたいことがいっぱい溜まる。)

これはmy持論だけど、
やっぱり社会は「おまえは大勢の中の一人だ」っていつも言ってくるものだと思う。
これは、人から言われる場合もあるだろうし、時には自分で頑張れば頑張るほど、
「自分の上にはゴマンといる」ということを認識せざるを得なくなってしまう時もあるだろう。

それは自分の存在意義を否定するメッセージでもあるし、生きるためのエネルギーを削ぐ方向に作用する。

この対応にはいろいろあるけど、一番子供なのは、虚勢であることに気付きながら虚勢を張り続ける人。
まぁでもほとんどそんな人は見ないな。論外だと思う。
「自分は自分だから」と言う人がいるけど、心の底からそう思えた人が一番幸せだと思う。
でも、これを不安を抱えながら口にしている人は、まだ「大勢の中の一人」という不安に負けそうな人だと思う。
あとは上記のクレイジーな人と自信(と力)をつけることで解決する人、またはそのセット。
それとこんな社会に凹んだ人。
最近、やけにこういうことを実感するなぁ。
就職活動で自分よりも100倍くらい優秀な学生に、
わりと頻繁に出会ってしまうからだろうか。。。
自分は何だろう。
自信をつけることで解決する人と、凹んだ人の中間かな。っふ。。。

ACCESSのバイトとACCESSの説明会がカブった日

あーーだめだ最近は睡眠の質がわるい。
酒は絶ってる(週末以外は飲んでいない)んだけどなぁ。
ついつい朝遅く起きてしまうときがあるからいけないんかな。
どんだけ寝るのが遅くなってりまったり、逆に早く寝れたとしても、
朝起きる時間だけは統一したほうがいいらしい。

あと、最近研究室のBOSSが何かの本で読んだらしく言ってたんだけど、
何か頭を使うこと(プログラミングなど)を、一定の生産性を持続しながら行うには、食事が結構大切らしい。
昼ごはんなんかを食べるときは、炭水化物の前に野菜を食べることで、消化スピードを遅くなって、
食事後の血糖値の変化がなだらかになるとか。なので、夕方ごろに小腹がすいたりすることが少なくなるとのこと。
というわけで、最近実践しておりますが、確かに小腹は減らなくなった気がする。
けど、生産性はそんなにあがってないような。それはもともとの能力の問題か。っふ。。。

今日は元々はACCESSの会社説明会が本社ビルであったので、行こうと思ったんだけど、
よく考えると普通にACCESSのバイトも入ってる。これはどうすればいいんだろう?
と思って、直属の上司であるSさんに聞いてみると、

オレ 「あのぉ、次の水曜はこの会社の説明会に参加したいので出社日をズラしたいんですが。。」
Sさん 「ごめん!いろいろあって、次回は水曜しか無理なんだ!」
オレ 「まじっすか。。説明会の予定って、まだありますよね?」
Sさん 「あるよ。でも、佐々木君はバイトしてるんだから説明会こなくても大体どんな会社かわかるでしょ!」
オレ 「(なわけないだろ。。)そうなんですか、じゃあ説明会は今度にします。」
Sさん 「ゴメンね!」

とのこと。
仕方ないので、今日はYNOと一緒に水道橋に行った。
本社ビルに行って、YNOは5階(説明会会場)、オレは7階(開発部署)へ・・・。っふ。。。
バイトばっかしてていいんだろうか。。と思いつつ、
Sさんの内線を呼び出すと。。。

Kさん 「あ、佐々木君?今日ね、Sはね、インフルエンザでね。死んじゃってるの。」
オレ 「え!?そうなんですか?では、Nさんはいらっしゃいますか?」
Kさん 「いや、Nも死んでる。っていうかブラウザチームほぼみんな死んでる!感染列島!」
オレ 「まじっすか・・・。」

いやいや、説明会行けたじゃん!!連絡してくださいよ~!
ノリが研究室だな・・・。
ってことで、水道橋まで行って、学校でもできる作業をしたり。。
インフルエンザ流行ってるみたいですねぇ。気をつけねば。

とりあえず今日は16時からドコモのマッチアップに行くんですが、
夏のインターン組で今日行く人はいないんですかね??ARKは一昨日行ったようですが。

——
追記:
とりあえず次の予定まで時間が空いてるから、水道橋の古本屋を巡ってたら、
面白い本を見つけた。
タイトル忘れたけど、「いい女になる方法」みたいな感じだったかな。
うさんくせぇと思って立ち読みしてたら、リアルで正論ばかりだった。
いい女っていうかモテ女になるための本か。
男から見ても、うーん、確かに、と唸る。
けどそこまで計算されてたら怖いなと思った。
例えば、

「モテる女は理想のタイプを語らない」

確かに、相手への拒否宣告をする気でもない限りは、
これは言えば言うほど損するかも。
でもこの本は男にモテるためだから、とことんまで男を意識して書いてるわけで、

「別に男に媚びてまで、、、」

というフェミニストは根本から不要だろね。
いや、ここまで計算ずくめで男を狙い打ちするのは、ある意味、究極のフェミニストか・・・。
まわりにいるかなそんな女性・・・。あの人とかあの人とかなのかな・・・(自主規制)

——
追記の追記:
いやね、ひまなんですよ。こんなに時間が空くと思ってなかったから。
最近よく考えてるんだけど、このブログにはまだ書いてなかったから書こう。
ほんと、自分とか、同じ研究室のYNOとかはいつも屁理屈捏ねまわしたり、
言ってる事は正しいけど言い方が間違ってたり、
あと何かの批判ばっかしてる。そういう人。
きっとこういうとこは普通の人々にとっては好かないところ&疲れるところだろうと思う。
だけどさぁ、いいじゃん、名物みたいに見てれば。
竜ちゃんの「訴えてやる!」とか井手らっきょの裸みたいに。
改善する気ないんかい。おれ。

Widgetプラットフォームでのスクロールバー実装

このエントリーでは、Webページのコンテンツ量がブラウザの表示領域の大きさを超えた時に表示されるスクロールバーを、Webページのコンテンツとして生成する方法を、特に一般的なWidgetプラットフォーム上での実装に主眼をおき、簡単なサンプルをまじえながら紹介する。

Widgetというと、HTML+JavaScript+XMLといった、敷居が比較的低いプログラミング言語(?)で実装されており、少しWebページを作成したことのある人ならば簡単に開発可能な、今もっとも手軽に作れるアプリーケーションであると言える。
しかし、いくら「Webページを作るのと同じ感覚」と言っても、実際PC上で動作しているWebブラウザとWidgetのプラットフォームを比較すると、やはりまだ機能的に追いつけていない点や、携帯電話ネイティブがゆえに、「あえて追いかけていない」点がある。

その具体例として、スクロールバーがある。
PC上のブラウザだと、Webページのコンテンツの内容がブラウザの表示領域の縦幅を超えると、自動的にスクロールバーを生成するが、
多くのWidgetプラットフォームが、モバイル端末の多様性(タッチパネル、方向キーの有無など)もよって、スクロールバーを一元的にサポートしていない。
したがって、コンテンツ量が多くなる場合にはWidgetコンテンツ側でスクロールバーを用意する必要があり、実際に多くの既存のWidgetが独自の方法でスクロールバーの実装を行っている。

以下は、ACCESSのNetFrontBrouserWidgetプラットフォーム上で動作する楽天市場Widgetである。スクロールバーがコンテンツとして実装されている。

null

これらのWidgetは、スクロールバーが動作する領域と、それによって移動させられるコンテンツを、divタグにonClick属性やonMouse属性を持たせることによって実現している。
以下に、サンプルを示す。

上記のように、Widgetの縦幅を超えるコンテンツ量が存在する場合、スクロールバーウを実装しなければならない。
そこで、

上記のように、Widgetの表示領域を閲覧コンテンツ用スペースと制御用のスペースに分けて、制御用のスペースでは、スクロールバー(scrollbarface)やスクロールバーが稼働する範囲(scrollbarbackground)、スクロールバーを上下させるボタンなどを表示する部分を設ける。

このスクロールバーの画像にonClick属性を仕込み、Clickすることで、
document.body.scrollTopの値を足しこむ、もしくは引き込むことによって、上記の図にて赤い部分である、閲覧するコンテンツ(body部分)のスクロールが可能である。
また、コンテンツ量全体に対するdocument.body.scrollTopの値を調べ、scrollbarfaceの位置に反映させることで、スクロールバーが上下する様子も再現可能である。
以下は、上記のサンプルのNetFrontBrowserWidgetプラットフォーム上で動作するWidgetのソースコードと、それに含まれるJavaScript(scroll.js)の例である。

function vscrollbar(scrollface, scrollbackground, scrolltop) {
    var scrollLimit = scrollbackground.offsetHeight - scrollface.offsetHeight;
    var dragFlag = false;
    var pointerPos = 0;
    var scrollFacePos = 0;
    var delta = 0;

    this.scrollUp = function() {
        document.body.scrollTop -= 20;
        scrollFacePos = document.body.scrollTop * scrollLimit / (document.body.scrollHeight - window.innerHeight);
        scrollface.style.top = scrolltop + scrollFacePos;
    };

    this.scrollDown = function() {
        document.body.scrollTop += 20;
        scrollFacePos = document.body.scrollTop * scrollLimit / (document.body.scrollHeight - window.innerHeight);
        scrollface.style.top = scrolltop + scrollFacePos;
    };

    this.mouseDown = function(e) {
        if (document.body.scrollHeight - window.innerHeight > 0) {
            dragFlag = true;
            pointerPos = e.screenY;
        }
    };

    this.mouseUp = function(e) {
        dragFlag = false;
    };

    this.mouseOut = function(e) {
        dragFlag = false;
    };

    this.mouseMove = function(e) {
        if (dragFlag == true) {
            delta = e.screenY/*e.pageY*/ - pointerPos;
            //alert(e.pageY + "," + pointerPos);
            pointerPos = e.screenY; //pageY;

            scrollFacePos += delta;
            if (scrollFacePos < 0) {
                scrollFacePos = 0;
            } else if (scrollFacePos > scrollLimit) {
                scrollFacePos = scrollLimit;
            }
            scrollface.style.top = scrolltop + scrollFacePos;

            //alert(scrollface.style.top);

            document.body.scrollTop += Math.floor(delta * (document.body.scrollHeight - window.innerHeight) / scrollLimit);
        }
    };

    this.setPosition = function() {
        scrollFacePos = document.body.scrollTop * scrollLimit / (document.body.scrollHeight - window.innerHeight);
        scrollface.style.top = scrolltop + scrollFacePos;
    };

    this.alt = function() {
        alert('--');
    };
}

function onMaximize() {
    var windowWidth = window.innerWidth;
    var windowHeight = window.innerHeight;

    document.getElementById("scrollbackground").style.height = window.innerHeight - 120;

    if (document.body.scrollHeight - window.innerHeight > 0) {
        scrollbar = new vscrollbar(document.getElementById("scrollface"), document.getElementById("scrollbackground"), 80);
        document.getElementById("scrollup").onclick = scrollbar.scrollUp;
        document.getElementById("scrolldown").onclick = scrollbar.scrollDown;
        document.getElementById("scrollface").onmousedown = scrollbar.mouseDown;
        document.getElementById("scrollface").onmouseup = scrollbar.mouseUp;
        document.getElementById("scrollface").onmouseout = scrollbar.mouseOut;
        document.getElementById("scrollface").onmousemove = scrollbar.mouseMove;
    } else {
        document.getElementById("scrollface").style.display = "none";
    }

    setPosition();
}

このようにWidget上でもコンテンツ量にあわせてスクロールバーを実装することによって、プラットフォーム側の実装に依存せずに、コンテンツ量に対してスクロールバーを表示させるWidgetを作成することが可能である。

石見会

  • 土曜日

24日土曜日、新宿歌舞伎町@夜23時から開始された石見会に召集された。
タカミチさん(←活字にするだけで怖いわな)、タカシさん、ウーコさん、俺の4人でオール飲み。

ウーコさんも結構よっぱらってたな。。
とりあえず今年の年末、3世代合同同窓会を行いたいという運びに。。
地元民の方々、追って連絡いたします。。。

あと今日は広島のやつらから、
「東京に○日に行きます~!」
とか連絡がきたり。就活も本格化ですなぁ。

PC間の同期(飲みすぎた日)

普段、

  • ノートPC
  • 研究室のデスクトップPC
  • 自宅のPC

の3つでプログラミングをしているんだけど、PC間の同期がやっぱり面倒だったり。たとえば家にいて、

「こうすればいいじゃん!」

ってアイデアが浮かんで、家のPCでがーっと書いて、うまくいって、喜んで寝て、んで結局そのまま学校に来たり。。

まぁそれはマヌケな例としても・・・。
皆、レポートとかしてたのに、他のPC用にどっかネットワーク上(Webメールサービスとか)に上げとくのを忘れたり、あとUSBメモリに入れたはいういけどUSBメモリ自体を家に忘れたりとかってない??
そういうときメチャクチャいらっと(自分のせいなのに)するし、「いや俺は絶対に忘れないぞ」って人でも、そもそもWebメールとかUSBメモリに移す作業が面倒くさいっすよね。絶対。

なので、Microsoft Live meshというものを最近使い始めました。
これは自分のPCの指定したフォルダを他のPCと同期してくれるサービスで、たとえば、あるPCのマイドキュメントの内容を他のPCでも共有できるというような感じ。
これ、前から名前は聞いてたけど、今回使ってみて結構感動!

感覚的には、「異なる複数のPCが、同じフォルダを覗いてる。」みたいな!どっちから新しくファイルを作ったりしたら、もう一方のPC内のフォルダを見ても、勝手にファイルできてるし!すげー!
ってことで、オススメです。

そんなこんなで、今週は結構開発が進んだ週だった!
あと、無事ACCESSのバイトも継続できる(そのまま就職できないかな。。)ということも決まったし!
というわけで、金曜の夜はIIJM先輩、YNOと3人で飲み。
東方見聞録→HeartBeatとハシゴ。
テキーラ戦争(みんなでオゴり合い)が勃発して死亡。


.net by au (ドットネット バイ エーユー)

「.net by au (ドットネット バイ エーユー)」の提供開始について〈別紙〉

Microsoftの.NET Frameworkを互換性をもつプラットフォームがau端末上で
提供されるとのことです。
互換性っていうのがどのくらいのものなのかってのも気になりますが、
Tim Oreillyの言葉に耳を傾けたんですかね。

A platform strategy beats an application strategy everytime.
(プラットフォーム戦略は常にアプリケーション戦略を打ち負かす)

動画を使った英語学習サイト

英語の学習が可能なWebサービスとしてはiKnow!とかVOA Newsが有名だけど、
最近新しいものが登場したみたいで、yapprというやつらしいです。
まだ本格的に試してない(新大統領の演説をみたくらい)ので、なんともいえないですが、
あれだけ網羅性のあるiKnow!とかに対して、どれだけ差別化できてるんでしょうか。。
動画に字幕が付与されているっていうことなので、
てっきり、自動生成とかやってて、
「ベンチャーがgoogleやNHKを出し抜いたのかよ・・・。」
と思ったんだけど、ユーザーによる入力みたいですね。
(英語圏のユーザーは、何をモチベーションにして字幕書いてくれているんだろう・・・?)
っていうかNHKは生放送でやろうとしているのか。

OB訪問

というわけで、ACCESSのOB訪問へ。
やっぱスゲーなこの会社。超イカついわ。
あーーーこういうところで働くのがデベロッパー冥利に尽きるといった感じでしょうか。
ま、俺より優秀な人はゴマン(と言わずジューマン)といるでしょうが。。
良い会社だなぁ。ご飯も奢ってもらえたし。。
とまぁ、就職活動も本格化してきており、ここ最近で一番苦しんだESを提出完了。
合計2200字って1枚のESにしては過去最長です。。
タイピング練習しといてよかったぜ。
(ちなみに122位@425打。。。)

っていうか、話は変わるんだけど、
こだまブログに書いてある「オバマ風画像メーカー」がYB~!超かっこいい。
っていうか、こだまブログ、記事単体で見るとcss読み込んでないんだけど。。。いいんかな。