あけましておめでとうございます。今年もよろしくお願いいたします。m(_ _)m
ヨドバシにVAIO type Pが展示してあったので、ちょっと触ってみました。

本体が薄いのでキーボードの打鍵感は浅め。キーの大きさ&間隔に余裕があるので、普通にタイプできてなかなかいい感じでした。 スティックポインター(ThinkPadで言うところのトラックポイント)の操作感は、ちょっと慣れが必要かな?と思いました。 あと、持った感じがかなり薄く、また重さも軽いので、普段からカバンに入れて持ち運んでもいいかな?と思わせるような雰囲気でした。
個人的には、世間一般でいうところのNetbookのデザインがもっさりしたところを、SONY風にズバッと洗練させましたという印象を受けました。
ちょっとこれは久しぶりに物欲が…
SOCKS4のプロトコルを知るために、試しに簡単なSOCKS4サーバを作ってみたのでメモ。
CONNECTしか対応していないとか、エラー処理が超適当とかはスルーの方向でw
#!/usr/bin/ruby
#
# socks4test.rb - SOCKS4 test program
#
# see also
# http://en.wikipedia.org/wiki/SOCKS
# http://ftp.icm.edu.pl/packages/socks/socks4/SOCKS4.protocol
#
require 'socket'
require 'pp'
def get_dst_addr_port(data)
port = data[2,2].unpack("n")[0]
host = data[4,4].unpack("C4").join(".")
if host =~ /^0\.0\.0\./
# socks4a hostname directive
host = data[8,data.size-8].scan(/^.*\x00(.+)\x00$/)[0][0]
end
[host, port]
end
svr = TCPServer.open(12345)
pp svr.addr
while true
Thread.start(svr.accept) do |cs|
pp cs.peeraddr
# クライアント -> SOCKSサーバ
# ex:
# 04 バージョン
# 01 CONNECT要求
# 0050 80 接続先ポート番号
# 42f95968 66.249.89.104 接続先IP
# 4d4f5a00 M O Z null 適当な文字列(可変。0x00が来るまで)
req = cs.sysread(1024)
# proxy用のsocketを作る
(host,port) = get_dst_addr_port(req)
puts "host=#{host}, port=#{port}"
ps = TCPSocket.open(host,port)
# SOCKSサーバ -> クライアント
# ex:
# 00 とりあえず0
# 5a 成功0x5a,失敗0x5b
# 0000 任意の2倍バイト
# 00000000 任意の4倍バイト
cs.syswrite("\x00\x5a\x00\x00\x00\x00\x00\x00")
# 後は読み込んだデータをそのまま流すだけ
begin
while true
ns = select([cs, ps],nil,[cs,ps])
next if ns == nil
ns[0].each{|rs|
ws = (rs == cs) ? ps : cs
req = rs.sysread(4096)
ws.syswrite(req)
ws.flush
pp req
}
end
rescue Exception => e
# raise EOFError, if socket closed.
end
puts "close client socket..."
cs.close
ps.close
end
end
久しぶりにグッときたのでVAIO type P(VGN-P70H)を1台仕入れてみました。 完全に使えるようになったわけではないのですが、せっかくなのでUbuntu 8.10をインストールしてみたときのメモを残しておきます。

インストール前の準備
Ubuntu 8.10のインストール
インストール直後の素の状態で起動すると、こんな状態になってた。
いつもの環境にするために次の設定をする
とりあえず、なんとかしたいのは次の項目。
おまけでlshwの結果を貼付けておきます。
$ sudo lshw
description: Notebook
product: VGN-P70H_G
vendor: Sony Corporation
version: J003JKKE
serial: ********-*******
width: 32 bits
capabilities: smbios-2.4 dmi-2.4
configuration: boot=normal chassis=notebook uuid=********-****-****-****-************
*-core
description: Motherboard
product: VAIO
vendor: Sony Corporation
physical id: 0
version: N/A
serial: N/A
*-firmware
description: BIOS
vendor: INSYDE
physical id: 0
version: R1250U3 (12/08/2008)
size: 1MiB
capabilities: pci pnp upgrade shadowing cdboot bootselect edd int9keyboard int10video acpi usb smartbattery biosbootspecification netboot
*-cpu
description: CPU
product: Intel(R) Atom(TM) CPU Z520 @ 1.33GHz
vendor: Intel Corp.
physical id: 8
bus info: cpu@0
version: 6.12.2
serial: ****-****-****-****-****-****
slot: N/A
size: 1333MHz
capacity: 1333MHz
width: 32 bits
clock: 133MHz
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx est tm2 ssse3 xtpr lahf_lm cpufreq
configuration: id=0
*-cache:0
description: L2 cache
physical id: 9
slot: L2 Cache
size: 512KiB
capacity: 512KiB
capabilities: synchronous internal write-back unified
*-cache:1
description: L1 cache
physical id: a
slot: L1 Cache
size: 56KiB
capacity: 56KiB
capabilities: synchronous internal write-back
*-logicalcpu:0
description: Logical CPU
physical id: 0.1
width: 32 bits
capabilities: logical
*-logicalcpu:1
description: Logical CPU
physical id: 0.2
width: 32 bits
capabilities: logical
*-memory
description: System Memory
physical id: b
slot: System board or motherboard
size: 2GiB
*-bank
description: SODIMM
physical id: 0
slot: Onboard
size: 2GiB
width: 64 bits
*-pci
description: Host bridge
product: System Controller Hub (SCH Poulsbo)
vendor: Intel Corporation
physical id: 100
bus info: pci@0000:00:00.0
version: 06
width: 32 bits
clock: 33MHz
*-display UNCLAIMED
description: VGA compatible controller
product: System Controller Hub (SCH Poulsbo) Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 06
width: 32 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list
configuration: latency=0
*-multimedia
description: Audio device
product: System Controller Hub (SCH Poulsbo) HD Audio Controller
vendor: Intel Corporation
physical id: 1b
bus info: pci@0000:00:1b.0
version: 06
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress bus_master cap_list
configuration: driver=HDA Intel latency=0 module=snd_hda_intel
*-pci:0
description: PCI bridge
product: System Controller Hub (SCH Poulsbo) PCI Express Port 1
vendor: Intel Corporation
physical id: 1c
bus info: pci@0000:00:1c.0
version: 06
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress pm bus_master cap_list
configuration: driver=pcieport-driver
*-network
description: Ethernet interface
product: Marvell Technology Group Ltd.
vendor: Marvell Technology Group Ltd.
physical id: 0
bus info: pci@0000:01:00.0
logical name: eth0
version: 10
serial: 00:1d:ba:**:**:**
capacity: 1GB/s
width: 64 bits
clock: 33MHz
capabilities: pm vpd msi pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=sky2 driverversion=1.22 firmware=N/A latency=0 link=no module=sky2 multicast=yes port=twisted pair
*-pci:1
description: PCI bridge
product: System Controller Hub (SCH Poulsbo) PCI Express Port 2
vendor: Intel Corporation
physical id: 1c.1
bus info: pci@0000:00:1c.1
version: 06
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress pm bus_master cap_list
configuration: driver=pcieport-driver
*-network
description: Wireless interface
product: AR928X Wireless Network Adapter (PCI-Express)
vendor: Atheros Communications Inc.
physical id: 0
bus info: pci@0000:02:00.0
logical name: wmaster0
version: 01
serial: 00:23:4d:**:**:**
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix bus_master cap_list logical ethernet physical wireless
configuration: broadcast=yes driver=ath9k ip=***.***.***.*** latency=0 module=ath9k multicast=yes wireless=IEEE 802.11bgn
*-usb:0
description: USB Controller
product: System Controller Hub (SCH Poulsbo) USB UHCI #1
vendor: Intel Corporation
physical id: 1d
bus info: pci@0000:00:1d.0
version: 06
width: 32 bits
clock: 33MHz
capabilities: bus_master
configuration: driver=uhci_hcd latency=0 module=uhci_hcd
*-usb:1
description: USB Controller
product: System Controller Hub (SCH Poulsbo) USB UHCI #2
vendor: Intel Corporation
physical id: 1d.1
bus info: pci@0000:00:1d.1
version: 06
width: 32 bits
clock: 33MHz
capabilities: bus_master
configuration: driver=uhci_hcd latency=0 module=uhci_hcd
*-usb:2
description: USB Controller
product: System Controller Hub (SCH Poulsbo) USB UHCI #3
vendor: Intel Corporation
physical id: 1d.2
bus info: pci@0000:00:1d.2
version: 06
width: 32 bits
clock: 33MHz
capabilities: bus_master
configuration: driver=uhci_hcd latency=0 module=uhci_hcd
*-usb:3
description: USB Controller
product: System Controller Hub (SCH Poulsbo) USB EHCI #1
vendor: Intel Corporation
physical id: 1d.7
bus info: pci@0000:00:1d.7
version: 06
width: 32 bits
clock: 33MHz
capabilities: pm debug bus_master cap_list
configuration: driver=ehci_hcd latency=0 module=ehci_hcd
*-isa
description: ISA bridge
product: System Controller Hub (SCH Poulsbo) LPC Bridge
vendor: Intel Corporation
physical id: 1f
bus info: pci@0000:00:1f.0
version: 06
width: 32 bits
clock: 33MHz
capabilities: isa
configuration: driver=isch_smbus latency=0 module=i2c_isch
*-ide
description: IDE interface
product: System Controller Hub (SCH Poulsbo) IDE Controller
vendor: Intel Corporation
physical id: 1f.1
bus info: pci@0000:00:1f.1
logical name: scsi0
version: 06
width: 32 bits
clock: 33MHz
capabilities: ide bus_master emulated
configuration: driver=pata_sch latency=0 module=pata_sch
*-disk
description: ATA Disk
product: TOSHIBA MK6028GA
vendor: Toshiba
physical id: 0.0.0
bus info: scsi@0:0.0.0
logical name: /dev/sda
version: BN10
serial: *********
size: 55GiB (60GB)
capabilities: partitioned partitioned:dos
configuration: ansiversion=5 signature=********
*-volume:0
description: Linux swap volume
physical id: 1
bus info: scsi@0:0.0.0,1
logical name: /dev/sda1
version: 1
serial: ********-****-****-****-************
size: 2055MiB
capacity: 2055MiB
capabilities: primary nofs swap initialized
configuration: filesystem=swap pagesize=4096
*-volume:1
description: EXT3 volume
vendor: Linux
physical id: 2
bus info: scsi@0:0.0.0,2
logical name: /dev/sda2
logical name: /
logical name: /dev/.static/dev
version: 1.0
serial: ********-****-****-****-************
size: 53GiB
capacity: 53GiB
capabilities: primary bootable journaled extended_attributes large_files huge_files recover ext3 ext2 initialized
configuration: created=2009-01-08 06:23:34 filesystem=ext3 modified=2009-01-24 12:15:42 mount.fstype=ext3 mount.options=ro,errors=remount-ro,data=ordered mounted=2009-01-24 12:15:42 state=mounted
*-network DISABLED
description: Ethernet interface
physical id: 1
logical name: pan0
serial: 7e:c1:04:**:**:**
capabilities: ethernet physical
configuration: broadcast=yes driver=bridge driverversion=2.3 firmware=N/A link=yes multicast=yes
現状のまとめ
関連記事
最近、通勤中にAeroReaderを使ってるのですが、ピンした物をいちいちブックマークし直すのがめんどくさくなってきたので作ってみました。
それPla(ryな気がするとか、LDRのpinをdel.icio.usに投げるのを作ってみたというずばりそのものがあったりするのですが、Rubyのリハビリがてら作ってみました。
#!/usr/bin/ruby
#
# p2d.rb - Livedoor ReaderのPinをまとめてdelicious.comにブックマークするスクリプト
#
$KCODE='utf8'
require 'rubygems'
require 'pit'
require 'mechanize'
require 'json'
require 'cgi'
require 'open-uri'
ldr_cnf = Pit.get('reader.livedoor.com', :require => {
'username' => 'your username in reader.livedoor.com',
'password' => 'your password in reader.livedoor.com'
})
del_cnf = Pit.get('delicious.com', :require => {
'username' => 'your username in delicious.com',
'password' => 'your password in delicious.com'
})
agent = WWW::Mechanize.new
agent.user_agent_alias = 'Windows Mozilla'
# login LDR
page = agent.get('http://reader.livedoor.com/reader/')
form = page.form_with(:name => 'loginForm')
form.livedoor_id = ldr_cnf['username']
form.password = ldr_cnf['password']
agent.submit(form)
# get all pin
page = agent.post('http://reader.livedoor.com/api/pin/all')pin = JSON::parse(page.body)# post bookmarks
# see also : http://delicious.com/help/api
post_error = false
pin.each{|p|
uri = 'https://api.del.icio.us/v1/posts/add'
uri << "?url=#{CGI.escape(p['link'])}&description=#{CGI.escape(p['title'])}&tags=%2ap2d"
open(uri,:http_basic_authentication => [del_cnf['username'],del_cnf['password']]){|f|
res = f.read
post_error = true unless res =~ /done/
}
}
# clear all pin
unless post_error
api_key = agent.cookie_jar.jar['reader.livedoor.com']['reader_sid'].value
agent.post('http://reader.livedoor.com/api/pin/clear', 'ApiKey' => api_key)
end
pit,mechanize,jsonあたりはrubygemsでインストールしてみてください。
$ sudo gem install pit mechanize json
いろいろ試している最中なのですが、少しもどかしい状態に…
とりあえず現状のメモです。
moblinのxserver-xorg-video-psbが使える
サスペンド・レジュームができない
※ 8.10をインストールしたあと、/etc/apt/sources.listをjauntyに書き換えて9.04にした状態で試しています。
サスペンド・レジュームができる
moblinのxserver-xorg-video-psbが使えず、今のところVESAしか使えてない。
現状では、こんな感じです
| 8.04 | 9.04 | |
| X.Org | ○ | △(vesa) |
| バックライトの明るさ調整 | ○ | × |
| サスペンド | × | ○ |
| Wifi | ○(ath9kの手動インストール必要) | ○ |
| サウンド | ○ | ○ |
| ホットキー | △(音量調整だけ使える) | △(音量調整だけ使える) |
| CPUの速度調整(SpeedStep) | ○ | ○ |
現状で普段はUbuntu 9.04を使っているのですが、個人的にバックライト調整と サスペンドのどちらをとるかで、ちょっと悩ましい状態になっています。
xserver-xorg-video-psbがUbuntu 8.10や9.04環境で使えればいいのですが、 以下のような困った状態になっているっぽい雰囲気です。
xserver-xorg-video-psbのソースコード中のコメントを見ると…
/************************************************************************** * * Copyright (c) Intel Corp. 2007. * All Rights Reserved. * * Intel funded Tungsten Graphics (http://www.tungstengraphics.com) to * develop this driver. *
…と書いてあったりするので、IntelとTungsten GraphicsにはがんばってX.Org 7.4用の xserver-xorg-video-psb環境を整備してほしいなぁ…と思ってる次第です。
今後も、もう少し調べながらVAIO type PをUbuntuで使っていきたいと思っています。
現状のまとめ
関連記事
◆ yoggy [試してみたのですが、xserver-xorg-video-psbが入ってないと一般的な仕組みでの明るさ調整ができない..]
◆ 野田篤司 [マツドサイエンティストこと野田です。私のブログ読んでいただいて、有難うございます。 LOOX U と Type P ..]
◆ yoggy [Ubuntu 9.04環境でサスペンドできるのは、おそらくカーネル(2.6.28)に標準で入っているath9kを使っ..]
◆ masuidrive [うちでは、Wubiを使って8.10を入れてから、同じように9.04に上げて使っています。 psbドライバが8.10以..]
◆ masuidrive [輝度調整できました。 setpci -s 00:02.0 F4.B=80 00〜FFで調整。10以下にすると文字が見..]
◆ yoggy [おお、輝度調整できるのを確認しました。やったー]
◆ masuidrive [このコマンドが便利ですよ。あとはファンクションキーで変更できればいいんですけどね。 http://www.nvne..]
◆ W.Dee [僕もtype PにUbuntu 8.10入れました。 症状はまるっきり同じなのでちょくちょく見させていただきたいです..]