Sunday, September 30, 2007
snapshot.debian.net diskいれかえ
snapshot.debian.netのdiskをいれかえ。
以前は500Gでだいたい3ヶ月だったのにだんだん短くなって今回は1ヶ月半くらい(8/12-9/30)になってしまってる。
Friday, September 28, 2007
Monday, September 24, 2007
Sunday, September 23, 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&noui' + '&jump=close&url=\'+encodeURIComponent(\'' + data:post.url + \'')+\'&' + '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>注意すべき点は、& を & とエンコードすること、' のエスケープに気をつけること かな。 それから、これを 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.inifeed 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について発表した。
晩は新橋でですけ。
2007-09-14 |
Thursday, September 13, 2007
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 failedModem設定をいろいろかえてみたけどなんか変化なさげ。 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) それに、メモリがいくら速いとしてもそれなりの規模のデータになれば、適切なアルゴリズムを使わないと実用的な速度で使えるソフトウェアにならないことも忘れちゃだめです。 「大半のレイヤーが人為で作られた不確定要因だらけのソフトウェア開発」という不確定要因とは何でしょう。 設計・実装がしっかりできてないだけなのではないのですか?ソフトウェアをどのように作るべきか知らない人が設計したりしていませんか?わかりやすくメンテしやすく堅牢で性能のでるプログラムを書くための方法を知らないで、とにかく最初に思いついたコードを書いているだけではありませんか?トレードオフを考えよりよいコードにできないか検討して、改善していますか?なにか不可解なことがおこっても「相性のせいで」とか「バッドノウハウ」とかですませてしまって、深く追求していかないせいではありませんか? コンポーネントが十分に堅牢かテストしていますか? 書くべきドキュメントやコメントを書かなかったり、逆にテストコードで書くべきことを無駄にドキュメントにしていませんか?(不安定な)コンポーネントを「なんとなくこうすれば動くから」というようなやりかたでつみあげていっているから不確定要因だらけになってしまっているのではありませんか? ソフトウェア技術者ならば、ソフトウェアを作りあげるための部品・材料になにがあるか、その特性、その使いこなし方のことをまずもっと知るべきなのです。ということを最近ますます思うようになっています。
Monday, September 10, 2007
Saturday, September 8, 2007
ITpro challenge!
ITpro challenge! で「ハッカーのソフトウェアエンジニアリング」というネタでしゃべってきた。説明しようとするとある意味あたりまえなことの積み重ねでしかなくて、うまく説明できたのかどうか。
「エンジニアに必要なのは技術だけじゃない」というのを時々みかけるけど、「技術がない人はエンジニアじゃない」というのが欠けてるような気がする。とにかく基礎的な技術をつみかさねていくことが大事なんだということがひとつ。
ハッカーが実践していることは、フリーソフトウェア・オープンソースソフトウェアの世界でも、Googleの中とかでも実はあんまりかわらないのがもうひとつ。ITpro challenge!の他の発表者の人のを聞いてもやはりやり方としてはあんまりかわらないよなーと思いました。
あと追加するとすれば、知識をだしおしみしないほうがよいということと、ああいうイベントにでるとやはりいろいろ刺激をうけていいなあということかな。
面接についてはいろいろ面白い話があるけど具体的にいえないのが残念。ちなみにSoftware Engineer では、こんな問題 はだしません。 What to expect from your Google interview を見ましょう。
FizzBuzz問題が簡単すぎるという人はいろいろなバリエーションを考えてみるといいかも。例えばこういうの
- 制限を加える(ループを使わないで書く、剰余を使わないで書く、…)
- printせず list にしてかえす
- FizzBuzzをテストするプログラムを書く
- 3とか5がパラメータ化されているとして、出力からそのパラメータを調べる
Sunday, September 2, 2007
Subscribe to:
Posts (Atom)