Ubuntuで「うみねこのなく頃に」をプレイする

アニメもはじまったし積ゲー化していたものを引っ張り出してみた。

ONScripterをインストール

とりあえずこれがないとはじまらないのでインストール。

sudo apt-get install onscripter

適当な場所に「うみねこのなく頃に」本体をコピー

とりあえず今回はホームディレクトリ直下にコピーした。

ONScripterを起動する

onscripter -r ~/Umineko4 -f /usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf

ファイルの場所とフォントを指定するだけ。

Ubuntu9.04にFirefox3.5を入れてみた

普通にSynapticで入れたら3.5b4preとか出たので、PPAから入れる。

リポジトリの追加

deb http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu jaunty main 
deb-src http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu jaunty main 

キーの登録

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 247510BE

なんか繋りにくかったけど、3回ぐらい試したら繋がった。

インストール

sudo apt-get update && sudo apt-get install firefox-3.5

firefox3.6もあったんだけど、ためしに入れてみたらアイコン?が爆弾になってて笑った。Greasemonkey動かなかったんで、とりあえずfirefox3.5に。

Firefox3.5にしてみて

普段サイト巡回するとき、一気にタブで開いて巡回しているんだけれど、他のタブが読み込み中のとき今まで固まりかけてたのが固まらなくなった気がする。マルチプロセス化はまだだった気がするんだけど、「かつてない高速化を実現」とか書いてあったしその恩恵かなぁ。VimperatorとGreasemonkeyはしっかり動いてるみたいだし、特に問題が発生しなければこのまま使っていく予定。

Bluetoothヘッドホンでニコニコ動画やYoutubeの音を拾うときの設定メモ(Ubuntu8.10 Thinkpad X61)

SH-04Aを購入し、Bluetooth(A2DP)を使ってみたくなったので、DRC-BT15Pを購入。SH-04Aだけで使うのももったいないので、ニコニコ動画とかYoutubeみるときにPCで使えるようBetter Bluetooth Audio | FOSSwireを参考にして設定してみた。

とりあえずPadevchooser

便利なのでとりあえずいれる。

sudo apt-get install padevchooser

BluetoothヘッドホンのMACアドレスを調べる

Bluetoothヘッドホンをペアリングモードにして下記コマンドを実行。

hcitool scan

ホームディレクトリの.asoundrcを編集する

ホームディレクトリに.asoundrcが存在しない場合は新しく作る。

pcm.bluetooth {
type bluetooth
device "[調べたMACアドレスの値を入れる]"
}

保存したらPCを再起動する。

Bluetoothヘッドホンをつないでみる

下記コマンドを実行してから適当にPCから音をだしてみる。

pactl load-module module-alsa-sink device="bluetooth"

Bluetoothヘッドホンのほうから音が出ないとき

pavucontrol

を実行して、Playbackタブにのところにある設定をいじってBluetooth側に出力を向ければOK

Ubuntu8.10インストールメモ(ThinkPad X61)

Ubuntu 8.10 Desktop 日本語 Remix CDが10月31日にリリースされたので、Ubuntu8.04が入っていたThinkPad X61にインストールしてみた。

日本語環境セットアップヘルパ

Flash PlayerプラグインとかShift_JISファイル名対応LHAを適当に入れておく。

TrackPoint

そのままの状態ではトラックポイントでのスクロールができないので、Ubuntu8.04の時のようにxorg.conf書き換えてみたが上手くいかない・・・。
ThinkWikiUbuntu 8.10で検索してみたところ、How to configure the TrackPoint - ThinkWiki
に解決法がのっていた。今までxorg.confを書き換えていたものをXMLで書くようになったらしい。
/etc/hal/fdi/policy/mouse-wheel.fdi に

<match key="info.product" string="TPPS/2 IBM TrackPoint">
 <merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge>
 <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
 <merge key="input.x11_options.YAxsisMapping" type="string">4 5</merge>
 <merge key="input.x11_options.XAxsisMapping" type="string">6 7</merge>
 <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge>
</match>

と書いて再起動すると、しっかりトラックポイントでスクロールできるようになった。

指紋認証

Ubuntu8.04の時と同じ手順で、thinkfinger-toolsとlibpam-thinkfingerいれてやっても上手くいかない‥・。気が向いたときにやるということで保留。

日本語ディレクトリ名を英語にする

homeディレクトリの中に「デスクトップ」やら「ドキュメント」「画像」「ビデオ」などの日本語のディレクトリがあるのが気に入らないので、英語に修正する。

LANG=C; xdg-user-dirs-gtk-update

tp-smapi

バッテリーが100%まで充電されてしまうのは嫌なのでtp-smapiいれる。

sudo -s
apt-get install tp-smapi-source
module-assistant prepare tp-smapi
module-assistant auto-install tp-smapi
echo "tp_smapi" >> /etc/modules
echo "hdaps" >> /etc/modules
update-initramfs -u
modprobe -a tp_smapi hdaps

としたあとに、/etc/sysfs.conf に

devices/platform/smapi/BAT0/start_charge_thresh=40
devices/platform/smapi/BAT0/stop_charge_thresh=85
devices/platform/smapi/BAT1/start_charge_thresh=70
devices/platform/smapi/BAT1/stop_charge_thresh=90

と書いて再起動でたぶんOK。

キーボード

CapsLkなんてイラネなので、Ctrlにする。
システム > 設定 > キーボード からレイアウトタブの Other Options... を選んでコントロールキーの位置からCapsLockをもう一つのCtrlにするにチェックを入れる。

Medibuntu

ライセンス上の理由から標準では提供されないパッケージが豊富にそろったリポジトリ

sudo wget http://www.medibuntu.org/sources.list.d/intrepid.list --output-document=/etc/apt/sources.list.d/medibuntu.list
sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update

したあとに

sudo apt-get install w32codecs libdvdcss2 non-free-codecs

Compiz

細かくいじりたいので

sudo apt-get install compizconfig-settings-manager

システム > 設定 > CompizConfig 設定マネージャ から色々いじれる。

いろいろ

いろいろ入れる。

sudo -s
apt-get install nautilus-open-terminal
apt-get install zsh
apt-get install gauche gauche-doc
apt-get install ruby irb rubygems
apt-get install vim vim-full
apt-get install subversion
apt-get install manpages-ja xmanpages-ja
apt-get install ffmpeg ffmpeg-doc
apt-get install gftp
apt-get install unrar
apt-get install wine

RubyGems

とりあえずRailsとMechanizeを入れる。

sudo gem install rails
sudo gem install mechanize

とちゅうでmkmfがネーヨとか言われたので

sudo apt-get install ruby1.8-dev

してみたらなおった。

プログラミングErlang

プログラミングErlang

プログラミングErlang

本屋で見つけて衝動買い。
プログラミングGaucheまだかなーと思っていたら2008年03月14日発売予定になってらぁ

個人ニュースサイトのRSS/Atom対応状況をRubyで計測してみた

一つ一つ手作業で調べるなんてやってられないのでRuby任せ。
とりあえずrubyforge.orgをFeedとかRSSとかで検索してみるとそれっぽいのを3つ発見。

上から順に比較

FeedDiscover

たまにHTMLがパースできなくて落ちる?

livedoor Feed Discover API

やたら早い、しかしなぜか取得するFeedが1件か0件で2件以上のものが取得できてない。使い方まちがってるんかな?

rFeedFinder

livedoor Feed Discover APIで1件しかとれてないものもしっかり取れる、しかし遅い。

計測してみる

livedoor Feed Discover APIとrFeedFinderを組み合わせて使ってみることにした。

require 'rubygems'
require 'logger'
require 'csv'
require 'rfeedfinder'
require 'livedoor/api/feed_discover'

$KCODE = 'u'

@log = Logger.new(STDOUT)
@log.level = Logger::INFO

def livedoor_feeddiscover(url)
  begin
    return Livedoor::API::FeedDiscover.find(url).feedlinks
  rescue Timeout::Error
    @log.error('livedoor_feeddiscover'){"Timeout::Error"}
    return []
  end
end

def rfeedfinder(url)
  begin
    return Rfeedfinder.feeds(url)
  rescue Timeout::Error
    @log.error('rfeedfinder'){"Timeout::Error"}
    return []
  end
end

sites = Array.new
CSV.open('newssite.csv', 'r', "\t") do |newssite|
  site = Hash.new
  site[:name]  = newssite[0]
  site[:url]   = newssite[1]
  feed_list    = livedoor_feeddiscover(site[:url]) | rfeedfinder(site[:url])
  site[:count] = feed_list.size
  site[:feeds] = feed_list.join(',')
  @log.info "\"#{site[:name]}\",#{site[:url]},#{site[:count]}"
  sites << site
end

sites.sort! {|a, b| b[:count] <=> a[:count]}
CSV.open('feed_list.csv', 'w', "\t") do |writer|
  sites.each do |site|
    writer << [site[:name], site[:url], site[:count], site[:feeds]]
  end
end

結果

661サイト中454サイトがFeed有り。こんな感じだろうか

Sample chart

最近Perl覚えたいと思いつつRubyで書いちゃうからさっぱり覚えられんなぁ・・・

個人ニュースサイトのWebスカウター数値をRubyで計測してみた

はてなアンテナ数だけじゃアレなので、APIが公開されていて計測が簡単そうなWebスカウターも計測してみた。

結果*1

順位 サイト名 Webスカウター
1位 Engadget Japanese 13658
2位 【2ch】ニュー速クオリティ-VIP- 10559
3位 日刊スレッドガイド 9858
4位 アキバBlog(秋葉原ブログ) 9715
5位 アルファルファモザイク 9454
6位 情報考学 Passion For The Future 9306
7位 イミフwwwうはwwwwおkwwww 8763
8位 SEMリサーチ 6736
9位 小太郎ぶろぐ 6363
10位 ハムスター速報 2ろぐ 6157
11位 エルエル 5988
12位 なんでも評点 5874
13位 ◆めっつぉ:スクウェア&デジタルニュース 5658
14位 bogusnews 5519
15位 ザイーガ 5498
16位 [モ]Modern Syntax 5420
17位 ABC振興会 5377
18位 Hiro Iro 5348
19位 音楽配信メモ 5112
20位 もみあげチャ〜シュ〜 5110
21位 暗いニュースリンク 5044
22位 情報屋さん。 4958
23位 ぬるヲタが斬る 4904
24位 2ちゃんねる実況中継 4861
25位 Elastic 4685
26位 SWFBLOG 4677
27位 Garbagenews.com 4673
28位 ある編集者の気になるノート 4666
29位 酔拳の王 だんげの方 4581
30位 REVの日記@はてな 4495
31位 小心者の杖日記 4418
32位 神爆笑.com 4357
33位 セキュリティホール memo 4293
34位 GilCrowsの映像技術研究所 4266
35位 (・∀・)イイ・アクセス 4264
36位 pya! 4254
37位 CROSSBREED クロスブリード! 4253
38位 Sukima Windows Plus 4197
39位 萌えよ!アキバ人ブログ 4185
40位 忍之閻魔帳 4179
41位 神速(´・ω・)VIP 4049
42位 オレンジニュース 4005
43位 @JOJO 3959
44位 ★厳選!韓国情報★ 3884
45位 わっほー♪ 3857
46位 むぅもぉ.jp 3854
47位 -idolinglife- 3824
48位 たわごと 3824
49位 Tokyo Fuku-blog 3764
50位 明日は明日の風が吹く 3726
51位 秒刊SUNDAY 3707
52位 萌えプレ 3552
53位 Orbium -そらのたま- 3508
54位 特定アジアニュース 3481
55位 Narinari.com 3480
56位 ★てれびまにあ 3381
57位 TBN 3344
58位 面白爆笑画像 面白爆笑動画 お笑いネタの蛇屋 3324
59位 科学ニュースあらかると 3308
60位 白い戯言 3271
61位 「最後通牒・こぼれ話」 3266
62位 everything is gone 3203
63位 PINUPS - 上田新聞 blog版 3111
64位 CAXの日記 3073
65位 パソコン遊戯 3030
66位 airoplane.net 3009
67位 Game*Spark 2967
68位 独り言以外の何か 2931
69位 Goonie! 2929
70位 変人窟 2916
71位 星を見る人 2912
72位 ちゅるるん 2901
73位 面白いサイトを見つけたよ。 2881
74位 Fresh News Delivery 2866
75位 瓜記-urk- 2865
76位 Re:戯言 2806
77位 TricksteR 2794
78位 トーイチャンネット〜クールな時事ネタ〜 2782
79位 俺的ニュースの盛りw 2714
80位 ぁゃιぃ(*゜ー゜)NEWS 2704
81位 useWill.com 2696
82位 NewsWalker.NET 2678
83位 barlog 2676
84位 ひろぶろ 2671
85位 Skype News 2641
86位 ねこ様NEWS 2599
87位 http://d.hatena.ne.jp/okaguchik/ 2587
88位 朝目新聞-asame.com 2566
89位 駄文にゅうす 2554
90位 カトゆー家断絶 2518
91位 X51.ORG 2480
92位 ねたミシュラン 2477
93位 Candy Time 2456
94位 まなめはうす 2413
95位 [ 悠 々 日 記 ] 2366
96位 2chnavi 2338
97位 BEAT SQUARE〜時事ニュースのページ〜 2326
98位 えふすく日記 1stSeason 2326
99位 ねこあれぶろぐ 2320
100位 GAME情報+α 2313

ソースコード

こちらはhttp://www.futilehope.net/http://www.futilehope.netみたいに後ろの/があったりなかったりしても件数は変わらないっぽい。ときどき空のXML吐いてくるURLがあるけどなんなんだろ・・・とりあえず0ということにしておきました。

require 'rubygems'
require 'open-uri'
require 'csv'
require 'rexml/document'

$KCODE = 'u'

def get_webscouter_data(url)
  version = '2'
  source = open("http://ja.webscouter.net/api.phtml?ver=#{version}&u=#{url}").read
  webscouter = Hash.new
  if source.empty?
    webscouter[:count] = 0
    webscouter[:url]   = "none"
  else
    doc = REXML::Document.new(source)
    webscouter[:count] = doc.elements['//scouterValue'].text.to_i
    webscouter[:url]   = doc.elements['//webscouter'].text
  end
  return webscouter
end

sites = Array.new
CSV.open('newssite.csv', 'r', "\t") do |newssite|
  site = Hash.new
  site[:name]  = newssite[0]
  site[:url]   = newssite[1]
  webscouter = get_webscouter_data site[:url]
  site[:count]      = webscouter[:count]
  site[:webscouter] = webscouter[:url]
  puts "\"#{site[:name]}\",#{site[:url]},#{site[:count]}"
  sites << site
end

sites.sort! {|a, b| b[:count] <=> a[:count]}
CSV.open('webscouter.csv', 'w', "\t") do |writer|
  sites.each do |site|
    writer << [site[:name], site[:url], site[:webscouter], site[:count]]
  end
end

*1:上位100にしぼってあります。