2011年12月26日月曜日

これから

今後についてどうすればいいんだろう、とぼんやり考えている。

相変わらずサーバ・インフラまわりをやっているのだけど、AWS を利用している今、言ってしまえば単なる

AWS オペレータ

でしかないのではないか?と思ったりしている。
いわゆる「オンプレミス」な環境と比べると、やらないといけないことは減っているのでそのぶん

弱体化

していたり、

骨抜き

になっている、と感じていたりもする。

また、やはり AWS をはじめとしたクラウドのものは「なにかを作り出すひとが活用するもの」のような気がしていて、そうでない人が使う分には自分自身の首を絞めるもののように思っている。

DevOps について考えてみたりもするけれど、やはり「プログラマからサーバインフラ」より「サーバインフラからプログラマ」は難しいものだと感じている。若い時期のある程度ものごとに没頭できる時間、というのを自分はサーバインフラ周りに費やしてしまった。その頃、サーバインフラを「メインで」やりつつ、がりがりプログラムを書いているひとはほぼいなかった。いるとしても、すでに自分の手から離し、没頭できる時間を確保できているひとくらいだったかな。

これまで通り自分も手を動かすけど、今後は動かしかたをぐぐっとかえていく感じ。

2011年11月5日土曜日

ランニング

を先月末くらいから始めた。

きっかけなぞを書いてみると

・やはり運動不足
・みそじ突入してすぐ二年たったのでこのままだとまずいだろうという思い

そんなのがありつつ、

・会社の子がランニングしていて(それまで休日にランニング後の彼女と遭遇するなどしたこともあった)、誘われるなどした
という。

先週の土曜午前、皇居のまわりはしるぜー!というのに行く予定だったものの、
前日飲み => 寝まくったので行けず。そのまましないのはよくないなーと思ったのでとりあえずその日夜ランしてみると予想以上に

気持ち良い

のであった。
シューズくらいはかっとこ、ということでこれを購入。いいかんじ。

その後、使わずにいた RunKeeper を使い始めた。
当初、アプリだけ落としてアカウント作ってなかったので、ウェブでみられる Activity History がすくない......

Actitivity Type は Walking と Running くらいしかつかわない。Swimming も選べるのだけど、、どうやって使うんだろう。。。

続きそうなら elite にするかもしれないな。
あとは iPhone をいれておくアームバンド買うか。手で持ってるのでいまに落とすぞこりゃ、、。

2011年11月1日火曜日

4S

KDDI版にした
ので、やや勝手が違う。

・ezweb.ne.jp はプッシュ通知対応してない
あれこれ工夫してそれっぽくすることは可能

・SIM PIN をオンにできない
挙動がおかしく、マトモにつかえない・・・これはびびった

au ガラケー => 4S に機種変した翌日、SoftBank は解約した。
かくして二台持ちは終了したのであった。月額コスト削減。au はそろそろ9年くらい。

2011年10月24日月曜日

歯は大切に

8年ぶりに虫歯ができてしまった...
「よし、矯正しよう」とおもって歯医者行ったのが平成15年の1月ごろ(古い診察券調べ)

1年前位に下のはブラケット解除&バーを装着、その1箇月後に上もブラケット解除&リテーナー、になり
今年になって2〜3箇月おきくらいの診察でおk、となっていた。

で、こないだ診てもらってたら、、奥歯が2つ虫歯 orz..
「次回まで治してね〜」と言われたので、久しぶりに歯医者を検索
(矯正は分院のようなところでやってるので、通常の治療を本院でやってもらってもいいのだけど、敢えて他のところに)

土日やってるところは以外とないのね、、というのを思い出す。うーむ。
それでもまぁよさそうなところがあったので、電話で当日に予約して診てもらった。

ひとつは親知らずで、もうひとつはどうも前治してたところが甘かったらしく、かぶせものの下から侵入?的ななにか。くそー。
ほかにも、銀のかぶせもので治してたところは「ちょっとういてるぽいから、いずれははずれますね。。」などといわれる。。

銀じゃない方法で見積りしてみたら(銀だと保険きく、でももたないぞ☆という具合。虫歯でない銀のとこ含め4本でしてもらった)

  。    。 スポポポポーン!!!
 。 。 。 ゚
  。゚。゜。 ゚。 。
 /  /
( Д )

でしたよ。。2本でも結構するぜ・・。

というわけでセカンドオピニオン的に、矯正でしてもらってるとこの本院でもひとまず診てもらおう、と思った。
まぁ銀じゃないいいやつは保険きかないから価格が微妙に違うだけなんだろうな。

今回いったところの先生の印象はとてもよかった。

2011年10月16日日曜日

4S

今月中には au で機種変更 & SoftBank 解約してしまいたいので、当初二週間くらい様子をみとこうかと思ったけど、気が変わった。

で、住んでるとこから近くて iPhone 4S を扱ってる auショップ5件くらいに「在庫あります?」と電話してみたところ、どこもないぜ!いつ入荷かも未定とのことで。むむむ。

やっぱり量販店のほうが数あるんだろうか、とおもってアキヨドまで足を運んでみる。
ちょうど 64GB の ホワイトは在庫あり(100台くらいとか言っていた)。

今日はもう手続きはできないってことだったので予約し、整理券をもらっておいた。
平日は行けないから今後の休みにまた赴くことに。(定時にそそくさと帰ればいけないことはないけど、そこまでするつもりはなく。)

RIP

C言語およびUNIXの父、デニス・リッチー死去 ― 享年70歳

合掌... (-人-)

2011年10月11日火曜日

深い。。

深遠なり。 ときどき、おさらいしたくなるのだよなー。

K&R はいまもオススメなんだろうか。

2011年10月9日日曜日

4S

「au で出たら、話は別。」と書いてた去年。
そろそろ iPhone, ガラケー(au) 2台持ちをやめて、au の 4S にしようか。固定費削減。
色は白。
14日発売、なので2週間ほど様子をみてみるとして、早くて今月末くらいには。

2011年10月8日土曜日

Apple

これは面白かったなー。 1998年だったか。当時読んだ。
事情通なひとには「なんじゃこりゃ」な評価をされてたりするみたいだけども。


スタートレック計画とか、アメリオ、ハンコックの手腕とか。
タレント揃いであったから存続できたわけだよな。
(タイトルにも天才「たち」の20年てあるし)

僕はやっぱり「NeXT のエンジニアすげぇなあ」と思っておる。
Copland をチャラにして代わりとなる次期 Mac OS(今の Mac OS X) の基盤になったのが OPENSTEP だしね。

このへんのひとたち。

スコット・フォーストール

アビー・テバニアン
『ジョブズはアメリオに、テバニアンこそ「ネクストと共に買収した重要な資産」であると勧め「世界でトップ5のシステムエンジニアを選ぶことになったら、アビー(・テバニアン)はその中に入る」と後押しした。』らしい。 => http://www.sorae.jp/0203/1286.html
アビー・テバニアンが Apple にいて、リチャード・ラシッドが Microsoft っていうのも面白いよね。
過去、スラドで記事になってたりも。Mac OS Xの父、アビー・テバニアンがAppleを去る

バド・トリブル
ジョン・ルビンスタイン
バートランド・サーレイ Bertrand Serlet to Leave Apple

ジョブズの壮大な?ビジョンを実現すべく、実装していった人たちのほうが気になるのだよねぇ。

ちょっと前の記事でこんなのをみつけた: Meet Apple's all-stars


2011年10月2日日曜日

MBP バッテリー交換した

バッテリー寿命?てことで Genius Bar を予約しておいたので Apple Store Shibuya へ。
だいたいいつも予約時間の10-15分後くらいに呼ばれるので、多少遅く行ってもいいかもしれない。。何度か呼ばれるしね。

経緯と症状を話すと、早速再起動。起動中に N を押して NetBoot され、ハードウェアチェックのもので起動してきた。ウィンドウが Mac OS 9 っぽい見た目だった。

結果はすべて pass. バッテリーも pass. 「これはやらしいかんじですね〜」といいつつ、バッテリーの詳細をみると、、( ゚д゚)ハッ! と。 

充放電回数が 800 回を越してることもあり、だいぶヘタってる。そのせいで、交換修理なステータスと正常のステータスの境目を行ったり来たりしてる、らしい。まぁ、そんなもんだよねぇ。と思ってたので 12.8k 円と引き換えに即交換を依頼。15分くらいで完了。

これでまたしばらく使える。今までに交換修理ずみなのは

・トラックパッド(購入後1箇月もしないくらい. そのため保証あり.)
・SuperDrive(2011/06)
・バッテリー(今回)

という。のこりキーボード、ディスプレイ、ハードディスクくらい。ロジックボードが逝くことは、ここまで使ってたらあんまりないんじゃないかな。

自分がいたときにきていた他のお客さんは、

・ワインを零したから診てください
・Lion にしたらディスプレイが真っ黒になってなんたらほげほげ

・・という人たちがいた。OS のアップグレードした後に不具合起きると大変だなぁ。。幸い自分の場合はなんも起きなかったのだけど。

2011年9月30日金曜日

のうぜい

2010〜のまねーぱわー急激な低下により、区・都民税の支払いがここんとこなかなかつらい状況であった。

振り返るに

・3割近く減
・住宅手当なし
・貸主がチェンジ(債権のなんたらで)し、再契約

がドスンときいてたなー 2010年は、、。真ん中のは想定内だったのだが、上と下のがきっつい。

以前は、会社でいろんなひとが「税なかなかはらえないお、、」って言ってたりして、うーむ。

あと、ビールは高いものだなとここ2年で再認識した。

2011年9月28日水曜日

「Try WiMAX レンタル」を利用

して、UD03SS を借りた。Lion で利用。


借りる前、「Lion は未対応、だけども 32bit カーネルであげればよろし」といったことを調べておいたので(UQ WiMAX のサイトでも未対応の旨かかれていた)、起動時に 2 と 3 を押して 32bit カーネルで起動してセットアップ。
関連エントリ:  [Mac OS X] systemsetup コマンド


まず送られてきた CD-ROM に入っているユーティリティソフト(デバイスドライバと接続用ソフトウェア)を入れ、UD03SS を接続。


次にデスクトップに作られた、WiMAX GO アイコン

をダブルクリックして「接続」。これだけ。


一度目の接続は、すぐ WiMAX アプリケーションが落ちて接続切れたけど、その後は特に問題なし。ブロードバンドスピードテストとゆーサイトで負荷かけたせい、もしくはデバイスドライバなどが古かったせいかもしれない。。


送られてきた CD-ROM は 2009.10.22版とやたら古かったので、プログラムアップデートしてみたところ、ぐぐっとバージョンアップしてくれた。


before

after


さらに、今一度対応 OS をみてみると、、Lion も対応してる。ちょっ。
http://www.uqwimax.jp/service/support/os_list.html#MAC

しかしながら、64bit 対応はしてなかったので 32bit カーネルでの起動は、これ書いてる時点では必須ぽい。

そんなかんじ。

追記:
スピードテスト結果。
WiMAX


自宅Bフレ


WiMAX、おもったより速度でなかったのう。。あるぇー。

2011年9月27日火曜日

バッテリー寿命?

今日突如、交換修理と出た・・・↓









ちょっと調べてみたところ、予約し Apple Store にもちこむと即日交換してくれるということがわかったので、早速 Genius Bar を予約。

MacBook Pro のバッテリー交換
Apple Store 直営店
ご予約いただいている場合は当日中に完了します。
その後、おもむろに再起動してみると、、


直った・・・?!
しばらく「状態:正常」になっていたものの、再び「バッテリーの交換修理」に戻った。。




ちなみに充放電回数は 792 回。 


6月中旬頃には SuperDrive 交換で2万円弱かかって、今回は1万ちょっとかかる、、うぐぐ。。Apple Care Protection Plan をけちったのが今年になってきいてくるとはね、、。

早くて来年夏ごろに買い替えるので、その時はちゃんと入るか、、。

2011年9月23日金曜日

VMware Fusion 4 買った

4.0.0 が利用可能になりましたよーとでてきたので↓

ひとまずダウンロードしてきてアップグレード。30日の評価用ライセンスキーで使用開始。

その後、安く買えないかなーと思いちょっと調べてみたところ、とある Promo Code (ぐぐればすぐみつかる) を 2つ利用し購入ができることがわかったのでぽちぽち入力し、めでたく(?)$49.99 のを $28.49 で購入。嬉しい。

追記: ぐぐってここにきちゃうひとが大勢いるようなので、、Promo Code は↓ここにありましたよっと
http://macoupons.net/news/201109/lion-vmware-fusion-4-4/

$49.99 というのもキャンペーン価格で9月いっぱいまでらしい。
確かに、安い・・・。

ついでにこれまで買ったときの価格を調べてみた。
VMware Fusion 2.0 ... Au$ 108.87 (なんかしらんがオーストラリアドルで払ってた)
VMware Fusion 3 ... $39.99 (VMware Fusion Upgrade from Version 2.x and 1.x to VMware Fusion 3 てなわけで、アップグレード価格だった)
今回
VMware Fusion 4 ... $28.49 ( 元がキャンペーン価格で $49.99. それに Promo Code を二つ利用 )

さらに、VMware は
Windows 版の VMware Workstation からお世話になってるなーと思いメールをあさってみたところ、
2002/4/17 に VMware Workstastion 3.1 を買っていた。その価格は・・・じゃーん↓

Product  Qty Price (US$)

VMware Workstation 3.1 1 $299.00
(for Windows Operating Systems)
Commercial License
Electronic Download Distribution

----------
Total $299.00


いまは バージョン 8 がでていて価格は $199.00 。いやはや。

2011年8月22日月曜日

[EC2] xen.independent_wallclock=1 にした

これまでは xen.independent_wallclock=0 の状態 =「ホスト側の時刻に合わせる」設定で問題がなかったのだけど、ここ最近時刻ずれがあちこちのインスタンスで頻発。。気のせいか東京リージョンのインスタンスばかりに発生。

・・・というわけで全インスタンスを xen.independent_wallclock=1 にしてまわり、かつ ntpdate で合わせ、ntpd を起動。

ntp で参照する先はマルチフィードさんのにした。
止まっちゃったときはどうしようもできないけどね。。
かといって ntp.nict.jp を向けるのもなんだかね。

AWS で NTP 提供してくれないのかしらん。


FYI: xen.independent_wallclock の設定のしかた
確認
# sysctl xen.independent_wallclock



設定 (1 にする。1にすることでホスト側には合わせず、独立して時刻設定可となる)
# sysctl -w xen.independent_wallclock=1

もしくは procfs 経由でかきこむ
# echo '1' > /proc/sys/xen/independent_wallclock


もちろん /etc/sysctl.conf に書いて反映でも
# vi /etc/sysctl.conf

追記内容
xen.independent_wallclock = 1


反映
# sysctl -p

2011年8月15日月曜日

FreeBSD 9.0-BETA1 をつかう

BSDinstaller やらなんやら、でそれなりに変わってたのであとでかく => かいた。



FreeBSD-9.0-BETA1-amd64-disc1.iso をダウンロード



取得先の例: ftp://ftp.iij.ad.jp/pub/FreeBSD/ISO-IMAGES-amd64/9.0/

iso を用いて VMware Fusion 上でインストールした



オペレーティングシステム: その他

バージョン: FreeBSD(64ビット)



新規仮想マシン アシスタントの終了を確認

=> 設定のカスタマイズをする



名前: FreeBSD9.0 (64 ビット) に変更



ハードディスク: 20GB に変更

プロセッサと RAM: 2個のCPU, 512MB に変更



以下の通り確認







起動画面その1

ブート中。。







起動画面その2

FreeBSD アイコンの AA がでてくるようになった







Welcome 画面 => Install を選択





Keyboard Menu => United States of America ISO-8859-1 を選択







Set Hostname => freebsd9 (てきとう)





Distribution Select

ここでは lib32 以外チェックした

(スクリーンショット忘れた)



Partitioning => これまでと勝手が違うこともあり、素直に(?)Guided





Partition => Entire Disk





Auto にするとこのようになった。

GPT にするかい?ええ?とかきかれた気もするけど、忘れた。。





Exit 後、



Checksum Verification







Archive Extraction



(しばし待つ)



おわると root のパスワード設定







Network Configuration





em0 だけ設定した





DHCPに。







v6 は設定せず







ここはいじらずそのまま (VMware Fusion なので、、)







Select Clock => UTC にはしない





Asia => Japan に設定











System Configuration => sshd だけ選択





Add User Accounts => 適当に追加













FinalConfigration => Exit





Complete







Reboot 後、作成したアカウントでログインし確認してみると、、





おんや、、ホームディレクトリがない。





/home もない。あらら。







journaled soft-updates がデフォルトらしい。





geom でのジャーナリングよか こっち (SUJ) なんだろうな。



まだ BETA1 なので、FreeBSD installer には修正が入る、、と思う

スケジュールとしては BETA は 3 まで、 RC は 2 まで。

MacBook Pro 15" のバッグ (その7)

ちぎれてしまったの図を載せておく。



ちぎれた側



金具はちぎれたときに拾わなかったので、無い。

ちなみに落下時にストラップ側の金具も壊れた。

ファスナーはだいぶ前から壊れぎみであった。



ちぎれてないけど逆側もちぎれそうではあった。







金具の形状から、荷重が隅に偏ってほつれが生じる => ちぎれる、と考えると、これ、つくりが間違ってたのかなぁ。





1年と2ヶ月くらいでさよなら、ということになった。

ただ平日毎日 MacBook Pro を持ち運んでいただけなのに。。

2011年8月13日土曜日

MacBook Pro 15" のバッグ (その6)

前回購入したものが到着した。

Amazon にもあったことに気付く・・。価格かわらんけど。





クッションは思ってたよりペラッペラ。



これまでつかってたメッセンジャータイプのバッグ↓の



MacBook 収納部分は成型 EVA 素材でカッチリしてた。ぴったりと入るタイプだったので、イメージとして安心感が増してたのかもしれないけど。



例えばかばんの上から蹴りをくらうとして、

前のはへっちゃら、今回のはいかに蹴りをくらわないようにするかを考えるレベル(わかりにくい

もうひとつ例えると、背後から飛びかかって来られるとちょっと困るレベル。



ともあれ、やっぱり背負うのは楽でよい。

スーツ族だったら、迷わず TUMI のようなバックパックにしてたんだろうな。



収納多くほしい、と思ってたなら前回もかいたこっちにしてたと思う。



バッグ自体の重さがこれまでと変わらん、のが自分としてはマイナスだったけど安心感はこちらが上だと思う。



2011年8月10日水曜日

MacBook Pro 15" のバッグ (その5)

今朝通勤途中、遂にショルダーストラップの付け根の部分がちぎれてしまった。。。ので急遽購入。



・トートはあきらめた

・メッセンジャータイプか、バックパックかでしばし悩む

=> バックパックにした。なので横で運ぶのもあきらめた



バックパックのうち、以下二つに絞った。



http://store.apple.com/jp/product/H4657J/A?fnode=MTY1NDA2Ng&mco=MjM0Njk0NjU

(ブラックもある)



http://www.booqbags.com/laptop-backpacks-laptop-bags/Laptop-backpacks-macbook-backpacks/Boa-squeeze-macbook-backpack2

(レッドもある)



同僚の子に「どっちがよいかな?」と聞いてみた結果、前者の NIXON のものを購入。

今つかってるものよりカバン自体の重さは 40% くらい減。



金曜につくようなので、来週から利用開始かな。

2011年7月23日土曜日

Lion にした(その2)

「安全な仮想メモリを使用」を無効にすることができなくなっている模様。

これまでは



システム環境設定 => セキュリティとプライバシー => 一般タブ



で切り替えができたけど、項目がない。



sysctl vm.swapusage すると encrypted とでる。



% sysctl vm.swapusage

vm.swapusage: total = 128.00M used = 14.62M free = 113.38M (encrypted)



man dynamic_pager してみるに、/Library/Preferences/com.apple.virtualMemory.plist を編集すれば

無効にできるぽい。Property List Editor なるものが見当たらなかったのでみれないかなーとおもったら、Xcode で OK.



$ open -a Xcode /Library/Preferences/com.apple.virtualMemory.plist

をしたの図





encrypted でどれだけオーバーヘッドがあるのかわからんけど、もし切りたい場合は NO に。

その場合は事前にパーミッションかえておかないと怒られる。

(追記: 試して見たところ、NO にしても encrypted のままだった。無効にできないのだろうか?)



swap の暗号化って OpenBSD と Mac OS X 以外もやってんのかな?デフォルトで。



追記.

MacBook Pro や MacBook Air のみ有効かな?man より


UseEncryptedSwap <boolean>

This optional key activates encrypted swap (aka Secure VM), so that all data is

encrypted before being written to a swap file. The default is on for portable com-

puters and off for other computers.

Lion にした

7/20、Lion でた日に
Snow Leopard => Lion にアップグレードした。
消さずにアップグレード。

するまえに DVD 焼き(*後述)と、以下を軽くしらべておいた。

・Evernote やら Dropbox の Lion 対応
・VMware Fusion の Lion 対応
・MacPorts の Lion 対応

注) Lion の機能を生かした、というのでなく、動くかどうかの意で。

いずれも特に問題なし。ただし、

・Evernote
Safari からぽちっとするやつは消えちゃった。今後のバージョンアップで対応か?

・Dropbox
  Finder 上のアイコンで同期してるか否かがわからなくなったのが惜しい。

という具合。
ウェブブラウザ各種は「うごくだろう」という思いで特に気にもせず。

ほか、
・MacPorts
port outdated すると、前は Darwin 10 だったですよ!
というのがでるようになったので(書き留めてなかったのであんまり覚えてない)、
svn で先端とってきて入れ直した。(なので Xcode 入れ直しが発生)
その後 MacPorts 2.0.0 リリースされたので、これからいれるなら2.0.0 をいれればよい。

・Java
消されるらしく、僕の場合 AWSの各種 API コマンドラインツールが使えなくなってびびった。
というわけで JDK の入れ直しが必要。
Java for Mac OS X 10.7 が提供されている。

・Xcode
4.1 を入れないとだめ。
4.0.x は Snow Leopard だけだった、というのをこの時点で知った。
3.x が使えるかは知らない。

こんなんでしたとさ。

商用のソフトウェアをあれこれ使っているわけでもないので、特に問題なし。良好。

そうそう、Lion で REE (Ruby Enterprise Edition) をいれるときは
CC を設定してあげるとよい。

http://code.google.com/p/rubyenterpriseedition/issues/detail?id=68
手元で試してみると、(rvm を利用してのインストール)
・REE はコンパイル時点でこける、ので要 CC 設定 (CC=/usr/bin/gcc-4.2)
・ruby-1.8.7-p352 はインストールはできる、 gem を使おうとするとこける
=> 同じく CC を設定して入れれば問題解消
・ruby-1.9.2-p290 は問題なし
という具合だったのだけど、どこかにまとめられてたりしないかな。

DVD焼きは、InstallESD.dmg を焼き焼きした。
どうも Lion だとDVDなんぞいらない作りになってるようなのだけどね。
InstallESD.dmg てーのは、
あちこちに書かれている通り。 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=InstallESD.dmg

2011年6月12日日曜日

続 MacBook Pro 15" のバッグ (その3)

前こんなのあったみたい。。いいなこれ。。横なトートなのでよろしい。
http://media.excite.co.jp/ism/106/01collabo.html

似たようなの今もあればいいのだが。

最近よく思うこと

人は他人によって変えられはしない、自身で変える、変わるしかない(きっかけは他人からとしても。)
指摘したとしても、聞く耳がなければ意味がない。

慇懃無礼なひとは結構いる

お気に入りのひとたちとで「やたらと」群れたがるひとはいる

黒いひとは黒いし、脳内メルヘンなひとはとことんメルヘン。。

まー、普段の言動、表情、振るまいなどからそのひととなりてーのはなんとなくわかるように思える。なんかしら滲み出てくるものがあるんだろうなと。

2011年6月10日金曜日

2011年6月9日木曜日

uptime 2011/6/8

% uname -v ; sysctl kern.boottime; uptime
Darwin Kernel Version 10.7.0: Sat Jan 29 15:17:16 PST 2011; root:xnu-1504.9.37~1/RELEASE_I386
kern.boottime: { sec = 1305846449, usec = 0 } Fri May 20 08:07:29 2011
1:22 up 19 days, 17:15, 2 users, load averages: 0.31 0.62 0.69

ひさびさ。どこまでいけるか・・。毎日持ち運んでいる MacBook Pro.
再起動が必要なアップデートで途切れることが多い気がする・・・。

Mac mini などをサーバぽくつかってるならどんどん記録更新できそうではある。

2011年6月5日日曜日

続 MacBook Pro 15" のバッグ

まえに はてなで質問されていたもの

mac book proを持ち運ぶためのカバンを探しています。
http://q.hatena.ne.jp/1212982356

20代女性が15" 持ち運んでるのみたことないな。みてみたいものだ。

なんとなく思い出した

このエントリ。元の Zed Shaw のエントリは 2007年末だったみたい。

http://madscientist.jp/~ikegami/diary/20080103.html#p02

プログラマは二種類に分けられる:正規の計算機工学をこれからも学び続けるプログラマとそうでないプログラマ。

前者なプログラマとは知りあいになっておきたい。刺激を受ける意味で。気後れしまくりだろうけど。


Zed Shaw は Learn Python The Hard Way を書いてたりオンラインのコースやってたりする。コード書いて、物も書け、人に教えられるのは素敵だなー。

2011年5月28日土曜日

Coders at Work 買った


日本語版買って、読み直し。
年齢の近い Brad Fitzpatrick のインタビューが自分にとっては最も興味深い。

- 独学しているプログラマに対してアドバイスはありますか?
常に少し難しいことをやるようにして、自分の領域を広げること。コードを読むこと。(以下略)

- プログラミング以外でプログラマになりたい人が身につけるべきスキルは何かありますか?
コミュニケーションというのがありますが、これは正直なところ、練習して身につけられるものなのか分かりません。
(中略)
高校を出た後に成功するのはどういう一日調べた研究があります。成績の良い人か社交的な人か?成績の良かった人よりも社交的な人のほうが生涯収入は多いことが分かりました。興味深い話だと思います

- 最高のプログラマと最低のプログラマでは生産性に桁違いの差があると言われていますが、あなたの経験ではどうですか?
(略)単に仕事としてやっていて、本当には楽しんでない人がいるのでしょう。それはそれでかまわないと思いますが、そういう人を筋金入りのプログラマと比較するのはおかしな話です。一方の人は10倍の時間働きノンストップで考え続けていて、もう一方の人はただ仕事でだけやっているというとき、それを10倍の生産性というべきなのでしょうか?


ほか Jamie Zawinski, Guy Steele, Ken Thompson, Donald Knuth .... などなど錚々たる顔ぶれ。

2011年5月26日木曜日

ファイルディスクリプタ数ではまる(気がした

(片手落ちまくりだったので修正)

どうやら 1024 のままでそれ以上開けない -> エラーになってる?疑惑をもち、
TokyoTyrant と memcached それぞれが動いているサーバでごそごそと調べる。。

TokyoTyrant ... -le オプションでエラーログはでるようになっている、そのエラーログにはファイルディスクリプタ不足で開けない旨は書かれておらず。ttacceptsock failed というのがでるみたいなんだなこれが。

memcached ... -v オプションなしで起動してるのでログない...(!)

カーネルがややふるめなので /proc/<PID>/limits は無いため、すぐわからず。。

でまぁ TokyoTyrant からみてみると、
SYSTEM maximum connection: 1048575
というログはあり、むちゃくちゃ大きい値をとって起動している。ソースみてみると ttserver.c でそれっぽいコードが。ChangeLog にも

* ttserver.c (proc): the system connection limit is now reset.

と書かれていた、ので TokyoTyrant はシロの模様。
ためしに Amazon Linux AMI でインスタンス起動、TokyoCabinet と TokyoTyrant を入れて
ttserver を起動し /proc/<PID>/limits をみてみると・・・

[ec2-user@ip-10-150-131-110 tokyo]$ cat run.sh
/usr/local/bin/ttserver -port 1978 -dmn -le -pid /var/run/ttserver.pid \
-log /var/log/ttserver/ttserver.log -ulim 1024m \
/ttdata/casket.tch#bnum=100000000
[ec2-user@ip-10-150-131-110 tokyo]$ sudo sh ./run.sh
[ec2-user@ip-10-150-131-110 tokyo]$ cat /var/run/ttserver.pid
1095
[ec2-user@ip-10-150-131-110 tokyo]$ sudo cat /proc/1095/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 1024 unlimited processes
Max open files 1048575 1048575 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 59759 59759 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us

やはり TokyoTyrant はよろしくやってくれてる。

memcached は、 やはり 1024 だった <= これはまちがい。-c の値を、疑惑をもったサーバと同じ設定にしてなかっただけ。-c で指定すればよい。

[ec2-user@ip-10-150-131-110 tokyo]$ sudo /etc/init.d/memcached start
Starting memcached: [ OK ]
[ec2-user@ip-10-150-131-110 tokyo]$ cat /var/run/memcached/memcached.pid
1117
[ec2-user@ip-10-150-131-110 tokyo]$ sudo cat /proc/1117/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 1024 unlimited processes
Max open files 1024 1024 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 59759 59759 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us


ので、、/etc/init.d/memcached 内で ulimit を実行するようにした。
[ec2-user@ip-10-150-131-110 tokyo]$ sudo /etc/init.d/memcached restart
Stopping memcached: [ OK ]
Starting memcached: [ OK ]
[ec2-user@ip-10-150-131-110 tokyo]$ cat /var/run/memcached/memcached.pid
1137
[ec2-user@ip-10-150-131-110 tokyo]$ sudo cat /proc/1137/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 1024 unlimited processes
Max open files 32768 32768 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 59759 59759 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us

これでよろしい。。。


確認。

[ec2-user@ip-10-150-118-101 ~]$ sudo /etc/init.d/memcached restart
Stopping memcached: [ OK ]
Starting memcached: [ OK ]
[ec2-user@ip-10-150-118-101 ~]$ pgrep memcached
1147
[ec2-user@ip-10-150-118-101 ~]$ sudo cat /proc/1147/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 1024 unlimited processes
Max open files 10240 10240 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 59759 59759 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
[ec2-user@ip-10-150-118-101 ~]$ cat /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="10240"
CACHESIZE="64"
OPTIONS=""

=> Max open files は MAXCONN での値になった

MAXCONN を 10240 -> 256 に変更して再起動 (Max open files が デフォルトの 1024 になることを確認)
[ec2-user@ip-10-150-118-101 ~]$ sudo vi /etc/sysconfig/memcached
[ec2-user@ip-10-150-118-101 ~]$ cat /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="256"
CACHESIZE="64"
OPTIONS=""
[ec2-user@ip-10-150-118-101 ~]$ sudo /etc/init.d/memcached restart
Stopping memcached: [ OK ]
Starting memcached: [ OK ]
[ec2-user@ip-10-150-118-101 ~]$ pgrep memcached
1171
[ec2-user@ip-10-150-118-101 ~]$ sudo cat /proc/1171/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 1024 unlimited processes
Max open files 1024 1024 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 59759 59759 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us


ソースの該当部分は 4512 - 4539 行目か。 (memcached 1.4.4 の場合)
  4521      /*
4522 * If needed, increase rlimits to allow as many connections
4523 * as needed.
4524 */
4525
4526 if (getrlimit(RLIMIT_NOFILE, &rlim) != 0) {
4527 fprintf(stderr, "failed to getrlimit number of files\n");
4528 exit(EX_OSERR);
4529 } else {
4530 int maxfiles = settings.maxconns;
4531 if (rlim.rlim_cur < maxfiles)
4532 rlim.rlim_cur = maxfiles;
4533 if (rlim.rlim_max < rlim.rlim_cur)
4534 rlim.rlim_max = rlim.rlim_cur;
4535 if (setrlimit(RLIMIT_NOFILE, &rlim) != 0) {
4536 fprintf(stderr, "failed to set rlimit for open files. Try running as root or r
equesting smaller maxconns value.\n");
4537 exit(EX_OSERR);
4538 }
4539 }


めんどうがらずにソースをチラ見でもしたほうがよい。


バックログが大量に必要になるときがあるなら -b で渡す値を決めるのと、net.core.somaxconn の値をみておくのも忘れずに。

2011年5月23日月曜日

MacBook Pro 15" のバッグ

を探している。

今使っているのはこれ



ストラップがちぎれそうなのでそろそろ新しいのをかわんとな・・・という状況。

今のと同様、
・本体を入れるスリットがあり
・電源も邪魔にならず
・撥水性能がよく
・他にも物がある程度入れられる

のがよい。一番下のは、「Macだけいれる専用カバン」と割り切れば考えなくていいや。

トートだとなさそう、バックパックだとありそう。今度はメッセンジャータイプじゃないのがいいな。。
バックパックだと、体格のせいでノコノコみたいになるのがちょっとなぁ。。

壊れる前に探して買わねば・・・。

よさげなのがあったら、'bag' ラベルでエントリ書くことにした。
=> http://ktjx.blogspot.com/search/label/bag

2011年5月22日日曜日

ウェブオペレーションを買った、読んだ

一言でいうと、「すごく、いい。」
自分にとっては、これまで買ったオライリー本の中で最もいいかもしれない。



執筆者は豪華だし、これまでなんとなく仕入れていたものがまとめられているし、なにより読んでて、「あー、わかる、、そうそう、、そうなんだよねー」と思うことが多い。

まだまだ足りないものが多いので、それを再認識するのにも役に立った。
最近一旦ほっとしていたけれども、気を引き締めることにもなった。

こういう本を20代前半のうちに読めるひとたちは幸せだと思うな。(ぼかぁ 31歳)

2011年5月19日木曜日

Ricty 3.0.0

これの続き

http://save.sys.t.u-tokyo.ac.jp/~yusa/fonts/ricty.htmlをみてみたところ、フォントの配布は無くなり、生成スクリプトのみの配布になってた。

バージョン 2.1.0 から 3.0.0 でおそらく配布形態以外の変更はないと思う。
けどまぁたまには fontforge でも使ってみましょう、ということで 3.0.0 を取得して ricty_generator.sh に従い実行。

いれるマシンは Mac OS X なので、fontforge は sudo port install fontforge してインストール、Inconsolata は http://levien.com/type/myfonts/inconsolata.htmlから取得、 Migu 1M は http://mix-mplus-ipa.sourceforge.jp/から取得した後生成した。

フォントのバージョンてどこでみれるの、、、と思ってたけど Finder で選択すればいいね。。

2011年5月15日日曜日

速くはない

「タイピング速い」とプログラマのひとにいわれることがたまにあるのだけど、そんなことはない。

確かめるために、「タイピング 速度 プログラマ」でぐぐって、ひげぽんさんのエントリをみてみた。

そこに載ってる http://www.e-typing.ne.jp/ を実施。

結果。(一度しかしてないけど。。)

スコア: 248pt
レベル: A+

全然速くないことが確認できた。毎日キーボード叩いてることを考えると、遅いよね。

キレやすいひと

キレやすいひとが社内におる。
また、突如大声だしたり、大声で笑ったりも。
そしてキーボードを叩く音が大きくなったりする
(メカニカルキーボードだからカチャカチャ音が大きい、というわけではなく!)

一度は社内であばれるようなことも起こしてたり。。

と、まぁ当人がどうこうはおいておいて、キレやすい、とか癇癪持ちなひとがそうなっているのは
どういう理由なんだろう?と興味をもったので参考程度に軽くググってみた。

キレやすい人とセロトニンの関係
キレやすい人に必要な食養
謝らない人ほどキレやすい

これはすごいなー。いるところにはいるのだなぁ。
職場でキレやすい人について

Ricty フォント入れた

プログラミング用フォント Ricty

(Mac の) ターミナルのフォントを Ricty Regular 13 pt. でしばらくつかってみる。うふふ。

サイトにかいてあるように、
現在、debian-devel および debian-bugs-dist において、Ricty のライセンスについて議論が行われています。
とあり、
議論の結果によっては Ricty の配布を中止することもありえますのでご了承ください。

とあるのでどうなるのだろう。
追記: その後、バージョン 3.0.0 より生成スクリプトのみの配布になった

もっと若いかもしれない

前の職場ではなんとなく(悪い意味での)「学生ノリ」なところがあって、なんだかなぁ。。と思うことがしばしばあったのだけど、

今のところでは、(悪い意味での)中学生〜高校生ノリな感じがする人もいるなぁ。。と思うことがあったりなかったり。どっちやねん。

CotEditor をあたらしくした

ちょっとしたメモ用途などで使っていたりする CotEditor、
そういえばしばらくバージョンアップしてないなぁ、、と思ったら、
中の人が交代していた。

http://www.aynimac.com/2010/07/07/234/

http://www.aynimac.com/2010/07/08/236/

http://usami-k-mac.seesaa.net/article/155823201.html

なるほど。

で、先月 1.1.1 がでていた。
http://sourceforge.jp/projects/coteditor/

python_select から python_select が無くなった

port sync, port outdated したら python関係のものがもりもり新しくなってたので
port upgrade outdated して python_select が 0.3_1 になりました。

% port installed python_select
The following ports are currently installed:
python_select @0.3_1 (active)

これまでパッケージ名と同じ python_select コマンドで切り替えられていたのだけど、
python_select コマンドが無くなった模様。

% port contents python_select
Port python_select contains:
/opt/local/etc/select/python/base
/opt/local/etc/select/python/none
/opt/local/etc/select/python/python25-apple
/opt/local/etc/select/python/python26-apple

port select で切り替えれば OK!

% port select
Error: port select [--list|--set|--show] <group> [<version>]

% port select --list python
Available versions for python:
none
python25-apple
python26
python26-apple
python27 (active)
python32

% port select --show python
The currently selected version for 'python' is 'python27'.

% sudo port select --set python python26
Password:
Selecting 'python26' for 'python' succeeded. 'python26' is now active.

% port select --show python
The currently selected version for 'python' is 'python26'.

% port select --list python
Available versions for python:
none
python25-apple
python26 (active)
python26-apple
python27
python32

scala_select も同じよう(port コマンドで切り替えるよう)になるのかな

2011年5月14日土曜日

打鍵音

興味深い...
http://d.hatena.ne.jp/blankey1982/20090615/1245070699
なんであんなに殴打して文字を打つのか。

そんなに文字を打ちたいくらいに仕事が好きなのかといえば、決してそうじゃない。

むしろ、不真面目な奴が多い。

キーボード叩く音がうるさい人の指の動きを観察した事があるんですけど、

指とキーボードの距離が遠いんですよ。

よって、助走を含めた指の圧力がキーボードにかかる為、音がうるさいと。

自分とキーボードとの距離感が理解出来てないんですよ。

だから仕事でも回りの社員との距離感が理解出来てないから、

周囲に不快感を与える。大袈裟に思われるかもしれませんが、

案外、真理だと思うんですよねぇ。

2011年5月10日火曜日

デプロイできない

という。capistrano が途中で固まる、らしい。

さーてどうしたもんか、、と思い、ひととおり以下の対応をした、してもらった。
ちなみにクライアントは Mac OS X 10.6.x.

・git gc

・net-ssh の更新
参考:
http://eric.lubow.org/2010/mac/capistrano-hangs-on-mac-os-x-leopard/
http://www.darianshimy.com/2009/09/capistrano-is-fixed-in-snow-leopard/

・Ruby の更新
参考: http://redmine.ruby-lang.org/issues/1848

でも、だめ。解消せず・・・ orz...

cap を実行し途中で止まったとき、よくよくデプロイ先のみてみると git-index-pack ががんばっていたりした。
ので、、git をバージョンアップしてみる。それに望みをかける。

連休前までは問題なく、急にできなくなったという。うむむ。。


でまぁ、単に「デプロイできない」といっても、
・git なのか
・net-ssh なのか
・Ruby なのか
・capistrano なのか (git 古いと git submodule のオプションがなくてコケたりする)
・・・・と、結構厄介ね・・・。あたりのつけかたが悪いだけかもしれないけど。

d o t c l o u d に お い た

さっぱり育てられずじまいの素朴な php 1ファイル のものをおいた.うごいた.

http://dnscheck.cont.dotcloud.com/

ロクにドキュメントみなかったこともあり
Net_DNS をどうやって入れればいいのだ・・・という点で悩んだ。
あとでよむ。

2011年5月8日日曜日

rvm が猛烈な勢いでバージョンアップしていた

1.2.8 だった。 1.6.5 になった。
ずんずんバージョンアップしてるとは露知らず・・
all versions of rvm

どうも、1.2.8 の状態で
$ rvm get latest
をすると、このように、、↓
% rvm get latest

Original installed RVM version:

rvm 1.2.8 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]

rvm-<html>
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 173 0 173 0 0 451 0 --:--:-- --:--:-- --:--:-- 1218
ERROR:
.tar.gz downloaded does not match it's md5 checksum <html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/0.8.54</center>
</body>
./html>
Aborting RVM Installation.

うまくいかなかったので、、
$ rvm get head
$ rvm reload
$ rvm get latest
$ rvm reload
と、一度リポジトリの先端のものにしてから最新のリリースバージョンに戻した。

$ rvm version

rvm 1.6.5 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]

おわり。

因果応報のようなもの

今の自分をとりまく環境というのは多かれ少なかれこれまでやってきた自分の振るまい、行いによってもたらされているものだよなー

という話をこの間した。

自分としては実感もしている。いろいろと。

2011年5月7日土曜日

delicious 移行

YouTube の ファウンダーに買われた delicious.
そーしゃるぶっくまーくなぞ使わなくなったのでずっと寝かせておいたのだけど、久しぶりにログイン。

でまぁ、ログインしてみると期待通り移行しますよ画面がでてきたので移行。

dotcloud ベータ利用開始した

中の人と知りあいであれば直接 invitation code が貰えるらしい。けどいないので、

http://www.dotcloud.com/
をみて Join our beta をぽちっとして申請、その後 (僕の場合2日後)、 Your DotCloud beta invitation なる件名で
メールがきて beta ユーザ登録完了。

メールのなかには
can forget about servers and focus on development:

などと書かれていて、 あぁ、(PaaS は)そんなかんじだねーと再認識するなど。

サーバのことは忘れて、「開発」のことだけ考える時間をふやすのが自分としてはよいのかもしれない。今後。


・・・で、アカウントを作成できたので、少しばかり dotcloud コマンドをぺしぺしと実行。アカウント作成後にみられる管理画面に Cheatsheet があるのでそれを叩いてみただけ。

・ dotcloud コマンドをつかえるようにする
easy_install dotcloud や pip install dotcloud で ok
僕の場合は Python 2.7.1 の virtualenv な環境下、後者で入れた。

・create , deploy
$ dotcloud create <appname>
で。test とか hoge とかはすでに利用されがち。↓
% dotcloud create test
error: "test" already exists.
% dotcloud create hoge
error: "hoge" already exists.

なのである程度考えた名前じゃないといつまでたっても already exists になるでしょう。。

とりあえず適当に iktestapp などという名前で create し、
その後 --type python 指定、iktestapp.www という名前でデプロイした。(Cheatsheet そのまま)

http://www.iktestapp.dotcloud.com/
をみて、ちゃんと動いているらしいのを確認。使えるようになるのがすんごく簡単。看板に偽りなしという感じ。

その後、姓や名で create して、名前を抑えておくなどしてみた。
また --type php で デプロイし、<?php phpinfo(); を書いたもの なぞおいてみてどんなか見てみた。
nginx + php-fpm で動いていた。ssh で入ってみても確認。ついつい中身どうなってるのかみてしまうね・・・。

その後は docstutorialに目を通しましょう、と。

2011年5月1日日曜日

DragonFly 2.10

http://www.dragonflybsd.org/release210/

とりあえず入れてみる。例によって VMware 上だけど。
gcc 4.4 になったんだなぁ。

いつからか pkgin てーパッケージが入るようになっていて、これよさげ。
http://pkgin.net/

dotcloud

の存在をしる。
http://www.dotcloud.com/

職業柄、こう書かれていてドキッとした。。
Be a developer, not a sysadmin.
You push the code, we deploy it. We take care of provisioning, configuration, monitoring, backups, scaling and more.

GAE も Heroku も同じだよね。sysadmin いらず、さっさと開発。

dotCloud | CrunchBase Profile
http://www.crunchbase.com/company/dotcloud
ロン・コンウェイジェリー・ヤンが出資してるのだなぁ。

・・・ miyagawa さんが join したんだ! おぉ。。。
http://bulknews.typepad.com/blog/2011/04/joining-dotcloud.html

2011年4月30日土曜日

ミドクラが気になる

ちょっとまえ、TechCrunch JAPAN の記事で知った。

これで
http://jp.techcrunch.com/archives/jp20110413midokura-cloud-computing-software-startup-in-japan/
日本の企業でありながら、AmazonやGoogleで実際にインフラ部分の開発していたエンジニア、しかもいずれもコンピュータサイエンスの博士後や修士号持っている人たちが中核となって立ち上げた多国籍軍の会社だということだ。

気になるねー。

先日もまた取り上げられていた
http://jp.techcrunch.com/archives/20110427midostack-openstack-midokura/

こういうとこの採用条件をパスするくらいのエンジニアになるには・・・?と思ったりするなど。

2011年4月24日日曜日

手持ちのカード

http://twitter.com/#!/SNOOPYbot/status/8999172678
サーバの面倒をみる人員

・自分
(・CTO)

ふたり。CTO は自分がいっぱいのときのサブ。(メインは自分が引き継いだので)

でこの間(3月)から後進の育成をはじめてみたのだが、これがなかなか。

自分がむかーしいたデータセンターを考えると、
・マネージャ x 1
・シニアテクニカルディレクター x 3
・テクニカルディレクター x 結構いた
・スタッフ (その他大勢)
という具合でピラミッド構造が作られてた
(といっても、自分の入る数ヶ月前はそれこそ数名しかいなかったみたいだけど、、)

でまぁ今の状況でさーてどうしようかと考えると、
・今後も少人数で問題のないような系を作る
・(前項とかぶるけど)もっと楽をする系を作る
・(いい意味での)マニュアル、ドキュメントを充実 => それさえみれば自分がやんなくてもおk、という状態に
ということだよなぁ。

2011年4月9日土曜日

ムックでた

前書いた記事が収録されたムックがでた。
サーバインフラ系記事がまとめられているので◎

↓これ。


http://gihyo.jp/book/2011/978-4-7741-4600-3

収録にあたって、執筆時と異なっている部分を多少手直ししたりした。

2011年4月7日木曜日

避ける

不必要にむやみやたらと「おれってばすげー」感を出してるひとは避けたい。

批判してるおれカコイイ、んで建設的な意見をだしたり、行動をしないひとは避けたい。

〜〜がうるさくて我慢できないレベル(キリッ といいつつ、
別の日はその本人がうるさいという「おまえがいうな」的なひとは避けたい。

常に愚痴っぽいひとは避けたい。

人を馬鹿にする傾向のあるひとは避けたい。


自戒の念を込めて。

2011年4月3日日曜日

会社で表彰された

4/1 に社員総会なるイヴェントがあった。

社長からのメッセージ、新入社員紹介などがあり、最後に表彰も。

前日 3/31 に聞いていた話では、「明日の表彰では呼ばれないけど、いい評価の対象に入ってるよ」
と言われており、のほほんと拍手をしていた矢先に呼ばれた。。。騙された><

なにも考えてなかったので、とりあえずこれまで、と今後を自分の思いを込めて考えながら一言(じゃなかったけど)挨拶。
順番最後だったのと会も表彰で終わりだったのものあって、締めの挨拶みたいな風になってしまったりもした。。

社内での「チーム」という単位ではひとりでやってきたのは事実なんだけど、なんとなくの予定としては
2,3人で回しているはずだった。まぁなかなか思い通りにはいかず。
今の状態ではそんなに無理をしているわけでもないし、まだ「あそび」もある。
けども、、如何せんひとり状態はいろいろとまずいよね、ということでチーム作りに勤しむステージに移るのだろうなぁと思っている。
現状の構成の見直しや新しものの検証ももっとしたいし。
盤石の体制をつくっておけば、もっと良い感じになると思うのだよな。


いままでサーバインフラやってきて、こんな風に表彰されたことは初めてだった。
「動いて当たり前』だし、複雑な気分ではある。
「守るほう」というイメージが強いと思うけど、もちっと前衛的な、アグレッシブなインフラで
がりがり動くのもありなんだろうなぁと今さらながら思う。

総会後、図らずも挨拶について幾人かから高評価?を得る。自分の思いが少しでも届いたのであれば嬉しい。
とある理由により喋るのは不得手なほうということもあり、余計に嬉しい。

ずばぬけたとびっきりの技術力での貢献はできないので、そこそこの技術力と、人間力で貢献できればいいなぁ。と思っている。
(まぁ、何年か前、「ヒューマンスキルがない!」と言われたけどね。今でも鮮明に覚えている。)

これまでを考えると、今は「人」に恵まれているほうだなーと思う。

2011年3月28日月曜日

Natty にしようか

11.04 であるnatty のパッケージをみてみると、
(いまんとこ alpha3 )

・Python が 2.7.1
・mod_wsgi が 3.3

うむ、新しい。
今は CentOS 5 で使うために両方とも独自にビルドしてる。(入ってる Python は 2.4 だし。。。)

Ubuntu に替えるのはアリかなぁ。
替えても、「Python 2.7.2 でたから 2.7.2 つかいたい!」 となるとあんまかわらんかなぁ。むむむ。

2011年3月27日日曜日

nginx の中の人は system administrator である

ランブレルのシニアシステムアドミニストレーター

http://sysoev.ru/en/
I have continued to live in Moscow since graduation and currently work at Rambler Media as senior system administrator.

2011年3月21日月曜日

このようなスペック

以前、
作業を振ってみたひと。

・たしか院卒(修士)
・理系
・プログラマで入社

紆余曲折、諸事情があり、がりがりプログラムするよりもサーバまわりをみることになったようで、
自分が面倒をみることになった。
とくに趣味でサーバをやってたということもなく、、ほぼゼロから。
Redmine 振ってみたとき、1週目で「今週末には Redmine バージョンうpできます」などと報告を
もらっていたものだから、そこそこ知ってるものとばかり思っていた。。
(その後 3/11 に自分が巻き取り、終えた。)

院卒で専門分野とは違う、かつ趣味でも特にしていないものを叩き込むのは可能なのだろうか?
と考えたりもする。

まー、本人のやる気次第だよね。やるひとはやるしやらんひとはやらん。それだけか。

学歴のグレードみれば自分より遥かに上だと思うし、できるはずだ。
(どこ大学の大学院なのかは知らんけど、「研究などに没頭する素地」というものがあるというイメージはある)

しっかし、ことあるごとに「うちの研究室は」と話を持ち出すのはなんでなんだろう?
いままでみてきた院卒のひと、そんなに口にしてなかったんだけど、
アカデミックよりとそうでないひとでかなり違うのかな??

オレAMI をつくる

実は、作ったことがない。
これまでは既存のものを使っていたので、サラの状態から作成したことはない。

・かゆいところに手が届かない
・このディストリビューションのがない

・・・といった問題がなかったから作らなかったともいう。

でもまぁそれもなんだかなー、と思いつつあるので
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/
をみながら取り組んでみることにした。
(Using Amazon EC2 -> Using AMIs -> Creating Your Own AMIs)
S3-Backed の loopback のほう。Existing AMI は何度も何度も何度もやっている。

2011年3月6日日曜日

心構え?

某所で Redmine を使っておるのだが、導入されて以来、バージョンアップをしていない。
(自分がサーバ移行するときは同一バージョンをいれた. 移行は移行、バージョンアップはバージョンアップだからね!)

Redmine のサイト (http://redmine.jp/) を軽くみると、
必要な手順はかかれているっぽい、ので他の人に振って、やってもらうことにした。

振って1週間すぎ、いろいろ気付かされることがあった。ので書いてみる。

・UNIX のアカウントと MySQL のアカウントの説明が必要
・Ruby, Rails を使っていることの説明が必要
・gem の説明が必要

redmine.jp をみればかいてあることは多いのだけどね。

・実行した結果、どうなったか確認しないといけない、ということの説明が必要
=> ローカルに試しに入れる際、導入手順の通りにして失敗してるにもかかわらず先に進み、結局できていない、という。。

・ログを見る、ということの説明が必要
=> 「なんか失敗しました」で止まる。

・何を実行した結果、今の状態になったかの説明をしないと他人にはわからないよ、ということの説明が必要
=> いくらなんでも、エスパーとか神じゃない・。
「なんかできない」「なんか失敗した」の「なんか」はわかりっこない。

・だいたいのことは先人がいて、検索するとみつかるよ、、ということの説明が必要
とびっきり新しいことや、先端のことや、ニッチなことで無い限りはだいたい検索すればそこそこあたりがつくのに、しない。
(「あたりがつく」のがポイント。求めているものに完全に合致するとは限らない)

今回は
http://www.ruby-forum.com/topic/1202806

http://www.redmine.org/boards/2/topics/8458
で解決できた。

「サクサク Redmine のようなものを導入や移行できるスキル」というのはどうやって身に付いたんだっけなぁ。。

もうちょっと様子を見て、まきとるかもしれんなぁ。(2週,3週と費やしてもらうものでもないよね、、)

2011年2月26日土曜日

.xz なファイル

FreeBSD 8.2-RELEASE がでてたので、dvd の iso をミラーサイトから入手。

みると、 FreeBSD-8.2-RELEASE-amd64-dvd1.iso.xz となっている。
今回から gz やめて xz にしたみたいだ。普及のきざし?

・・・なので xz を入れる。以下、Mac OS X で MacPorts を利用。

% port info xz
xz @5.0.1 (archivers)
Variants: universal

Description: XZ utils consist of a few relatively separate submodules: *
LZMA/XZ encoder/decoder command line tool similar to gzip/bzip2 *
Scripts to ease grepping, diffing and viewing (lz*grep,
lzdiff/lzcmp, lzmore/lzless)
Homepage: http://tukaani.org/xz/

Library Dependencies: libiconv, gettext
Platforms: darwin
License: unknown
Maintainers: afb@macports.org, openmaintainer@macports.org

% sudo port install xz

% port contents xz
Port xz contains:
/opt/local/bin/lzcat
/opt/local/bin/lzcmp
/opt/local/bin/lzdiff
/opt/local/bin/lzegrep
/opt/local/bin/lzfgrep
/opt/local/bin/lzgrep
/opt/local/bin/lzless
/opt/local/bin/lzma
/opt/local/bin/lzmadec
/opt/local/bin/lzmainfo
/opt/local/bin/lzmore
/opt/local/bin/unlzma
/opt/local/bin/unxz
/opt/local/bin/xz
/opt/local/bin/xzcat
/opt/local/bin/xzcmp
/opt/local/bin/xzdec
/opt/local/bin/xzdiff
/opt/local/bin/xzegrep
/opt/local/bin/xzfgrep
/opt/local/bin/xzgrep
/opt/local/bin/xzless
/opt/local/bin/xzmore
/opt/local/share/doc/xz/AUTHORS
/opt/local/share/doc/xz/COPYING
/opt/local/share/doc/xz/COPYING.GPLv2
/opt/local/share/doc/xz/examples/xz_pipe_comp.c
/opt/local/share/doc/xz/examples/xz_pipe_decomp.c
/opt/local/share/doc/xz/faq.txt
/opt/local/share/doc/xz/history.txt
/opt/local/share/doc/xz/lzma-file-format.txt
/opt/local/share/doc/xz/NEWS
/opt/local/share/doc/xz/README
/opt/local/share/doc/xz/THANKS
/opt/local/share/doc/xz/TODO
/opt/local/share/doc/xz/xz-file-format.txt
/opt/local/share/locale/cs/LC_MESSAGES/xz.mo
/opt/local/share/locale/de/LC_MESSAGES/xz.mo
/opt/local/share/locale/it/LC_MESSAGES/xz.mo
/opt/local/share/man/man1/lzcat.1.gz
/opt/local/share/man/man1/lzcmp.1.gz
/opt/local/share/man/man1/lzdiff.1.gz
/opt/local/share/man/man1/lzegrep.1.gz
/opt/local/share/man/man1/lzfgrep.1.gz
/opt/local/share/man/man1/lzgrep.1.gz
/opt/local/share/man/man1/lzless.1.gz
/opt/local/share/man/man1/lzma.1.gz
/opt/local/share/man/man1/lzmadec.1.gz
/opt/local/share/man/man1/lzmainfo.1.gz
/opt/local/share/man/man1/lzmore.1.gz
/opt/local/share/man/man1/unlzma.1.gz
/opt/local/share/man/man1/unxz.1.gz
/opt/local/share/man/man1/xz.1.gz
/opt/local/share/man/man1/xzcat.1.gz
/opt/local/share/man/man1/xzcmp.1.gz
/opt/local/share/man/man1/xzdec.1.gz
/opt/local/share/man/man1/xzdiff.1.gz
/opt/local/share/man/man1/xzegrep.1.gz
/opt/local/share/man/man1/xzfgrep.1.gz
/opt/local/share/man/man1/xzgrep.1.gz
/opt/local/share/man/man1/xzless.1.gz
/opt/local/share/man/man1/xzmore.1.gz


ダウンロードした .xz は unxz でほどけばよい。

% file ~/Downloads/FreeBSD-8.2-RELEASE-amd64-dvd1.iso.xz
/Users/katsuji/Downloads/FreeBSD-8.2-RELEASE-amd64-dvd1.iso.xz: xz compressed data
% ls -l ~/Downloads/FreeBSD-8.2-RELEASE-amd64-dvd1.iso.xz
-rw-r--r--@ 1 katsuji staff 2132232848 2 26 11:18 /Users/katsuji/Downloads/FreeBSD-8.2-RELEASE-amd64-dvd1.iso.xz
% unxz -v ~/Downloads/FreeBSD-8.2-RELEASE-amd64-dvd1.iso.xz
/Users/katsuji/Downloads/FreeBSD-8.2-RELEASE-amd64-dvd1.iso.xz (1/1)
100 % 2,033.5 MiB / 2,302.8 MiB = 0.883 31 MiB/s 1:13

% ls -l ~/Downloads/FreeBSD-8.2-RELEASE-amd64-dvd1.iso
-rw-r--r-- 1 katsuji staff 2414686208 2 26 11:18 /Users/katsuji/Downloads/FreeBSD-8.2-RELEASE-amd64-dvd1.iso

% sha256deep ~/Downloads/FreeBSD-8.2-RELEASE-amd64-dvd1.iso
4e2d31e7aa9ce20fd263dec0388469c0d4ae7cdf54508a466637abeef5081c91 /Users/katsuji/Downloads/FreeBSD-8.2-RELEASE-amd64-dvd1.iso

http://en.wikipedia.org/wiki/Xz

2011年2月11日金曜日

はじめての data=writeback

はじめて、というのはうそで、、data=writeback にするの忘れてたら痛い目みたというお話。
以下の通り。

とあるアプリで猛烈に TokyoTyrant をシバくものをプログラマさんが作りました。

ぼくはいつもどおりにサーバ一式を用意しました。

めでたくリリースされました。

しかし数日たち、、日に日にエラーがましまし。。

アプリケーションサーバ不足は追加により、すぐに解消しました。

それでも夜の混雑時にはエラーがでたり、鈍重になります。

モニタリングしているグラフをみると、WAIT CPU がひどい状態です。

そういえば、と思ってみると、TokyoTyrant を動かしているサーバの
casket.tch をおいているパーティションを data=writeback にしていませんでした。

幸いなことにちょうど、メンテ予定日が設けられていました。

メンテ時に TokyoTyrant を停止し、writeback でマウントしなおし、TokyoTyrant を再開しました。

その後 WAIT CPU は消えさりました。

めでたしめでたし。


15:00 にメンテ開始、16:00に再開
図1


図2


図3