雑文発散

«前の日(07-14) 最新 次の日(07-16)» 追記
過去の日記

2002-07-15 ボーナスデーな月曜日

撮影

某求人サイトに掲載するにあたって、社内で撮影が行われた。営業の募集なので、とりあえず僕は関係なし。はしっこに背中が映っている可能性はあるが。

アボガド

こちらでも、アボガドですか。なんか僕の中では「女の子=アボガド好き」という式が成り立っているんだけど、世の中的には合っているんだろうか?

アボガド改めアボカド

いや、別にマズイとかキライだとかって訳じゃないんだけど(笑)。例えば、メニューにアボカドサンドとかアボカドサラダとかあった場合、喜々として注文するのは女の子に多いような気がする。男が「おー、アボカドサラダあるじゃん!」と喜んでる姿にはお目にかかったことがないんだけど、これは僕が持ってるサンプル数が少なすぎるのか?

プレスリリース

を流したら、BCN が取り上げてくれて、BCN 経由で Yahoo ニュースにも掲載されたみたい。ま、いまのところコレには何も関わってないけど。つーか、これ以上関わりは増やしたくない。増やしたくないんだけど増えるんだろうなぁ、、、きっと。

本日のツッコミ(全7件) [ツッコミを入れる]

Before...

はづき [だってうまいじゃん(笑)>アボカド]

トモコ [アボカドはイモクリナンキンに近いような気がするのでやはり女子は好きなような気がします。ちなみに私がへちっていたのも女..]

すずき [イモ・クリはわかるけど、ナンキンってナンキンマメじゃないよね?あ!、もしかして南瓜か!?]

トモコ [女性の好物と言えば「芋栗南瓜(いもくりなんきん)」。んもう、すーさんともあろう人が…]

すずき [トモコさんにまでダメ出しされた。。。]


2003-07-15 下り坂、火曜日

ダメダメ

今日はなんだか朝からやる気がなく、ずっとダウナー。仕事もろくにせず、日記ブラウズしてたりして過ごした。なんだかなー。

迷惑メール

au が始めたチクリシステムが効果を出しているのか、今日は ezweb.ne.jp からの迷惑メールは2通のみ。早速チクリ。代わりに docomo.ne.jp からやってくるようになった。なんだかなー。


2004-07-15

[PHP] Manboオープンソースじゃぱん

PHP + MySQL による CMS ソフトウェア「Manbo Open Source (MOS)」の日本語化などを行っているのだとか。PHP で CMS だと、XOOPSが有名なのだけど、MOS は存在すら知らなかった。。。

ネタ元は「Webコンテンツの管理,もっと楽をしたいと思いませんか?」(ITPro)。

[Mac] AirMac Express

昨日までは「7/15 出荷予定」となっていたので、「もしかして今日、届いちゃったりするんかな?」と期待していたのだけれど、さっき AppleStore の Order Status を確認したら、出荷予定日が 7/30 になっていた。

なんだよー、そんなことなら Amazon で買った方が速かったか? 1000円引きだしな>Amazon


2005-07-15

[] HP ProLiant ML110 G2

HPのタワー型サーバ。29,925円〜って、メチャクチャ安いんじゃない?

[] 対人関係に問題がある自分

母親から電話があった。先日、祖父の3周忌があったそうで、その時に叔父から「たまには顔を出すように伝えておけ」という話が出たから連絡してきたらしい。だったら、3周忌をやるときに連絡をよこせと思うのだが。

母親と最後に話したのは祖父の告別式だから、2年ぶりか。いろいろな理由があって、関係がうまくいっていないから、この程度の期間が開くのはしょっちゅうだ。

実はケータイのキャリアを変えようかどうしようか迷った時に「電話でしか連絡できない相手(カード会社とかもだ)に対して、全て連絡しなくちゃならんことを考えたら、キャリア変更の道は萎え。」と書いた「電話でしか連絡できない相手」には母親も含まれていた。こちらから電話をする行為すらイヤなのだ。

こんな風に肉親とさえうまくいかないのに、そうでない人との関係がうまく行く訳が無い。対人関係に難ありのオレ。それまでの人間ってことだ。どうしようもないな。

本日のツッコミ(全16件) [ツッコミを入れる]

Before...

絵織 [それは相談する相手を間違えたね!(笑)>「そんなのみんな思うことだよ」]

トモコ [私は未だに家族と暮らしていて、親との仲は悪くはないけれど、相手に深く踏み込むのも踏み込まれるのも苦手だよ。他人と深く..]

 [そんなに深く通じ合える人なんて、人生の中で1人でもいれば万々歳だと思います。]

すずき [みんないろいろありがとう。 ここでもまた絵織が全て要約してくれている。他の人がどうであろうと僕自身が感じる不得手感..]

すずき [あと、たぶん「深さ」の定義が違うかもしれないな。 僕が「深く」と言っているのは、他の人にとっては「浅い」のかも。]


2006-07-15

[] 耐えるのか、抵抗するのか。

カシオのCMを見ていてふと気がついたのだが、「水に濡れても大丈夫!」なケータイの表現方法が各社で違っている。

ソニーエリクソンのDoCoMo向け「SO902iwp+」はその名の通り「ウォータープルーフ(water-proof)とサイトで言っている。

一方、カシオのau向け「W42CA」では、CMで「ウォーターレジスタント(water-registant)」と表現していた。

英和辞書を引いてみるとどっちも「防水・耐水」で、似たような意味に見える。でも「proof」だけを調べてみると「耐えられる」で、「resistant」だけだと「抵抗者」と言う意味。

耐えるのと抵抗するのじゃ、後者の方がより強いような気がするけど、製品としてはどっちも「IPX7(旧JIS保護等級7)」という規格に相当するらしい。

ということで、防水・耐水性性能はどっちでも一緒みたい。なーんだ。

[] スイカログ2006 #3

スイカログ

今年3個目。SHOP99で990円(税抜)。今までの1個1680円より安いのだけど、、、ちょっと水っぽくて甘みが薄いな。んー、600円の差はデカイかも。


2008-07-15

[] またひとつ、カールツァイスレンズを手に入れた

公式には対応していないけど、Mac OS X でも使えるという情報があったので、ロジクールの QCAM-200V-HS を買ってみた。

QCAM-200V-HS

少なくとも、CamTwist + Ustream では使えた。MacBook 内蔵の iSight より遥かに高画質なので、ちょっとビビった。

[] 2008年も半分以上過ぎたというのに

今ごろ今年のカレンダーをゲットした。

にゃらん

見ているだけでニヤニヤしてしまうにゃ。


2014-07-15

[] 今日もウォーキング60分

昨日に引き続き、今週は2回め。いろいろあって結果的に丸ごとサボった結果になってしまったので、今週はコンスタントに体を動かしたい。

「バラエティ」コースを選択して、ランニングマシンの傾斜がランダムに変わるところをほんの少しだけ早足気味にしてみている。傾斜の角度(だと思う)が、7.0〜9.0 くらいになることもあって、その時は手の振りを大きくして坂を上っている。

夜寝る前と朝起きた直後に(最近はサボらずに)血圧を測っているんだけど、運動した日とその翌日は血圧がいつもより落ち着いているんだよね。笑っちゃうくらいに直接の影響が出てる感じ。

セブンイレブンのサラダチキンを夕飯の中心にしたりもしていて、摂取カロリーも減らし気味にしてたら体重も減ってきた。

いまは効果が目に見えて出ているので、すごく楽しい。継続したい。


2015-07-15

[Pebble] Pebble SDK のフォント用ツール「fontgen.py」でマルチバイトが詰まったフォントファイルを加工するとエラーが出るのは、手元の Python 環境の問題だった

Pebble アプリにカスタムフォントを追加するときに、正規表現によって「文字を限定」できる機能がある。

どういうときに「文字を限定」したいかというと、Pebble アプリの容量を小さく抑えたいとき。Pebble アプリの最大容量はキロバイト単位なので、余計なものはそぎ落としたい気持ち。アプリの内容にもよるけど、基本的にはアプリ内で利用している文字だけに限定できればサイズが落とせる。

具体的な方法は Pebble 公式のガイドの「Font Resources」にその方法が書かれている。characterRegex というキーの値に正規表現を記入できるってことらしい。

正規表現の部分とは直接関係ないけど、この(2015/07/15現在の)ドキュメントに書いてある「"type": "ttf"」というのは「"type": "font"」の間違いだと思う。そんな type は存在しないのでエラーが出る。ここでは正しいはずの「"type": "font"」として書いておく(Pebble 公式にはあとで報告するよ)。

"media": [
  {
    "characterRegex": "[:0-9]",
    "type": "font",
    "name": "EXAMPLE_FONT",
    "file": "fonts/example_font.ttf"
  }
]

この書き方を真似して、M+ OUTLINE FONTS の中から、[:0-9] だけを対象にしてみる。

"media": [
  {
    "characterRegex": "[:0-9]",
    "type": "font",
    "name": "MPLUS_FONT_14",
    "file": "fonts/mplus-1c-light.ttf"
  }
}

そして pebble build してみると、、、エラーが出る。

% pebble build
[snip]
[ 7/38] mplus-1c-light.ttf.MPLUS_FONT_14.pfo: resources/fonts/mplus-1c-light.ttf ../../../../../usr/local/Cellar/pebble-sdk/3.1/Pebble/common/tools/font/fontgen.py -> build/resources/basalt/fonts/mplus-1c-light.ttf.MPLUS_FONT_14.pfo
[snip]
Build failed
 -> task in 'mplus-1c-light.ttf.MPLUS_FONT_14.pfo' failed (exit status 1):
    {task 4387118992: mplus-1c-light.ttf.MPLUS_FONT_14.pfo mplus-1c-light.ttf,fontgen.py -> mplus-1c-light.ttf.MPLUS_FONT_14.pfo}
' python \'/usr/local/Cellar/pebble-sdk/3.1/Pebble/common/tools/font/fontgen.py\' pfo  14  --filter "[:0-9]"   \'/Users/suzuki/work/pebble/resources/fonts/mplus-1c-light.ttf\' \'/Users/suzuki/work/pebble/build/resources/basalt/fonts/mplus-1c-light.ttf.MPLUS_FONT_14.pfo\' '

マルチバイト関係でなんかあるのかなーと思って、OS X に同梱されている Arial.ttf を使って試してみる。

"media": [
  {
    "characterRegex": "[:0-9]",
    "type": "font",
    "name": "ARIAL_FONT_14",
    "file": "fonts/Arial.ttf"
  }
}

これで build すると、何事もなく成功する。

% pebble build
[snip]
[ 7/38] Arial.ttf.ARIAL_FONT_14.pfo: resources/fonts/Arial.ttf ../../../../../usr/local/Cellar/pebble-sdk/3.1/Pebble/common/tools/font/fontgen.py -> build/resources/basalt/fonts/Arial.ttf.ARIAL_FONT_14.pfo
[snip]
'build' finished successfully (0.962s)

問題を特定するために、pebble build ではなく、フォントの加工をしている Python スクリプト( fontgen.py )を直接叩いてみる。スクリプトの引数は先程のエラーメッセージに出ていたので基本的にはそれをそのまま使うけど、input / output 用のパスは長くなるので相対パスに変えた。

% python /usr/local/Cellar/pebble-sdk/3.1/Pebble/common/tools/font/fontgen.py pfo  14 --filter "[:0-9]"  ./resources/fonts/mplus-1c-light.ttf ./build/resources/basalt/fonts/mplus-1c-light.ttf.MPLUS_FONT_14.pfo
Traceback (most recent call last):
  File "/usr/local/Cellar/pebble-sdk/3.1/Pebble/common/tools/font/fontgen.py", line 367, in <module>
    main()
  File "/usr/local/Cellar/pebble-sdk/3.1/Pebble/common/tools/font/fontgen.py", line 363, in main
    process_cmd_line_args()
  File "/usr/local/Cellar/pebble-sdk/3.1/Pebble/common/tools/font/fontgen.py", line 355, in process_cmd_line_args
    args.func(args)
  File "/usr/local/Cellar/pebble-sdk/3.1/Pebble/common/tools/font/fontgen.py", line 300, in cmd_pfo
    f.convert_to_pfo(args.output_pfo)
  File "/usr/local/Cellar/pebble-sdk/3.1/Pebble/common/tools/font/fontgen.py", line 287, in convert_to_pfo
    self.build_tables()
  File "/usr/local/Cellar/pebble-sdk/3.1/Pebble/common/tools/font/fontgen.py", line 252, in build_tables
    if (codepoint_is_in_subset(codepoint)):
  File "/usr/local/Cellar/pebble-sdk/3.1/Pebble/common/tools/font/fontgen.py", line 222, in codepoint_is_in_subset
    if self.regex.match(unichr(codepoint)) is None:
ValueError: unichr() arg not in range(0x10000) (narrow Python build)

最後の行に unichr() arg not in range(0x10000) というメッセージがある。unichr() が何かというと、ドキュメントには次のように書かれている(強調はオレが勝手に入れている)。

Unicode におけるコードが整数 i になるような文字 1 文字からなる Unicode 文字列を返します。
[snip]
この関数は Unicode 文字列に対する ord() の逆です。引数の正当な範囲は Python がどのように構成されているかに依存しています — UCS2 ならば [0..0xFFFF] であり UCS4 ならば [0..0x10FFFF] であり、このどちらかです。それ以外の値に対しては ValueError が送出されます。

「Python がどのように構成されているかに依存」ってなんだー!?と調べ始めたら、どうやら Python の Unicode には UCS-2 と UCS-4 の違いがあるようだ。

そんな話、知らなかったぞ?と「How to find out if Python is compiled with UCS-2 or UCS-4?」での検証方法で「pebble build を実行している Python 環境」をチェックしてみた。

% python
Python 2.7.10 (default, Jun 24 2015, 17:00:45)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print sys.maxunicode
65535

オレが使っているのは UCS-2 の python だったので、もしかすると UCS-4 の python なら成功するんじゃないか?と考えた。

UCS-4 の python をビルドするには、configure で次のように指定すれば良いとのこと。

% ./configure --enable-unicode=UCS4

手元の Python 環境は、pyenv でインストールしていたので、pyenv で --enable-unicode=UCS4 を指定する方法がないものか?と思って探してみると、pyenv の Issue にヒントがあった。

PYTHON_CONFIGURE_OPTS="--enable-unicode=ucs4" pyenv install 2.7.4

環境変数 PYTHON_CONFIGURE_OPTS に指定すれば良さげなのが分かったので、手元でもこれを使ってみた。UCS-2 の python 2.7.10 は比較用にそのまま残しておきたかったので、一番近いバージョンの 2.7.9 で試した。

% PYTHON_CONFIGURE_OPTS="--enable-unicode=ucs4" pyenv install 2.7.9

インストール終了後、手元の Python 環境を 2.7.9 に切り替えて、先ほどの sys.maxunicode の値をチェックしてみると、UCS-4 になっていることが確認できた。

% python
Python 2.7.9 (default, Jul 15 2015, 13:56:57)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print sys.maxunicode
1114111

この 2.7.9 で pebble build を実行してみると、、、

% pebble build
[snip]
[ 7/38] mplus-1c-light.ttf.MPLUS_FONT_14.pfo: resources/fonts/mplus-1c-light.ttf ../../../../../usr/local/Cellar/pebble-sdk/3.1/Pebble/common/tools/font/fontgen.py -> build/resources/basalt/fonts/mplus-1c-light.ttf.MPLUS_FONT_14.pfo
[snip]
'build' finished successfully (1.053s)

ビルドが成功した!!

だいぶ長くなったので簡単にまとめる。

  • Pebble アプリにカスタムフォントを入れる時に正規表現で文字を限定できる
  • フォントにより、また、実行時の Python 環境により unichr() のエラーが発生する
  • unichr() のエラーが出て、実行時の Python 環境が UCS-2 なら UCS-4 にすれば解決する

はー、トラブルシュートをするのも、この日記を書くのにも時間がかかってしまった。。。じゃあ Pebble アプリ作りに戻ろうっと。


2016-07-15

[] 第118回 朝活を実施した

今朝の活動報告。

  • PHPカンファレンス関西向け資料作り

資料に使うためのコードがいちおう形になったので、資料のリライトなどを実施