Sunday, September 30, 2007

snapshot.debian.net diskいれかえ

snapshot.debian.netのdiskをいれかえ。 以前は500Gでだいたい3ヶ月だったのにだんだん短くなって今回は1ヶ月半くらい(8/12-9/30)になってしまってる。

Friday, September 28, 2007

Kabul Afghan Cuisine

Sunnyvaleの Kabul Afghan Cuisine で KMC関係者で集って晩飯

Monday, September 24, 2007

Sunday, September 23, 2007

California RoadHouse

MountainView castroの California RoadHouseでギネスのんで、Filet Mignon 6oz.

Saturday, September 22, 2007

Friday, September 21, 2007

寿司豊味

Eng reviewの後、寿司豊味へ。 interview重要とか、US採用よりJP採用のほうがinterview厳しいんじゃないかとか、C++のtemplateがアレだとか、Javaもいろいろ変だとか いろいろ

Tuesday, September 18, 2007

MountainView到着

SFOに朝ついて、昼前頃にcampusへ。思っていたよりは暑い。特に日があたっていると。 昼飯たべて、メール読んで、木金でたまっていたcode reviewをこなす。 4時くらいになったので宿にチェックインしにいこうとしたらレンタカーのバッテリがあがっていてまいった。

Sunday, September 16, 2007

blogger に Google Calendar

bloggerの sidebar に google calendar のイベントを表示。 Google Embeddable Calendar Helperを使えばカレンダーを埋めこめるけど、sidebarに表示するのには大きすぎる。 いろいろ調べてみるとpublic calendarならGoogle Calendar API JSON Output使うのが簡単そうだったので、ちょろっと作ってみた
こんな感じに使う
<div id="gcalevent"><p>Loading...</p>
</div>

<script type="text/javascript"><!--
var gcal_list_id = "gcalevent";
var gcal_lists = [ 
  // FSIJ
  "atbere3p9bqsq48pvqht2ks1b0@group.calendar.google.com",
  // Debian
  "bq4u4851nqgnuu2soi1l6eeaqc@group.calendar.google.com",
  // JLA
  "i8aboqfuvj9d9ondgiv2jkju4c@group.calendar.google.com",
  "japanese__en@holiday.calendar.google.com"
];
// --></script>
<script type="text/javascript"
 src="http://ukai.jp/js/gcal_list.js" >
</script>
元のサンプルとはちょっと違って、複数のcalendarをロードして時間順に表示することができる。 9/16 13:45 インターフェースを変更

Saturday, September 15, 2007

bloggerにdel.cio.us

del.icio.us対応もしてみた。とりあえずメモ。
<span class='post-delicios-add'>
 <a href="http://del.icio.us/post"
  expr:onclick="'window.open('
   + '\'http://del.icio.us/post?'
   + 'v=4&amp;noui'
   + '&amp;jump=close&amp;url=\'+encodeURIComponent(\'' 
   + data:post.url + \'')+\'&amp;'
   + 'title=\'+encodeURIComponent(\'' 
   + data:post.title + \''), \'delicious\','
   + '\'toolbar=no,'
   + 'width=700,height=400\'); return false;'">
    <img src="http://.../delicious.small.gif"
      alt="Save to del.icio.us" />
 </a>
</span>
注意すべき点は、& を &amp; とエンコードすること、' のエスケープに気をつけること かな。 それから、これを post-footer-line のあたりに追加。
<b:if cond='data:blog.pageType == "item"'>
<script type="text/javascript">
 if (typeof window.Delicious == "undefined") 
    window.Delicious = {};
 Delicious.BLOGBADGE_DEFAULT_CLASS =
   'delicious-blogbadge-line';
</script>
<script 
src="http://images.del.icio.us/static/js/blogbadge.js">
</script>
</b:if>
こちらは対象が今みているページみたいなので item を表示している時だけに表示 ついでに Read more! ぽくできるようにしてみた。 これを参考に。 spanじゃなくてdivにしてみる。 labalに readmore がある時だけ "Read more!"リンクを表示。

Friday, September 14, 2007

planet.debian.or.jp 登録変更

planet.debian.or.jpに登録されていたのが古いblogになっていたので更新。
こうすればいいのかな
% svn co https://svn.debian.or.jp/repos/planet
% cd planet
% cd config
% vi config.ini
feed URLを http://blogger.ukai.org/feeds/posts/default/-/debian に
% svn commit -m "change ukai's blog"
debian.or.jpのアカウントでcommit。

snapshot.debian.net athlon64->hikaru

snapshot.debian.net/archive に 2007 しかないのだが? というメールがきた。 aliasで 2005, 2006 にアクセスするとbackendのathlon64をみにいくのだが、directory indexには見えてなかったようだ。空ディレクトリを作ってfix。 で、またathlon64.fsij.orgのapache2がささっていることに気付いたので、ついでにbackend serverを athlon64.fsij.org から hikaru.fsij.org に変更しておく。

Japan Linux Conference 2007 Day 2

Japan Linux Conference 2007 2日目。 今日は MacOSXはやめて、いつも家でつかっている Debian on Let's note Y2。 昼はWendy's。 LT枠があまっていたのでSoftware Freedom Dayについて発表した。 晩は新橋でですけ。 <table style="width:194px;"><tr><td align="center" style="height:194px;background:url(http://picasaweb.google.com/f/img/transparent_album_background.gif) no-repeat left"><a href="http://picasaweb.google.co.jp/fumitoshi.ukai/20070914JapanLinuxConference2007Day2"><img height="160" src="http://lh6.google.co.jp/fumitoshi.ukai/RupvvGAgi6E/AAAAAAAACK8/SGjpJd8l57k/s160-c/20070914JapanLinuxConference2007Day2.jpg" style="margin:1px 0 0 4px;" width="160"></a></td></tr><tr><td style="text-align:center;font-family:arial,sans-serif;font-size:11px"><a href="http://picasaweb.google.co.jp/fumitoshi.ukai/20070914JapanLinuxConference2007Day2" style="color:#4D4D4D;font-weight:bold;text-decoration:none;">2007-09-14<wbr></wbr>-JapanLinuxConference2007Day2</a></td></tr></table>

Thursday, September 13, 2007

Japan Linux Conference 2007 Day 1

今日は Japan Linux Conference 2007 初日。昼は日本科学未来館の7Fレストランで。 <table style="width:194px;"><tr><td align="center" style="height:194px;background:url(http://picasaweb.google.com/f/img/transparent_album_background.gif) no-repeat left"><a href="http://picasaweb.google.co.jp/fumitoshi.ukai/20070913JapanLinuxConference2007Day1"><img height="160" src="http://lh6.google.co.jp/fumitoshi.ukai/RukyUWAgiLE/AAAAAAAACCs/og7n6LqnbEw/s160-c/20070913JapanLinuxConference2007Day1.jpg" style="margin:1px 0 0 4px;" width="160"></a></td></tr><tr><td style="text-align:center;font-family:arial,sans-serif;font-size:11px"><a href="http://picasaweb.google.co.jp/fumitoshi.ukai/20070913JapanLinuxConference2007Day1" style="color:#4D4D4D;font-weight:bold;text-decoration:none;">2007-09-13<wbr></wbr>-JapanLinuxConference2007Day1</a></td></tr></table>

MacOSX + emone modem

Japan Linux Conference会場からemoneをモデムにしてMacOSXでネットワーク接続。
Bluetooth で接続を試したが、なぜかmodem scriptでerrorになって接続されない。logをみるとこんなかんじ
CCLWrite : AT\13
CCLMatched : OK\13\10
CCLWrite : ATI4\13
CCLWrite : AT&F1E0W2S95=45S0=0&D3S7=120\13
CCLMatched: ERROR\13\10
CCLWrite : AT&F\13
Connect script failed
Modem設定をいろいろかえてみたけどなんか変化なさげ。 knok先生にemone USB driverをもらって、USB接続でなんとかつながった。 dial先は「*99***1#」、 PPP option で Send PPP echo packets、 Modem は I-O DATA USB-PCADP あたりで。 なんか、結局 BluetoothのMain Numberほうじゃなくて、別のConfigurationsをつくって、Telephone number に「*99***1#」、Modem は適当に I-O DATA USB-PCADP でうまくいった。 が、バッテリがきれそう。USBで給電できんのか。

Wednesday, September 12, 2007

bloggerではてぶ

テンプレートのHTMLを編集すればOKぽい。
テンプレート->HTMLの編集で、まずテンプレートをすべてダウンロード。 ダウンロードしてきたXMLに次を加える。<span class="'post-backlinks">と <span class="'post-icons'"> に間に加えました。
 
 <span class='post-hatena-bookmark-icon'>
   <b:if cond='data:post.link'>
    <a 
      expr:href='"http://b.hatena.ne.jp/entry/"
                 + data:post.link'>
     <img src="http://.../b_entry.gif"
        width="16" height="12"
        style="border: none;"
        alt="このエントリを含むはてなブックマーク"
     title="このエントリを含むはてなブックマーク" />
    </a>
   <b:else/>
    <b:if cond='data:post.url'>
     <a
       expr:href='"http://b.hatena.ne.jp/entry/"
                  + data:post.url'>
      <img src="http://.../b_entry.gif"
           width="16" height="12"
           style="border: none;"
           alt="このエントリを含むはてなブックマーク"
       title="このエントリを含むはてなブックマーク" />
     </a>
    </b:if>
   </b:if>
 </span> <span class='post-hatena-bookmark-users'>
   <b:if cond='data:post.link'>
    <a
      expr:href='"http://b.hatena.ne.jp/entry/"
               + data:post.link'>
     <img
        expr:src='"http://b.hatena.ne.jp/entry/image/"
            + data:post.link' />
    </a>
   <b:else/>
    <b:if cond='data:post.url'>
     <a
        expr:href='"http://b.hatena.ne.jp/entry/"
            + data:post.url'>
       <img
         expr:src='"http://b.hatena.ne.jp/entry/image/"
             + data:post.url' />
      </a>
     </b:if>
    </b:if>
 </span>
修正したXMLをアップロードでOK。あんまり素人にはおすすめできないな。 テンプレート->ページ要素でブログの投稿を編集したりすると消えるのかな? data:post.link と data:post.url はどういう時にどっちになるんだろ?

snapshot.debian.net down? estproxy problem?

最近、snapshot.debian.net の古いアーカイブにアクセスできないという問いあわせがちらほら。 今のところまだ athlon64.fsij.org を backend serverに使っているのだけど、athlon64.fsij.org の apache2 が estproxy.cgi ににぎられたままでどれもサーブできなくなっているみたい? apache2 を restart するとなおる。

Tuesday, September 11, 2007

ソフトウェア技術者はまずソフトウェア技術のことをもっと知ったほうがいい

ソフトウェア開発者は製造業のことを知った方がよいから。製造業のことは詳しくは知らないので知った方がよいかどうかの判断はできませんが、ちょっと気になったところ。
我々の作るものには物理的制約がないこと
はよく言われるけど、そんなことないでしょう。少なくとも光のスピードを越えられない以上、計算速度の限界があります。それに実際問題として、速度と空間はトレードオフの関係にあることも忘れてはだめでしょう。 時間と空間(記憶容量)は我々に制約をかけてます。メモリ上なら(cacheにのっていればさらに)高速に計算できますが、メモリ(or cache)の容量は限られています。それ以上のデータを扱おうとすると ディスクもしくはネットワーク越しのサーバーを使わざるを得なくなりますが、それはとても遅いということはソフトウェア技術者ならば当然知っておくべきのことのはず。ディスクアクセスはそれこそ物理的制約(ヘッドのシーク)が効いてきます。 アクセスにどれくらい時間がかかるかについては"Numbers Everyone Should Know"としてよく知られています(See CS343 Spring 2007) それに、メモリがいくら速いとしてもそれなりの規模のデータになれば、適切なアルゴリズムを使わないと実用的な速度で使えるソフトウェアにならないことも忘れちゃだめです。 「大半のレイヤーが人為で作られた不確定要因だらけのソフトウェア開発」という不確定要因とは何でしょう。 設計・実装がしっかりできてないだけなのではないのですか?ソフトウェアをどのように作るべきか知らない人が設計したりしていませんか?わかりやすくメンテしやすく堅牢で性能のでるプログラムを書くための方法を知らないで、とにかく最初に思いついたコードを書いているだけではありませんか?トレードオフを考えよりよいコードにできないか検討して、改善していますか?なにか不可解なことがおこっても「相性のせいで」とか「バッドノウハウ」とかですませてしまって、深く追求していかないせいではありませんか? コンポーネントが十分に堅牢かテストしていますか? 書くべきドキュメントやコメントを書かなかったり、逆にテストコードで書くべきことを無駄にドキュメントにしていませんか?(不安定な)コンポーネントを「なんとなくこうすれば動くから」というようなやりかたでつみあげていっているから不確定要因だらけになってしまっているのではありませんか? ソフトウェア技術者ならば、ソフトウェアを作りあげるための部品・材料になにがあるか、その特性、その使いこなし方のことをまずもっと知るべきなのです。ということを最近ますます思うようになっています。

Saturday, September 8, 2007

ヱヴァンゲリヲン 新劇場版: 序

takuo, makutsu, yaegashi と一緒に新宿シネマスクエア東急で鑑賞。 その後、牛角で晩飯。

ITpro challenge!

ITpro challenge! で「ハッカーのソフトウェアエンジニアリング」というネタでしゃべってきた。説明しようとするとある意味あたりまえなことの積み重ねでしかなくて、うまく説明できたのかどうか。 「エンジニアに必要なのは技術だけじゃない」というのを時々みかけるけど、「技術がない人はエンジニアじゃない」というのが欠けてるような気がする。とにかく基礎的な技術をつみかさねていくことが大事なんだということがひとつ。 ハッカーが実践していることは、フリーソフトウェア・オープンソースソフトウェアの世界でも、Googleの中とかでも実はあんまりかわらないのがもうひとつ。ITpro challenge!の他の発表者の人のを聞いてもやはりやり方としてはあんまりかわらないよなーと思いました。 あと追加するとすれば、知識をだしおしみしないほうがよいということと、ああいうイベントにでるとやはりいろいろ刺激をうけていいなあということかな。 面接についてはいろいろ面白い話があるけど具体的にいえないのが残念。ちなみにSoftware Engineer では、こんな問題 はだしません。 What to expect from your Google interview を見ましょう。 FizzBuzz問題が簡単すぎるという人はいろいろなバリエーションを考えてみるといいかも。例えばこういうの
  • 制限を加える(ループを使わないで書く、剰余を使わないで書く、…)
  • printせず list にしてかえす
  • FizzBuzzをテストするプログラムを書く
  • 3とか5がパラメータ化されているとして、出力からそのパラメータを調べる
来週は LinuxConference 2007 をよろしく。 2007/09/10 23:30 追記: ITProの記事

Sunday, September 2, 2007

yaegashi邸

yaegashiさん家に遊びに。Bronptonとかに乗せてもらう。思ってたより乗りやすいな。
鮨とかスイカとかを食いまくった。