2009年9月10日木曜日

追記: Rainmeterのスキン、10-Foot HUDの天気予報カスタマイズ

もがわのほとり: Rainmeterのスキン、10-Foot HUDの天気予報カスタマイズ

天気予報カスタマイズだけど、weather.comのxoapのフォーマットが変わったらしく、しばらく前から表示されなくなってた。

;URL=http://xoap.weather.com/weather/local/JAXX0004?cc=*&unit=m&dayf=6
URL=http://xoap.weather.com/weather/local/JAXX0004?cc=*&unit=m&dayf=6&xoap&link=xoap&par=1003666583&key=4128909340a9b2fc

とすれば良い。
parとkeyはUbuntuから流用。
ほんとはちゃんとキーを取得すべきなんだろうけど…どうやら結構流用してる人が居るみたいだからまあ良いやで:P

2009年2月22日日曜日

DD-WRTの設定にはChromeが使えない

fonにDD-WRTを入れた。
暫く使ってなかったので、イーサネットコンバータにしようと思って色々やった。
(それは今度まとめる)

で、大きくはまったので。
DD-WRTはWebインタフェースで設定できる。
ブラウザからアクセスして使うのだが、これにGoogleのChromeが使えない。
一見普通にアクセスできるし動くように見えるんだけど、保存も設定の反映も出来ない。
ERR_INVALID_RESPONSE.
というエラーコードが出てたらソレ。素直に諦めよう。 http://code.google.com/p/chromium/issues/detail?id=1863
chromiumだとパッチが当たってるみたいだけども・・・

FireFoxだと問題ないので、そっちを使うこと。
(IEも微妙に不自然な挙動をすることがあるので)

2009年2月10日火曜日

iPod TouchでGoogle Sync

Google Syncが提供され始めました。
iPhoneとか携帯電話向けってばっかりでTouch向けの記事が無いのでやってみた。
GoogleカレンダーがPushで同期(ネットに繋いだタイミングで双方向に同期)できるのすげく便利。
(コンタクトリストは使ってないから便利さは不明)

m.google.com/sync
に繋ぐと、日本語の場合は「提供されてない」とか言われるけど、言語の選択でEnglishとか選ぶと繋がる。

PCでm.google.com/syncにつなげって言われるので繋ぐと説明のページに飛ぶ。
そこでiPhoneを選んで…とやってくと↓に行く。要はセッティングの説明。

Microsoft Exchangeを使って繋ぐみたいだ。日本語でざっくり解説。
  1. Touchの「設定」から、Mailとかのを選ぶ
  2. アカウントの追加を選ぶ
  3. Microsoft Exchangeを選ぶ
次に、アカウントの設定をする。
  1. Emailフィールドは何でも良い
  2. Domainフィールドは空白で
  3. UsernameフィールドにはGoogleのアカウントを(google.comまで含めて)
  4. PasswordフィールドにはGoogleのパスワードを
これで、上にある次へ(Next)ボタンを押す
  1. Serverフィールドに「m.google.com」と入れる

あとは完了したりOKしたりしていけばできる。(メール、カレンダー、コンタクトリストの3つのON/OFFがあるけどメールだけOFFで)
双方向同期なので、今のiPhod Touchのコンタクトリストとカレンダーは一旦全部消えます。バックアップをとってからにしよう。

びっくりするくらい便利。設定も簡単。オススメ。

2009年1月21日水曜日

Pythonで日本語文字列を扱う

Pythonで日本語文字列を置換しようとする度にググるのでいい加減まとめておく。
前提としてPython 2.6.1だと、文字列は全部Unicodeだと見なされる。で、Unicodeじゃない文字列は単なるバイト列として扱われる。
(Python 2.6.1対応。Python 3.0では未確認)

まず、日本語(たぶんマルチバイト文字全般)の処理方法。
# -*- coding: utf-8 -*-
先頭にこれを書いて、ソースはutf-8で保存する。

# -*- coding: utf-8 -*-
str = "こんにちは世界"
print str
strは当然utf-8で保存されてるし、出力もそう。
Windowsのコンソールなんかでやると文字化けする。

# -*- coding: utf-8 -*-
str = "こんにちは世界"
print str.decode('utf-8')
pythonはユニコードが標準らしい。utf-8をデコードして(ユニコードにして)やる。
Windowsのコンソールだとちゃんと表示する。

# -*- coding: utf-8 -*-
str = u"こんにちは世界"
print str
最初からハードコーディングするならこっちが簡単。uを付けるとユニコードになる。
やっぱりWindowsのコンソールだとちゃんと表示する。

# -*- coding: utf-8 -*-
str = u"こんにちは世界"
print str.encode('utf-8')
意味はないけど、ユニコードをutf-8にエンコードすることも出来る。
Windowsのコンソールだとちゃんと(?)文字化けする。(化け方はさっきと同じ)

# -*- coding: utf-8 -*-
str = "こんにちは世界"
print unicode(str, 'utf-8')
実は、ユニコードへの変換を受け持つ関数(constructor)もある。
encode, decodeよりも判りやすいかも。実は便利な機能付き。
# -*- coding: utf-8 -*-
import sys
str = "\x80こんにちは世界"
print unicode(str, 'utf-8', errors='ignore')

try:
  print unicode(str, 'utf-8', errors='replace')
except:
  print sys.exc_info()[:]

try:
  print unicode(str, 'utf-8', errors='strict')
except:
  print sys.exc_info()[:]

errorsにオプションが指定できる。
ignoreを設定すると、変なのが混じってたら無視してくれる。
replaceは、置き換え文字列(REPLACEMENT CHARACTER, U+FFFD)に置き換えてくれる。Windowsだとcp932でエンコードできねえって怒られる。
strictは、そのまんま処理する。当然デコードできねえって怒られる。(これがデフォルト値)

ファイルを読み込んだり書き出したりするときの文字コードで覚えておくのは次のくらいかな。
euc-jp, utf-8, cp932, shift-jis

個人的には、pythonの文字列に戻してやるdecodeと、書き出すときのencodeを使うのが判りやすいと思う。(変な制御コードが入ってるかもしれないから、エラー処理は必要になっちゃうけど)
文字コードの自動判別とか無理しないで、ちゃんと指定するのが良さそう。

参考:

2008年11月18日火曜日

Rainmeterのスキン、10-Foot HUDの天気予報カスタマイズ


Rainmeterは、時刻とかの表示ツールだけど、lifehacker.jpで紹介されてた10-foot HUDはいい感じ。壁紙に時計がくっつくみたいで便利。
いじると判るんだけど、結構癖がある。スキンと言うよりも、URLを指定して正規表現で情報を抜き出したりもできるっぽい。
Weather-BlackとかのEditしようとすると、.iniファイルが直接開かれてちょっととまどうので、以下にやってみた情報を出しておく。


まず、コメントが ; らしいことは見たら判る。次に、Weather.comでお天気コードを探せと言われる。
;Find your weather code at Weather.com (like UKXX0296 below) and replace the one in this URL.

色々やった結果、日本を指定してそっから近い場所を探すのがよさそう。(クリックしづらいので根気よく探そう)

たとえば青森だと天気予報のページは http://www.weather.com/outlook/travel/businesstraveler/local/JAXX0004 になる。
だから、青森はJAXX0004というお天気コードなのが判る。
あとは、Weather-Black.iniの該当箇所を書き換える。(Weather-White.iniも同じ)
URL=http://xoap.weather.com/weather/local/JAXX0004?cc=*&unit=m&dayf=6
&unit=mを抜くと華氏表示になるけど、日本人なら摂氏じゃないかな。だからそのままで良い。

あと、[MeterTemp]の所に、Postfix="ー"って表示があるけど、これどうも°が文字化けしてるっぽい。
Postfix="°"
こうしてやる。人によっては℃とかが良いかも。
(日本語表示させたいとかは、見たら判るはずだから省略。僕は、英語のままで使ってる)
***
Weather.comの書式が変わったらしい。追記を参考に修正して欲しい。



2008年10月21日火曜日

荷物の分類

整理のコツ。

4つの容器に、ラベルを貼る。
捨てる(Throw Away):要らないモノ。好きじゃないモノ。ぐちゃぐちゃと台所にあるもの。
あげる(Give Away):寄付か友達に--どちらにせよ、良いことだし要らないものをはき出せる。
しまう(Put Away):他の部屋に入る?でも持ってくために片付けを止めないで!寄り道するから。この箱に入れてあとでやろう。
とっとく(Keep or Toss?):ソレ、どうするか決まらない?この箱に入れてテストしよう:ソレについて考えないか探しにいかなければ、遠慮せずに放り出そう。毎月チェックしよう。
http://www.squidoo.com/homemaking
より抜き書き

これで整理が進む。ハズ。

2008年9月11日木曜日

batの威力

Windowsのコンソールでスクリプト走らせると、どうしてもスクリプト内で完結してしまいがち。
(pythonだとos.walkとかでフォルダの中を走査したり)

でも、bat使って連続してファイル読み込ませると、状況見ながらリファクタリングできることに気がついた。
なんかボトルネックになってるところを発見したときに、そこを直すと、次に実行されるときには治ったやつが実行されるので便利。

for %%A in (%1) do python hoge.py < %%A
とか覚えとくと便利。

for %%A in (%2) do %1 < %%A
は、うっかり変なコマンド走らせて吃驚したのでやらない方が良さそう。