ちと仕事の用事で SNMP Agent とかを調べている。以下、個人的なメモ:
お兄ちゃんのところより。 そもそも、なんで JIS X0208 の数字とかを文字セットと区別しているんだ? EUC-JP とか Shift-JIS エンコーディングのときに、JIS X0208 の ISO 646 や JIS X0201 と共通する文字を統合しちゃって、同じ文字で半角・全角の2種類があるなんていう現象をわざわざつくらなくってもよかったんじゃないないかって... ね。
んなことより、アンケートページなどで半角数字の入力を拒否するようなインターフェースにするなら、半角数字を全角数字に置き換えるようなテーブルを持たせて、そのテーブルを元にした置換を Server Side で実行してやりゃいいっていうのには、ボクも同感。
携帯とかで VGA サイズで写真とってメールで送ると、でかい画像ファイルが日記のなかに貼り付けられてしまう。 ってことで、画像の最大幅を config 可能にして、最大幅を超えたときには img タグの width 属性を指定するような変更をしてみた。
最近、いろいろな制約というか要求を満たすために、 HTTP Request 投げて Response 受けるような部分をC言語で自作していたり。実はソケットプログラミングを今までまじめに取り組んでこなかったので、ここにきて select() ってどうやって使うのか必死になって調べたり。3日ぐらいたって、Perl でようやく正しい select() の使い方が理解できたので、もう一回 C で書いたやつで同じことやってみたり。
ってかソケットプログラミングをまじめにやらずによくここまでこれたなぁって思ったり。自分の知識が浅いのだか深いのだか不明。
昼ご飯は唐揚げウマウマ。
普段よりエンジンの回転数を上げて走ってみたのだが。 普段は低燃費走行とか言いながら 2,000rpm 程度で変速するとかいう具合だったのを 3,000rpmで変速するという具合にしてみた。 結果は高速道路・渋滞・津久井湖・相模湖とかのコースで 9km/L 走るので、2,000rpm のときと大して変わらないなっていうイメージ。 どうやらビューンと加速するようなことばっかりすれば燃費悪くなるけど、普通にまったり走っている分には問題なさげ。
あとはどこの製油所のガソリンが一番走りやすいかのチェックかなぁ・・・。といっても60Lタンクで200km走って20L給油して、って具合では違いが全然わからん。
思いついたので三浦半島へドライブ。
13時か14時ごろ出発して、初台→高井戸→環八→東名→保土ヶ谷バイパス→横横→三浦縦貫道路で三崎口とおって三崎港へ。 港にクルマ止めてフラフラとお散歩して鉄火丼食べて帰路に。 帰りは国道16号まで出て本牧ふ頭から首都高湾岸線+多摩川トンネルくぐって湾岸環八で羽田空港。 羽田空港から天王洲経由して山手通りで帰宅。 まったりまったり。
まだRailsの書籍などを一通り目を当しているわけでないので、かなりごく一部だけ見て話をしていますが。 なんか、DBのモデルやらビューやらコントローラーがホゲホゲとかいうところだけ説明されているドキュメント類が多い気がするんですが。 たとえば view で使う rhtml でのが erb.rb で処理されているっていうことを知らなかったので、 <% ... %> と <%= ... %> の違いとか、これを処理する部分についての説明とかが文章で見当たらず、なんだか苦労しております。 結局、erb のパースエラーのメッセージを見て、erb という部分が処理しているのか、ということを理解。
本屋にでも行ってみて、適当な本を探してみます。
この一ヶ月間、目的は休養ってことなのですが、じっとしていられない私の性格上、いろいろなお話などを聞く機会を設けるようにしていた。 ここに一応のことをまとめてみた。
各種インターネットサービスで「広告収益モデルで」と言う場合が多いのだが、なかなか広告収益モデルもそうは簡単に卸さんぞという具合だ。 最近だと Google AdSense によって個人のサイトに広告張って個人が広告収益を得ることができるのだが、これはGoogleが検索エンジンと広告配信システムを組み合わせたという革命的な組み合わせによってできたのであって、そもそも検索エンジンでクロールされないようなページでは Google AdSense なんて難しい。 んで最近言う「新しいサービス」というもののほとんどが、Web2.0でのマッシュアップみたいなものばかりなので。 んで、検索結果ページ用の広告というのも、あることはあるんだか、それなりのページビュー数・ユニークユーザー数がないと、広告配信業者は腰を動かさない。 広告主は広告に対して、広告を見た後の消費活動などの影響を期待して出稿するので、それなりの影響を受けるためには、それなりの広告への印象(インプレッション)が必要になり、それなりのページビュー数とユニークユーザー数が必要になる。 んで広告収益を必要とするならば、想定するページビュー数やユニークユーザー数などを見積もらなければならない、という意識が必要になる、という説明をしたり。 そういうところからも、何か新しいことをしたい人たちの仲間に入って、協力させていただけるところがイッパイあるんだなと実感。
というところでいくと、この2.5年間は無駄だったかどうかって考えると、まぁ無駄ではなかったのかもしれない。 コンピュータの技術者やりながら、広告業界の片隅で過ごさせていただいた身としては、いろいろな経済活動の一部を見せていただいたわけだし、今後の私の仕事に参考にさせていただくネタはイッパイ頂戴したと思う。
自分がフリーランスの技術者として働いた場合、履歴書+職務経歴書に書いてあるだけの内容で月オイクラ万円で使ってもらえますか、と調べてみたところ、まぁまぁそこそこな金額になった。 単純に月額×12で年間にもらえる額だけで計算すると、今の会社で働いている金額以上に貰えそう、ということだけはわかった。 今の会社の給料が安いとはいっても、まぁ腰掛していても貰えますという低リスクな状況などを考えれば、妥当な金額なのかもしれないが、それで納得するかどうかは別話ですね。 ただフリーランスで働くには、さまざまな物事が自己責任になり、それなりのリスクやデメリットもあるので、そこんところきっちりと理解していかねば。
自分は今後どのような仕事をしていきたいのかを真面目に考える時間にもなり、いくつかの道をたどるのかな、というのが見えてきた。 いづれのコースにしても、単に技術をバリバリと身に付けるだけでは全然ダメで、むしろさまざまなことの調整力とか、売り込む営業力とか、非技術な部分を伸ばさなければならない、というのが課題なようです。
ってなかんじで、いろいろとスッキリしつつあります。 問題を消化する・回避する・順応する、のどれかを行って問題解決しなければならなかったのですが、問題解決はできそうです。
仕事をする上で「コミュニケーション能力が高いほうがよい」とかいうことがあるが、そのコミュニケーション能力って「高い」「低い」の1次元で捉えられるのかどうか、ちょっと考えてみた。
実際にあるケースとして、このような状態があり得る。
Aさん ←→ Bさん : 良好。 Aさん ←→ Cさん : まぁまぁ良好。 Aさん ←→ Dさん : 良好。 Bさん ←→ Cさん : 最悪。 Bさん ←→ Dさん : わりと良好。 Cさん ←→ Dさん : 良好
見ていると、相手によって良かったり悪かったりする。 良好な部分にスコアを付けて、それでコミュニケーション能力の高低を1次元に表すこともできるんだろうけど、良好なコミュニケーションを行うには、双方のマッチングがあっているかどうかってのも必要そうな気がする。 個性と個性のぶつかり合いとでもいうんですかね。
一つのPCについているキーボード+マウスで複数のパソコンを操作する Synergyというのがある。 久しぶりに新しいパソコンも来たことなので、まじめにセットアップしていた。 最近は Synergy + とかいうのが出たらしい。
Synergy を使うと、SynergyサーバとなっているPCに接続されたキーボード・マウスで、SynergyクライアントとなっているPCの操作ができるようになる。 たとえば、「Synergyサーバの画面の左側にマウスカーソルを動かしたら、Synergyクライアントのマシンをサーバ側のキーボード+マウスで操作できる。」といった設定ができる。 複数PCを使った擬似的なマルチディスプレイになっている。 しかもクリップボードの共有までできちゃうからすばらしい。
この写真は私のお仕事場の写真ですが、左のノートパソコンを、写真右側のデスクトップPCに設置したキーボード+トラックボールで操作できるようにした。
今日使っていて困ったことに、Synergyサーバは Windows Vista 32bit 日本語版の入ったデスクトップPC、Synergyクライアントは Windows 7 64bit 日本語版が入ったノートパソコン、両方ともUS英語キーボードで両方ともATOK2008がインストールされている。 で、Synergyクライアントをサーバのキーボードを使って操作するときに、Alt + Grave [`] のキー操作で日本語入力の on/off ができないと来た。(笑) 毎度おなじみのknaka氏によると、リモートの画面をさわるVNCでも同じ問題が起きているんだとか。
いろいろと調べていたところ、サーバ→クライアントには Alt + Grave のキー操作で、Alt+ [全角/半角] のキーイベントを送っている。 クライアント側では英語キーボードの状態で[全角/半角]キーを押されても、それに対応するイベントとして日本語入力の on/off が対応付けされていないのだろう、たぶん。 日本語キーボード同士ならば特に問題なさそうなんだが。
で、ふと思ったのだが、Alt+Graveがダメってことなら、ほかのキーの組み合わせなら大丈夫なんじゃないかと思い、Control+スペースでの切り替えができるようにしてみた。 Control+スペースって、昔のSolarisやLinuxみたいw
今回はATOK2008で設定してみた。
まずはATOKプロパティの「キー・ローマ字・色」のタブで、キーカスタマイズ のボタンを押す。
「ATOKキーカスタマイズ」のウィンドウが表示されるので、ウィンドウ下の方の「キー」のラジオボタンを選択し、次に「キーを検索」のボタンを押します。
ボタンを押した後に検索するキーを入力するウィンドウが出てきます。 ここで変換のon/offに利用したいキーのControl + スペースや Control + \ のキーを入力します。
Control + Space のキーに対する機能を設定できるので、ここで「日本語入力ON/OFF」を選択して、OK了。
「ATOKキーカスタマイズ」のウィンドウで「Ctrl+スペース」や「Ctrl+\」に対して設定がされていることを確認してください。
っと、一通り設定したところで思い出したのですが、Emacsだと Ctrl+Space がリージョン指定開始になっているので、キーバインディングがかぶるかもしれません。 Emacs使いな方は、Shift+Spaceとかに設定してもよいかも。 今回は昔のWnn風に Ctrl + \ でもOn/Offが出来るようにしてみました。
んで、いろいろ操作していたら、MS-IME に切り替わったときに、こいつにもg設定しなきゃいけない。 MS-IME を使えないようにしてしまえw
Google日本語IMEにも同じ設定をしようとしたが、IMEのon/offのキーを切り替える機能がどこにあるか分からず。 できないかもしれない。
雑感なのだが、キーボードからの入力とIME周りの抽象化があまりにもできていないのが問題なのだろう。 キーボードから押されたキーの番号がPS2やらUSBの中を通ってパソコンに伝えられる。 USキーボードの Grave と日本語キーボードの「全角/半角」ボタンには同じ番号が振られている。 この割り振られている番号がキーコード(Key Code)と呼ばれている。
んで、OSのほうで、キーの番号とユーザが設定したキーボードの種類から一応のキーの名前を表すシンボルが渡される。 ただ日本語の切り替えとかの対応は面倒で、接続されているキーボードが英語ならば Alt+Grave で on/off、日本語ならば全角/半角でon/offとかいう具合動かなければならない。 んで、上記のUSキーボードのGraveと日本語キーボードの全角/半角キーのキーコードが同じところを利用して、なんとかホゲホゲしているんだろう、と推測。 いまどきのWindowsとかだと、手元に繋がったキーボードは一つで1種類しか設定でいないようになっているみたいなので、手元と外のキーボードの種類が違う、みたいな対応まではできていないだろう。 そんな環境で、そもそも日本語キーボードに対応させるのすら面倒くさい状態なのを、キーコード・シンボルのマッピングで何とかがんばった形跡が、Synergyのソースコードから読み取れた。
最初はSynergyを改造してがんばるか、とか思ったのだが、このへんのモノシリックな実装やら、英語キーボードで日本語キーボード設定されたリモートをさわる場合、とか、その辺のことを考えていたら、OS改造しないとダメな空気が漂ってきたので、とりあえずキーを買えることで逃げた。(笑)
ここに書いている文章は、昔 Linux 上のX Window Systemのキー入力周りを追いかけた知識と、Windowsの挙動を端から見た上での感想。 僕の理解と実際はちょっと違うかもしれない。
Synergyをインストールして快適に使い始めたのですが、この辺の問題点はあるんですよね。
IPsecを入れるとか、いくつか対応方法はあるのかもしれないですが。なんとかなって欲しいところ。
・ いけだ [まぐろおいしそー! 今日、寒くなかった??]
・ まさる [ただいまです。 それほど寒くなかったですよ。 ちなみに上の鉄火丼セットは1,050円でした。]