83's

Top > Archives > 2006 > August

August 05, 2006

文字化け 00:40

最近ブログに書くこともないつまらない日々を送ってるんだけど、7月の更新回数はあまりにアレなので今月は書く。

研究室のメーリングリストの過去ログをWebで見れるようにした。

fmlがメールをhtml化したものも生成してくれるんで楽だったんだけど、ブラウザで見ると文字化けが。

Content-typeヘッダがcharset=utf-8な感じになってたんでapacheのhttpd.confを見ると確かこうなってた。

AddDefaultCharset utf-8

これ、レスポンスに追加される文字セットの名前を指定 するって話だけど、なんでutf-8決め打ちにしてあるんだ? うちの研究室のサーバは。 RedHatイミフ

そういえば最近放置してたせいでup2dateの更新パッケージ数が200件以上あった。恐ろしいんで無視して帰った。

August 07, 2006

パスワードまる見え 02:49

今日話に出てきて思い出したんだけど、ブクログてゆう本棚.orgみたいなサイト(どっちが先?)のログインページ、パスワードが<input type="text" />なんだよね。 だからパスワードが見えちゃうんだけど……。

これってどうなの? なんか普段見るパスワードって***って伏せられてるから、ものすごい違和感。

とりあえずこのままだと、

  • ブラウザのパスワード管理機能で扱えない
  • フォームの補完候補にパスワードが残る

ような気がする。もちろんブラウザがそういうことをするケースに限った問題だけれども。

てかtype="password"にしない理由を知りたい。

August 09, 2006

X 叫んでみろ 00:59

すみません、X Window SystemのXでつ。

yz@ubuntu % xwininfo                                                    

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x2400083 "[YBLOGED] 83's : Edit entry - Mozilla Firefox"

  Absolute upper-left X:  37
  Absolute upper-left Y:  48
  Relative upper-left X:  5
  Relative upper-left Y:  23
  Width: 1002
  Height: 865
  Depth: 24
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +37+48  -241+48  -241-111  +37-111
  -geometry 1002x865+32+25

奇しくもWindow IDに83がw

xlsclientsはlist client applications running on a displayだと。

yz@ubuntu % xlsclients -l | grep 2400083                                
yz@ubuntu %

んん? ひっかかんね。xwininfoで見たWindow IDは何なんだ。xlsclients的にはクライアントと見ない?

yz@ubuntu % xlsclients -l | grep -C 3 Firefox                           
  Instance/Class:  ClockApplet/ClockApplet
Window 0x2400001:
  Machine:  ubuntu
  Name:  Firefox
  Icon Name:  firefox-bin
  Command:  firefox-bin
  Instance/Class:  firefox-bin/Firefox-bin
Window 0x2600001:
  Machine:  ubuntu
  Name:  gnome-screensaver

0x2400001とはまたきれいな数字。

yz@ubuntu % xwininfo -id 0x2400001                                      

xwininfo: Window id: 0x2400001 "Firefox"

  Absolute upper-left X:  10
  Absolute upper-left Y:  10
  Relative upper-left X:  10
  Relative upper-left Y:  10
  Width: 10
  Height: 10
  Depth: 24
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsUnMapped
  Override Redirect State: no
  Corners:  +10+10  -1260+10  -1260-1004  +10-1004
  -geometry 10x10+10+10

んんん? 10 * 10のウィンドウがいるんですか?

謎は深まるばかり。さーて、いつ飽きるかなぁ。

嫌窓流 01:34

「X Windowって言うな。そうすれば私たちも窓って言わない」(元ネタ)

What ever you do, for God's sake stop calling it "X-Window".

man X

 (´Д`;) ゴメンナサイゴメンナサイ
   ∨) Xウィンドウシステム デスネ ゴメンナサイ
   ((

大慌て?でさっきのエントリをs/X Window/X Window System/

 (;´Д`)  スミマセンスミマセン
 (  八)   man X シマス スミマセン
   〉 〉

yz@ubuntu % man X                                                       
マニュアル X は登録されていません

 (´Д`;)、  コノトオリデス
   ノノZ乙

正しく呼ぼう。

開発元の X.Org Foundation は、このソフトウェアを以下のいずれかの名前で呼ぶことを求めている。

  • X
  • X Window System
  • X Version 11
  • X Window System, Version 11
  • X11

不便なメール事情 11:26

大学のメールは、研究室以外のパソコンで受信した場合はメールサーバにメールを残しておくようにしてる。言い方変えると研究室で受信したら家で見れない。最近は週に最低3日は研究室に行っていたので、ほとんどのメールが研究室にある。

で、今メールが見れなくて困ってる。どうしよう、記憶を頼りに「確かこう書いてあった」って返答するか。それともメール見るために学校に行くか……。

こういう時のために大学のメールをGmailに転送させたかったんだよねー。でも.forward置いとこうと思ったらログインできなかったんでkt野さんにお願いしておいたのが5月とか6月とかその辺のことだったんだけど、一体どうなったんだろう。( ´∀`)oO(忘れちゃったのかな。メモまで書いたのに…)

どんなエラーだったかな、そのようなディレクトリはありません、みたいのだったかな。

XSendEvent 11:31

XSendEventは通信プロトコル形式への変換が失敗すると 0 を返し、それ以外の場合に は 0 でない値を返す。

XSendEventはエラー BadValue ,BadWindow を起こすことがある。

X11

1って返ってくるんだが、これは一体……。

X.h見ると

#define Success        0    /* everything's okay */
#define BadRequest     1    /* bad request code */
#define BadValue       2    /* int parameter out of range */
#define BadWindow      3    /* parameter not a Window */
#define BadPixmap      4    /* parameter not a Pixmap */
#define BadAtom        5    /* parameter not an Atom */
#define BadCursor      6    /* parameter not a Cursor */
#define BadFont        7    /* parameter not a Font */
#define BadMatch       8    /* parameter mismatch */
#define BadDrawable    9    /* parameter not a Pixmap or Window */
#define BadAccess     10    /* depending on context:

XSendEventがBadWindowとか返すんだから1もここにあるBadRequestだと思ったんだけど、 そうすると失敗すると 0 を返しって記述と激しく矛盾してくる。どうなってんだ。

August 10, 2006

Railsの育て方の本 20:43

ひさびさに本を購入。AAがちらほらあって楽しめそうです。

Ruby on Rails入門―優しいRailsの育て方
西 和則
秀和システム (2006/08)

店内歩いてたら同じ値段のMONSTERのスコアを思わず手に取ってしまったんだが、10分の葛藤の末、棚に戻すことができた。 3000円なんてポンポン買えたのが昔のオレなんだよな。今のオレは金がないから困る。

技術本以外も読まねば。

August 12, 2006

Hash#[](*keys) 03:09

眠い頭が変なこと思い付いたよ。

こんなん便利ですかね?

keys.map {|k| hash[k] }

の短縮で、

hash[key1, key2, key3]

みたいな。

これで、

Date.new(*params[:year, :month, :day].map(&:to_i))

とすっきり。ほんとか?

class Hash
  def [](*keys)
    if keys.size == 1
      fetch(keys[0]) rescue nil
    else
      keys.map {|k| fetch(k) rescue nil }
    end
  end
end
irb(main):001:0> a = { :a => 1, :b => 2, :c => 3 }
=> {:b=>2, :c=>3, :a=>1}
irb(main):002:0> a[:b]
=> 2
irb(main):003:0> a[:b, :c]
=> [2, 3]
irb(main):004:0> a[:b, :d]
=> [2, nil]

まあこんなことより、さっきのDate.newのすっきりした書き方きぼん……。

なんかこれをrequireしたらRailsのルーティングが失敗?→404 not foundに。なんだよもう。Rubyにオーバーロードが欲しくなった。

Hash#values_at 15:24

Hash#[](*keys)なんてのをでっちあげなくても、 偉い人が先に考えついていたのだ。 リファレンスマニュアルの一番下にあったから見落としたよ。

hash = { :a => 1, :b => 2, :c => 3 }
hash.values_at(:a, :b)
#=> [1, 2]

でもひきつづき

hash[:a, :b]

の便利さを主張していきます。

August 21, 2006

近況 17:34

歯が痛い。青春18きっぷも買わないと。うーん、金がやばい。

1週間半学校で合宿的なことしてたもんだから、出費がかさんだみたいだ。でもそれも今日で一応終わりの予定。Xlibを調べてた頃は平和だったわぁ……。

その件もあるし、バイトも始まるし、レポートの提出期限が2つも迫っているし、英論2本読まないといけないし、なんかバタバタしてきた。

RMagickがキモい 21:27

img = Magick::Image.new(256, 64) {
 self.background_color = 'red'
 }

selfがキモい。newのほかにはDraw#annotateとか。

instance_evalを使ってるみたいなんで こう書くことにする。

img = Magick::Image.new(256, 64) {|i| i.background_color = 'red' }

ふむ。これでいいじゃん。するとcallで事足りるのに、なんでinstance_evalなんだろう?

August 25, 2006

久々にネムタ 06:15

やってしまった。バイト2日目にして早くも仕事中に30分間断続的に意識が飛んでしまった。 相当疲れが溜ってるらしい。眠れてないのがいけないんだろうけど。てかチョー気まずい。

まーバイトには悪影響が出たが、2週間ぶっとおしで作り続けた例のものがついにテスターの皆さんに今日公開されるみたいです。今日明日とテストしてもらって、日曜に修正してすぐリリースの予定。キツキツです。ほとんどテストしてないのが不安。

オレはその間LLRing行って、しかも空いた時間で10枚レポートを書かないといけない。やべー。まさか〆切直前にこんなことをしているとは思わなかったからまったくやってない(つД`)

とりあえず今から東京行きの準備をして、出発まで少しでも寝たい……。

August 28, 2006

LLRing行ってきた 09:19

出てくる人も発表内容もおもしろかったなぁ。もっとお固いかと勝手に思ってたんだけど、ホント楽しめました。

あんだけいろんな言語が一同に会していたのにどの言語でももりあがるんだから、みんな博識だよね。とりあえずもっと楽しむには慣れていないパラダイムに触れないと。Schemeは一端おいといて、ふつけるでも買ってくるかなぁ。それ読んだらここんとこまったく開いていないSICPをがんばるか……。

プレゼント大会では、オレはボールに2回タッチ(かかとと背中)したもののゲットならず。背中にあたったやつは、オレがかかとに当たったボールを拾おうと屈んでいたときにダイレクトにオレの背中に飛んできたそうです(つД`) 数少ないチャンスをものにできないあたりはオレの人生そのもの。逃した魚は大きいんだろうな。

しっかし、やりたいことがやりきれずに新しくできたやりたいことに次々食われていくって現象がひたすら続いてるんだけど、このへんはLife Hackerのchami君に解決策を相談してみるか……。今言える結論は、授業なんてかまってる暇はないってことですね。

そういえば青春18きっぷで行ったので行きと帰りで座りっぱなし、LLRing当日も座りっぱなしでお尻が痛い。あと生活のリズムがまだ戻らない。