ケータイで起こされる。もしかして、何かヤバイ状況か?と寝惚けながら出たら、無印良品の配送員からの電話。「12時から遅くとも14時位までにはお届けします」とのこと。で、12時ちょい過ぎ、届きました、コレ。
たぶん、きっと、ほんとは、もうちょっとがんばって平日にやっておけば出なくても済んだ程度の量なんだけど、あんまり残業する気にもなれずに残した分を処理するために休日出勤なんぞをしてみている。元ちとせの CD をへッドホンで聴きながら、ちょっと歌ったりして。歌うかどうかはともかく、普段から音楽を聴いて仕事しようかな。どうもこっちの方が効率上がるような気がする。
そういえば注文するときに見つけられなかったシーツってどうなってるんだっけと、www.muji.net を調べてみたら、あっさり発見。結局、黒蜥蜴行く前に原宿の無印で購入。ほんとはブルーが欲しかったけど、在庫が無かったのでカーキにしてみた。
雨が降ってきたこともあったのか、開店以来一番お客さんの少ない日だった。
よきゅんと渋谷まで出て映画をば。途中まで「おいおい、まさかこれで終わりじゃないだろうな?」と思いながら観ていたんだけど、最後にそうきたかっ!と。観なきゃ損とは言えないけど、観ても損はしないと思う。
畑のミートパスタ、サラダ、ケーキ、コーヒー
バスで中野に移動し、しづっちと合流。そのままカルマというカフェに連れて行ってもらいランチ。畑のミートパスタは、肉を使わずに厚揚げと椎茸を使ったもの。すげーうまかった。ダイエット中にケーキなんて!と思うかもしれないけど、ライバルも食べてたので良しとするのだ(笑)
ちょっと混んでたのもあってか、品物が出てくるのが遅かったけど、なかなか良さげなお店。
コンニャク麺の冷し中華、豚しゃぶもやしサラダ
よきゅんが平日昼間に食べているというコンニャク麺を試食。味の方は普通の麺に適うべくもないけど、それほど違和感なく食べられた。これなら続けて食べても大丈夫そうだ。が、僕は普通のモノを食べるぞ。
ううむ、そうなんですか。健康診断で「脂肪肝ぎみかも」と言われたので、そっちの方で効果があれば、それはそれで良しではあるんですけど。
でも、やっぱりアミノ酸なんですかね。「ヴァーム190」って250円するのかー。高いなー。
▽ Yu-Ki [皮下脂肪に全く効果がないというわけではないと思いますが、痩身目的なら違うものを飲んだ方がいいかもです。<ヘルシア ち..]
Yahoo!の解答速報(大原学園提供)の他にも、資格の学校TACにも解答速報ページがあった。昨日、大原版で修正のあった問53は、TACだと「ア」ではなく「エ」になっている。最終的に本家本元が発表する解答はどうなっているんだろう?
さて、TACでは、午後1の解答も載っていたので、ちょっと自己採点してみた。配点は書いてあるものの、採点基準が分からないので、これで合ってるのか不安だけど、、、150満点中96点ってところかな。なんか微妙な点数だなぁ。問2がダメダメだったのがイタイ。
ClamAVが「MIMEヘッダがおかしいぜ!」と言って弾くメールがあったんだけど、一見して何が悪いのか分からなかった。MIMEヘッダっても、MIME-Version: は間違えようが無いし、怪しいのは Content-Type: 辺りか?と調べてみた。
該当メールの Content-Type: はこんな感じ。
Content-Type: Multipart/Mixed; boundary="-*-*-*-*-*-*-*-*-Boundary_b4357089349677"
MIMEでのマルチパート構造には間違いなかったので、残るは boundary が怪しそうだなと思ったところで、boundary に使える文字の仕様をいまひとつ理解していないことに気が付いた。
そうなれば追うべきところはRFC。boundary関係は、RFC2046に載っていることに辿り着き、仕様を調べてみると、
boundary := 0*69<bchars> bcharsnospace
bchars := bcharsnospace / " "
bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" /
"+" / "_" / "," / "-" / "." /
"/" / ":" / "=" / "?"
となっており、該当メールのboundaryに使われている「*」が違反しているのが分かった。
送信元を調べて行ったら、とあるメール配信システムに辿り着いたんだけど、、、知らせてあげる義務はないしなー。放置しよか。
数日前に届いたカードの請求書に「2004年11月〜2005年10月のご利用代金明細書 累計金額1,759,958円」と書かれていてビビりまくり。年収の何パーセントをカードで使ったのか。。。
というわけで、資金調達のため(?)株を始めることにしたよ。
開始時の資金は10万円。まずは、スターバックスジャパンとUSENを買ってみた。どっちも株主優待があるのと、割とよく知っている企業なので選択した。あ、あと資金内で買えるのももちろんだけど。
分からんことが多いので、参考書を片手に勉強しながらのスタートだけど、、、さて、うまく資金運用できるかなぁ?
『ウィルコム、W-OAM対応のシンプルなストレート端末「9」』でお馴染みの「9」を触る機会を得た。
ほんのちょっとだけだったので、機能がどうとかはあんまり分からんのだけど、思ったより質感も良かったし、動作もサクサクしてたし、読みやすいフォントだし、ひさびさに「これ欲っしー!」と思わせてくれる端末だった。
ちょっとINFOBARっぽくね?と思うかもしれないけど、INFOBARと違って「アンテナの突起がない」「裏側も真っ平ら」なので、「9」の方がレゴっぽい感覚になっている。そういや本体のプラスチックもレゴっぽい素材のような気がする。
WILLCOMは他社PHSからの乗り換えキャンペーンをやってるし、本気で考えてみようかなぁ。
昨日の Yosemite アップグレートと Homebrew の環境構築しなおしに合わせて、Hombebrew で使っているパッケージ群のインストールをシェルスクリプト化した。
本当は brewfile でやったみようと思っていたのだけれど、「Brewfileで管理するのはもうオワコン」なんて話もあったので、単純なシェルスクリプトにしてしまった。
来たるべき新マシンでのセットアップを夢想して、Google Chrome や 1Password などのアプリケーション群も Homebrew Cask を使ってインストールするように、前述のシェルスクリプトへ追記した。
このスクリプト、今のところ Dropbox に保存しているんだけど、Dropbox そのものもこのスクリプト内でインストールするように記述している。
本当に新規マシンでのインストールを考えたら、GitHub などの Web 上に載っけておくのが正しいよなぁ、きっと。
その他の設定ファイル群も Dropbox 上に置いちゃっているので、そろそろ整理して GitHub へ上げておくかな。
定期的に Homebrew の brew update
/ brew upgrade
を実行していると勝手にいろいろなものがアップグレードされていく。先日も実行したら Homebrew で入れている Pebble SDK (pebble-sdk) もアップグレードされ、3.6 に変わった。DP(Developer Preview) 版が出ていたのは知っていたけど、いよいよ正式版がリリースされたようだ。
Web 日記の後追い作業(2週間分くらい溜め込んだ)も落ち着いたので、ようやく新しいことを学ぶ時間を確保できるようになったので、今日から Pebble Time Round の勉強でもしようと思う。
Pebble の開発者用に Round 用の差分などを記したドキュメントがあるので、ここから追ってみる。
まず、Pebble Time Round のプラットフォーム名は「Chalk」。オレは読めなかったけど「チョーク」だ。初代が「Aplite」、四角い Time が「Basalt」、そして Round が「Chalk」。次のプラットフォームが出るときは、きっと「D」で始まる岩石系の名前になるんだよね。何があるんだろう……。
まぁ、それは良いとして、Chalk プラットフォームに関しての差分などを自分用メモとして書きつつ、日記として公開する。日記ネタの枯渇に対する問題としては、こういう解決方法が良い。しばらく後に「あれ、確かオレ日記に書いたよな」ってことを思い出して、自分の日記をググることもよくあるし。
脱線した。
次に、各プラットフォームのハードウェア比較の表を確認してみる。
Pebble Time (Basalt) と Pebble Time Round (Chalk) は、ハードウェア的にはほぼ同じ。画面の形が丸くなったのはすぐ見てわかる大きな違いだけど、ディスプレイサイズもなにげに変わっている。Basalt は、144x168 だけど、Chalk では 180x180 と少し大きくなっている。
デザイン面についての注意事項のまとめドキュメントもある。まだ作成中(Work in progress)なので、今後ドキュメントに修正が入るかも知れないけど、ちょっと見ておく。
Chark は、メニューが左右中心に表示されるようになったんだね。あと、長いテキストをスクロールして見せていたようなアプリは、画面切り替えによるページングにしたほうが望ましいという説明がある。Chark は「場所によって1行の文字数が変わる」というプラットフォームなので、スクロールだとその都度レイアウト変更が発生してガタガタになってしまう。その様子のアニメーション GIF があるので、とても分かりやすい解説だ。
Pebble Time Round 用のアプリの作り方については、別途ドキュメントが用意されている。こっちもまだ WIP だ。
ディスプレイが四角いのか丸いのかという判定は、defined(PBL_RECT)
/ defined(PBL_ROUND)
で実現できるとのこと。
#if defined(PBL_RECT)
printf("This is a rectangular display!");
#elif defined(PBL_ROUND)
printf("This is a round display!");
#endif
もうひとつのやり方も紹介されており、こちらは三項演算子的な使いかたなのかな。
// Conditionally print out the shape of the display
printf("This is a %s display!", PBL_IF_RECT_ELSE("rectangular", "round"));
あと、従来のプラットフォームとはディスプレイサイズが変わっている問題についての解説もある。例えば次のように、レイヤーの座標を固定値で書いてしまっていると、Pebble Time Round では表示位置がズレてしまうという説明。
// Bad
Layer *layer = layer_create(GRect(0, 0, 144, 168));
これは前述の説明のとおり Chalk では 144x168 から 180x180 へ変わったことによる。上の「Bad」な例だと左側へ寄った表示になってしまう。より良い方法として、次のように layer_get_bounds 関数を使って、動作中のプラットフォームに対応したサイズを取得するやり方が解説されている。
// Better
GRect bounds = layer_get_bounds(parent_layer);
Layer *layer = layer_create(bounds);
確か、オレが作ってきた Watchface では、固定値を使っているところがあった気がするので、Chalk 対応する場合は書き換えないとダメそうだ。
その他に、複数のプラットフォームに対応するときのリソース(画像やフォントなど)を使い分けるテクニックの解説もアップデートされていた。
Pebble SDK で画像を使うときには、まず appinfo.json
で定義をする必要がある。例えばこういう感じ。
"resources": {
"media": [
{
"type": "png",
"name": "EXAMPLE_IMAGE",
"file": "images/example-image.png"
}
]
}
こうしておくと、ソースコードのなかで「RESOURCE_ID_EXAMPLE_IMAGE
」という定数で images/example-image.png
の画像へアクセスできるようになる。
そして、従来の Aplite(モノクロ)と Basalt(カラー)のプラットフォームでは、次のようなファイル名にしておくと、 RESOURCE_ID_EXAMPLE_IMAGE
と記述した部分で、プラットフォームに応じたモノクロ/カラー画像のいずれかを使ってくれるようになっていた。
images/example-image~bw.png
images/example-image~color.png
つまり、モノクロはファイル名に「~bw」を付け、カラーは「~color」を付けるということ。ここに今度は「Rect(矩形)」と「Round(円形)」という概念が加わって、このような書き方ができるようになった。
images/example-image~bw.png
images/example-image~color~rect.png
images/example-image~color~round.png
「~」による区切りが、ちょっともにょい感じがするんだけど、ソースコード上では「RESOURCE_ID_EXAMPLE_IMAGE
」として記述しておけば良いので楽チン。画像を利用するたびに if
文でプラットフォーム切り分けをすることを思えば、だいぶコードの見通しが良くなる。これは積極的に利用すべきテクニックだろう。
さて、これで Pebble Time Round の概要は把握できたような気がするので、次は実際にコーディングしながら試してみよう。
▽ はづき [ソファいいねえ!うちもほしいなー。今の家のリビングは、あまりに殺風景なのです。]
▽ すずき [意外とクッションが効いてて良い感じっすよ>ソファ ベッド時は、222cmあるから旦那でも余裕では!?(笑)]
▽ はづき [横幅が足りるかどうか(笑)>旦那とソファ]