Monday, December 31, 2007

Linux で emone modem

帰省するので emone を使えるように設定。 cableは ヨドバシで Retractable Cable Dual for EM・ONE(S01SH)を購入。USBで繋いで充電もできるやつ。 つなぐとこんなかんじ
# lsusb
Bus 001 Device 001: ID 0000:0000  
Bus 002 Device 003: ID 04dd:9151 Sharp Corp. 
Bus 002 Device 001: ID 0000:0000  
Bus 002 Device 003 の ID 04dd:9151 Sharp Corp. がそれ。 Linux kernelがすごく古かったので、まず新しめのに。
# apt-get install linux-source-2.6.23
# apt-get install ipw2200-source
% cd /usr/src
% tar xvf linux-2.6.23.tar.bz2
% make menuconfig
% make-kpkg --rootcmd fakeroot --append_to_version .$(hostname).1 binary_arch
% sudo dpkg -i ../linux-image-2.6.23.$(hostname).1-10.00.Custom_i386.deb
このバージョンだと、drivers/usb/serial/ipaq.ko に含まれている (drivers/usb/serial/ipaq.c の ipaq_id_table を参照)
static struct usb_device_id ipaq_id_table [] = {
        /* The first entry is a placeholder for the insmod-specified device */
...
        { USB_DEVICE(0x04DD, 0x9151) }, /* SHARP S01SH USB Modem */
昔とちがって iw2200とか最初から入っているので楽だな。 debをインストールしたら reboot。 pppの設定は pppconfig emone
  • Dynamic 動的DNSを使う
  • PAP
    • ユーザー名: 適当(emoneとか)
    • パスワード: 適当(emoneとか)
    • 速度: 115200
    • パルスまたはトーン: Tone
    • 電話番号: *99***1#
    • モデル: /dev/ttyUSB0
これでpon emoneで接続可能。 問題は実家が EMobile圏内かどうかだな。

Saturday, December 29, 2007

忘年会

16:00から会社のSocial TGIFで、シャンペン飲んだりワイン飲んだり、普段あんまりかかわりがない人とおしゃべりをしたり。なんか今年はあっという間に一年たったかんじだなー。来年はなんかもっとおもしろいことにもチャレンジしてみたいところだ。
その後、18:00からのたん清忘年会へ。会社出るのが遅れたて17:50くらい渋谷発だったが、代々木でロスタイムなしで乗り換えできたので20分くらいの遅れで到着。今年はAr-さん幹事で参加者20名くらい? Googleノートブックで参加状況管理してたけど、なんか便利なのがあるといいのかも。まわりだとGoogle ドキュメントのスプレッドシート使う人が多いかな。 この忘年会ももう10年弱続いているのかなぁ。参加できなかったのはUS Coloradoにいっていた21世紀を向かえる時だけかな? その後、Ar-さん、nnnさん、yaegashiさんと素材屋で二次会。 高井戸行きの終電はのがしてしまっていたので、荻窪経由で帰ることに。雨だしtaxiにしようかなと思ったけど、taxi待ちの行列がすごいことになっていたので徒歩で30分。

Thursday, December 27, 2007

code.google.com/hosting においてみた

twitter用につくってみた例のコードcode.google.com/hostingにおいてみることにした。 名前は monogiki。物聞(ものぎき)とは「情報収集者。表面に表れている事を見聞して味方に報告する者」です。 code.google.com/hostingでProjectを作るのは簡単でした。
  1. まずCreate a Projectへ。ここで必要な情報をいれる。重要なのはProject name。
  2. そうするとhttp://code.google.com/p/projectnameができる。Summary が上でProject nameのうしろに表示されるテキスト、Descriptionが Project Home の最初のコンテンツとなる。project name以外は後で Admin画面 (http://code.google.com/p/projectname/adminで変更可能)
  3. Analyticsも仕込める。まずcode.google.comでprofileを作ってから、profile情報の編集でURLをhttp://code.google.com/p/projectname/に設定して、profile numberを adminページのほうで登録するようにすればよい。
  4. Subversion repositoryはhttp://projectname.googlecode.com/svn/にできている。commitするには httpsを使い、かつgooglecode.comのパスワード(!= Google Accountのパスワード)を使う必要がある。http://code.google.com/p/projectname/sourceをみること。
  5. 普通にsvnでいいのだが、ここではgit-svnを使ってみることにした
    % git-svn clone https://monogiki.googlecode.com/svn/trunk/ --username fumitoshi.ukai
    Initialized empty Git repository in .git/
    Authentication realm:  Google Code Subversion Repository
    Password for 'fumitoshi.ukai': 
    r1 = df41d45fb737f7005f69fce5f7f4a5add6d59b0f (git-svn)
    Checked out HEAD:
      https://monogiki.googlecode.com/svn/trunk r1
    % ls
    trunk/
    % cd trunk
    % ls -a
    ./  ../   .git
    % git branch
    * master
    % cp ~/src/tmp/keitaixmpp.rb monogiki.rb
    % git add monogiki.rb
    % git status
    # On branch master
    # Changes to be committed:
    #   (use "git reset HEAD ..." to unstage)
    #
    #       new file:   monogiki.rb
    #
    % git commit
    Created commit e7b432c: Initial version of monogiki
     1 files changed, 158 insertions(+), 0 deletions(-)
     create mode 100755 monogiki.rb
    % git-svn rebase
    Current branch master is up to date.
    % git-svn dcommit
    Committing to https://monogiki.googlecode.com/svn/trunk ...
            A       monogiki.rb
    Committed r2
            A       monogiki.rb
    r2 = f62de3dc10e0d8ad5d932b8642b69251a7dd9121 (git-svn)
    No changes between current HEAD and refs/remotes/git-svn
    Resetting to the latest refs/remotes/git-svn
    % 
    
    最初にgit-svn cloneでとってきて、ローカルで適当にgit commitし、svnのほうに反映させる時にgit-svn dcommitするようにすればいい。とりあえず問題なく使えるみたい。ただしsidのgit-svnじゃないとだめっぽい。

Monday, December 24, 2007

Twitter はじめました

なんか周り(*1, *2)で twitterを使いはじめている人が増えてきたみたいなので、今さらながらはじめてみる。出遅れすぎているので ukai とかはとられていたのでフルネームで。http://twitter.com/fumitoshi_ukai
いちいちtwitter.comのページみにいったりするのは面倒なので Google Talk経由の設定をした。 こういうのは携帯からもやりたいよなーと思いつつ、少し探してみた。movatwitterだとパスワードを渡さないといけないのがすごく嫌だなぁ。そもそも携帯で Google Talk (XMPP/Jabber) client があればいいのにと思いつつ探してみたがこれも日本の携帯向けはあんまりなさげ。 というわけで keitaircぽいのをへろへろっと自作。code.google.comあたりにおいといたほうがいいかな。
#!/usr/bin/ruby1.8
#
# Copyright (c) 2007 Fumitoshi Ukai <ukai@debian.or.jp>
# This program is covered by the GNU General Public License 2 or later
#
# depends: ruby1.8, libxmpp4r-ruby1.8, libwebrick-ruby1.8,
#
# Configuration file: ~/.keitaixmpprc
# The file should contains the following variables:
## configuration file for keitaixmpp
# MYJID = 'yourname@gmail.com/XmppProxy'
# MYJIDPASSWD = 'your-gmail-password'
# TARGETJID = 'twitter@twitter.com'
# HTTPADDR = '0.0.0.0'
# HTTPPORT = 8088
# HTTPUSER = 'username'
# HTTPPASSWD = 'password'
#
$KCODE = "u"
require 'kconv'
require 'xmpp4r'
require 'webrick'
require 'webrick/httpauth'
require 'webrick/httputils'

class XmppProxy
 attr_reader :messages
 attr_reader :targetjid
 MAX_LINES = 50

 def initialize(jid, pass, targetjid)
   # Jabber::debug = true
   @pass = pass
   @targetjid = targetjid
   @client = Jabber::Client.new(Jabber::JID.new(jid))
   @messages = []
   @closed = false

   @client.connect
   @client.auth(@pass)
   @client.send(Jabber::Presence::new)
   @client.add_message_callback do |message|
     if message.type == :error
       return
     end
     from = message.from
     if from.nil?
       return
     end
     if from.strip == @targetjid.strip
       addmsg(message.body)
     end
   end
   @client.on_exception do |ex, stream, event|
     $stderr.puts "Exception #{ex} #{event}"
     if @closed
       $stderr.puts "closed, bye"
     end
     @client.connect
     @client.auth(@pass)
     @client.send(Jabber::Presence::new)
   end
   @keepalive = Thread.new do
     while not @closed
       if @client.is_connected?
         @client.send(Jabber::Presence::new)
       end
       sleep 30
     end
   end
 end

 def send(msg)
   @client.send(Jabber::Message.new(@targetjid, msg).set_type(:chat))
   addmsg("me #{msg}")
 end

 def addmsg(msg)
   if msg.nil?
     return
   end
   @messages.unshift(msg)
   if @messages.length > MAX_LINES
     @messages.pop
   end
 end

 def close()
   @client.close
   @closed = true
   @keepalive.join
 end
end # XmppProxy

class XmppServlet < WEBrick::HTTPServlet::AbstractServlet
 def initialize(server, *options)
   @xmppproxy, @user, @pass, = options
 end

 def auth(req, res)
   unless @user.nil? and @pass.nil?
     WEBrick::HTTPAuth.basic_auth(req, res, "XmppServlet") do |user, pass|
       user == @user && pass == @pass
     end
   end
 end

 def do_GET(req, res)
   auth(req, res)
   show_page(req, res)
 end

 def do_POST(req, res)
   auth(req, res)
   if ! req.query["m"].empty?
     @xmppproxy.send(Kconv.kconv(req.query["m"], Kconv::UTF8, Kconv::SJIS))
   end
   show_page(req, res)
 end

 def show_page(req, res)
   res.status = 200
   res.content_type = "text/html; charset=Shift_JIS"
   msg = WEBrick::HTMLUtils::escape(@xmppproxy.messages.join("\n"))
   res.body = <<HTML
<html>
<head> <meta http-equiv="Cache-Control" Content="max-age=0"/>
<title>XmppProxy</title>
</head>
<body>
<form action="#{req.request_uri.path}" method="POST">
<input type="text" name="m" size="10">
<input type="submit" accesskey="1" value="OK[1]">
</form>
<pre>
#{Kconv.kconv(msg, Kconv::SJIS, Kconv::UTF8)}
</pre>
<p>#{@xmppproxy.targetjid}</p>
</body></html>
HTML
 end
end # XmppServlet

if __FILE__ == $0
 CONFIGFILE = "~/.keitaixmpprc"

 load CONFIGFILE
 xmpp = XmppProxy.new(MYJID, MYJIDPASSWD, TARGETJID)
 server = WEBrick::HTTPServer.new({:BindAddress => HTTPADDR,
                                    :Port => HTTPPORT})
 ['INT', 'TERM'].each do |signal|
   Signal.trap(signal) { server.shutdown }
 end
 server.mount('/', XmppServlet, xmpp, HTTPUSER, HTTPPASSWD)
 server.start
end
追記(2007/12/27 02:30): code.google.com/hostingにおいてみました

hp Proliant ML110G5 続き2 - Lights-Out 100

ML110G5 の Lights-Out 100 には web interface もあるのでそれも試してみた。 Virtual KVM/Media は Java Appletのようなのだが、うまく動かない。 Java console を見ると
Java(TM) Plug-in: バージョン 1.4.2_05
...
java.langu.UnsupportedClassVersionError: com/serverengines/mahogany/MahoganyViewer (Unsupported major.minor version 49.0)
で駄目? apt-get install sun-java5-pluginして Java(TM) Plug-in 1.5.0_13-b05 にいれかえると なんか動いた。が、なんか起動は遅いなー。途中で閉じたりするとなんか変な状態になるみたいなので、おかしかったらブラウザを起動しなおしたほうがよさそう。Windowsとかと違って Linux serverなら serial consoleあればとりあえずokだが、BIOS setupとかもリモートでできるのは便利かな。

Sunday, December 23, 2007

hp Proliant ML110G5 続き

SATAケーブルを買ってきて HDD を追加。一応 diagnostics toolsでテストしたが、すごい時間かかるな。diagnostics toolsをいろいろみていたら BIOS characteristics の中に NEC PC-98 とかいう項目があることに気付いた。まだあるのかー。
ata1.01: ATA-8: Hitachi HDP725050GLA360, GM4OA52A, max UDMA/133
ata1.01: 976773168 sectors, multi 16: LBA48 NCQ (depth 0/32)
ata1.01: configured for UDMA/133
usb 4-2: device not accepting address 2, error -71
ata2.00: ATA-8: Hitachi HDP725050GLA360, GM4OA52A, max UDMA/133
ata2.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 0/32)
ata2.00: configured for UDMA/133
scsi 0:0:0:0: Direct-Access     ATA      FB080C4080       n/a  PQ: 0 ANSI: 5
scsi 0:0:1:0: Direct-Access     ATA      Hitachi HDP72505 GM4O PQ: 0 ANSI: 5
scsi 1:0:0:0: Direct-Access     ATA      Hitachi HDP72505 GM4O PQ: 0 ANSI: 5

sd 0:0:1:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
sd 0:0:1:0: [sdb] Write Protect is off
sd 0:0:1:0: [sdb] Mode Sense: 00 3a 00 00
sd 0:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sdb: unknown partition table
sd 0:0:1:0: [sdb] Attached SCSI disk
sd 1:0:0:0: [sdc] 976773168 512-byte hardware sectors (500108 MB)
sd 1:0:0:0: [sdc] Write Protect is off
sd 1:0:0:0: [sdc] Mode Sense: 00 3a 00 00
sd 1:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sdc: unknown partition table
sd 1:0:0:0: [sdc] Attached SCSI disk
cfdisk で Linux auto raid detect type な partition を作成。
# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
# mdadm -q /dev/md0
/dev/md0: 465.76GiB raid1 2 devices, 0 spares. Use mdadm --detail for more detail.
# mdadm --detail /dev/md0 
/dev/md0:
        Version : 00.90.03
  Creation Time : Sun Dec 23 21:24:48 2007
     Raid Level : raid1
     Array Size : 488383936 (465.76 GiB 500.11 GB)
    Device Size : 488383936 (465.76 GiB 500.11 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Sun Dec 23 21:24:48 2007
          State : clean, resyncing
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

 Rebuild Status : 13% complete

           UUID : cd2886dc:4789c813:49ae4a93:87ed48f6 (local to host mango)
         Events : 0.1

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
# mkfs -j /dev/md0 
mke2fs 1.40-WIP (14-Nov-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
61063168 inodes, 122095984 blocks
6104799 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
3727 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
serial consoleの設定はこうしておけばOKかな。 まず BIOS の Advanced Console Redirection で
  • Console Redirection: Enabled
  • EMS Console: Enabled
  • Baud rate: 115.2K
  • Console Type: VT100
  • FLow Control: CTS/RTS
  • Continue C.R After POST: Disabled
なんか「Continue C.R. After POST」をEnabledにしておくと grub の serial設定でささった。罠ぽい。 で GRUB の設定は次を追加
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=3 serial console
さらに/etc/inittab
T0:23:respawn:/sbin/getty -L ttyS0 115200 vt102
こうしておくと Lights-Out 100 に telnet で login して、このserial経由でオペレーションできる。
% telnet aaa.bbb.ccc.ddd
Trying aaa.bbb.ccc.ddd...
Connected to aaa.bbb.ccc.ddd.
Escape character is '^]'.

*** IPCOM ***
login: foo
Password: 

Lights-Out 100 Management
Copyright 2005-2007 ServerEngines LLC
Copyright 2006-2007 Hewlett-Packard Development Company, L.P.

/./-> 
ここで cd system1してresetで電源リセット、startで電源オン、stopで電源オフ など。 ESC-Q で serial consoleに attach。抜ける時は ESC-(。

Saturday, December 22, 2007

hp Proliant ML110G5

先週くらいに発注していた hp Proliant ML110G5 が届いていたので設定作業。
まずはCPUを Quad Core Intel Xeon Q6600 に、memoryも PC2-6400 unbuffer DDR2 800MHz 1GB * 4 にいれかえ。diskは SATA cableがなかったので標準設定の 80G を system root にすることにする。 まずは付属の hp diagnostics toolでテスト。Linux baseなんだな。All test pass。
OSなしモデルなので、さっそくDebianをインストール。
# wodim --devices
wodim: Overview of accessible drives (1 found) :
-------------------------------------------------------------------------
 0  dev='/dev/hdc'      rwrw-- : 'MATSHITA' 'DVD-RAM UJ-823S'
-------------------------------------------------------------------------
zsh: exit 1     wodim --devices
# nice --18 wodim -eject -v speed=2 dev=/dev/hdc -data -pad \
/tmp/debian-40r1-amd64-businesscard.iso
これだと CDROMが見えないといってインストールがすすまない。hda (SATA HDD 1)は見えているぽいので、DVD driveを SATAの先頭4つ以内に繋げばいけるのかも(defaultは SATA HDD 5に接続されている) http://kmuto.jp/debian/d-i/から etch-custom-1013.iso を入手してそちらでtry。 US Englishで設定していたら timezone がUSのエリアからしか選べなくなっている。とりあえず Pacific選んでおいて後から直すことにする。あとは特にトラブルこともなくすすむ。partitioningも defaultで。 installerからrebootして、まずは timezoneの修正
# echo 'Asia/Tokyo' > /etc/timezone
# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
とりあえずこんなかんじ。
# uname -a
Linux mango 2.6.23-1-amd64 #1 SMP Fri Oct 12 23:45:48 UTC 2007 x86_64 GNU/Linux
# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             73742752    753252  69243548   2% /
tmpfs                  1964988         0   1964988   0% /lib/init/rw
udev                     10240        72     10168   1% /dev
tmpfs                  1964988         0   1964988   0% /dev/shm
# free
             total       used       free     shared    buffers     cached
Mem:       3929976     163080    3766896          0       6348      90528
-/+ buffers/cache:      66204    3863772
Swap:      3229024          0    3229024
# lspci
00:00.0 Host bridge: Intel Corporation Unknown device 29f0 (rev 01)
00:01.0 PCI bridge: Intel Corporation Unknown device 29f1 (rev 01)
00:1a.0 USB Controller: Intel Corporation Unknown device 2937 (rev 02)
00:1a.1 USB Controller: Intel Corporation Unknown device 2938 (rev 02)
00:1a.2 USB Controller: Intel Corporation Unknown device 2939 (rev 02)
00:1a.7 USB Controller: Intel Corporation Unknown device 293c (rev 02)
00:1c.0 PCI bridge: Intel Corporation Unknown device 2940 (rev 02)
00:1c.4 PCI bridge: Intel Corporation Unknown device 2948 (rev 02)
00:1c.5 PCI bridge: Intel Corporation Unknown device 294a (rev 02)
00:1d.0 USB Controller: Intel Corporation Unknown device 2934 (rev 02)
00:1d.1 USB Controller: Intel Corporation Unknown device 2935 (rev 02)
00:1d.2 USB Controller: Intel Corporation Unknown device 2936 (rev 02)
00:1d.7 USB Controller: Intel Corporation Unknown device 293a (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation Unknown device 2916 (rev 02)
00:1f.2 IDE interface: Intel Corporation Unknown device 2920 (rev 02)
00:1f.3 SMBus: Intel Corporation Unknown device 2930 (rev 02)
00:1f.5 IDE interface: Intel Corporation Unknown device 2926 (rev 02)
0d:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200e [Pilot] ServerEngines (SEP1) (rev 02)
0e:00.0 Ethernet controller: Broadcom Corporation Unknown device 165a
# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz
stepping        : 11
cpu MHz         : 2394.034
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant
_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl vmx est tm2 ssse3 cx16 xt
pr lahf_lm
bogomips        : 4791.75
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

(これが4つ)
# dmesg
Linux version 2.6.23-1-amd64 (Debian 2.6.23-1~mtu1) (kmuto@debian.org) (gcc vers
ion 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Fri Oct 12 23:45:48 UT
C 2007
Command line: root=/dev/sda1 ro 
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009dc00 (usable)
 BIOS-e820: 000000000009dc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000dc000 - 00000000000e0000 (reserved)
 BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 00000000e7e40000 (usable)
 BIOS-e820: 00000000e7e40000 - 00000000e7e56000 (ACPI data)
 BIOS-e820: 00000000e7e56000 - 00000000e7e57000 (ACPI NVS)
 BIOS-e820: 00000000e7e57000 - 00000000e8000000 (reserved)
 BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)
 BIOS-e820: 0000000100000000 - 0000000110000000 (usable)
Entering add_active_range(0, 0, 157) 0 entries of 3200 used
Entering add_active_range(0, 256, 949824) 1 entries of 3200 used
Entering add_active_range(0, 1048576, 1114112) 2 entries of 3200 used
end_pfn_map = 1114112
DMI present.
ACPI: RSDP 000F7580, 0024 (r2 PTLTD )
ACPI: XSDT E7E4F196, 0094 (r1 PTLTD      XSDT    6040000  LTP        0)
ACPI: FACP E7E55693, 00F4 (r3 HP               6040000 PTL         2)
ACPI: DSDT E7E50934, 4CDB (r1     HP    BIGBY  6040000 MSFT  100000E)
ACPI: FACS E7E56FC0, 0040
ACPI: SPMI E7E55787, 0040 (r5 HP     ProLiant  6040000 PTL         1)
ACPI: EINJ E7E557C7, 01B0 (r1 PTL    WHEAPTL   6040000 PTL         1)
ACPI: HEST E7E55977, 01D0 (r1 PTL    WHEAPTL   6040000 PTL         1)
ACPI: BERT E7E55B47, 0030 (r1 PTL    WHEAPTL   6040000 PTL         1)
ACPI: SSDT E7E55B77, 00E1 (r1 wheaos  wheaosc  6040000 INTL 20050624)
ACPI: ERST E7E55C58, 0270 (r1 PTL    WHEAPTL   6040000 PTL         1)
ACPI: MCFG E7E55EC8, 003C (r1 PTLTD    MCFG    6040000  LTP        0)
ACPI: APIC E7E55F04, 0084 (r1 PTLTD      APIC    6040000  LTP        0)
ACPI: BOOT E7E55F88, 0028 (r1 PTLTD  $SBFTBL$  6040000  LTP        1)
ACPI: SPCR E7E55FB0, 0050 (r1 PTLTD  $UCRTBL$  6040000 PTL         1)
ACPI: SSDT E7E506D5, 025F (r1  PmRef  Cpu0Tst     3000 INTL 20050228)
ACPI: SSDT E7E5062F, 00A6 (r1  PmRef  Cpu1Tst     3000 INTL 20050228)
ACPI: SSDT E7E4F22A, 1405 (r1  PmRef    CpuPm     3000 INTL 20050228)
No NUMA configuration found
Faking a node at 0000000000000000-0000000110000000
Entering add_active_range(0, 0, 157) 0 entries of 3200 used
Entering add_active_range(0, 256, 949824) 1 entries of 3200 used
Entering add_active_range(0, 1048576, 1114112) 2 entries of 3200 used
Bootmem setup node 0 0000000000000000-0000000110000000
Zone PFN ranges:
  DMA             0 ->     4096
  DMA32        4096 ->  1048576
  Normal    1048576 ->  1114112
Movable zone start PFN for each node
early_node_map[3] active PFN ranges
    0:        0 ->      157
    0:      256 ->   949824
    0:  1048576 ->  1114112
On node 0 totalpages: 1015261
  DMA zone: 56 pages used for memmap
  DMA zone: 1046 pages reserved
  DMA zone: 2895 pages, LIFO batch:0
  DMA32 zone: 14280 pages used for memmap
  DMA32 zone: 931448 pages, LIFO batch:31
  Normal zone: 896 pages used for memmap
  Normal zone: 64640 pages, LIFO batch:15
  Movable zone: 0 pages used for memmap
ACPI: PM-Timer IO Port: 0x1008
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 (Bootup-CPU)
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
Processor #1
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
Processor #2
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
Processor #3
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 4, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Setting APIC routing to flat
Using ACPI (MADT) for SMP configuration information
swsusp: Registered nosave memory region: 000000000009d000 - 000000000009e000
swsusp: Registered nosave memory region: 000000000009e000 - 00000000000a0000
swsusp: Registered nosave memory region: 00000000000a0000 - 00000000000dc000
swsusp: Registered nosave memory region: 00000000000dc000 - 00000000000e0000
swsusp: Registered nosave memory region: 00000000000e0000 - 00000000000e4000
swsusp: Registered nosave memory region: 00000000000e4000 - 0000000000100000
swsusp: Registered nosave memory region: 00000000e7e40000 - 00000000e7e56000
swsusp: Registered nosave memory region: 00000000e7e56000 - 00000000e7e57000
swsusp: Registered nosave memory region: 00000000e7e57000 - 00000000e8000000
swsusp: Registered nosave memory region: 00000000e8000000 - 00000000fec00000
swsusp: Registered nosave memory region: 00000000fec00000 - 00000000fec10000
swsusp: Registered nosave memory region: 00000000fec10000 - 00000000fee00000
swsusp: Registered nosave memory region: 00000000fee00000 - 00000000fee01000
swsusp: Registered nosave memory region: 00000000fee01000 - 00000000ff000000
swsusp: Registered nosave memory region: 00000000ff000000 - 0000000100000000
Allocating PCI resources starting at ea000000 (gap: e8000000:16c00000)
SMP: Allowing 4 CPUs, 0 hotplug CPUs
PERCPU: Allocating 35176 bytes of per cpu data
Built 1 zonelists in Node order.  Total pages: 998983
Policy zone: Normal
Kernel command line: root=/dev/sda1 ro 
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 32768 bytes)
Extended CMOS year: 2000
Marking TSC unstable due to TSCs unsynchronized
time.c: Detected 2394.034 MHz processor.
Console: colour VGA+ 80x25
console [tty0] enabled
Checking aperture...
Calgary: detecting Calgary via BIOS EBDA area
Calgary: Unable to locate Rio Grande table in EBDA - bailing!
PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
Placing software IO TLB between 0x1048000 - 0x5048000
Memory: 3924564k/4456448k available (2067k kernel code, 136480k reserved, 974k d
ata, 304k init)
Calibrating delay using timer specific routine.. 4791.75 BogoMIPS (lpj=9583507)
Security Framework v1.0.0 initialized
SELinux:  Disabled at boot.
Capability LSM initialized
Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
Mount-cache hash table entries: 256
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 4096K
CPU 0/0 -> Node 0
using mwait in idle threads.
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
CPU0: Thermal monitoring handled by SMI
SMP alternatives: switching to UP code
ACPI: Core revision 20070126
Using local APIC timer interrupts.
result 16625224
Detected 16.625 MHz APIC timer.
SMP alternatives: switching to SMP code
Booting processor 1/4 APIC 0x1
Initializing CPU#1
Calibrating delay using timer specific routine.. 4788.34 BogoMIPS (lpj=9576682)
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 4096K
CPU 1/1 -> Node 0
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 1
CPU1: Thermal monitoring enabled (TM2)
Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz stepping 0b
SMP alternatives: switching to SMP code
Booting processor 2/4 APIC 0x2
Initializing CPU#2
Calibrating delay using timer specific routine.. 4788.39 BogoMIPS (lpj=9576790)
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 4096K
CPU 2/2 -> Node 0
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 2
CPU2: Thermal monitoring enabled (TM2)
Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz stepping 0b
SMP alternatives: switching to SMP code
Booting processor 3/4 APIC 0x3
Initializing CPU#3
Calibrating delay using timer specific routine.. 4788.37 BogoMIPS (lpj=9576754)
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 4096K
CPU 3/3 -> Node 0
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 3
CPU3: Thermal monitoring enabled (TM2)
Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz stepping 0b
Brought up 4 CPUs
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: BIOS Bug: MCFG area at f0000000 is not E820-reserved
PCI: Not using MMCONFIG.
PCI: Using configuration type 1
ACPI: EC: Look up EC in DSDT
ACPI: Interpreter enabled
ACPI: (supports S0 S1 S4 S5)
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Transparent bridge - 0000:00:1e.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEG1._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXP1._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXP5._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXP6._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs *3 4 5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
ACPI: bus type pnp registered
pnp: ACPI device : hid PNP0A03
pnp: ACPI device : hid PNP0C02
pnp: ACPI device : hid PNP0200
pnp: ACPI device : hid PNP0C04
pnp: ACPI device : hid PNP0B00
pnp: ACPI device : hid PNP0800
pnp: ACPI device : hid INT0800
pnp: ACPI device : hid PNP0501
pnp: ACPI device : hid IPI0001
pnp: PnP ACPI: found 9 devices
ACPI: ACPI bus type pnp unregistered
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
PCI: Cannot allocate resource region 7 of bridge 0000:00:01.0
PCI: Cannot allocate resource region 7 of bridge 0000:00:1c.0
NET: Registered protocol family 8
NET: Registered protocol family 20
PCI-GART: No AMD northbridge found.
ACPI: RTC can wake from S4
pnp: the driver 'system' has been registered
pnp: match found with the PnP device '00:01' and the driver 'system'
pnp: 00:01: iomem range 0xf0000000-0xf7ffffff has been reserved
pnp: 00:01: iomem range 0xfe000000-0xff7fffff could not be reserved
PCI: Bridge: 0000:00:01.0
  IO window: disabled.
Time: acpi_pm clocksource has been installed.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:1c.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:1c.4
  IO window: disabled.
  MEM window: ec100000-ecffffff
  PREFETCH window: ee000000-eeffffff
PCI: Bridge: 0000:00:1c.5
  IO window: disabled.
  MEM window: ed000000-ed0fffff
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:1e.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
ACPI: PCI Interrupt 0000:00:01.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:01.0 to 64
ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1c.0 to 64
ACPI: PCI Interrupt 0000:00:1c.4[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1c.4 to 64
ACPI: PCI Interrupt 0000:00:1c.5[B] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1c.5 to 64
PCI: Setting latency timer of device 0000:00:1e.0 to 64
NET: Registered protocol family 2
IP route cache hash table entries: 131072 (order: 8, 1048576 bytes)
TCP established hash table entries: 524288 (order: 11, 12582912 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 524288 bind 65536)
TCP reno registered
checking if image is initramfs... it is
Freeing initrd memory: 5105k freed
Simple Boot Flag at 0x44 set to 0x1
audit: initializing netlink socket (disabled)
audit(1198330402.964:1): initialized
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Boot video device is 0000:0d:00.0
PCI: Setting latency timer of device 0000:00:01.0 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:01.0:pcie00]
PCI: Setting latency timer of device 0000:00:1c.0 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:1c.0:pcie00]
Allocate Port Service[0000:00:1c.0:pcie02]
PCI: Setting latency timer of device 0000:00:1c.4 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:1c.4:pcie00]
Allocate Port Service[0000:00:1c.4:pcie02]
PCI: Setting latency timer of device 0000:00:1c.5 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:1c.5:pcie00]
Allocate Port Service[0000:00:1c.5:pcie02]
Real Time Clock Driver v1.12ac
Linux agpgart interface v0.102
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
pnp: the driver 'serial' has been registered
pnp: match found with the PnP device '00:07' and the driver 'serial'
00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 65536K size 1024 blocksize
input: Macintosh mouse button emulation as /class/input/input0
pnp: the driver 'i8042 kbd' has been registered
pnp: the driver 'i8042 aux' has been registered
pnp: the driver 'i8042 kbd' has been unregistered
pnp: the driver 'i8042 aux' has been unregistered
PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
mice: PS/2 mouse device common for all mice
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Freeing unused kernel memory: 304k freed
ACPI Exception (processor_core-0818): AE_NOT_FOUND, Processor Device is not pres
ent [20070126]
ACPI Exception (processor_core-0818): AE_NOT_FOUND, Processor Device is not pres
ent [20070126]
ACPI Exception (processor_core-0818): AE_NOT_FOUND, Processor Device is not pres
ent [20070126]
ACPI Exception (processor_core-0818): AE_NOT_FOUND, Processor Device is not pres
ent [20070126]
USB Universal Host Controller Interface driver v3.0
ACPI: PCI Interrupt 0000:00:1a.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1a.0 to 64
uhci_hcd 0000:00:1a.0: UHCI Host Controller
uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:1a.0: irq 16, io base 0x00001820
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
SCSI subsystem initialized
libata version 2.21 loaded.
ACPI: PCI Interrupt 0000:00:1a.1[B] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1a.1 to 64
uhci_hcd 0000:00:1a.1: UHCI Host Controller
uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1a.1: irq 17, io base 0x00001840
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1a.2[C] -> GSI 18 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:00:1a.2 to 64
uhci_hcd 0000:00:1a.2: UHCI Host Controller
uhci_hcd 0000:00:1a.2: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1a.2: irq 18, io base 0x00001860
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1a.7[C] -> GSI 18 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:00:1a.7 to 64
ehci_hcd 0000:00:1a.7: EHCI Host Controller
ehci_hcd 0000:00:1a.7: new USB bus registered, assigned bus number 4
ehci_hcd 0000:00:1a.7: debug port 1
PCI: cache line size of 32 is not supported by device 0000:00:1a.7
ehci_hcd 0000:00:1a.7: irq 18, io mem 0xec000000
ehci_hcd 0000:00:1a.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 6 ports detected
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 5
uhci_hcd 0000:00:1d.0: irq 16, io base 0x00001880
usb usb5: configuration #1 chosen from 1 choice
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 6
uhci_hcd 0000:00:1d.1: irq 17, io base 0x000018a0
usb usb6: configuration #1 chosen from 1 choice
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 7
uhci_hcd 0000:00:1d.2: irq 18, io base 0x000018c0
usb usb7: configuration #1 chosen from 1 choice
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.7[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1d.7 to 64
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 8
ehci_hcd 0000:00:1d.7: debug port 1
PCI: cache line size of 32 is not supported by device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: irq 16, io mem 0xec000400
ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb8: configuration #1 chosen from 1 choice
hub 8-0:1.0: USB hub found
hub 8-0:1.0: 6 ports detected
usb 5-2: new full speed USB device using uhci_hcd and address 2
tg3.c:v3.81 (September 5, 2007)
ACPI: PCI Interrupt 0000:0e:00.0[A] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:0e:00.0 to 64
eth0: Tigon3 [partno(N/A) rev a200 PHY(5722/5756)] (PCI Express) 10/100/1000Base
-T Ethernet 00:1c:c4:18:15:b4
eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[1] TSOcap[1]
eth0: dma_rwctrl[76180000] dma_mask[64-bit]
ata_piix 0000:00:1f.2: version 2.12
ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1f.2 to 64
scsi0 : ata_piix
scsi1 : ata_piix
ata1: SATA max UDMA/133 cmd 0x00000000000101f0 ctl 0x00000000000103f6 bmdma 0x00
00000000011c10 irq 14
ata2: SATA max UDMA/133 cmd 0x0000000000010170 ctl 0x0000000000010376 bmdma 0x00
00000000011c18 irq 15
ata1.00: ATA-7: FB080C4080,     HPF0, max UDMA/100
ata1.00: 156301488 sectors, multi 16: LBA48 
ata1.00: configured for UDMA/100
scsi 0:0:0:0: Direct-Access     ATA      FB080C4080       n/a  PQ: 0 ANSI: 5
ata_piix 0000:00:1f.5: MAP [ P0 P2 P1 P3 ]
usb 5-2: new full speed USB device using uhci_hcd and address 3
ACPI: PCI Interrupt 0000:00:1f.5[C] -> GSI 18 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:00:1f.5 to 64
scsi2 : ata_piix
scsi3 : ata_piix
ata3: SATA max UDMA/133 cmd 0x0000000000011c68 ctl 0x0000000000011c5e bmdma 0x00
00000000011c30 irq 18
ata4: SATA max UDMA/133 cmd 0x0000000000011c60 ctl 0x0000000000011c5a bmdma 0x00
00000000011c38 irq 18
usb 5-2: configuration #1 chosen from 1 choice
usbcore: registered new interface driver hiddev
input: ServerEngines SE USB Device as /class/input/input1
input: USB HID v1.11 Keyboard [ServerEngines SE USB Device] on usb-0000:00:1d.0-
2
input: ServerEngines SE USB Device as /class/input/input2
input: USB HID v1.11 Mouse [ServerEngines SE USB Device] on usb-0000:00:1d.0-2
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
ata3.00: ATAPI: HL-DT-ST DVD-RAM GSA-H60L, E904, max UDMA/100
ata3.00: configured for UDMA/100
ata3: EH pending after completion, repeating EH (cnt=4)
scsi 2:0:0:0: CD-ROM            HL-DT-ST DVD-RAM GSA-H60L E904 PQ: 0 ANSI: 5
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
pnp: the driver 'ide' has been registered
sd 0:0:0:0: [sda] 156301488 512-byte hardware sectors (80026 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO
 or FUA
sd 0:0:0:0: [sda] 156301488 512-byte hardware sectors (80026 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO
 or FUA
 sda: sda1 sda2 < sda5 >
sd 0:0:0:0: [sda] Attached SCSI disk
Attempting manual resume
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
input: Power Button (FF) as /class/input/input3
ACPI: Power Button (FF) [PWRF]
input: Power Button (CM) as /class/input/input4
ACPI: Power Button (CM) [PWRB]
sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 2:0:0:0: Attached scsi CD-ROM sr0
input: PC Speaker as /class/input/input5
iTCO_wdt: Intel TCO WatchDog Timer Driver v1.02 (26-Jul-2007)
iTCO_wdt: Found a ICH9R TCO device (Version=2, TCOBASE=0x1060)
iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
PCI: Enabling device 0000:00:1f.3 (0001 -> 0003)
ACPI: PCI Interrupt 0000:00:1f.3[B] -> GSI 17 (level, low) -> IRQ 17
sd 0:0:0:0: Attached scsi generic sg0 type 0
sr 2:0:0:0: Attached scsi generic sg1 type 5
Adding 3229024k swap on /dev/sda5.  Priority:-1 extents:1 across:3229024k
EXT3 FS on sda1, internal journal
loop: module loaded
device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel@redhat.com

NET: Registered protocol family 10
lo: Disabled Privacy Extensions
ADDRCONF(NETDEV_UP): eth0: link is not ready
tg3: eth0: Link is up at 1000 Mbps, full duplex.
tg3: eth0: Flow control is on for TX and on for RX.
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
eth0: no IPv6 routers present

Friday, December 21, 2007

WEB+DB PRESS Tech Meeting

WEB+DB PRESS Tech Meetingにいってきた。東京ミッドタウンにいくのははじめてかな。 オフィスをでるのをもたもたしていたら遅刻してしまった。 この会場財団法人日本産業デザイン振興会に協力してもらうと安く使えるらしい。プロジェクターも3つあって「タイトル」「プレゼン資料」「カメラ映像」が投影されていた。なかなかいいかんじの会場でした。 無線LANがあったみたいだけどPCを持っていってなかったのでメモとかはとれず。カメラも持ってくるのを忘れていた。 内容は個人的にはあんまり直接関係ないものが多かった(元請けとか受託とかじゃないし)けど、なかなか楽しめました。
  • 周囲の人の64倍は、どのくらいのレベルを1(普通の人)に設定するのかなぁ。うちで周囲の人の64倍はかなり不可能に近い…
  • 生産的なバグ。テストをちゃんと書きたくなるバグとか設計を見直したくなるのが生産的なバグかなあ。しかし生産的なバグであろうとバグを多く保つのはどうなんだろう。生産性を高めるには、生産的なバグというより開発範囲におもしろい/作ってみたい要素をいれられるか/見つけられるかが重要なんじゃないかと。
  • O'Reillyの渡里さんがいたので「Binary Hacks韓国語版がほしー」と言っておいた。
今回はすごく久しぶりに発表者・主催者側ではない参加でした。(とはいっても関係者席に座ってたりしたわけだが…。原稿をさっさと書かないとなあ)

Saturday, December 15, 2007

Google Tech Talk

午前中に家の契約更新手続きをして、会社へ。ついたら空調効いてなくてかなり暑かった。 今日は学生の人を対象にGoogle Tech Talkで、Googleのインフラ技術の話などをした後いろいろと質疑応答。

Monday, December 3, 2007

Hackathon

Zurichでもやったように TokyoでもHackathonを実施した。Hackathon は Hack+Marathon、FSIJとかでやったCodeFestのようなもの。いく前の週はやや風邪ぎみで体調が心配だったけど、問題なく。 越後湯沢に2泊3日でhackしまくり。充実したイベントであった。
いちおう20% projectということで、いつもあんまり手をつけてないあたりにチャレンジしてみた。
  • 普段は C++ メインなので、Hackathon では Python で書きまくった。JavaScriptも少々
  • 普段みないあたりのコードをみると新たな発見が
  • ありそうなコードをさがすと、やっぱりあったりなかったりいろいろ
  • Python は help()とdir()が便利だな
  • 使うと便利そうなmoduleをいろいろ試してみたり。最初あるmodule Aをつかって実装して、ある別のmodule Bを使おうとdesigndocやhowtoみたら「Aとは別のmodule A'とくみあわせてこのmodule Bを使うほうがよい」とかあってA'を使って実装しなおすはめになったり
  • 結果は 1521 lines added, 306 lines deleted, 407 lines changed, Total 1227 lines.
  • C++と比べてcompileしなくてもすぐ実行できるのはいいのだが、compile時でcheckできそうなミスも実行してから発覚したりするのがいやなかんじだな。
  • いく前にもうすこしネタをつめておいたほうがよかったかも。
他のエンジニアもいろいろおもしろいことをいっぱいやっていた。

Thursday, November 29, 2007

Code Craft

「Code Craft ~エクセレントなコードを書くための実践的技法~」が出版された。 Code ReadingCode Qualityに続く3冊目ぽいかんじだが、作者も違うし毛色もちょっと違う。前の2冊はcoding中心だったけど、Code Craftはいいcodeを書く態度はどういうものかというあたりの話が詳しく書かれている。 いつものごとくカバー裏はもちろん中の表紙も注目。

Wednesday, November 28, 2007

ComSys2007

今日はComSys2007で 招待講演「Googleを支えるインフラ技術」 Googleでは、なぜhigh end serverよりlow end PCをたくさん使っているのか?、power問題、Climate Savers Computing Initiativeなど datacenterでの Computing Platform から、bigtableを中心にGoogleのDistributed System Infrastructure までの話。

Sunday, November 25, 2007

KMC OB交流会

京大11月祭(NF)期間中に KMC OB交流会へ。 今年のKMCのテーマは「お金で買えないバグがある」だとか。
いく途中、京都駅の美術館「えき」KYOTO (JR Kyoto Isetan 7F)で安彦良和展覧会やってたのでよってみたり。 行きも帰りも N700だった。N700だと窓際の席にすれば電源が確保できるのがよい。無線LANのアクセスポイントN700G1〜G8とかが見えたけど認証かかっているようで使えず…

Saturday, November 17, 2007

snapshot.debian.net diskいれかえ

500GB がそろそろ一杯になってきたのでいれかえ。今回は10/1-11/17分。
hdb: ST3750640A, ATA DISK drive
hdb: attached ide-disk driver.
hdb: host protected area => 1
hdb: 1465149168 sectors (750156 MB) w/16384KiB Cache, CHS=91201/255/63, UDMA(66)

/dev/hdb1            721075720    201792 720837300   1% /archive2

Saturday, November 3, 2007

Real UNIX MAGAZINE Day

Real UNIX MAGAZINE Dayに参加してきた。 UNIX MAGAZINEでは一度も執筆したことないのだけど、OSパネルでLinuxについてということでLinuxとかDebianのサイズ変遷とかDebian Description Trendsの話を適当に。プレゼン資料はGoogle Presentationを使ってみた。chatに参加してくれた方ありがとうございました。 未来については不自由なプラットフォームの台頭は無視することはできないと思う。もちろんどんなことでも技術的に回避することはできるのかもしれないけど、そうすることが許されなくなることはありえないことではない。だいたい世の中技術的にはできるけど許されない(犯罪になる)ことは既にいっぱいある(身近(?)なところではコンテンツのコピーとか)。そうならないようにするためには、ソフトウェアの自由な環境がすばらしいこと・なくてはならないことを信じてくれる人を増やしていくことが大事なのだと。 今の環境に(あきらめて)満足せずに、駄目なところを見つけてどんどん改善していきましょう。ハッカーにとってはそうやっていろいろいじることが一番楽しいことのはず。Happy Hacking! 終わった後は神保町ブラッセルで宴会。ベルギービールのみまくり。
和田先生の howmany0s (0の数をカウント)は UNIX人間ならこうしちゃうかなと思った。 seq $start $end | sed -ne 's/[^0]//g;H;${x;s/\n//g;s/0/+1/g;s/^+//;p;}' | bc もしくは seq $start $end | sed -ne 's/[^0]//g;H;${x;s/\n//g;s/0/0\n/g;p;}' |sed -e '/^$/d' | wc -l seq $start $end | sed -ne 's/[^0]//g;H;${x;s/\n//g;p;}' |wc -c (ただし、これは改行もカウントしちゃうので -1 しないといけない) sed使わないとこうとか seq $start $end | tr -d '1-9' | wc | awk '{print $3-$1}'

Tuesday, October 30, 2007

MOZ_DISABLE_PANGO=1

FireFox(Iceweasel)が最近遅いなーと思う人は export MOZ_DISABLE_PANGO=1 するとすこし幸せになるらしい export GDK_USE_XFT=0 はよくわからないなー。

Sunday, October 28, 2007

Debian Description Trends

ちょっと現実逃避Real UNIX MAGAZINE DayネタにDebian Description Trends を作ってみた。
Debian Description Trendsは次のようなかんじで作った。 まず、wordのとりだし。UNIX shellパワーを駆使(というか超適当) for file in */*/01/debian/dists/sid/main/binary-i386/Packages.gz do date=$(date -d $(echo $file | sed -e 's/\/debian.*//') +%Y-%m) gunzip < $file | sed -ne 's/Description: //p' -e '/^ /p' | tr '[[:upper:]]' '[[:lower:]]' | sed -e 's/[^-\/+[:alnum:]]/ /g' -e 's/[[:space:]][[:space:]]*/\n/g' | sort | uniq -c | sort -nr > ~/tmp/desc-words-$date.lst done これで desc-words-$YYYY-$mm.lst にwordごとのcountが示されたファイルができる 最初これを ruby scriptで gnuplot script を生成してgraphを生成していたのだが、webで見られるようにしたほうが便利だろうと思い途中でcgiに変更。 使ってみるとscanしてgnuplot script生成がかなり遅かったのでデータをsqliteにつっこんでみた。 CREATE TABLE words ( year integer, month integer, word string, count integer ); CREATE INDEX words_word on words ( word ); つっこむ時はこんなかんじで #!/usr/bin/ruby require 'sqlite3' .. db = SQLite3::Database.new(dbname) .. sql.push("insert into words values (#{year}, #{month}, '#{kw}', #{n});") .. db.execute_batch(sql.join("\n")) cgiの中はこうやってとりだし #!/usr/bin/ruby require 'sqlite3' ... keyword = q.gsub(/,/, "").split kwv = {} db = SQLite3::Database.new(DATAFILE) db.results_as_hash = true db.execute("select year, month, word, count from words "+ "where word in " + "(#{keyword.collect{|v| '?'}.join(', ')})", *keyword) do |row| date = "#{row['year']}-#{row['month']}" kwv[date] ||= {} kwv[date][row['word']] = row['count'].to_s end ...

Wednesday, October 24, 2007

RMS講演会

今日はFSIJ主催のリチャードM.ストールマン講演会が秋葉原であった
Richard M. Stallman講演会
@ 秋葉原
内容は「フリーソフトウェア運動とGPLv3の現在」と題して、ソフトウェアのフリー/自由とは何か、何故フリーソフトウェア/自由ソフトウェアが大事なのか、そのためにどのような活動をしてきたか、copyrightとcopyleft、copyleftとフリーなライセンス、GNUプロジェクトについて、GNU/Linuxについて、GPLv3でなにがかわったか などなど。 最初、茶織(CocaColaのお茶)を用意しておいたら、CocaColaは駄目だーとかいう話になって、急遽、生茶(Kirinのお茶)に交換することになったり。 宴会では、ストールマン先生はラーメンに興味があるらしく、いつからあるのかとか、どれが元祖なのかとかいろいろ質問されるので、日本ではそれほど歴史はないんじゃないか(戦後?)とか、地域ラーメンは比較的最近いうようになったんじゃないかとか。他にはチョコを箱買いした話とか。ストールマン先生はそのまま名古屋に移動ということで中座した後は、竹内郁夫先生とかとIPAや未踏の話、Lispマシンの話から花火の話などなど。

Monday, October 15, 2007

LC2007反省会

秋葉原にて、LC2007プログラム委員会の反省会。
  • video公開はknokさんがんばる
  • 応募がすくなかった。CFPをもっとspamしないとだめか?
  • BOFが予想してたより おもしろかった。BOFも応募してみるといいかも?
  • 論文じゃない形式での応募もありにしたほうがいいか?
  • LTの応募も少なくて大変だった
  • OSCとかと比較すると技術的に濃い話もできるカンファレンスだったと思う
  • 臨海副都心産総研の場所はけっこうよかった。LANが自由につかえればもっとよかったかも
  • 来年はLC98から10年。なんかおもしろいことはできないか
などなど。 その後 UDXで晩飯

Iceweasel がおかしい

top menu がマウスに反応しなくなったり (Alt-F とかなら反応する)、 iceweasel-webdeveloper の bookmarkbar の dropdown menu も反応しなくなったり、 web page 中の pull down menu (gmailの"More actions..."など) もなんか変だったり どうもBug#400302ぽいのだが、解決策はのってないな…

Sunday, October 14, 2007

Emacs に copy & paste

Emacs に Iceweasel (Firefox) から Copy & Paste すると \u30cd\u30bf というunicode escapeされた文字列がペーストされてしまう件をちょっと調べてみた。
Emacs21 なので mule-ucs も使ってるけど、どうも簡単な設定ではなさそう。 既に世の中 Emacs22 みたいなので、Emacs22 にしてみたら問題なく Copy & Paste できた。Emacs21->Emacs22では mule-ucs不要になったので、次のように un-define しないようにする必要があったくらい。
(when (<= emacs-major-version 21)
   (require 'un-define))
ちょっと深追いしてみると Emacs21では term/x-win.el -> select.el の x-get-selection がそういう文字列をかえしているみたいだった。
(x-get-selection 'PRIMARY 'STRING)
"\\u30cd\\u30bf"
そうこうしているうちに Iceweaselが死んでしまったので動かしなおしたら、Copy&Paste問題もなおってしまった。どうやら LANG=C でIceweaselを動かしていると駄目で、LANG=ja_JP.UTF-8 (or ja_JP.EUC-JP) で動かしているとよさそう。 Emacs22 はどちらでも問題ないので、Emacs21の問題といえば問題なのか。 こうやるとEmacs21でもよさげ
  (defun unescape-x-text (str)
    (replace-regexp-in-string
     "\\\\u\\([0-9a-fA-F]\\{4,4\\}\\)"
     (lambda (match-str)
       (char-to-string (ucs-to-char
        (read (concat "\?\\x" (substring match-str 2))))))
     str))
  (defun x-get-selection (&optional type data-type)
    (unescape-x-text
     (x-get-selection-internal (or type 'PRIMARY)
                            (or data-type 'STRING))))

久々のupgrade

すごく久々にノートの Debianを upgrade。 ptex-bin が次のようなエラーをだしていた
/var/lib/dpkg/tmp.ci/preinst: 61: mktexlsr: not found
dpkg: error processing /var/cache/apt/archives/ptex-bin_3.1.10~beta3+0.04b-4.1_i386.deb (--unpack):
 subprocess pre-installation script returned error exit status 127
もう一度 upgrade したら通ったが、これ(preinstで mktexlsrを実行しちゃってる)は bug じゃないか?
`Pre-Depends' are also required if the `preinst' script depends on the named package. It is best to avoid this situation if possible.

Wednesday, October 10, 2007

debian mirror pipelineを変更

debian.org -> hp.debian.or.jp -> hanzubon.jp -> ftp.jp.debian.org で時間がかかりすぎているようだ。 ちょっと計測したところ debian.org -> hp.debian.or.jp より debian.org -> hanzubon.jp のほうがだいぶ早い (route と machine powerの違い)ようなので、まず hanzubon.jp で日本にもってきてそこから国内配布するように変更。
とりあえずは
  1. debian.org -> hp.debian.or.jp にsignal
  2. hp.debian.or.jp は即座に hanzubon.jp に signal
  3. hanzubon.jp は debian.org から rsync
  4. hanzubon.jp -> hp.debian.or.jp に signal
  5. hp.debian.or.jp は hanzubon.jp から rsync
で、debian.org の signal 先を hanzubon.jp に変更してもらう予定。 というか そろそろ、hp.debian.or.jp も新しいサーバーに更新しないとなあ。 2001年3月頃からだから、もう6年半以上使っているわけで。

Friday, October 5, 2007

JYU 渋谷店

JYU渋谷店にて、10月中途採用エンジニアのwelcome party

Thursday, October 4, 2007

Engadgetオフライン東京

English lessonが20時までだったのだが、その後7Fに行ってEngadgetオフライン東京の様子を見にいった。 たくさんの人とあやしいGadedgetがいろいろ。 hardwareもいじれるといろいろと楽しそうだなあ。 knokさんがZaurusとかをずらりと並べてたら、Nokia N800 Internet Tabletをもってた人がやってきていろいろと話した。スタイラスと指でUIの動作がかわるとかおもしろいな。DebianベースでPythonとかRubyとかも動いているそうでかなりよさげ。 終わった後はknokさんyaegashiさんと近くの「つくしんぼ」で晩飯。

Tuesday, October 2, 2007

ANN: リチャード M. ストールマン講演会開催

FSIJ主催で、10月24日 秋葉原で「リチャード M. ストールマン講演会〜フリーソフトウェア運動とGPLv3の現在〜」が開催されます
拡大地図を表示

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.

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とかに乗せてもらう。思ってたより乗りやすいな。
鮨とかスイカとかを食いまくった。

Wednesday, August 29, 2007

休み

熱がでた(38.2℃〜37.0℃)ので休み。疲れがたまっていたのか。

Friday, August 24, 2007

Transformers

六本木シネマで会社イベントの鑑賞会

Thursday, August 23, 2007

eng offsite

長瀞へ遊びに。手打ちうどん作った。 夜は恵比寿の音音で宴会。

Wednesday, August 22, 2007

Sunday, August 19, 2007

西安餃子

東京に来ているKMCの友人とアトレ大井町で晩飯。

Saturday, August 18, 2007

snapshot.debian.net new backend server

snapshot.debian.net の古いアーカイブを新しいdiskにコピーした。
/dev/sda3 4.5T 2.2T 2.2T 50% /archive
2005/03/12〜 2007/08/17 の分。 cp --link -a して rsync でコピーするのに 08/08〜08/17 くらいかかった。

Friday, August 10, 2007

とんかつ武蔵

韓国からきていたゲストと一緒にぞろぞろと恵比寿ガーデンプレイスにいってとんかつ武蔵で昼飯。

Sunday, August 5, 2007

snapshot.debian.net backend full

snapshot.debian.net の backend server である athlon64.fsij.org のdiskがいっぱいになってしまった。
/dev/md2 2.1T 2.0T 0 100% /mnt2
2005/03/12〜2007/06/07 817日、平均2.5G/dayでした。

Wednesday, August 1, 2007

清流初つぼみ

清流初つぼみ渋谷店で、エンジニアと飲む(食べる)会、略してエン会。

Monday, July 30, 2007

JLC プログラム委員会

秋葉原産総研にて Japan Linux Conference のプログラム委員会。 採否およびスケジュールを決定。

Saturday, July 28, 2007

隅田川花火

浴衣を着て隅田川花火へ。 ビルが邪魔でなかなかいいポイントがなさげだなー。 下駄はきなれてなくて足が痛い…

Friday, July 20, 2007

La Piccola Tovala

井の頭沿線の同僚たちと 永福の La Piccola Tovala で Pizza くいまくり

Thursday, July 19, 2007

mid year kick off

葛西臨海公園方面にいって宝さがしゲームとか。 時間があまったので水族館いってきた

Friday, July 6, 2007

叙々苑

gotom、satoruと宴会。うまい肉を食いまくり。

Saturday, June 30, 2007

FSIJ総会とESPer2007

今日は秋葉原産総研にて FSIJの総会。 その後は月例会で Lisp脳についていろいろ。List処理が豊富だから、まずどのように問題をListで表現できるようにするか というあたりがLisp脳なんじゃないかなあとか思った。 その後、秋葉原ヨドバシで高林くんに勧められて(そそのかされて?) E-510を購入。なんかhpのプリンタがおまけに。 そこからさらにお台場産総研に移動して ESPer2007 に参加。

Saturday, June 23, 2007

KMC OB会

KMCのOB会で京都に日帰りで。 Google Developer Day で話した内容のダイジェストとかを現役の人とかに話したり。

Thursday, June 21, 2007

カンティプール

カンティプールで晩飯。 TechLeadのインタビューはどういう質問したらいいのかねえとか

Sunday, June 17, 2007

FSIJ総会準備

月末の総会準備に集合。 FSEEの Share Martin Coughlan が来ていたのでいろいろと雑談。 Zurich にいるらしいので、Zurich officeに出張する機会があれば遊びにいきたいな。

Friday, June 15, 2007

たん清

DoLUCの小岩さんが東京に来ているとかで、Debianメンテナ(takuo, koiwa,kmuto,Ar,makutsu,knok,ukai, nakajima@doluc )が集って宴会 + キーサインパーティ。

Wednesday, June 6, 2007

Thursday, May 31, 2007

Google Developer Day 2007

今日は Google Developer Day でホテル日航東京へ。 世界同時開催で、基本的にAPIとかそういう技術説明がメインだけど、日本スペシャルで「Software Engineer in Google」というタイトルで、Google の Engineering Cultureの説明をしました。 当日の内容は YouTube に投稿されています

Wednesday, May 30, 2007

叙々苑

visiting engineer とその友達とかと叙々苑で宴会

Friday, May 18, 2007

Thursday, May 17, 2007

Code Quality

Code Quality が届いた。間もなく出版される。

Friday, May 11, 2007

世界の山ちゃん

新宿の世界の山ちゃんで宴会。 新宿から永福行きのバスで西永福で降りてそこから徒歩で帰宅。

Saturday, May 5, 2007

多幸一

nnn, HANZUBON, knok と新宿でお好み焼き。

Sunday, April 29, 2007

Tokyo Dome City

スカイフラワー、サンダードルフィン、タワーハッカー、ジオパニック、リニアゲイルなどにのった。サンダードルフィンは前の組でなんか安全装置作動したりしてトラブってて怖さが増していた。 なにやらArashiのコンサートもあったみたいで人がいっぱいだった。

Sunday, April 22, 2007

EL CLUB

西荻窪の EL CLUBというスペイン居酒屋で、元HPの同僚(大学いった人 + MSいった人 + 現役*2)で宴会。 23時頃にでてその後吉祥寺のアフリカ大陸で二次会。1時頃解散したが既に終電なし。 てくてく歩いて帰りました。1時間強、7000歩くらい

Sunday, April 1, 2007

新宿御苑に花見にいった。人がいっぱいだなー。

Saturday, March 31, 2007

叙々苑

Welcome & send-off party。 その後、会社に戻って席替えとか。

Thursday, March 29, 2007

Wednesday, March 21, 2007

京都

長谷川先生 (研究室の教授)を囲む会で日帰りで京都へ。

Saturday, March 17, 2007

irc座談会

Code Quality の irc座談会をした。Code Readingの時と同様カバー裏に載る予定。 gotom先生が US西海岸にいるので、時差的に日本時間土曜の朝に。