Colorful Google Calendarを修正
なにやらGoogle Calendarのクラス指定が変化してColorful Google Calendarが動かなくなっていたので修正。
Google Calendarの土日に背景色をつけるGreasemonkeyScriptです。
descendant-or-selfと//は完全に同一じゃないらしい
てっきりdescendant-or-self == //だと思っていたんだけど、contextNodeとしてルート以外を指定した場合には異なるらしい。
結果をみた感じ、「//」を指定するとcontextNodeとは関係なくルートから検索するのかね。
contextNodeから下で探したいのであれば、descendant-or-selfまたは「.//」を使うのが良いみたい。
XPath | contextNode | 結果件数 |
---|---|---|
descendant-or-self | root | 2件 |
.// | root | 2件 |
// | root | 2件 |
descendant-or-self | content1 | 1件 |
.// | content1 | 1件 |
// | content1 | 2件 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript"> <!-- function xpathsample() { var content1 = document.getElementById("content1"); var xpath1 = "descendant-or-self::p"; var xpath2 = ".//p"; var xpath3 = "//p"; alert(document.evaluate(xpath1, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotLength); // 2 alert(document.evaluate(xpath2, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotLength); // 2 alert(document.evaluate(xpath3, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotLength); // 2 alert(document.evaluate(xpath1, content1, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotLength); // 1 alert(document.evaluate(xpath2, content1, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotLength); // 1 alert(document.evaluate(xpath3, content1, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotLength); // 2 } //--> </script> </head> <body> <div id="content1"> <div> <p>content1</p> </div> </div> <div id="content2"> <div> <p>content2</p> </div> </div> <input type="button" onclick="xpathsample()" value="sample"> </body> </html>
迷路を解くRubyスクリプト
人生を書き換える者すらいた。: 人材獲得作戦・4 試験問題ほか
を解いてみた。一番得意な言語ってわけでは無いが、最近仕事で使っているのでRubyを使用。
正答を出せるまでが40分、ブラッシュアップに10分ってところか。
この方法は有名どころで、ユニット型シミュレーションゲームの移動範囲表示にも使われてたような。
class Maze def initialize(inputs) @width = inputs[0].length - 1 @height = inputs.length @maze = [] inputs.each do |input| linemaze = [] input.split("").each do |c| next if c == "\n" @start = {:x => linemaze.length, :y => @maze.length } if c == "S" @goal = {:x => linemaze.length, :y => @maze.length } if c == "G" c == " " ? linemaze.push(@width * @height) : linemaze.push(c) end @maze.push(linemaze) end end def solve history = [] move(@start[:x], @start[:y], history) @answerHistory.each do |foot| next if ["S", "G"].include?(@maze[foot[:y]][foot[:x]]) @maze[foot[:y]][foot[:x]] = "$" end end def move(x, y, history) history.push({:x => x, :y => y}) return if @maze[y][x] == "*" return if @maze[y][x] == "S" && history.length > 1 if @maze[y][x] == "G" then if @answerHistory == nil || history.length < @answerHistory.length then @answerHistory = history.clone end return end if @maze[y][x].kind_of?(Numeric) then return if @maze[y][x] <= history.length @maze[y][x] = history.length end move(x - 1, y, history) history.pop move(x + 1, y, history) history.pop move(x, y - 1, history) history.pop move(x, y + 1, history) history.pop end def to_s str = "" str << @maze.map do |line| line.map do |c| c.kind_of?(Numeric) ? " " : c end.join("") end.join("\n") str << "\n" str << "start = #{@start[:x]}, #{@start[:y]}\n" str << "goal = #{@goal[:x]}, #{@goal[:y]}\n" end end if ARGV.length == 0 then puts "Usage: solvemaze.rb filename" exit end inputs = File.open(ARGV[0]).readlines maze = Maze.new(inputs) puts maze puts "--------------------------------" puts " Now solving......" puts "--------------------------------" maze.solve puts maze
実行結果
iPhoneが欲しくなって色々考えたらW-ZERO3のadesが欲しくなった
最近iPhoneが欲しい。
アップルイベントが終わって新iPod Touchも発表されたことだし、そっちも含めて検討してみた。
条件としてはこんな感じ。
- 彼女向けに通話定額が欲しい。現在は自分がWillcom、彼女がdocomo(メイン) + Willcom(電話専用)
- 自分が使ってるAdesは本体の調子が悪い(スピーカがやられたか、イヤホンを使わないと音が出ない)
- 比較しやすかったので2年間で比較。2年後にはいろいろ環境変わってそうだし
- iPhoneを買うのであればパケ代抑制なんて考えない
- 主な使用場所は埼玉、東京辺り。移動中や昼休みが主か。自宅では無線LANを使用。
Willcom W-ZERO3 Advanced[es](現状)
Willcom初期費用:0円
Willcom毎月費用:旧定額(2900円)、データ定額(1000 + 1500円程度)、彼女側旧定額(2900円)
総合計:(2900 + 1000 + 1500 + 2900) * 24 = 199,200
ここ半年を平均すると25万パケット/月。0.01円/パケットなので、データ通信費は2500円ぐらい。
本体の調子がかなり悪くなってるので、現実的では無いがこのまま維持するとしたらこんな感じか。
思ったよりも払っていたようだ。2年まとめると結構高いと感じる。
Willcom 03に機種変更(ジャケット買増)してW-VALUEで2年契約
Willcom初期費用:本体一括(63120円)、ヨドバシのポイント付与(6943P)
Willcom毎月費用:旧定額(2900円)、データ定額(1000 + 1500円程度)、W-VALUE割引(-2230円)、彼女側旧定額(2900円)
総合計:2100 + 63120 - 6943 + (2900 + 2500 - 2230 + 2900) * 24 = 203,957
正直03には余り魅力を感じない。テレビ見ないし、CPU変わってないし。
ヤフオクで03本体だけ購入して現状のWillcom契約を継続
Willcom初期費用:本体(17500円)
Willcom毎月費用:旧定額(2900円)、データ定額(1000 + 1500円程度)、彼女側旧定額(2900円)
総合計:17500 + (2900 + 1000 + 1500 + 2900) * 24 = 216,700
差し替え出来るのはWillcomの利点だと思う。というわけで外側だけ探してみる。
ヤフオクだと15000円〜20000円ぐらい?間を取って17500円とするとこんな感じ。
あれ、W-VALUE SELECTを使った↑の方が安い。そりゃ400 * 24 = 9600円が実質支払額だからその差額が出たか。
Willcomは本体実質0円の機種に変更してW-VALUE SELECTで2年契約+iPhone
Willcom初期費用:本体(51120円)、ヨドバシのポイント付与(5623P)
Softbank初期費用:契約手数料(2835円)、16G本体(57600円)、株主優待券値引(-10000円)*1、優待券購入(2000円)、ヨドバシのポイント付与(6336P)*2
Willcom毎月費用:旧定額(2900円)、彼女側旧定額(2900円)
Softbank毎月費用:パケット定額フル(4410円)、ホワイトプラン(980円)、S!ベーシック(315円)、月々割(-1920円)
Willcom合計:(2900 + 2900) * 24 = 139,200
Softbank合計:2835 + 57600 - 10000 + 2000 - 6336 + (4410 + 980 + 315 - 1920) * 24 = 136,939
総合計:139200 + 136939 = 276,139
データ通信は完全にiPhoneへ移行。Willcomは通話のみ。
Willcom側はスマートフォンである必要が無くなるので、9(nine)とかの電話向き本体の方が良いが一括支払いのポイントを考えると実質0円で一番高いadesがよさげ。
たけぇぇ!
上記プランのiPhoneをiPod Touchに変更
Apple初期費用:32G本体(29800円)、ヨドバシのポイント付与(3278P)
Willcom初期費用:本体(51120円)、ヨドバシのポイント付与(5623P)
Willcom毎月費用:旧定額(2900円)、データ定額(1000円)、彼女側旧定額(2900円)、W-VALUE割引(-2130円)
広域無線LAN毎月費用:Livedoor wireless(525円)
総合計:29800 - 3278 + 51120 -5623 + (2900 + 1000 + 525 + 2900 - 2130) * 24 = 196,699
iPhoneの場合、結構な値引が入るとは言え、無駄なホワイトプランとかに費用がかかる。
ならば、ちょうど新型が発表されたiPod Touchはどうだろうと考えてみたらこんな感じ。
広域無線LANを契約することでWillcom側のデータ通信を10万パケット以下に抑えられるとした場合だが、
そもそも広域無線LAN使ったことが無いから、どれぐらい使える物かよくわからない。
移動中には基本使えないだろうから、そんなにパケ代減らせないのかも。
結局は「どこでもつながる3Gサービス」に2年で8万を出せるか否かって問題なのか。
Softbank初期費用:契約手数料(2835円)、本体(57600円)、株主優待券値引(-10000円)、優待券購入(2000円)、ヨドバシのポイント付与(6336P)
Softbank毎月費用:パケット定額(4410円)、ホワイトプラン(980円)、S!(315円)、月々割(-1920円)
Skype Phone:USB型(3980円) or 無線ルータ(10000円程度) + Wi-fi対応型(20000強)
Softbank合計:2835 + 57600 - 10000 + 2000 - 6336 + (4410 + 980 + 315 - 1920) * 24 = 136,939
総合計:136939 + 3980 = 140,919
総合計:136939 + 10000 + 20000 = 166,939
2キャリア持つのはやっぱり(金銭的に)無理だ。そもそもWillcomは本当に必須か?
どうせ長電話は家にいる時。ならSkypeで良いんじゃないか?という考えを元に計算。
こっちはSkype for iPhone + 自宅無線LAN。
彼女側はSkype Phone + PC + 自宅有線LAN(USB型の場合)
もしくはSkype Phone + 自宅無線LAN(Wifi対応型の場合)
これだとPCを起動しておく手間があるので、無線LANルータ + Wi-fi対応型Skype Phoneも検討。
これなら普通の電話ライク@無線LANのある場所において。
おを、iPhone手に入れたのに今より安い。どれぐらい不便になるかは神のみぞ知る。
iPhone + 無契約AdesでSkype
Softbank初期費用:契約手数料(2835円)、本体(57600円)、株主優待券値引(-10000円)、優待券購入(2000円)、ヨドバシのポイント付与(6336P)
Softbank毎月費用:パケット定額(4410円)、ホワイトプラン(980円)、S!(315円)、月々割(-1920円)
Willcom?初期費用:無線ルータ(10000円程度)、無契約Ades(7500円程度)
Softbank合計:2835 + 57600 - 10000 + 2000 - 6336 + (4410 + 980 + 315 - 1920) * 24 = 136,939
総合計:136939 + 7500 = 144,439
Wifi対応のSkype Phoneは2万以上する上に生産中止だらけ。
ならば、Windows Mobileに頼ろう。ヤフオクでAdesの本体だけを購入し、Skype for Windows Mobileをインストール。
見た目的にも普通の電話(PHS)になり、値段も抑えられて一石二鳥。
なんともトリッキーだが値段やサービス的には魅力的か。
@1日早ければこのAdesが買えたんだが、相場は5000円〜10000円らしい。
iPhoneW-SIM無しのAdvanced[es]欲しいなー
しかし、昨今の価格体系はもはやパズルだね。*3
こりゃ携帯マイスターが必要になるわけだわ・・・
スペースシャトル打ち上げ再度延期(STS-128)
見づらい時間だったはずなのに延期延期で見やすい時間になってしまいました。
うれしいはうれしいんだが、延期にかかる費用や残り時間を考えると、さくっと上がってくれた方が良いんだがなぁ。
さて、現在の予定は以下のとおり。
打ち上げ予定(現地時間):2009年8月28日(金) 23時59分
打ち上げ予定(日本時間):2009年8月29日(土) 12時59分
中継は例によってNASA TV(http://www.nasa.gov/ntv)にて。
スペースシャトル打ち上げ予定決定(STS-128)
今回は見づらい時間ですが、スペースシャトルの打ち上げ予定(STS-128)が決定です。
打ち上げ予定(現地時間):2009年8月25日(火) 01時36分
打ち上げ予定(日本時間):2009年8月25日(火) 14時36分
打ち上げ予定(現地時間):2009年8月28日(金) 00時22分
打ち上げ予定(日本時間):2009年8月28日(金) 13時22分
オービター:ディスカバリー(Discovery)
目的地:国際宇宙ステーション(ISS)
積荷:色々
Racking Up New Scienceのミッション名が示す通り、今回は建造というよりも輸送ミッションですね。
ご飯やらの補給物資を持って上へ上がり、三回の宇宙遊泳(EVA)を通して設置作業を行います。
大きな積荷はこんな感じ。
・Leonard:多目的モジュール。要は補給コンテナ。27,510lbs ≒ 12,478 kgも入ります。SI単位系使ってプリーズ。
・Colbert:トレーニング用のトレッドミル
・ARS:空気再生システム
・研究設備。-80度の研究用冷凍庫とか。流体合成機?だとか、微小重力下での素材の研究設備とか。
・乗組員用の個室。JEMのPMに設置ってことは「きぼう」内部か。ISS内で「一番静かな場所」だったらしいからスイートルームですな。今は研究設備が騒音源になりそうだが。
・そして人。今回も7人が上がり、第20次の長期滞在員が交代してやっぱり7人で帰ってきます。
そして、前に出たゴミを詰め込んだモジュールを積み込み、帰還。
シャトル退役後は欧州のATVや日本のHTV、ロシア辺りが担うことになる予定。
まぁ、本当に2010年でシャトルが退役するのかも怪しくなってきましたが・・・
ところで5人の子持ちが居るんだが、向こうではこれが普通なのか?それも2人もいる。
あ、片方の方はTwitterのアカウント持ちだ。@Astro_Jose
英語アカウントが増えると中々に辛いが、ミッション中ぐらいはフォローしておこう。