methodの途中の作業

yieldを使う rubyであるメソッドの途中で別の作業をしたいときに、その内容をブロックとして与えて、yieldで実行することができる。ブロックを与えないときには何もしないのかと思いきや、エラーが起こるので、yield if block_given?としておけば良い。 問題なのは、いくつかの操作をメソッドの途中でしたいときだ。ブロックは二つ与えられないしと思っていたら、こんな感じで実現できることに気がついた。 def test puts 0 yield(0) if block_given? puts 1 yield(1) if block_given? puts 2 end test{|i| case i when 0; puts 'a' when 1; puts 'b' end } test{ puts 'a' } test これで、ブロックを付けなくてもエラーが出ないし、場合分けがあるかも意識しないでも良い。 しかし、手続オブジェクトを引数に使うと、複数の手続を指定できるので、素直に書ける。 def test(a=nil,b=nil) puts 0 a.call if a puts 1 b.call if b puts 2 end a=Proc.new{ puts 'a' } b=Proc.new{ puts 'b' } test(a,b) test(a) test() しかし、メソッドを呼び出す前に手続オブジェクトを定義しないといけないので、少し面倒な気がする。間をとって、こんな感じが使い易いのかも知れない。 def test(a=nil) puts 0 a.
Read more...

headerの情報

firefoxのlivehttpheaders
httpでアクセスしていると、headerの情報を見たくなる場合がある。サイトによっては、RefererやUser-AgentやAccept-Languageなどを見ている場合もあるし、Cookieやformのデータをどのようにやりとりしているのかを知る必要があるからだ。おそらくhttpのアクセスを別のプログラムから見ることはできるだろうが、httpsなどでは暗号化されているので、これは難しい。 firefoxにはlivehttpheadersというアドオンがあり、これを使うとheaderを見れるようになる。httpsでもheaderを見れるので、便利である。debian lennyとubuntu jauntyでは、mozilla-livehttpheadersをインストールすると使えるようになる。 今度、httpsでアクセスするときに、どのようなデータがやりとりされているのかを調べてみよう。

Read more...

linuxでxlsx

gnumericでxlsxが読めた。
linuxを使っていて困るのが、msofficeのファイルを扱わないといけない時だ。自分で文章を作るときは、texなどを使うので、officeのお世話になることは無いが、提出はエクセルでとか言われると、従わざるを得ない。このような時には、openofficeをつかっていたが、2007の保存形式にはまだ対応していないようで、そのようなファイルを扱うのは諦めていた。 xlsxファイルを読む必要が出たので、少し調べてみた。すると、xml形式のものをzip圧縮したものらしいということが分かった。実際、unzipしてみるとファイルが出てくる。ソースをいろいろと見てみたが結局よく分からなかった。 xml形式なら、読めるソフトがあるはずだと思って調べてみたら、gnumericでは読めるようだ。xubuntuでは標準でインストールされているようだが、debian lennyには無かったので、インストールして使ってみた。確かに、xlsxを読むことができた。起動も早いし。 これで、openofficeを使う必要が無いかもしれない、と思って調べてみたら、openoffice3.0では2007形式も読めるようだ。lennyの2.4ではまだ未対応のようだけど。

Read more...

linuxのrelease

ubuntu9.10
ubuntuは半年ごとにリリースされる。今月中には9.10が出る予定である。一方、debianは過去のリリースを見ると、大体二年から三年に一度といった感じか。日付は多少間違っているかも知れないけど、リリース日はこんな感じだった。

2009.2.14 5.0 lenny
2007.4.8 4.0 etch
2005.6.6 3.1 sarge
2002.7.19 3.0 woody

windowsは最近よく知らないが、xpからvistaは5年ぐらいあった気がするが、windows7は3年ぐらいなのだろうか。さすがにubuntuのように半年ごとに更新で、一年でサポートが切れると、なかなか管理が大変である。数年ぐらいが適切だろうか。研究室のlinuxマシンはほとんどがdebianだが、まだetchのものが多い。lennyのlxdeにも慣れてきたので、徐々にlennyにしていかなければならない。今日は停電明けだったので、試しに一台をetchからlennyに入れ替えた。videoのキャプチャーの設定はetchと同じように2008/4/25に書いてあるようにしてみたけど、うまく動くかな。

Read more...

totemでyoutube

totemでyoutubeが見られるらしい。
噂を聞いてやってみたが、ubuntu9.04ではうまく動かなかった。いろいろと調べたりして以下のようにすればうまくいくようになることが分かった。 まず、ubuntu-restricted-extrasをインストールする。私の場合はxubuntuだったので、xubuntu-restricted-extrasを入れた。それから、/usr/lib/totem/plugins/youtube/youtube.pyの337行目のurllib.quote(t_param)をt_paramと訂正する。 驚いたのはpluginがpythonで書かれているということだ。つまりtotemをインストールすると、自動的にpythonもインストールされるということだ。rubyもこんな感じになってくれると良いのに。 少しソースを読んでみたが、classの定義のところは、やたらとselfが多い。おそらく最初の方でインスタント変数を定義するときに使っているのだろう。pythonも少しは使えるようになりたいが、rubyを使っているとあまり必要性を感じないのでダメだな。以前perlを使っているときにはなかなかrubyを覚えられなかった前歴があるし。

Read more...

秋月

秋月電子?
秋月といえば、秋葉の電子部品屋を思い出す人が多い。googleでもトップに来るし。世の中には、秋月梨というものがあるらしい。新高と豊水を交配させたものに幸水を交配させたものらしい。というわけで、買ってきて食べてみた。味は爽やかで、甘味は豊水よりも少し控えめという感じで、好感がもてる。しかし、まだそれほど広まっていないようなので、なかなか手に入らないのが残念だ。

Read more...

画面の縮小

短い縦
mini9のLCDは1024x600で、横長である。横幅が多少足りないと思うことがないわけではないが、縦が足りないと思うことは多い。解像度は液晶を変えなければ変わらないが、たんに縮小して、縦に表示できる情報を増やすことができることが分かった。

xrandr --fb 1024x900 --output LVDS --scale 1.5x1.5 --panning 1024x900

とすると、1.5倍に縮小して画面が表示される。文字は小さくなるが、なんとか判別できる。二倍にしたらさすがに読めなかった。

xrandr --fb 1024x600 --output LVDS --scale 1x1

とすれば、もとに戻るが、もう少し簡単にもどらないのかな。縮小しなくてよいのなら、

xrandr --fb 1024x1024 --output LVDS --panning 1024x1024

とすると、画面をスクロールして使えるので便利かも。

Read more...

ubuntu9.04にVESTA

VESTAのインストール
mini9のxubuntuにVESTAをインストールした。2009/4/3に書いたように、lennyと同じようにしたらインストールできた。しかし、

get fences failed: -1
param: 6, val: 0

というエラーっぽいものがでる。まあ、使えているからいいか。また、mini9の画面では小さすぎて、下の方がはみ出して使えない。画面自体をスクロールできるようにできれば良いのだろうが。

2009/9/27追記 一つの解決策を見つけた。画面を横にして使えば、画面の下が使えるということに気がついた。

xrandr -o left

とすればよい。しかし、タッチパッドは横にならないので、操作は難しいけど。使い終わったらnormalにする。

Read more...

Netwalkerの電源

今日は公式な発売日
近くにある電器屋にいってみたが、置いていなかった。もう少し待つか、秋葉に行くしかないか。気になっていた電源は、11Vで2.46Aらしい。コネクタはEIAJ極性統一プラグっぽい。電圧から判断すると、#4のはずだが、規格外で使っている可能性もある。追って確認する必要がある。20Wらしいので、実質2Aぐらいなのだろう。 しかし、変わった電圧を採用するな。12Vで動くのなら、汎用のACアダプタが使えるけど、電源回路の発熱が多くなって、寿命が縮むかな。9Vではさすがに動かないだろうし。 まあ、買う前から悩む必要は無いが。

2009/10/5追記 #1だと外径2.35で内径0.7らしいのだが、噂によると外径3.0で内径1.1のものかな。

Read more...

netwalkerの中身

NetWalkerの先行発売から約一週間、ようやく分解写真も出てきた。
Windows以外のnetbookが日本ではなかなか発売されない。唯一Dellがubuntuを出しているが、海外ではLinux版を出しているASUSもHPも日本では出さない。mbookもwindowsになってしまった。 そうこうしていると、Sharpがやってくれた。非常に興味を引かれるが、出先でプレゼンしたいのでVGAが欲しい。個人的には有線LANが欲しい。というわけでまだ迷っている。まあ、場所がないので無理でしょうが。 いろいろと評判を見ていると、キーボードがひどいという意見が多いようだ。あとARMのubuntuはあと一つといった感じらしい。 いろいろな情報もだんだんそろってきたが、まずは実機を触ってみたいな。

2009/9/26追記 有線LANはUSBを使う方法があるが、coregaのUSB-TXSは動いたらしい。

2009/10/5追記 http://hitaki.net/diary/20090928.html#p01に分解の様子が書かれている。

Read more...