ミラクルリナックスの吉岡さんのBlog より。 引用されているグラフの、脆弱性が発生している対象として、かたや Linux カーネルだけなのに、Windows 2003 Server だと 2003 Server すべての内容物になるんですよね。 となると比較する範囲が違っていて、説明するための資料としては妥当ではなさそうだ。 Windows のカーネルと呼んでいる部分と、Linuxのカーネルでは、APIのレイヤーでのカバーしている領域も違うので、一概に比較してもいけないでしょうし。 脆弱性なんてリリース後に発見されました、という場合のことをいっているので、脆弱性の数が少ない原因として考えられるのが、そもそも脆弱な部分が少なかったり発見されやすいものはすでに発見されている、または、そもそも見ている人が少ない、とかあるわけで。 今回の吉岡さん文章だと、脆弱な部分がそもそも少ない理由として、すでに発見されやすい体系だから、と言いたいのでしょうね。
定量的に品質を比較するの難しいですね。
昨日発見したOpenIDの実装を見ていたところ、OpenIDで認証したあとには @session[:user_id] に認証した順番が数字(番号)として保存されており、その user_id から MySQL の users テーブルにuser_id に対する OpenID のURLが保存されていて、OpenID の URL を知りたいときには毎回 MySQLサーバに問い合わせる形になる。 んで、@sessionで出てくるセッションってなんぞやとか思って、また Rails のなかをひっくり返してみていたと。 セッションは Rubyの cgi ライブラリに装備されている CGI::Session をつかっており、ブラウザごとにユニークなIDを振って、そのIDごとに key=value なデータができるようになっている。 ブラウザへのユニークなIDの保存の部分までコードを追いきれなかったので推測になりますが、たぶんCookie使っているのでしょう。 セッションの中身 (key=value の部分) については、ローカルのファイルシステムに保存するようになっていた。 つまり、Webサーバを複数台置いて負荷分散するときには、あるWebサーバが受けたリクエストのときに設定したセッションに対する値が、別のWebサーバがリクエスト受けたときには、なんらかの共有などを行わない限り参照できない。 セッションの中身を共有するには、ディスク共有とかわけわからんことせなアカンと。 共有なディスクなんか置いてしまった日には、大量のユーザが利用したときややページビューを受けたときにはそこがボトルネックになってしまうことがあるので、何らかの形でデータの分散保存ができなければならないのです。 分散保存できるシステムって、がんばればできるのですが、そんなに頑張りたくないのが本音。
方向性としては、OpenIDで認証受けた内容を、WebブラウザのCookieに焼いちゃえばいいのでは、と。 んでクッキー焼くときに署名的なものを入れてデータの改竄を検出できるようにしておくと。 そうすれば認証したユーザ名を入れても安心だろうなぁ。
ただ今回は、この認証部分とか、これのスケーラビリティーの話をつめたいわけじゃないので、この課題は気が向いたら対応します。
税金の申告などをインターネットで行える e-Tax で行おうとしたところ、認証部でPKIが必要とかで、公的個人認証サービスとかいろいろとたどっていったら住基カードが必要で、住基カードから読むために ICカードリーダーが必要で、売っているところを探したところNTTコミュニケーションズが扱っていた。 接触型・非接触型両対応だと7千円近くするとかいう具合で。
公共サービスで税金の申告以外に何に使えるのか見てみたところ、自動車の登録に使えるらしい。 こんなの使えるのって自分のところでナンバープレートの封印ができるディーラーぐらいで、自動車の登録っていっても登録地の違う譲渡とか住所変更の場合、陸運支局でのナンバープレートの交換があるから対応できないよね。 ってところで、今後個人で自動車の登録用でICカードリーダーを使うことはナサゲ。
電子申請でホイホイとやろうとおもったのですが、そうも行かないみたいなので、渋谷の税務署に書類貰いに行ってきます。 せっかくの記念に、税務署の隣の区役所で悪評だけ高い住基カードだけ作ってもらおうかな。
Googleの Gmail のログインをしようとしたところ、Gmailで利用できる容量の表示がブラウザ内でどんどん増えています。 ソース詠んだところ updateQuota とかいう関数で容量取得しているような。
こういうどうでもいいところにテクノロジー使われているところが少し面白いっす。
スパポケさんからザブりましょう、っていう連絡が入り スーパー銭湯 ざぶん 瀬谷目黒店 へ。 六本木一丁目で用事があったので、首都高下に車を止めておいて六本木一丁目で合流して出発。 ひさしぶりに行ったのですが、天然温泉ができてるし。ニヤリってかんじ。 天然温泉ですが、お湯は真っ黒で、源泉かけ流しと書いてあるだけあり、塩素臭くないです。 いつものように炭酸風呂とかけ流しの往復。 これで平日650円なので、平日の仕事上がりに第三京浜はしってお風呂なんていい感じです。
バージョンコントロールなどができる subversion のサーバを立ててみた。 インストールした環境は FedoraCore6で、SVNリポジトリにHTTPでアクセスできるようにしてみた。
まずは mod_dav_svn パッケージをインストール。
sudo yum install mod_dav_svn
その後、/etc/httpd/conf.d/subversion.conf を編集
<Location /repos> DAV svn # SVNParentPath /var/www/svn SVNParentPath /home/svn
# Limit write permission to list of valid users. <LimitExcept GET PROPFIND OPTIONS REPORT> # Require SSL connection for password protection. # SSLRequireSSL
AuthType Basic AuthName "Authorization Realm" AuthUserFile /home/svn/etc/svn-auth-file Require valid-user </LimitExcept> </Location>
あとはパスワードの作成
htpasswd -c /home/svn/etc/svn-auth-file [ユーザ名]
設定ができたら、 apachectl configtest などを行って設定内容の確認をしてください。
SVNのリポジトリを作成します。 SVNのリポジトリに使うディレクトリを /home/svn して、ここに svn のリポジトリを一つつくります。こんなコマンドで
svnadmin create masaruyokoi
上のリポジトリのオーナー・グループの調整
sudo chown -R apache.apache masaruyokoi
あとは import などなのですが、書くの面倒になったので、今日はこの辺で。
某 yamaz さんのオフィスにお邪魔したときに「でかいモニターがあると作業効率が上がるぞ」ということだったのですが。 某用件でDBのスキーマ見ながらDBの設計書作っているところなのですが、Schema のファイルを見ながらExcelに編集するとかの作業になると、画面広いほうが作業はかどりますね。 最初は 15インチ WXGA (1280x1024) のノートパソコン (HP の nx4800CT)で作業していたのですが、Excelのシートを表示するには狭い気がしたので、20インチ UXGA (1600x1200) (Acer AL2021) のデスクトップPCで作業をしてみたところ、快適カイテキ。
紙の大きさでみると、15インチの画面だとA4の用紙より少し大きいぐらいで、20インチだとA3用紙より少し小さいぐらいの大きさに。 この大きさの違いで生産性が1.5倍になったとするならば、さらにもう一枚20インチモニターを追加すればノートパソコンより2.25倍の生産性が得られるのかな。(笑) デスクトップPCのほうが、HyperThreading やメモリ2GBとかでノートパソコンより倍以上の速度がでるので、そのへんも影響しているのかもしれないですが。
UXGAのモニターなら6万円しない値段で購入できるし、24インチなら9万円以内だし、今使っているビデオカードのVGA側に同サイズのモニターつなげばマルチモニターになるみたいなので、もう一枚買ってみたいなと思う今日この頃。
ずーっと前から思っていたのですが、技術的にも職業人としても一人前になったら、フリーランスのエンジニアになるんだ、っていう思いはありまして。 現職・前職での諸先輩や同僚などを見ていても、フリーランスになって会社勤めしていたときよりイキイキしている人が多く見えたし。 現状、一人前になっているかどうかは不明ですが、今が会社勤めからフリーランスに飛び移る時期なのかなと感じてはいます。
生い立ち的にも実家で同族企業をやっていたりしていたので、サラリーマンっていってもしっくりくるっていうものではなかったですよ。 たとえば仕事でも役に立つパソコン関連の物や書籍などを買っても、自分の所得税で費用計上して還付されるわけでもなかったですし。 まぁまぁそんな感じに、仕事時間外にも仕事にプラスになることを積極的に行う者にとっては、現状と制度の間に大きな差があるでしょう、って思ったわけです。
フリーランスな技術者って、他の業界でみたところだと、建設業でのダンプカーの運転手みたいな一人親方な世界や、個人タクシーみたいなのから始まるのかなと。 「会社起こして何するの?」とか聞かれることあるのですが、そもそも事業の柱作りが、まだぜんぜんこれからって感じなので、追々できたらいいです、と思っているところです。
ってな感じで、今後ともよろしくおねがいします。
某所のオフィスや業務システムのネットワーク構築に向けた、ネットワークの設計から構築作業などの打診をいただいたので、いろいろ調べていました。
利用する回線の種類ですが、事業所用の光ファイバーの回線だと、最近のFTTHの普及によって低価格なものが増えています。 たとえば USEN の Broadgate 02 だと IP アドレス8つ (/29) で月に4万円かからないとか、NTTのBフレッツでも月に6万円以内で接続できるコンピュータの台数が契約では50台以内って具合です。 昔の ISDN の T1 の専用線の値段とかから比較すると、劇的に安くなりましたね。 商品のコモディー化の効いている領域なのでしょうか。
VPNの構築もということで適当な機材見ていたのですが、その辺で入手できそうなものだと、ヤマハのRT107eを拠点ごとに導入するっていうのはいかがでしょうかね、値段も1台5万円以内ですし。 RT107e だと IPSec + IPIP でのトンネリングで VPN 作るんですね。
比較検討に NetSreen の商品の値段って見当たらないのですが…、っと思ったら、いつもお世話になるぷらっとホームさんの通販のサイトの値段のっていました。 NetScreenだとサポート付の値段で載っているのですね。 カタログスペックだけで比較すると、NetScreenって割高?
要望の洗い出し→設計←→提案→導入の受注→テスト→構築→導入とか運用支援とかモロモロを一人でやるとなると、そこそこ面白そうな仕事になりそうです。
キャッシュサーバの squid の coss というファイルシステムが良い感じという噂をもとに、どういうものなのかチラ見してみようと思い、いじってみることに
会社に出社したけど暇なので調べていた。 こんな感じにビルド。
./configure --enable-storeio="ufs aufs coss" make
--enable-storeio= でキャッシュに使うファイルシステムを指定します。 coss を使うときには aufs も同時に指定しないと aio* な関数が undefined になるので同時指定が必要です。
とりあえずビルドはできたのですが、COSSを使ったファイルシステムの設定・構築の方法を調べるのが面倒だったので、後回し。 COSS のソース読んでどのようなAPIになっているのか見てみたところ、こんなインターフェースが準備されていると思ってよいのかな。
$ less src/fs/coss/store_coss.h ... 省略 ... #define SWAPDIR_COSS "coss"
#if USE_AUFSOPS /* XXX a hack; the async ops should be broken out! */ typedef void AIOCB(int fd, void *cbdata, const char *buf, int aio_return, int aio_errno); void aioWrite(int, off_t offset, char *, int size, AIOCB *, void *, FREE *); void aioRead(int, off_t offset, int size, AIOCB *, void *); void aioInit(void); int aioCheckCallbacks(SwapDir *); void aioSync(SwapDir *); void squidaio_init(void); void squidaio_shutdown(void); extern int squidaio_magic1; int aioQueueSize(void); extern int squidaio_magic1; #define MAGIC1 squidaio_magic1 #endif ... 省略 ... extern void storeCossAdd(SwapDir * sd, StoreEntry * e, int curstripe); extern void storeCossRemove(SwapDir *, StoreEntry *); extern void storeCossStartMembuf(SwapDir * SD); extern void membufsDump(CossInfo * cs, StoreEntry * e); extern void storeCossFreeDeadMemBufs(CossInfo * cs); extern int storeCossFilenoToStripe(CossInfo * cs, sfileno filen); extern char const *stripePath(SwapDir * sd);
extern struct _coss_stats coss_stats;
構造体 SwapDir, StoreEntry などが squid の本体側のソースでも多用されているところを見ると、これらの関数が COSS の RW のAPIと見てもよいのかな。
で、いくつかの種類のファイルシステムをサポートしているってことは、どっかでデバイスドライバのレジストみたいなことしているはずだよなと思い、追いかけたところ store_dir_coss.c 内でこのような部分を発見
void
storeFsSetup_coss(storefs_entry_t * storefs)
{
assert(!coss_initialised);
storefs->parsefunc = storeCossDirParse;
storefs->reconfigurefunc = storeCossDirReconfigure;
storefs->donefunc = storeCossDirDone;
coss_state_pool = memPoolCreate("COSS IO State data", sizeof(CossState));
coss_index_pool = memPoolCreate("COSS index data", sizeof(CossIndexNode));
coss_realloc_pool = memPoolCreate("COSS pending realloc", sizeof(CossPending
Reloc));
coss_op_pool = memPoolCreate("COSS pending operation", sizeof(CossReadOp));
cachemgrRegister(SWAPDIR_COSS, "COSS Stats", storeCossStats, 0, 1);
coss_initialised = 1;
}
構造体
某所から coss の機能を apache に移植できたらカッコいいよねとかいうこと言われて挑発されて(笑)いるのですが、このモジュールのレジスト部分から機能を洗い出して、適当なところで apache DSO module にくっつけるコネクタみたいなのをくっつければいいのか。 こんな継ぎ接ぎ手法でできるかどうかの判断は、もうちょいソース追っかけてからにでも判断しよう。
相変わらず暇だったので調べ物。 今度のターゲットは Sun Blackbox という、20フィートISOコンテナにデータセンターの機能を装備したコンテナ。 こんなヘンなものみつけて、アッチこっちに質問とか感想聞きまくった結果はこんな感じ。
会社の登記とかするために法務局の営業時間を調べたところ、朝8:30開店らしい。 府中の運転免許試験場の試験開始時刻も8:30スタート。 とかとか見ていると、お役所の8:30スタートは一般的なのか? IT業界だと10時スタートとかが多いので、この1:30の違いに業界の違いを感じると。
いわゆる間接税なのですかね。 領収書とか契約書とかで何かと印紙貼らなければならないのですね。 4,000円印紙なんてはじめて使いましたよ。 最近の印紙って偽造防止のためか200円印紙でもカラフルですね。
相変わらずまったりしているので、まったりと調べ物とかしているのですが。 FreeBSD でこれらのコマンドが同じファイルだったのか。
$ for each in $(awk -F / '{print $3;}' /usr/src/usr.bin/objformat/Makefile)
> do ls -li /usr/bin/$each ; done
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/objformat
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/addr2line
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/ar
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/as
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/c++filt
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/gasp
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/gdb
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/ld
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/nm
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/objcopy
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/objdump
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/ranlib
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/size
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/strings
405114 -r-xr-xr-x 15 root wheel 56516 Jun 2 2004 /usr/bin/strip
objdump ってなにしているのか調べようとしたところ、こんなことを発見。 で、なぜこんなことになっているのかというと、手元のFreeBSDの場合 /usr/libexec/elf/の中にある objdump などを実行するような wrapper になっているだけでした。
ちなみに objdump は binutils に収録されているので、ソースを読みたかったら /usr/src/contrib/binutils の中を見なければ。
公開されました。メモリリーク検出プログラム、メモリリーク検出装置およびメモリリーク検出方法 (特許出願2005−227849, 特許公開2007−42007)
なにをしているかっていうのですが、メモリリークをする部分を同じように実行すると同じ内容をメモリにごみとして残していくから、メモリリークする内容がその部分を実行した回数の自然数倍に増えていくってことで検出できるね、っていう内容。 コマンドとしてはこんなことすればいいのでは、と。
# プロセスの core ファイルの作成 $ gcore [PID] # メモリに残すパターンが文字列 (string) の範囲内なら、 # - strings を使ってパターン抽出 # - 同じパターンを数えるために sort | uniq -c # - パターン発生数で sort (sort -r) $ strings [corefie] | sort | uniq -c | sort -r
apache の DSO モジュールを開発しているときにメモリリークしている雰囲気で、どこがメモリリークしているのだか良くわからず、目の前に core ファイルだけ転がって、何とかならないかと思ってあみ出した方法。
次の引越し前はどこがいいのかなんていう妄想しながら町の散策をしていたのですが。 今回は経堂周辺を歩いてみることに。 経堂・豪徳寺あたりって前回の引越し時に候補に上がっていたのですが、思ったより初台が安かったので初台になってしまったのですが。 初台の良くないところといえば住宅地でないので家賃も駐車場代も若干高いところ、地味なところ。
で、ウロウロしてみたところ、経堂の北のほうの赤堤あたりだと、京王線の桜上水と経堂から小田急が両方とも徒歩15分以内で使えるんですね。 もうちょっと東にいくと世田谷線も利用可能。 坪単価の家賃も今の家より安いし、駐車場代も3分の2ぐらいになるので、いまよりゆったりした家で、なおかつ都心に近いところってことだと有力かもと。 昔いた会社が、ボクが入社する前は梅が丘にオフィス構えて代々木上原に動いていった時期もあったので、小田急沿線もいいかもと。
で、暇だったのでUR都市機構アンテナ作っていた。 URの空き物件のページってブラウザでPOSTリクエストださないと出てこないようになっていて、しかも中のJavaScriptがゴリゴリでFirefoxだと動かなかったり、なんかへんなクッキー使って受けたリクエストのL4スイッチしている感じがあったり、という具合でクローラーをがんばって書かなければならない感じ。 LWP使って目的のページを取得して、空き物件の追加があったらメールで部屋番号・部屋の種別(LDKとか)・広さ・家賃がメールで通知される具合。 ってかこんなの、物件リスト食わせて更新分だけRSSで吐けばいいのか。 コーディングの時間は3時間ぐらいでした。 ってことで狙うは駐車場込みにして月10万円以下の物件。(・∀・)
元ネタ My Sleepless Nights in the Big Apple さんより。 個人的に次にほしいノートパソコンへの要求としては、SXGA以上のモニターがついて重量軽いものとなるので、そんな要求に当てはまるノートパソコン作ってくれたら買っちゃうかも。 最近だと Let's note Y5 とかに買い換えたいんだよなー。
最近の MacBook だと Intel のCPU積んで Windows を仮想マシンで動かすとか言う技もできるようになっているので、大きいメモリ積んで MacOS X + Windows な環境作ってもよさそうですよね。 Office:mac ってどのぐらいの使いやすさか知らないのですが、そこそこ使えるんだったら Windows なくってもいいか。
東京ミッドタウンのオフィスの坪単価は1坪(3.3平米)で35,000円程度なのか。 1平米10,606円ぐらいか。 全部で何坪借りるのかわからないのですが、一人2坪ぐらい使うとしても月に一人当たり7万円。 仮に自分のワンルームマンションの占有面積を20平米とした場合、ミッドタウンだったら21万円ぐらいする、と。
確定申告始まったので申告にでも行きます。 今年から青色申告。 売上げっていっても、この日記の右側にある Google AdSense 分しかないですけど。 給与所得での源泉徴収と、事業損失計上ってことで39,330円還付してもらえるって弥生会計が申しておりますが本当でしょうか。
大学の後輩の的場君と話しをしていたのですが、彼がいまだに DoCoMo の P502i を使っている、実に7年なんだそうだ。 知っている人でいまでも P502i のユーザって、その的場君と 友人の嫁さんの2人なのですが、二人ともバッテリーが持つから好感する理由がないんだそうで。 で、その的場君の使い方を聞いたところ、夜中の23時から朝6時まではタイマーで電源切っているんだそうだ。 たしかにそんな時間にかかってくる電話に出る必要なんてないし、その間のバッテリーの消費を抑えられるので、正しい運用かも。
ってことで、横井の携帯電話も夜中24時から6時は電源切っておこう。
・ knaka [ムショ行きですか。あれ? 僕も何かしないといけないのでは?]
・ まさる [いや税金返してもらいますw (いわゆる還付) あぁ knaka さんにはガッポリ税金払ってもらわないと、ってことで、..]
・ まさる [申告書Bに記入するみたいですね、株とかで儲かった人は。 http://www.nomura.co.jp/learn/..]
・ Hirofumi [確定申告終わりましたか。いいなぁ。 僕はまだ全然で、弥生の今年版を買うとこからです。 ちなみに、ストックオプションは..]
・ まさる [これからですか、がんばってくださいw というか、弥生会計できちんと毎週または毎月とか売上げ計上されたときとか、帳簿を..]
よみうりランドの丘の湯
休みの日は大人700円、平日は400円だそうだ。 200円で会員になると50円引きになるんだそうだ。 4回以上いくなら会員になったほうがよいのかも。 中はいろいろな種類のお風呂やサウナある。 サウナの中のテレビは讀賣系列ってことで日テレで、その辺に掛けてあった絵のしたに「寄贈 東京ドーム」とか書いてありました。 さすがはナベツネコンツェルン。 帰りは横浜家でラーメン。
引越し先検討のための街を徘徊。 今回は千歳烏山。
家賃的には月7万円台で25平米は借りられるけど、1LDKとかの一人で住むには少し広い感じ。 駐車場は月2万円前後だって。
不動産屋の兄ちゃんいわく、千歳烏山はおばぁちゃん率高いけど、隣の仙川は若い人率高い、最近仙川の道路の整備とかできたからね。 千歳烏山にはマクドがないけど仙川だとある、とか微妙にダサいけど京王線の急行止まるからいいんですよね、ってことだそうで。 千歳烏山、駅前のお店が充実していていいですね。 西友とかのスーパーもあるし。
ってことで昨日のエントリーに対する皆様に頂いたコメントを元に、私が勝手にまとめてみました。
街が新しいことによるおしゃれ感をとらないのならば、千歳烏山のほうがベターなのかもしれないですね。
本日、退職してきました。 在職中には多くの方々にお世話になり、ありがとうございます。
ってことで、今日は社内各所に回って挨拶に上がりまくり。 今後は自営業で、なんていう話をしていたら「がんばれ社長」扱いだったり、送別会という名の宴会をしましょうというお誘いをいっぱい頂いたり。 「今度の3月が29で、三十路手前にやりたいことやってみたかったんです」なんていう話したら、いままで私の年齢を言っていなかったのでびっくりされていたり。 みんなそれぞれの目標があるから、それに向かっていけばいいんでしょうね。
で、いざ社員証などを返却したら、ちと寂しい感じ。 この2年9ヵ月でやってきたことを思い出すと、いろいろと面白いことやらせてもらえたのかなって感じで。
今後もがんばっていこうっと。
・ 改善隊 [長い間(?)お疲れ様でした! 一緒に働いた時間は短いですが、内容は濃かったです。多分。w まぁ、今生の別れでもないの..]
・ まさる [ご一緒させていただいた時間は、なにかと暴れさせていただきましたw。 うまくはいかなかったですが、いろいろな見方や知識..]
・ いけだ [おつかれさま〜。 いろいろ今後の私の人生について、考えるきっかけを作ってくれたと思います。自営を選択するってことは私..]
・ まさる [こちらこそお世話になりました。 今後の横井はどうなるんだかわからないですが、がんばってみます!]
・ viagra på nettet [RmOP3c gglayuvi rdvobiki ygxnqawi]
・ knaka [マイクロソフトが比較を喧伝する際には、Windowsの内容物 vs Linuxディストリビューション全体で比較するの..]
・ まさる [そっか、MSも同じようなことやっているんです。 まぁ厳密に平等な比較は難しいってことで。]