揺り戻し(v9.30.0): Dead Simple Sitesで紹介されているウェブサイトを見ていると、このウェブサイトがすっきりしすぎていると感じる。もうちょっと何かがあったりしても「シンプル」と感じられるウェブサイトにしたい。戻る矢印からロゴに戻したことも含め、標準的な構成に戻しつつある。その過程でOpenType機能のhaltを試したり、書影をタイトルなどでページ内検索できるようにしたり、先送りしていたことをこなしていく。

マティス(国立新美術館): 今月は乃木坂の国立新美術館でやっているマティスの展覧会へ行く。2年くらい前に延期になったものだ。去年にも都美で開かれたものを見に行ったが、こちらはニース市マティス美術館が所蔵するものが中心で、ほとんどかぶっていないようだ。マティスは10年くらい見なくても良い、というくらい堪能できる。

池大雅(出光美術館): 出光美術館へ池大雅の展覧会を見に行く。ついに大雅をまとめて見られる機会が訪れた。5年くらい探していたように思う。池大雅は日本の画家では一二を争うくらい好きだ。この日は20度に届く陽気で、軽い春コートを着た散歩も捗る。

CIOのNovaPort Slim DUO 67W: 6年目に入ったSurface Pro 6が付属の電源アダプターで充電できなくなった。SisyphyのUSB充電器と変換ケーブルでは問題なく充電でき、本体側の問題ではないようで一安心だ。そろそろパソコンを買い替えを考える時期ということもあり、純正の電源アダプターは買い直さないことにする。安定しているが壁から出っ張るSisyphyの充電器を持ち運び用にし、新しくUSB充電器を買うことにしたい。最終的にCIOの壁にぴったりと付く67Wのものをヨドバシで5980円で買う。

みちのく、いとしい仏たち(東京ステーションギャラリー): 年明けのセールでも見に行こうかと丸の内まで出る。ついでに東京ステーションギャラリーで東北の神像や仏像を扱うみちのく、いとしい仏たちという展覧会へ行く。ちょっと寒いくらいで、よく晴れており、いい冬の日だった。

感覚する構造(WHAT MUSEUM): 今年最後の展覧会は寺田倉庫の美術館でやっている感覚する構造だ。品川の方へ散歩しに行きたかったこともあり、ちょうど良い。暖かい日で風もなく、海のそばでも寒くなかった。

グリーンで128GBのiPhone 15: 12月の頭にiPhone 15を買う。黒は飽きたので白かシルバーが良かったが、Proにしかなく諦める。イエローとグリーンで迷った末、グリーンにする。ストレージも128GBと最安モデルだ。それでも高いし、AppleCare+も高い。2030年くらいまで最新OSが入って欲しい。

メイキング・オブ・ムナカタ(東京国立近代美術館): 東京国立近代美術館でやっていた棟方志功の展覧会へ終了間際に行ってきた。終わりそうということもあり、ものすごく混んでいる。場所柄かもしれない。中盤は大き目の作品が多かったので、混んでいても気にならず、そこそこ快適に観覧した。

2023年10月: 生きているのでまとめて書いておく。ほぼゲームをやるだけの生物に進化した。とはいいつつ展覧会には3つも行っていた。個人的なコードを書いたり、ブログを書いたりする時間が、すべてSwitchに捧げられているようだ。もう少しの間、捧げ続けそうな気がする。

vim-css3-syntax v2.2.0: vim-css3-syntaxのv2.2.0をリリースした。新しくTransitions Level 2の文法ファイルが追加されており、マイナー・リリースになった。。なおリリース作業に失敗し、5分くらい変なリリースが出ていた。余裕があるなら再更新をお願いしたい。Bram Moolenaarの冥福は祈っておきたい。

トーキョー・アルテ・ポップ(イタリア文化会館): 九段下あたりにあるイタリア文化会館へトーキョー・アルテ・ポップという展覧会へ行く。江口寿史の絵を見るのもなんだか久しぶりだ。もう一人のルカ・ティエリは絵だけは見ていた。

無印良品のひげそり用かみそり: ジレット・プログライドの替刃がヨドバシカメラでも400円/個を大幅に超えてくるようになった。さすがに高い気がするし、かといってAmazonなどで売られている互換替刃には抵抗がある。そこで替刃が安そうな無印のひげそりを試してみている。

サイト・メニューなし: ホーム以外からサイト・メニューを消し、ホームはサイト・メニューだけにする。ハンバーガー・ボタンによる全画面サイト・メニューの表示を、劣化させたものと言える。表示速度がそれなりに速ければ許されそうだ。

トロードフリを3つ: シーリング・ファンをあきらめたので、天井照明を都合する。昔買って、使ってない部屋に設置していた無印良品のダクトレール照明に、IKEAのスマート電球を組み合わせる。電球3つとリモコンだと5300円で済む。壁スイッチがないとスマート電球にするしかなく、少し高くついた。

ソール・ライターの原点(ヒカリエホール・ホールA): 一度いろいろ見てみたかったソール・ライターの展覧会を見に行く。Bunkamura企画の展覧会だが、東急百貨店本館と共に改装中のため、ヒカリエでやっているらしい。猛暑なので駅直結はうれしい。

コイズミの白い扇風機: 天井に設置するサーキュレーターを買おうとしていたが、予算2万円ではかっこいいものが見つからない。扇風機であきらめることにし、DCモーターで白くらいを条件に、七夕セールをやっていた近所のノジマで探す。どれも大して変わらなそうだったので、コイズミの一番安いモデルに落ち着く。色々クーポンを使って、5721円で買う。アフィリエイトできないくらい人気があるようだ。

irumoの0.5GBに: ドコモの低価格プラン(という扱いの)irumoの0.5GBにする。元々どこかの1GBプランにしようかなと考えていたところで、9月くらいまでに考えるつもりだった。ドコモ光を使っているため3GBでも1000円ちょっとだが、耐えられなかったら変えることにして、最安の0.5GBに。いろいろ言われているものの、ドコモのプランからの乗り換えやすさには魅力を感じる。

サムライのおしゃれ(静嘉堂文庫美術館): 移転した静嘉堂文庫美術館へ「サムライのおしゃれ」という展覧会を見に行った。ビルはそのままに美術館を埋め込んだという様子で面白い。会社員を横目に受付を通るとガラッと雰囲気が変わる。

vim-css3-syntax v2.1.1: vim-css3-syntaxのv2.1.1をリリースする。leading-trimプロパティーがtext-box-trimプロパティーと名前が変わったりしている。実装がSafariのTechnology Previewだけだったので間に合ったようだ(171で修正されている)。

ハリオのセラミック・ミル: コーヒーを挽くのに、家に転がっていた金属のミルを使っていたが、壊れて回らなくなった。付喪神化したらしい。ポーレックスにしようかと思ったが、円筒形だと安定しない気がしたので、真ん中がへこんでいるハリオの一番安いセラミック・ミルにした。近所で2500円だったし、プレミアム商品券が使えたので1300円相当だった。

全ツイートの削除: Twitterへの投稿をすべて削除し、直前のそれのみ残すような運用に戻した。全ツイートを削除しようとしても公式には用意されておらず、アカウントを作り直そうというようなことを言われる。そうではないのでAPIを使ったサービスか、公式クライアントの削除を連打するツールを探す。

日本のタイル100年(江戸東京たてもの園): 昨年、INAXミュージアムでやっていたタイルの展覧会に行きたかったが、常滑はさすがに遠い。巡回展になっていて、東京でも江戸東京たてもの園でやるようだったので、梅雨前に行く。そこそこ暑い日だったが、曇で快適に歩き回れた。

浸漬式で淹れたコーヒー: コーヒーに復帰して以来、マキネッタか紙フィルターのドリッパーを使っていたが、1か月ほど前から浸漬式で淹れている。英語では「immersion brewing」と言うらしい。台所にありそうなものですぐに始められたり、ドリップ・ケトルが必要なかったり、蒸らしが必要なかったり、待っているだけで良かったり、手軽なところは多い。ちょっと悪い豆だとおいしくないところが難点だが、近所のコーヒー豆専門店でなんとかなっている。

ロゴ、メニュー、ジャンプ: ページ・フッターにメニューを置いて久しいが、整理して分割したりした結果、ロゴと、優先度の高いメニュー、ページ・フッターへジャンプするリンクの3種類で構成されるようにした。中途半端な状態だが、1行かつ幅300pxくらいに収まるコンパクトさも実現しようとし、このようなものになった。落ち着かない。

マティス展(東京都美術館): 上野までマティス展を見に行く。都美術館はまだ完全予約制だ。込みそうな企画だからだろうか。大きめの美術館は避けていたので、上野の公園あたりに久しぶりに行く。全生庵に行って以来かもしれない。

カラー・レンズのメガネ: 年間通してサングラスをかける気運の高まりを感じると同時に、度付きのサングラスが欲しくなる。まずはJINSで黒のメガネ(5900円)にミディアム・グレーのカラー・レンズ(3300円)を入れたものを買う。初JINSだ。

部屋のみる夢(ポーラ美術館): 暖かい季節になり、少し遠出する。庭園がきれいそうなDIC川村美術館と迷ったが、どうやっても片道3時間近くかかる(乗り換えは1回)のであきらめ、同じく庭園がきれいそうで片道2時間くらいのポーラ美術館に決める。「部屋」をテーマにした展覧会らしく、2年ほど前に見逃したハンマースホイが展示されるようで楽しみだ。

墓参り(2023-04-13): 1年ぶりに墓参りに行く。去年の秋は予定が合わず見送っていた。快晴で、狭い盆地のため黄砂の影響も少ない。前日の黄砂の予想でも、山梨県のあたりだけぽっかりと落ちない予報になっていたと思う。

ペルシア語版HTML Best Practices: HTML Best Practicesへペルシア語への翻訳が追加された。いつものように感謝している。「ペルシア語」は日本での名称に過ぎず、話者は「ファルーシー」と読んでおり、そのため言語コードがfaになるそうだ。

古今和歌集を愛でる(五島美術館): 二子玉川へ行く用事がある。ついでに近くの五島美術館に行き、「古今和歌集を愛でる」という展覧会を見に行く。どちらかというと庭園を見に行ってみたい。

vim-css3-syntax v2.1.0: vim-css3-syntaxのv2.1.0をリリースした。特にこれといった変更点はない。最初の定期リリースになる。3か月ごとに行う予定だ。その間に何か新しい仕様が追加されるとマイナー番号が上がり、単なる更新のみの場合はパッチ番号が上がる。

ウクライナ語版HTML Best Practices: HTML Best Practicesへウクライナ語への翻訳が追加された。いつものように感謝しかない。言語コードをuaだったように間違って記憶していたが、それは国コードの方のようだ。

JPGをAVIFへ(v9.29.0): どうやらEdge 113 (2022-03-18現在は111)ではAVIFが表示できるようだ。WebPはスルーしてしまった(特にこれといった理由はない)が、AVIFは使いたい気分になっている。といってもAVIF一本で行くには早いので、まずはJPGをAVIFに変換し、img要素の手前にsource要素を追加し、両者をpicture要素で括るという作業を行う。

カバー付きソケット+スマート電球: フロア・ランプが決まらず天井照明を外せていなかったが、年末くらいから1か月間使わずに過ごせたので、見切って外した。気分はすっきりしたものの、今度はベージュ色の角型引掛けシーリング端子が目立って目障りだ。今のところ、800円くらいで買えた大光電機のカバー付きソケットに、IKEAのフィラメントもどきが見えるスマート電球を取り付け、端子を隠している。

The Original (21_21 Design Sight): 暖かくなってきて、動きが機敏になりつつある。今月は六本木の21_21 Design Sightへ「The Original」を見に行く。紹介される製品群そのものはもちろん、「部屋のように再現したインスタレーションの中で紹介」という点が面白そうで、発表時から楽しみにしていた。

パールのメガネレンズクリーナー: 使っていた点滴のクリーナーがなくなったので、スプレーのクリーナーを買った。ファブリーズのようなトリガー付きの容器が嫌で、蓋つきのものにした。100mL入りで904円だった。

v9.26: アイコンが変わった。プロフィール・アイコンとして、GitHubやTwitterなどでも使うように変えている。意味はないこともないが、「石ころ」を念頭に置いて作成したもので、形にだけちょっと意味がある。

現代のやきもの 思考するかたち(智美術館): 暖かい。週末には雪が降るらしい。今月は大倉集古館へ行った際に、すぐ横にあって気になった智美術館に行ってきた。暖かすぎて、コートを脱いで散歩するとちょうど良いくらいで、歩いているだけで楽しくなってくる日になってくれた。

ホース・リールの水漏れを修理: ホース・リールの蛇口に付けるアダプターと、ホースに付いているアダプターの間から水が漏れるようになってしまった。凍結か何かでプラスチックが破損したかと思ったが、そういう気配はなく、どうもゴム製のOリングが劣化したようだ。近所のホームセンターではタカギ製品のOリングのみは販売していなかったので、蛇口に付けるアダプターごと買い、交換した。525円だった。

カフェイン復帰: 朝にコーヒーか緑茶を飲むように戻った。それ以降は飲まない。カフェインを取りたいというより、コーヒーや緑茶の香りを嗅ぎたい。特に冬は体の起動が遅いので、香りを含め五感を刺激することは大切に思うように心変わりした。

マキタの掃除機を買い替え(CL115FDWI): 6年前に買ったマキタの掃除機が異音を発するようになった。本体を振ると静かになったりもするが、危なそうで使えない。いろいろ見たものの、結局マキタの新型に落ち着いた。色も同じアイボリーにし、ヨドバシカメラで15120円だった。

ベンガル語版HTML Best Practices: HTML Best Practicesへ、バングラデシュの公用語であるベンガル語への翻訳が追加された。いつものように感謝しかない。これで15言語目だ。てっきりベンガル語はアラビア文字だと思っていたが、そうではないということは知らなかった。

日本の風景を描く(山種美術館): 渋谷区の山種美術館へ「日本の風景を描く」という展覧会を見に行った。恵比寿、表参道、六本木、渋谷と、観光客をかき分けて、うろうろした。真昼の頃はコートがいらないくらいの陽気だったように思う。

vim-css3-syntax v2.0.0: Vim 9.0もリリース後、半年が過ぎた。予定通り、Vim 9.0以降(のランタイム・ファイルに含まれるCSSシンタックス・ファイル)のみに対応したvim-css3-symtax v2.0.0をリリースする。CSSシンタックス・ファイルは2021年12月に更新されており、それ以前のものではうまく機能しない。本当にしない。

ピカソのセラミック(ヨックモックミュージアム): 年明けに行こうと考えていたピカソのセラミック展へ行った。場所は美術館通りの終わりにあるヨックモックミュージアムになる。クリスマス用に南青山のパン屋へ買い出しに行くことになったので、そのついでだ。

ルームズ・スリッパ: 冬はウールにポリエステルのボア裏地が付いたスリッパを履いていた。暖かすぎて蒸れることと、ウールの部分が擦り切れてきたため、思い切って買い替えた。つま先が隠れるだけの物を探して、ちょくちょく見かけるルームズのネイビーにした。地元の雑貨店で2970円だ。

「おいしい」ボタニカル・アート(SOMPO美術館): 今月は新宿まで「おいしい」ボタニカル・アート展を見に行った。キュー王立植物園の思い出を回想しながら楽しみたい。リニューアルしたSOMPO美術館を見てみたかったこともある。

肥後細川庭園とかがやきの名品(永青文庫): 目白台にある肥後細川庭園と永青文庫に行ってきた。どちらかというと庭園が主眼で、永青文庫はついでだ。ちょうどいい気温で、散歩日和かつ庭園日和だった。

山田照明の白いデスク・ランプ(Z-00N): フロア・ランプを先に買うつもりだったが、なかなか決められないので、デスク・ランプを先に買った。山田照明のZ-00Nで、白い方だ。ヨドバシカメラで12500円で、まだポイントで払えた。取り寄せだったため、忘れた頃に発送された。

前閉じ→前開き: 下着を新調するついでに、前開きのボクサー・ブリーフに変えた。座るトイレ・トレーニングを始めた時に、立ったままだと用を足しづらくなるよう、前閉じにして以来だ。トイレで座ることは完全に習慣になったことだし、もう戻っても大丈夫だろう。今までの手法に制約を加える手段があると、習慣を変えやすい。

Amazon Hubロッカーの発見: いつのまにか24時間受け取れるAmazon Hubロッカーが近くにできた。駅からは少し遠いが、スーパーには近いので、便利に使えそうだ。PUDOロッカーや、郵便局留め、置き配と、好きな時間に受け取れる選択肢があると気が楽だ。

ティファールの26cm深型フライパン: ビックカメラでの取り寄せはフライパンだった。相変わらず2年ごとに新調という感じだ。多少高いものを買っても、耐久性はほとんど変わらない。今回もティファールにしたが、ガラス蓋にこだわるのをやめ、26cm深型にした。サーモスにしてみようと地元で触ってみたものの、安っぽく感じたのでティファールを継続した。

相模大野(2022-10-20): WAONを1万円くらい使うというミッションが発生したので、ビックカメラで取り寄せをすることで達成してきた。小田急百貨店内の町田店は閉店するようで、取り寄せ出来なくなっていたため、相模大野店にした。久しぶりの相模大野だ。前回来た時はまだ伊勢丹があったので、3年以上前のことになる。

Headphones Connectのバッテリー消費: 歩くと自動で外音取り込みになる機能が欲しくて、公式のHeadphones Connectアプリを使っていた。うまく機能している一方で、音楽再生アプリ(Vanilla Music)と同じくらいバッテリーを消費しており、倍速で減っていく。他にこれといった機能もなく、入れておきたい気にならなかったので削除した。

4回目の接種後: 8時間後くらいに高熱のピークが来た。そのピークはあまり続かず、1時間くらいで楽になった。その後は37.5度前後が続き、24時間後くらいに落ち着いた。2回目と似た感じだったが、熱で辛い期間が短かったので、今までで一番楽だったかもしれない。ただし、夜中前にピークが来たためうまく眠れず、疲労は大きかった。また、熱が落ち着いた後も頭痛が長く、断続的にまだ続いている。

冬用部屋着の買い替え: 着古したスウェット・フーディーをついに捨てたので、新しく見繕っていた。今年はなんだかカーディガンが豊富な気がする。部屋着なので無印良品くらいで十分かと考え、新作のジップアップのカーディガンにしてみた。フリース代わりとまではいかないが、そこそこ暖かそうで、関東なら乗り切れそうだ。

新型コロナウイルスワクチンの接種(4回目): 接種券が届いたので受けてきた。BA.5対応のワクチンに切り替わるまで待った方が良さそうだったが、後回しにすると受ける気分じゃなくなりそうな雰囲気のため、さっさとBA.1の方で接種してきた。3月終わりまで効果を持たせたいとも考えていたこともあり、少し悩んだ。BA.5まで待つと、5~7月くらいに4回目を接種済みの人たちとかぶりそうとか、寒くなると服装が面倒とか、弱い理由がいくつかあり、早めに済ませることにした。

古いイヤフォンの処分など: 有線とケーブル付きのローエンド・イヤフォンは処分した。安物過ぎて売れないのであげた。それらに戻りたくなる可能性はあるが、音で満足できなくなるだろう。ここのところ、ソニー、ソニー、ソニーと来ている。勢いでBraviaのためにソニーのサウンドバーも買いそうになっている。また、無線充電のケースなので、次のスマフォも俄然無線充電付きにしたくなっている(Pixel 6aなどが候補から外れてしまった)。

床屋からの散歩: ようやく床屋へ行く間隔が、6~7週間に落ち着いてきた。相変わらず完全予約制で、客も一人ずつなため気楽だ。ただ、ついに値上がりした。8%くらいで済んだが、大変そうだ。

ソニーの完全ワイヤレス・イヤフォン(WF-1000XM4): スマフォの買い替えを先に延ばしたので、そのお金でイヤフォンを買った。iPhoneを買っていたらAirPods Proにしたと思うが、ソニーのハイエンド、WF-1000XM4にした。色は黒だ。29480円だが、ヨドバシカメラのポイントで買ったので、持ち出しはない。

vim-css3-syntax v1.10.2: 仕様の更新をいくつか反映させてvim-css3-synatxのv1.10.2をリリースした。いつもの通り、これといった変更点はない。CSS4が出そうな雰囲気になっているので、そろそろお役御免になるかもしれない。このバージョンがVim 8.x系へ向けた最後のリリースになる。次のバージョンから、Vim 9.0とその標準ランタイム・ファイルに含まれるCSSシンタックス・ファイルを前提としたものになる予定だ。既にvim90ブランチで公開しているので、Vim 9.0のユーザーは試すことができる。

United AthleのサーマルTシャツ: 5月くらいに、冬の外出用下着を新調した。6年くらいIndera MillsのサーマルTシャツを着ていたが、今回はUnited Athleのものにした。2668円だった。いきなり最高気温が12度くらいまで下がった時に着て、ぬくぬく温まっていた。

ペンキ剥がれ: ペンキが剥がれかけた何かを見かけると写真を撮っている。本当はぺりぺり剥がしたいが、それをやったら怒られるので、写真で我慢しているのだ。アメリカの映画で見かける、家の壁を塗り直す時に古いペンキをがりがり剥がす作業もやりたい。

WSL2の日時ずれが再発: Windowsを11の22H2に更新したあたりから、WSL2の日時がずれる現象が再発した。カーネルを戻したり、WSLを更新しても直らなかった。しょうがないのでhwclockをタスク・スケジューラーで動かすように戻した。

表参道~青山~原宿(2022-09-30): 鈴木大拙展へは、直撃しそうにはないが台風が近づくようなので、その前に行くことにした。予報通り晴れた。晴れすぎて、歩いていたら暑すぎ、ビール休憩を挟まざるをえなかった。

Windows 11 22H2への更新: 22H2でタスク・バーへのファイルのドロップでアプリケーションを前面に持ってくる機能が復活しているそうなので、さっそく更新した。Alt+Tabも枠とアクセント色でアウトラインが付くようになり、見やすくなっていた。おすすめは消せないが減らせるようになったので、ExplorerPatcherはアンインストールした。

鈴木大拙展(ワタリウム美術館): 神宮前というか青山のワタリウム美術館で行われている鈴木大拙展に行った。昨年、西田幾多郎の本をいくつか読んでおり、その流れで鈴木大拙にも興味を持ち始めている。ワタリウム美術館は初めてだ。

市の電子図書館: 市が電子図書館を始めた。業者はTRC図書館流通センターのようだ。蔵書は10000点に満たず、青空文庫と児童書に偏っているようで、現時点では役に立ちそうもない。システムが別なので、既に存在する市立図書館のアカウントが利用できないなど、利用上の不便さもある。

パナソニックの高級ドライヤー(EH-NA0J-P): 壊れかけのドライヤーを買い替えた。家人が高級機種を欲しがったので、パナソニックの新製品からハイエンドを選んだ。色はラベンダーピンクになった。新製品だが、なかなか売れているようだ。ヨドバシカメラで42900円だった。

国内旅行と接種証明書: 家人が国内のパッケージ・ツアーに申し込んだところ、ツアー会社から接種証明書の提出を求められた。市役所に行くと、国内旅行には発行していないと断られたらしい。一番最近の利用済み接種券のコピーで良いようだ。発行するのに条件があるなら、市のウェブサイトに明記しておいてほしい。

机しかない部屋: 空いている部屋に机だけを移した。本棚すら置いていない。机にもパソコン、スピーカー、ペン入れ、そして時計が置いてあるだけだ。これから少しずつ必要なものを移していく。

トウモロコシ好き: この夏はトウモロコシを10本くらいと、例年になく食べた。そぎ落としてコーンスープにしたり、鶏肉やトマトと一緒に煮込んだり、そのまま茹でたり。彼岸の日には、今年も最後と茹でて食べた。いつかトルティーヤを作ってみたい。

帰ってきたスニーカー(2回目): 少し前にオールソール交換に出したPatrickのスニーカーが帰ってきた。5週間と3日だった。前回(3週間と3日)よりは少し長かったが、地元のABCマートの取次ぎでも標準的な期間で帰ってきた。また4年後くらいに交換したい。

2022夏の感想: 今年の夏は暑かった割には、楽だったようにも思う。6月に暑くなったが、7月にはそこそこ落ち着いたため、1か月ほどすごく暑いくらいで済んだと感じる。早めに暑さに慣れられ、暑い期間が分断されたので、体への負荷が分散されたのだろう。電気使用量も去年と比べ6~8月で49kWh減っており、エアコンの利用も少なかったことがうかがえる。もちろん電気代は上がった。

節電で暗い所: 様々な所が節電のために照明を一部落としていたりした。元々明るすぎるところが苦手だったので、快適に感じる。特に長居しがちな図書館でも明るすぎない場所が増え、過ごしやすくなった。今年の冬も厳しいようだし、このまま暗いままであって欲しい。

夏の焼きそば: シマダヤの焼きそば麺が夏に売っていない。取り扱いがなくなったのかと思ったが、秋になったらまた売り始めた。もしかすると夏には生産していないのかもしれない。冷やし中華に生産を集中させているのだろうか。地元の安いスーパーでは、3食入りが100円くらいで売っており、週に1度くらいのペースで食べている。今のところ値上がりはしていないようだ。

離れた台風: かなり遠いところを通る台風だったが、よく雨が降った。ちょっと晴れた隙に散歩に出たが、帰りには降られ、ずぶ濡れになってしまった。下着を変えるほどに濡れたのは久しぶりだ。

古いけど古すぎない階段: 作られてから50年経つか経たないかくらいの階段を見つけるとわくわくする。なかなか見つからない。角の削れ具合や、古いコンクリートの雰囲気、雑な目地などを愛でている。今のコンクリートの階段はのっぺりとしていて単なる物体という感じしかせず、ちょっと凝った見た目でも単に薄い石やレンガっぽいものを被せただけのものが多く、残念な気持ちになる。また、本当に古い階段はきちんと修繕されているものしか残っていないので、それはそれでなんかこう微妙な気持ちになる。

ポンパドゥールのバゲット: 地元のポンパドゥールで、ここ半年くらいバゲットの焼き上がりが甘くなっているような気がしてならない。柔らかく食べやすいとも言えるが、家人が硬い方が好きなため悲しんでいる。自宅周辺ではここかドンクくらいしかバゲットを扱っておらず、ドンクは店舗からオーブンがなくなり、焼きたてが買えなくなってしまった。

ひょうたん: 近所にある野菜の無人販売所を見に行ったら、そばにひょうたんがなっていた。ひょうたんがなっているところを初めて見た。太い方の直径が15cmくらいあり、なかなかの迫力だ。触ってみたい。スイカみたいな感じなのだろうか。

滑らないハンガー: 夏の間、ケユカの滑らないハンガーにTシャツを掛けて収納していた。特に襟ぐりが伸びることもなく、型崩れもしなかった。このまま使い続けて良さそうだし、スウェットシャツやセーターも大丈夫そうだ。

スマフォ買い替えの断念: Pixel 3aでOSの更新がなくなったので、新しいiPhoneが発表されたタイミングでiPhoneを買おうかと考えていた。14にはUSB-CもMiniもなかったので、13 MiniかSEにするかとヨドバシカメラでカートに入れるまではやったが、なんとなく買わなかった。ただただ買い替えたいという気分にならない。Pixel 3aの時に比べ、6aも特に欲しくはなっていない。このまま少し3aを使い続け、落としたり壊れたりしたらSEを買うと思う。

秋の走り: 朝と夜が涼しい。ついに掛け布団を出した。Tシャツでゴミ捨てに行くと寒いくらいだ。サンマを食べたり、青いドングリを見つけたり、シオカラトンボを見たり。秋味も売り始めていた。

椅子にラグ: 椅子は無印良品の白いワーク・チェアで変わっていないが、数年前にIKEAで買ったシープスキンのラグを敷いている。今年は真夏も敷き続けた。肌離れが良いことや、常にさらさらしていることが大きいようで、それほど暑くもなかった。

照明探し: これといったシーリング・ライトが見つからない。現状としてはシーリング・ライトを捨て、デスク・ライトとテーブル・ライトに置き換えるつもりだ。順序としてはテーブル・ライトを先に買いたい。夜中に作業しなくなったので、デスク・ライトは優先度が低い。

パプリカの値上がり: 9月になって、パプリカが急に倍くらいの値段になった。年間を通して1つ100円から150円くらいで安定していたものが、200円から270円くらいになっている。そこそこ使うので困る。暑すぎた影響ならそのうち戻ってくれそうだが、円安の影響だとすると戻りそうもない。国産のパプリカも値上がりしているので、円安ではないと思いたいところだ。

渋谷(2022-09-02): かわるかたち展へは晴れた日に行きたかったが、​すっきりとしない天気が続くようなので、諦めて出かけた。幸い強く雨に降られることもなく、気温も低めだったので、わりと快適な日だった。

2022年、初サンマ: 今秋、初めてサンマを食べた。今年は小さいという話を聞いていたが、本当に小さかった。7割くらいの大きさに見える。脂も少なく、さっぱりとしていた。上品な味と解釈できるかもしれない。

かわるかたち(渋谷公園通りギャラリー): 9月末で終わってしまう「かわるかたち」というアール・ブリュットの展覧会を見に、渋谷へ行った。先月に行く予定だったが、暑くて嫌になり、日延べしていた。巡回展となっており、練馬区美術館や府中市美術館でも行われるが、どちらも会期が短く、かつ込みそうな展覧会(練馬はモネ、府中はモリス)の終了間際なので、渋谷で行っておきたかった。

シェアサイクルの進出: 市内にようやくシェアサイクルのポートができた。神奈川県は海沿いと相模原市くらいで、県央から県西の内陸地域にはあまりない。市による実証実験らしい。すでに多くの地域で商業化されており、実証実験の必要性はほぼないと思われるので、そういう体で進出してもらったのかもしれない。事業者はハローサイクリングだった。

2022夏の虫: 今年は虫が少ない夏だった。蚊には3回しか刺されなかったし、Gは1匹しか見ていない。30度を超える日が続くと出てこなくなるとも聞くので、暑すぎたのだろうか。とすると、ハチの巣も加えてこれからという気もする。

Surfaceタイプカバーの修理: 修理というか、端からめくれてきたアルカンターラをテープで止めた。めくれた部分の幅が1cm弱だったので、ニトムズの19mmの布テープを買い、それできれいに押さえつけて止める。家にあった茶色のガムテープでは目立ちすぎるので、黒い布テープにしたが必要十分という感じだ。テニスのラケットにエッジ・ガードを貼る作業を思い出した。

植栽の根付きと雑草: 開業してしばらく経つオフィス・ビルの公園というか、憩いの場というか、ちょっと座れるところがある場所は、あまり手入れはされていない。さすがにゴミ拾いくらいはやっているようだが、植栽の手入れはほとんど行われていない。いくつかの木はうまく根付かなかったようで、葉がほとんど生えてきていないが、どうにかするつもりはないようだ。そのような木の根元では木に栄養が取られないため、雑草がすくすくと育っている。または根付く前に雑草が支配的になって、根付けなかったのかもしれない。

スキンベープ: 夏の始めに塗るタイプの虫よけがなくなったので、新しく買い直した。特に考えずにドラッグストアで山積みになっていたスキンベープにしたら、かなり効果的だった。むらなく塗ることが大切ということを学んだ。

お気に入りの石: 部屋にいくつか石がある。特に気にして集めているわけではないが、文鎮の代わりに使っている。メモや、処分前のレシート、平置きに積んだ本の上に載せる、またはドア・ストッパーとして床に置く。最近、お気に入りの石が増え、4つになった。座ったカエルのように片方が見上げているような恰好の石だ。

ブレンド茶、カフェインレス・コーヒー、ハニーブッシュ・ティー: 家ではカフェインの入っていない飲み物ばかりを飲む生活になってかなりになる。同じものばかりだと飽きるので、3種類を揃えた。食後にはカルディで売っている国産ブレンド茶を飲むことが多い。黒豆茶よりもすぐ出るので、こっちになった。それ以外の時は成城石井のカフェインレス・コーヒーかGassのハニーブッシュ・ティーをゆっくりと味わっている。ハニーブッシュ(はちみつのような香りがする)は好き嫌いが分かれそうだが、その香りとシナモンの軽い刺激がかなり気に入り、寝る前にも飲むようになった。

フランス語版HTML Best Practices: HTML Best Practicesが、今度はフランス語へ翻訳された。いつもの通り感謝しかない。色々な言語の翻訳を見てきたので、フランス語だとなんとなく読めるような気がしてくる。実際にはまったく読めないが、なんとなく目になじみがあるのだろう。

キッチンタイマーの買い替え: 5年くらい使っていたIKEAのキッチンタイマーの液晶が映らなくなった。ちょくちょく落としたり、濡れた手で雑に扱っていたので、壊れたのだと思う。分解掃除しても直らなかったので買い替えた。212 Kitchen Storeで売っていたドリテックのOEMものにした。無駄に時計機能などが付いているが、文字やボタンが大きいものにしたかったので、これくらいしか選択肢がなかった。税込みで1430円だった。

髪の分け目: 髪を切りに行ったついでに、5年ぶりくらいに髪を分ける位置を左右逆にした。自分の気分はかなり変わったが、他人にはまったくわからない。3年ごとくらいに変えていた気もするが、今回は間が空いた。

インドネシア語版HTML Best Practices: HTML Best Practicesがインドネシア語へ翻訳された。ベトナム語に続いて東南アジア系の言語への翻訳になる。いつもの通り感謝したい。インドネシア語は完全にアルファベットで書けるようだ。国コードがidなので、インドネシアのドメインは.idでかっこいい。ちょっと欲しいが、日本語のウェブサイトは作れないようだ。

涼しい朝: 急に朝が涼しくなり、生活が一気に変わる。就寝時の冷房から解放されると同時に、とても目覚めが良くなり、起きてすぐに行動が出来るようになった。

マイナポイントの受け取り: マイナポイント第2弾のJREポイントを無事に受け取れた。モバイルSuicaアプリでチャージしたので、酒でも買いに行こうと思う。Suicaへチャージする時、上限10000円という制限があることを知った。1日あたりの回数制限はなさそうだったので、2回に分けて行うだけだった。知らないことは意外にある。

Patrickのオールソール交換(2回目): 愛用しているPatrickのスニーカーをオールソール交換に出した。かかととつま先のゴムがぼろぼろ欠けてきたので、寿命だろう。前回が2018年の4月だったようなので、4年と4か月ぶりだ(買ってからは7年半になる)。一時期、ボロボロになったキャンバス・スニーカーを履きつぶしていたり、最近は普段履きの靴が3足体制になったこともあり、前回より1年ほど長持ちした。うまく交換されれば10年履くことになりそうだ。

網戸: セミがうるさいと思ったら、居間で鳴いていた。手で捕まえて逃がしたが、セミを手づかみしたのは何年ぶりだろう。改めて口吻を眺めると、なかなか怖い。

5GHzのみ: 2.4GHz率は低いものの、スリープ復帰後などに切り替わってしまうことがある。スリープから復帰した後は何かしたい時なので、切り替えで数秒インターネットが途切れるとイライラしてしまう。机の位置を変えてルーターに近づけると同時に、デバイス・マネージャーから5GHzのみにすることで、安定したインターネットを手に入れた。

スプロール3部作の文庫本: ニューロマンサーはどこでも、それこそ近所の本屋ですら手に入るので持っていた。しかし3部作の残り2冊はKindle以外ではもう手に入らない。Kindleで揃える気が起きず、なんとなく古本で文庫本を探し続けていた。一時期はプレミアがついて3000円近い額になっていたが、今は1000円前後で手に入るようだ。ニューロマンサーの文庫本が1056円なので、これくらいなら許容範囲だろうと、先月の散財モードの時に買ってしまった。

台風?: 先週末の台風は印象が薄いものだった。直撃したのに、これほど雨と風が弱かった台風は記憶にない。庭や屋根を見て回ったが、予想通り何も異常はなかった。毎回これくらいなら台風も悪くはない。

ドアフォン子機の復調: ドアフォン子機の電池がよく減るようになった。ほとんど使わないのに、いつ見ても充電中のランプがついている。充電電池の寿命かもしれないと買い替えてみたが、まったく改善しない。ルーターを買い替えた辺りで起きるようになった気もするので、ドアホン本体と近い位置に動かしたところ、電池が減らなくなった。電波の干渉か何かで消耗していたのかもしれない。電池の消耗はあまり関係なかったようだが、せっかく買ったので交換した。

ベトナム語版HTML Best Practices: HTML Best Practicesがベトナム語に訳された。いつも通り感謝の言葉を捧げたい。東南アジア系の言語は初めてだ。サーカムフレックス(^)とアポストロフィー(’)が組み合わさったような記号は、母音と声調を両方指定する時に使われるらしい。ベトナム語には母音が12もあるのか。

短編集好き: なんとなく短編集が好きだ。雑誌に載っていたりする短編小説そのものは特に好きではなくて、集まっていると好きになる。Kindleで買った短編集から、Spotifyのプレイリストみたいに新たな短編集を作りたい。面白い短編集があったら教えて欲しい。

虫さされ: 今年初めて蚊にさされた。暑すぎると部屋を開けないからか、あまりさされない。今年は「さされたなー」ではなく、さされたあたりを詳細に確認し、帯状疱疹じゃないことを確認するようになった。もうならないだろうとは思うが、なんとなく気になってしまう。

村上短編: 村上春樹の短編集をほとんど揃えた。3冊(レキシントンの幽霊、東京奇譚集、恋しくて)持っていたので、残りをブックオフでかき集めたが、うっかり「女のいない男たち」を買い忘れた。近所のチェーン系古本屋でも売っていそうなので、そこで買おうと思う。一番新しい「一人称単数」は文庫本が出たら新品で買う。

ExplorerPatcher: Windows 11のスタートは問題なく使えている。中央揃えも慣れてきた。しかし、どうしても「おすすめ」セクションが許せない。役に立つと思えない上、非表示にもできない。しょうがないのでExplorerPatcherを導入して、さっぱりと消した。

ルームサンダルのおかわり: 無印良品のルームサンダルの在庫がようやく潤沢になってきたようだ。といっても近所の店では売っていないので、店舗受取で買った。1週間くらいで到着し、快適に履いている。もうちょっと高いスリッパを買うつもりで探していたが、夏用の涼し気なものはあまり見つからず、おかわりということになった。

涼しい朝: 起きたら涼しくてうれしい。うれしかったので、そのまま散歩に出た。みな考えることは同じのようで、散歩している人が多かった。散歩するとそこそこ暑い。

金遣いの荒い月: ここ10年ほどのおこづかい帳によると、7月と11月に金遣いが荒くなるようだった。11月は冬物の衣料品を買うことが多いので、仕方がない。7月はちょっとした出費が重なるだけでなく、めちゃくちゃ本を買っていることに気づいてしまった。夏になって涼しい部屋で過ごしたいということかもしれない。5年くらい前までは、それらを読みながら食べるお菓子の支出もすごかった。今年も気づけば3万円くらい本を買ってしまっている上、マンガも1万円くらい買っていた。

アンテナ・ケーブルの延長: ONUを取り替える時に、大がかりな作業になるかもしれないと、テレビなどを移動させておいた。そのためONUを置き換えた後、動作確認のためテレビにアンテナ・ケーブルをつなぐ時、その長さが足りない可能性があった。念のために2mくらい延長できるよう、近所の電気屋に延長ケーブルを探しに行ったが、売っていない。どうも延長ケーブルというような製品はあまり売っておらず、中継接栓とアンテナ・ケーブルで延長するもののようだ。LANケーブルと似ている。

セミと夏本番: ようやくセミが鳴き始めた。ミンミンゼミからだったっけ。道路でセミコロンを見つけ、庭で抜け殻も見つけた。暑くなってからかなり経つので不思議な気分だ。最初の猛暑日が連続した時期以降はそれなりに過ごしやすく、まだ夏バテしそうもなく快調だ。とはいえようやく8月と考えると先は長い。

ONUの故障から交換まで: 起きたらインターネットにつながらない。パソコンとルーターは問題なく、回線工事や故障でもなさそうだった。ONUを確認したところ、インジケーターが全消灯しており、筐体が冷え切っている。ACアダプターの抜き挿しでも電源が入らず、リセット・ボタン的なものも見当たらないため、どうしようもない。同じ電源タップにつなげている機器は問題なく、他のコンセントに挿しても入らないので、ONU(かそのACアダプター)が壊れたようだ。フレッツ・テレビに移行した時に置き換えられたONUなので、ちょうど13年だ。寿命でもおかしくない。

インターネットなし、テレビなし: NTTから借りている機器の問題で、5日ほど固定回線のインターネットがなかった。とんだ誕生日プレゼントだ。Prime Videoに費やしていた時間は、本棚にある古い本、水上勉の本などを読み返していた。フレッツテレビなのでテレビも見れない。平和な日々だったが、噴火や、地震、台風の情報が得にくいなとも感じる。近辺では何もなくて助かった。

Surface Typecoverが認識されなくなった時: 電源ボタンとボリューム・アップ・ボタンの同時押しを15秒くらい続けて起動したところ、ちゃんと認識され使えるようになった。早めに放してしまうとUEFIメニューに移行するので、押し続けることが大切だ。ともあれ認識されて良かった。

カルティエ そこに集いし者: 1年ほど前に行った横尾忠則のThe Artists展で買わなかった画集をようやく手に入れた。横尾忠則が救急搬送されたという話を聞いて思い出した。出版が2018年なので、公式オンライン・ショップを含め、もうあまり売っていない。Amazonでは2000円ほど上乗せされて売っている。実店舗を探すとそれなりに残っているようだが、近所の店で取り寄せられそうもなかった。hontoで在庫ありだったので、なんとか定価で買えた。

デンマーク語版HTML Best Practices: HTML Best Practicesへデンマーク語への翻訳が追加された。いつもの通り感謝しかない。Danishかと思っていたが、それは英語だった。

ログアウトしづらいウェブサイト: ブラウザーでは、Googleと、Amazon、Twitter以外からはログアウトするようにしている。以前は既定でプライベート・ウィンドウを使っていたが、常用するには厳しかった。そうやっていると、ログインはしやすいけれど、ログアウトがしづらいウェブサイトがちょくちょくあることに気付く。最近では、ページ最下段にログアウトのリンクがあり、この時点でかなり問題があるが、なおかつ自動ページングでほぼたどり着けないというものに遭遇した。

WasewのTシャツ: 愛用していたRemi ReliefのTシャツがよれよれのよれになってしまった。袖の縫製が一部ほつれ、たたむ時には裾が揃わない。買い直そうとしたら2000円くらい値上がりしており、普段用のTシャツに5000円以上は出せないのであきらめた。WasewのパックTシャツを勧められ、これにしてみた。公式通販から4950円で、送料は無料だった。

枯れ木: 駅付近の緑の多い小道に、雰囲気の良い枯れ木がある。流木かもしれない。他にも気に入っている人がいるようで、たまに花が生けられていたりもする。クリスマス期にはサンタの人形が座っていたこともあった。

果物づくし: モモが出そろい始めた。まだちょっと高いが、ブドウよりはましだ。3回か食べて、2勝1敗だった。パッションフルーツも見かけるようになった。鹿児島、特に種子島のものがそこそこ安価に売っているところを見つけたので、何回か食べた。家がずっと南国の香りになっている。

モニター・アームにタブレット端末: Typecoverを外出用にし、家ではキーボードを買って分離したままで使おうと考え始めていた。そのまま机の上に置いても良いが、タブレット・スタンドに置きたい。しかし、アーム型で良さそうなものがあまりない。VESAマウントできるタブレット・ホルダーを発見したので、将来のことも少し考えて高級なモニター・アームと組み合わせる方向で探していた。

楽しいけど割に合わない: しばらくPrime VideoやTVerでバラエティー番組を色々見ていた。面白いと思い、楽しく笑っているが、たまに不意打ちで精神的な傷を受ける。ちょっとした荒い言葉だったり、自分が気にしているところをいじられていたり。見ることで得られる楽しさに割に合わないなと感じる。

トイレのリモコンの故障: 買って13年半くらいになるトイレのリモコンが動かなくなった。電池を変えると電源は入ったようだが、ボタンを押しても反応がない。時刻合わせすらできないので、リモコンが壊れたようだ。もう一つのトイレのリモコンではちゃんと動いたので、本体の故障ではないだろう。流すことは自動で行えるが、ウォシュレットが動かせないと生きていけない。メーカーに頼むと遅そうだったので、プライム会員だと翌日に届くことから、Amazonで後継品を買った。

トンネル散歩: 平野に住んでいるとトンネルを使う機会はほとんどない。唯一近所にあるトンネルはちょっとした丘を通したもので、100mくらいだ。たまに通りたくなるので、散歩に行く。そのあたりは起伏に富んでおり、大きめの公園や古墳がある地域で、散歩に向いているが、牛舎があり、臭かったり、臭いトラックが通ったりする。

麦わら帽子: 8年くらい前に買った麦わら帽子が、2年前くらいからようやく似合うようになった。買った当初は失敗したと思っていたが、経年変化で色合いや形が少し変わったことと、かぶり方を少し変えたことで似合うようになったような気がする。帽子は好きでよく買うが、よく失敗する。これはギリギリ成功だ。

4回目の気配: 新型コロナウイルスのワクチンを3回接種してから5か月を過ぎた。国の指針通り、高齢者等のみに接種券を送るようで、僕には来ていない。しかし、送られてきそうな気配が漂ってきた。今のうちに受けるかどうか決めておかないとならない。今のところ6:4で受ける方に傾いている。

渋谷(2022-07-01): 戸栗美術館へ行った時は暑かった。なるべく歩かずに移動することを心掛けた。最寄り駅までもバスに乗る。世情も落ち着いているためか、乗り降りが激しい。

電話の出方: 世論調査の電話が初めてスマフォにかかってきた。選挙期間だからか。めったにスマフォへ着信がないので、出方をよく覚えておらず、戸惑ってしまった。Googleの通話アプリは、通知のボタンに色が付いていたり、工夫もわかるが、応答するボタンはもっと大きくてもいいと思う。

素足でAllbirds: 夏になったが、まだサンダルを買っていない。去年買ったAllbirdsのスニーカーが素足でもいけるという話なので、試しに履いて歩き回った。インソールの感触が気持ち良い上、うまく汗も逃げるようで、一日中快適だった。ウールなおかげか臭くもならないが、いざとなったら洗濯機で丸洗いできるため、そういう心配も無用だろう。

鍋島焼(戸栗美術館): 松濤にある戸栗美術館へ鍋島焼の展覧会を見に行った。6月半ばに行く予定だったが、帯状疱疹になってしまったので、この日になった。暑かった。

SwatchのClearly Gent: 腕時計を増やしたかったが、なかなか気に入った買える値段のものが見つかっていない。普段使いをしたいので、Swatchでいいかと、渋谷でふらっと懐かしかった透明なやつを買ってしまった。夏っぽい。TPUのペタペタするベルトも懐かしい。

寝具の充実: しばらく前に薄い羽毛布団を貰ったので、夏前くらいまではそれをかけている。寝る時にエアコンをかけるくらいになる、梅雨明けのこの時期からはタオルケットのみになる。厚手の羽毛布団や枕を含め、10年くらいかけて気に入った寝具が揃った。就寝から5時間くらいで一度目が覚めてしまうことが多いものの、最終的な目覚めは快適で、起床時間も安定している。

役所付近: 駅周辺は開発が進んだが、役所の方にはまだ田んぼが多い。市街化調整区域なので、役所や、消防署、病院くらいしかないような記憶だったが、スシローなどもあるので、そんなこともなさそう。西に大きな川が流れている関係で、浸水想定区域になっていることから、売れないだけかもしれない。このようなことを考えていたら気になってきたので、少し前に来た最新のハザードマップで、がけ崩れや地震の危険度などを確認したり、避難順路を再考したりした。

夏スリッパの買い替えに失敗: スリッパがないと靴下に穴が開きやすくなるような気がする。そんな理由で年中スリッパを履くように戻った。夏は素足にスリッパにしたいところだが、靴下なしで冷房に当たると体調を崩しがちなので、靴下も年中履いている。今の夏スリッパは、家人がサイズを間違えて買った無印良品の綿でできているルームサンダルで、階段で滑りやすいことと、底が裂けてきたことが気になっている。かといって他に良いものも見つからないので、買い直そうとしたが、店舗で売っていない。ネットストアでも売り切れだったり、いろいろ面倒になってしまった。

筋トレの再開: 帯状疱疹以降、筋トレを休止していた。なるべく安静にということもあったが、単に痛くてできなかった。ほぼ2週間の休止で、体重はあまり変化がなかったが、体脂肪率が少し上がった。かなり回数を下げて再開したので、徐々に元に戻していきたい。息の仕方を忘れている。

夏用部屋着の新調: 部屋着はあまり用意しないようにしている。リラックスしすぎてしまい、しゃっきりしない。それでも夏はやはり無理があるので、下だけは部屋着のようなパンツに着替えている。ここ4年くらいは無印良品のリネンパンツを着ており、股下が長い以外はそこそこ快適だった。さすがにゴムがゆるみはじめてしまったが、パジャマのように取り替えられそうもない。

帯状疱疹(11日目~15日目): 最後の診察を受けた。問題ないので、予約も薬もなしで、気になる変化があったら行くだけになった。塗り薬は続けた方が良いが、きれいに湿疹が消えるかは運任せで、きれいにしたい場合は美容皮膚科の受診が必要になるようだ。とにかくあまりひどくならずに済んで良かった。

次のスマフォ: Pixel 3aのEOLが近づいている。前回は見送ったワイヤレス充電が欲しくなっているので、Pixel 6aは候補から外れた。iPhone新モデルのminiにしたかったが、今年からminiは出ないらしい。新モデルの値段がびっくりするくらい上がりそうなこともあり、この夏が買い時のような気もしてきたり、ちょっと悩ましい。

食後の薬: 10数年ぶりに食後に薬を飲む生活になっている。アセトアミノフェンを400mgくらいでも、なんだか調子が悪い。歩く速度へ顕著に現れ、15分くらいのところが20分くらいに落ちた。頭の回転も落ちているような気がする。食欲は落ちていないのが救いか。

緑だけの場所とベンチ: オープンしたて商業施設の植栽がきれいに緑色に染まった。1か月ほど前はまばらで貧弱な様子だったが、6月に入ると一気に茂る。まだ雑草のようなものも見えてこず、今が一番きれいな様子なのかもしれない。ここには派手に花が咲きそうな草木も植えられておらず、落ち着いた雰囲気だが、ベンチなどの座るところはない。

フロア・デッキの掃除: 去年、ベランダにフロア・デッキを敷いた。その時に恐ろしい情報を教えてもらったので、夏場には何回かめくって掃除することにした。かなり面倒くさい。最初の掃除をしたが、特に問題はなさそうだ。

帯状疱疹(7日目~10日目): 3回目の診察が終わり、順調なので痛み止めのみになった。念のため受診予約をしたが、残る痛みがなくなればキャンセルしても良いほど順調のようだ。5日目あたりから急激に痛みが減ってきた。痛みの質も鈍く短いものに変わっている。痛み止めの効果が切れる朝でも、ちょっと気になるくらいでやり過ごせるようになった。湿疹も赤黒くなってきて、治りそうな様子に見える。

node:streams/consumers: Web StreamsからNode.jsで扱いやすい形にするヘルパー関数が用意されていることを教えてもらった。Node.jsでFetch標準が使えるようになったので、出番は多くなるのかもしれない。Node.jsのBufferにするコードを読むと、ReadableStreamを全て読んでBlobに変換し、更にArrayBufferに変換し、Buffer.from()を使っているようだ。

クリニック・ビル: 最寄り駅付近にクリニック・ビルがにょきにょき建っている。通院している皮膚科もクリニック・ビルに入っている。3つ以上何ならかの病院が入っているビルだと、5つもあるようだ。病院のみとしても3つある。10年ほど振り返ってみると、歯医者も含めて単独の病院が開業した記憶がないかもしれない。駅から少し離れると、内科や整形外科が開業していた記憶はある。

帯状疱疹(4日目~6日目): 2回目の診察で特に異常はなかったので、抗ワクチン薬は標準的な7日で終わるようでほっとした。薬を飲んでから4日目くらいになると、痛みの最大値は下がってきた。湿疹も赤から黒に変わってきた。湿疹の跡が消えるまで1か月くらいはかかるらしいが、塗り薬で済むらしい。あとは神経痛の後遺症が残らないことを祈るだけだ。

ネットワーク・アダプターの不調: パソコンをスリープから復帰すると、10日に1度くらいネットワークの速度が500kbpsくらいになってしまうことがある。スマフォでは正常な速度が出るので、回線やルーターの問題ではないようだった。再起動すると直るが、そこまでしなくてもネットワーク・アダプターを無効にして有効に戻すだけでも直った。Win11では設定アプリのネットワークの詳細設定で無効にできるようになっている。もうちょっと調べてバッチファイルを書きたい。

グラフィック・トライアル2022とマインツ・インパルス(印刷博物館): 飯田橋辺りへは、神田川のほとりにあるトッパン本社の印刷博物館へ、グラフィックトライアル2022とマインツ・インパルスを見に行った。近くに行くことになった時はちょくちょく覗くが、常設展側へは久しぶりに入る。いつものことながら建物外観に展示案内がないので、入っていいか不安になる。

帯状疱疹(1日目~3日目): 腹の左側に赤い湿疹が2cm四方ほどに固まって5つほどできた。かゆみが強く、たまにチクチクする。この時点では聞くほどに、痛くて眠れないような痛みはなかった。微妙なところで迷ったが、翌日に皮膚科を受診したところ、数秒で帯状疱疹と診断された。抗ウィルス薬と、解熱剤、ビタミン剤を処方され、これらを飲んで治すようだ。経過観察と薬の処方のため、しばらく通うことになる。1か月以内に治るとうれしい。

_ファイル.名: 設定を書かずに済ませようとした時に、globパッケージを導入した。ビルドするファイルと参照するだけのファイルの区別やHTML用とRSS用のテンプレート・ファイルの区別は、このパッケージのignoreオプションを使っていた。オプションの値に4つも書いていると何か間違っている気がしたので、Sassを参考にファイル名の先頭にアンダースコアを追加し、ignoreオプションの値を**/_*で済ませられるように変更した。

道の広さと交通事故: しばらく前に近所で交通事故があって、少し離れたところに住んでいた人が死んだそうだ。「住んでいた」と書いてしまい、申し訳ない気持ちになる。ともかく、あまり交通量の多い所ではないので驚く。しかも最近になって道が広くなり、横断歩道が作られたところだったので、二重に驚いた。

飯田橋~神楽坂~新宿(2022-06-07): 梅雨入りしたが、朝は晴れていた。まずは新宿駅に出る。ちょうどロマンスカーが来たので乗ろうかと考えたが、それほど混んではないようなので、快速急行にした。満員だがぎゅうぎゅう詰めというほどでもない。

minimist→util.parseArgs: Node.js v18.3.0でutilモジュールにparseArgsというものが生えた。コマンドライン引数(のような配列)をパースできる。minimistくらいで済んでいるものは置き換えられそうだ。

黒いマティスのブルー・ヌード: 健診の日は1食抜きだったので、帰りにカフェに寄った。紅茶のパウンド・ケーキとピスタチオのアイスクリームがおいしかった。カフェの壁にはかなり大きなマティスのブルー・ヌードIIのパネルがかけてあり、なかなかの迫力だ。印刷も良さそうで、近くから見てもなかなか良い。

ディレクトリー構造の刷新(v9.23.23): 静的ウェブサイト生成ツールのディレクトリー構造をいろいろ見ていた。思っていた通り、コンテンツ、テンプレート、CSSやJavaScript、静的なファイルなど、用途ごとにディレクトリーを用意し、それぞれの中の構造を生成先であるウェブサイトの構造に合わせるものばかりだった。このウェブサイトを生成する仕組みは、特定のディレクトリーにすべてがまとまっているいにしえのツールから派生していったため、まったくそうなっていない。いい機会なので刷新して、用途別にディレクトリーに分けた。

2022年の健診: 今年は新しい健診クリニックで受けた。特に問題はなかった。身長が3mm伸びたが、靴下を履いたまま計るようになったからだろう。腹囲が2㎝ほど増えたものの、筋肉で増えたと考えられる。

Philipsのマルチ・グルーマー(MG5730/15): 愛用していた乾電池式のボディー・グルーマーを使おうとしたら、刃の一部が少し歪んでいた。使っても大丈夫そうだったが怪我をしたらばかばかしいので、新しく買い直した。Braunの似たものと迷ったが、同じPhilipsにし、鼻毛カッターも兼用しようと、充電式でいろいろ付いているマルチ・グルーマーにした。Amazonで3827円だった。

公金受取口座の登録: マイナポイント第2弾で7500円相当のポイントがもらえるとはいえ、あまり公金受取口座を登録するつもりはなかった。しかし、いつでも削除できるようだったので、ポイントを受け取ったら消せばいいかと考え直した。まったく使っていないゆうちょ銀行の口座があるので、それを登録しておく。

データ・ファイルの統合と移動: フィードを作る時にデータ・ファイルを集めてソートしていたが、データ・ファイルをひとつにまとめてソート済みとして持っておくことにした。ファイルを3つ読み込み、つなげて、ソートする時間と、大きなファイルから逐一選び出す時間で、後者の方が速そうな印象だったからだ。結果としてあまり速度は変わらず、扱いづらくなってしまったので、元に戻した。

黒白紺灰紺白とハンガー: アジサイが咲いたので、そろそろTシャツの季節だ。今年は6着になった。Better (検索しづらい)の黒を追加し、紺をEntry SG.に買い替えた。かなり細そうだったEntry SG.は近所に試着できるところがあったので助かった。どちらも着心地はいい。ちょっとしたセレクトショップに行くと8000円以下のTシャツを見かけなくなる時代なので、お手頃な値段かもしれない。

iPodの思い出: iPodシリーズにはそれほど思い入れはないが、このiPod shuffleはよく使っていた。結局、iPhone 5sを買うまで使っていたように思う。引っ張り出してパソコンに挿してみたところ、ちゃんと認識され、音楽を転送できた。前面の再生制御スイッチ類や背面の電源スライダーの押し心地がいいことを思い出し、コチコチ押している。「コチ」とはちょっと違って、「クコッ」とかそういう音が近いかもしれない。

映画の歌: ダニエル・クレイグとピアース・ブロスナンの007を見終わった。ロザムンド・パイクの映画デビューが007だったことは知らなかった。今のところはカジノ・ロワイヤルが一番面白い。主題歌のアーティストを当ててみようとしていたが、さすがにSam Smithはわからなかった。Garbageも歌っていたのかと懐かしく思う。Ace of Baseや、Pulp、Muse、Radioheadも主題歌候補だったというような話もあり、やはりUKを感じる。

こむらがえる日々: 1週間くらい、繰り返しこむらがえりが起こっていた。立っている時や歩いている時はあまり起こらず、座っている時や寝ている時にビリビリっと襲ってくる。スクワットをやりすぎて、筋肉を傷めたせいだったようだ。しばらくスクワットをやめたところ、徐々に頻度が落ち、最終的に治った。

サウンドバーの検討: しばらくBluetoothスピーカーをみつくろっていた時、BluetoothでつながるTV向けサウンドバーを壁掛けで設置することも考えていた。Denonの新作が良さそうだったこともあり、うまくはまらなくても居間に持っていってテレビ環境を向上できるため、後悔しなそうではあった。

Windows 11に: それほど悪いうわさも聞かないので、重い腰を上げてWindows 11に更新した。40分ほどかかって無事に終了し、特に問題なく更新されたようだ。インストール中の画面が文字化けして不安になった。よく使うアプリもちゃんと動き、日常的な作業はを無事にこなせて安心した。環境の再構築を懸念していたWSLもだいたいそのままだった。

Boseの銀色スピーカー: さすがにLate Night TalesをSurface Pro 6で聞くのは嫌になってきたので、スピーカーをみつくろっていた。色々見ていたらよくわからなくなり、Bluetooth入力に対応しているプリメイン・アンプとパッシブ・スピーカーを買いそうになって危なかった。スマート・スピーカーではない白かシルバーのスピーカーという、ゆるゆるの条件で探し、USB-Cに進化したBoseのSoundLink Mini II SEにした。安定した人気はあるものの、新作が出た影響か、それらと同じ19800円で売っていた所があり、ちょっと安く買えた。直営オンライン・ストアでも工場再生品が22000円で売っていて、少し迷った。

ルーマニア語版HTML Best Practices: HTML Best Practicesにルーマニア語への翻訳が来ていたので、ゴニョニョとマージした。いつも通り感謝している。星が3000を超えたが、2000からはかなりゆっくりとした調子だ。何かが起こらないと4000は無理そうだ。

有線イヤフォンのあきらめ: 有線イヤフォンそのものは快適で、高級なものを買い直そうかと考えていた。しかし、問題が2つ発生してしまい、どうも解決しそうにない。ひとつは満員電車でのコードのからまりで、もうひとつはAndroid 12の行う音量制限が繰り返し行われてしまうことだ。そういえば最初に無線イヤフォンにした時は、からまり回避が最も大きな理由だった。この前、久しぶりに満員電車に乗った時は、からまらないように気を使って、とても疲れた。

007: 生まれて初めて007の映画を見ている。一日一作品。Prime会員でなかったら、一生見ることはなかったであろう。古い順に見ると大変そうなので、ダニエル・クレイグになったカジノ・ロワイヤルからにした。主題歌がクリス・コーネルでかなり気分が盛り上がり、楽しく見れた。

Late Night Talesの発掘: 押入れを整理していると、Late Night TalesのCDが2枚ほど出てきた。真剣に探したところ、全部で9枚あった。しばらくはずっと聞いていられそうだ。Another時代のZero 7、Nightmares on Wax、Snow Patrol、この3枚がお気に入りだ。偶然にThe Flaming Lipsのものを見つけ、シリーズのジャケットが気に入ったこともあり、集め始めた記憶がある。ちょっと古くなると途端に見つけられなくなって苦労したが、ビームスで過去のものも含めて扱っていた頃もあった。

vim-css3-syntax v1.10.1: Selectors Level 4が更新され、疑似クラスがいくつか追加された。そこそこ使い出がありそうなことと、前回のリリースから半年くらいになるので、変更を取り込んでvim-css3-syntaxのv1.10.1をリリースした。

ガードレール: よく通る道でガードレールをあまり見なくなった。写真のガードレールも道路と車道の間ではなく、道路と線路の間にあるものだ。道路が整備されると、消えていくような気もする。小学校付近にはそれなりに多いので、そのあたりをあまり歩かないからかもしれない。

中野~渋谷(2022-05-10): 古寺巡礼へ行った時もいつものように散歩した。週間天気予報によると雨の隙間で、出かけるならこの日しかなさそうだった(結局はその翌日なども晴天だった)。予報通り晴れ、暑すぎもせず、歩きやすい日だった。

ファイル名の指示: 少し前に記事のファイル名を日付にした。とにかく楽だが、たまに明示的なファイル名にしたいこともある。下書きをHTMLで書いており、記事タイトルはh1要素にしているので、それにid属性としてファイル名を仕込み、公開スクリプト側で処理してやることにした。

古寺巡礼(写大ギャラリー): ここ数年の間に読んだ本で土門拳に触れたものがいくつかあった。記念館に行ってみたいと思うも、なかなか機会がないままだった。そんな折、近場で写真集「古寺巡礼」の写真展があることを知り、ゴールデン・ウィーク明けに行ってきた。場所は日本工芸大学の写大ギャラリーで、中野にある。

アルカンターラの限界: SurfaceのTypecoverはアルカンターラでおおわれている。裏側やタッチパッド周りは特に劣化していないが、端の接着がはがれ始めてきてしまった。開け閉めする時に頻繁に左手で抑えるあたりがひどく、一部はちぎれ始めた。アルカンターラの限界か。不調なこともあるので、家でのキーボードとマウスのことを考え始め、富士通のタッチパッド付きキーボードに惹かれている。

振り出しに戻る(v9.23.18): しばらくHTMLやCSSが安定していたが、loading=lazyの採用をきっかけに手を入れ始めた。HTMLはいろいろ変えていたが、main要素やarticle要素がなくなっていっただけに終わった。CSSでは余白の調整が主で、コンポーネントを少し増やし、カスタム・プロパティーを減らしたくらいだ。また、/documents/以下の文書が雑多な記録ページに表示されるように(URLは変えていない)なった。

休みに休むか確認するために: 4月29日、5月3日、5月4日と、連続で記事の公開を休みそびれた。ちょくちょくやってしまうので、休みの日は公開するかどうか確認するようにした。内閣府が提供している祝祭日データのCSVファイルから日付一覧に加工しておき、照らし合わせるだけだ。このデータは来年までしか掲載されていないので、そのうちデータを更新しなければならない。

公開時刻の早まり: 記事の公開を朝一で行うようになった。時刻にぶれはあるが、おおむね6時半前後に実行している。起床、読書、着替えの後に公開し、それからパソコン(個人)、読書、朝食、雑事、筋トレ、パソコン(作業)、というような感じで時間が流れていく。

88ch→44rem: 最近読んだ小説が一行あたり40文字だった。上下に大きく余白をとっており、なおかつ少し下に寄っている配置になっていた。雰囲気が似ていたため拝借してみたが、若干狭いようにも感じる。まずは間をとって44文字を試してみる。一行あたり48文字はちょっと長いかもしれないとずっと感じていたので、気分転換にもなった。

隙間と草木: 擁壁の隙間に生えている木や、草、苔が気になる。自宅付近だと抜いてすっきりさせたくなるが、街中だと応援したくなってしまう。擁壁といえば、犬のふんを擁壁の排水管に詰めていく人がいるという苦情が回覧板で回ってきていた。

書棚ページからマンガを削除: 書棚ページをすっきりさせるためにマンガを追放した。マンガを後に参照したいとは考えないだろうし、発売日直後くらいにしか有益な情報でもないと考え、そのようにした。そのためTwitterには変わらず投げられる。またデータとしては存在するので、気が変わったら戻せる。

ミラネーゼ→革: ミラネーゼの腕時計バンドに飽きてきた。工具なしで気軽に交換できることがわかったので、革の腕時計バンドを追加し、気分で付け替えることにした。先が細くならないものにしたかったため、WOCCIというところのものしか見つけられなかった。クーポンありで1599円だったが、黒い尾錠のものが売り切れていたので、同時に黒の尾錠も699円で買った。

春のボタンと春の霧: 庭のボタンがきれいに咲いた。今年は2輪で、お得な感じだ。雨やら霧やらのせいでふにゃふにゃになったようで、家人が切って生けていたが、翌朝には半分以上の花びらが落ちてしまった。

node-fetchからの脱出: Node.js v18でfetch (やFormData)がフラグなしで使えるようになったので、このウェブサイトでnode-fetchパッケージを使っているものを書き換えていた。大体はimport文を消せばいいだけだったが、仕様に準拠していない部分で書き換えが必要だった。具体的にはsharpパッケージにpipe()で渡していたところだ。

スリッパ探し: 断続的に5年くらい履いていたLe DDのDreamスリッパに穴が開いてしまった。今は余っていた無印良品のインド綿ルームサンダルを履いている。靴下を履いていると脱ぎ履きしづらく、あまり気に入っていない。Le DDは買い続けるには高い。探しているが、なかなか良さそうなものが見つからない。

フランソワ・ポンポン展(山梨県立美術館): 墓参りの際、ちょっと遠出して山梨県立美術館へ行った。ポンポン展が目当てで、シロクマに会いに行く。オルセーの大きなものしか知らなかったが、群馬県立館林美術館にもあるらしく、そのつてで巡回展が行われたようだ。群馬の時に行くつもりで調べたところ、片道4時間近くかかるようだったので、3時間弱で済む千葉にしようかと考えていたら、山梨でもやることを知り、墓参りついでに行ってきた。

黄色いバスマジックリン: 近所で黄色いバスマジックリンが手に入りづらくなってきた。売られなくなったり、売っていても130円前後とかなり高い。今回はAmazonで30%オフのクーポンが配られていたため、90円くらいで手に入ってうれしい。

墓参り(2022-04-20): 暖かくなったので、墓参りに行ってきた。ここのところ雨が多く、5月の連休前は難しそうだったが、なんとか晴れそうな日にした。前日の天気予報で雨が降るかもしれないと言われたが、なんとか朝までにはあがってくれ、出だしは順調だ。

Google Domains→Porkbun: 重い腰を上げて脱Google Domainsをした。きっかけはCloudflareに移管した記事を読んだことだ。移管先は前に挙げた3つと、Gandi、Njalla、そして最終的に移管したPorkbunの中から選んだ。相変わらずGmailを主に使っているので、Googleアカウントの停止対策にはならない。分散させたい期になり、いろいろと分散させている。

ホームに戻る: ページ・フッターのみにナビゲーションを配置していると、長いページで厄介なことになる。そして、このウェブサイトには長い(どころではない)ページがある。位置固定のナビゲーションを導入するほどではないので、短いページであることが保証できるホームに戻るリンクを、位置固定で置くことにした。

記事の分割: 冷蔵庫や無線LANルーターを買った記事などは分割されている。買うまでと設置を分けたり、購入から設置までと細かい機能についてを分けたりしている。ひとつの記事でセクションを作っていたところを、それぞれ記事に分けているつもりだ。毎日書くための水増し手法だが、これはこれで書いてあることがはっきりしていいかもしれない。

5GHzを優先: 購入したNECのWX5400HPはメッシュ機能が既定で有効になっている。そのためバンドステアリングも有効になっており、ひとつのSSIDで2.4GHzと5GHzにつながる。どちらでつながるかは電波状況と機器によって変わる。ただ2.4GHzでつながってしまうと、回線速度が40Mbpsくらいまで一気に落ちてしまう。Surface Pro 6(のMarvel AVASTAR)では、デバイス・マネージャーからワイヤレス・ネットワーク・アダプターの詳細設定で5GHzのみにできるようだ。

春の温度: 完全に暖かくなったので、コートをクリーニングに出し、冬物の片付けを終えた。先月の雑誌に、ウールのコートを泡で手洗いする方法が載っていた。もうちょっとへたってきて、ダメになってもいいと思えるようになったら挑戦してみたい。布団も変えたいが、夜に寒い日がありそうなので、もうちょっと待ちたい。

ドコモ光 + ドコモnet + NECの無線LANルーターでIPv4 over IPv6: ドコモ光とドコモnetの組み合わせでは、公式にIPv4 over IPv6が使えるとされている無線LANルーターはドコモオンラインショップのみで売っている専用ルーターしかない。各メーカーでもOCNバーチャルコネクト(transix)への対応はうたっていても、この組み合わせについては明言されていない。ダメ元で買ったNECのWX5400HPは自動判定でうまくつながり、無事にIPv4 over IPv6になった。速度だけでなく、ルーターの設定画面やIPv6確認サイトでも確認できた。OCNバーチャルコネクト対応となっていれば、どこのメーカーのルーターでも大丈夫なのだろう。

朝一散髪: 最近は午前8時台に散髪してもらっている。一昨日も髪を切った。朝一だとその日をすっきりした気分で過ごせていい。もしかすると散髪そのものよりも、顔ぞりをしてもらうことが気持ちよくなる要点かもしれない。近所に顔ぞりコースがある床屋はないものか。

NECの無線LANルーター(WX5400HP): 先月、ノジマで冷蔵庫を購入した時に期間限定ポイントが10000円もらえるとのことだった。期間限定かつ10000円以上の商品にしか使えないので、何を買うか迷ったが、6年目くらいになった無線LANルーターを買い替えることにした。色々と考えた末にNECのWX5400HPというミドルレンジに落ち着いた。ノジマでは税込みで16478円で、ポイントを使って6428円の支払いになった。

綿とウールでなんたらかんたら: この冬はずっと無印良品の長袖Tシャツを着ていた。ものすごくあたたかいというほどではないが、神奈川県の平地だったので真冬を乗り切れた。半袖の頃に悩まされていた二の腕やひじのガサガサも改善し、今冬はたまにがさつくくらいで済んだ。数年はこれで生きていけそうだ。

ヘアブラシ・クリーナー: 去年の秋に豚毛のヘアブラシに変えた。髪の調子はいいが、ブラシにすぐに毛やほこりがたまってしまう。月一くらいで掃除をしていたが、もうちょっと頻繁にやった方がいい気がする。そのためにはさっと終わらせられる必要があるので、ヘアブラシ・クリーナーを買った。550円だった。

タケソラホア新ジャ新タ湘ゴ: 季節になってタケノコが手頃な値段になってきたので、もりもり食べている。そのままグリルで焼ける大きさのものが売っておらず残念だ。他にソラマメやホワイトアスパラガスも出回り始めた。ハクサイもまだ安いし、いい季節だ。新ジャガイモや新タマネギはそれほど好きではない。日持ちが良くないので、新ではない方を買いたくなる。などと思いつつ、蒸かして塩を振って食べている。

Tasks.orgへの出戻り: タスク管理アプリでしっくりくるものが見つからず、アカウントを増やさずに使えるGoogleのToDo リストを使ってきた。困るというほどのことはないが、繰り返しタスクが当日になるまで出てこないことがずっと不満で、たまにイライラしてしまう。カレンダー側では未来のタスクも閲覧でき、そちらで繰り上げや期限の変更が可能だが、うまく変更できずにタスクが消えたりする。ということでTasks.orgに出戻った。しばらく使わないうちに細かいところの使い勝手が良くなっていた。

昼めしレシピ: 本屋をうろうろしていたら、今月のdancyuが「本気の昼めしレシピ」という特集だった。パラパラと眺めたところ、作りたくなるほどではないが、それぞれの好みが現れているのか、ちょっと面白い。その程度だったので、買わずに帰った。家で思い返してみると、この「作りたくなるほどではない」というあたりが、昼めしレシピとしては、手間や気分転換という点でいいのかもしれない。

ドイツ語版HTML Best Practices: スペイン語版に続いて、ドイツ語への翻訳もHTML Best Practicesに来た。ざっと確認した後、マージした。いつもの通り、感謝の言葉しかない。

Keep→Joplin (→?): ちょうど良いメモ・アプリを見つけられないまま、ずっとGoogle Keepを使ってきた。クラウド・メモ・アプリであるKeepそのものには不満はないが、ローカルにテキスト・ファイルがあってほしいため、しっくりこない。AndroidとiOSに対応していて、ウェブ・アプリかWindowsアプリもあるとなると、Joplinくらいしか見つからない。

花の春: 春は、普段はあまり通らない道を歩くと、この木もサクラだったのかと気づくことがある。また、解体された家の奥にあったサクラに気づかされたりもする。花が咲いてくれたり紅葉してくれないと、木の違いが分からない。遠くからでも枝ぶりだけで見分けられる知人に憧れている。

Google is muting some sound: 何かの拍子にこうなった。具体的には通知音が鳴らなくなる。サイレント・モードや機器のミュートではない。設定から「デバイスとアプリの通知」で、Googleアプリの権限を剥奪してやったところ直った。その後、再度与えても大丈夫なようだが、剥奪したままにしておいた。OSの言語設定が日本語のままだと、検索しても答えが出てこなかったので、一旦英語に切り替え、タイトルの文章を探し、それで検索した。

スペイン語版HTML Best Practices: HTML Best Practicesのスペイン語への翻訳が到着した。ざっと確認して、サッとマージした。毎度のことながら、感謝しかない。

ClearURLsの相性: Chrome系向けの拡張にClearURLsという、ウェブサイトに仕込まれている追跡クエリーを削除するものがある。URLをコピーする時に便利なので、重宝していた。しかし、相性が悪いウェブサイトも多く、TwitterやAmazonなど、まさに削除して欲しいウェブサイトが時々壊れる。

六本木~虎ノ門~表参道: 大倉集古館へは、そこそこ早い時間に行くつもりだったので、ロマンスカーで新宿まで出た。通勤時間帯のロマンスカーに乗るのはあまりなく、満席で驚いた。車両は久しぶりにEXEαで、ロマンスカーっぽくない。

季節をめぐり、自然と遊ぶ(大倉集古館): 一度、大倉集古館を見てみたかったので、「季節をめぐり、自然と遊ぶ」という企画展に行った。終了直前に行けてよかった。晴れて暖かく、散歩しながら行くにはいい日だった。

AppleCare+を考慮したiPhoneの価格: 5Gに対応して、iPhone SEの3代目が出た。Pixel 3aに不満はないが、iPhoneに出戻りたい気分になっている。少し前に落として画面を割ったので、AppleCare+を月契約で付けておくことを考えている。モデルによって値段が違うので、そのことも考慮して費用を考えないとならない。

強風と枝折れ: 数年前から近所の道路では、激しい風が吹いた翌日になると、このように砕けた木の枝が散乱している。実際には道路の真ん中に落ちたりしているようで、かなり危なっかしい。枝折れが起きている雑木林には、防止ネットの設置など、対策がなされた。一部は防げているようだが、根本的な解決には至っていない。

早起きの安定化: ようやく安定して5時半までに起きられるようになった。目覚ましが鳴る前に目が覚めるようにもなった。起きてから6時半くらいまではベッドで本を読み、それから起床する。その後は家事少しとパソコンで日課の定型作業を行い、7時半くらいに朝食という感じに落ち着いた。

財布なしの挫折: ついに財布をやめてみていた。まだ我慢してスマフォにウォレット・ケースを付けているので、それにカード類と札を何枚か入れておくだけにした。レシートを入れる場所が少なくて困っているくらいで、特に問題なく生きていけていた。しかし、1週間でスマフォをなくす夢を何回か見てしまい、財布に出戻ってしまった。何かの時のために、お金、スマフォ、鍵を、別々に持ちたい気持ちが強いようだ。

昼にホットケーキ: 砂糖の入っていないホットケーキ・ミックスを見つけた。それから昼ごはんにホットケーキを食べるようになった。いまだに具をどうするか悩んでいる。水切りヨーグルトとベリーミックスを主に食べつつ、生ハムやベビーリーフを盛ったり、手探りで試している。

馬のような跡: 馬に見えた。シャドーロールのような跡もある。明らかに目の位置にあるので、前が見えなそうだ。

アイコンが単色に: 単色で塗りつぶしたアイコンに変わった。単色になるのも5回目くらいだ。無意味な幾何学模様を使うより、ウェブサイトの現状を反映していそうだ。キャッシュ。

ウクライナ国旗風のもの: 街を歩いていると、黄と青のものに反応するようになった。そこそこ見つかるが、きれいに分かれているものはなかなかない。バレーボールや水球のボールも黄と青のものが多いが、模様としてはすっきりと分かれてはいない。回転を見えやすくするためだろうか。

ハ行の姓: プライム会員特典で集中的に観ていた俳優の姓が、パイク、フィッシュバーン、ブシェミ、ブランシェット、ブラント、ベッキンセイル、ホークと、ハ行に偏っていた。偶然にしては偏りすぎている。ちょっと気になる。

秤の不調: 台所で使っている秤が不調だった。米を炊く時にも使っているくらい、毎日使うものなので、不調になると万事休すだ。電池を交換しても直らないが、クレ5-56で調子が戻った。ボタン類の調子は戻っていないので、寿命は近そうだ。

プライム会員特典で観た映画: 子供の頃に観た、または観逃がしたものや、マーベルやDC系を観つつ、俳優で検索して観ていた。グーニーズとかゴーストバスターズを楽しく観たり、スーサイド・スクワッドやヘルボーイを観たり、キアヌばかり観たりしていた。マーベルやDC系は少ないが、最近になって、インクレディブル・ハルクやアイアンマンも特典に加わっていた。

止まり木: もうすぐ、もうひとつ商業施設が立ち上がる。ジムやクリニックなど、福祉関連施設が入るらしい。地元には病院(のようなもの)と薬局がニョキニョキ増えていて、やっていけるのか心配になる。

Jason Markkのスニーカー・シャンプーをおかわり: スニーカーの手入れは、4週間ごとにまとめてやっている。愛用しているJason Markkのスニーカー・シャンプーを、あと5回くらいで使い切りそうだ。ちょうど2年半ほどでなくなる計算になる。これといって気になる点はないので、なくなる前におかわりした。

イチゴと白シャツ: 家族がイチゴを買ってきていた。それを隠れて食べていたら、白シャツに汁が飛んでしまった。悪いことはできない。

冷蔵庫の到着: 買った冷蔵庫は、その翌日に設置できるようだったので、そうした。朝に電話が来て、昼前に設置し、夕方には冷えて使えるようになった。設置作業は15分ほどで、搬出後、設置前に床を掃除している時間の方が長かったくらいだ。掃き出し窓からすんなりと搬出・搬入でき、滞りなく終わった。食材の一時退避は、災害時用のクーラー・ボックスと段ボール箱で間に合った。

ばらばらのブランド: どうもブランドをそろえるようなことが嫌いなようで、ふと気づくと全て違うブランドになっていたりする。洋服や、鞄、靴がそうだが、最近は家電も揃えないようになってきた。揃いすぎていると落ち着かないのかもしれない。

日立の冷蔵庫(R-HW48R): 水が漏れた冷蔵庫は大丈夫そうだったが、買ってから18年弱経っており、買い替えるべき時期ではあった。家族も新しくしたがったので、ちょうど型落ちになった日立のR-HW48Rを買った。色は食器戸棚などと合わせてクリスタルホワイトの方にし、近所のノジマで買った。なんや(古い冷蔵庫の引き取り料金)かんや(プレミアム保証)で18万円くらいだった。

靴下を裏返して洗濯: 下着は裏返して洗濯していたが、靴下はそのまま出していた。家でスリッパを履かずにいるため、外側の方が汚れるからだった。この冬から、久しぶりにスリッパ族に転生したので、下着と同じように裏返すべきと考え、習得中だ。成功率はかなり低く、6割くらいの確率で、裏返すことを忘れる。

カミソリでズバ: 髭を剃っていたら、数年ぶりに肌をズバッと切ってしまった。血が止まらないというほどではなくて良かった。外出時はマスクで隠れる場所で、これも良かった。

冬服の片付け: 急に暖かくなり、セーターにウールのコートだと、昼には暑い。週間予報によると、もう真冬の格好でなくても良さそうなため、セーターを洗い始めた。冬服の片付けは、セーター→マフラー等の小物→パジャマ→下着→コートと、コートを最後に残すようにしている。コートさえあれば、3月の寒さはしのげるだろう。

だいたい毎日書く: ここ3か月くらい、だいたい毎日書けている。正確にはだいたい毎日公開できている。たまに怠ける言い訳を用意しておきたいので、平日限定にした。間違えて休日に公開してしまった場合は、Twitterへの投稿をずらしてお茶を濁している。

建物と公園: 商業施設やマンションができると、公園ができる。今度は、小田急電鉄のオフィスや貸しオフィスのビルが開業し、横に公園が出来た。おおまかに南東向きで、木も多め、車の通りも比較的少ない(駅のすぐ横のとしては)ため、一年中居心地がよさそうな気がする。少し前にできたスーパーの横にも公園が出来ていた。こちらは周りにあるマンション向けのようで、遊具がいくつかある。

冷蔵庫から水: 冷蔵庫の周囲の床に、水が漏れていた。買ってから20年近いので、どこか壊れたかと思ったが、冷蔵、冷凍ともにちゃんと動いている。拭いた後、1日待ったところ、また少し濡れており、どこからか水が来ているようだ。底面トレイからあふれたというわけでもなかった。排水ホースのつまりだと直せそうもない。

ロシア語版HTML Best Practices: HTML Best Practicesへ、中国語(簡体字)版に続き、ロシア語版のプル・リクエストも来たので、ビシッとマージした。今回はPrettierか何かで他のファイルの体裁も変わっていたため、手動でマージしている。ともあれ翻訳者には感謝したい。

新しいスーパー: 近所に新しく大きなスーパーが開店した。神奈川を中心に展開するエイヴイで、ヤオコーが買収したらしい。これで駅周辺にスーパーが6店(成城石井を入れれば7店)になった。多すぎるような気もするが、道路事情があまり良くないため、どのスーパーも需要はあるのかもしれない。それでも客は分散が進むと思うので、どれかは閉店に追い込まれそうだ。ダイエーは怪しい。

SisyphyのPD充電器: 65Wで、USB-Cが2ポート以上ある充電器が欲しくなった。前にSurface ConnectをUSB-Cに変換するケーブルを買った、Sisyphyのものにした。黒い方にし、3970円で、そこそこ高いこともないような値段だ。昔のAnker製品のような簡易パッケージで、開けやすかった。

角川ソフィア文庫を5冊: 角川ソフィア文庫を1冊買う時に、他にも4冊、計5冊をまとめて買うことにしている。といってもまだ2回目なので、次があるかどうかはわからない。今回は、少し前に読んだ本に出てきた、岡倉天心の「茶の本」を買おうと考えた。この新訳はかなり読みやすくなっており、すらすらと読めた。

無印良品のテーパード靴下: テーパード靴下を買って、しばらく経った。危惧していた通り、ずり落ちるようにはなってしまった。定番のリブ編み靴下と同程度のずり落ち具合で、大きな欠点というわけではないが、残念ではある。次も同じものを買いたいという感想は変わらない。春から夏までに型番が変わった商品が出なかったら、そのまま廃番になりそうな気がするので、買いだめしようと思う。

接種回数3回の証明書: 接種証明書アプリで、接種回数2回の証明書を発行していた。3回目の接種後、自動的に更新してくれるかなと考えていたが、よくある質問によると、そんなことはないようだ。接種してから1週間ほど経った後、新たに発行したところ、無事、接種回数3回の証明書が発行された。

近所の梅の木: 近所の家に植えられていた梅の木が、切られてしまった。病気になってしまい、根元が折れかけていて、危なかったそうだ。また別の家の柿の木も切られてしまったし、うちの家も金木犀を切ってしまった。ふと気付くと木が切られているが、花が咲く季節にならないとなかなか気付けない。

エクスプローラー|エディター|タイムライン: 昔、やりたいと書いていた、VS Codeで、左エクスプローラー、中央エディター、右タイムラインというレイアウトができるようになっていた。1月に出たv1.64からだと思う。うれしい。ただ、何かの拍子に消えてしまい、再び表示する方法がわからなくて困った。サイド・パネルという概念を認識していなかったので、これを再表示すればいいということに気付けなかった(メニューの「表示」→「外観」から切り替えられる)。

静かな自転車: 街を走る自転車が静かで、ちょくちょくひかれそうになる。電動アシスト自転車が増えたことが一番大きそうだ。もはや4割近くが電動アシスト自転車かもしれない。普通の自転車も、ぎこぎこ鳴らないものが増えた。こちらは世情の影響で乗る機会が増え、修繕や買い替えが進んだのかもしれない。

柿の種とキットカット: ワクチン接種後の体調不良の時につまむため、駄菓子を一時的に解禁した。久しぶりすぎて、ドラッグストアで何を買うか選んでいるだけで楽しかった。遠足のお菓子を買いに行った時を思い出す。いろいろ迷ったものの、柿の種とキットカットに落ち着いた。

顔認証デバイス: Surface Pro 6がスリープから復帰に失敗した。電源ボタンの長押し(10秒)で起動したので、大したことではなかったようだ。ここ半年、顔認証デバイスの立ち上げに失敗することが時々あり、今回の復帰失敗時にも、そのインジケーター・ランプが点灯していたので、このあたりに問題がありそうだ。どうしようもないので、次のファームウェア更新で調子が戻ることを祈っている。

中国語(簡体字)版HTML Best Practices: HTML Best Practicesへzh-CNの翻訳を追加したプル・リクエストが来ていたので、サクッとマージした。毎度のことながら感謝している。高熱でぼんやりしていたので、お礼のコメントすら書いていなかった。

3ワ接後: 翌日は、ベッドからほぼ離れることはなかった。2回目と同じような推移で、4時間ほどでだるくなり、1日半ほど高熱が続くという流れだった。腕はあまり痛くならず、その点は楽だったかもしれない。その反面、頭痛がひどかったが、これは2回目に比べ、より高熱になったからだと思う。

3回目の新型コロナウイルスワクチン接種: 市から接種券がきたので、さくっと予約し、ぶすっと接種してきた。2回目の接種からは6か月と5日になる。接種券が来てから3日後に受けられ、待ちが短く、心理的な圧迫が少なかった。

冬のアジサイ: 梅雨の時期に見ると、わさわさしていて草っぽいアジサイも、冬になるとちゃんと木に見えてくる。近所の炉端に多く植えられており、この時期には様々な伸び方をした枝を観察できる。今年は、大きな1株だと思っていたものが、3株も密集したものだったことを発見できた。写真のように半球状になっているものが多いが、ファンタジー映画に出てくる木のようにグネグネしたものもある。

デカフェ・コーヒーのドリップ・パック: コーヒーを飲みたくなるが、たまにだけなので、豆も粉も常備する気にはならない。カフェインを断っていることもあって、インスタント・コーヒーというわけにもいかない。デカフェのドリップ・パックがあればいいなと探したが、なかなか見つからない。3日くらいかけて、ようやく成城石井で見つけた。12パックで600円弱だった。週一くらいで飲むだけなので、気になる価格ではない。

1月の金遣い: 先月は何もしなかったせいか、ほとんど支出がなかった。マンガと、本、日用品、映画くらいだ。振り返ってみると、毎年、1月は支出が少ない。年末に色々と出費が重なることもあって、抑制しがちなのかもしれない。

Surface Typecoverの不調: いい感じで使っているSurface Pro 6とSurface Typecoverだが、接触が悪くなったのか、ごくまれにキーボードの切断・再接続が起こるように、つまりタブレット・モードへの切り替えと復帰が起こるようになった。タイピング中に起こることもあるので、ちょっと困る。頻度としては、週に1度くらいのため、致命的というほどではない。

枕の買い替え: しばらく前に枕カバーを買い替えたため、へたれてかさ(圏点を付けたい)が減ってきた枕が気になった。かさが減ると、カバーと隙間が出来、ずれていく。このままでは寝心地にも影響がでできそうなので、近所で3000円で売っていた羽根枕に新調し、カバーにパンパンに詰まるようにした。寝つきもいいし、夜中に起きることもなくなってきたので、枕に凝る必要もないと思うので、手頃な値段のものに決めた。

小物入れトレー: 小銭、財布、鍵、腕時計、イヤフォンを放り込んでおくトレーを探し始めて5年くらいだが、いまだにいいものが見つからない。大きさが足りない、形が気に入らない、深さが足りない、置く場所と色が合わない、などなど。今は使っていない皿で間に合わせている。Prime Videoをよく見るようになった影響で、弾丸を取り出す手術の時に出てくる、豆の形をしているトレーが欲しくなっている。

有線イヤフォンへの出戻り: AirPodsの次は、Sonyのワイヤレス・イヤフォンにしたが、かっこよくなかったのでUrbanearsのJakanを使っていた。音質にこだわりはないので、気に入っていた。しかしついに充電するのが面倒になって、有線イヤフォンに出戻った。といってもSonyのMDR-EX155という安いもので、とにかく有線にしたかっただけだ。マイクやボリュームもなく、毎日1時間ほど音楽を聞く使い方なら有線イヤフォンも悪くはないことが確認できた。

富富富、ひゃくまん穀、結びの神: 新米ではなくなったけれど、引き続き食べたことのない銘柄を食べている。歴史の浅い銘柄は、香りが強いものが多く、炊くとキッチンに強烈な匂いがたちこめる。ひゃくまん穀と結びの神もはその系統だった。つや姫、銀河のしずく、新之助あたりが気に入っている。富富富は近いが、一歩届かない印象だった。そろそろ一度コシヒカリに戻り、その味を思い出したい。

node-fetchパッケージのFormData: node-fetchパッケージが、v3.2.0からFormDataなどをエクスポートするようになっていた。これによりform-dataパッケージやformdata-nodeパッケージが不要になった。標準非互換の問題から始まって、いろいろあって使いやすいようになったのだろうと思う。イシューの乱立を避けるような狙いもあるかもしれない。

冷蔵庫の開放警告: 夜に30分くらい冷蔵庫を開けっ放しにしてしまった。開けた後、5分くらいで開放警告の音が鳴るが、すぐに離れてしまうこともあって気付かないこともある。車のように、開けたらずっと鳴っている方が正しそうだ。鬱陶しいという人もいるだろうから、設定できるだけでも構わない。

ドラッグストアで○○茶: カフェインレスの○○茶は、あまり考えずにスーパーや食料品店で探していた。しかし、健康志向の強い商品なので、ドラッグストアの方が品ぞろえが良いことがわかった。ドラッグストアだと、爽健美茶や十六茶のような、カフェインレスのブレンド茶も多く扱っており、そちらも試していきたい。

キーマカレー: キーマカレーをよく作るようになった。豚モモと鶏ムネのひき肉とみじん切りにした様々な野菜を、トマトだけで煮込んで作っている。季節に応じて、ナスや、カリフラワー、ブロッコリー、メキャベツ、キノコ類、レンコン、ネギ、などを焼いて添え、食べる。久しぶりに作って食べたが、おいしかった。

⚰ Meat Loaf: 泣きながら長い曲名の曲のMVとファイト・クラブを観ていた。当時はBeat UKを欠かさず観ていたので、毎週のようにあの曲を聴いていたと思う。アルバムは友達とワリカンで買った。デュエット・パートの女性が誰かを探す競争を、半年くらいしていたことも思い出した。洋楽雑誌の年末特集か何かに載っていたのを発見した友達がいて、それで決着がついた。今は5秒で見つかる。

Kindleのシリーズ: 最近、新刊のマンガがうまくシリーズにまとまってくれず、困っている。たいていは発売後にまとまってくれるが、ひどいシリーズだと3巻分くらいまとまっていない状態が続いている。シリーズのまとめ買いページをスクレイピングして、新刊の確認を行っているので、気づけないことがままある。

夕食と朝食の間: 夕食の後、何も食べない時間を14時間くらいにしたい。夕食の時間は18時くらいで、これは動かせないため、朝食を8時にすることになる。5時に起きているため、何も食べずに3時間も過ごすことになる。試しに7時くらいまで遅らせてみたが、もうつらい。

node:readline/promises: Node.js v17でreadlineモジュールにPromises APIが加わった。どんな感じで書けるのかよくわからなかったので、このウェブサイトの下書きから公開するスクリプトで採用し、少し書いてみた。旧来のコールバックをPromiseで書き換える場合と、あまり変わらず書けそうだ。awaitですっきり書ける一方で、拒否された時にclose()し忘れそうとは思う。

カフェインレスの○○茶: コーヒーを飲まなくなって以降、お湯か、牛乳、豆乳、ほうじ茶を飲んでいた。ほうじ茶以外には「香り」というようなものに欠け、さすがに飽きた。コーヒーへ控え目に復帰しようかとも考えたが、カフェインレスの○○茶を色々と試してみることにした。麦茶を始め、ルイボス・ティー、カモミール・ティー、そば茶、黒豆茶などが入手しやすい。

近くの自然公園: 1周が5分くらいで歩ける周回コースのある自然公園を使ってウォーキングしている。公園まで7分、中を3周、帰りは遠回りで10分くらい歩く。短いからか、あまり歩いている人はいない。林の中をぐるぐると、緩やかに上って下るだけで、すっきりしてくる。

鏡割り: 餅を食べ終わってしまい、さみしい。かといって、また買いたいというほどでもないが、やはり食べたい。そういえば鏡餅があった。無事、お汁粉になってくれたので、満足した。

Dependabotと復縁: 唐突に更新したリポジトリーで、Dependabotに怒られた。新年で、やる気にあふれているため、いくつかのリポジトリーで止めていたDependabotを有効に戻した。止めた理由はよく思い出せない。一時期、週一くらいで何かしらの更新を要求されて面倒になったのだと思う。その時に、自分だけがたまにしか使わないリポジトリーでは止めた。

hail2u-ipsum v0.2.3: 唐突に思い出したので、hail2u-ipsumのデータを更新した。1,083 additions and 9 deletionsだったので、約一年で1000文ほど書いたことになる。唐突にv0.2.1に更新したので、唐突にdependabotに怒られた。npm audit fixしたり、エラーメッセージを直したりして、v0.2.2になっている、

昼食のローテーション: 朝食はいつも同じでもいい気がしているが、昼食はそこそこ色々なものを食べたい。作ることが面倒でないことや、後片付けが簡単であること。お金がかからないこと、なども考慮すると、あまり広がっていかない。後片付けは重要だと考えていて、鍋1つ、フライパン1つ、食器1つ、で済むくらいがいい。今日はナポリタン・スパゲッティだった。

65ch→90ch→96ch→88ch: コンテンツ幅がこのように変遷している。最初はrem単位で作っていた幅を、単純にch単位に移し替えたものだった(Noto Sans CJK JPを想定している)。次に1行の文字数を基準に、広い画面で36文字になるようにした。ちょっと狭いと感じ、次に96chにする。この後、画面幅に応じた文字サイズの変更をやめたので、思ったよりも広くなってしまい、現在はひらがな48文字相当である88chになっている。

Chromium版Edge+Chrome用の拡張=💫: Edge 96で何か仕様が変わったのか、右クリックからURLなどをコピーする拡張がちゃんと動かない。まったく動かないわけではなく、ツールバーのボタンからは動く。また、右クリックからも、2回使うと動くようになる。謎の挙動でバグ報告をしたいが、Chrome用の拡張をEdgeで使っているので、報告しづらい。Edgeの更新ですぐ直ったら迷惑そう、ということもある。

年月日のファイル名: 毎日のように記事を書いていたので、ファイル名の問題が再発生した。英語のファイル名を考えるのが面倒くさい、というやつだ。しょうがないので年月日をファイル名にすることにした。合わせて年月日それぞれの間にハイフンを入れるようにもした。

映画の登場人物: ギャング映画だと、犯罪を描くために登場人物が多い。黒幕、指示役、情報屋、武器商人、実行犯、運転手、などなど。ストーリーを追うより、「誰だっけ」で頭を使うので、観ていて疲れる。ブラック・スキャンダルは特に疲れた。似たような顔で似たような服がどんどん出てきて、ばんばん死んでいく。ドラッグ・チェイサーも登場人物が多いが、名前を持っていないので、記憶を消費せずに済み、頭が痛くならなかった。登場人物の見た目が、顔も服装もいろいろだったこともあるかもしれない。対して闇社会系のアクション映画は、半分以上がドンパチ場面なので、登場人物が少ない。ジョン・ウィックやラン・オールナイトなどはスカッと見れた。仮面ライダー風の登場人物構成で、なじみがあるということかもしれない。

凍る郵便受け: 昨日は雪の日だった。午前中に図書館行きと買い物を済ませ、家でじっとしている。こたつが欲しくなる日だった。夜には止んだためか、今日はいたるところが凍っている。門扉や郵便受けが開かなくなり、数年ぶりにお湯をいろいろなところにかけて溶かす作業を行った。

ウォレット・ケースと腕時計: スマフォに蓋つきでカード入れなどがあるウォレット・ケースを着けたので、時間が見づらくなった。今までは、持ち上げると画面が点く機能を有効にして、ポケットから出して確認していた。これにカバーを開けるという動作が加わり、煩雑になった。その上、ケースが分厚くて、ポケットから出しづらいので、面倒になる。しょうがないので、また腕時計を着けるようになった。

謎の落とし物: クリスマスを過ぎたら、街に人が増えた。学校が終わったことが大きそうで、子供が多い。シネコンが2つある街だということもある。人出に応じて、謎の落とし物もちょくちょく見かける。片方の靴とか、コートのフードとか、買った洋服の入っている袋とか。僕も買った洋服を置き忘れたことがあるので、あまり人のことは言えない。

おせちのかまぼこ: 昨年、おせちを作り終わったところで、かまぼこを作ってみようと考えていたことを思い出した。既に買ってしまったので、手遅れだ。来年は忘れず作りたいし、それまでに試しに作ってみたい。赤くする時はどうやるのだろう。

初夢’22: 初夢の「は」の字もないくらい熟睡した。夢などは見たくないので、幸先が良い。すうっと寝入って、ふわっと起きたい。

2022年の新たな習慣: 振り返り記事で習慣付けに言及する人が増えた。意識して日常的な修練をこなしていくと、日々、ささやかな成功体験を得られるような気はしている。僕の新たな習慣付けは、Prime Videoで映画の楽しさを再発見中なので、今年は劇場で映画を月に1回見ることにしたいと考えている。美術館や博物館も3月に2回が習慣になったので、もうちょっと増やしたい。

卑罵語と映画レーティング: 下品、罵倒、侮蔑の言葉が流れ続ける映画を観ているおかげで、英会話の概念が崩壊しつつある。これはこれで困るので、また吹替版も見るように戻った。もしかすると、卑罵語などを効率的に排除するには、映画レーティングを参照すると良いかもしれない。そう考え、Gや、PG、PG-13までの映画は字幕で観て、そうでないものは吹替で見ることにした。

vim-css3-syntax v1.10.0: 年末の頻繁な仕様更新も落ち着いたようなので、vim-css3-syntaxのv1.10.0をリリースした。テストにあまり変更が加わっていないことからもわかる通り、今回もあまり変更はない。CSSという世界においては、主にレイヤー関連での調整が様々な仕様で加わっており、久しぶりに大きな変化があった年だったと思われる。

クリスマス期の鶏モモ肉: クリスマス前に、普通の鶏モモ肉を1枚だけ買おうとしたら、売っていなかった。全て骨付きのロースト向きになっているものか、唐揚げ用に切り分けられているものだった。丸鶏や骨付きモモ肉に場所をとられてしまうようだ。正月前には、ローストビーフ用のかたまり肉に場所をとられて、焼き肉用の牛肉も少なかったような気もする。幸い、作ろうとしていた鶏モモ肉とダイコンのバルサミコ酢煮込みは、モモ肉を切り分けて使うレシピだったので、切り分け済みのものを買った。

ブラジル・ポルトガル語版HTML Best Practices: HTML Best Practicesのブラジル・ポルトガル語への翻訳をマージした。感謝しかない。ちょくちょくフォークされ、翻訳作業を行っている人もいるようだが、プル・リクエストは久しぶりに来た。謎のビルド・システムのせいで断念している人もいそうなので、MarkdownとJSONを少し書くくらいでいいことを、もうちょっとはっきりと書いておく必要があるかもしれない。

ブログとマイクロブログの間: ツイートっぽいやつの代わりに雑記を書くようにしつつある。ブログとマイクロブログの間みたいな雰囲気で、ここをやっていきたい。近ごろの様子もログだけ残し、年内で投稿も止めるつもりだ。雑記、ブックマーク、本、などは、これまで通りTwitterに流すので、今度の場合はTwitterアカウントは消えない。

キノコのスープ: キノコだけのスープというレシピを発見した。作ってみたが、レシピにある通り、5分で作れておいしい。キノコすごい。かなり黒いスープになるので、見た目はあまり良くない。アサツキでも散らすといいかもしれない。キノコはなんでも良さそうな気がするが、3種類は入れないと単調な味になりそうだ。

新しい靴下: 靴下にも穴が開いた。台所仕事をしている時に、足の裏がペタペタすると感じ、何かゴミが付いたのかと確認すると、穴が開いていた。春から秋に家でスリッパを履かなくなったことと、下着の量を減らしたことの影響で、今までよりも早く消耗したようだ。去年の8月に購入していたので、1年と4か月だ。

2021年のゆず: 今年は100個くらいだった。毎日3個、風呂に入れても、2月の終わりまで入れられる計算だ。かなり間引きしたつもりだったようだが、それでもこれだけ生った。花はそれほど咲かなかったような印象だったので、50個くらいかと思っていたが、予想は大きく外れた。

fog linen workの枕カバー: 枕カバーに穴が開いた。6年くらいか。無印良品の麻平織だったが、なかなか良かった。同商品名の現行品は、ペラペラっぽいので、再購入はしなかった。麻にはしたかったので、かなり昔に東京ミッドタウンの寝具ショップで見た、fog linem workのものを新しく買った。3300円とそこそこ高いが、高すぎでもない。

エジプトの青いカバたち: ルーヴル美術館や、大英博物館、メトロポリタン美術館などに収蔵されている、エジプトの青いカバの複製品を買った。銀座にあるメゾン・デ・ミュゼ・デュ・モンド(MMM)というところで、置物を含め、いろいろと扱いがある。いくつかあるが、ルーヴルの口を閉じている方にし、血迷って大小セットで買った。自分用というわけではなく、クリスマス・プレゼントだ。隠しておくほどでもないので、もうあげてしまったが、喜んでもらえた。

接種証明書アプリのインストール: 予定通り、接種証明書アプリがリリースされているようだったので、朝ごはんを食べながら入れた。使うところ(ジムとか?)へ行くことはなさそうだし、接種者への優待も問題があると思っているので、ほぼ提示することはなさそうだが、突然要求された場合に備えて入れておく。証明書は、姓名や住所などの入力もなく、マイナンバーカードとPINだけで発行できた。カードを読む前にPINを入力させられることに違和感があったが、すんなり発行された。厚生労働省や内閣官房の新型コロナウイルス感染症対策のウェブサイトから探せず、デジタル庁のウェブサイトからしか見つからないという、ささやかな問題があったくらいだ。

キアヌ漬け: 12月の前半は、Prime Videoでキアヌ・リーヴスの映画ばかりを観ていた。マトリックス・シリーズから、コンスタンティン、ジョンウィック・シリーズまで。だらだら観たかったので、マトリックスは吹き替え版にしたが、コンスタンティンは字幕版しかなかったので、そちらを観た。そのおかげでキアヌの声が好きだったことを思い出し、ジョンウィックは字幕版で観た。ただただ楽しい。

2021年の新米: 今年は、新之助、銀河のしずく、青天の霹靂、金色の風、を初めて食べた。新之助は気に入っていて、つや姫と迷うくらいだ。金色の風は、餅のような香りが強く、かなりさっぱりしていて、あまり好きではなかった。他の2つはおいしかったが、コシヒカリと大差ないと感じる。

アイロニーとユーモア(茅ヶ崎市美術館): 海を見に行った日は、茅ヶ崎市美術館へアイロニーとユーモアを見に行った。浜田知明という版画家の展覧会だ。寒かったせいか、3人くらいしか客がいなかった。一度、茅ヶ崎市美術館に行ってみたかったこともある。

2021年の海納め: 雨模様の中だったが、海まで行った。誰もいなかった。茅ヶ崎駅からまっすぐ南に進むとちょうど烏帽子岩に着く。烏帽子岩をちゃんと見たのは初めてかもしれない。島へは釣り人用に渡し舟があるらしいので、いつか乗ってみたい。

クイックル・ハンディ: ほこり取りに使っていた、柄の長いシャワシャワのがダメな感じになったので買い替えた。この前に買ったテレビにも使いたいこともあって、伸び縮みするタイプのものを探して、クイックル・シリーズのそれにした。近所のシマホで690円だった。

傷病2021: ケガや病気をした日から治った日までを、Googleカレンダーで予定として記録している。ちょっとした切り傷や、火傷、捻挫、虫刺されなどもすべて記録する。すると完調だった日がどれくらいあるかがわかる。5年前からやっていて、だいたい平均で150日くらいは健康だったが、今年はかなり良く、200日くらい健康だった。

AllbirdsのWool Runners: ウォーキング以上ランニング未満に使いやすそうなスニーカーを探していた。色々探した結果、Allbirdsのウール・スニーカーを買った。先月の半ばに、公式のオンライン・ストアから12500円で買い、翌日に届いた。気付けばウールの何かばかりを買っている。

コード・ハイライトの停止: v9.21.11で、雑記のコード・ハイライトをやめた。短いコードを強調表示すると、ユーザーが愛用している強調表示の色と混乱して、返って読みづらいのではないか、という仮説を持っている。そこそこ長いコードなら、読んでいるうちに色情報が整理されてくると思うが、短いとその時間がない。つまり、ウェブログのようなものに載せるコード断片なら、そのままの方が先入観なしに読めるのではないだろうか。

Pixel 3aの手帳型ケース: スマフォを落とし、AmazonでPixel 3aのケースを買ったら、入らなかったので、また違うケースを1499円で買った。プライム会員中なので、次の日に届いてすごい。もちろん気に入ってはいない。

PUDOで返品: スマフォを落としたので、新しくケースを買った。Amazonで売っていた1099円の手帳型ケースにし、翌日に届いたが、入らなかった。3~5mmくらい短い。ヘッドフォン・ジャック用にあるはずの穴の位置も左右逆で、間違ったもののようだった。触り心地はそこそこ良いPUレザーだったため残念だったが、使えないので返品した。AmazonではPUDOステーションを使って返品できるようになっていたので、初めてやってみたが、簡単でいいな。

Pixel 3aの画面修理: うっかり道でスマフォを落とした。角から落ちたらしく、画面の右下から画面下部にのみ亀裂が入ってしまった。ガラスの亀裂だけで、それも主に画面領域の外だったので、特に問題なく動き、操作できている。2年半弱は使ったし、高くないスマフォなので、あまりショックは受けなかった。すぐに近所の修理屋に行き、値段表を見ると、23000円前後と高かったので、買い替えも含めて、家に帰って考えることにした。

Prime Videoや定額制の映像ストリーミング・サービス: あまりPrimeに興味がわかないようなことを書いておきながら、Prime Videoを観ている。昨日までは、映画館でも観た、ブレードランナー 2049を見ていた。映画館で観た時には「間」に感じられたシーンが、なんとなくうっとうしく感じてしまう。画面への映り込みや部屋の内装などで集中しきれないのかもしれない。SFばかり観ていたが、もっと明るい映画を観てみよう。

照明リモコンの壁付けを面ファスナーで: 天井照明の壁スイッチがない部屋に移ることになった。もちろんリモコンがあるが、置き場所に困る。ひも付きの照明を探したが、もはや絶滅の危機に瀕した商品らしく、あまりない。結局、壁スイッチがあったら良さそうな場所に、リモコンを取り付けることにした。

吊橋型の歩道橋: 相鉄線と小田急線の上を通る橋に、歩道橋が作られている。片側は開通した。今までは自転車とすれ違うのが難しいくらいの細い歩道が片側にしかなかったので、ないよりはましだが、建設費に見合う効果はなさそうだ。駅を挟んで反対側ではアンダー・パス(こちらは相模線をくぐる)として新たな道が作られている。東からくる車がばらけ、駐車場の入り口もまたばらけるはずなので、橋における渋滞の解消にはこちらの方が重要そうだ。

レース・カーテンの買い替え: 今年はいっぱいレース・カーテンを買い替えた。洗っても白くならないものや、少し破れているものがあり、みすぼらしさが目に余るようになっていた。レースなので、劇的に雰囲気が変わるわけではないが、部屋が少し明るく爽やかになり、過ごしやすくなった。窓側からだけ透けづらくなっていたり、遮熱機能があったり、腰高窓にも床までの長さにしたり、いろいろ工夫したので、このままドレープ・カーテンなしで生きていきたい。

フォームへの入力と下部固定ナビゲーション: 描画領域の最下部に固定されたナビゲーションが優勢になりつつある。そういうウェブサイトを小さな端末で閲覧し、なにがしかのフォームを入力しようとすると、入力中のフォームが下部固定ナビゲーションに隠れて見えなくなってしまうことがある。入力はできるが、入力中の文字などが見えない。スクリーン・キーボードを出す時に、キーボードでフォーム要素が隠れないよう、最小限の量で入力中のフォームの位置が調整される結果だ。

風呂場の照明: 風呂場の照明が明るすぎて困っていた。照明が2つあり、それぞれ60W相当のLED電球が刺さっている。ひとつ外したら家族から「暗い」と言われた。明るさを調整できるスマート電球にでもしようかと考えたが、いちいち戻すのが面倒くさそうだ。妥協点が見いだせそうもないので、風呂場の照明を点けず、洗面脱衣室の照明を点けておくという方法で乗り越えた。

ノー・ブラック・フライデー: 大きめで上にジッパーがついているトート・バッグを探していて、この前の金曜日にFreitagを見ようとしたら、オンライン・ストアが閉まっていた。No Black Fridayという運動の一環のようだった。セールで買って失敗することが多かった人間なので、こういう運動が広まり、セールがないとわかっていると、欲しい時にじっくりと考えて買え、うれしいかもしれない。

エアコンのフィルター掃除: 去年と今年にエアコンを買い替えたので、取り扱い説明書に書いてある通り、フィルターを2週間に1回、洗うようになった。水のシャワーで洗って干すで、いつもピカピカになる。冷え込み始めたため、庭でバシャバシャ洗っているとかなり寒い。

東京~銀座~新橋(2021年11月25日): こなさなければならない用事と、少し前に買ったスニーカーのならしという名目で、東京駅から、銀座を経由して、新橋まで散歩した。東京駅ではグランスタを初めて眺めた。駅構内と構外に分かれていて、内が飲食、外が物販と勝手に決めつけていたが、そういうわけでもなさそうだった。IDEE Tokyoなどは構内にあった。新幹線までの暇つぶしには良さそうだが、わざわざ見に行くほどのものではなかった。店もひやかしやすく、散歩にはもってこいとも言えそうだ。

2021年の冬下着: 綿100%の長袖Tシャツがへたれてきたので、思い切って一気に新調した。無印良品の綿とウールで真冬もあったかの古いバージョンが990円で売っており、値段に負けてそれにした。あったかいような気がしないでもない程度だが、柔らかくて着心地はよく、チクチクはしない。ユニクロの昔のソフトタッチTシャツを思い出す。

近所のチョコレート屋: 近所にできたチョコレート屋が気になっていた。最寄り駅付近には、クリーム系のおいしいケーキ屋と、フルーツたっぷりのおいしいタルト屋があるので、おいしいチョコレート屋があるとうれしい。GodivaやLindtはあるけれど、ケーキはなかった。この店にはガトー・ショコラとザッハトルテがある。

ドコモのプランについてくるAmazonプライム: ドコモが提供している、1年間Amazonプライムの料金を肩代わりしてくれる特典が、2021/11/30で終了するようだった。今まで無料体験も使ったことがなかったが、なんとなく試してみている。決済の時に「プライム体験しませんか?」的なページがなくなることは、とてもうれしい。一方でAmazonへの依存度が高まりそうで、とても怖い。

マーカーのないリスト: v9.21.8から雑多な記録の記事一覧などが、リストから段落になった。マーカーのない文字のリストがどうも気になるようになってしまったからだ。合わせて一覧ではあまり必要のない投稿日も削除した。年月の表記がセクションの見出しにあり、十分なんじゃないかと思う。

5時起き: 今年の目標は早起きだった。段階的に5時くらいまで早めることができて、ほぼ達成した。5時に起きるといっても、トイレに行って顔を洗ったら、またベッドで1時間くらい本を読んでいるので、活動的になるのは6時過ぎになる。そうやって起きてから、朝ごはんを食べるまでに1時間くらい空けると、おいしくご飯が食べられる気がする。

ページ・ヘッダーの削除: v9.21.7でページ・ヘッダーがなくなった。ナビゲーションはページ・フッターにすべて移動させた。少し前にdetails要素を使って隠したが、今度は一気に削除してみている。横断的に参照されるようなウェブサイトではないため、それほど重要ではない上、むしろ記事のタイトルや日付の方が重要だとも考えられるので、一番上になくてもいいのかもしれない。ブランディングも必要ない。

Outdoor Researchのウール手袋: 昨冬、気に入っていた手袋を、どこかに引っかけて破いてしまった。その時は冬の終わりで、買い替えずに乗り切った。しかし、今年の冬はそこそこ寒いらしい。そろそろ探しておこうと近所で下見を始め、メリノ・ウール100%で軍手っぽくないOutdoor Researchの黒い手袋が軽くて(36g!)気に入り、数日考えてから買った。定価の5500円だった。

描くひと(世田谷文学館): 漫画家の谷口ジローを回顧する展覧会、描くひとを見に行った。もう亡くなって4年も経つのか。歩くやつが好きだった。世田谷文学館に行ってみたかったものの、あまり惹かれる展覧会がなかったが、谷口ジローと聞いては行くしかない。

墓参り(2021年10月26日): 1年半ほど行けていなかったので、墓参りに行った。家を出る時は怪しい雲行きだったが、うまいこと快晴になった。寒かったので月曜日の予定を火曜日に延ばし、良い目が出た。月に2回も遠出するのは久しぶりだ。

ソニーの55インチ有機ELテレビ(XRJ-55A90J): テレビを買い替えた。17年前のシャープ製32V型液晶テレビだったが、数年前からちょくちょくB-CASカードを挿し直さなければならなくなってしまったので、買い替えをずっと考えていた。買い替え先は、ソニー製55V型有機ELテレビになった。ヨドバシカメラで385000円で、10%ポイント還元と、10/31まで15000ポイントがプレゼントされるので、331500円相当くらいになる。有機ELだ!

vim-css3-syntax v1.9.1: vim-css3-syntaxを更新して、v1.9.1をリリースした。変更点はあまりなく、謎の単位が大量に追加されたくらいだ。1dviとか書かれても、もはやどれが何の略か推測不能だ。正解はdynamic viewport inlineなので、動的に変化するビューポートの書字方向(の1%)ということになる。

ルール?展(21_21 Design Sight): ちょっと見てみたかった21_21 Design Sightの展覧会、ルール?展に行ってきた。7月半ばに行っても良かったが、予約制じゃなかったため見送っていた。8月半ばから予約制になったものの、時期的にアレすぎたので行けず、結局、10月になってからになった。3号館の横尾忠則の肖像画展が終わる前に行けてよかった。

バージョン更新時におけるフィードの検証: フィードを検証するようにした。投稿時にはめったに壊れないはずなので、バージョンを上げた時にのみ検証している。バージョンが上がった時は、生成する仕組みやテンプレートが変わり、壊れたりするかもしれない。数ファイルだけなので、W3C Feed ValidatorのAPIを利用した。

背景色の色相をコロコロ変えると: v9.21.0で背景色の色相がコロコロ変わるようにしていたが、戻した。一部の色相でコントラストが落ちるためだ。コントラストは60(APCAで計算した値で、WCAG 2.1の4.5:1相当)くらい確保できるが、一部の色相で57くらいまで落ちる。機械的にどうにかできるが、大変そうだった。

IKEAのフロア・デッキ: 冬にベランダを交換した。柱や柵はダーク・ブラウンで落ち着いた色だが、床だけが白い。雨の後は汚れが目立つし、夏になったらまぶしいことがわかったので、IKEAのフロア・デッキを敷き詰めた。そこそこぴっちり敷き詰められたので、今のところは満足している。

ワクチンの接種(2回目): 予定通り2回目のワクチン接種を受けてきた。今回は時間ギリギリに行ったので、病院に着いてから20分で帰れ、効率的に接種ができた。他も特に変わりはなく、接種後8時間ほどまでは特に何もなく過ぎる。むしろ腕のだるさなどは前回より楽だった。

オーム電機 停電対応ナイトライト NIT-ASWB4-W: 夜中の災害時用に、停電した時に自動で点灯する照明を探していた。そこそこ見つかるが、人感センサーや明暗センサーで点灯してしまうものがほとんどだ。停電の時以外は真っ暗がいいので、見た目をあきらめ、オーム電機のナイトライトにした。近所で1024円だった。

ワクチンの接種(1回目): 今月の始めに接種券が来たので、すぐに予約し、今日受けてきた。市の集団接種会場の予約は世代で区切られており、該当する世代の予約が始まるまではかなりあったので、すぐに予約できる個別接種にした。個別接種なのでファイザーだ。家から歩いてすぐのところで接種でき、そういう点では良かった。家族の中で最後になり、世間的には順調な部類に入るだろう。

Steps Ahead (アーティゾン美術館): アーティゾン美術館へ新収蔵作品の展覧会を見に行った。新しくなり、名前が変わってから行っておらず、建物や内装を見たかったが、企画展で興味を持てるものがなく、行く機会を逃しているうちに行きづらくなっていた。見たい新収蔵作品がいくつかあったので、タイミングを見計らって、予約して行くことにした。

vim-css3-syntax v1.9.0: vim-css3-syntaxのv1.9.0をリリースした。5か月近く間があったが、今回も大きな変更はない。もう年末にだけリリースするだけでいいかもしれない。

OGPの削除など: Instagramが、ログインしないとまったく見られなくなっていた。これはこれで見なくてすむという見方もあるが、それならアプリに閉じていてほしいと感じる。つのるFacebookへの反感を、OGPを削除することで表明することにした。

NikeのBlazer Low X(ブラック): ちょうど2年くらいになるスニーカーの底に穴が開き始めた。週に3回くらいは履いているので、よくもった方かもしれない。かかとだけ直そうかと思ったが、小指の横あたりで接着がはがれ始めているし、一部割れてもいるので、買い替えることにした。ネット通販で買うしかなさそうなこともあり、交換や返品がしやすいという後ろ向きな理由で、Nike.comで買うことに決め、Blazer Low Xの黒にした。11000円と手ごろだ。

小田急の町: 近所にロマンスカーミュージアムが開業した。電車にはそれほど興味はないが、ロゴには興味がある。ロゴは、ロマンスカーの色を使いつつ、頭文字のRを横に寝かせただけのものだと思っていた。しかし、よく見ると、手前側にくる三角の左下が少し丸くなっており、ロマンスカーっぽい形も取り込んでいるようだった。

style属性にgrid-areaプロパティー: grid-template-areaプロパティーで、識別子を使って特化型のグリッドを作ることが増えた。こういう場合、各グリッド項目に対して、grid-areaプロパティーで名前を付けていくことになる。この名前付けを、CSSファイルではなく、HTMLファイルに書いてしまった方がいいのではないだろうか。

5.5年のアレ: つい最近になって、近所の大型商業施設に、非常時以外にも自由に使える階段があることを知った。隅の方にこっそりあった。三角のらせん階段で、なかなかいい。階段が好きなので、ちょくちょく上ったり下りたりしているが、他に誰も使っていない。

本文でだけハイパーリンク色を変更する手法: 本文だけ、具体的にはmain要素以下でだけ、ハイパーリンクの色を変えたい、というようなことはよくあるだろう。色々なやり方がある。上書きするか、ハイパーリンクごとにクラスを振るのが主流と思われる。セレクターを工夫すれば、すみ分けることもできる。僕は、最近になって、カスタム・プロパティーで切り替える手法に落ち着きつつある。

ch単位の大きさと、欧文フォントを指定した日本語ウェブページ: ch単位は、どのようにその大きさが計算されるのか、という疑問が起こったので調べた。ch単位の仕様では「Equal to the used advance measure of the "0" (ZERO, U+0030) glyph found in the font used to render it.」となっており、微妙な表現だが「『0』のグリフを実際にレンダリングした幅」ということだろう。実装もそうなっているようだった。

No JavaScript(v9.20.3): データの持ち方を変えたりしていた。今までは各ページを生成する時にtimestampから細かい日時の情報を作っていたが、静的に持つようにした。読み終えた本のカバー画像も、ASINと高さと幅を保持していたが、HTMLとして持つようにしてしまった。他はキー名を、RSSに都合がいいようにそろえたりしている。生成するスクリプトやテンプレートがすっきりしただけでなく、全記事の再生成にかかる時間が0.3秒くらい速くなった。

フランシス・ベーコン(神奈川県立近代美術館・葉山館): 神奈川県立近代美術館の葉山館が再開館した。もちろん「フランシス・ベーコン」も再開したので、すぐさま行ってきた。久しぶりに近くて遠い葉山に行った。天気は素晴らしかった。

:not(#not) :not(#not) p: コーディング規約で!importantを禁止されているプロジェクトで、それらしきものを実現しようと考えている。最終的に:not(#not) :not(#not) pというセレクターをひねり出した。ウェブページでは、ブラウザーがhtmlとbody要素を補完するので、すべてのp要素に必ずマッチする。そして、詳細度が2,0,1と、かなり高くなるため、ルールセットが!importantにかなり近い強さになる。

続・密造フォカッチャ: 楽しいので、週一くらいでフォカッチャを焼いている。粉をいろいろ変えているが、「フォカッチャ向け」と書いてあった粉がおいしい。信じることは大切だ。

APCAとそのスコア化: スタイル・ガイドで手軽にAPCAのスコアを確認できるようになった。本文の色を80ギリギリにしてみたが、すぐにやめた。スコア化されてしまうと、意味もなくギリギリまで挑戦してみたくなってしまう。

護床ブロック: 川の段差があるところにこういう水の流れをならすブロックを並べると、川底がえぐれなくなるらしい。「洗堀」と言うようだ。広い川の岸辺にもあるのは、川幅が広がらないようにとかなんだろうか。

本文へ飛ぶ(v9.19.0): 本文へ飛ぶ(Skip to Main Content)を追加した。ナビゲーションの項目が長いので、飛ばせるなら飛ばせた方が、イライラさせずにすむかもしれない。また、ヒーロー画像コンポーネントがなくなった。大きな画像に食傷気味だ。他にもいろいろ変わった。

消防用空地: 駅前の大きなマンションに入居が始まっていた。先月初めの入居ラッシュ時には、エアコンの室外機をいっぱい積んだトラックが来ていたりして、なかなか面白かった。かと思うと軽トラで引っ越ししている若い人たちもいた。タワーマンションだからか、小道を抜けた先に消防用の空地がかなり広くとられていた。住民がテスラを借りられる噂のマンションは、ここなのかな?

ジレット・スキンガード: 2枚刃に減ったジレットのスキンガードを使ってみている。年末にドラッグストアで、替え刃2個付きが800円くらいで安売りしており、前から試してみたかったのもあって、つい買ってしまった。無事、プログライド・フレックスボールの本体に装着できた(ウェブサイトにも互換性があると明記されている)。

ローカル・ファイルでwindow.localStorageが動かないので、簡単なテスト用にどうにかするもの: window.localStorageが実装されているブラウザーでは、セキュリティー上の制限により、ローカル・ファイルでは参照するとUncaught DOM Exceptionを返す。普通のポリフィルのように、それらしきものを作ってやっても、Uncaught DOM Exceptionを返すのは変わらない。いったんdelete window.localStorageしてから、らしきものを作ってやるとうまくいく。

meta要素のname=color-schemeについて: ダーク・モードへ適応するなら、フォーム関連要素の色も切り替えるよう、CSSを書くだろう。しかし、それだけでは、例えばテキストエリアで出てくるスクロールバーが明るいままなので、かなり浮いてしまう。meta要素でname=color-schemeを適切に設定すると、そういったスクロールバーの色も含めたあらゆるものの色を暗く(明るく)できる。

Twitter URIスキームで: Twitterへのミラーを半手動で行うようにした。といっても難しいことはせず、Twitter URIスキームのURLを開き、関連付けに基づいてインストール済みのTwitterアプリを開くだけだ。うまくいっているようだ。あるものは使っていきたい。

Chrome 88やEdge 88でのfont-size: calc(2ch): 利用しているフォントの「0」のグリフ幅によって変わるch単位は、実装されて久しい。これを、font-sizeプロパティーでcalc()やclamp()など計算するCSS関数を通して使うと、Chrome 88やEdge 88で想定より大きくなってしまうバグがあるようだ。Firefox 85やSafari 14では問題なく、またwidthプロパティーなどでなら発生しない。

色(v9.18.0): ついにGoogleが、検索結果ページで暗い背景を試し始めたようなので、ふたたび真っ黒の背景色でダーク・モードを仕込んでおいた。切り替え機能は次のバージョンで再導入される。他に、色を1つ減らしたり、ページ・ヘッダーなどでも未読リンクが判別できるようにしたり、構文強調のカラー・スキームを脱Solarizedしたりした。色関係で変更が多い。

腕時計の電池交換と、スマートウォッチの検討: 腕時計の電池が切れ(てい)た。およそ2年で切れたようで、やや早めくらいだろう。なんとなく新しい腕時計を買おうかと、いろいろ見てみたものの、腕時計にそれほど依存していないし、他にSwatchもあるので、欲しくてたまらないというほどにはならなかった。結局、近所で電池を交換した。

エアコンのガスから電気による運用費の変化: 去年の9月にガス暖房のエアコンから電気暖房へ買い替えをした。機能的な点は不満なく動いていて、すぐ暖かくなるし、まんべんなく暖かくなっている。寒くなった12月の半ばから、暖房をよく使うようになったため、ガスや電気への、おもに金銭面での影響がはっきりした。

WSL2のためのポート・フォワーディング: WSL2でネットワークまわりが変わった。ローカル・ネットワークの他のコンピューターから、WSL2の仮想マシンで立てたウェブサーバーへ気軽にアクセスしようとすると、ポート・フォワーディングを設定しなくてはならない。WSL2でUbuntuを使っているなら、hostnameコマンドを使うとIPアドレスだけがわかるので、これとnetsh interface portproxyコマンドを使って、バッチファイルを書く。

右にあるハンバーガー・ボタンの、メニューと文字の寄せ方向: ハンバーガー・ボタンが右にあるなら、ウェブサイトのナビゲーションも右に出てきた方が、近くていい。また、両者が共に右にあるなら、ナビゲーション項目の文字も右に寄せるといいかもしれない。こういった仮定の下、右にハンバーガー・ボタンがあるウェブサイトを探していた。いくつか挙げておく。

密造フォカッチャ: 材料をタッパーで混ぜ、一晩寝かせ、朝に焼く、それだけのフォカッチャのレシピを教えてもらった。本当に混ぜるだけですごい。朝起きて、やわらかい生地を整形してたらすごい楽しくなったし、オーブンで焼いているところはずっとながめていられる。おいしそうな写真は省略する(撮ったものの湯気で失敗していた)。

セイコーの安い掛け時計(KX249B): かなり長い間使っていた掛け時計が、電池を変えても1日に30分くらい遅れるようになった。しばらく掛け時計なしで生活してみたが、掛かっていたところをつい見てしまうので、改めてスマフォなどを見る羽目になり、とても面倒くさい。2か月くらい我慢すれば慣れそうだが、それほどのことでもないので、買うことにした。カチカチしないのと、数字が1から12まであることを条件にして、セイコーのKX249Bにした。ヨドバシカメラで4760円だった。

ナビゲーションの中身: ハンバーガー・ボタンでウェブサイトのナビゲーションを展開させると、いわゆる「メニュー」としての性格が強くなる。ならば、アプリケーションのメニューのように、あらゆるコンテンツへのアクセス手段が含まれるという暗黙の了解があるのではないか? そうだとするとメール・アドレス、ライセンス、RSS、ソーシャル・メディアへのリンクも含まれていた方がいいかもしれない。

Need Ray Knee Each: 2021年が明けた。今年の酒は泉橋酒造のとんぼスパークリングだった。辛めで、香りが強くなく、おせちにはいい。栗きんとんは去年の出来を再現できなかったが、水は出なかったので、悪くはなかった。田作りは再現でき、ポリポリおいしかった。

ハンバーガー・ボタンのメニュー(v9.17.2): ロゴの右にちょこんとあるハンバーガー・ボタン(やその左の空間)を押すと、ページ・ヘッダーのウェブサイト・ナビゲーションを切り替えるようにした。details要素を使っている。HTMLにかなり手を入れた上で、ちょっとCSSを書いたくらいで、スクリプトは書いていない。キーボードでのアクセス性は悪くなさそうだし、おおむね問題なく操作できそうだ。v9.17.0からこうなったが、いろいろ直したので、すでにパッチ番号が2つ上がっている。

import.meta.urlの利用: npmが仕込んでくれる環境変数のNPM_PACKAGE_VERSIONなどを参照するために、CSSファイルをコンパイルするスクリプトなどがちゃんとした実行ファイルになるよう、手元で書き直していた。ES modulesで書くようにしてからrequire("../package.json")などが使えなくなったため、無理やりpackage.jsonを読んでいたのが気になったからだ。でも結局はimport.meta.urlを使って、package.jsonを読むよう、さらに書き直した。

HTMLファイルの定期的な検証: たまに変なテンプレートを書いてしまっていて、HTMLがおかしくなったりする。今回は<a href="/statuses/"">と、引用符が重なっていたりした。しかし、テンプレート・ファイルが小間切れである以上、編集時に行うことは難しいだろう。やはり定期的に生成されたHTMLファイルを検証することになる。まずは、バージョン番号を更新したタイミングで、一部を検証することにした。

MN(2020年12月18日): 思い出したようにMNを更新した。Xanh MonoとSyne Mono、そしてJetBrains Monoが追加されている。Xanh Monoはめったにないセリフの等幅で興味深い。こういうCourier風でないセリフの等幅は、東アジアには需要が多いのか、これもベトナムの人が作ったらしい。Syre Monoはよくわからないけれど、このファミリーのRegularのパスを歪めて作られたもののようだ。

2020に完結してしまったマンガたち: 今年は読んでいたマンガがよく完結した年だった。制限を設けないといくらでも買ってしまうので、20シリーズ前後までしか追いかけないようにしている。その1/3以上になる8シリーズが終わってしまった。

ベースラインの復活(v9.16.0): min-device-pixel-ratioクエリーを使ったmedia属性ハック、@supportsを使ったすっぴんの刑、そしてカスタム・プロパティーを利用したプログレッシブ・エンハンスメントを2周繰り返してみて、やはり段階的にスタイルを適用することにした。HTMLに波及しないCSSの書き方が安定した文書に必要なこと、そしてベースラインという概念がウェブサイト制作者に重要なこと、これらへの思いに基づく。思想的な選択であって、実際的な選択ではない。

Google Domainsとアカウントのロック: このウェブサイトのドメインはGoogle Domainsで管理している。以前使っていたGandiからは管理画面の不具合をきっかけに移管した。クレジットカード決済情報を預ける支払先が減らせるという理由で、使い続けている。もしGoogleアカウントがロックされた場合、巻き添えでこのドメインも失うのかもしれないと、不安になった。実際にはどうなるのだろう。

v9.15.2からv9.15.4まで: 既に書いたが、既定ブランチ名を変えた。年末恒例のLintルールの見直しをしたり、テストを走らせる時にPrettierを通したり、生成された公開ファイルも通すようになったり、よくわからない作業をしていた。他だとヒーロー画像のコンポーネントが復活した。ので、意味もなく使ってみる。

GitHubの既定ブランチ名を変更すると……: masterブランチでGitHub Pagesを運用していた場合、既定のブランチを変更するだけでなく、GitHub Pagesの割当先ブランチも変更しなくてはいけない(Settings→GitHub Pages→Sourceにある)。僕はこれに思い至らず、まんまとやらかした。既定のブランチ名の変え方は、既に数多く書かれているので、ここには書かない。

Chipolo One (白): Chipolo Cardのバッテリーが怪しくなったので、新しくChipolo Oneの白を買った。Cardのバッテリー交換プログラムは、面倒な割にそれほどお得じゃなかった。やはり自分で電池交換ができる方がいい。東急ハンズで3960円だった。

トライアローグ(横浜美術館): 横浜美術館へトライアローグを見に行った。ここはこの展覧会が終わると改修(2年間!)に入ると聞いたので、あまり惹かれなかった内容だったが、見ておきたかった。近場でお出かけ欲を満たせそうという目論見もあった。展覧会は現代美術の教科書のような構成で、時系列で作品が並んでいるだけと、面白くはなかった。それでも好きなフランシス・ベーコンが2つ見れたので十分という感じだ(感想はこれで終わり)。

vim-css3-syntax v1.8.0: 無変更が多いものの、仕様の更新が二桁になったので、vim-css3-syntaxのv1.8.0をリリースした。新規追加はCustom Highlight API Module Level 1で、::selection疑似要素などを置き換えた上で、スクリプトから扱いやすいようにし、マルチカーソルにも応用することなどを想定しているようだ。

ヘッダーの調節と薄いベージュ(v9.15.1): ヘッダーに置いていた「ウェブサイト内の検索」というラベルはさすがに長すぎた。これを「検索」に戻すと同時に、スクロールすること以外にたどり着く術がなかったウェブサイトの案内セクションへのリンクと組み合わせて、丸ごと置き換えることにした。ロゴ、主要ナビゲーション、補助ナビゲーションと分離したつもりだ。

昼ごはんとタンパク質、焼きそば: テレビでアラビアータを作っていたのを見たら、食べたくなったので昼ごはんに作った。料理の写真はない。本当は翌日に作りたかったが、白いシャツの日だったのでやめた。トウガラシの種を入れ、タマネギを炒めないところは、見ていた男子ごはんのレシピを真似した。ガーリックオイルを別のフライパンで作るのは、洗い物が面倒なので飛ばす。缶詰のトマトではなく普通のトマトをさいの目に切って作った。おいしいが辛かったので、次回はトウガラシの種を少し減らそう。

押入れの整理: 秋も終わりで、掃除の季節だ。押入れを空にして、掃除していたら30円出てきた。今年はほとんど小銭を使っていないのに、なぜか出てくる。着ていないスーツも虫干しのついでに、着て外出したりした。

2020年の新米: 新米を何種類か食べた。炊飯器が変わったこともあって、例年よりおいしい。山形のつや姫、福井のいちほまれ、鳥取の星空舞、そして地元のはるみの4種類だ。どれもおいしいが、いちほまれが一番好きかもしれない。おやつにおにぎりを作ってしまう。

白の維持とWindows 10でダーク・モードを有効化するショートカット(v9.14.10): 予定通りにヘッダー項目を増やしたりしたが、色は白を継続した。マークアップが変わっていたりもするが、特にCSSは変わっていない。薄いベージュは落ち着くので戻したかったが、Night Shift (または夜間モード、おやすみモードなど)で色温度を変えているユーザーのことが気になっていたことを忘れていた。どう感じるのかどうか、よくわかっていない。黄色くなりすぎと感じることはなさそうだが、思ったよりも暗い印象を持ちそうで、それは意図していない。

リポジトリー・サイズの減量: 静的で二度と更新されないものを切り出して、別に管理するようにし、リポジトリーのサイズを9MBくらいに減量できた。具体的には特集や画像、そしてテスト用ページ群が切り出されている。主な理由はVS Codeのエクスプローラーでファイルを見つけやすくするためだ。ワークスペースの設定で隠しても良いが、管理下なのに見えないといろいろ間違えそうなので、管理下のファイルをできる限り減らす方向で行った。

縦並びヘッダー(v9.14.9): ヘッダーのナビゲーション項目が縦に並ぶようになった。前バージョンでラベルを長くしたので、横並びだと狭い画面で折り返され、うまくおさまらない。縦に積めば、この問題は発生しなくなる。またラベルの長さが不規則なので、右の余白にゆらぎが生まれ、きっちりしていない雰囲気がうまく出ている気分になった。もうひとつくらいは項目を増やせそうなので、特集の項目を追加する予定だ。

Aero Launcher: Aero Launcherというランチャー・アプリを使ってみている。左寄せだ! ホームを0から10個のアプリ名だけにするというもので、他に機能はほとんどない。四隅にちょっとした独自ウィジェットを置けるくらいだ。左へスワイプでアプリ一覧を開けるので、ジェスチャーナビゲーションと競合せず使いやすかった。

グランベリーパークふたたび: 散歩と気分転換、そしてソファー探しを兼ねてグランベリーパークに行った。もうすぐ1周年になるらしく、そうなると込みそうなので、その前にした。駅はそうでもない雰囲気だったが、パークはなかなかの人だった。去年の開業直後よりはマシだったものの、11時で既に食べ物屋は行列だった。

戸別回収一年: 燃やせるゴミの戸別回収が、去年の9月の終わりから始まったので、1年が過ぎた。今やもう全部戸別にしてくれという感じで、堕落するのは早い。ゴミ捨て場までほんの1分だが、戸締りを気にしなくていいとか、パジャマのままでもいいとか、様々な利点があることがわかった。

ソファ探し: 居間のソファを買い替えよう、という話になっている。高いというか値段に幅がありすぎるので、迷うまでいかない。メーカーの中で値段に幅があるなら(例えばスマートフォンみたいに)、まずメーカーを選んで、その中から選べばいいが、そうもいかない。いろいろな店で見て寝て座って、どういうものが好きなのか具体的に決めなければならない。そこから家族の合意を形成し、さらに色を選ぶことになる。先は長い。

色を無指定に(v9.14.8): 色を変えた。白背景に黒文字ではなく、一時的に無指定にしている。ハイパーリンクも既定のままになっているが、ヘッダーとフッターでのみ文字色と同じにした。無指定だとあらゆる色のモード(ハイ・コントラスト設定やダーク・モード他)に自動でうまいことやってくれるかと思いきや、そうでもないことがよくわかる。白背景にするにしても色を指定した方が色々と無難そうだ。

3:2は快適: 雑なWindowsおすすめ記事を書きそうになった。僕はおおむねWindowsユーザーなので、散見されるMacからWindows機への乗り換えのような人たちには、この視点でのおすすめは役に立ちそうもない。あえて言うのなら、Surface系の3:2のディスプレイはとても快適で、16:9は避けることくらい。高価格帯では16:10が主流になりつつあるので、あまりやらかさなさそうではある。

SurfaceではEdge: 相変わらずSurfaceではEdgeを使っているし、PixelではChromeを使っていて、iPadではSafariを使っている。最近はそれぞれで見るウェブサイトが違うので、ブラウザーの履歴が共有されても役に立たないし、バラバラでも困らない。ログイン情報も、それぞれに必要なものだけを記憶させておけばいいし、いざとなったらKeePassを使う。

こういう記事の書き方、とっちらかった記事、ファイル名が面倒: 3文くらいで終わるメモをバンバン書いていき、10くらいたまったら3つ選んでちょっと長くし、記事の下書きにするというスタイルで、こういう記事は書いている。長いことメモにはGoogle Keepを使っていたが、今はメーラーの下書きを使っている。プライベートな傾向が強いメモだった場合はのちに焼却処分される呪いの書(紙のノート)に写して消す。うっかりしたことを書きがちなので、こういう風に2クッション(メモの状態と下書きの状態)くらい挟むことにしている。

下村企販の小さなうがいコップ: 歯磨き用のコップがついにダメになった。匂いがつきにくい陶製やガラス製で重いと洗面台を割りそうだし、プラスチック製から気分を変えたかったので、ステンレス製で探すことにした。安いのでプリン・カップとかでもいいかと少し考えたが、丸みを帯びた形が魅力的に見えたうがいコップとして売られている下村企販のものにした。891円だった。

蔦屋図書館の物販、ゲーム機、マンガ・シリーズのまとめ: 蔦屋図書館にはスタバもあるが、物販もある。二子玉川の蔦屋家電と比べるとささやかなものだが、たまに興味深い。今は発酵コーナーがあり、山梨でよく見る大麦入り合わせ味噌が売っていた。いくらくらいで売っているのかと値札を見たら「文房具」と書いてあり、それにフフッとなってしまって、肝心の値段を見なかった。

ロゴとか見出しとか: ホーム・ページでのロゴの位置を変えた。他のページと同じになり、スカスカ度が下がった。もうちょっとスカスカ度を下げたい気分の巡りになっている。余白を全体的に1段階落とし、ロゴとナビゲーションを左右分割に戻すくらいで落ち着くはずだったが、そこまでやったらやりすぎな気がしてきたので、ロゴの位置を変えるだけで終わった。

衣替え、ZOZOTOWNの買取サービス、ブログロール: 週間天気予報で最高気温が30度を超える日がなくなったら、秋への衣替えをすることにしている。ということで連休前に衣替えをしたが、今回は正解だった。冬への衣替えは最低気温が10度、春へは最高気温が20度、夏へは最低気温が20度だ。衣服は気温に対して調整するもののはずなので、理にかなっていそうだが、湿度と天気を考慮していないので、失敗しがちでもある。

無印良品での取り寄せ、シャンプーブラシ、日付の位置: 無印良品の角型ハンガーの補修パーツを、最寄り店舗で取り寄せた。170円のものを取り寄せるために、店員を10分くらい占有してしまい、とても申し訳ない気分だ。オンラインショップでは買えるが、配送料が200円でモノよりも高い。また店舗受け取りも一部の店舗でしかできない。どうにかならないものかな。

ダミーテキストをどう作るか: ウェブサイトを作っていると、どうしても様々なタイミングでダミーテキストを必要とする。定番のLorem Ipsumで済ませることも多いが、漢字やひらがなとアルファベットではグリフの密度が違うため、余白のバランスが大きく変わるなど、問題も多い。しっかりと書かれた日本語の文章を適用した、完成品に近い物では思っていたのと違う結果になってしまうこともあるだろう。

黒田清輝通り、昔のTwitterでのログ、IFTTTのProプラン、話題を羅列するパターン: 一時的に昔のTwitterでのツイートを近況ページに含めるようにしていた。JSONとして扱っても、Mustacheテンプレートとして扱っても、HTMLの生成が遅くなってしまう。どうしようもないので、分離するように戻した。ちゃんと年ごとにページを分割することも考えないといけない。また、そうすれば2年以上前のデータをJSONで持っている必要もなくなり、生成速度が向上するかもしれない。

三菱電機のIH炊飯ジャー: 炊飯器で悩んでいたが、開くボタンが前面にあるところを妥協して三菱電機のNJ-SEA06-Wにした。近所のヤマダ電機で税込み20680円まで下がっていたので即決だった。ノジマのポイントはどうしよう。

写真ページの削除、日本語のラベル、財布: 写真ページを削除し(てしまっ)た。スマフォで撮った写真は、記録やコミュニケーションに向いていて、個人ウェブサイトのような場所での自己表現には向いていない気がする。画質とかではなく、心構えとして気軽に撮りすぎるというような、撮る前の段階で向いていない。一眼レフでも買ったら復活させようと思う。それでも写真を載せたくなったら(このように)記事を書く。

東京モダン生活(東京都庭園美術館): 久しぶりに電車に乗った。久しぶりに東京へ出た。久しぶりに展覧会に行った。どこへ行くか迷ったが、東京都庭園美術館(旧朝香宮邸)で毎年やっている邸宅再現の展覧会、東京モダン生活にした。前に行った時は庭しか見なかったので、今度は中を見れてうれしい。

エアコンの設置、炊飯器の開閉ボタン: エアコンの工事が終わった。3時間くらいかかるかもと言われていたが、1時間強でササっと終わった。見た目がすっきりしたし、配管が見えないし、電源ケーブルを這わせずに済んだし、いろいろとぴったりおさまってうれしい。快調に動いている。

福山ゴム・カルサーワンM-1: 長靴を買った。真っ黒。幅広。軽い(片足300g)。庭作業や雪かき程度には向いてそうだが、ふくらはぎの部分は薄いので、酷使したら早々にダメになりそうだ。3080円と安いので、そんなものだと思う。

エアコンの買い替え: 古いリビングのエアコンが壊れないまま、夏を乗り切れたので、安そうな9月に買い換えた。暖房がガスのエアコンで、ガス管の切断(?)と隠ぺいも事前に行わないといけなかったり、設置作業のために一時的にカップボードを動かさないといけなかったり、事前の準備が大変そうで、げんなりしている。工事はもうちょっと先だが、一気にやってしまうしかなさそうだ。

ロケーション履歴、Androidのランチャー、Pixel 4a: Googleマップのロケーション履歴(タイムライン)を、3か月だけ有効にする状態を続けている。ウェブとアプリのアクティビティが無効な場合、訪問先の編集ができない。そのまま放置していても20日後には確定されていくようだった。そのため行ったことのない訪問先が少しずつ増えていく。商業施設内のヨガ教室とか。

並行実行数の制限: Windows 10上のNode.jsだと、Promise.all()で3000以上、並行にファイルの読み書きを実行しても完走できる。対してWSL上だとLinuxの設定次第になり、デフォルトだと1024(多分)を超えると落ちる。Linuxの設定を変更してもいい(らしい)が、WSLの性質上、シェルやアプリケーションの設定以外にはなるべく手をつけたくない。となると並行実行数を抑える必要があり、配列を分割しなくてはならない。

プロダクト・デザイナーの本: 集中して、いくつかプロダクト・デザイナーの本を読んでいた。あまり得るところがない。エッセイとして仕上げられたものが多く、どうしても経験則にかたより、デザイン哲学みたいなようで、特に根拠がないフワッとした主張の文章に終わりがち(主張には根拠があるが、そこまで書けない)だ。第三者による評論を読んだ方がいいと思うが、プロダクト・デザイナー、しかも日本のとなるとなかなかない。

2020の盆: 寝る→食事を作る→食べる→買い物に行く→食事を作る→食べる→本を読む→食事を作る→食べる→本を読む→寝る。これの繰り返しで、すこぶる快調だった。読書用に籐の椅子が欲しくなっている。

公園のベンチ、三密、石膏ボード用どこでも下地ベース: 左側の木の陰に、いつかベンチを置きたい。ベンチはいくつかあるものの、木陰じゃなかったり、道路のすぐ脇でうるさかったりと、ゆっくりできる位置じゃない。

10行分のアフィリエイト画像: 少し前の記事は久々のアフィリエイト記事だった。以前はアフィリエイト画像をfloatプロパティーで右に寄せていたが、今は幅いっぱいに10行分の高さで表示されるようになっている。右に寄せると狭い画面で更に本文が狭くなるし、狭い画面で狭くならないようにするには複雑なCSSコードを書く羽目になるので、こういう形に落ち着いた。

アシナガバチの巣: 家に、ハチが久しぶりに巣を作った。いつものようにアシナガバチだ。今回は雨戸の戸袋脇で、玄関から近く出入りが危険になりそうだった。出入り口にわらわらいたら困る。悠長に写真を撮ったりして刺されたらバカバカしいので、見つけた後は近づかないようにし、その日の暮れに自分で駆除した。

Amazonベーシックのヨガマット: 筋トレに使っていたニトリのコルクマットがボロボロになってきたので、ヨガマットを買った。ヨガマットのようなものを買うのは初めてなので、まずは安価なAmazonベーシックのものにして、不満があったらスポーツ用品メーカーのものにしようと考えていたが、Amazonベーシックのもので満足した。1890円。

色相を変えるスクリプトの間引き: スクロールで色相が変わる機能がちょっと変わった。連続で変わらないよう、2000ミリ秒待つようにした。発火時間はentries[0].timeで取得できるので、低コストで待てる。同じコードで、再読み込みした時や戻った時にスクロールが起きて色相が変わるのも抑制できた。このtimeについては、その基準がtime originとしてHigh Resolution Time Level 2仕様で定義されている。

参照と写真ページへの機能追加: 参照ページにURLを投稿する時に、コメントをつけるようにした。読んで記憶するにはやはりコメントをつける必要がある。Delicioousやはてなブックマーク、Pinboardを使っていた時のコメントを消してしまったのが悔やまれる。なぜ消したのかは思い出せない。エクスポートしたデータを探しているところだが、見つかる気配がない。

富嶽三十六景・相州仲原とネットワークプリント: 去年、北斎美術館へ行った時から、大山が描かれている富嶽三十六景・相州仲原のポスターが欲しかった。あまり売っていない。ネットワークプリントでA4の光沢紙が使えるようだったので、Wikipediaから幅3000の画像データをダウンロードして印刷し、欲しいという思いをとりあえず消化した。

オンマウス、ボタン、コントラスト: オンマウスでボタンのコントラストを上げるために色を増やすのは嫌だなと考えていたが、filterプロパティーが簡単そうだ。色モードの変更にもそのままで機能する。ボタンの背景色が白や黒でない限り、汎用的に使える。

色モードの切り替え: Windows 10では「アプリ モード(App mode)」、Android 10では「ダークモード(Dark Theme)」、macOS 10.15やiOS 13では「外観モード(Appearance)」と、それぞれ呼ばれている色モードを尊重しつつ、ユーザーの好みで明るくも暗くもできるようにした。どう実装すると効率的かを考えたかっただけなので、次期マイナーバージョンでは消える。

日本語のランダムな文章、水害時の避難: しばらく前から、この雑記記事をソースに、英数字混じりで日本語のプレースホルダー文字列を生成するツールを使っている。段落かリストを指定数だけ生成する。段落なら3から8文、リストなら3から8項目がそれぞれ生成される。そこそこうまく機能するが、読んでいて恥ずかしくなってくるのが辛いところだ。ウェブで試せるページも作った。恥ずかしい。

カスタム・プロパティーとCSSアニメーション: 本当は色相を徐々に変えたかったが、今の書き方のCSSとこの実装ではうまくできなかった。色をスクリプトで作ってやれば可能だが、カスタム・プロパティーで管理できなくなるので見送った。どう書いてうまくいかなかったか、の記録を残しておく。

スクロールで色相を変化: 秒数ごとに変えていた背景色を、スクロールするとランダムに変わるようにした。雑記ページやスタイル・ガイドで、思う存分試せる。背景色の明るさは変わらないので、そんなに目に負担はかからないと想像しているが、本当のところはわからない。

体温の計測、余裕、長靴: 体温を毎日測るようになってしばらくになる。結果は36.3から36.8度くらいで、ずっと安定している。あまり意味がないような気もしているが、心の平穏には少し役立つ。

模造紙風の背景色: ユーザーがアクセスした時間に応じて、背景色とハイパーリンクの色が変わるようになった。10秒おきに再読み込みすると変わるのが確認できる。模造紙のような色で、ちょっと懐かしい。すぐ飽きて戻すと思うが、現時点では気に入っている。緑(105度)と紫(285度)が見やすいと思う。

墓参り(2020年6月24日): 墓参りに行けた。雨が降らなそうだったので、前日に電車を予約して行ってきた。チケットレス割引のキャンペーンをまたやっていたので、片道720円だ。家を出る時にはまんまと雨が降っていたが、そのあとは順調だった。盆地は暑い。

clamp()関数における最小値と最大値の競合: 使われるプロパティーや式の書き方によって、clamp()関数の最小値が最大値を上回ってしまう場合がある。そのように競合した場合は、必ず最小値が勝つ。min-widthとmax-widthプロパティーが競合した場合と似た挙動になる。

Windows Terminal向けVS Code Dark/Lightカラースキーム: VS Codeの配色テーマでSolarized Lightを使っていると、このウェブサイトがグレーに見えてしまうので、最近はLight+を使っている。Windows TerminalではまだSolarized Lightを使っていたが、同じにしたくなったので、Light+(とDark+)を地道に移植したものを使うようにした。

GitHub Packagesと.npmrcファイル: 興味があったのでGitHub Packagesを試してみている。node-css-mqpackerを復活させて、公開するところまではできた。ヘルプの通りでうまくいったが、.npmrcファイルで気になるところがあったので、メモを残しておく。

輸入ものの果物、図書館の再開、オックスフォードのパジャマと盛夏: 防腐剤まみれのグレープフルーツを食べている。地元のスーパーで、果物の品ぞろえが回復しない。いつまでもリンゴが売っていたり、イチゴも売っていたりする。安定しているのはグレープフルーツ、オレンジ、キウイやパイナップルなどの輸入ものばかりだ。ようやくスイカは出てきたが、スイカはあまり好きじゃない。メロンもあるけど、安くなっても高い。早くナシやモモを食べたい。

左寄せ(v9.10.0): 左寄せになった。ついに。他には、ロゴを反転させて左端にくっつけるようにしたり、ファビコンを微妙に小さくしたり、ナビゲーションだけ幅を広く使うようにしたりした。内部的には、CSSのファイル名がindex.{{version}}.cssになったり、色変数の命名規則がマテリアル・デザイン風になったりしている。

墓参り予定: 春の墓参りにタイミングを計って行こうと考えている。毎年、4月か5月に行っていた。20日以降にサッと行けるといいし、行けそうな雰囲気ではあるが、梅雨の最中というのもあって、なかなか踏ん切りがつかない。などと書いておけば、行かなくてはいけない気分になるかもしれないと思った。

散髪、カワイスギクライシス、ローソンの新パッケージ: 昨日は朝一で散髪に行った。2か月半ぶりくらいだったのと、暑くなってきたのとで、すっきりした。また坊主には踏み切れなかった。このままだと辞世の句で「坊主にしてみたかった」と詠む羽目になってしまう。

レジ袋、ストーカ式焼却炉、プラごみ輸出: レジ袋が話題になってきた。僕にはこの周辺での行動の方針はまだ見えていない。しかし、最低ラインは引いていて、それはなるべく廃棄物を減らしたいというものだ。所属する自治体が、ごみ袋を指定化・有料化してしまったので、レジ袋に使い道がほとんどない。つまり、そのまま捨てることになるため、それはやりたくない。

Chrome 80前後での折り返し: このウェブサイトの文章が、最近のChromeでは、よくわからないタイミングで折り返しされるようになった。どのバージョンからかは正確に記憶していないが、Chrome 80前後からのようだ。そこじゃないところで折り返される現象で、2つ目のツイートの画像だと、1段落目の1行目や、2段落目の4行目、3段落目の3行目あたりで発生している。

減スクリプト: JavaScriptを減らした。雑記ページにある検索機能は、DuckDuckGoにするためだけにJavaScriptを使っていたが、あきらめてGoogleにした。サイト内検索をする際にドメインを指定するパラメーターが思い出せず、15分くらい検索した。as_sitesearchだった。

5月の金遣い、散髪予定のスヌーズ、祝・図書館の再開: やはり5月は金遣いが荒かった。食べ物や酒で、いつもの月より倍近くかかってしまった。体重はともかく、体脂肪率が少し増えてしまった。毎日歩く日々に戻らないと、なかなか難しそうだ。

clamp()関数より、まずmin()とmax()関数を: いろいろとclamp()関数を書いてみて、なかなか書きづらいことがわかった。対してmin()とmax()関数は、単なる比較に過ぎないためか、段違いに書きやすい。まずはmin()とmax()関数、そしてそれらのネストで書く。そして、差し替えられるものだけclamp()関数で書き直すと、頭の中を整理しながら書ける。

vim-css3-syntax v1.7.1: あまり大きな変更はないが、そこそこたまってきたので、vim-css3-syntaxのv1.7.1をリリースした。新しく追加された仕様は、CSS Box Model Module Level 4とCSS Box Sizing Module Level 4の二つだ。間違えたので、すでにパッチ・バージョンが出ている。

何かを「ハカル」もの: 今年に入って、気づくと「ハカル」ものをいっぱい買ったような気がする。体温計は家族ごとに、温湿度計も増やして居間と各寝室に置いた。血圧計を新調したり、腰回りや胸囲用の布メジャーも買った。汁ものの塩分量を調べるスプーンや、500mlまでの計量カップも買った。

1か月ぶりの本屋: 今日はひさしぶりに、棚に並んだ背表紙をだーっとながめたり、文房具をながめたりした。雑誌の立ち読みをためらう程度には、まだ日常感に欠ける。

clamp()関数を使った基本フォント・サイズの決定: calc()やclamp()関数など、CSSの計算式では、100vwなどから%をうまく作れない。そのため、%の基本フォント・サイズを描画領域に応じて決定することは難しいと考えていた。しかし、%を作れなくても、100%にピクセルを加える形でもいいことがわかった。そこで、最小で100%、最大で125%、その間は描画領域のサイズに応じてなめらかに上昇するという形の実装を、clamp()関数を使って行った。

無印良品のオックスフォード・パジャマ: 春と秋に着ていた二重ガーゼのパジャマの袖がぼろぼろになったので、ようやく買い換えた。なんとなくオックスフォードにしてみたが、二重ガーゼより好きかもしれない。さすがに夏は無理そうなので、これも春と秋に着る。

写真へタイトルがつくように: 写真ページに投げ、Twitterに流している写真にタイトルをつけるようにした。フィードやTwitterでは、やはりタイトルがあった方がいい。写真ページではtitle属性に仕込まれているだけなので、どのように表示されるかは、実装に依存する。過去のものにあらためてつけてはいないが、やるつもりはある。alt属性の値相当のものをつけることも考えたが、それは先送りした。

紺紺白紺紺白: 普段着のTシャツは、去年の6枚ローテーションから変わらない。ビーフィーの紺がさすがにダメになってきたので、United Athleの安いやつに買い換えた。灰色のも襟がヨレヨレになったので、ちょっと奮発してNN07のポケット付きTシャツにした。

複雑なフォーム: ここ数か月はネットストアをよく使っているし、後学のために開業したてのネットストアをよく見ている。いろいろとフォームをぽちぽち埋めていると、複雑なフォームでちょくちょく問題が起きる。「ふりがな」と書いてあったのでひらがなで入力したら、カタカナを要求されたのは、まだかわいい方だ。住所で「戸建てなどマンション名がない場合は『なし』と入力してください」というのを初めて見た。

必要なCSSのみインライン化: CSSをインライン化するやつを復活させようと考えていた。前に書いたnode-inliningは、HTMLメールのためだったので、style属性にコピーしていた。また、2年半くらい前の実験では、丸ごとインライン化するだけだった。今回はHTMLファイルごとに必要なCSSのみをインライン化してやろうとしていたけど、結局のところ見送った。

Twitter復帰後の感想: 僕のTwitterは、一昨年の年末にアカウントを削除して、去年の年末にここでの更新を流す媒体として復活させ、4月くらいに(さみしくなって)フォローも再開した。その後、前はあんなにも嫌だった時系列じゃないタイムラインが、それほど嫌じゃなくなったことがわかってきて、なんでだろうと考えていた。

見出しの後ろにくる空白の調整: 見出しの前には大きく空白があると読みやすいけど、見出しの直後に段落がくる場合は詰めたくなる。ウェブページでは、対応するmarginプロパティーの値を0にするだけで終わりにしてしまいがち。この詰めをちゃんと計算するとしっくりくる、かもしれない。

下村工業のパンナイフ: パン切りナイフの切れ味が鈍りはじめて、はや数年がすぎた。使っているやつは僕が生まれる前のものらしく、研ぎなおしに一度失敗してもいるらしいので、買い換えることにした。店で見ても、形もいろいろ、値段はピンキリで、よくわからない。Amazonで他に買い物があったついでに、勘で下村工業のものにした。2168円だった。

さよなら、Google Closure Compiler: 依存パッケージの更新を、npm updateですませたい。けれど、Google Closure Compilerでちょくちょく引っかかる。そのうちバージョン番号のつけ方を変えるだろうと待っていたけど、変える気がなさそうなので、ついにあきらめた。

左寄せまであと少し: ちょっと前に左寄せにして、すぐ戻したけど、裏でずっと左寄せにしようとしていた。理由はいくつかあるけれど、一番大きいのは、真ん中寄せ以外をやっていなさすぎて、左に寄ったウェブページの正解が、まったくわからなくなりつつあるから。

min()やmax()、clamp()関数での単位なしの0: ようやくmin()やmax()、clamp()関数が、安定して使えるように揃った。で、いろいろ試していたんだけど、値に<length-percentage>を要求するプロパティーで使う時、その中で0を使うことができなくてハマった。なので0pxや、短くしたいなら0%や0Qと書かないといけない。calc()関数での制限と同じ。

article要素を削除すると……: いわゆるリーダー・モードの類が、うまく機能しなくなったり、うまく検知されなくなったりする。また、article要素を特別視するクローラーは検索エンジンをはじめいくつかあり、それらの解釈が安定しなくなる。他に、単純にHTML要素の入れ子構造が大きく変わるので、CSSやJavaScriptで扱いにくくなる。

HTML Best PracticesのREADME*.mdを生成する仕組み: Markdownを普通に書いて済ませていたHTML Best Practicesを、プラクティスごとにファイルに分割した。といっても一覧できないと読む気が起きないと思うので、簡単なスクリプトでREADME*.mdを生成している。主な目的は目次をちゃんと安定した形で作れるようにするためと、小さな文書群をがばっと生成する仕組みの実験のため。

パンのお取り寄せ: 都会に行けないので、おいしいパンに飢えている。近所にバゲットやカンパーニュがおいしいパン屋は見つけていない。ポンパドウルとセブンブレッドにはもう飽きた。ということで、パンをお取り寄せした。写真のパン・オ・エスプレッソ(コーヒー豆入り!)と、カンパーニュ、パン・オ・ノア(クルミ入りパン)。

雑記記事からarticle要素を削除: 雑記記事(このページとか)でarticle要素を使わないようにした。他のインデックス・ページでタグラインが入っているところに雑記記事のタイトルが入り、main要素にitemprop=articleBodyを割り当て、その直下に記事本文がくる。

フォロー中を参照ページに追加: Blogrollのようなものを作るだけだったのに、作業がとりとめなく広がってしまった。一時、こっちじゃない方のドメインで公開したけど、あそこではないような気がしたので、まずは参照ページの一番最後にずらっと置いた。並び順はHTMLが生成されるたびにシャッフルされる。

一番近い色名: このウェブサイトの色をちょっと変えて、hsl()などでカンマを抜いて指定するようにしはじめた。でも、ベースラインの色はカンマ付きのままじゃないといけないので、こうすると一貫性がなくなる。ツールでどうにかすると簡単だけど、手軽に確認できなくなるし、なるべく避けたい。ベースラインでは元々正確な再現を目指していないので、近い色名を利用することにした。目で近い色を探すのは大変そうなので、機械的に探せるように、あわせて色入力フォームで選んだ色とコントラスト比が低い順で色名を並べるツールも作成した。

ロケーション履歴の利用再開: 10月くらいからGoogleのロケーション履歴を止めていた。面白いけれど、行動範囲が狭い僕には、あまり役に立つこともなかったので。でも、どう行動していたかを説明できるようにしておいた方が良いのかなと、2月半ばから復活させた。ウェブとアプリのアクティビティを停止していると、ロケーション履歴の場所などを編集できないので、より説得力のあるものになりそう。

記事ごとにファイルを: 以前は、記事ごとにファイルに吐いておいたけど、ファイルがいっぱいで邪魔だなと、単一のJSONファイルにまとめるように変えてしまった。でもこの前、エディターでJSONファイルをいろいろ書き直すはめになって、とてもつらかったので、元に戻した。以前(entires_indexプラグイン?)と同じで、メタデータがまとまったJSONファイルとの組み合わせになる。

TasksとFairEmail、Etar Calendar: 脱Google的なのをしばらくやっていた。検索をDuckDuckGoに変えて、タスクとメール、カレンダーに、それぞれTasksとFairEmail、Etar Calendarを使うという、ガワを変えてみる程度だけど。Playストアで公開されていて、オープンソースで、規模の小さなものを主眼にこれらを選んだ。

Jason Markkのスニーカー・シャンプー: スニーカーを洗う洗剤がなくなったので、Jason Markkに変えた。ブラシや布は不要だったので、洗剤のみ。わしゃわしゃ洗って、キレイになった。甘い匂いが強いけど、乾かすと新品のスニーカーの匂いに近く、臭くて困るという感じは(今のところ)ない。

背景色と4.5、文字色と3: ハイパーリンクの色と文字色とのコントラスト比を上げようと、四苦八苦していた。最終的には文字色を少し暗くして、未訪問と訪問済みのどちらも、背景色と4.5以上、文字色と3以上確保するようにできた。最終的にはあまり変わっていないが、未訪問が若干明るく、訪問済みが青がかったグレーになった。

~/.eslintrc: ESLint v7から、~/.eslintrcなど、ホーム・ディレクトリーに置いた設定ファイルが使われなくなるようだ。自分だけしかいない小さなプロジェクトごとにESLintを入れるのも大げざなので削除していたら、別のバグでうまく読み込めず、それを調べていたらこっちを発見した。撤回されることはなさそうなので、素直に戻した。

踏み台昇降運動: 本気の踏み台昇降を10分やったらすごかった。上がる時の足を交互にし、膝をしっかりとのばし、1分で80回目指してやる、というもの。上げる足が交互だと、常に考えていなくちゃならないので、単調で飽きることもない。でも80回は不可能だと思う。

小麦粉で: 小麦粉がなくなったと思って買ってきたら、ストックがあった。しょうがないので、蒸しパン、ホットケーキ、スコーンと連続で焼き、体重というものを得た。その後スーパーへ行った時に小麦粉の並んでいる棚の前を通ったら、ほとんど売り切れだった。いろいろなものが突然流行るので驚く。事前に購入してあって先見の明があったような、ふんだんに使ってしまってなかったような。

2020年にふさわしいBlogrollとは: リンク集というかBlogroll的なものを復活させようと画策している。Feedlyからウェブログっぽいもの(200ちょっとあった)だけ引っ張ってきて、JSONにするまではやった。しかし置く場所がない。単独で置くとナビゲーションの項目が増えてしまうし、置きやすそうなサイドバーもない。

ホホバ⇒オリーブ・スクワラン: 今年は、無印良品のホホバ・オイルから、無印良品のオリーブスクワラン・オイルに乗り換えた。気温が下がっても固まらない、という以外の理由はない。だいたいはこれとヴァセリンで冬は乗り越えられる。

VS Code v1.43での置換: Visual Studio Codeの置換機能はよく使っている。複数行が手軽に書けるのはあまりないし、速いし、Vimの正規表現じゃないし。たまにやらかす。v1.43から、エディターで開いて置換ができるようになったので、やらかしも減るはずだ。一見してそんなに使わなそう、と思ったけど、毎回のように使っている。

キンメダイ、図書館の再開延期、生存確認: 安くなっていたキンメダイはおいしかった。いつか浜焼きで食べてみたい。今年も湘南ゴールドがおいしくてうれしい。

あれを「こうしたい」ので: ホームや写真ページでの画像のサムネイル一覧をol要素からfigure要素に変えてしまった。リストではなくコラージュだと捉えると、figure要素の方が適切かなと思う。仕様のfigure要素の項ではそのような言及はない(5番目と6番目の例は複数の画像を扱っているけど、ギャラリーじゃない)。

GitHubスポンサー: GitHubでスポンサーが募集できるようになった。Stripeアカウントを自前で用意しなくて良かったり、面倒なところがあまりなく始められた。更新する予定のあるリポジトリーでだけ有効にした。

vim-css3-syntax v1.6.0: Speech ModuleがNOTEから復帰して、びっくりした。それほど緊急性はない。Scrollbars Module Level 1を追加し忘れていたことにも気づいたので、vim-css3-syntaxのv1.6.0をリリースした。他にもいくつか新しいドラフトがある。

Gilletteのヌルヌルするやつの取り外し: Gilletteの替刃についている、使うとヌルヌルしてくる青いものが好きじゃない。ジェルみたいなのが出てくるよりはマシと思って我慢していたけど、風呂場で髭剃りが終わった後になんとなく爪でこじって引っ張ったらスポッと抜けた。接着はされておらず、簡単に取り外せるみたいだ。うれしくなって、残っている8つの替刃からも取り外した。ちょっと楽しい。

タブ・インデント、図書館のオンライン予約、dnscrypt-proxy: タブでインデントするようになった。理由は特にない。Tabキーを押したら、タブが入力されるようになったので、正しい。EditorConfigでズバッとできるものと思い込んでいたけど、そういう(ファイルを書き換える)ツールではなかった。名前の通り、エディターを設定するだけで、ファイルには何もしないツールだ。

Utopia雑感: ビューポートに応じてフォント・サイズを調節するCSSを生成してくれるUtopiaなるものを見ていた。基本のフォント・サイズを調整するだけでなく、スケールの倍率も調節している。こういう考えの実装はしたことがなかった。

変わっていないけど、変わっている: v9.5.0で右寄りレイアウトに戻した後、CSSを整理し、v9.6.0でヘッダーとフッターだけ幅いっぱい使うように戻した。結果があまり変わっていないのに、CSSだけ変わっている。いろいろな書き方ができるようになった上、新旧の知識が混ざるので、書き方が安定しない。他には、タグラインが最重要な見出しだと問題がありそうなので、最重要な見出しはページ名(雑記とか近況とか)にするようにした。CSSでそれにタグラインが追加される。

ぼくらはそれでも肉を食う: 行動経済学について簡単に書かれた本からの流れで、この本にたどり着いた。「ぼくらはそれでも肉を食う」は、動物の権利運動員や菜食主義者たち、または闘鶏関係者や動物実験をする学者たち、そして普通の人たち、それぞれの動物をめぐる行動について書かれている。読んだ後に若干の生きづらさを感じる。が、忘れるか、目をつぶるだろう。

ヒゲ坊主、サゴシ?、つや姫: 待機時間の長い図書館などもそろそろ怪しい施設になりそうだ。慎重がすぎて、床屋にすら行っていないので、久々に耳を覆うくらいまで伸びてしまった。ヒゲ坊主にするチャンスと考えて、バリカンを買おうかなと考えている。

vim-css3-syntax v1.5.0: 更新がたまったのでvim-css3-syntaxのv1.5.0をリリースした。Scroll Anchoring ModuleやResize Observerという仕様が追加されているため、マイナー番号が上がっている。大きな変更はない。今度もない。

閉鎖空間: 色々騒がしくて、人の多い都会に、まして閉鎖空間の美術館や博物館に行きづらい。先月はアーティゾン美術館(旧ブリヂストン美術館)に行くつもりだった。セザンヌを見たい。洛中洛外図屏風も見たい。今月末ならどうにかなるかなと考えていたが、どうも無理そう。

SVGのファビコン #2: およそ8年前にSVGのファビコンについて調べていた。Safariでおととし、ChromeやEdgeではこの前リリースされた80でついにサポートされた。頃合いだろうと見て、ダーク・モードで色が変わるようにして、このウェブサイトでも採用した。

左の余白と行間: 左寄せレイアウトになった。合わせていくつか変更を加えたが、行間をline-heightプロパティーで1.7から1.515に下げた。左寄せレイアウトにしたら、どうも行間が開きすぎに見える。認識していなかった問題で、検索してもそれらしい情報が出てこない。

月ごとに分割読み込み: 写真と書棚ページで使っていた、ユーザー操作による過去ログの一気表示を、月ごとに表示していくように変更した。ボタンを押すと前の月が、ボタンを押すとその前の月が、ボタンを押すとさらに前の月が、ボタンを押すともっと前の月が、ボタンを押すともっとその前の月が、と少しずつ進む。最後の月にはボタンはないので、そこまでになる。

たかをくくってこれくらいにしておく様子: このウェブサイトは、構成は簡素じゃないし、そこかしこで妥協がなされていてミニマルではないし、見た目もブルータルなところはないし、GitHub経由な時点で倫理的ではない。合理的だとだいぶ近くなってくるけど、最高を突き詰めておらず、根拠がないのに「理」はおかしい。たかをくくってこれくらいにしておく、というと近い。この感じを表現する言葉を探している。

MoonstarのSK Oxford Black: だましだまし履いていた革靴が、ついにかかとが削れてしまった(ような気がする)ので、新調した。高いやつを買う気満々だったけど、22000円で安いようなそうでもないような、Moonstarの革靴に落ち着いた。年末に新宿のBEAMS Japanで買った。

baseline.cssの再分離: 文書のスタイルと共有できるようにbaseline.cssを再び分離した。あわせて色を戻したり、見出しの余白を再定義したりもした。また、スタイル・ガイドでテストもできるようにした。安定の構成のつもりなので、しばらくこのままでいじるようにしてみたい。

鼻血とシーツ: 思えば子供のころは週一くらいで鼻血を出していた。起きたら枕が血だらけとかもあった。高校生になる頃にはほとんど出さなくなり、ここ5年にも出した記憶がなかったが、11月末から計4回も出している。

2020年の目標: 去年は書いていなかったけど、体重を3kg増やすだった。結果は1.8kg弱と届かなかった。なので、今年はそれを継続して、2kg増量にしようと思う。ということで去年の目標は体重を毎日測る、というものだったことにした。3月に体重計を買って以降、毎朝測れているので達成したといってよさそう。

2020年の始まり: 大晦日は早寝したけど、除夜の鐘から火災無線、若者たちの叫び声、と、ひと通りの試練で新年が始まった。おせちと雑煮でリセットできた。今年の酒は(も)七賢の山ノ霞だった。安定しておいしい。値段が5倍するやつをいつか飲んでみたい。雑煮も高い餅で作ったのでおいしかった。

Gilleteの限定版ホルダー: T字カミソリはプログライドのフレックスボールで安定している。機能には特に不満はないけど、ホルダーの見た目と自立しないケースがイマイチとは思っていた。その辺りがうまいことなっていそうに見える限定版が、夏前くらいに出て、気になっていた。高かった(1500円くらい)ので買わずにいたが、先々月くらいに近所のドラッグストアに500円くらいで投げ売りされていたので、ついに買った。

墓参り(2019年12月12日): 墓参りに行った。予定が合わず、今回は少し遅めになった。遠くの山沿いが地上付近だけもやっていて、盆地っぽい。

DuckDuckGoかGoogleか: サイト内検索にDuckDuckGoを使うように戻した。僕はまだGoogleを使っているけれど、それを他人に押し付けることはない。むしろ、Googleのパーソナライズが、一時的なサイト内検索の利用に影響されなくなるので、ユーザーにもメリットがあるんじゃないか、とも思う。

キーホルダーの錬成: キーホルダーに使っていたカラビナを人にあげてしまったので、家にあるものを改造してキーホルダーを錬成していた。鍵をつけるリングとラッチが付いたフックの間に5cmくらいの短い鎖を挟むと、鍵が、リングやフックとひっかからない(引っかかってもすぐに抜ける)というような話を聞いて、そういう風にした。嘘だった。使いづらくはないので、使っている。

Simple DNSCryptのForwarding: 引き続きSimple DNSCryptでAdGuard DNSを利用している。悪くはない。たまに変なのもブロックされて困っていたが、(Simple )DNSCryptではForwarding (転送)という機能を使うと、特定のドメインを指定のDNSリゾルバーで解決できる。

名物裂と古渡り更紗(静嘉堂文庫美術館): 古渡り更紗は茶器の展覧会などで いくつか見たことはあるものの、色々まとめて見ることはなかった。静嘉堂文庫美術館にも曜変天目のタイミングで見に行きたかった。渡りに船とか鴨が葱とかいう感じで名物裂と古渡り更紗という展覧会が行われていたので見に行った。

CSSの統合や分割: v9.3.16でベースラインのCSSとカスタム・プロパティーのCSSを混ぜたので、編集が局所で完了するようになった。その反面、どうしたいのかについての明快さに欠け、気持ち悪い。同じルールセットで上書きするのは、やはり好みではないようだ。前みたいにbaseline.cssに分離したい。

ゆず(2019): 今年のゆずを収穫した。200個前後で、よくとれた。小ぶりのものが多いようにも感じたが、数があるせいかもしれない。数年前にまったくとれなかったのは、やはりたまたまだったようだ。リモンチェッロ的なのを作ってやろうかな、と考えている。

ドン・キホーテの額装: おみやげで貰ったピカソのドン・キホーテを額装した。色々見たけど無印良品の壁に付けられるフレームで妥協してしまった。棚に置けるので悪くはない。

相鉄JR直通線: 渋谷から相鉄JR直通線に乗った。あまり興味がないつもりだったが、埼京線の車両が走っているのを見たら、まんまと乗りたくなってしまった。やはり新しい路線はワクワクする。みんな興味津々という感じでキョロキョロしているのも面白い。武蔵小杉駅から羽沢横浜国大駅までがすごい長く、見慣れない景色というのもあって、どこに連れていかれるのか、と不安になった。

靴ひも、スタンスミスの黒、リンクの下線: よくハイキング的なことをしていた時期に刷り込まれた、「靴ひもがある靴の方が疲れない」という偏見を持ち続けている。大事にしていきたい。チェルシー・ブーツ(人と会うので靴を脱ぐかもしれない)やレイン・ブーツ(雨がひどい日であまり歩かない)は履いている。

代官山~渋谷: 今年は旧朝倉家住宅が建って100年、ヒルサイド・テラスが建って50年らしい。HILLSIDE TERRACE 1969-2019という展示も始まったようなので、代官山をフラフラした。

Chrome、Noto、ピカソのドン・キホーテ: しばらく前からChromeを使っている。Edgeを使いたいところだけど、動かないウェブサイトが多すぎて心が死にかけた。ついでにNoto (Sans|Serif|Sans Mono) CJK JPを標準フォントなどに設定したりするようになった。こうなると総称ファミリー最高なんじゃないか、と考えがちなので、このウェブサイトでもフォント指定がsans-serifとmonospaceだけになってしまった。

ペン立て、箱ティッシュのカバー、ゴミ袋の襲撃: ペン立てに使っていたマグカップを強奪された。仕方がないので、プリンの空き瓶を使っている。半分くらいの高さになった牛乳瓶というサイズで、ちょうどいい。ボールペン数本、ハサミ、定規くらいなので、これまたちょうどいい。こういったデスク周りの物にお金を出す習慣がない。

グランベリーパーク、シャトルシェフ: 火曜日にグランベリーパークに行った。アウトレットモールというものに行ったことがなかったので、新鮮だった。Cole HaanやRegal、Salomonの靴はお手頃価格で惹かれた。洋服は「安い!」っていうほどでもない。他だとインテリアとキッチン雑貨を買いに行くには色々あって良さそう。アウトドア用品も悪くないけど、最近はそこら中にあるのでわざわざ行くほどでもない。

冬の夢: 風邪で寝ていた時に読んだ、サリンジャー特集のMonkey vol.19には、F・スコット・フィッツジェラルドの短編も載っていた。そういえば、少し前に亡くなった和田誠が装丁を担当したフィッツジェラルドの本があったな、と思い出し、気になったので読んだ。

Pixel 3a、風邪、しょうが焼き、黒から白: Pixel 3aを使い始めて3か月になった。特に何もない。マテリアル・デザインを好きになれないままなので、5年後くらいに買い替える時には、iOSに出戻りそう。ドロップ・シャドウが嫌いなんだと思う。なのでダーク・モードにしているけど、ダーク・モードも特に好きではなかった。

baseline.css、肉の日、おいしい○○屋: 少しずつbaseline.cssを上げている。色の管理ができないので、ポスト・プロセスすることを考えている。main.cssからカスタム・プロパティーとrevertするコード以外がなくなれば、完成のはず。そこまでいけば両者をマージでき、クソみたいなmedia属性を消せる。もうちょっと。

vim-css3-syntax v1.4.0: vim-css3-syntaxのv1.4.0をリリースした。Overscroll BehaviorとAnimation Worklet API、Containment 2の3つが追加され、更新が2つあるが、特に目新しい点はない。

CSSの構成、サンマ、Surfaceコネクター: CSSの構成を変えた。baseline.cssとmain.cssに分けて、前者に古いブラウザーと印刷メディア向けのスタイルを書き、後者で複雑なスタイルを書く。読み込みの制御は、後者を読み込むlink要素のmedia属性で、not print and (min-resolution: 1dppx)とすることでおおざっぱに行っている。CSSハックに類する方法なので、もうちょっとうまい方法を考えたい。main.cssという名前もおかしいので変えるべきだった。

トルコ語のHTML Best Practices: 少し前にHTML Best Practicesへトルコ語の翻訳が飛んできた。うれしい。スターも少しずつ増えていっているような気がする。死ぬまでに2000スター欲しい。

カレンダー、タスク管理、メモ: カレンダー(Googleカレンダー)とタスク管理(Google ToDoリスト)、メモ(Google Keep)でアプリを使い分けていたけど、面倒になってきた。重なる部分が多く、使い分けどころが難しい。これはどれに記録するか、と逡巡するのがすごくわずらわしい。

戸別回収、カラス対策、マンガ本棚、Appleのストリート・ビュー: 地元のゴミ収集システムが、昨日から変わった。燃やせるゴミが戸別収集に変わるので、カラスや猫への対策として、とりあえずゴミ箱を流用することにした。初日の様子だと、なんらかの対策をしている家は、半分に届かないくらいだった。

茂木本家美術館の北斎名品展(すみだ北斎美術館): すみだ北斎美術館へ茂木本家美術館の北斎名品展を見に行った。久しぶりに隅田川を越えた先へ行った気がする。建物が、写真で想像していた感じとはずいぶん違って、とても驚いた。

散財 ’19: 去年、Surface Pro 6を買って以降、金遣いが荒くなった。買った直後くらいは意識してセーブしていたけど、コートを買ったりしてしまったあたりから加速してしまった。ちゃんと勘定したらそろそろSurface Pro 6がもうひとつ買えるくらい散財している。

Intersection Observer APIを使ったトップに戻るボタン: スクロール監視で作られていたトップに戻るボタンの改修をしていた。Intersection Observer APIを使うと10行に満たないJavaScriptで実装できた。グローバル・ヘッダーが見えなくなったらボタンを出す、という条件でのみだが、実用性はありそう。

WAON、VisaのpayWave: Pixel 3aでFeliCaデビューしたので、調子にのってWaonを作った。Suicaを自分専用にして、家用の買い物をWaonにする、というつもりだった。Suicaのチャージに使うクレジットカードを使い分けた方がよかったっぽい。使いきらないと消せず、使いきるのは難しそうだし、もうちょっと考えればよかった。

v9.3.2: マークアップが少し変わったりしたので、マイナー番号を上げた。Microdataが復活したり、見出しがちょっと大きくなったり、見出しの下の余白を詰めるように戻したり、概要(この最初の段落のこと)が大きい文字で表示されるようになったり、色もちょっと変わっている。昔はこんな色だった気もする。#f6edeaだっけ?

AdGuard DNS: Pixel 3aにapkでインストールするAdGuard for Android(なんちゃってVPNとして動く方)をちょっと入れてた。うまく動いているようだった。ただ、Android 9だとプライベートDNSとしてDNS over TLSが設定できる。これでAdGuard DNSを使うと面倒くさくない。

スマフォのマット、チノ・パンツ、Googleレンズ、Lawnchair: スマフォを伏せて置くためのマットをフェルトで作った(余っていた古いマウスパッドに薄いフェルトを接着しただけ)。満足しているけど、今度は、普通に置いた時に出っ張ったカメラが傷つきそうで気になる。

Pixel 3aのハードウェアなど: Pixel 3aを買って半月くらい経った。ハードウェアで気に入ったところもあるが、気になるところもある。カメラについては色々記事があるので話題にしない。

template要素内のimg要素: 大量の画像を一気に読み込ませないように写真や書棚のページではログ・ページを別に作っていたが、やはり統一したい。CSSなどで隠すとHTTPリクエストが発行されてしまうし、遅延読み込みはせめてネイティブ実装が揃わないと落ち着かない。実装とユーザー操作、転送量においてコストの低い方法を模索し、template要素内に書かれたimg要素ではHTTPリクエストが発行されないことがわかったので、これを利用した。

あっ! Pixel 3aだ!: ここ半年くらいは好調だったiPhone 5sがまた調子悪くなってしまった。7月22~30日の間に15回くらいブラックアウトした。5sにはiOS 13が入らないみたいだし、これはもう買い替えしかない。そんなに酷使するわけでもないので、価格が手ごろで評判も悪くないGoogleのPixel 3aにした。色はブラックでジャスト。ちょっと安いドコモ・オンラインショップで買ったので、dポイントも消費できた。

Sparkとドコモメール #2: Sparkとドコモメールで書いた、dアカウントがロックされてしまう原因がわかった。パソコン等で(Spark以外のアプリを使って)ドコモメールを受信している場合にロックされるようだ。Sparkのみでドコモメールを受信するようにすればロックされない。

鍋の蓋のつまみ: イオンかどこかで買った安い片手鍋の蓋からつまみが取れてしまった。この鍋ももう10年くらい使っていたので、買い換えようとイオンを見に行ったら、鍋の蓋のつまみだけで売っていることを知った。

原三渓の美術(横浜美術館): 雨の中、横浜美術館へ原三渓の美術を見に行った。ポスター他に使われているロゴの「の」がかっこいい。高野切を見て、そのまま常設のセザンヌとピカソを見れるので、1600円でもいいかな……となるかは人による。せめて孔雀明王像がある間に行った方が良い。

Date.parse("2015-02-31"): ES5以降では、Date.parse()に不正な日時を渡した場合、NaNを返す……が、不正な日時の解釈に実装によって違いがあることを今さら知った。タイトルのように2015-02-31を渡すと、Firefox 67はNaNを返すが、Chrome 75などでは良きにはからって、つまり2015-03-03とみなしてくれる。書式そのものの解釈の違いだけでなく、こんなところにも非互換性が埋まっていて、まんまとハマった。

TAMAGAWA Special Days: 玉川高島屋のセールの荷物持ちで二子玉川に行った。朝方は雨で、昼前くらいまで降っていたが、二子玉川は駅付近ならだいたい雨にぬれず移動できるので問題ない。

MN v20190707: 思い出したようにMNを更新した。ちょっと前にも思い出したように更新している。B612 MonoとMajor Mono Display、IBM Plex Monoなど以外に、あえて追加していなかったNova MonoやShare Tech Monoなども追加した。等幅を見続けていると、何かに気づけそうな気がしてくるけど、今のところ何も起きていない。

Sparkとドコモメール: Sparkでドコモメールを使おうとすると、*dアカウントが*ロックされるようになっていた。Sparkでは、アカウントの追加時にアメリカから、メールをクロールする時にドイツから、それぞれドコモのサーバーへアクセスする。2ヶ所から連続でアクセスされている関係からか、これがドコモから不正アクセスとみなされてしまう。これらのアクセスを許可する方法はないみたいで、即座にdアカウントがロックされる。

OCNバーチャルコネクト向けルーター: ドコモnetでは、一部transixだけど、OCNバーチャルコネクトに集約されていくらしい。そのあたりの複雑さもあって、専用のドコモ光ルーター 01でしかIPv4 over IPv6できると明記していない。が、最近だとIOデータやエレコムのルーターが対応をうたいはじめたようで、これで大丈夫らしい。

wawoff2: OTFなどからWOFF2へ変換するnpmパッケージ、wawoff2。OTFをソースとして持ち、ビルド・タスクでWOFF2にする、がNode.jsだけで完結する。ソースがコンパクトになる。WebAssemblyなので、バイナリーを持ってくるnpmパッケージと違い、Node.jsのバージョンを変えた時のnpm rebuildし忘れで死ぬやつが起きない。たまにやる。

JavaScriptがなくなった: もう相対日時にするやつとutm_*を削除するやつしか動かしてなかったので、JavaScriptをなくした。再構築したので消えている。

魚焼きグリル、ガスコンロのボタン、欧米の五徳がごついコンロ: 両面焼きの魚焼きグリルでは、魚の皮を下にして焼く方が良い、ということを1か月くらい前に知った。味は変わらない、油が落ちにくい、網に身がくっつかない、皮がきれいに焼けない。一長一短という感じだけど、洗いやすいのは助かるので、下にして生きていく。

六古窯(出光美術館): 先週の梅雨前に六古窯(もう終わってる)を出光美術館へ見に行った。丹波(立杭)焼のことはよく知らなかったので、楽しかった。美術というよりも博物の感じが強い展覧会だったし、その辺りを掘り下げている書籍がちょっと欲しくなる。こういうのは拡大縮小したいし、電子書籍で欲しいな。

海老名から鎌倉、Shoes Like Pottery: 海老名から鎌倉へ電車で行くには3通り。直線的に進む場合、大和・藤沢・大船を経由していく。接続が良ければ一番早いものの、そんなことはまずないし、3路線なので高い。一番安いのは茅ヶ崎・大船経由。JRだけなので安いけど、当たりの相模線に乗らないと待ち合わせで時間を浪費する。楽なのは横浜経由で、早く来た逗子の方へ行くやつに乗る。早くはないけど、楽なのが良い。

@mediaなし、またはロジックレスCSS: このウェブサイトのCSSから@mediaルールを極力なくした。今は亡き(殺した)CSS MQPackerへのモチベーションがゼロになったことをきっかけに、段階的に進めている。全廃はまだ難しいので、カスタム・プロパティーに代入していく@mediaルールだけに絞り、それ以外でもなるべく使わない、という方針にした。

ドメインとクッキー、積ん読、隈vs安藤: ドコモ・オンラインショップのドメインが変わった。dアカウントと同じドメイン(smt.docomo.ne.jp)になったので、サードパーティ・クッキーの問題がなくなった。クッキー無効で生きていくのは無理だったので、サードパーティー・クッキーのブロックだけで生きながらえているため、こういう変更は歓迎したい。

ドコモ、ギガライト、1GB、他: ドコモの料金プランをギガライトの1GBにすると月3000円くらい安くなる。端末のローンと月々サポートが残っている。ローンの残りは1年で30000円くらいなので、乗り換えてもいいような気がしないでもない。月々サポートの新規受付が終了する6/1に、救済措置的なものが始まってほしい。

紺白紺白紺灰: 夏のTシャツのローテーション。そこそこ気に入っていたHealthknitのやつがうねうねでシワシワになってしまってた。ポロシャツでも買おうかと思ってたけど、Velva Sheenのバラ売りを見つけたので、これに差し替えた。色はネイビー。クリックポストで安くて楽だと思ったけど、実はAmazonにも出店していて、そっちだと送料無料だった。

vim-css3-syntax v1.3.0: キー操作によるフォーカス移動をCSSから制御するSpatial Navigationと、ユーザーの色設定に応じてゴニョゴニョするColor Adjustment Moduleが、CSS仕様群へ新たに加わった。両者の追加を行ってvim-css3-syntaxのv1.3.0をリリースした。

指先のやけど、ゴム手袋、火ぶくれ: 指先を3本もやけどしてから1週間がたった。タイピングしても痛みがなくなるまで2日、それから火ぶくれが硬くなるまで3日で、まだきれいになってない。

右脳と左脳: サントリー美術館で毎年やっている所蔵品を多く使った展覧会を見に行った。今年は「information or inspiration? 左脳と右脳でたのしむ日本の美」となっていて、いつもとはちょっと違う。

書棚ページ: ウェブページへのリンクと読んだ本のメモが混ざっているのは良くないとずっと考えていたので、本は書棚ページに分離した。どちらかというとアフィリエイトを明確に分離したい、というような理由で、ユーザーのことを考えているわけではなかった。

パナソニック デジタルコードレス電話機 VE-GZ31DL-W: 使用していたFaxの液晶の常時消灯列が10列くらいになり、ついに発信元の数字がほぼ読み取れなくなってしまった。Faxはもう3年くらい使っておらず、電話のみの安価なものということでパナソニックのVE-GZ31DLの白にした。ヨドバシカメラで買ったので、型番がGZ31だけど、説明書が共通なので、量販店向けの型番があるっぽい。

変換候補、まだ平成、焼いてから蒸す、文体: iPhoneで自分の名前を入力する時に日付が出てしまう。「きょう」で今日の日付けに変換されるのは99%以上の人に便利だけど、僕には不便だ。完全に優先するようになっているのか、いちいち変換メニューを展開しなくちゃならない。ユーザー辞書で「き」から変換できるようにしているのが学習しない原因のような気もする。

左手首のケガ、ケガの記録、漢字とひらがな: 1週間くらい前に痛めた左手首がようやく治った。キャリーバッグに重い荷物を入れて転がしていた時に、自転車を避けようとして左から右に持ち替えた時に勢い良くひねってしまった。折れていなくてよかった。

墓参り(2019年4月16日): 年中行事になった墓参りに行ってきた。とてもいい天気で、甲府からは富士山もよく見える。甲府は、観光客の数という点で、桜が終わる頃がベストだという結論になりつつある。ブラタモリが甲府だったタイミングだが、特に混んではいなかった。いつかリニアで行きたい。

RSSについて、ユーザーへの迷惑: RSSについてちょっと書いていた。半分くらい消した。書き直しもできそうにないので、フリの部分だけ抜き出して放流することにする。残りは処分した。

転ぶ、スタバ、ログの分割: 昨日は、道にあったくぼみに気づかず、つまづいて転んだ。買おうと考えているスニーカーを見に直営店に行ったらなくなっていた。昼ごはんを食べようと思っていたところは臨時休業と、なかなかない感じの日だった。

Noto Sans Mono CJK JPとMinTTY: ついにVisual Studio CodeでもNoto Sans Mono CJK JPを使いはじめたので、サブで使うVimというかMinTTYでも使うようにした。設定ダイアログからは行えなかったので、直接.minttyrcに書き加えた。

個人ウェブサイトへ: TwitterやInstagram、Pinboardのアカウントを消したので、それらでやっていたことを自前でやりはじめている。それぞれの過去の投稿をインポートし、RSSもそれぞれ作った。あとは/feedを全部入りにするつもりだが、ちょうど1年くらい前に購読先を変えさせたので、ちょっとやりづらい。でももう少ししたら変える。こうして個人ウェブサイトへと回帰した。

Anker PowerCore Fusion 5000: たまに使う程度だったAnker Astro Miniを落としてしまった。一応は動いているようだが、本体が少し凹んでいて危なそうなので、新しいモバイルバッテリーを買った。前と同じく取り回しと重さを重視して、200g以内くらいを目安に、一体型のPowerCore Fusion 5000にした。色は黒でヨドバシカメラで3230円だった。

ドコモ光へ: フレッツ光からドコモ光に転用した。プロバイダーはドコモnetで、安定して70Mbpsくらいは出ているようだ。良い方のルーターをあげてしまったのでIPoEにはまだしていないが、この速度なら焦ることはないだろう。このまま安定していることを祈っている。

あなたのアカウントは正常に削除されました: 色々なアカウントを消した。SNS疲れの類いを感じない程度にしか利用していなかったので、依存もしていないのだろう。そういった使い方ならば、やめてもあまり変わらないし、下位互換風に自前でやるだけでも事足りるはずだ。

オムロン 体重体組成計 HBF-255T-W: アナログ体重計が壊れたので、ついにスマフォと連携できる体重計を買った。WithingsのBody+と迷ったが、オムロンのHBF-255Tにした。決め手は数字がでかさだ。白をヨドバシカメラで14490円で買った。

Google Fontsと巨大なHTMLファイル: Google Fontsの分割CSSは、致命的ではないが、巨大なHTMLファイルと相性が悪いようだ。分割CSSはフォント・ファイルをオンデマンドでダウンロードさせることで、転送量の効率化を図っている。しかし巨大なHTMLファイルの場合、フォントの適用が少しずつ行われ、結果として開き終わるまでに10数回かそれ以上FOUT(文字が一旦消えてから再び表示される振る舞い)が起こってしまう。

2019年1月から3月に行った展覧会: 世田谷美術館は遠い。根津美術館はいつも入るをのためらう。最果タヒ。鶏のティーポット。

Clean CSSだけ: CSSの書き方が昔風になりつつある。SassにもPostCSSにも依存しない書き方だ。その上で、あってもなくても良い処理を、また別の安定した独立ツールに任せるようにした。その独立ツールとしてはClean CSSが優秀なので、これに任せてあとは気にしない。

npmパッケージの名前、npmアカウントの削除: やりたいことがあり、CSVファイルを処理するcsv-parseとcsv-stringifyパッケージを使ったツールを書き捨てようとしていた。npm installしたものの、全然使えるようにならず、30分くらいハマった。インストールもちゃんとできているはずなのに、なぜか使えなかった。

タカナシミルクレストラン、カトラリー、Twitterの休止: 正月に買い物ついでに横浜へ行った。前から行ってみたかった高梨乳業のレストランで昼ごはんを食べた。ランチで1700円とそこそこする。メインがチーズの食べ放題で、肉と魚はない。割高という印象だが、それをひっくり返すほどチーズの満足度は高い。あとハチミツがとてもおいしかった。

スプーク・カントリー: ウィリアム・ギブソンをようやく1週した。このスプーク・カントリーでおしまい。コメディーといえばコメディーなのか。「脱構築」という訳が出てくるのが気になる本もこれで7作目(3人目)くらいになり、日本翻訳界の御家芸、という認識になってきた。

終わりの向こうへ(松涛美術館): ようやく暇ができてきたので、松涛美術館へ「終わりの向こうへ」という、廃墟が出てくる絵の展覧会を見に行った。廃墟へ行きたいとか廃墟を探検したいなどという趣味はまったくないが、絵や写真に出てくるそれは好きだし、壊れかけで放置されているものも好きだ。

爪、CSSスナップショット、日記記事のタイトル: 今月も何もしてない。ストレスはなくなったので、上昇気配だ。先月ボコボコになった爪がきれいになったし、本を読んで楽しい気分になれる。

Braunの腕時計のベルト交換: 愛用しているBraunの腕時計のベルトがちぎれそうになってきた。表の方はまだ平気だったが、裏の合皮っぽい方がボロボロになってしまった。文字盤が共通のメッシュベルトがあるので、それに交換してもらおうとしたが、代理店では在庫切れかつ納期不明だった。ということでAmazonで激安ベルトを買い、自分で交換した。

何もできなかった週: 今週は何もできなかった。風邪をひいたとかではなく、成果のないことばかりをしていた。精神的に辛かったので、イクラを錬成するくらいしか楽しいことができなかった。Surface Pro 6が快調なのがせめてもの救いだ。

Surface Pro 6の雑感: 発表した翌日くらいに予約したSurface Pro 6は、発売日の午前9時くらいに届いた。だいたい移行し終わった。セットアップ時にこれといったトラブルもなく、ハードウェアも安定して動いている。長々と書きそうになったが、短く書く。

メモ(2018年10月18日): 缶詰の不良などを叩いて検査する打検士という職業がある。彼らの仕事は、音を聞くことではなく、音をたてることだそうだ。正しいテストを行うことが重要であり、行為の結果から目的を考えると誤解しやすいということでもある。

メモ(2018年10月15日): パソコンに大枚をはたいてしまったので、スマフォの買い換えは先延ばしすることにした。不調だったiPhone 5sも持ち直してきたし、iOS 12も無事に動いている。動作が速くなったり、バッテリー消費が改善したりはしなかったが、普通に動いてくれれば十分だ。

夢(2018年9月26日): 道を歩いていたら、そこら辺にいた人たちに誘われ、ハーフコートでバスケをする。50人くらいでやっていたため、30分間点が入らず終わる。終わった後、そもそもボールがなかったことに気づいたところで目が覚めた。

メモ(2018年10月13日): Todoistのスケジュールしたタスクで、完了後に新しく追加されるタスクでも時刻が維持されるようになっていた。元々そういうものかと思っていたが、単なるバグだったようだ。一時的にGoogleカレンダーに移したが、すべて戻せた。リストをアーカイブできると、退避や振り返りが手軽にできる。

Surface Pro 6の予約: 13インチのノートPCを買うなら、新しく出たMacBook Proが最適になってしまった。そうなるとWindowsなら2-in-1かタブレットが楽しそうだ。回転型(Spectre x360のようなタイプ)はタブレット・モードで重く、これではうれしくない。ということで、奮発してSurface Pro 6のブラックを、Core i7、16GBメモリー、512GBストレージのモデルで予約した。

Todoistさん: いつ終了になってもおかしくないWunderlistを使い続けていた。ウェブアプリは調子がいいものの、iOSアプリは同期途中で固まる現象が多発するようになり、Windowsアプリはバックグラウンドでの同期がうまくいかなくなってしまった。どうにもならないので、諦めてTodoistに乗り換えた。

オイルで髭剃り: ちびちび使っていたKiehl’sのシェービング・クリームがついになくなりそうだ。高かったが、使いきるのに3年近くかかったので、結果的には安上がりだったかもしれない。使い心地がかなり良く、これを一生使い続けようと考えていた。しかし、このクリームが切れた時に試してみたオイル・シェービングも快適で、しばらくこれでやってみたい。

Spotify、Mubert、それにミュージック・アプリ: ようやくSpotifyを使い始めることに決めたが、色々な曲を流すには向くものの、それ以外にはあまり向かない、と強く感じる。結局、Mubertとミュージック・アプリも併用している。

コミットから色を生成: ターミナルでGitを操作していると、コミットのSHA-1ハッシュが10桁か7桁まで表示される。それが全部数字だったり、全部アルファベットだったりすると、ちょっとうれしい。そんなことを日々考えていたが、先頭6文字はそのまま色として扱えることに思い至った。

夢(2018年9月10日): 栗きんとんを作っている工場に出稼ぎに行く。与えられた仕事は、栗を剥いた後に残った皮を食べることだった。1つ食べるごとに10円を貰い、100円になったところで目が覚めた。

とある庭園: 先日、白金台付近に届け物があったので、ついでにその近くにある庭園を主にぶらぶらしていた。今年の夏は暑すぎて、まったく散歩できなかったので、良い気分転換になった。

vim-css3-syntax v1.1.1: ようやくFonts Module Level 3がW3C Recommendationになった。そこそこ実装があっても、勧告までは5年もかかる。他いくつか仕様の更新もあったので、vim-css3-syntaxもリリースした。既存の仕様への更新のみのためv1.1.1とパッチ・レベルでのリリースになる。

Spotifyの利用開始: 音楽を聞くアプリでずっと迷っていたが、まずはSpotifyにした。自分が持つ音楽を普通に聞く以外の面白さがグッと伝わってくるまでが短かったので、続けていろいろ調べるのも楽しくやれた。魅力的な部分への導線は重要だ。

ウェブカメラで鍵の確認: 玄関に鍵がかかっているかどうか不安になることがよくある。その対策として回すと色が変わるアタッチメントを使っていた。それなりに便利だったが、少し前に壊れてしまった。見た目があまり良くないので、買い直すか迷っており、まずは余っていたウェブカムで鍵のあたりを監視することにした。

メモ(2018年9月17日): ここにメモとして日常の断片を書くと、紙に書いている日記に憎しみや苛立ちしか書かなくなってしまう。そのため、メモをここに書くことをやめようと考えたが、時代を考慮して紙に書いていた方をやめることにした。あと10ページくらいしか残ってなかったので、良い区切りだ。

ellipsisやめたい期: 不定な長さのテキストを一行に抑え込むtext-overflow: ellipsisにはお世話になっている。これを過去形にしたい。絶妙な場所で省略されることで、文章の意味が完全に反対になってしまう事態に何度か遭遇し、一気に否定的になった。title属性によるツールチップは環境に依存する上、それが読まれる保証はまったくない。僕の目標であって、世間への提案ではない。

本文明朝、見出しゴシック: 懸念だった転送サイズによる問題がほとんど見られなかったので、本文を明朝、見出しをゴシックにした。すべてはGoogle FontsとHTTPS+HTTP/2のおかげだ。小さく分割されたWOFF2ファイルが、並列で高速に必要なだけダウンロードされる。それぞれが小さいので、キャッシュからも並列で超高速(それぞれ数ms)にロードされるだろう。

メモ(2018年9月12日): 近所のスーパーでは、ほぼ毎週水曜日に明治のおいしい牛乳が安売りされる。安売り自体はあったものの、チラシに記載がなかったり、数がものすごく少なかったり、不穏な気配がする。今月に入って野菜は安くなりつつあったが、今度は乳製品となると辛い。今年は、何かしらがずっと高いまま終わりそうだ。

夜間モード: このウェブサイトを、夜(19から5時)の間は黒背景になるようにした。夜間モードかどうかは表示しないので、白かったり黒かったりするウェブサイトになった。通常は、モードを切り替えるボタン等を設置するが、日に何度も訪れるウェブサイトではないので、有無を言わさず適用することにした。

IFTTTへの出戻り: むしゃくしゃして消したIFTTTのアカウントだが、RSSをWebSub (元PubSubHubbub)で公開したくなったので出戻った。GitHubのWebhookからWebSubへつなげるアプレットは、前に書いたMakerを使ったものがそのまま使えた。標準仕様は大事だ。

🔍と🔎: 虫眼鏡アイコンは柄の向きが複数ある。Microsoftは柄が左下を向いているものを、GoogleやAppleは右下を向いているものを採用している。Emojiのように右下と左下に向いているものに大別できそうだ。

Googleフォトのダウンロード: 写真のバックアップは、Googleフォトの高画質(容量制限なし、無料)に任せている。ローカルには必要ないかと、バックアップと同期によるGoogleドライブ経由でのダウンロードをやめ、削除した。しかし、すぐにDVDにでも保存しておこうと気が変わったので、再度Googleドライブでの連携を有効に戻したが、フォルダーは作成されるものの、写真が同期されなくなってしまった。何が悪いのかよくわからず、サポートに相談するのも面倒くさいので、アカウント管理でのデータのダウンロードを使って44GBをダウンロードすることにした。

markedで自動セクショニング: このブログではサブセクションを作る場合、直接<section>タグを書き、その内容を再帰的にmarkedで処理してやっていた。あまり困ってはいないが、普通に書かれたMarkdownをうまく処理して、好みのHTMLコードで出力してやる作業を少しずつ重ねてきたので、ついでに自動セクショニングらしきものを実装した。

PostCSSプラグイン: to-longhand: Edge 17にあるカスタム・プロパティーとショートハンド・プロパティーでのバグが、パッチ・レベルでは直りそうもない。つまり、そう簡単には世界から消えてくれないことが確定してしまったため、しばらく(最低1年半くらい)の間ロングハンド・プロパティーで書かなくてはならない。しかし、そう書き直されたCSSを見ていると、とにかく悲しいので、to-longhandというPostCSSプラグインを書いて誤魔化すことにした。

僕の5sと新しい7: 調子が最悪だったiPhone 5sが安定してきた。2か月ほど前にApple Storeに持ち込み、何もできずに帰ったら、調子が良くなり、とても不思議だ。あのApple Store専用のiPadアプリにすごい秘密が隠されているに違いない。

読了リスト(2018版): このウェブサイトのホームページにある本のリストは、最近読んだ実用書だ。実用書の中でもウェブサイト制作に役立ちそうな知識や感覚を得られるものに限定している。そのものずばりの本(HTMLやCSSについての本や、アプリケーションの解説本など)は入れていない。

参宮橋~初台~新宿: やっといつもの夏の暑さ、というくらいにはなった。涼しくなるのを待っていたが、そうなった時には終わっていそうな新宿(初台)のオペラシティへイサム・ノグチを見に行ってきた。オペラシティも竣工してもう20年か。

vim-css3-syntax v1.1.0: 新しくCSS Values and Units Module Level 4が公開されたので、さくっとvim-css3-syntaxにも反映させた。ぼうっとしていたら、リリースしていない変更がかなりたまってしまっている。追加もあったことだし、ついでにv1.1.0をリリースしておこう。

ビューポート幅と列数の対応: サムネイルで画像を並べるような場合、ネイティブ・アプリケーションでは、ウィンドウ幅が変わると列数を増やすだろう。最近は、それと同時にサムネイルの大きさも調整し、常にウィンドウ幅いっぱいに並ぶように調節してくれるものが増えてきた。iTunesのアルバム・ビューがその例として挙げられる。ウェブでこれを実現するにはFlexboxでサムネイルのサイズを柔軟に決定させつつ、ビューポート幅に応じて列数を増やしていく。両者の対応にはカスタム・プロパティーを使うと楽しい。

ジレット・替刃・10個入り: 久々にジレットの替刃を買った。今は10個入りが定期おトク便で2628円と、そこそこ安いようだ。ジレットの替刃は、プライム専用になってたり、そうでない場合はぼったくり価格だったり、が多かった。もう安く買えないかも……と考えていたが、手ごろな価格で手に入ってうれしい。

証明書の切り替え: バックエンドはGitHub Pagesで変わっていないが、証明書をGitHubが用意してくれるものを利用するようにした。ついでにCloudflare経由にするのもやめた。お世話になったが、CDNをあまり必要としなくなったことや、JavaScriptやクッキーが無効だと5秒待たされやすくなったことがやめたかった理由だ。また、構成は単純な方が望ましい。Herokuやレンタル・サーバーならCloudflareを経由する意味はまだあるが、GitHub Pagesだとほぼ意味はないだろう。

figure要素をmarkedで: このウェブサイトでは、画像や引用をfigure要素でマークアップしている。Markdownで書いているわけだが、もちろんそんな記法はないので、今までは生HTMLを書いていた。しかし、marked v0.4.0でのバグでハマりどうしようもなさそうだったため、markedの拡張機構を使って、なんとなくうまい感じになるようにする必要がでてきてしまった。

メモ(2018年8月3日): SafariやmacOSのChromeのinput[type=search]が装飾過多で、そのままではどうにもならないのは、-webkit-appearanceプロパティーを使ってどうにかする。しばらく前まではtextfieldにすれば済んでいたが、どうもnoneまでしないとダメになってしまったようだ。まだちゃんと調べていないが、Mobile Safari 11ではtextfieldだと内側の影や丸い角が殺せなかった。:focusの時も謎の挙動をする。

セクション内見出しへの通し番号の追加: 普通のHTMLの書き方では目次にol要素を使っ(てしまっ)たが、対応する見出しには番号がない。これはあまり良くなさそうだが、文字列として追加するのも何だな……とCSSでやろうとしていた。ひとつのカウンターを作って、counters()による連結だけでいけるかと考えたが、うまくいかなかった。

疑似3カラム: 疑似2カラムで右しか使わないのも飽きてきたので、右にもカラムを追加して、擬似3カラムにした。幅は1.7:2.89:1という比率になっている。使うのはほぼ真ん中のカラムだけで、今までとあまり変わらない。左右のカラムは幅が違い、真ん中寄せ風だが真ん中寄せではない、というイロモノだ。

メモ(2018年7月31日): 📄や🌃をタイトルにするのをやめた。text-decorationプロパティーとの相性が気になる。下線がEmojiをぶった切ってしまう。text-decoration-skipプロパティーも効かない。Chrome 69やFirefox 62ではEmojiが下線の上に重なるのであまり気にならないが、Edge 17ではかぶさってしまう。とりあえず「メモ」と「夢」に戻した。

marked v0.4.0での手書きHTMLパースにおけるバグ: 少し前に出たmarkedのv0.4.0では色々と修正が入り、かつ見出しにid属性を振らないオプションが追加された。更新してみたが、結構な感じでバグがある。一番ハマったのがMarkdownファイル内に含まれるHTMLがぶった切られるので、突然p要素が挿入されたりするものだ。同じバグについてのイシューは既に立っていた。

メモ(2018年7月28日): ほぼすべてのページからclass属性がなくなった。残っているのはコード用のlanguage-*のみだ。なくすためにマークアップを見直していたりした。なくせるように無理やり変えたとも言う。language-*は消すと戻せそうもないので残しておいた。img要素のwidthとheight属性は、定期的に消したくなるので消した。画像のサイズならどうにでもなる。

sharpパッケージとSVGでのhsl(): このウェブサイトのタッチ・アイコンが壊れていた。どうもSVGからPNGへの変換にsharpパッケージを使うように変えたところで発生したらしい。sharpがSVGでhsl()をサポートしていない(正確にはSVG 1.1までのサポートのため、その仕様で定義済みの色しかサポートしていない)ことが原因だった(バグではない)。SVG側で#rrggbbに変更し、無事修正できた。

メモ(2018年7月25日): 色々あって、このウェブサイトのグローバル・ヘッダーを少しいじっている。その過程でオシャレっぽいウェブサイトを見て回っていたら、以下のようなマークアップになっているウェブサイトがあった。

2値基準のサイズ決め: 黄金比を始めとした固定比によるサイズ決めは、SassやCSS Custom Propertiesによって一定の市民権を得たように思う。ただ黄金比(1.618)と1の間のサイズが欲しくなることも多い。例えば見出しのline-heightプロパティーの値だったり、フォーマット済みテキストの文字サイズだったり、だ。HTML版・普通のHTMLの書き方では固定比を1.7にして、それを1と1.25にかけ合わせていくというアプローチにした。最近よく使う手法で、僕の中ではDual Scale Sizingという名前で呼ばれている。

静的HTML版・普通のHTMLの書き方: 普通のHTMLの書き方(またはHTML Best Practices)の校正を終えた。1週間くらい寝かせてから始め、なんとか直せたように思う。ということで静的なHTML版を「普通のHTMLの書き方」という同じ名称で生成し、このウェブサイトで公開した。まとめたら200KB超のボリュームになってしまった。

普通のHTMLの書き方: 保守しやすく、規模に依存しないHTML文書のために

フィンランド陶芸(目黒): 目黒区美術館へフィンランド陶芸という展覧会を見に行った。涼しそうな日を見計らって行きたかったが、9/6の終了までそんな日はなさそうなので、さっさと行くことにした。

ティファール グランブルー・プレミア ディープパン 22cm: 5~8年くらい使っている3種類のフライパンが、どれもダメになってきたので、買い替えることにした。今までは18cmと22cm深型、26cmの3つを使っていたが、フタが複数必要で面倒だった。22cmのガラスのフタが気に入っており、それだけにしたかったので、それに合わせて22cmで2種類買うことにした。

💱: 通貨換算のEmojiがある。おおむね円とドルのマークを矢印でつないだもののようだ。特に疑問を感じてはいなかったが、もしかするとロケールで切り替わったりする仕組みがあったりするのだろうか、と考えてしまった。ユニコード的には特にそういったロケールを考慮した仕組みはなく、異体字セレクターで切り替える仕組みもないようだ。しかしEmojiを担当するフォントによっては円とドルではない場合もある。

メモ(2018年7月9日): 5年くらい前に買った短パンを家で愛用していたが、ついにすり切れてきてしまった。短パンは健康面でダメージがあるため、無印良品でセールになっていたリネンのロングパンツにした。

メモ(2018年7月2日): 近所に出きた成城石井にはレストランが併設されている。開店から半年以上たつが、いまだにランチが始まる前には20人前後の行列ができている。空いたら行きたいと考えているが、一向に空く気配がない。予約したい。

メモ(2018年6月29日): 色々諦めて無印良品の撥水ジャケットを買った。昨シーズンの商品が半額になっていたので、失敗でもダメージが少ないだろう。モンベルのレインハイカー・ジャケットでも良かった気がする、とかもう思っていたりする。

メモ(2018年6月27日): 今月の20日くらいからiPhone 5sの調子がまた悪くなったので、えいやっと新しいiPhoneとして復元した。その2時間後にフリーズしたので、ついにApple Storeに持ち込んだ。ソフトウェアで検査しても異常は見つからず、バッテリーにもおかしいところはないので、やるとしたら基盤交換か本体交換しかない、と言われた。高いし、万が一直らなかったら(自分の環境かiOSやiCloudに問題があったら)金の無駄なので諦めた。

HTML Best Practicesの解説: HTML Best Practices (または普通のHTMLの書き方)に解説を追加し始めた。in-detailというフォルダーに1ファイル1プラクティスで置いてある。解説を書いていないプラクティスにも空ファイルも用意してしまったのでわかりにくいが、ようやく90%といったところだ。

リグレッション・バグとその修正: Edge 17でのショートハンド・プロパティーにおけるリグレッション・バグが内部では修正されたようだ。ひと安心というところだが、いつ直るかとの問いに担当開発者が「秋のアップデートで直る」と答えていた。Edge 16で問題なく動いていたものが17で動かなくなり、既存のウェブサイトに影響があるのだから、月例アップデートで直すべきバグだろう。

カード管理アプリ: iOSのWalletやAndroidのGoogle Payに乗っかってこないポイントカード的なものを管理するアプリを探していた。いくつかあるがStocardくらいしかものの役に立たない。そのStocardも僕のiPhone 5sだと立ち上げに10秒弱かかり、使いづらい。

夢(2018年6月19日): 道を歩いていたら側溝の継ぎ目につまづく。体勢を立て直して歩くもまたつまづく。靴を脱ぐ。つまづく。靴下を脱いだところで目が覚める。

メモ(2018年6月17日): Windows 10の1803で新しくアプリがいくつかインストールされる(されてしまう)。うちいくつかは消せるので、できるだけ消していったら消せないはずのフォト・アプリが消えた。ストアからMicrosoftフォトをインストールして復活できた。するとムービー・エディターも復活していたので、どうやらこれをアンインストールするとフォト・アプリも消えるようだ。

vim-css3-syntax v1.0.0: Vim 8.1への対応でキリが良いので、ついにvim-css3-syntaxのv1.0.0をリリースした。変更点はVim 8.1に含まれるデフォルト・ランタイムに応じた整理とテスト用CSSのフォーマットの変更だけだ。動作はVim 8.1 patch 1-26で確認している。

メール・アプリの削除: iOSがブラックアウトする問題が再発した。DFUモードで復元したものの、安定したのは3週間くらいだった。これでもダメとなるとApple Storeに持ち込みするしかなさそう。……と考えていたところ、iOSのメール・アプリがクソでOSごと落ちる・固まるなどという信ぴょう性はあまりない噂を聞きつけたので、削除してSparkを使ってみている。

メモ(2018年6月11日): 土曜日の夕方にやっていた何かの再放送で、うまく揚げ物の油を切る方法をやっていた。油から出す時に端だけを10秒くらいつけたままにしておくと良いという話だった。昨日は鶏手羽中肉の唐揚げだったので試してみたが、確かに油切れが良かった。味はあまり変わらないような気がした。

メモ(2018年6月8日): 梅雨になった。雨が降った日は嬉々として長靴を履いた。家で見つけたパッカブルのレインコート着てみたりもしたが、800gくらいあって持ち歩くのは無理そうだった。

北沢~駒場~上原~六本木~新宿: 5/29に日本民藝館と森美術館をはしごした。最寄りっぽい駅を使わず手前から歩いたので、軽く2万歩を超えてしまった。足も目も頭もまんべんなく疲れた。

メモ(2018年6月4日): ここ数年利用していた無印良品の水出しアイスコーヒーが100円も値上がりしたので、あきらめて自分で作ることにした。昨年試した時に普通のお茶パックだとうまく出ない記憶があったため、だしパックなどという名前で売っている大きめのパックを使うようにしたらおいしく出せた。少しでも節約しようと何回か試した結果、水800mlに対して28gまでなら減らせるようだ。次は24gに減らしてみる。

Patrickのリペア・サービス: PatrickのMarathon-LEを愛用しすぎている。ついにソールがつま先の方も薄くなってきて、かかとの部分も割れ始めてしまったので、オールソール交換を頼んだ。写真の通りきれいに交換された。ついでに靴ひもも交換したので、気分はほぼ新品だ。料金は8640円と、スニーカー自体の値段を考えると安くはない。

メモ(2018年5月30日): 今年のTシャツは白・紺・白・墨・白の5枚ローテーションになった。去年買ったライトグレーのTシャツはかなり調子が良かったので、お出かけ用にした。代わりにお出かけ用だった白のを普段着におろした。

メモ(2018年5月28日): 暑くなったので扇風機を出した。5年目になったが、特に壊れてもおらず、まだまだ使えそうだ。「回るものはすぐに壊れる」という先入観を持っているので、毎年「今年で壊れそう……」などと考えている。季節家電の定額サブスクリプション・サービスが欲しい。夏に扇風機、冬に加湿空気清浄機とかで1万円/年くらいならきっと払える。

vim-css3-syntax v0.28.0: vim-css3-syntaxのv0.28.0をリリースした。特に大きな変更はないが、何に使うのかよくわからない(わかっていない)CSS Layout API Level 1が追加されたので、マイナー番号が更新されている。

メモ(2018年5月21日): あまりに暑く、家族もいなかったので、夕飯を作る気力がまったく湧かなかった。汗もかいていたので風呂へ入りながら、食べに行くところを考えていたが、やはりビールかと決めた。夕方からしかやっておらず、なかなか行く機会がなかった地元のビアバーに行くことにした。ついに「手ぶらで飲み屋」の実績を解除してしまった。

OS-1パウダー: OS-1を何本か備蓄している。災害時用と体調不良時用を兼ねたものだ。500mlは大きい気がするので小さいのはないかとOS-1のウェブサイトを見ていたら、粉末タイプがあった。水に溶かして飲むので調節しやすく、何よりも未開封なら賞味期限が5年半(66か月)と長い。備蓄している500mlペットボトルが5月末で賞味期限が切れるので、こっちにしてみた。

メモ(2018年5月16日): 月曜日は天気が良かったので、予定を前倒ししてIKEA立川に行ってた。時計の電池を交換するために国分寺にいったん寄ってから行ったりした。立川にはなんでも新宿の7割くらいあって便利そうだった。

メモ(2018年5月11日): 数日前に突然iPhone 5sのモーション・センサーが不調になった。3000歩くらいかかる距離を歩いても500歩にもならない。駅まで50mとかになってしまう。モーション・センサーの狂いは内蔵のコンパス・アプリで直せるが、ブラックアウトするようになった時に消してた。GPSを使った自動修正を有効にしておくと調子悪くならないらしいので、消さないようにしたい。

Edge 17でのネストしたカスタム・プロパティーとショートハンド・プロパティーにおけるバグ: タイトルまま。Edge 17ではmarginプロパティーなどのショートハンド・プロパティーでカスタム・プロパティーをネストして(calc()などと共に)利用すると、値が解決できず0になってしまう。Edge 16では問題なく解決できるので、リグレッション・バグということになる。

コマンド・プロンプト上でBusyBoxを使いつつGitとNode.js: コマンド・プロンプトでなんとかなりそうにするためにタイトルのような構成にしてみている。Unixコマンド群を手に入れるとすると、UnxUtilsかGnuWinかBusyBoxかだ。安定はGnuWin、簡便さはUnxUtilsに軍配が上がりそうだが、BusyBoxは気持ちいい。

メモ(2018年5月8日): リビングの掃き出し窓から庭への段差が33cmくらいある。そろそろ降りる時に身の危険を感じるので、踏み台のようなものを探していた。端を踏んでもバランスを崩さないなど色々考慮することがあり、ちょうど良いものがなかなか見つからない。

メモ(2018年5月6日): iPhone 5sはGoogle製のアプリを消してからそこそこ安定していた。こっそり再起動していることはかなりあったようだが、ブラックアウトでのフリーズは1回だけだった。大丈夫そうかな……とは思ったが、なんとなく気が向いたのでDFUモードで更新と復元をした。安定すると良いな。

メモ(2018年5月4日): 連休中日で道がちょっと空いた。初日はららぽーとから踏切2つと信号3つくらいまで詰まっていたが、踏切1つと信号1つくらいまでに減っていた。ららぽーとは変わらずけっこう人がいた。相模川か近くの公園でバーベキューをやるのか、スーパーでは大量に買い出しをする人もけっこういた。

日比谷~丸の内~東京: くまのものが連休までだったのでその前に行こうとエンヤコラ出かけた。6月くらいまでやっていると勝手に考えていて危なかった。ついでにオープンしたばかりの東京ミッドタウン日比谷にも行ってみたかったので、日比谷から始めてフラフラ歩いて東京駅に行くことにした。

防水の帽子: 軽くコンパクトとはいえ、折りたたみ傘を常に持ち歩くのも飽きてきたので、防水ハットを持ち歩こうと見繕っている。蒸れない点を重視してGore-Texのものにしたい。The North Faceのノーウェザー・ハットがつばが広くて使いやすそうだった。

墓参り2018: 今年も墓参りに甲府へ行った。草むしりのためとも言う。天気が良く、暑くなりすぎないギリギリの日に行けた。

iOSとGoogle製アプリ群: ここ1か月くらいiOSがフリーズするようになっていた。ついに日に3回フリーズしたので、アプリを限界まで減らしたが改善しない。必要というかOS間での様々なやりとりに不可欠だったGoogle製のアプリをいくつか減らしたらウソのように安定した……。

夢(2018年4月16日): 歩くごとに1%ずつスマフォのバッテリーが減る。残り1%になって動けなくなったので、その場で前後左右に向きを変える。1分くらい続けたところで目が覚めた。

メモ(2018年4月13日): 専用アプリがあるクリーニング・チェーンに乗り換えたいが、駅前で遠いので、単純に家から近いクリーニング屋を選びたくもある。前者だと持って行くのと引き取りに行くのが大変で、後者だと運が悪いと仕上がっていない。5日くらい余裕を持って引き取りに行ったが、一部仕上がっていなかった。

KeePassXCへ: 長らくパスワード・マネージャーとしてKeePassを使っていたが、そのクロスプラットフォームのクライアント・アプリケーションであるKeePassXCに乗り換えようとしている。KeePassのデータベースをそのまま利用できるのでインターフェイスが変わるだけだ。操作感も少し変わる。データベース・ファイルの扱いに多少の不安があるが、今のところ問題なく動いているようだ。

コマンド・プロンプトへの帰還: 久しぶりにMSYS2のbashをやめてコマンド・プロンプトで活動している。といってもUnxUtilsは入れてしまったので、よくわからない環境になってしまったような気もしている。とにかくバックスラッシュが苦行だ。これさえ乗り切ればなんとかなりそう……なってくれないと困る。

夢(2018年4月9日): 財布から出そうとしたクレジット・カードが折れてしまう。とりあえず現金で払おうとするも、お金が足りない。泣く々々カゴから柿の種を取り出し、棚に返しに行く途中で目が覚めた。

メモ(2018年4月8日): 日付けをタイトルにするのもそこそこ面倒なので、Emojiにすることにした。過去記事も変える。夢も🌃にしたい。変えよう。

メモ(2018年4月6日): パソコンをバックアップするという作業をするには、ネットワークにつながったストレージが必要になる。バックアップ用のアプリケーションを含めパッケージングされたものから、単なるNAS、ほとんどパソコンといったものまで選択肢があるが、どれでもほぼ完全にバックアップ可能だ。

JR東日本の指定席券売機: JR東日本はほとんどのキップを指定席券売機で買える。窓口に並ぶのは面倒くさいので、いつもドキドキハラハラしながら買っている。何を買う時も使いやすくはない。この前は家族に頼まれて新幹線の乗車券だけを買おうとしてまんまとハマった。

Googleドメインでのメール転送: Googleドメインのヘルプによると、Googleのネームサーバーを利用していないとメール転送は行えないことになっている。つまりCloudflareを利用する場合はこの機能を使っての独自ドメインのメールアドレスは諦めることになる。個人で利用しているドメインでは使うあてもなかったので、そういうものかと理解していた。

メモ(2018年3月31日): コーヒー・テーブルというかセンター・テーブルが欲しい。ソファーの前に置いてちょうど良さそうな大きさで、下に棚があると良さそうかな、と考えている。形がともかく、色が難しく、全く決めることができない。

メモ(2018年3月29日): たまにTwitterのタイムラインを見たくないなーとなることがある。とはいっても一方的に泥は吐きたいので完全に消すまでには至らない。以前はIFTTTを使ったターミナルからつぶやくだけスクリプトでやっていたが、むしゃくしゃしてIFTTTアカウントを削除して以来、使えなくなった。

メモ(2018年3月28日): このウェブサイトではHTMLで各記事がそれぞれ保存されている。Markdownでも良いが、やはり移植性に欠ける、というか受け入れる側の対応が欠けていた場合にとても面倒なことになるため、やりたくない。Markdownは文章を書くシステムであって、フォーマットではないと考えていることもある。

テメレア戦記: 19世紀初頭のヨーロッパを舞台にして始まるテメレア戦記の既刊を読み終えた。ナポレオンがヨーロッパを制覇しつつある時代の小説だが、主戦力が歩兵・砲兵、そしてドラゴン、という小説だ。一応は現実の歴史を追ってはいるが、ドラゴンですべてどうにかされる。史上では気球で試みられるナポレオンのブリテン島上陸作戦はドラゴンで行われ、2度目には成功しちゃったりする。大変だ。

メモ(2018年3月24日): パジャマを春秋用のものに変えた。春秋はダブルガーゼ、夏はシアサッカー、冬はフランネルのものをそれぞれ2着ずつ交互に着ている。この冬はフランネルの片方がすり切れて背中に穴があいてしまった。ちょうどセールが終わった頃に気付いたため買い替えられなかった。

無印良品 ワーキング・チェアー グレー : ちょっと良い椅子を買おうとすると、やはり10万円くらい必要になる。それは無理なので、5万円以下で白いキャスターのものを探し、低めに制球された無印良品のワーキング・チェアーになった。送料込みで12400円だった。

メモ(2018年3月22日): 保温調理鍋でプリンができる、と小耳にはさんだので作っていた。材料を合わせた後にどれくらい湯せんするかがキモで、2分くらいが良さそうだった。保温する時間は30分くらいで十分に固まるが、入れっぱなしでも大丈夫なようであまり気にする必要はない。

メモ(2018年3月20日): ボーっとしながら作ったベーコン・ホウレンソウ・シメジのスパゲッティーがおいしくできた。最後に麺をフライパンで仕上げない方が好みのようだ。というより火力と技術力の関係でうまく炒められないのかもしれない。

🙏︎😊︎😇︎😉︎: Googleを使ったサイト内検索へのリンクをグローバル・ナビゲーションに追加した。文字はEmojiだが、異体字セレクターのFE0Eでテキスト化している。文字参照は相変わらず機能しない(すごい困る)が、安定して機能するように見える。この記事のタイトルも実験だ。

メモ(2018年3月18日): 冬にパジャマの上に羽織ったり、夏にTシャツの上に羽織ったりする何かを2年くらい探していたが、なかなか見つけられなかった。Vネックのカーディガンが似あわず、フード付きのものを買わないようにしていると、かなり難しくなる。

vim-css3-syntax v0.27.0: CSS仕様の変更に追いつけ追い越せとvim-css3-syntaxだけは真面目に更新している。最近はあまり大きな変更はないが、新しい仕様としてGrid Layout Module Level 2とText Decoration Module Level 4が追加されたのでv0.27.0をリリースした。

メモ(2018年3月15日): おとといはあまり目的もなく横浜をフラフラしていた。噂のJR改札から地下街にそのまま抜ける通路を通れたので満足した。

フォント・サイズ変更機能をCSSで: 実装と実行の両面でコストの低いフォント・サイズ変更機能の実装を考えていた。:target疑似クラスを使う方法が最もコストが低いように思えた。

メモ(2018年3月12日): Patrickの直営店がMark isみなとみらいにできたようだ。靴ひもを買いに行こう。そろそろオールソール交換を……する前にSpingle Moveの方をかかとだけ直した。空いていたので1時間買い出ししている間に直った。

メモ(2018年3月11日): 近所の有隣堂の改装が終わった。雑誌コーナーが縮小し、マンガが奥から手前に移動、文芸は一番奥に追いやられた。そこそこ大きいチェーン店でも書店は大変そうだ。有隣堂は東京ミッドタウン日比谷に実験的な店舗を作ったらしいが、地元の方は時代に負けた形か。棚が全体的に低くなったのは良いところかもしれない。

ALPS製タッチパッドでスクロール方向を反転: 使用しているパソコンのタッチパッドで、二本指での上下スライドによるスクロールをiOSやmacOSの挙動と合わせたい。しかしWindows 10ではOSレベルで設定できない。何かしらのソフトウェアを入れるか、タッチパッドのドライバーに設定があることを期待するしかない。ALPS製タッチパッドでは、ドライバーの設定アプリでは行えないが、レジストリーに隠されていた。

依存の更新を自動で: 小さいプロジェクトだと依存パッケージのバージョンを固定する意味はあまりない。のでサクサク最新版に更新し、パッパッと修正していくのが知見がたまるという利点もある。といっても手作業でnpm updateは忘れがちなのでnpm versionの前に自動でやってみている。

メモ(2018年3月8日): ここ数年、頑張って爪を伸ばしていた。5mmまで伸ばして3mmに削るのは楽しい。指の形に合わせてうまく丸く削れると達成感がある。そのために伸ばしていたといっても過言ではない。色々あって普通に爪切りでバチバチ切るように戻った。

夢(2018年3月5日): 開幕を前にして、突然、松坂が解雇される。「えーここまできたのに……」と思ったところで一気に目が覚めた。

メモ(2018年3月4日): MinGitをあれこれした勢いでGitの設定をいじり始めてしまった。それだけでなくいつの間にかVimやターミナルの設定もいじり始めてしまい、帰ってこれなくなってしまった。なぜかSolarizedのカラースキームを作り直したりして、ようやく気が済んだ。

BusyBox版MinGitとか: Perl依存がなくなったので、MinGitで生きていけそうだ。特にBusyBox版はコンパクトで速いということなので是非とも使ってみたかった。環境を壊さないように注意しながら色々試してみたが、素直にフルセットのものをインストールして使うべきという振り出しに戻る結論に至ってしまった。

夢(2018年3月2日): 街で食事をしている。すると30くらいのゴツい男性が近づいてきて、折りたたんだ5000円札をテーブルに置く。「なんですか、これ?」と聞くと「ま、いいから、いいから」と要領を得ない答えしか返ってこないので、無理やり返す。食事を終え、店を出ると先ほどの男性に他の客が絡まれているところで目が覚めた。

メモ(2018年3月1日): npmスクリプトでrm -rfなどとやっているところをnpx経由のrimrafなどに置き換える遊びをしていた。mkdirはmkdirp、cpはcpxが良さそうだ。cdはnpx経由でやっても意味がない。

3000記事目ほか: この記事で3000本目だ。そしてこれがBlosxomで生成される最後の記事になる。キリのいい数でやめようと前々から決めていた。思いおこせば……(中略)……色々な意味で良いソフトウェアであったし、今もその仕組みは尊敬できる。

メモ(2018年2月27日): メモアプリというかなんとなくDropboxにファイルとしてサクサク記録しておけるようなものが欲しい。Dropboxアプリでいいか。といった無限ループに陥っている。

Vimの公式CSSシンタックス: 久しぶりにVimをアップデートし、いつもの通りデフォルト・ランタイム群に含まれるCSSシンタックスを確認していた。クラス名に使える文字に関する更新が入っているくらいで大きな変更はなかった。しかしどうやらVimの公式リポジトリーで管理されるように戻ったようだ。以前の状態に戻ったとも言える。JulesWangがメンテナンスしていたリポジトリーは非推奨ということになったようだ。

メモ(2018年2月25日): 前にAmazon.co.jpでアルファ化米を買ったところ、消費期限がまちまちだった。イオンで見たところ2023-01のものが置いてあり、ほとんど値段も変わらないのでザクザク買った。ネットスーパー的なものの生鮮食料品をまだ買ったことがないが、消費期限や加工日時はどんな感じのものが送られてくるものなのだろうか。

PostCSSプラグインとESLintのno-param-reassignルール: PostCSSプラグインは暗黙的にビルトイン関数の引数を書き換えるというコードを書く前提になっている。この仕組みとESLintのno-param-reassignルールの食い合わせが非常に悪い。なんとかなることもあるが、どうやればいいのか見当がつかないこともある。

夢(2018年2月23日): 甲府駅から中央林間駅まで地下鉄に乗っている。中央林間の手前でレールがらせん状になっており、地上までグルグル昇っていく。電車を降り、改札じゃないところから外に出る。Suicaを通していないことに気付き、あわてて駅まで戻ったところで目が覚めた。

メモ(2018年2月22日): パックご飯は消費期限がかなり長いということを知った。だいたい1年くらいあるようだ。冷蔵する必要もなく、災害用の備蓄にも良さそうだ。ローソンで買えるのも、dポイントが余っている今だとうれしい。

メモ(2018年2月21日): ドコモの更新ありがとうポイントなるものが使いづらくて困る。地道にローソンで使うのが一番マシなようだ。次点がスターバックスカードへの交換だろうか。ジョーシンが近くあればAmazonギフト券に進化させられるらしいが、近くにあるようなないような感じで面倒くさい。フレッツ・ポイントにでも交換させてほしい。

メモ(2018年2月20日): 白の染めQで色々なものを白くしている。机の脚が黒なのでこれを白くしたいと考えていて、それの実験だ。だいたいのものに下処理なしで塗れることはわかってきた。下処理が必要なものも専用プライマーだけで良いようだ。そこそこお金がかかることもわかってしまった……。

星を創る者たち: 読んでみたかった谷甲州による未完の大作だった「星を創る者たち」を読んだ。ハードSFに分類されるが、どちらかというと未来が舞台のノンフィクションが近いような気がする。「隧道」とか「第三工区」とかいう単語にグッとくる類いの人間なのですごく好きになった。

メモ(2018年2月18日): 収納を増やすためにハンガー・バーにハンガー・バーを吊るすやつを作ろうとか考えていた。簡単そうだが、いまいち使い勝手が良くなさそうなのでやめた。そろそろカラーボックスの誘惑に負けそうだ。

メモ(2018年2月17日): 近所で久々にルバイヤートが売っていたので買った。流行っているとこの辺りで売られなくなっちゃうのが面倒くさいな。ネットで買えみたいな話なんだろうけど、それほど高いものは買わないし、量も買わないので、送料がもったいないみたいな感じになってしまう。

アイリスオーヤマ LEDシーリングライト 人感センサー付 700lm: 内玄関の照明を買った。丸型蛍光灯を買ってしのぐことも考えたが、マイナーなサイズで割高(近所だと1000円くらいする)なため、思い切って買い替えることにした。人感センサー付きで安価、なるべく小さいものということで、知り合いの家で見たアイリスオーヤマの700lmで電球色のモデルにした。3237円だった。箱から出して10秒で取り付けられてすごい。

リントやフォーマットをnpxで: プロジェクトで使うリンターとフォーマッターをインストールせずに(させずに)npxで呼ぶパターンはどうなのかという実験をしている。遅いと言えばそれはもう間違いなく遅いが、いずれにしてもインストールより実行の時間が支配的なので、実用的な速度であるとは言えそうだ。たまに呼ぶ、またはGitのフックで呼ぶような場合には問題なく使えるだろう。

メモ(2018年2月14日): thisとは何かを僕がちゃんと説明できないのが悪いのかもしれない。ということを考えながらブリの塩焼きを食べた。ブリの照り焼きというのがどうも苦手だ。噛むとキシキシするような気がして、食感が苦手なんだと思う。なのでもっぱら塩焼きにして食べている。今の時期なら本当はサワラが食べたいが、やたら高い。

夢(2018年2月13日): 白いシャツを洗濯している。大体きれいになっていたが、襟と袖の黒ずみは消えきっていなかった。そこを修正ペンでぐりぐり消しながら「Photoshop欲しいな」と考えたところで目が覚めた。

メモ(2018年2月12日): 1年くらい前にできた近所の焙煎屋に初めて行ってみた。「ハンドですか? エアロですか?」みたいに聞かれたのがツボに入りかけて、笑いをこらえるのが大変だった。おいしかったけどやはり高いので、たまに買うことにしよう。

Promise化されたexecFile()でのエラー: child_processモジュールの関数群もutil.promisify()を使ってPromise化できる。しかしexecFile()などは元々のコールバックに3つ引数が渡されることから少し使い方が違ってくる。ここまでは皆が通る道だろう。実はそれだけでなくリジェクトされた時も少し違うことが公式ドキュメントの該当する項の最後に記載されていた。

メモ(2018年2月10日): ニトリの商品にクローゼット収納が侵略されていく。恐怖感が出てきたので、今回はトップバリュにした。ようやくクローゼットに入れ込んでいるチェストを捨てられそうなくらいまで整理が進んだ。無印良品のPPケースのホワイトグレーがどこでも買えるようになったので、これに下着類を入れるようにしたらチェストがいらなくなる。

メモ(2018年2月9日): 横浜まで出向いてやった。遅刻されたし最悪だった。ベイクォーターのCafé&Meal MUJIが閉店していた。夏くらいに謎の値段設定の家具屋ができていたらしい。どこかで見たような家具がオリジナルで売っていて、しかも安くなかった。荒んでいたので欠点ばかり目に入る。

HTMLMinifierの利用停止: しばらくの間、HTMLMinifierを導入していたが、やっと使うのをやめられた。そこそこ遅いこと、代替手段が存在すること、そしてビルド中に変なことが起こった時に差分をとりにくいこと、あたりが強い理由だ。スッキリした。

vim-css3-syntax v0.26.1: Selectors Level 4の新しいWDが出た。追加と変更が多く、議論を辿るのが面倒そうだ。そこそこ大きい変更で、まだ実装が追いつかないとも考えられるので、新しくv0.26.1をリリースしておいた。Selectors Level 4以外では前回のリリースからの更新は少ないので、セレクター絡みで不便な場合はv0.26.0に戻してほしい。

夢(2018年2月6日): 買い物から帰るとベランダに黒ずくめの男たちが2人いる。「泥棒だ!」と思い110番するも、出た人に「あー最近多いんですよね。何か盗まれていたり、誰か殺されていたりしたら改めて通報してもらえます?」などと軽くあしらわれる。仕方がないので家に入り、昼ご飯を作り始めたところで目が覚めた。

メモ(2018年2月5日): 1月は外に出るとすぐに鼻水がでて大変だった。ポケットティッシュの消費量が常になく多く、ついにストックが尽きてしまった。いよいよ花粉症か……と考えていたが、すこし暖かい日には出ないのでまだ違うようだ。何日か目もショボショボして覚悟を決めていたが、これは単に風邪の引きかけだったようで、数日ですっきり治った。

flagかflagsか: fsモジュールでwriteFile()の第三引数やcreateWriteStream()の第二引数ではオプションを渡せる。エンコーディングはそのまま渡すことが多いので、主にパーミッション操作で使うが、書き込みオプションもここで指定する。しかしあろうことか、writeFile()ではflagで、createWriteStream()ではflagsと、違う名前のキーで指定されることを知ってびっくりした。あまり使ったことがなかったので知らなかった。

手袋が落ちていた: iPhoneの写真アプリでアルバムを作り、落ちている手袋の写真をまとめていたが、本体交換の折に消え去った。そこそこ辛かったのでGoogleフォトで「手袋が落ちていた」アルバムを作ることにした。落ちているのもあと1か月くらいなので頑張りたい。

メモ(2018年2月2日): ここ3年くらいでほうとうという料理の認知度が上がったせいか、シマダヤのほうとうが安価に手に入るようになってうれしい。最近は茹でほうとうなるものまで売っていてすごい。家にある味噌で作りたいので、麺だけのものが良く、量的にもちょうど良いシマダヤのものに落ち着いた。本当は内田製麺のものが欲しいが、さすがに売ってはいない。平井屋や横内製麺のものはあまり好きではない。

メモ(2018年2月1日): ポケットに1万円札と5千円札を入れたまま洗濯してしまった。思ったよりは大丈夫そうだったが、念のためATMでマネーロンダリングすることにした。1度目は両方突き返され、2度目は5千円札だけ通った。1万円札は3度挑戦してダメだったので、窓口で交換してもらった。

日比谷から東京、2018年1月30日: 日比谷から東京までの写真をまとめた。

グラフィズム断章(クリエイションギャラリーG8): リクルートGinza8ビルでやっているグラフィズム断章という展覧会を見に行った。新橋駅のすぐ近くなので、横浜駅回りが速そうだったが、乗り換えが楽な小田急線から千代田線で日比谷駅から歩いて行った。

メモ(2018年1月29日): 床屋へ行くのに成功した。すっぱり短くするつもりだったので、風邪をひかないようにニットキャップを持っていき、かぶって帰った。このニットキャップが少しヨレヨレになってきたような、馴染んできたような。買い替えるタイミングが難しい。

特別料理: 短編づいているので、久しぶりにスタンリイ・エリンの特別料理を読んだ。3度目の気がする。1度目は「あっそういうことか」、2度目は「羊肉がおいしいと罪悪感が残るようになってしまった……」、3度目になると「SNS時代だと成立しなそうだな」というヒネた感想になってしまった。2度目が一番面白かったと思うが、3度目もやはり面白い。

夢(2018年1月27日): 見覚えのない異世界らしきところに行く。しかし何もスキルや知識、手についた技術がなく、すぐ死ぬ。これを3回繰り返したところで目が覚めた。

メモ(2018年1月26日): 新しいVAIOシリーズにはTruePerformanceなる技術が載っているらしい。詳しいことはよくわからないままだが、IntelのプロセッサーにあるTurbo Boost後にかかるパフォーマンス制限を、電源効率や熱効率を上げることでゆるくしてもらうというように読めた。第8世代Coreが採用されているDellのXPSシリーズにも似たような機能(Dynamic Power Modeと呼ばれている)が載っているようだ。特に筐体が変わったもうすぐ出る(はずの)XPS 13では、同じプロセッサーが採用されている製品に比べてかなりのパフォーマンスの改善がみられるレビューもあり、興味深い。

いつのまにかiPhoneが落ちてしまう: ここ2週間で3回、いつのまにかiPhoneがシャットダウンしたりしている。交換前のiPhoneでも起きていたので、交換品の不具合ということは可能性が低そうだ。SpectreやMeltdownの対策アップデートの影響か何かだろうか。

メモ(2018年1月24日): ゴミ収集所がいつも汚いところは雪かきされないということを学んだ。というより汚いゴミ収集所というものが急速に増えてきた。少しだけ人気が出てきた証拠か。県内だと4番目くらいに人気があるとされているらしい(市長の広報による)が、横浜市や川崎市という大きなくくりがあっての4番目だ。それらを区単位で人気を集計したら10番目に入らないだろう。駅前のマンションが建ちきり、相鉄線から東横線乗り入れが開通したら……二俣川とかいずみ野線の方が人気が出そうだ。

キャッチホンの解約: さすがに固定電話でキャッチホンを使う機会もなくなってきたので解約した。ウェブ上で解約でき、解約した日付けにより日割りで最後の料金が決まる。色々考えずに解約できてよかった。

相対日時の単位切り替えタイミング: インターネットで相対日時をよく見るようになってもうずいぶんになる。このウェブサイトでも記事の日時表記など一部で使っている。ここの実装では単位の切り替えタイミングが少し違い、90分前以上にならないと1時間前に、36時間以上にならないと1日前に、18か月以上前にならないと1年前にならないようにしていた。

メモ(2018年1月21日): 定期的に机の位置を変えることにしている。久しぶりに窓に向けて置いた。冬で日が低いせいもあり、明るすぎてとまどう。あってよかったレースのカーテンという感じで、ちょうどな光量に調節できている。この前ビリッと破ってすごい怒られたけど……。

地元のイチゴ: 季節なので食後にイチゴをバクバク食べている。地元でイチゴの生産が盛んなおかげで、そこそこのおいしさのものがそこそこの値段で手に入る。スーパーだと栃木や群馬のブランドものが中心だが、駅前にある農協の売店で地元産のものが売っている。イチゴは洗わなくていいし、皮をむかなくていいし、種もないし、季節柄冷やさなくても保存がきくし、良いことだらけだ。

メモ(2018年1月19日): IMEのショートカットをデフォルトに戻してみている。長年の手癖はなかなか抜けないが少しずつ思い出してきた。半角/全角キーを押しまくっている。Escキーと押し間違えまくっている。MS-IMEにあるShiftキーを単独で押して一時的に半角英数モードに変える機能も久々に良く使うようになった。

Promiseフローの最適化: Promiseで構成される処理のフローを最適化しようとするとよくわからなくなってくる。awaitで依存する処理同士を繋げ、それぞれをPromise.all()で並列に実行する、というのが基本のアプローチのようだ。しかし当然Promise.all()の中で更にPromise.all()することになり、それがどんどん入れ子になっていく。すると見通しが悪くなってくる。

メモ(2018年1月17日): おばあさんが7人の子供たちを引き取ったものの、全員が近寄ってはいけないと注意しておいた長持の中に消えていく、という短編小説を読んだ。特におばあさんが魔女だという描写もなく、消えちゃったね……とフワッと終わる。白雪姫と7人の小人をモチーフにしているのかなとは思ったが、よくわからないままだ。

夢(2018年1月16日): チキンカレーを食べながら、ビーフカレーを作っている。順調に食べつつ、順調に煮込み始める。チキンカレーをおかわりしたところ「このままでは炊飯器が足らない!」ということに気付く。駅前に買いに行こうと思い立ったあたりで目が覚めた。

メモ(2018年1月15日): 横浜に用事があって久しぶりに行った。ちょっと見ない間にCial跡地のビルがにょきにょき伸びていた。他の工事箇所は特に進んでいないような、若干幕板の位置が変わったような、という程度で、先は長そうだ。駅付近はほとんど変化がないが、少し離れたところでは活発に再開発が行われているようだ。小さいものから大きいものまでクレーン車をたくさん見れて楽しい。

Windowsのmkdirコマンド: Windowsのmkdirは内蔵コマンドだということをすっかり忘れていた。そのためnpm-scriptでmkdir foo/などと書くと失敗する(こう書き換えたら失敗していた)。別途MSYS2のmkdir.exeなどが優先順位の高いパスに置いてあっても、内蔵コマンドが優先されてしまうからだ。解決手段がなさそうなので、スラッシュなしで書くように戻している。

メモ(2018年1月13日): 最寄り駅の駅周辺で多数のマンションが建築されている。駅から一番遠いマンションでようやく第一弾の入居が始まるようだが、まだ埋まっていないらしい。他にもいろいろ建つ上、さほど値段が変わらないことから様子見している人が多いという話だ。選択肢がありすぎるのも善し悪しだ。

タイガー 電気ケトル PCH-G080-WP: やかんで沸かした熱湯をこぼすという事態が起こったので、ついに電気ケトルを買った。外側が熱くならないことや転倒湯こぼれ防止機能、空焚き停止機能を条件にすると、タイガーか象印しかなかった。その中で内部がプラスチックではないものとなると更に選択肢は狭まり、結局売れ筋のPCH-G080-WPになった。考えた意味がほとんどない。

新しいiPhone 5s: 予定通りiPhone 5sのバッテリー交換をGenius Barでお願いした。1時間くらいの散歩と昼ごはんで暇をつぶして受け取りに行くと、中でバッテリーが膨張していたとのことで、バッテリー交換代金のみで新品に交換で対応ということになった。この前の都合の良い夢は1/4くらい正夢になった。これでまたあと4年は使えるかもしれない。でもさすがにiOSのサポートがなくなるか。

最後の財布: 使っているHender Schemaの財布を人生最後の財布にする、という目標を立てた。気に入っているので大切に使うということであり、キャッシュレス時代への備えということでもある。カードをメインに使うためにカード・ケースみたいなのを買おうかと考えていたが、だいたい慣れてきたので買わなくても良さそうだった。

メモ(2018年1月9日): 重い腰を上げてGenius Barでバッテリー交換の予約をした。やり切ったような気がしているが、どう考えても始まってもいなかった。何かの予約のような他人も縛る行動をするのが極端に苦手なまま生きている。ふらっと行って「ヨロシク!」って渡したらサクッと交換して「マイド!」って終わってほしい。

動的な一覧化を利用したファイルのビルド: 少し前からCSSやJavaScriptファイル、ファビコンやタッチ・アイコンをビルドする時に入出力ファイルの対応を動的に生成していた。ファイル名を使って、ビルドするものかどうかの判断やまとめる先のファイル名を判断させる。そこそこ規模が大きくなると便利そうだが、数種類をビルドするだけには無駄なシステムだ。普通に対応関係を書くように戻した。

メモ(2018年1月7日): 昨日、3時間くらい散歩したら、足の小指が軽いしもやけになってしまった。たまになる。こういうのも湿気を逃がすGore-Texの靴だとなりにくくなるのだろうか。革やダウンとGore-Texのような、自然素材との組み合わせの良さがいまいちよくわからない。無駄にスペックを盛っている印象だ。

メモ(2018年1月6日): 寝ている時に地震が2回もあるとさすがにびっくりする。Apple Storeで5sのバッテリー交換をしてもらっていたところ、むこうのミスで壊れてしまい、無償でiPhone Xに交換してもらったなどという都合の良い夢を見ていた。地震で起こされると夢の内容を鮮明に思い出せる。

IMEのOSD: Windows 10のFall Creators UpdateでIMEのON/OFFの時にOSDで状態を教えてくれる機能が加わった。気づいた時に即座に無効にしたが、少し前から有効にして使っている。そこそこ便利なような、そうでもないような、微妙な印象のまま変わらない。しかし邪魔だなとまではならなくなったので、このまま有効にして使っていきたい。

main()しぐさ: asyncとawaitで書いていると、とりあえずasyncしてあげるためだけのmain()を書きたくなる(書いている)。これを見たり書いたりすると古の作法を思い出してしまい、体がかゆくなってしまう。セケンではあまり話題になっていなさそうなので、僕がうまく使えていないだけのようだ。それともざっくりIIFEで括るのが主流なのだろうか。"use async";とかないのかな。

2018年の目標: 特に思いつかない。牛を食べるのは単なる欲望で目標ではない。ノートパソコンを買うのも欲望だ。欲望に塗れている。とりあえずBMIを19にする、ということにした。もうちょっと良さそうなものを考えよう。月に1回は展覧会へ行くとかでも良いかもしれない。これも欲望か。

夢(2018年1月2日): 丸々と太った〇〇〇〇〇の△△を背開きにし、中をくりぬいて捨てる。代わりに餃子の種を詰め、フライパンでこんがりと蒸し焼きにする。食べようとしたところで目が覚める。

41回: 去年、夕飯に牛を41回食べた。今年は51回、つまり週一回のペースで牛を食べていきたい。うちのおせちは子供の頃からローストビーフがメインなので、今週のノルマは達成することになる。

Promise.all()の浮いた感じ: 今のところPromise.all()はそのまま書かざるをえないので、どうせなら全部Promiseの方が統一感あり、パッと見た時に気持ち良い、と感じる。しかし実際に全部そう書くのはとても面倒くさい。そうなると「シンタックスシュガーをください!」となり、キリがない。

ウルトラブックが欲しい: USB-Cの給電で間に合うパソコンだと色々楽になりそうだなと考えている。ということでいわゆるウルトラブックにしたい。他には条件はあまりなく、ディスプレイの輝度とコントラストが高く、8スレッド(つまりKaby Lake Refresh)で16GBメモリーのものが欲しい。HPのSpectre 13とRazerのBlade Stealth (国内未発売)、DellのXPS 13あたりで迷っている。自作時代にASUSに苦しめられたので、スペックはとても魅力的だがZenBook 3 Deluxeは買いたくない。

夢(2017年12月29日): 学校へ行こうと家を出る。駅までの道を歩いていると道路を破壊して家を建てている。「通りたい」と言うと「人の敷地を通るつもりか!」と怒られる。迂回しようと戻ると自宅に着いてしまったので、家に帰り、ベッドで寝る。なんの学校へ行くつもりだったのかな、と考えたところで目が覚める。

停止してしまったGoogleマップのロケーション履歴の再起動: MovesからSilentLogに乗り換え、最終的にGoogleマップのロケーション履歴に落ち着いた。しかしたまに記録されなくなる。今回は6日前くらいから起こり、4日前くらいに戻った。iOSを更新したタイミングで起こりやすいような気がするが、確かなことはまったくわからない。Google Mapsアプリを入れ直し、移動している時にちょくちょく開いて何回か位置を明示的に確認してやると、僕の経験ではまた記録し始めてくれる。

4年が経過したiPhone 5sのバッテリー容量: パソコンとスマフォのバッテリーの現在の最大容量を調べていた。パソコンは購入時の80%くらい(48WHr→39WHr)でなんとかなりそうだったが、4年物のスマフォ(iPhone 5s)は30%(1550mhA→500mhA)になっていた……。フル充電のサイクル数は902だったので、なかなか酷使している。

3年物: 3年以上使っていて、これからも使いそうなものを服と家電、家具で3つ書く。靴や鞄はちょくちょく書いており、それをちゃんと使い続けているので書かない。

メモ(2017年12月25日): Swatchの電池が切れた。IronyなのでSR936SWで、そこそこ大きな家電量販店へ行かないと売っていない。一番近いヨドバシカメラに行くか…と考えたが、ヨドバシのネット通販はメール便も送料無料だった。電池1個の購入には最適解かもしれない。

メモ(2017年12月24日): コースターをまだ探している。珪藻土のをもらったので使っていたが、これはダメなやつだった。コースターの求める水気を吸い取ることや器に張り付かないこと、机に温度を伝えないことに関しては完璧に近いが、水気を吸い取り戻さないため汚れが洗えず、無限に汚くなっていく。珪藻土製品は、風呂マットのようにきれいな水しか吸い取らせないことがある程度保証できる環境でのみ利用できるもののようだ。

CortanaがIE11を開いてしまうのを修正: Windows 10ではCortanaを使って色々できる。特にWinキーからスッと検索できるのはそこそこ便利だ(残念ながらBingだけど)。しかし何らかのタイミングでEdgeではなくInternet Explorer 11で立ち上がるようになってしまい、ここ2週間ほどとても不便だった。いい加減に治そうと調べたら簡単で、Edgeの設定→詳細設定にある「タスク バーの Web 検索結果をスクリーン リーダー用に最適化する」という設定をオフにするとEdgeで開かれるように戻った。

Chipolo ClassicとCard: キーホルダーなどに取り付け、スマフォで探せるいわゆるBluetoothロケーター(正式になんていうのかいまだに知らない)を一度試してみようと考えていた。財布に入れられるものが欲しく、カード型のものを探していたがあまりなかった。探している途中(10月くらい)でChipoloがカード型を出す事を知り、それの発売を待ち、まとめて買った。かわいい。

Apple IDとiCouldメールアドレス: ちょっと前までGmailメールアドレスなどでApple IDを作ってしまうと、その後iCloudメールアドレスへ変更できなかった。何度かやってみてダメだった上、サポート・フォーラムでもいくつもスレッドが立っていたのでそういうものだったのだと思う。しかしさっき変更してみたら何事もなく変更することができた。Apple ID変更についてのサポート・ページでも明言されていた。今度はiCloudメールアドレスからGmailアドレスなどに変えられないようだが、それはそれで良さそうだ。

新しい明治のおいしい牛乳: 明治のおいしい牛乳パッケージが変わった。主張するほどにはユニバーサルなパッケージじゃない。特に開封する時のプルタブは、力が弱い人には硬すぎる。その形状から上に引っ張りたくなるのも良くない(上に引っ張ると内容が飛び出しやすい)。飲み終わった後の分解が素手で行えるのは確かだが、かなりの慣れを要求してくる。注ぎ口の関係で平らにたためない点でもユニバーサルではない。

メモ(2017年12月22日): 正月に飲む日本酒を探している。今月頭には近所で七賢の生が売っていたので、それにしようと思っていたが、日曜くらいに売り切れてしまったようだ。獺祭の三割九分も売っていてかなり惹かれるが、ものすごい雑な激安スーパーなので買いたくない。どこかのスパークリングか、地元の蔵元の大吟醸にするか。

CSSとJavaScriptのインライン化: CSSやJavaScriptをインライン化してみている。速い。ラスター画像もBase64で埋め込めみたくなる。しかしインライン化はやはり気持ちが悪く、落ち着かない。この気持ち悪さはウェブサイトと言う単位に意味が薄くなってしまうことにあるのではないか。

メモ(2017年12月20日): Prettierで唯一辛いのはデフォルトの設定から変えたいみたいな希望があることだ。まったく設定を変えられなければ良かった。何人かが「なるほど」などと言い出して変更され、すぐに戻されるという経験も、はや3回目だ。vim-prettierはFacebookの内規に合わせて設定が変更されているとか言っていた。はい。

タカギ ホースリール オーロラNano 10m: ずっと使っていたホースリールがバキバキに割れ始め、うまく巻き取れなくなってしまった。そこそこ安価で取り回ししやすそうな細いホースのものを探し、タカギの10mのものにした。シマホで見て、Amazonで2800円で買った。

落ちている手袋: 道端に落ちている手袋を写真に撮っている。たまにInstagramに上げるくらいでまとめたりはしていない。撮っていて気づくのは、急に寒くなるあたりで突然落ち始め、寒いピークにはあまり落ちていなくなるということだ。手袋の取り扱われ方を想像するとなんとなく理解できる。もうひとつは月曜日によく見つかることだ。日曜日に楽しくお出かけしている時は落としても気づかないのだろうか。

メモ(2017年12月17日): 昨夜、半年ぶりくらいにひどい腹痛に襲われ、トイレで30分くらいうなっていた。出すものを出したらすぐにすっきりしたので、ただの食べ過ぎだったようだ。ヤリイカのショウガ焼きを2杯分くらいまでは大丈夫だったと思うが、食後に寒川神社で売っている八福餅を2つ食べたのがとどめを刺した。

パンツを挟んで吊るすハンガー: ちょっと良いパンツをはいて出かけた時は、一晩ハンガーに吊るすようにしている。今まで洗濯ばさみが二つ付いている無印良品のハンガーを使っていたが、裾を挟むには向いていないような気がずっとしていた。そこで長い板状のもので挟むハンガー、MawaだとMAWAmat 26のような形のものを探して買った。ニトリで85円だった。

メモ(2017年12月15日): タイトルを考えることとある程度長く書くことが面倒になってくる期に入った。良い傾向だ。

vim-css3-syntax v0.26.0: Writing ModesのLevel 4仕様のWDが公開された。Level 3用のシンタックス・ファイルから先送りされたプロパティー等をLevel 4用のシンタックス・ファイルへ分離し、vim-css3-syntax v0.26.0をリリースした。他いくつかの仕様の更新に追随させているが、特に変更はない。

ひげで: 色々整理している過程でmustacheでHTMLとRSS、そしてSitemapsを生成するようにした。記事自体も更新や再生成する時はmustache経由で行うようにし、再構築(昔の流行語だ)がスムーズに行えるようになった。

Kinto Hibiタンブラー ブルー: 夏に家に転がっていたウィスキー・グラスで水を飲んでいたらすこぶる調子が良かった。しかし薄いので割りそうで怖かった(怒られる)ので、厚めで安価なものを探し、Kintoの淡いブルーのものにした。MoMA Design Store 表参道で972円だった。

2018年のウェブフォントについて: 少しの間Noto Sans Japaneseを利用していたが、すぐに止めた。やはりFOITが気になる。かといってFOUT強制も苦肉の策という印象しかない。……このような記事を書いていたら、先にうまくまとまったfont-displayデスクリプターについての記事が広まっていたので、そちらを読むのが良い。

画像の縦横サイズの追加: img要素へ画像の縦横サイズを付け直した。数年ごとに付けたり消したりしている。付けたり消したり。

vim-css3-syntax v0.25.0: vim-css3-syntaxからHTMLとSCSSのサポートを外し、v0.25.0をリリースした。Vimでは他のファイルタイプのシンタックス・ファイルを参照することは想定されていても、他のファイルタイプへばらまくことは考慮されていないからだ。色々なシンタックス・ファイルを見て回ったり、どうあるべきかということを考えた結果、外すべきだろうという結論になった。異論はありそうだが、メンテナンスの面倒くささなども外した理由のひとつなので、撤回はしない。

Feedlyと大きなOGP画像: デフォルトのOGP向け画像を小さくした。FeedlyではOGP画像を表示することがある。その時、大きなOGP画像(例えばはてなブログのデフォルトのもの)だと、記事に画像がない場合、本文の先頭に幅いっぱいの大きさで表示される。小さくすると右上にチョコンと(float)されるので、あまり本文を読む邪魔をしない。

CSSWring v6.0.2: 属性セレクターで大文字・小文字を無視するためのフラグの存在は知っていたが、実装があることを調べていなかった。イシューで指摘されたので、バグとして修正し、CSSWring v6.0.2をリリースした。

夢(2017年11月18日): ビーフシチューを作っている。全部具材を入れ、煮込み始めたところ、なぜか肉が入っていないと思い込み、スーパーへ買いに行く。買ってきて下ごしらえしたが、肉はちゃんと入っていたので鍋にはもう入らない。仕方がないので寸胴鍋を出し、野菜も追加し、ビーフシチューが大量に作り上げる。それをすべて皿に盛ろうと、15皿くらい盛り付けたところで目が覚める。

IKEA Eketボックス: 30cmくらいの立方体の箱が欲しかったのでIKEAでEketというシリーズのボックスを買った。ポリエステル・ウール製でフタ付きのものだ。色はダークグレーで安っぽくはない。収めたかったところにちょうどピッタリで満足している。

Rains Backpack Mini: 防水のバッグか小さめのバックパックが欲しかったが、それほど困っていないので後回しにしていた。しかし両方兼ね備えたものがあり、かつ形や色合いが好みということでRainsのBackpack Miniを買っ(てしまっ)た。定価の13000円弱だった。ここ数日の雨で既に活躍している。

六本木散歩: 東京ミッドタウンの21_21 Design Sightとデザインハブに行くついでに、付近を散歩した。たまにはという感じで写真のみでやってみたりする。雨が降ってもおかしくない陽気だったため、とにかく暗い。

Edge 15でのネストされた@font-faceルール: 主にウェブフォントの利用やフォントの合成を行う時に使う@font-faceルールはまれに他のAt規則にネストされる。@mediaや@supportsルールを使って条件付きでフォントを変えたいことがあるからだ。しかしEdge 15ではそうやってネストされた@font-faceルールで作られたフォントを参照できない。

フィンランド・デザイン展(府中市美術館): 府中の森公園の一角にある府中市美術館でやっていたフィンランド・デザイン展に行ってきた。ちょうど椅子を買おうかというところで、Artekのも良いななどと考えていたので渡りに船だった。

ミステリー・ディナー: 表紙にグッときたのでミステリー・ディナーという小説を読んだ。表紙の感じとタイトルから推理小説と想像していたが、イエスを名乗る男とのディナーでの神についての会話の小説だった。とはいっても淡々と進むので、説教をイメージする退屈さはあまりない。短いのもあってサラッと読めた。表紙は安西水丸の作品だった。

HTMLは開発者たちのために: 昔からよく「HTMLの正しさ」というような表現を見る。少し前はHTMLの構造的な完全さや文法的な正確さなどにウェブページの表示やCSS、そしてJavaScriptが依存していたので、そういった点を強く意識する必要があった。Firefoxが親切に教えてくださっていたXMLパースエラーのことを思い出すとわかりやすい。僕も良くそれに類する表現を使っていた。

Google Domainsへ: Gandiの新管理画面が公開された。ベータから使っていたが、非常に使いづらい。2段階認証を有効にしてしまうと、毎回求められるのも致命的だった(無効にしようとすると500になるのがまったく治らない)。それほど頻繁に利用するわけでもないので我慢するか……と考えていたが、Google Domainsがいつのまにか日本からも使えるようになっていたので、つい移管してしまった。

夢(2017年8月26日): 家の1階がレストランになっている。買い物に出ようと階段を降りると、ノーネクタイだと通せないと言われる。しかたがないので部屋にこもっていたが、顔を洗いたいので、また降りる。しかしやはりノーネクタイだと通してもらえない。ネクタイのしめ方をググったところで目が覚める。

vim-css3-syntax v0.24.3: CSS Text Module Level 3の新しいWDがほぼ4年ぶりに出た。主な変更点はtext-align-lastプロパティーとtext-alignプロパティーの兼ね合い(主に均等割付絡みの面倒くささ)をtext-align-allプロパティーの新設と後者のショートハンド化で解消したことのようだ。追加もあったのでvim-css3-synatxのv0.24.3をリリースした。

Win+Shift+Enter: Edge 15にフルスクリーン機能はあるが、メニューからはアクセスできない。開発者ツールからがんばるしかないとずっと思っていたが、ショートカット・キーは存在した。Win+Shift+Enterでフルスクリーン表示を切り替えられる。PDFを読んでいる時やKindle Cloud Reader、Simplenoteのウェブアプリなどで威力を発揮してくれる。

スターバックス・ダブル・ウォール・マグ: サーモスのタンブラーが調子悪く(底の封が剥がれてきて、何回かアロンアルファで貼りつけている)なってから、マグカップとグラス、湯飲みを使い分けていたが、グラスを落として割りそうになったので、磁器のタンブラーを探していた。ビール用はそこそこ見るが、250mlくらいのものはあまり見つからない。「紙コップがそのまま磁器になったやつでいいのに……」みたいなことを話したところ、「ちょっと重いし高いけど、スターバックスにある」と教えてもらったので、ロゴ入りダブルウォール・マグを買った。

夢(2017年7月3日): 朝起きて窓を開けると、屋根からネギが数本生えている。そういうこともあるかと1本抜き、朝ご飯に焼いて食べる。おいしかったので、これは便利だなと思うが、窓を開けるとずっとネギ臭いので焼きはらおうと火をつけたところで目が覚める。

Sassなし: カスタム・プロパティー(とPostCSS)を駆使してSassべったりなCSSを書きなおすという作業にどれくらいの労力が必要か知りたい。やってみるしかなさそうなので、このウェブサイトのCSSを書きなおしていた。

Edge 15で要素の背景色が初期化されるバグ: ある要素にカスタム・プロパティーを使って背景色を指定したとする。そしてその要素に擬似要素を追加する。その擬似要素で背景色を指定すると、要素の背景色が初期化されてしまう。というバグがEdge 15にあった。

脱出できるか: 脱出できなさそうなものはなるべく使いたくないが、代わりがないと使わざるを得ない。古より継続中なのはAdobeプロダクトであり、少し前ならナントカeeScript (あまり書かずに逃げ切った)で、今ならカントカ-in-ナントカ(いずれ死ぬのは自分じゃないと思いながら書いている)かもしれない。

夢(2017年6月14日): カラオケボックスに行く。部屋に通されると、自分の部屋の押入れがあり、中のものを整理しだす。ゲームボーイ(初代)とソフトが何本か見つかったので、電池を買いにコンビニに行く。無事に買い、帰ってくるも、いた部屋の番号がわからず途方に暮れる。

read:: Edge 15の読み取りビュー(リーダー・モードみたいなもの)がマルチカラムでページめくりのものになっていた。結構うまい具合にレイアウトを調整してくれてすごいかもしれない。読み取りビューへのアクセスはアドレスバーにある開かれた本のようなアイコンから行う。

BIGLOBEの料金支払いに一部手数料が: プロバイダーの料金を固定電話やドコモ回線の料金とまとめて払う方法がある。ちょっと前までNTT請求書支払とかtabalまるごと決済とかよばれていたものだ。うちはドコモにまとめていた。それに手数料300円/月が加わるようになるそうだ。

At規則のネストが起こる可能性: At規則は無限にネストできる。しかし現実的にネストが起こる可能性としては@mediaと@supportsが相手を子に持つ場合だけだろう。そのネストはどういう目的を持って起こるのだろうか。

@supportsとIE11: Internet Explorer 11以下では@supportsがサポートされていない。そのおかげで実装ベースで(CSSハックなどというものなしに)安全にCSSの新機能を試せるようになった。しかしそうなるとIE11などというもののために大量の@supportsが出てくることになり、精神衛生上良くない。実装がある方を優先させCSS全体を適当な@supportsで括ってしまえば良さそうだ。

vim-css3-syntax v0.23.0: CSS Logical Properties Level 1という仕様のWDが出た。この仕様で定義されているキーワードを追加し、vim-css3-syntaxのv0.23.0を出した。

At規則のネスト: CSS 2.1では@mediaや@pageの子に@mediaや@pageがくることはない。それぞれ子にはルールセット、または宣言(declaration)しか取れないことが文法で決まっているからだ。CSS 3においてはConditional Rules Module Level 3での定義が採用されるため、ネストできる。仕様上は無限に、だ。

7167uと7267u、7567u: ついにパソコンを新調しようか、となっている。Dellの15'' 4K XPSかIntelのNUCで組むかというところまで決めた。15'' XPSは4Kだとi7のモデルしか選択肢はなく、迷うことすらできない。NUCは第7世代Coreプロセッサーのモデルが出そろったようなので、どれにしようかと考えている。

Edge 15でのfont-size: calc(<number> * <percentage>): どうもEdge 15にはcalc()絡みのバグがまだまだ残っているようだ。font-sizeプロパティーで数字と割合を掛けてみたらよくわからない結果になった。Internet Explorer 11でも再現するため、Edge 12から15に存在しそうだ。

Edge 15でのcalc()をcalc()するカスタム・プロパティーのバグ: カスタム・プロパティーを使い倒すには、どうしてもcalc()したり、そのcalc()した値を使ってまたcalc()したりする。Sassで複数の変数を使って計算した結果を変数にするのと同じだ。しかしカスタム・プロパティーをサポートしたはずのEdge 15ではcalc()が値のカスタム・プロパティーを使ってcalc()を使ったカスタム・プロパティーがうまく解決されない。

MDNのGitHubでサインインするリンク: MDNで検索しようとした時、よく間違えてGitHubでサインインするリンクを押してしまう。このリンクには大きく分けて形状、位置、ラベルの問題がある。

コンテンツブロッカーなしで再読み込み: Mobile Safariでのバグを確認するために色々いじっていた。何かの拍子に再読み込みボタンを長押ししたところ、「デスクトップ用サイトを表示」と「コンテンツブロッカーなしで再読み込み」というメニューが出てきた。前者はともかく後者は便利に使えそうだ。

Mobile Safari v10.3.2におけるメディア・クエリーでのrem単位: Mobile Safari v10.3.2で文字が少し大きくなる現象がこのウェブサイトで起きていた。再現条件がはっきりとしたことがわからない。何かしらリペイントがかかると想定通りの文字サイズに変わるので、CSSがおかしいということはなさそうだ……と思ったがメディア・クエリーでのrem単位に絡むバグだった。

IFTTTのiOS Calendarサービスにおける日付け: 3月の終わりにIFTTTでiOS Calendar(iCloudカレンダーというわけではなさそう)がついにサポートされた。今まではGoogleカレンダーを英語にしてやっていたが、これを機にGoogleカレンダーでは通常の予定のみにし、iOS Calendarに機械的な記録を集約させることにした。

夢(2017年5月20日): フランス人の男になった。ピレネー山脈を歩いて越えなければならないので、靴を買いに行く。靴はやっぱり日本製だということで、成田空港へ行き、成田空港行きの飛行機を探すも見つからない。泣きたくなったところで目が覚める。

ロゴ v7.1.0: 手書きっぽいhに戻した。もはや戻したのかどうかよくわからない。5年位前にこのようなロゴだったような気がする。

箱根フリーパスと通常運賃: 先日の箱根は通常運賃で回っていた。そこそこ使ったので、本当にフリーパスの方が安いかどうか、帰ってから改めて計算した。比較するフリーパスは4640円になる。

SPM-376との一年: Spingle MoveのSPM-376を買って一年が経った。だいたい2日に1度のペースで履いている。まったく同じものを買って交互に履こうかな、と考えてしまったくらいには気に入っている。

箱根神社元宮へ: 箱根神社は行ったことがあったが、元宮はなかった。暑くならないうちに行ったつもりだったが、ほぼ霧ですごく寒かった。

iOS v10.3.1でのicsファイルのインポート: 以前はメールに添付されたicsファイルをメールアプリで開くと、右上に「すべてを追加」というボタンが出てきた。しかしiOS v10.3.1のメールアプリにはこのボタンがない。一方でMobile Safariにはこの「すべてを追加」ボタンがまだあるようだ。なのでこちらを使う。

黒の小物: ほとんどの小物を黒にしおわった。ベルトや靴、鞄、財布、時計、手袋などなど。服に合わせて鞄を買うと、鞄が無限に増えていくような気がしてきたのが発端だ。小物の色味が安定すると、服の感じも安定しやすいかなと、小物の整理から始めた。今思うとどっちから変えるかというだけだった。

CSSの単位について: CSSでは単位が色々使えるようになった(なっている)。そのため、ちょくちょく「○○には✕✕単位を使うべき」という記事をよく見るようにもなった。僕は単位は管理の都合で決定し、統一した方が無難だと考えている。

サポートの返答時間: Amazon.co.jpに問い合わせをしたら、5分くらいで人間っぽい返答が来た。返答までの時間が早いと、特に解決していなくても「なんとかしてくれそう」または「ちゃんとやっている」という気分になる。

Soil バス・マット・ライト: ついに珪藻土バスマットに手を出した。リンカーンでアンジャッシュがやっていたコーナーで見た時から買うか迷っていたので、多分7年以上になる。今は色々あるけれども、コーナーに敬意を表してSoilの薄い方にした。

集積場所: Twitterを色々なものの集積場所に変えた。集積専用にしたいため、ミニブログ的なやつはTumblrを使うことにもした。なつかしのライフストリーミングだ。

PostCSS v6でのNode#clone(): PostCSSのv6が出た。Node#clone()がちょっと賢くなって、rawsプロパティーを初期化しなくなった。そのため色々クローンして動かしてもインデントなどが崩れなくなった。

replace(/\.net$/, ""): ウェブサイト名から.netの部分を削除した。ウェブサイト名の変更は大きな意味合いを持ちそうなのでv7ということになっている。

胚芽押麦: ここ5年ほど、2日に1度くらいのペースで、はくばくの胚芽押麦を混ぜたご飯を夕飯に食べている。それと時期が重なるように便通が随分改善した。因果関係は不明だが、ほのかな期待を抱いて食べ続けている。

ウェブログと検索フォーム: 個人のウェブログ程度のものに検索フォームが必要か、という疑問は常にある。そのためたまに消す。Googleにインデックスされていればそれで充分という論理に反駁の余地はまずない。

夢(2017年5月2日): 鼻の穴の間がかゆく、爪でかいている。少し引っ掛かりがあったのでグッと力をこめてかいたら、鼻の軟骨がすべてずるっと抜けた。「オペラ座の怪人のマスクのちっちゃいやつみたいだな」と思ったところで目が覚めた。

削除からの作成: 作業ディレクトリーをどう空にすると良いのか、という常識がない。シェルのグロブを使えば簡単だが、怖い。やはり削除してから作り直すのが安全そうだ。

ヴァセリン: 年間通してリップクリームが手放せなくなってきた。今まではメンソレータムの最も安い棒状のものを買っていたが、この冬からヴァセリンに変えた。かなり調子良い。

ローソンいっぱい: ローソンが歩ける範囲の近所に6軒ある。ここ1年ほどの間に4軒も増えた。あれば便利と言えばそうだが、なくても別に困らない同じものが増えてもうれしくはない。

小さいかもしれないし、大きいかもしれない: 人々は何を基準にしてウェブサイトの文字サイズを大きいか小さいか判断しているのだろうか。文字サイズについて扱う記事では、視力や年齢などの生物的な条件や、描画領域や機器そのもののサイズや機器との距離などの物理的な条件が挙げられることが多い。しかし実際には普段よく見るウェブサイトの文字サイズに引きずられる。文字の大小は印象に過ぎず、人は大きさを比較することでその印象を決定しているからだ。

自家製マヨネーズ: 5年位前にバーミックスを買ってから、マヨネーズは家で作るようになった。材料を容器に入れてブィィィィィン。お手軽なので全卵で作っている。出来立てはフワフワな状態で、それを食べると天国へ行ける。

春はたけのこ: この1週間、タケノコをずっと食べていた。タケノコご飯、タケノコとワカメの煮物、タケノコとタマネギの味噌汁、タケノコの天ぷら、焼きタケノコ、などなど。

グレースケール化: 色を減らしていたら勢い余ってグレースケール化してしまった。あまり変わらないような気もする。まだ薄いベージュの背景が記憶に新しいので、hsl(0, 0%, 99%)が薄いベージュに見えてくる……と思ったらNight Shiftのせいだった。

イワタニ カセットフー・エコプレミアム: 30年以上使ったカセットコンロがさすがに気になるので、イワタニの内炎式で一番安いエコプレミアムに買い替えた。食卓に黒いものはなるべく置きたくないので白にした。ヨドバシカメラで3900円ちょうどと高いというほどではない。

vim-css3-syntax v0.21.0: Fill and Stroke Moduleの最初のWDが出たので対応した。ついでにSVG 2.0用のシンタックス・ファイルで定義していたものを移動させ、できるだけCSSモジュールを優先することにした。リリース方針の変更も決意したので、これをv0.21.0とし、リリースした。

大山: 大山に登……らずに、ケーブルカーに乗りに行った。乗ったのは帰りだけなので、1/5くらいは登ったことにしておく。

スカモルツァとカチョカヴァッロ: ローマみやげで貰ったスカモルツァがとてもおいしかった。吊るして乾燥させるため洋ナシのような形をしている。DOPではないようだが、EU外で作ったものはスカモルツァとは名乗れないようで、日本ではあまり売っていない。似た形のチーズにカチョカヴァッロというのがあり、こちらはまぁまぁ売っている。

分断: ウェブログやInstagram他とTwitterとのIFTTTによる連携を切り、TwitterはTwitterとして使うようにした。たまにこうしたくなる。

Promiseでwaterfall: async離れが完了したが、気づくとPromiseでasync-waterfall的なものを何度も書いていた。Promise.resolve()で始めたり、そうでなかったり。名前付き関数を受け取るだけのthen()を何度も書き、読みにくいなとなったり。

SVGアイコンのサイズと位置: ヘッダーのリンクにはSVGの虫眼鏡のアイコンを流用した。vertical-alignプロパティーで文字位置と、line-heightとfont-sizeプロパティーの値を使って文字サイズと、それぞれ揃うように調節している。

ゴールドブレンドと十勝カマンベールチーズ: ゴールドブレンドの90gが498円、十勝カマンベールチーズ(切れてないもの)が210円、近所ではこれくらいの値段で安定して手に入る。チーズは2週に一度安い日が、インスタント・コーヒーはイオンとダイエー、ロピア、ヤマダ電気(ダイクマ)を1週間かけて回ると、どこかで安く売り出している。

検索フォームとそれへのページ内リンクによるフォーカス: 検索フォームへは移動と同時にフォーカスもさせたい。そうしておかないと、入力可能にするにはもう一度クリックしなくてはならず、フラストレーションがたまるからだ。このウェブサイトではinput[type="search"]にIDを振ることで実現しておいた。HTMLコードだけで実装できる。しかし、Firefox 54やMobile Safari 10.2ではうまくフォーカスが当たってくれない。

夢(2017年4月3日): 髭を剃っている。大体剃り終わったが、鼻の下に一本、太さが1cmくらいあるものだけ残っている。どうやっても剃れないので、病院へ行こうとパジャマのまま靴を履こうとしたところで目が覚める。

検索フォームへのリンクの追加: 検索フォームはヘッダーにあるとアクセスしやすい。しかし邪魔なのでアイコンだけ置くという折衷案で妥協した。フルスクリーンの検索フォームにしようかとも考えたが、うっかりヘイトが貯まるのでやめておいた。

スラングとエイプリル・フール: 友達がいないとスラングを使わない、というのはまったくその通りで、そのことについて考えていたら頭が痛くなった。エイプリル・フールみたいなものをやらないとかそういうのも近そうだな、くらいで思考が停止している。

fs-extraのoutputFile()とfsのwriteFile(): fs-extraパッケージのoutputFile()は出力先のディレクトリーがないと自動で作ってくれるのでちょくちょく使っている。fsモジュールのwriteFile()と互換性があり考えずに使える……と思っていたが、パス文字列の代わりにファイル演算子(やBuffer)を投げたら通らなかった。このあたりに互換性がないようだ。

ホーム画面のアプリ: 1日に1回以上使わないアプリはフォルダーに片付けることにした。定期的に話題になるライフハック的な処方だ。アプリが9つ残り、ホーム画面にはそれらとフォルダーだけになった。やりづらい。

to-installパッケージ: グローバルにインストールしているnpmパッケージを整理していた。もういらなそうなものを削除したかっただけだが、to-installという記憶にないパッケージがインストールされていることに気づいた。ググってもいまいちよくわからない。

ともだちがいない!(Monkey Vol. 11): 猿のイラストが目印の雑誌、Monkeyの第11号をパラパラっと眺めたところ、「チャールズ・ブコウスキーには仲間、友達がいないので、仲間内の通り言葉であるスラングが彼の作品には少ない」というような文があった。ぐうの音も出ない。

春と片づけ: 大物のラグの埃を払い、日光浴させた。ウールのセーターもひとつを残して全部洗った。マフラーや手袋、冬の帽子も洗って片づけた。あとは毛布をクリーニング屋に出しに行くだけだ。

Ambieとカレー: 二子玉川に用事があったので、カレーを食べに行った。

不織布の水切り袋: 台所の流しに置く三角コーナー用の水切り袋はここ3年ほど不織布のもので安定している。水が良く切れ、破れにくいと利用上ではほぼ完ぺきに近い。生協で買っている。ストックしている時にかさばるのが難点か。

pre/postで始まるnpmスクリプト: npmの実装上の制限から、preやpostで始まる名前のnpmスクリプトを作っても想定したようには動かないことがある。具体的な例ではpreviewという名前でnpmスクリプトを作ると、それ自体は実行はできるが、prepreviewやpostpreviewが実行されない。

なくなった巨大な屋敷: 近所にあった巨大な屋敷がなくなった。母屋と離、あとは庭だったその跡地には、新築がなんと32軒分譲されるようだ。想像以上に巨大だった。いくらで売れたんだろう……。

Kiehl’s ブラシレス・シェービング・クリーム: 150gで2500円もするKiehl’sのシェービング・クリームをこの一年使ってた。高いのすごい、という雑な感想しかない。傷やカミソリ負けがほとんどできなくなった。匂いが少しあるが、無香料のためか後にはあまり残らないように思う。

ペース・アップ: 広告を外してから書くペースがガクッと落ちた。色々コンスタントに書いていきたい。

さんぽのしゃしん(表参道〜外苑前〜新宿御苑): ずっと曇っていた。少し雨も降った。それほど寒くはなかった。

さんぽのしおり(表参道〜外苑前〜新宿御苑): 話題のエルメスの手しごと展が面白そうなので、それに行く。その後、外苑前から新宿御苑と散歩する計画だ。雨が降りそうなので傘を忘れないようにしよう。

リモンチェッロ: ローマのお土産でリモンチェッロという酒をもらった。作り方的にも作られ方的にも梅酒のような感じだが、味はかなり違う。ベースがウォッカなどのため、色や香りの爽やかさとからはちょっと裏切られる。ストレートであおるより、ロックでチビチビやる方が好みだった。

軽いトートバッグ探し: Twitterを見てると皆がバッグを買っているような雰囲気で、それにバッグ欲が刺激され、欲しいメーターが振り切れてきた。A4サイズがすっぽりと入り、口がジッパーで閉じられ、革製で、500g前後の軽いものをずっと探しているがなかなかない。実際にはちょくちょくあるものの予算オーバーで辛い。

a = [...new Set(a)]: タイトルのようなコードが出てきたがまったく読めなかった。aは配列で、Setオブジェクトを通すことでユニークな値のみが拾われ、スプレッド文法を使って再び配列に直している。つまり配列aの要素から重複したものが取り除かれる。

夢(2017年3月5日): 風邪を引いたので大人しく寝ている。しかしお腹が空いたので、何か食べようと台所へ行く。「風邪には唐揚げだな」と鶏モモ肉で作る。「あっこれは骨折の時か」となったところで目が覚める。

vim-css3-syntax v0.20.0: いくつか新しいモジュールが公開されたので、それらへの対応を追加しvim-css-syntaxのv0.20.0をリリースした。SVG2への対応はv0.19.0で既に取り込まれている。落ち着いたかな……と思うとすぐに新たなモジュールが追加されるので、機械的にモジュールの追加や変更を察知する仕組みを作るべき、と改めて考えている。

MSYS2によるsasscのビルド: sasscにはMSIインストーラーの野良ビルドがあるが、CLIツールをインストーラーで入れるのは抵抗がある。他にはSublime Text 2向けのsasscの単体実行ファイルが配布されていたりもするが、こちらはコンパイル・エラーが起きた時にエラー・メッセージをちゃんと吐かない。探せば他にも配っている人はいるかもしれないが、静的リンクの実行ファイルが作られるようにMakefileが修正されたらしいので、自前でMSYS2を使ってビルドすることにした。

スプレッド演算子を利用した配列同士の破壊的なマージ: 配列aへ配列bを破壊的にマージしたいがletを使わずに行いたいということで、スプレッド演算子を使ってArray#push()するようなコードを書いた。同じようにletを使わずに書けるFunction#apply()を使ったマージと違ってコードが短い。また引数由来の制限(実装依存)がない。

バイバイAirPods: AirPodsを売った。2016/12/31に来たので、約1か月の短い付き合いだった。一番大きい理由は着けている時の絵面が間抜けだなということが耐えられなくなったからだ。買う前にもなんとなくそんな印象を持っていたこともあり、手放すまで早かった。

Simplenote APIとUser-Agentヘッダー: Simplenoteを使い始めたので、ここにウェブログの下書きを置くようにした。コピペでVimに持ってきて公開スクリプトを叩くというのが面倒そうなので、一覧から選択して公開するようなツールを書くことにした。しかしうまく認証が通らず、APIトークンを取得できなかった。原因はUser-Agentヘッダーの指定がなかったことだった。

夢(2017年1月29日): 寝ているがトイレに起きる。トイレに入ると便器がない。窓の外で男が便器を抱えており、驚いて「ドロボー?」と半疑問形で尋ねる。男が口を開きかけたところで目が覚める。

HTML Best Practices韓国語訳: @techhtmlがHTML Best Practicesの韓国語訳を追加してくれた。感謝しかない。

EdgeとBingを使用中: CortanaからはどうもEdgeとBingを切り離せないようなので、必要なピン留め機能が入ったのを機にこの2つの組み合わせで生きていくことにした。通知がWindows 10のやつになることも弱い理由としてある。

2017年の目標: 今年はSuicaが使えるところでは現金を使わないということにした。他のところでもなるべく現金を使いたくないが、よく利用するスーパーが現金しか使えなかったり、慣れてないのでSuicaに大金入れるのやだなとかあったりするため、できそうなところから少しずつ変えていきたい。結果としてコンビニに行かなくなったらそれはそれで良さそうだ。

git-release v1.2.2: git-releaseへテストを走らせる機能を追加した。package.jsonが見つかり、かつテストが定義されている場合にnpm testを走らせるという自分の必要最小限のものだけにしておいた。冬になるとタイピングをミスってよくnpm test & git release patchとやってしまい、アーアーアーってなるのを予防したかった。

マキタ CL103DX: ハンディー掃除機が欲しかった。といってもダイソンはさすがに高すぎな印象があったので、2万円を切るくらいを目安に見繕っていた。いろいろ考えた結果、マキタのターボという無難なところに着地した。オレンジも悪くなかったけど、それも無難な白にする。割引なしの13230円。

夢(2016年12月21日): タンスを開けてキャベツをしまおうとしている。キャベツがかなり大きく、一抱えくらいあった。そのままでは入らないので、いくつかに切り分け、しまう。しまった後で「パンツの横は良くないな」と考え、引き出しを開けたところで目が覚める。

菜飯屋春秋: 表紙の豆がおいしそうで、パラパラっと読んだら面白そうだったため、菜飯屋春秋という本を借りた。読んだ後にアスパラガスの卵とじを作って食べた。春になったら絹さやで作ろう。

vim-css3-syntaxへのSVG 2サポートの追加: インラインSVGを多用するようになりつつあるため、CSSファイルでfillやらがハイライトされると助かりそうなので、vim-css3-syntaxにSVG 2の中でCSSに書けるものを追加することにした。かなり巨大な変更になり、かつバッティングしそうな気配があるので、別ブランチでモソモソやっている。試してみたい人(動作確認してくれる人)はそちらを使ってみて欲しい。

SVGOでSVGをインライン化: SVGをインラインでHTMLに含める場合、SVGOを通した方が良い。HTMLファイルのサイズへ与える影響が大きいからだ。しかしデフォルトの設定だと、色々消えたり消えなかったりするのでそこそこ設定が必要になる。特にimg要素のalt属性に近いtitle要素のid属性とそれを参照するaria-labelledby属性は残さなければならない。

記事フォーマットの変更: Blosxomでは記事ファイルの1行目がタイトル、それ以降が本文になる。他のプログラムから扱おうとすると、そこで分割しなくてはならないのでいろいろと面倒くさい。そこでそれぞれの記事ファイルの1行目をh1要素でマークアップしてしまうように変えた。

電話番号を自動リンクする時の色: Edgeでは電話番号らしき文字列へ自動でリンクを張る。Mobile Safariもそうだが、両者の挙動は色の点でも一致しない。

夢(2016年12月3日): 道を歩いているとやけにでかいリュックを背負った人が前を歩いている。リュックが時々もぞもぞ動くので気になってみていたら、中に赤ちゃんがいた。これは虐待かと思ったが、よく見ると動く人形だった。大丈夫だった。でもそのリュックを背負っていた人が、歩きながらずっと振り返りつつ人形に話しかけていたので、こっちは大丈夫じゃない怖いというところで目が覚めた。

Yu Gothic UIの仮採用: Yu Gothic UIというフォントがある。MS Pゴシックに対するMS UI Gothic的なものの、游ゴシックに対するものだ。あまり大っぴらには使われていないが、Segoe UIとフォントリンクされているので、日本語のWindows 10では日常的に目にしているはずだ。これをフォント指定に追加してみている。

田窪工業所のマグボトルフック: マグボトルやタンブラーをかけて乾かすものを数か月探していた。単なるトレーや、トレー付きのごついもの、立てるフックだけのもの、マグカップ向けなのか取っ手をかけるタイプのもの、などは苦労せずに見つかるが、水切りかごにセットできるようなものはあまり見つからない。この田窪工業所のステンレスのフックはほぼ条件を満たしていた。運よく地元の金物屋で見つかり、うちの水切りかごの枠にもひっかかることが確認できたため、そこで864円で買った。

- NC: ライセンスをCCのBYだけに変えた。NCじゃなくなった。上位互換なので特に問題はない。

text-justify: inter-cluster: Edge 14での両端揃えの調節をしていた。和英混在の日本語にはinter-ideographがベストと思っていたが、どうもinter-clusterが一番うまくいくようだ。

hsl()とcalc()、そしてCustom Propertiesを使った色の生成: CSSでの色については単純な変数だけでは少し足らない。それはCustom Propertiesがあったとしても同じで、論理的に操作したいという欲求があるからだ。少し明るくしたいとか、ここはビビットにとか、補色から30度近づけたい(Triad)とか、計算できるものを計算で生成できると良いわけだ。そこで明るさや鮮やかさをベースに色を定義できるhsl()関数とcalc()関数を組み合わせ、さらにそれをCustom Propertiesを通して合成することで色を生成するというアイディアを考えた。既にChrome 54やSafari 10では実現可能だ。

自転車とランニング、歩行: 少しの間、DahonのRouteという折りたたみ自転車を借りて乗っていた。久々に自転車乗ったら気持ちいいが、その反面まったく歩かなくなった。ちょっとそこまでも自転車だし、遠出も自転車だし、足とは自転車をこぐためのものといったところだ。通勤や、ジム通い、ランニングなどを日常的に行っているのなら自転車最高! となるところだが、歩行を運動のメインに据えていた人間としては所持してはいけないもののようだ。

冬来たる: ということでおよそ1か月半ほどかかって炎と氷の歌シリーズの既刊12冊を読み終えた。登場人物が多すぎ、死にすぎ、名前が似てて覚えられない、覚えたくらいでだいたい死ぬという感想(友人談)のテレビドラマであるGame of Thronesの原作小説(の日本語訳)だ。途中で主要キャラクターが全然出てこない巻があるのが難点だが、それもマイナーなキャラクターの掘り下げの外伝としてとらえればそれなりに面白い。中世ファンタジーどっぷりの小説は楽しいな。

Barbour ラムズウールグローブ: 10年来の懸念事項だった手袋の新調をついに解決した。ロゴも特徴も何もない軍手っぽいやつだ。5076円だった。手袋はめたままスマフォをいじらないので、こういうのが良かった。

墓参り: 墓参りに行った。春に納骨した時に草むしりが辛かったので、除草剤と石で封印した結果の確認でもあった。

CSSWring v5.1.1: 一連のセレクターのひとつで連結系のセレクターに使われる文字(>や+、~)がエスケープされて最後に含まれており、かつそのセレクターにつづいて子孫セレクターとして別のシンプル・セレクターが存在する場合、両者の間の空白が消えてしまい、子孫セレクターではなく複数のシンプル・セレクターを組み合わせたものになってしまうバグを直しCSSWring v5.1.1をリリースした。ひどい日本語だ。

CSSによる両端揃えの問題点とその解決へ向けて: 日本語の文章の場合、両端が揃っているとおさまりが良い。CSSではその両端揃えを行うためにtext-alignプロパティーにjustifyという値が用意されている。完全に日本語だけの段落ならほぼ100%、和欧混在の段落でも9割以上の段落で想定通り機能するが、まれに無残な結果になる。それは自動折り返しで長めの英単語が行頭に来る場合だ。

125%に拡大したWindows 10: 立て続けに10pxや12pxで長文のウェブページを読まされ、いちいちズームするのが面倒になったため、思い切ってOSレベルで125%に拡大した。思った以上に快適で、なぜこれまでやらなかったのかというくらいだ。サインアウトする必要はあったものの、常用しているアプリケーションで対応していないものもほとんどなかった。姿勢も良くなりそうだ。

ch単位を使ったカラム幅指定: コンテンツのカラム幅は半角英数で45から75文字という説がある。それをem単位に直すとおおよそ25emから35emと考えられるが、実際にはフォントの横幅に依存する。一方CSSにはch単位というフォントの横幅によって変化する単位がある。ということはこの単位を幅や横方向の余白に利用すると、使用されるフォントに応じてカラム幅が適切に変化するはずだ……が、そうは問屋が卸さなかった。

Drawic v2.13.0: ちょっと使おうかなと思ってすぐやめたBehance、よく使うようになったGandiとUptime Robot、愛してやまないPenguin Booksを追加して、Drawicをv2.13.0にした。88個になった。100個まで遠いので、ぞろ目だしこれでおしまいにしよう……などというささやきが聞こえる。

Anker PowerPort 6: AirPodsを買うことにした。そうなるとUSB充電する機器が4つになるので、さすがに多ポートのUSB充電器を買うことにした。面倒くさいので何も考えずにAnkerのPowerPort 6にした。ヨドバシで3660円で買えた。

夢なし: 今月に入ってからまったく夢を見ていないような気がする。枕を変えたからだろうか。新しい枕は羽毛のやつだ。今までは低反発のやつだったので、それと比べるとうるさい。うつぶせ寝なため、羽毛ががさがさこすれる音が聞こえる。しかし夢を見ていないことを考えると、そこそこ心地よいノイズなのかもしれない。

time要素の内容を相対日時へ変換: time要素にdatetime属性があったら、それを元に現在時刻からの相対日時を生成し、その内容を差し替えるスクリプトを書いていた。相対日時を得るには、ミリ秒数同士を引き算して1000で割って60以下なら~秒前、60で割って60以下なら~分前、60で割って24以下なら~時間前、24で割って30以下なら~日前、30で割って12以下なら~か月前、12で割って~年前というものをそのままコードにした。車輪だ。

何もしないためのデザイン: 豆腐がある。日本ならどこのスーパーでも売っている豆腐のことだ。そのパッケージは簡易で必要十分なものだ。大抵は箱状で、上部をビニールで密閉されている。豆腐のパッケージの箱はそこそこ丈夫で、食卓にそのまま出すこともできる。一人暮らしならばそれでも良いかもしれないが、やはり必要な分だけ切り分け、器に盛るだろう。

均等割付した折り返しFlexboxの最後の行: Flexboxを使って折り返せる横並びのリストを作ることが増えてきた。大抵うまくいくのだが、項目間に溝をうまく確保しようとjustify-content: space-betweenを使ってしまうと、最後の行でおかしくなる困ってしまう。具体的には3列以上の横並びで最後の行に2つ(以上列数より下)しか項目がない場合、上図のように最後の行だけ項目が左寄せになってくれない。

アイコンの横にある文字列: フロントエンド周辺のことをいろいろ書いているbitsofcodeというウェブサイトがある。記事の内容は様々で勉強になるものも多い。しかしとにかくハンバーガー・アイコンとロゴのレイアウトが気になってしょうがなかった。

粉をこねて皮にし、何かを詰めて茹でたり揚げたりしたもの: Unicode 10.0でEmojiに餃子が入るというのは聞いていたが、正確にはDumplingでタイトルのようなもの全般を指すEmojiのようだ。ロシアではピロシキだったり、イタリアではラビオリだったり、そして日本では餃子ということになる。こういう言い方をされると良くわからない。日本人が日本でラビオリのつもりで使うEmojiも、イタリア人がロシアで餃子のつもりで使うEmojiも、同じこのEmojiで良いということで、つまり使う人と読む人、そして前後の流れなどに依存するハイコンテキストなやつ、ということになりそう。

Uptime Robotのステータス・ページ公開機能: Uptime Robotというウェブサイトの死活監視サービスがある。落ちたら(復活したら)メールで通知してくれる他、Webhookで通知を投げることもできる(こちらをうまくIFTTTと組み合わせるとスマフォの通知に出せる)。手軽なので愛用している。そのUptime Robotが死活状態のページを公開する機能を提供するようになった。大手ウェブサービスもよく公開している、いわゆる死んでるっぽい時に見るページのアレだ。ものは試しと複数のドメインのステータス・ページを作ってみたところ好感触だった。

本文のフォントサイズ: あなたの記事本文はフォントサイズが小さすぎる(原題: Your Body Text Is Too Small)という記事を読んだ。読める(legible)大きさではなく読みやすい(readable)大きさは、もはや20年以上前から続く伝統の16pxではないのではないかという主張だ。大きくすることの理由において僕の考えとはかなりずれがあった。

無地のポケットTシャツ: 今年の夏はTシャツの入れ替え期という感じだった。計4着買った。柄物の気分ではなかったので、ポケット付きばかり買っていた。夏に普段着るものがすべて無地のポケット付きTシャツになった(なってしまった)。

スクロールは制御するな: WWD Japanのウェブサイトがリニューアルして、スッキリした見やすそうな印象のものに変わった。しかし実際のところ見やすさは見せかけだけで、ナビゲーションをクリックしても見当違いのタブに切り替わったり、ニュース一覧からニュースをクリックしたら、要約ページへ移動するだけで、本文へはもう一度クリックしなければならなかったりする。中でもひどいのがMobile Safariでの閲覧だ。

日本語化: ウェブサイトを日本語化していた。直訳っぽさや古めかしさ、オシャレ感を排除し、ニュートラルな翻案となると難易度が高い。カタカナ語がなかったら……と考えるとゾッとする。しかし安易にカタカナ語で目をつぶってきたことがこの体たらくにつながったのかもしれない。

フォーム・バリデーションのヒントと画面外にあるinput要素: input要素ではpattern属性でその入力された値をバリデーションできる。バリデーションに失敗した場合、title属性に指定された文字列がヒントとして表示されることが多い(ユーザー・エージェント側の実装に依存する)。事実Chromeでは古くから上記スクリーンショットのようなポップアップが表示される。多くのブラウザーで似たような実装を持つが、バリデーションに失敗した要素が画面外にある場合にはうまくヒントが表示されないことがあるようだ。

マルチカラムとその閲覧順: Flexible Boxを使ったブロックのマルチカラム・レイアウト(Multi-columnのそれではない)をちょくちょく見るようになった。ただ作る方も見る方も慣れていないからか、並んだ項目をどのような順序で見ていけば良いのかよくわからないことがままある。何人かに聞いたり、自分で考えてみたりし、見る順番を決めている鍵は余白であるということを推察できた。

夢(2016年9月19日): マキネッタでコーヒーを淹れる。愛用のタンブラーにそそぐも、なかなかいっぱいにならず、せっかく淹れたコーヒーがなくなる。しょうがないのでもう1度コーヒーを淹れる。今度は慎重にそそぐ。しかしまたいっぱいにならない。というのを10回くらい繰り返したところで目が覚めた。

italicとoblique: イタリック体(シュッと斜めなやつ)とオブリーク体(クタッと斜めなやつ)が違うことは知っていたが、font-styleプロパティーの値としてのitalicとobliqueは互換だと勘違いしていた。どちらを指定してもイタリック体かオブリーク体のどちらか存在する方を使ってくれ、両方ない場合は擬似斜体を生成してくれると思っていたが、違うようだ。

Windows 10 Anniversary UpdateのEmoji: ⃣ 0⃣ 1⃣ 2⃣ 3⃣ 4⃣ 5⃣ 6⃣ 7⃣ 8⃣ 9⃣ © ®       ‼ ⁉ ™ ℹ ↔ ↕ ↖ ↗ ↘ ↙ ↩ ↪ ⌚ ⌛ ⏩ ⏪ ⏫ ⏬ ⏰ ⏳ Ⓜ ▪ ▫ ▶ ◀ ◻ ◼ ◽ ◾ ☀ ☁ ☎ ☑ ☔ ☕ ☝ ☺ ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓ ♠ ♣ ♥ ♦ ♨ ♻ ♿ ⚓ ⚠ ⚡ ⚪ ⚫ ⚽ ⚾ ⛄ ⛅ ⛎ ⛔ ⛪ ⛲ ⛳ ⛵ ⛺ ⛽ ✂ ✅ ✈ ✉ ✊ ✋ ✌ ✏ ✒ ✔ ✖ ✨ ✳ ✴ ❄ ❇ ❌ ❎ ❓ ❔ ❕ ❗ ❤ ➕ ➖ ➗ ➡ ➰

ジェーン・エア: 久しぶりに森薫の「エマ」と「シャーリー」を読んだので、流れで「ジェーン・エア」を読んだ。「嵐が丘」といっしょに高校の頃に読んで以来だと思うので、20年ぶり以上だ。岩波文庫の新訳が読みやすく、3日くらいで一気に読めた。読み終わった後にまた「エマ」と「シャーリー」を読みたくなった。何の永久機関だ。

赤いやつ: やった! 思い起こせば……(以下略)。

lang属性の効果範囲: ウェブサイトの言語セレクトメニューを作る時、英語で一覧させることも多いが、それと同じくらいそれぞれの言語名でそれぞれの言語を表示することもある。母国語で表示されていれば絶対にわかるだろうし、見つけやすいだろうという理屈だ。そのこと自体にはいくつか欠点が考えられるわけだが、HTMLとしてはlang属性を使えばうまくマークアップできるだろう。同時にtitle属性を使って英語でフォローすると完璧……だが、そこそこ面倒くさいことになる。

Bluetoothキーボードのトラブル: 少し前にキーボード何にしようかなとか書いたら「使ってない白のK480あるけどいる?」とか言われたので、ランチ・コースおごるのと交換にもらった。キーボードそのものは、キーとキーの間が広すぎて慣れなかったり、やたら重くて「えっ」となったりした(815gもある)けど、ギリギリ良いと思える。が、Bluetooth特有っぽいトラブルがいくつかあった。

普通のHTMLの書き方(またはHTML Best Practices日本語版): この夏、HTMLについて書く機会が別々に何回かあった。そのうちちゃんとした形で出ることだろう。そのままのテンションで一気にHTML Best Practicesの日本語版を作成した。内容は増えていないものの、さすがに日本語の方がさっと読め、色々直さなければという気になる……。

Abbread: HTMLのabbr要素に指定されたtitle属性を、title属性が省略された他のabbr要素へばらまく小さなスクリプトを必要に迫られて書いていた。名前はabbrとspreadを混ぜてAbbreadとした。

801円のキーボード: 久々にキーボードが壊れた。ちゃんとしたキーボードを買いたいところだが、暑くて面倒だし、そもそもすぐさま必要なので考えている余裕はなさそうだ。とりあえず、ということで安価でテンキーレスなエレコムのTK-FCM084WHにした。ヨドバシカメラで801円だ。

夢(2016年8月11日): 町を歩いていると、前方にグレーのスーツを着た集団が見える。嫌な予感がするものの、歩道の隅へ避けて通り抜けようとする。しかし、うち一人に羽交い絞めにされる。そして他の全員から前髪を一本ずつナイフで切られたところで目が覚める。

幽霊画(全生庵): 東京は谷中に全生庵という寺がある。開祖である山岡鉄舟……云々はおいておく。ここには初代・三遊亭圓朝が収集していた幽霊画があり、彼の命日に合わせて8月にだけ一般公開される。少し前に読んだ小説に圓朝が出てきて興味を持ち、エンヤコラ見に行った。納涼だ。

腋の毛と汗: 少し前に腋汗についてオッサンとオジサンで話していた。途中から少し若い女性が参加し、困るの困らないの、黒か白の服最高というように盛り上がった。そんな中、腋毛をある程度処理してやると腋汗が改善するのではないか、という仮説が立ったため、1か月ほど1cm以下くらいに短くする(画像略)という実験をしていた。

はるかなる岸辺: 表紙がかっこよかったので借りたはるかなる岸辺という小説を読んだ。中年から老年期に入った女性と、内戦から逃れて難民として他国へ逃げる30前後の男性が主人公で、章ごとに交互に両者の一人称語りで進められる。異国人に対する憎悪、結婚生活の破たん、難民と移民の同一視などが時系列を行ったり来たりしながら描かれていく。舞台となる国の先ごろの大きな決定を考えると、とても興味深い。

40 ∕ 80: 人生の前半とされるものが過ぎ去り、大厄まであと2年ということになった。健康診断でも少し痩せている以外は概ね健康体であり、このまま初老生活をエンジョイしたい。

MovesからSilentLogへ: 歩数計兼移動記録にMovesを使っていたのだけど、ちょくちょく位置情報が吹っ飛ぶことが起きるようになった。バッテリー消費も少なくないので、代替アプリを探し、ようやく場所名の編集が可能になったSilentLogにした。

夢(2016年7月11日): 湖でボートに乗る。大きな遊覧船が横を通ったので、どうも芦ノ湖のようだ。突風が吹き、ボートがひっくり返る。岸まで泳いでそのままロープウェイで山頂のお宮さんへ行く。ボートを返さなくちゃと気づき、湖へ戻り沖合いに泳いで戻るっている途中で目が覚める。

無線LAN中継機WEX-1166DHP: Bluetoothを頻繁に使うようになって以降、11b/gでつなげている機器が不安定になることが増えてきた。それらをすべて11aのモデルに乗り換えたいところだが、機能的には困っていないので、11aのイーサネット・コンバーターを経由して繋げることにした。いろいろ見ていたが、7000円弱でヨドバシカメラで売っていた、BuffaloのWEX-1166DHPにした。でかい、がアンテナがついていると安心感がある。

CSSWring v5.1.0: 冗長なユニバーサル・セレクターを削除する機能を追加して、CSSWring v5.1.0をリリースした。かなり前にやろうと考えていたもののすっかり忘れていた。v5.1.0には少し前に書いた単位の変換機能も含まれている。

時間と角度をより短い単位へ: 0の値の場合に短い単位を採用するという処理は単純に実装できるが、0でない値の場合はそれなりに面倒くさい。単純に考えれば愚直に単位の変換を行い一番短いものを採用するという形で良いが、それだとかなりコストがかかるだろう。つまり変換すると短くなるケースをある程度想定しなければならない。

より短い単位へ(0の場合だけ): CSSの長さでは、値が0の場合に限って単位を省略できる。このルールは周波数や角度、時間においては適用されないため、たとえば0msは0とは書けない。しかしこの場合は0sと違う単位で書くことによって1文字短くなる。こういった安全な単位の変換機能をCSSWringへ組み込んだ。

Beoplay A1: 先週の日曜日に二子玉川の蔦屋家電内にあるBang & Olufsenの店で見たスピーカー、Beoplay A1がどうしても忘れられなかったので買った。ヨドバシカメラで29900円の10%ポイント還元と少し高めだった。シルバーの方にした。すごくかっこいい。

ハーブ充: 去年育てたバジルとイタリアンパセリが使いきれないくらい育ったことに味をしめたため、今年もハーブを育てている。今年は去年の2種に加え、大葉とディルを育てて、食べている。

パウダー入りのヘア・ワックス: 生まれて初めてパウダー入りのヘア・ワックスを使ったら、髪がふんわりしてびっくりした。ファイバーより軽いパウダーが水分を吸収してくれたりするようで、梅雨の時期でも負けない。ハゲ隠しのパウダー(黒いやつ)と同じようなものだと考えていて敬遠していたが、買わされて良かった。2年ぶりくらいにちゃんとした美容室へ行くと色々教わる。

vim-css3-syntax v0.18.0: 13年ぶりに更新が入ったCSSモジュール仕様があった。ちょっとテンション上がったので、そこまでを反映させてvim-css3-syntaxプラグインのv0.18.0をリリースした。

日本橋散歩: 日本橋に展覧会を見に行った。少し前に読んだ本に関連した展示をやっているようなので、興味がわいたからだ。

巷説百物語: ようやく京極夏彦の小説を一通り読もうかなという気になったのでいろいろ読んでいる。この巷説百物語は事前知識ゼロで読みはじめたため、怖い話のオムニバスかと思って読みはじめたら全然違ったのでびっくりした。

postcss-round-float: 多くのCSSプリプロセッサーは四則演算機能を持っている。その利用の結果、CSSファイルにはほとんど意味のない桁数の小数が散在することになる。postcss-round-floatパッケージはそういった四捨五入を行うPostCSSプラグインだ。

夢(2016年5月26日): おいしいと評判の湯豆腐を食べに店に入る。「いつもの」と頼むとわんこそば風にどんどん出てくる。お腹いっぱいになったので席を立ち、会計をしてる間もどんどん豆腐が鍋に入れられる。店を出たところで目が覚める。

OneDriveの(不完全な)アンインストール: OneDriveを特に使うこともなく一年近くになったので消すことにしたが、完全に消すことはできなかった。しかしホーム・ディレクトリーやエクスプローラーのサイドバーからは削除することができたので、まずまずといったところだ。きっとOSの更新時に復活したりするであろうので、記録しておく。

数値目標の達成と本当のパフォーマンス: 「我々が言うところのベスト・プラクティスがモバイル機器でのパフォーマンスを殺している」(原題: Our best practices are killing mobile web performance)という記事を読んだ。ベスト・プラクティスを導入する人々はモバイル機器の持つ特徴や置かれた環境を考慮しておらず、数字を達成するためだけに導入しており、ユーザーへフラストレーションを与える結果になりやすいことについて書かれている。

Braun BNC002: いい加減スマフォのアラームで起きたくないので、置き時計を買おうとずっと考えていた。色々候補はあったが、先日Braunの腕時計を買った勢いで、置き時計もBraunにした。BNC002というモデルの黒で、6cm四方くらいでかわいい。ヨドバシで3500円くらいだった。

sasscのVimコンパイラー・プラグイン: ようやくsasscを自前でビルドして使うようにしたので、Vimのコンパイラー・プラグインも書いた。sasscをプロダクション環境で使うことはまだないが、エディターなどでオン・ザ・フライでコンパイルする時には速度がモノをいうので積極的に使いたい。

fs-extraパッケージの置き換え: fs-extraパッケージを便利に使っていたのだが、よくよく確認してみるとreadJson()とoutputFile()だけしか使っていなかった。それらを使うだけにはfs-extraパッケージはちょっと大きすぎる。両者はコア・モジュールと小さなパッケージでどうにかなりそうなので、ついにという感じで書き換えていくことにした。

欧米小説の引用癖: 海外の、特にイギリスやアメリカの小説をよく読む。もちろん日本語訳されたものだが。日本語訳の出来の悪さにがっかりすることはよくあるが、それでも面白いと思えるのは少し不思議だ。欧米(狭義のそれ)小説には日本の小説にはあまり見られない気に入らないところがあり、それが引用癖とでも言うしかないような、名著や聖書からの引用が冒頭どころか章ごと・節ごとに載っているところだ。

部屋着の整理: 部屋着的なもの(スウェット・パーカーなど)をくたびれた順に少しずつ捨てていって、ついにパジャマ以外はなくなった。面倒な時に部屋着のまま外へ出ていってしまうことが多々あり、そのあたりの切り替えがおざなりに済ませていたのを改善したかったからだ。

コモチマンネングサ: 庭に黄色い楕円の花弁が星形になった花がいっぱい咲いていた。なんだろうと聞いたが、植えた当人は死んでいるためわからないという。写真を撮ってググったところ、どうやらコモチマンネングサというものらしい。近づいてみないとわからないが、多肉植物で、葉っぱもかわいい。

pre要素3行 = p要素2行: pre要素の行間をどのように調節するのがいいのかということをしばらく考えていた。今までは本文の行間よりも少し狭めるというだけのものだったが、もう少し論理的なものにしたいと、いろいろ考えている。まずは少しフォント・サイズを落とした上で本文とある程度揃うように、具体的にはp要素の2行分の高さとちょうど揃うようにpre要素の3行分を調節してみることにした。

ウェブページにおけるバーティカル・リズム: いわゆるバーティカル・リズム(vertical rhythm)がウェブページでも重要なのではないかと言われてから随分と経つ。僕の記憶が確かなら10年にはなるだろう。しかし当初から僕は懐疑的だった。もちろん一貫性のある余白は重要だが、バーティカル・リズムにまでなるとウェブページでは思うように機能しないのではないだろうか。

三点リーダーによる省略を複数行へ対応させる必要性: 今のところ独自実装(SafariとChromeは古いFlexbox実装に基づいて独自拡張したもの、古いOperaはプリフィックス付きの値)しかない複数行に対応したtext-overflow: ellipsisだが、それを求める意見は多く見る。僕も欲しい派であったが、本当に必要なのかどうかという疑問がわいた。

Mobile SafariのGUIと天地センタリング: このウェブサイトのホームを少しいじって初期描画エリアにロゴとグローバル・ナビゲーションだけにした。両者はcalc()関数内でvh単位を使うことで天地センタリングを行ったが、どうもMobile Safari 9で表示がずれる。しかし実際にはずれておらず、単にコンテンツにかぶさってツールバーが表示されているため、下部の余白が足りないように見え、結果ずれているように見えてしまうということのようだ。

package.jsonのenginesフィールド: Node.js v6がリリースされ、めでたく標準入力の一気読みに利用できる機能が安定版に降臨した。そこでこの機能を使うようにし、CSSWring v5とCSS MQPacker v5をメジャー・リリースした。特に機能は追加されていない。そのままだとNode.js v4以下では一部機能がきちんと動かないのでpackage.jsonでenginesフィールドを使うようにしておいた。

チェスプレイヤーの密室: 推理小説家としてゆるぎない名声を持つエラリー・クイーンは名義を貸して他の人に書かせた作品、いわゆる外典ものも多く出している。このチェスプレイヤーの密室はそのひとつで、作品の傾向としては中期の「途中の家」からライツヴィル・シリーズあたりのパズル的要素と小説的要素が融合した傑作に通じるところがある。

夢(2016年5月2日): Twitterで「ウェブサイトが見づらい」と言われる。「詳しく」と返すも要領を得ない返事が返ってくる。徐々に口論になる。数十回のやりとりのあと、「でも記事は好き」みたいなことを言われウワッとなって起きる。

Date.parse() vs new Date().getTime(): オブジェクトの配列を、各オブジェクトが文字列で持っている日付けでソートしようとし、Date.parse()を使って実装した。しかしもしかするとnew Date().getTime()の方が速いのではないかと調べていたら色々あった。結論としては今はDate.parse()がだいたい速いようだ。

Gandi.netへ移住: バリュードメインを使う理由がほとんどなくなってきた上、存在したCSRF脆弱性への対応についてその修正アナウンスが出ないということがあったので、レジストラーをGandi.netへ変更した。ドメインごとにメールボックスが5つ提供されること以外には特筆してメリットはなさそうだが、デメリットもないように感じたためここに決めた。ネーム・サーバーはCloudflareのそれを使っているため、ダウンタイムなしで移住できたように思う。

Safari 8以降の「候補のウェブサイト」: Safariには候補のウェブサイトという機能がある。URLバーに入力した文字列からウェブサイトを推薦してくれる機能だ。どうもこの機能はサブドメインがwwwの場合、それを削ってアクセスさせるようだ。つまりwwwありで運用していて、かつwwwなしドメインからリダイレクトをしていない場合、候補のウェブサイトを開こうとすると「ページを開けません。サーバーが見つかりません。」になってしまう。

夢(2016年4月25日): 人が死ぬ。火葬にしようと横にあった棺桶に入れて燃やす。しかし蓋がちゃんとしまってなくて、中から死体が出てくる。何人かで殴って動きを止め、もう一度棺桶に入れて火をつける。しかし蓋がしまっておらず……というのを5回くらい繰り返してウワッとなって目が覚めた。

Spingle Move SPM-376 Black: 7年くらい履いていたシャークソールのスニーカー・ブーツが、ソールが削られすぎてついにダメになった。底を直して履くという手もあったが、なにせシャークソールなので、1万円くらいはどうしてもかかるため、新しくスニーカーを買うことにした。いろいろ迷ったがSpingle MoveのSPM-376、色は黒でサイズはMにした。

Gitのdiffコマンドにある--exit-codeオプション: npmコマンドでよく書くパターンにGitで固定のファイルをステージしてコミットするというようなものがある。なんらかの処理を行うメインコマンドのpostコマンドでよくやる。まれにその固定のファイルが更新されないこともあり、その時コミットしてしまうとcommitサブコマンドが正常に(終了コード0で)終了しない。これを避けるためにはステージされることで更新があったかどうかをチェックする必要があることになる。それはdiffサブコマンドの--exit-codeオプションを使うとうまく書くことができる。

夢(2016年4月17日): 雨が降ったのでこの前買った長靴をはいて出かける。快調に歩くが、ふと気づくと傘をさしておらず、足以外が全部濡れている。慌てて長靴を脱いだところで目が覚める。

再帰的にMarkdownを処理: このウェブログではHTMLを直接ぺちぺち書くことが多いが、たまにiPhoneで書く時にはMarkdownで書いている。Markdownの処理系にはここ数年はmarkedを使っており(宗教上の理由でCommonMark系は使うことができない)、あまり困ってはいないのだが、sectionやfigure要素を使うとその中のMarkdown文字列がうまく処理できないという問題がある。

gzip下における、CSScombの昇順ソートに対する優位性: CSScombを最小化ツールなどと共にデプロイ時に通すというプロジェクトはちょくちょくあるようだ。僕はCSScomb (を始めとしたルールセット内のプロパティーのソート)は可読性のためで、Linterやフォーマッターなどで処理すべきであると考えている。また最終的な転送量においても昇順ソートに比べさほど差が出ないのではないかとも考えている。そのためそういったデプロイ時での処理には疑問を持っている。

ESLintのno-magic-numbersルール: ESLintのルールが教えてもらえないという制限下で作業をしていた。pushすると怒られるという緊張感はちょっと良かった。色々なルールで怒られたが、中でもno-magic-numbersにとりわけ怒られた。怒られたコードをメモしておく。

npmパッケージとtestファイル群: 某パッケージのイシューを眺めていたら、ファイルが多すぎてnpm installが遅いのでfilesフィールドを使おうやというようなプル・リクエストが投げられていた。そこではあっさりと却下され、他にあった同様のプル・リクエストで少し議論(ケンカ)がなされていた。どちらにも一理あり、興味深かった。

夢(2016年4月11日): 歯医者へ行く。「ちょっと歯茎が下がってますねー」と言われる。「じゃーちょっと抜いちゃいましょうか、歯茎!」と言われる。すぐさま逃げたところで目が覚める。

fixpackにおけるscriptsフィールドのソート: package.jsonをフォーマットしなおしてくれるfixpackを愛用している。ひとつだけ気になるところがあり、それがscriptsフィールドがアルファベット順に並ぶことだ。つまりpre*やpost*コマンドがその元コマンドと関係ない場所へとまとめられてしまう。

コマンド・プロンプトのAutoRun: Windowsの環境変数のPATHはシステム由来のものとユーザー由来のものがある。この両者はシステム由来のものの後にユーザー由来のものがくるので、ユーザー領域に放り込んだプログラムを優先的に探してもらうというようなことをする場合、パスを決め打ちでシステム由来のものに書く必要があった。.bashrc的なもので環境変数をいじることができればよいのに……と、ずっと思っていたのだが、どうやらAutoRunという機能があり、それを使うと任意のバッチファイルをコマンド・プロンプトの起動時に実行してくれるようだ。

HTMLの最小化: HTMLのいわゆる最小化(圧縮)を行うようにした。HTML Minifierを何度か使う機会があり、それなりに安定していることがわかったので、得られるパフォーマンスと背負うリスクが妥当なのではないかという方向へ傾いてきた。

ページごとのCSS: HTTPS+HTTP/2時代なのでCSSを連結しなくても大丈夫だよ、といった風の記事をよく見るようになった。僕はそういった推測や検証は概ね間違っていると考えている(そのうち検証したい)のだが、一方で小さいウェブサイトではそれなりにうまくいくとも考えている。まずは色々やってみようと、このウェブサイトでCSSを論理的な単位で作るように(分割するわけではない)した。

IFTTTのPinboardチャンネルの代替案: IFTTTとPinboardの間で色々あったようでIFTTTのPinboardチャンネルが2016/4/4で終了する。IFTTTを使ってPinboardに様々なURLを(プライベートで)集約させていたため困ることになりそうなので代替案を考えていた。thisにPinboardチャンネルを指定したレシピ、つまりPinboardから他へはRSSチャンネルを利用すれば良いので特に問題はない。問題はthatにPinboardチャンネルを指定しているレシピだ。

対にならないかぎかっこ: 最近、少し古い小説を読むことが多い。古いといっても1970年くらいのものだが。そういう中でよく対にならないかぎかっこがあることを今さら気づいた。なんとなくは見かけた記憶はあり、単なる落丁かと思っていたが、ちゃんとした理由のようなものがあるようだ。

Normalize.scss v4: Normalize.cssがv4に更新された。ということでそのSCSSバージョンであるNormalize.scssも更新した。NPMレジストリーにも公開済みだ。

CSSWring v4.2.2: CSSWringではfont-familyプロパティーでできうる限り引用符を削除しようとしている。逆に必要な場合は付けるようにもなっている。今までその値にvar()を使われることを想定していなかったため、var()が引用符で括られてしまうというバグがあったようだ。修正してv4.2.2をリリースした。

夢(2016年3月10日): 墓参りへ行く。愛宕山の一角にあるので、甲府駅の北口からタクシーでちょっと登る。霊園の中では奥の方で、裏がすぐ雑木林になっている。桜はさすがにないなと眺めていたら、熊がいた。一緒に来た人達に警告しつつジグザグに逃げ、少し広い道路のところまで降りると、特急かいじがちょうど来て、それに乗って難を逃れる。「さすがかいじ、あずさとは違う」みたいな会話をしつつ二度寝に入った。

足首の捻挫: 駅まで歩いていたら道に落ちている3cmくらいの石に気づかず踏み、足首をぐりっとやってしまって捻挫した。幸いそれほどひどくもなく、1時間ほど休んだら歩いても痛くないくらいに回復したので良かった。

CSSの定義からHTMLの要素を取得するために: text-overflow: ellipsisのためにtitle属性を仕込むのもバカバカしい。またそういった定義がある要素のクラス名を決め打ちで動的に仕込んでいくのもまたバカバカしい。ということでCSS定義を使ってHTML要素群を取得するような関数を書くことにした。@ykztsにも書いてもらったのでそちらもどうぞ。

網戸の張り替え: 去年の今頃に夏に自前で張り替えようかと考えていたが、色々あったため延び延びになっていた。ようやく余裕も出てきたのでやってみようかと思ったが、他にもいくつか張り替えることになったため頼むことにした。普通に何でも屋に頼んだりすると高くつくようで、シルバー人材センターの1400円/枚が一番安価だった。

新しい柿の種のピーナッツ: 半年かそれ以上ぶりに亀田の柿の種を買ったら、ピーナッツの味が変わっていた。バターの味がすごく強く、バターピーナッツと柿の種の味が喧嘩しまくっているように感じ、すごくまずかった。捨てるのももったいないので、ピーナッツと柿の種に分け、別々のタイミングで食べている。それぞれはそれなりにおいしい。

スライドの台紙: スライドの台紙にも色々あった。Kodak(EktachromeはKodakらしい)や富士フイルム、コニカのものが多く、大塚カラーなども少しあった。それぞれにベースの色やタイプフェイス、文字色が凝っていて、個性的だ。

コクヨ デスクサイドマルチシュレッダー Silent-Duo: ようやくアルバムとネガ、そして大量のスライドの処分に入った。写真には人の顔とかも色々写っているので、シュレッダーで裁断することにし、静音で手頃な価格(ポイント還元で7000円弱)のコクヨのKPS-MX100Wにした。思った以上に静かで、昼ならまずうるさく感じることはなさそうだ。家庭向けのシュレッダーとしては少し大きいが、光学メディアを処理できることを考えるとサイズには目をつむることができる。

勘違いすること: 人は経験から物事を反射的に認識する。それは察することができるというよりも、勘違いしてしまうことといえる。最近のウェブやモバイルでは様々な新しいGUIが日々発明、公開、そして批判されている。それらがわかりやすいかどうかや社会的な認知が広まっているかなどには意味はなく、結果として正解にたどり着けるかどうかが重要だ。

イアン結び: 素早く結べ、ほどけづらいというイアン結びというちょうちょ結びのやり方を教えてもらった。スニーカーに限らず、革靴のロウ引きのひもでもこれで結べる。ゆるむということがほとんどなく、確かにほどけづらい。動画では説明が複雑で、難しく見えるが、やってみるとなんとなくできる。

CSSWring v4.2.1: CSSハックのあたりを突き詰めていたところ、残してもしょうがない定義が残ることに気付いた。例えば00propertyなどといった不正なプロパティーを含む定義だ。これらを仕様通り、つまりブラウザーと同じように削除するようにし、CSS Wring v4.2.0をリリースした。今はちょっとしたバグを修正して、v4.2.1を既にリリースしている。

夢(2016年2月2日): ブランコとシーソーが合体しているものにのっている。前後に揺れながら上下にも動く、大人なのですごく怖い。向かいにのっている(シーソーなので)子供にバカにされる。イラッとしたので立ちこぎしてブランコの振れ幅を大きくすると子供が泣きはじめる。そろそろ止めようとしたところで、ブランコの止め方ってどうやるんだっけ……となり、自分も怖くなったところで目が覚める。

AdSenseなし: 月が変わるキリが良いところでGoogle AdSenseを削除した。HTMLファイルとCSSファイル、JavaScriptファイルで計3ファイルになったため、ほとんどのページでロード時間が500msを切るようになった。今までも1.5s弱で遅くない部類ではあったが、500ms切るとさすがに速いと感じる。

ネットショップにおける色: ネットショップのデザインを色覚異常者ために改善する5つの方法という記事を読んだ。色覚異常者のために(for Colourblind Users)となっているが、ウェブサイトが思ってもみない環境(色再現性が大きく違うといったハードウェア環境だけでなく、陽ざしを遮るところのないビーチといった自然環境も含む)から閲覧されることが想定される昨今は、すでにこのあたりのこと、つまりラベリングとコントラストがベースラインとされていても良い。

レス・ザン・ゼロ: David Bowieが亡くなってしまい悲しいので、レス・ザン・ゼロを読みなおしていた。こんなところにも彼は生きてる(タイトルはElvis Costelloの曲からだけど)。

3つのウェブサイト: 知人と「3つだけウェブサイトを購読できるアプリがあったら何を登録する?」という話になった。3つとなると選んだウェブサイトで自分の性格や興味が如実にあらわれそうだ。つまり3つのウェブサイトで自分を表現するという形になるのかもしれない。そう考えたのでその場では保留にした。

A HTMLかAn HTMLか: テキトウな英語を書いていると、しばしばa HTMLなのかan HTMLなのか迷う。文字ではなく発音が重要なので、この場合はan HTMLが正解なはずだ。HTML 4.01仕様の第7章やWHATWG版仕様の第12章でもan HTMLとなっている。

夢(2016年1月16日): 隣を歩いている人の着ている服が欲しかった服に似ていた。着るとこんな風に見えるのかとちらちら見てると、その人がすごい変な顔をしたおじさんだったことに気付く。よく見てみると自分の顔だった。あーこれは夢だなと思ったところで目が覚める。

ケユカ フタ用スタンド: メインがノートPCになった関係で、閉じたまま立てられるスタンドを探していた。それなりに見つかるのだが、値段や見た目でなかなか折り合いがつくものが見つからない。結局ノートPC向けとして作られているものはあきらめ、まな板立ての方向で探すことにし、最終的にケユカで売っていた鍋やフライパンのフタ向けスタンドにした。定価の1728円で購入した。

上へスクロールした時に通知: 世には下へスクロールしている時、つまりコンテンツを閲覧している時にポップアップやら何やらをアニメーションさせて表示してくるウェブサイトが数多くある。The New Yorkerでは逆で、上へスクロールした時に通知を出す。つまり閲覧を止めたと考えられる時に通知を出すようになっているということだ。

vim-css3-syntax v0.17.0: 見逃していた仕様があったことを反省したので、CSS current workをちゃんとチェックして漏れがないようにした。わかりづらくなるため特に追加すべきプロパティーや値がなくても空のファイルを追加したりしている。そういったあえて無視していたものを除いてもMotion PathやNon-element Selectorsなどを見逃していたようだ。それらを追加しvim-css3-syntaxのv0.17.0をリリースした。

物欲の浄化: 冬のセールが始まる・始まってるなと、6日に新宿をうろうろしていた。いくつか欲しいものがあってセールに期待していたが、セール対象外だったりして結局定価で買った。新宿あたりまで行くと手が届く範囲のてっぺんみたいなものを色々見ることができるため、物欲が浄化されていく。

2016年の目標: 今年はやはり運動だろう。スタンディングデスクで体調そのものはかなり調子がいいものの、体力の低下とミスマッチしていて、集中力と姿勢の持続が難しい。もう少し安定できるように基礎体力をあげたい。必要なのは姿勢を保持するため筋肉だと思うので、肘をついて体を伸ばした状態を維持する運動、巷ではプランクと呼ばれているものを朝晩に行うようにすることにした。

push -f募金: どうしても面倒になるとやってしまうことがあるGitのpush -fを抑制するために何かしようと去年の頭くらいから考えていた。2月くらいに思いついて募金するということにした。最近はインターネットで小口の募金はできるので、対象はあまり気にせず100円前後を色々なところへ募金している。3月から12月まで計12700円募金していたので、どうやら100回以上push -fしたようだ……。

filesフィールドとtestディレクトリー: npmはパッケージにtestディレクトリーを含めている。それもあって自分のパッケージでも特に疑問を持たずにtestディレクトリーを含めるようにしていた。.gitignoreや.npmignoreではなく、package.jsonのfilesフィールドをメインで使うようになってからも明示的に加えていた。イシューで指摘されて初めてちゃんと考えたが、どうもいらないようだ。

発泡純米酒ねね: 年末年始しか酒を飲まなくなって久しい。それ以外では数えるくらいしか飲まなくなった。酒は嫌いではないのだけど、酔っぱらうと最悪な感じになるので15年くらい前にやめた。以来、年末年始にちょっとだけくらいにしている。今年はシュワシュワする日本酒を飲んでみたかったので、近所で売っていたねねというものの、クリスマス向けの金箔入りにした。

夢(2016年1月2日): 初夢は見ることができなかった。おぼえていないだけかもしれない。見ていたような気にも特にならなかった。

vim-css3-syntax v0.16.0: CSSOM View Moduleで定義されているscroll-behaviorプロパティーを追加し忘れていたのを修正して、vim-css3-syntaxのv0.16.0をリリースした。このプロパティーはスムーズ・スクロールを制御するためのもので、自前でコンテンツを動かす場合にスムーズ・スクロールと競合しやすいことを抑制できる。実装は少なくないが、利用できる環境は少ない。

特定の条件: Being patient vs. being loudという記事を読み直した。2015年4月の終わりくらいの記事だが、特にその時だけ重要だった話というわけではない。ウェブサイトに問題点があるかどうかをはっきり認識できないことがあるため、問題が報告されないことはウェブサイトに問題がないことを意味するわけではない。そしてそのことは障害のある人々には致命的であろうとしている。

家具の配置: ベッドと机をどう配置するかという難問と生まれてからずっと戦っているような気がする。世のレイアウト例では寝室とホームオフィスが分かれている。分かれていないものを見つけても、ソファベッドだったりおもちゃみたいな机だったりだ。なかなか参考になりそうなものを見つけることができない。

田作り: 残念ながら失敗した話だ。ごまめを甘辛いたれで煮込んだだけのものになった。どうもから煎りする時間が全然足りなかったようだ。中火よりちょっと弱めくらいで焦げないようにガシガシかき混ぜながら15分以上はから煎りする必要があると、今日のきょうの料理で言ってた。10分弱火で炒っただけでは全然ダメだった。味はおいしいので、違う料理として楽しむ。

Google Analyticsの削除: やってみるかという気になったので、このウェブサイト他からGoogle Analyticsのコードを削除した。今までも非同期にちょこっと実行させていただけなので、特に変わった様子はない。読み込まれるリソースが減った分も大勢に影響はないようだ。Googleのレスポンス力はすごいな、と素直に感じる。

夢(2015年12月26日): 大雨で屋根の塗りがどんどん剥げていく。屋根は今の色が黒で昔は赤茶だったが、剥げたところがなぜかどんどんきれいな山吹色になっていく。これはきれいだなーとスマフォで撮ろうと乗り出して腕をのばす。のばした腕がメガネに当たる。ぽろっとメガネを落としたところで目が覚める。

2015年に見限ったCSS: 去年はCSSグラデーションを見限ったような気がする。CSSグラデーションは便利ではあるものの、実装の差がいまいち想像しづらく思ってもみない結果になることがよくある。SVGでやった方が結果からもテクスチャであるという面からも安定という印象だったため、去年からほとんど使わなくなった。今年はtext-shadowとletter-spacingプロパティー、そして::selection擬似要素を見限った。

BAKEとその行列: チーズタルトのBAKEが近所にできたが行列がものすごくて並ぶ気にならなかった。たまたま行列が少ないタイミングで近くを通る機会があったので、どうにか25分並んで買った。並んだことで初めてわかったが、根本的に行列ができる仕組みと運用になっているようだ。

民主的であること: 誰かのためにデザインすることはとても重要だが、それは閉鎖的で個人的な場面で使われるもののデザインにおいてだろう。公共の施設やウェブといったオープンな場面では、誰にも自由で、誰にも平等であることが理想であるはずだ。これを民主的であること、とすると多数決社会を思い浮かべてしまうかもしれないが、人という総体のレベルで自由で平等であることと言っても良い。そういった意味での「民主的な」デザインとは何なのかというイメージを文章にまとめた。

民主的なデザイン: 民主主義の精神——各個人の一個人としての自由——がその家を支配し、屋根裏部屋とポーチを取り去り、地下室を引き抜き、リビング・ルームと食堂と台所とを一つにまとめた広いユニットを作り、便利のよい出入り口を最適なところにつけた。寝室はリビング・ルームから伸びる翼の下に抱えられてバス・ルームに近く配置され、建物は床から天井までのガラスによって太陽に光に満ちていた。

エンバーミングの値段: エンバーミングはまだマイナーなようだが、父親の葬儀ではやってもらった。日本では全国統一価格らしく、画像の通り12万円+オプション費用(散髪とからしい)だ。結構な値段はするものの私(や家族)の感想としてはやってもらって良かったというものになった。ただコッテコテにやりすぎてもめるとかもあるらしい。

スタンディングデスクのセッティング(2015年12月19日): 座卓の上にデスクを重ねるアイディアはうまく機能しているようだ。高さ的にもちょうど良く、すこぶる調子は良い。懸念だった転倒対策の半分は、壁とデスクを転倒防止用の粘着テープでつなぐことで行った。もう半分は座卓とデスクの間に弾力性のあるコルクマットを敷くことでデスクの安定度を上げることで行った。

ラベル: “Learn More” Links: You Can Do Betterとキャンセルのキャンセルという2つの記事を読んだ。両者は共にラベルの話だが、ウェブサイトとアプリケーションというだけでなく、コンテキストは大きく違う。しかし共にユーザーがどういう結果になるか類推できない点が大きな問題とされているように読めた。

ふかしイモ: レンジでふかしイモを作るのはなかなか難しいと思っていた。強いとカピカピになるし、それを避けようと水が切れないように工夫してもムラのある出来上がりまでにしかならない。そんな話をしていたら、弱いワット数でゆっくりふかすのが良いと教えてもらった。

スタイル・ガイド・ジェネレーターについて: 僕は以前からJavadocを踏襲した形のスタイル・ガイド・ジェネレーターには構造的な欠点と思想的な欠点を持っていると考えている。実際にはスタイル・ガイドを中心としたウェブ制作体制をよく利用すること、そしてその中での作業を自動化してくれるであろうジェネレーターには期待していること、はあらかじめ断っておきたい。

Chrome 47でのプレースホルダー文字列の位置: input要素のplaceholder属性で指定することができるプレースホルダー文字列が場合によって位置がずれることがあることを知った。どうもinput要素へフォント指定があり、かつプレースホルダー文字列にマルチバイト文字列が含まれていると再現するようだ。

Hanes PREMIUM Japan Fit: 夏に黒い無地のポケットTシャツを探していた。なかなか良いのがなかったが、Hanes PREMIUM Japan Fitが値段も手ごろで良さそうだったため、伊勢丹まで買いに行った。試着はさすがにできなかったが、店頭にあったサンプルの厚さや肌触りが良く、何よりパッケージが秀逸だったので珍しく即決で買った。定価の3014円だった。ちょうど良いのでふらっと見つけた素敵パッケージAdvent Calendar 2015へ投下しておく。

JavaScriptでのセミコロン: A plea to use semicolons when writing JavaScriptという記事を読んでいた。僕はもちろん書く派だ。なのでこの記事には大賛成……と思いきや、こういった言語的な側面からセミコロンを使うべきだという書き方には賛成できない。これではそのまま逆にすれば使わない理由になりうる。

夢(2015年12月13日): 某卵かけご飯のアイコンの人にすごく似てる人が電車で向かいの席へ座る。「すごい似てるなー」とTwitterでつぶやいたり、Instagramへ写真をアップロードしたりした。一通り遊んでしばらくすると、この人と会ったことがなく、まったく顔を知らないことを思い出した、というところで目が覚めた。

vim-float-roundプラグイン: Vimで少数を四捨五入したい時、少し前に作った置換コマンドを使っているが、やはり余計な0を削除したいと感じることが多かった。手作業でやるのも限界があるので、これも置換コマンドでやっていたが、2回置換コマンドを入力するのはいかにも面倒くさい。独自コマンドはなるべく.vimrcに書かないことにしているので、float-roundプラグインとして切り分けることにした。

黒いTKG: 去年はピンクだったので、今年は黒にした。黒はキャビア……だけど日和ってチョウザメではなくランプフィッシュのものにした。GABANのものはKALDIであるとかで比較的容易に手に入る(税込213円だった)。適当に作ったものの結構おいしいというか、成功したっぽい。今年もやっているTKG Advent Calendarの11日目になる。

ウェブフォントが無効化されているケースのテスト: CSSでのフォント指定を無効にする手段はブラウザーに用意されていることもあるが、ウェブフォントだけを無効にする手段は用意されていないように思う。もちろんMobile Safariのコンテンツブロッカーに対応したアプリのいくつかでは対応しているようだが、それをデスクトップからテストするのはなかなか難しい。

スタンディングデスクのセッティング(2015年12月7日): 仮導入だったため、スタンディングデスクは机の上にカラーボックスを重ねることで実現していた。肉体的には調子がいいのでこのまま続けたいが、このセッティングにはちょっと無理があるようだ。高さはちょうど良いが、カラーボックスの奥行が短いため色々やりづらい。天板の弱さも気になる。そこで机を重ねるようなセッティングに変えた。と言っても重ねたのは下にだ。

Windows 10 TH2のインストール後、コントロール・パネルが固まる問題: Windows 10のTH2が入ったあたりからコントロール・パネルを開こうとすると10秒くらい操作不能になるようになった。コントロール・パネルを使う機会はかなり減ったためそれほど問題ではないが、気になる。色々調べたところ、TH2がアプリケーションが強制削除することが原因だったようだ。それによりコントロール・パネルのエントリーと実体に不整合ができ、実体のないコントロール・パネルのエントリーを探そうとして固まる。

HTML Best Practicesへ簡単な説明の追加: 重い腰を上げてHTML Best Practicesへ短い説明を追加した。おおまかに「なぜ?」を説明する形にしたが、ところどころそうでないものもある。少しは説得力も上がったのではないだろうか。

npm-quick-run: npm-quick-runというツールを使い始めた。npm runをラップして、引数に与えた文字列とマッチするnpmスクリプトを実行してくれるというもの(わかりづらい)。スクリプト名の補完を自動でやってくれるというと近く、使用感的にはGitのautocorrect機能と似たものになる。

CSSWring v4.1.1: CSSハックが使われていたプロパティーが正規化されてそのまま残ってしまうバグがあったのを修正し、CSSWringのv4.1.1をリリースした。これで正しいブラウザーが解釈するようにCSSハックが削除されるようになる。残したい場合は明示的にオプションで指定する必要があるのはこれまでと変わらない。

一番近い川: 近所にある川(これでも一級河川だ)にはあまり行かなかった。理由は自分のメイン移動経路からはちょっとずれているからだ。最近になってできた商業施設へ行くときも川のあたりは通らない。完全に自分の生活とは無縁な川だが、健康のため散歩をするようになってから随分と身近になり、ちょくちょく川伝いに歩いたり、川を渡って遠くまで行くようになった。空いているようなので川 Advent Calendar 2015の4日目の記事ということにした。

モダンとクラシックをとりもつスタイル・ガイド: 既にあるウェブサイトの実装を、今後を意識してモダンにしようとすると、どうしても既存のクラシックな何かしらの置き換えが必要になる。多くの人が作り始めているであろうスタイル・ガイドはそういった時に役に立つ。現状での保証された結果を提示してくれるからだ。

パステリ: パステリというギリシャのお菓子の作り方を知って、材料さえあれば簡単そうだったので揃えて作った。簡単でおいしかったが、カロリーはやばめな感じがある。日本では胡麻おこし、アメリカではセサミ・シード・キャンディーというらしい。見た目はまさにおこしのような感じだが、もうちょっと柔らかくサックリという食感だった。

夢(2015年11月29日): 部屋の床いっぱいに人をダメにするソファが敷き詰められている。これでいつでもどこでも横になれる最高の環境だとなって、ごろんごろん堪能していた。ふと気づくと机も人をダメにするソファにかわっていて、それに置いてあったディスプレイもなんだか柔らかい。というところで目が覚めた。

スタンディングデスク雑感: レンタルしていた骨盤をサポートする座布団を返却してからスタンディングデスクを試している。以下はその雑感だが、まだ既存の机の上にカラーボックスを重ねただけの状態での体験でのものだ。

競合相手のプロモーションのため、公式プラグイン一覧からの削除されたこと: 全世界的にPostCSSが盛り上がってきたので、他の最小化ツールなどは出てるのかなと公式のプラグイン一覧を参照したところ、全然関係のないことに気付いてしまった。確か以前はCSSWringがちゃんと載っていたように思ったが、消されていた。なんかやらかしたとか出来が悪いとかならばしょうがないというところだが、どうもcssnanoのプロモートのために消されたようだ。おっと。

JavaScript無効時代: 一週間JavaScript無効で過ごしたけどすごく良かったという記事を読んだ。大雑把な感想を言うとするとそりゃそうだろと言えるような内容であり、特に面白みはない。しかし広告に特に触れずにFSFと絡めて説明するのは比較的珍しかったので、興味深くはあった。

歴史: 亡くなった父親の蔵書をものすごい勢いで消費している。専門書が多くちょっと読みづらいが、あまり読んだことのないジャンルの本が多くそこそこ面白く読ませてもらっている(読み飛ばしている)。その中でも岩波文庫で出ている「歴史」は良かった。結構読むのに時間がかかるかなと思ったが、中巻まで耐えたら一気に読めた。

CSS、レイアウト、現在、未来: floatプロパティーで柔軟なレイアウトを行うことは可能だが、それには熟練と標準化されていない知識が必要になる。Flexible Box Layoutは標準化されていないという問題は解決するが、限られた矩形を基準にレイアウトをすること由来の独特のおまじないという熟練は必要になる(heightプロパティーの工夫)。レイアウトには様々なパターンがあり、Flexboxが解決するのはその一部分でしかない。

Drawic v2.12.0: 使い始めたWunderlistとMedium、そしてCircle CIのアイコンをDrawicへ追加した。ついでに今後よく必要になりそうなカギのアイコンも追加し、84個になった。今年中に100個は無理そうな感じになったが気長にやる。

白いアプリ・アイコン: Let’s talk about white app iconsという記事を読んだ。タイトル読めばわかるけれども、iOS界隈を席巻しつつある白い背景のアイコンのことだ。ネイティブを尊重するのは良いが、もうちょっとその影響を考えた方が良いという話のようだ。

BackJoyとの一週間: 近所にできたLOFTでBackJoyという骨盤をサポートして腰への負担を軽減する座布団を試してみた。ちょっと違和感はあったものの使用感はいきなり良かった。ただ即購入には至らず、レンタルがあるようなので試していた。ともかくハイエンドにしようとリリーフ・グリップというモデルにした。540円で2週間レンタルできる。

ex単位のテスト: @kotarokに「ex単位とかうまく動く?」と聞かれたので、100倍してわかりやすくするテスト・ページを作成した。想定通りうまく動いてくれている。例えばSource Sans Proはx-heightが480とフォント・ファイルそのもので設定されており(FontForgeなどで確認することができる)、フォント・サイズが16pxとすると100exは16px * 480 / 1000 * 100となり768pxに理論上なることになるが、実際に(ほぼ)そうなっている。

リンク先が訪問済みかどうかのCSSによる表示: DuckDuckGoでは、検索結果に出てきたページが訪問済みかどうかをわかりやすくアイコンで表示してくれる。Googleではトリッキーなことはせずに、色を変えるだけだ。もちろん色を変えるのが簡単だが、色を増やさずに訪問済みかどうかを示すことも不可能ではないようだ。まずはテスト実装ということで擬似要素がユニバーサル・セレクターにはマッチしないことを利用して考えることにした。

Dropboxの(S)CSSスタイル・ガイドの所感: Dropbox社内のスタイル・ガイドを読んでいた。スタイル・ガイドとなっているがCSSのコーディング規約の方のスタイル・ガイドだ。最近のシンプル回帰の傾向と違い、かなり厳しいようだ。完全に守ってるとしたらかなりすごい。

夢(2015年11月7日): 冬服を衣装箱から出したところ、去年買ったお気に入りのセーターが虫食いでボロボロになっていた。どうにかならないかと穴を調べるために着てみたら、穴の方が大きいくらいだった。どうしようかなと着たまま呆然としていたらいきなり現れた見知らぬ人に「グランジだ! オシャレ!」って言われたので、調子に乗って玄関を出たところで目が覚める。

ドットで始まるファイルのWindowsでの作成方法: チャットの類いを見ているとたまに「Windowsでドットで始まるファイルが作れないんだけど」というような発言を見かけることが多くなった。Windows 10のおかげかSurfaceの好調さか、ウェブ開発でWindowsを使っている人が増えつつあるようで、こういう質問が出てくるのかもしれない。簡単に言うと.filename.と最後にもドットを付けると、それが削除されてドット始まりのファイルがWindowsでも簡単に作成できる。

英語で書かれた記事を優先的に読むこと: ウェブ開発・デザイン関係の記事は、英語で書かれたものを主に読むようにしている。英語が一次ソースなことが多いということもあるが、それは理由の2割くらいにしかならない。残りの8割の半分は先入観の排除で、もう半分は読み返しの促進だ。

Encoding: 2年弱くらい作業が続いているEncoding仕様を、新たなCRが出た機会に改めて読んでいた。このような仕様に人を浪費することがないように、どのような手間とヒマをかけてもUTF-8に変更していくべきなのかな、と感じる。

HTTPSにした時に気を付けたこと: 何回かやる必要が出てきそうなので、どういう形でやったのかをアバウトに記録しておく。本当は何もせずできればいいのだけど、世の仕様はそんなにうまくできてはいない。

HTTPSへ: 宣言通りHTTPSに移行した。まずはCloudflareの無料HTTPSを利用している。Cloudflareでは設定でHTTP Secure Transport Securityも有効にできるので、HTTPのままであろう旧URLからもスムーズに移行されるはずだ。RSSリーダー等で全部新着になったなどがあったら申し訳ないが諦めてほしい。

鎌倉散歩: 鎌倉あたりまで散歩していた。週間予報ではずっと雨っぽい予報が続いていたが、晴れて暑いくらいですごく気持ち良かった。

山崎実業 ドアストッパー キューブ(グリーン): ドアストッパーはたまに欲しくなるものの、必要なところには大体あり、なければ段ボールのきれっぱしでも突っ込んでおけばいいか、とあまり買うまではいかなかった。洗面所兼脱衣所と風呂場がきれいになったの期に、ここには取りあえず何か買おうと決めた。コンパクトでドアノブにかけておけ、重くなく、床を傷つけなさそうなものという条件で、山崎実業というところのキューブというものにした。色はグリーンにした。

HTTP Strict Transport SecurityとContent Security Policyを利用した履歴調査: Content Security Policyを使ってHTTPからしか画像を読み込めないように制限しておき、HTTP Strict Transport Securityを使ってHTTPSへ書き換えようとするウェブサイトのURLをimg要素で読み込ませることで、訪問済みかどうか調べるというSnifflyという手法の実装例を見ていた。HSTSが強制的にHTTPSへ書き換えることが逆にプライバシーを漏えいさせてしまう結果になったのは皮肉だ。

MediumのPublication Page: 少し前からMediumに記事をミラーし始め、うまく動いているようだ。個人アカウントは個人アカウントとして扱いたい感じもするので、midueM no ten.u2liaHという名前でPublication Pageを作ってそこに置くという形にした。

ファイル記述子がfs.readFile()等でサポートへ: Node.js v5のリリース案を見ていたところ、fs.readFile()等の第一引数でファイル記述子(file descriptor)がサポートされるようになるようだ。便利極まりない/dev/stdinなどがない環境(Windowsとか)で標準入出力の読み込みが簡単になるのかなと想像している。

サブディレクトリ-をgh-pagesへ向ける運用: gh-pagesブランチの管理にはいくつか手法はあると思うのだけど、決定版はなさそうに思える。まともにやるとするとsubtreeを使うのが良さそうだが、パワフルすぎて役不足な印象だ。僕は公開するファイル群を吐くサブディレクトリーをmasterからは無視しつつ、gh-pagesブランチではそのサブディレクトリーをルートにするみたいな運用に落ち着きつつある。

夢(2015年10月25日): マイナンバーが575になり、簡単に暗謡できるようになる。うっかり口ずさんでしまうと、俳人に依頼して新しい575を詠んでもらう。という冗談がうっかり採用され、なにかの賞の候補に……というところで頑張って起きた。

calc()内の0: 感覚としてcalc(1rem + 1)は明らかにダメそうだとわかるが、なんとなく通りそうに見えるcalc(1rem + 0)もダメになるということをCSSWringへのPRで知った。0ならユニットを省略できることが多いが、calc()内では別のようだ。最初良くわからなかったが、この辺りを定義しているCSS Values and Units Module Level 3仕様でもちゃんとそうなっていた。

WEB+DB PRESS Vol.89: 以前記事を書いてより毎号WEB+DB PRESSをいただいているが、感想を書いてなくて申し訳ない。謝罪から始めたが、11/24発売の第89号に載っていた@kazuhoによる速習HTTP/2という記事が非常に良かった。これはフロントエンド側の人からもっとデザイナーよりの人にまでも薦めることのできるHTTP/2の入門記事だと感じた。

画像配置の自動化とその本当の目標: ウェブページにおいて図であったり飾りであったりする画像の配置はCSSを通して行う。多くの場合はクラスとしてパターン化した配置のひとつを要素に割り当てることで行うわけだが、これを自動化したい。具体的に言えば、画像の縦横サイズやアスペクト比、キャプションの有無に基づいて最適な配置を自動で行い、手作業で要素にクラス名を振らなくて済むようにしたい。

遅延読み込み用のぼやけた画像: Mediumでとある記事を高速にスクロールして読んでいたら、さりげなく画像を遅延読み込みしていることを知った。読み込み発火のタイミングがうまいのかあまり遅延読み込みの存在を感じさせないのもすごいと思ったが、プレースホルダー画像の実装方法が良さそうだった。単純に元の画像を幅30px程度まで小さくしてそれをブラウザーにリサイズさせることでぼやけた画像をプレースホルダーとして表示しているだけだが、十分に機能していそうで目から鱗だった。

NovaフォントとProフォント他: Windows 10ではデフォルトでもいくつか新しいフォントが加わっているが、欧米向けには特別に新たなフォントが提供されている。それらはオプション機能から機能の追加を選択し、ヨーロッパ各国語追加フォントを探してインストールすると使えるようになる。

VimへのEditorConfigの導入: 他人のリポジトリーをいじるときだけEditorConfigを使うような仕組みにしていたが、3回ミスして迷惑をかけたので、諦めて常時使用することにした。バイナリーをパスを通ったところに入れて、ediorconfig-vimをインストール……ではすんなり環境を構築できなかった。どうやらWindowsでset shell=shかつset shellslashしてる場合でだけで起こるようだ。

姓名ジェネレーター: 必要に迫られてランダムな名前を生成するJavaScriptを書いた。姓が100通り、名が男女50通りずつで、ランダムに組み合わされる。前田さくら、大野亮太、岩崎健太、伊藤悠斗、佐藤智子。

CSSやJSの分割: HTTPS化したらやろうと思っていた、CSSファイルとJavaScriptファイルの分割を別ドメインの方で試していた。果たして聞いていたように効果があるのか……と思ったが、利用しているファイルが少なくてよくわからない。

図書館とか: 噂の図書館は地元のため、ちょくちょく行っている。行くようになった。色々に色々と書かれていて、それに対して思うところはあるもののうまく書けそうもない。原子力発電所の地元に住んでいる人たちは東日本大震災以降ずっとこんな気持ちだったのかなと少し感じる。もちろんスケールはまったく違うと思うが。

ブックマークのおっかけ: ソーシャル・ブックマークはまだそれなりに機能するが、いまだに追いかけるのが難しい。その中ではてなブックマークのお気に入り機能は出色の出来栄えと言えそうだが、やはりブラウザーであのページを見るのは辛い。かといってRSSリーダーで読むのもなかなか難しいと感じる。HBFavは良いものだが、やはりデスクトップでどうにかしたい。

システム・フォントのショートカット: システム・フォントのリフレッシュが各OSで進んでいる。かといって無指定の場合はそれらシステム・フォントが利用されるというわけでもない。あまり長いfont-familyプロパティーを書くのは好きではないので、@font-faceで抽象化したい。それを試すついでに、srcデスクリプターで-apple-systemキーワードが利用できるかどうかの確認もした。

夢(2015年10月12日): 父親が帰ってきたので、食事の用意をして一緒に食べる。後片付けをしていると客用の茶碗を出していたことに気付き、「あっ親父死んだよな」と考える。父親に「死んだよね」って聞いてみると、「そうだよーそれで言うことあったんだよ」と軽く言われたところで目が覚める。

ベースライン: 復帰してからこっちウェブページから色々削除していた。Facebook向けのOGPやTwitter Cards用のmeta要素、ほぼGoogle向けのMicrodataなどを削除して、HTMLでは必要最小限のところまで絞った。CSSでは主にNormalize.cssを削除する作業と、SCSSでの変数のローカル化なので、結果はほとんど変わっていない。JavaScriptは元々それほど使っていないので変わっていない。この状態をベースラインにして、何をどう積み上げるか、だ。

毎日575: 毎日の 日課を何か 増やしたい

誤審と肯定、その結末: 少し前にかなりの誤審があり、そこそこの確率で勝利していたと思われる試合が引き分けに終わった。2日後にその誤審は認められ謝罪はなされたものの、試合結果は引き分けのまま修正されることはなかった。その結末は勝っていたかもしれないチームはその相手チームと半ゲーム差でポストシーズン出場を逃すというかなり後味の悪いものになった。

モバイル広告益と回線益: 広告パブリッシャーは広告の表示で利益を得る。キャリアーは回線の利用量が利益に直結する。モバイル広告の表示には当然回線を利用するわけで、その時にどちらがより利益を得るのかという記事を読んだ。記事ではキャリアーの方がより稼いでいるというデータの提示のみだが、そう考えるとモバイル広告の持つ(とされる)宣伝効果がその分減殺されているということになりそうだ。

半角カッコから全角カッコ: このウェブログの本文で使っていた半角カッコを全角カッコに変えたくなった。文章校正的な理由ではなく、将来の縦書き化を見据えて今のうちに調節しておこうかなという程度の理由だ(半角カッコに戻すのは簡単そうだ、ということもある)。だが単純な置換ではなかなか難しく、手作業でやろうかと思ったが開き半角カッコだけで8000近くあったので無理そう……ということで一時間くらい色々考えた結果、ASCII範囲外の文字を含む開き半角カッコと閉じ半角カッコのペアを探して置換するのがよさそうという結論に至った。

夢(2015年10月5日): ガスと電気と水道、電話の名義変更を行うが失敗し、すべて止まる。暗闇に包まれ、何もできない家でじっとしていると、市役所の人が来る。「ちょっとした手違いで……すみません!」とあんぱんを3つ渡される。食べたらすごいおいしかった。が数分後に腹痛になり、トイレに入るも水が流れない。というところで目が覚めた。

srcset属性を使ったSVGフォールバック・ハック: SVGをサポートする環境がほとんどになってきた。それでもなんとか8であったり、かんとか2.3であったりのことを考慮せざるをえないという状況はありうる。それにはonerror属性を使った対応が有力だが、srcset属性でSVGファイルを指定するだけというハックのことを知った。将来的に使えなくなるわけではないが、やりたいことと実装に食い違いが少なからずあるのでハックと言って良いだろう。

1文字だけの改行の拒否: 日本語の文章では任意の位置で改行できるため、レスポンシブ・ウェブ・デザインでは多くの場合、望まない位置での改行が起きる。例えば最後の1文字だけ次の行になってしまうと、読みやすさや理解度に致命的な影響を与える。例えば「?」だけ次の行に送られた場合、あるとないのでは大きく印象が変わるだろう。Twitterで@Takazudoと@oosugi20の会話を見て、やはりみな似たようなことは考えるものだと感じ、このあたりのことについて書いてみたくなった。

TIGER サハラマグ MMP-G031: とにかく軽いマグボトルを探していた。本当はS’wellがかっこいいなと思っていたが、特に軽くもないし、氷を入れられないのは後々絶対に後悔すると考え、やめておいた。最終的に飲み口がないTIGERのサハラマグに決め、白の300mlのものにした。2648円だった。

vim-css3-syntax v0.15.0: 俗に言うところのCSS3仕様もずいぶん安定版のものが増えてきた。更新があっても文章上の修正にとどまり、機能自体の追加や更新はあまりない。ある場合はLevel 4モジュールが作られるようになり、Level 3モジュールへは変更が加わらなくなった。ということでCSS Text Module Level 4最初のWDが出た記念に、vim-css3-syntaxのv0.15.0をリリースした。スナップショットの方も動きがあったようで、何かしらの一線を引ける日も近そうだ。

表のセルにおける少数の行揃え: 表のセルでは数字は右揃えにすることが多い。しかし少数を右揃えにすると、小数点以下の桁数が違う時に読みづらくなる。等幅フォントにしてもそれは解決しない。少数点がうまく縦に並ぶように揃えたいわけだ。CSSではtext-alignプロパティーで文字列が指定できるようにしたいようで、いずれ可能になるかもしれない。とされているが、実はHTML4.01の頃からほぼ同じ機能は仕様で定義されているものの実装はないので、期待は薄い……と思ったものの、うっかり実装されていないかどうか確認した。

Mobile Safari 8と表のセルのフォント・サイズ: Mobile Safari 8でフォント・サイズが表のセルでのみおかしくなる現象に遭遇した。条件はセルへwhites-pace: nowrapを指定していることのみのようだ(paddingプロパティーの指定があると再現率が上がる)。手元の環境ではスクリーンショットのように16pxで表示されるはずの表のセルが19pxほどで表示されてしまった。

Sass変数の(ダメそうな)案: 時代はとっくにSass 3.4なのでローカル変数メインにしたいということが前提にある。そうすることで変数名にBEM等のしっかりとした命名規則を使わずに済み、自己言及的な変数名と数文字の変数名でおおむね完結することになる。パーシャル間で共有したい場合はしょうがないので!globalを使ってローカル変数をグローバルへエクスポートするようなあきらめを許容して誤魔化す。

レスポンシブ・タイポグラフィーなど: ウィンドウや画面のサイズに合わせて文字の大きさを自動的に変更するテクニックは、俗にレスポンシブ・タイポグラフィーまたはフルイド・タイプと呼ばれている。当初は僕も良いアイディアだと思い多用していたが、重要なのはビューポートの大きさではなくデバイスとの距離だろうと思い直したためもうほとんど使うことはない。当初から嫌いといっていた人はこの辺にしっかりとした意識があったのだろう。

FOUTはプログレッシブ・エンハンスメントだ: 僕はウェブフォントの実装はFOUTを強いる形がベストだと今のところは考えている。とにかく文章が読める状態をできる限り確保するべきだと思うからだ。だがなかなかFOUTの良さを説明することは難しい。どうしても他の手法の欠点を強調しがちで終わっていた。そういう時にFOUTをプログレッシブ・エンハンスメントととらえて説明するのは良さそうだ。

v6.78.0: 画像をなくすみたいなことをやっていた(画像をなくしたいわけではない)。あんまり変わってないけれども、画像がなくなると文字の大きさのバリエーションが非常に目立つようになるので、全体的に控えめにしたりもしてた。その過程でいろいろなところで利用していた枠線もほとんどなくなった。

Drawic v2.11.0: Drawicへ使い始めたInstapaperを始めFeedly、Cloudflare、Slackとウェブサービスのアイコンを4つ追加してv2.11.0に更新した。もう#でSlackみたいな感じになっててすごい。

丸いチェックボックス: Checkboxes Are Never Roundという記事を読んでいた。チェックボックスの見た目をちょっと変えて丸くしてしまうと、ラジオボタンとまったく変わらなくなり、ユーザーがその機能に戸惑う可能性があるので、知覚されたアフォーダンスを破壊するという風に読んだ。丸いチェックボックスだけでなく、下線だけのテキスト入力コントロールやクリックしてもフォーカスの移らないラベルなども似た問題を持つ。

Uptime RobotからiOSの通知へ: Uptime Robotはウェブサイトが落ちた時に通知してくれるが、その通知方法は限られている。スマフォ・アプリがあって通知で受け取れることができれば良さそうだが、残念ながら公式アプリはない。そこで対応しているWebhookとIFTTTのMakerチャンネルを使うことでiOSの通知に送ることにした。

夢(2015年8月31日): 天の声に「CSSの基本は発声から」と言われる。朝起きたらまず裏の神社にお参りし、今日も一日CSSをうまく書けるように大きな声でお祈りすることが義務付けられる。恥ずかしいのでサボったらテキスト・エディターでCSSファイルが開けなくなった。基本大事だなーと思ったところで目が覚める。

物の価値: 遺品の整理をやっているわけだが、親(や多分配偶者)のものにはまったく価値が見いだせなくて、捨てるしかどうしようもない感じだ。思い出が多少あるものがあっても、明らかに着ることのできない洋服だったりする。袖が足らなかったり、ウエストが10cmくらい余ったり。

: ゲーム期じゃなかった。父親が死んだので色々やったりしてた。あぁ誕生日だ。ひどい言い方になるが70を超えた辺りでそろそろとか考えたことはあったような気はするけど、僕が40になる前に死ぬとも思ってなかったし、こう突然死ぬとは思ってなかった。

dns-prefetchとpreconnect、そしてprefetchやprerenderとpreloadの併記: 2014年10月より標準化作業が公開されたResource Hints仕様により、既存のrel=dns-prefetchとrel=prefetch、そしてrel=prerenderは置き換えられる可能性がある。この置き換えが起こる可能性は決して高くはなさそうなので、実装されているもののままでも構わないと思うが、link要素のrel属性は複数の値を取ることができるので、同時指定しても良い。

Postcards from Penguin: ペンギン・ブックスの本のカバーをポストカードにしたものの100枚入りのセット、Postcards from Pengin: One Hundred Book Covers in One Boxを衝動買いした。Amazon.co.jpでタイポグラフィーの本を漁ってたら見つけた。100枚入っていてもだいたいは同じデザイン……なんだけれどもそこが異様に良い。2500円くらいだった。

プリフェッチ中のリクエスト: 特定のリソースをrel=prefetchを使ってプリフェッチしている最中に、何らかの形で新たにリクエストされるような状況になった場合、各ブラウザーはどういう挙動になるのかということを試していた。Firefox 38ではプリフェッチがそのまま続行され、新たなリクエストは発生しないという賢い挙動のようだ。

WebhookからPubSubHubbubへの翻訳: 少し前に公開されたIFTTTのMakerチャンネルを使って、GitHubリポジトリーのWebhookをPubSubHubbubの公開POSTリクエストに翻訳するようにした。GETを使った公開リクエストがあまり行儀が良くなさそうなことが前から気になっていたので、Makerチャンネルを使えば良いかなと試したところうまくいった。

夢(2015年6月20日): 湯船で丸々一本漏らす。あわてて手桶ですくい、トイレに流そうと風呂から出たらおばあちゃん(故人)に見つかる。そのまま正座させられ説教をされる。おばあちゃんには怒られたことがなかったので、すごいショックを受けつつ、とにかく服を着たかった。途中で「体拭いて服着ていい?」って聞いたら、「良いよ」ってニッコリ笑って返事してくれて、そのまますうっと蒸発するみたいに消えた。

レイ → ← アウト: ロゴの形状を変えたら広い画面のマルチカラムではずいぶんとバランスが悪くなった。そうでもないと思っていたけれど日に日に気になり度が増してきたため、レイアウトの基本を少し変更することにした。広い画面ではロゴを含めてコンテンツはメインカラムの左寄せに、サブカラムの内容は右寄せにするようにし、両者が詰まりすぎないようにその間を少し広くしてバランスをとった。

外国語の読み方: 外国語の読み方はしゃべる人の立場としゃべる相手の想定によって変わってくる。大雑把に有識者やエバンジェリストなどと呼ばれる立場の人達は、なるべく誤解を広めないようにすることを重視して、正確に引き写した音で読んだ方が良い。一方、知識の拡散と質の向上を狙うわけではない人達は、同じような専門家に向けてしゃべるわけではないことも考え、まずは通じることを重要視して雑に読んでも良いはずだ。

ウェブデザインのトレンドとその背景: 7 future web design trendsという記事を読んでいた。これらは既に(または元々)未来のトレンドじゃないという点を見なかったことにしても、構図を単純化しすぎなきらいがあり、トレンドっぽいものの紹介とその正当化という記事としか読めなかった。

Chromeとpre要素: しばらく前から特定のフォントをpre要素へ指定すると、Chromeのみでほとんど意味のない縦スクロールバーが表れるという現象に悩まされている。とは言ってもWindows以外ではもはやスクロールバーが見えることはないので、事実上WindowsのChromeユーザーのみが影響を受ける。DirectWriteが有効になったChrome 37あたりから頻発するようになった印象だ。

パッケージのスコープ化: 2015/04/15よりnpmレジストリーでパッケージのスコープ化が行えるようになった。パッケージのスコープ化は名前の衝突を回避することが主な目的のような取り上げられ方だが。僕は今まで色々な理由でnpmレジストリーへは非公開にしてGitHub経由でインストールすることを推奨していたようなパターンで使うのが良さそうだという感想を持った。

OGPとlink要素: HTTPS化の準備を始めるにあたって、HTMLで内部的に利用しているURLを対応するのは簡単だ。すべて相対URLに書き換えるだけで対応することができる。その相対URLの書き換えもパスの位置を考慮して最短にする必要もなく、//で始まる相対URLで行えば良い。aやimg要素はもちろん、scriptやlink要素も相対URLで問題ない。しかし外部から利用されるURLもどきではこの限りではない。例えばOGPなど利用することになるmeta要素では相対URLは使えず、OGPの仕様そのものでmeta要素に限定されており、そのパーサー実装のひとつであるFacebookでも解釈できない(できなかった)。

2015ロ06ゴ12: ロゴを変えた。ベースはそのままに消印っぽい枠を付け、反時計回りに20度回転させている。ウェブページでは透過背景に青で、Facebook他で使う画像は青背景に薄いベージュした。faviconの方はそのままでは潰れてしまうので、16px四方と32px四方のバージョンのみ外側の枠を削除したものにしている。

オペラ座の怪人: 5年ぶりくらいに読みたくなったので本箱を漁っていたけどなかったので買った。前に読んだのは創元推理文庫版だったと思うので、今度は角川文庫版にした。確かにずいぶんと読みやすい気がする。文体の古さを噛み砕きながらまじめにゆっくりと読むのも好きだけど、読みやすいと連続で読む気になったりして、楽なのも悪くないなと最近は感じる。

PostCSSプラグイン: PostCSS v4.1.0からプラグインAPIが実装され、postcss.plugin()でプラグインを作ることが推奨されるようになった。このガイドラインに従って作ることで、プラグイン間で一貫性が保たれ、エラーもわかりやすくなるというわけだ。一見良いとこずくめだが、それだけだとPostCSSプラグインの実行に常にPostCSSが必要になってしまう。Node.jsモジュールとして機能しているかというと微妙なところだ。

無限スクロール向け雑なローディング画像: 無限スクロールはちょくちょく実装することはあるが、追加するコンテンツの読み込みや挿入はともかく、ローディング画像の処理で悩むことがある。その表示の切り替えには実装と処理のどちらにおいてもそこそこコストがかかるからだ。かなり前に色々考えるのが面倒になり、常に表示しておくという雑な手をよく使うようになった。

夢(2015年6月9日): 近くに昨日できた山が噴火する。そこから直径5mくらいの岩が降ってくるので、必死で避ける。避ける。3時間くらい避けたら岩の代わりにコインが降ってくるようになった。「コインだ! 金だ!」と思って触ったら死んだ。ところで目が覚めた。

list-style-type: "🆕";: Firefox 39からlist-style-typeプロパティーで文字列が使えるようになる。今までは文字列を使おうとすると擬似要素経由で行うことになったため、デフォルトで要素の外側に配置されるリスト・マーカーと違和感のないように行うのはなかなか難しかった。そういった点が解決しやすくなったことや、Emojiを利用したリスト・マーカーなど、明快に広がる使い勝手の良さもあるが、他にも横並びのリストの区切りが作りやすくなる。

カラースキームのアップデート: このウェブサイトのカラースキームを少し変えた。ベースとなるアクセント・カラーを#1188bbから#278dd2と少し青を強くした。並べて比較するとわかるといった程度の違いで、ほとんど変わっていない。

スプレーとスティック、そしてクリーム: 制汗のアレの話。スプレーでおっつかなくなったので、デオナチュレのスティックをこの2年使っていたのだけど、これは長く硬いワキ毛とは相性が悪く、うまく塗れてなかったことがよくあった。さすがにワキ毛を剃るのはためらうので、メンソレータムが出してるクリーム状のしっかりと塗れるやつに乗り換えた。脇汗8割減という感じで、効能としては満足はしている。

node-inlining: HTMLからlink要素で参照しているCSSの内容をstyle属性に全部展開するNode.jsパッケージ、node-inliningを書いていた。HTMLとCSSを別々に普通に書き、このパッケージに含まれるCLIプログラムでコンパイルすると、HTMLメールとしてうまく機能するHTMLができあがるということになる。GitHubで推奨されている外部リソースに依存しない静的なエラー・ページを作成するためにも使えるかもしれない。

Material DesignのFloating Action Button: マテリアル・デザインのコンポーネントのひとつであるFloating Action Buttonsについての記事を読んでいた。Inbox by Googleを始めとして、さまざまなアプリに既に採用されているFloating Action Buttons(以下FAB)だが、主張が強すぎるため、没入型のアプリではその体験を阻害してしまうという話のようだ。

扇風機: もう夏なので扇風機を出した。震災後に買った口で、もう4年目。まだまだきれいだし、あと10年くらいは使えそうだ。

プレースホルダーのスタイルにおけるノーマリゼーション: テキスト入力コントロールにplaceholder属性を使って入力例を表示することができるようになってから、もうかなりの年月がたった。悪用されてもいるが、わかりやすいフォームには不可欠になりつつある程度には浸透したと言ってよいだろう。ただMozilla Developer Networkのグローバル・ナビゲーションに設置されている検索フォームのようにそのスタイリングに失敗しているケースはままある(Chrome 43だと入力済みかどうかまったく判断できない)。そういった失敗を極力減らすためには、Firefoxのようにopacityプロパティーを使ってノーマライズしてやるのが良いだろう。

MN: 等幅フォントは本文に使ってもうまく機能する。しかし余白が多くなりがちなその形状を、Google Fontsのような複雑なインターフェイスではレビューすることが難しい。MNではミニマルなスタイルでGoogle Fontsにある等幅フォントをサンプルの文章(そのフォントの説明文)を使ってレビューすることができるようにしたものだ。

横浜散歩: 5/27は天気が良かったので横浜まで行ったものの、海を見に行くところまでは辿りつけなかった。暑すぎた。

Chrome 43における擬似要素のdisplayプロパティー: Chrome 43で擬似要素に指定したdisplay: table-cellがうまく反映されないことがあった。当初はうまく再現できなかったが、どうもメディア・クエリーを使ってdisplayプロパティーを切り替えており、かつブラウザーをリサイズするなどして能動的に切り替わった時にのみ起こるようだ。

KALDI ドリップコーヒーフィルター(カップ用): 普段はモカエキスプレス一辺倒で、そうでなければ水出しコーヒーなので、めったにドリップでコーヒーを淹れない。そのためまともなドリッパーがない。あるのは既に穴が割れててすごいダメな感じのだけ。そこそこ場所取るので、買い直そうという気もない。KALDIに使い捨てのカップ用ドリッパーがあったので、それを買った。

ローカルのフォント: 少し前にこのウェブサイトがNeue HelveticaまたはCalibriになるように変更した。ウェブ・フォントを普通に使う機会が増えたその反動で、自分のウェブサイトは使いたくなくなる、といったところであまり深い理由は無い。ローカルのフォントだと表示の速さが3倍回しくらいに感じる。初期ページ表示までに特に引っかかりがないようなウェブページだと、コンマ1秒もないウェイトですら影響は大きい。

scss-lint.sh: SCSS Lintがv0.34.0から設定ファイルを上流から探さなくなった。カレント・ディレクトリーから探して見つからなかったらユーザーのホーム・ディレクトリーから探すようにはったようだが、プロジェクトのルート・ディレクトリーから探すようにはならないようだ。イシューを立てようかと思ったのだけど上流から探す機能をわざわざ削除したことの意味を調べるのが面倒くさかったので、シェル・スクリプトからプロジェクトのルート・ディレクトリーに.scss-lint.ymlがある場合はそれを使うようなラッパー・スクリプトを書くことにした。

夢(2015年5月26日): メールで連絡があり、詳細は添付したZIPファイルにあると書いてあった。ZIPファイルを展開したら、中からZIPファイルが出てきて、それを展開したら、また中からZIPファイルが……というのを永遠に繰り返していた。その間、ちょくちょくFacebookメッセージで内容確認できましたかと聞かれていたため、すみませんまだですという返事もまた永遠に繰り返していた。ずっと同じZIPファイルを展開していたことに気づき、頭がカーッとなったところで目が覚めた。

DuckDuckGoでサイト内検索: このウェブサイトの全文検索フォームをDuckDuckGoによるものに変えた。公式にはiframe要素によるものが推奨されているが、そのページからリンクされている更なるカスタマイズを解説した記事のように、form要素を直接書いても良いようだ。

CSS Transformによるセンタリングのベスト・プラクティス: 上下左右のセンタリングには様々な手法が編み出されてきた。最近はCSS Transformを使う方法がメジャーになりつつある。コンテナーとセンタリングしたい要素のサイズが共に不明でもうまくいくところなど、そこそこ万能感があるのがポイントだろうか。このCSS Transformによるセンタリングは左下に動かしてから右上に戻すパターンと、その逆の右上に動かしてから左下に動かすパターンがある。どちらでも理論的には上手くいくが、ベスト・プラクティスとなりうるのは後者だけだろう。

Instapaper: Readabilityを愛して止まないのだけど、結構な頻度で読めない、または画像がうまく出ないみたいな感じになってきたので、遂に諦めてInstapaperに乗り換えた。特に良いなと思ったところもないけれど、悪いと思ったところもまるでない。日付やお気に入りを維持してインポートすることができ、スムーズに乗り換えることができた。

main//main: 遂に<div itemprop="articleBody">というタグに耐え切れなくなったので、main要素をネストする方向に書き換えた。HTML5仕様ではmain要素はドキュメントごとにひとつしか許されないが、WHATWG版HTML仕様ではそのような縛りはない。すっきりした。

a:visited: ウェブページのCSSでa:visitedを使うと、リンク先が訪問済みの場合にリンクの色を替えることができる。ちゃんと設定してやることによりユーザビリティーが上がるというのが定説だろう。訪問済みならばもう開く必要はなく、結果そのページに集中することができるというわけだ。この論理には3つ疑問がある。

Formspree: Infield Top Aligned Labelの実験がてら、Formspreeでコンタクト・フォームを作成して設置していた。Formspreeは登録不要で使えるメール・フォームの設置をサポートするウェブサービスだ。提供するのはほぼエンドポイントのURLのみで、それに自分のメール・アドレスを追加したURLへPOSTするフォームを作るだけで設置が完了する。

CSSWring v3.0.5: 2つのバグを修正してCSSWringのv3.0.5をリリースした。#で始まるコメントが全てソース・マップ用の埋め込みコメントとみなされていたバグと、url("")内に対応しない閉じ括弧が含まれている場合に引用符の削除に失敗するバグが修正された。あわせてCLIプログラムのちょっとした修正も行っておいた。

下方向にもCSS Transitionでスムーズにスクロール: 少し前のCSS Transitionを使ったスムーズにスクロールしてトップに戻る機能という記事では、CSS Transitionを使ってスムーズにスクロールさせるためにbody要素のmargin-topプロパティーを負の値を設定した。これはとにかく上方向へのスクロールにしか使うことは出来ない。下方向にスムーズにスクロールさせるためにはまた別のアプローチが必要になるようだ。

The End (SVG): 重い腰を上げ、そこかしこで使っているプロフィール画像のSVG化を始めた。再現度は7割くらいまでは到達したように思う。この画像はその未完のものをPNGにエクスポートした。

window.scrollTo(Infinity, Infinity): 絶対的なスクロールはwindow.scrollTo()で、相対的なスクロールはwindow.scrollBy()で可能だ。このあたりのことを決めているCSSOM View Moduleではwindow.scroll()のショートカットとしてscrollTo()が決められていたりするが、大抵はこのどちらかで行うことになる。しかしページ最下部への移動をちゃんと行うとなると、色々面倒くさい(スクロール・バーとか)。そのためありえないくらいの大きな値を渡して誤魔化すことが多かったが、それならとInifityを渡したらChrome 42やInternet Explorer 11ではうまく動いた。

ConEmuのタブごとにカレント・ディレクトリーを復元: ConEmuでは、再起動した際にタブを復元するように設定することができるが、うまくカレント・ディレクトリーが復元されないことがある。各タブで使っているシェルに依存するので、シェル側で設定してやる必要がある。例えばGit for Windowsのbash.exeでは、~/.bashrcでシェル変数PROMPT_COMMANDを使ってカレント・ディレクトリーを明示的に記憶させる。

Safariにおける日本語の文章に対する下線: (Mobile )Safari 7.1より下線がディセンダーに重ならずに引かれるようになった。主にリンクの下線で確認することができる。概ね問題なく期待通りにうまく機能しているものと考えていたが、日本語の文章ではそれなりの確率(再現条件はよくわからない)でおかしくなることを知った。例えば上記スクリーンショットでは、大きめのグリフを持つ「作」や「安」などで下線が途切れているように見える。

夢(2015年5月13日): 口内炎が歯茎に出きてた日の夜、痛すぎて病院に行ったところなぜか「あーこれは頭蓋骨全部交換しないとダメですね」と言われ、下半身の部分麻酔で手術が始まる。いや無理だろって思ったところで目が覚める。手術系の夢はあまり見た記憶がなく新鮮だった。

WOFF2への変換にかかる時間: 自前でビルドすることによってwoff2_compress.exeを手に入れたので、ウェブサイトのビルドに組み込もうと考えていたが、微妙そうだということがわかった。まず元となるファイルが更新されることがあまりないこともそうだが、WOFF2への変換にかなり時間を取られるということが大きい。

CSS Transitionを使ったスムーズにスクロールしてトップに戻る機能: 前に作ったスクロールした時に位置固定のロゴをトップに戻る機能にすり替えるものを少し手直しして再導入した。今回はスムーズにスクロールさせようかと色々考えていたが、やはりJavaScriptでscrollTo()を制御するのはコストが高い。CSSならどうだと試行錯誤したところ、どうやらbody要素への負のマージンをCSS Transitionで滑らかに変化させれば良いようだ。

git grepをVimで使う #2: Git for Windowsをv2に上げる過程でいろいろ調べていたところ、git grepの良さそうなオプションを見逃していたことに気付いた。僕は半年くらい前からVimのgrepprgでgit grepを使っているので、その設定にいくつかオプションを追加することにした。

Niconneの&: &だけ別のフォントで置き換えるのをまたやりたくなったので復活させた。今回はNiconneを使った。Google Fontsで人気のあるOswaldやIngressで使われているCodaも作成しているVernon Adamsのスクリプト系のタイプフェイス。

woff2_compress.exeとwoff2_decompress.exe: あるフォント・ファイルをWOFF2フォーマットへ変換するには、現状google/woff2をビルドするしかない。FontSquirrelはかなり優秀ではあるが若干不安定で苦労する。他にもいくつかあるが、大きなファイルを食わせることのできるオンライン・コンバーターは皆無に等しい。ということで2855ee7をクローンして、ビルドし、ローカルで頑張ることにした。

相対命名ルール: スケールしていく変数のバリエーションを作る際の命名規則を変えていた。今まではalphaから始めて下にどんどん増やせるようにしていたのだけど、調整コストがかかる。plus1やminus3などとすると無限にスケールできそうだが読みづらい。下に3レベル、上に5レベルくらいまででだいたい足りそうな気がするので、全部で9レベルまで作った。

Git for Windows v2.x.xのインストール: Git v2系のWindows版がGit for Windowsの方で少し前から公開され始めていたことを今さら知ったので、更新した。2015/05/05現在はv2.4.0がリリースされている。インストールから動かすまでけっこう手間取ったので、メモがてら記事に残しておく。Git v2の使い勝手とかについては特に書かない。

Infield Top Aligned Labelパターン: Why Infield Top Aligned Form Labels are Quickest to Scanという記事を読んだ。Infield Top Aligned Labelとは上記スクリーンショットのように入力ボックス内の上端に置かれたラベルのことだ。記事ではラベルと入力ボックスを上下に並べるごく一般的なパターンとプレースホルダーをラベル代わりにするゴミ大人気のパターンと比較している。確かにわかりやすく、スムーズにフォームを埋められそうな印象を受ける。

HSTS: HTTP Strict Transport Security: 強まるHTTPS化の圧力の中で、その移行を円滑に進めるための仕組みであるHTTP Strict Transport Securityについてちょっと調べていた。HTTPでアクセスした際にStrict-Transport-Securityヘッダーがあった場合、その後その指定期間はHTTPでアクセスしようとしてもブラウザー側でHTTPSでアクセスするように処理されるという仕組みだ。HTTPからHTTPSへのリダイレクトが不要になるというわけでもないが、ブラウザー側で処理されることによりよりセキュアにHTTPSへの移行を勧めることができるということだろう。

カラーEmojiのテキスト化: Emoji (ユニコード絵文字)はOSやフォントによって色々挙動が変わる。その代表的なものがOS XやiOSでのApple Color Emojiによるフルカラーの画像形式だ。概ねこのカラーで画像形式のEmojiはうまく機能するが、稀にテキスト形式である方が都合が良いこともある。そういった場合は異体字セレクターであるU+FE0Eを使うとテキスト形式に変換できる。

Dribbble Highlights of the dayのフィード: ちょっとした考えがあってパーソナライズされたフィードをフィード・リーダーで読むことをやめはじめた。そこでDribbbleはPopularフィードを読みはじめたのだけど、とてもじゃないけど読める量ではない。Popular以外にも前日に人気のあったショットが9つほどピックアップされるHighlights of the dayというページがあるので、このページからPipesでフィードを作成して読むことにした。

PostCSSとPromise: PostCSSのv4.1.0からprocess()などがPromiseを返すようにもなったようだ。Promiseで処理するようにすると、何かのエラーで強制的に例外が吐かれて止まることがなくなり、エラーや警告をまとめて拾えるようになる。つまりPostCSSプロセッサーを連結して処理するツールでは非常に重要な変更だと言えそう。

ESLintの設定継承システム: ESLintのv0.20.0からプロジェクト・ローカルに.eslintrcがある場合は~/.eslintrcから設定を読まなくなった。つまりESLintのデフォルトの設定をユーザー・レベルで調節する術がほぼなくなったと言って良い。そうなった理由はわからないこともないのだけど、改悪な気がしてならない。

サインアップ・ボタンでログイン: Google Analyticsで「ログイン」と間違えて「アカウントを作成」というサインアップのボタンを押したところ、それでもログインすることができた。Googleアカウントへログイン済みでAnalyticsアカウントを作成済みだとわかった場合はサインアップのボタンを押してもログインできるようになっているようだ。ログインとサインアップのボタンが横に並んでいると、間違えて違う方を押した結果サインアップ・フォームを見せられてイラッとすることがあるので、うまくできているなと感じた。

CSSWring v3.0.4: 完全に重複したルールを削除する際に間違ったルールが削除されることがあるバグを修正してCSSWringのv3.0.4をリリースした。他に特に大きな変更はない。

TinyLetter: TinyLetterは無料で手軽にニュースレターを始められるサービスだ。MailChimpの開発陣が提供しているサービスで、解析その他のビジネス用途においてはMailChimpに比べ大きく劣るものの、ことニュースレターの送付という点では遜色ないと言えるだろう。色々な点で割り切って使える、なかなか良さそうなサービスだと感じた。

夢(2015年4月26日): クッキーを売っている自動販売機があり、そこでクッキーを買ったら当たった。急いで食べてもう一回押すとまた当たった。急いで食べてまた当たるというのを20回くらい繰り返したら口の中がパサパサでズキズキしてきたところで目が覚めた。口内炎できてた。

チャンス: Being patient vs. being loudというAccessibility Winsの中の人の記事を読んだ。アクセシビリティーに欠けるウェブサイトにおいてその改善を求めるフィードバックが来ないのは、そういうウェブサイトは障害のある人にチャンスすら与えることが出来ないからであるからだろうと言う。そのため大前提としてアクセシビリティーに問題のないウェブサイトを作るべきだと読んだ。

Mobile Safari 8におけるlang=jaとpre要素のフォント: このウェブサイトではしばらく前にpreやcode要素のフォント・ファミリー指定を消した。あまり確認していなかったが、無指定なので良い感じになってくれるだろうと軽く考えていた。が、どうもMobile Safari 8で等幅フォントになっていなかったようだ。なかなかうまく再現できなかったが、どうやらlang属性で変わるようだ。また君か。

全部npmで: 最近はnpmで全部ラップしてやるようにしていたりするのだけど、間違っているような気がしてきた。機能とかそういう面では十分で、運用においても癖はあるもののなんとかなりそうなため、そういう点でじゃなくて。利用時に混乱しやすいとかそういうところ。npmコマンドを汎用的に使うことになるので、ふと気づくとgit run buildとかnpm rebase -iとかやってしまう。一番ひどいなって思ったのはgit run rebase -iとやった時。

Vimで小数を四捨五入して置換: 渡されたSVGファイルを見たらpath要素のアンカーポイントの数字が小数点以下6桁くらいから30桁まで混在していて、無駄な感じがあった。SVGOでできるのでそれでやっても良かったが、まずは単純に小数を指定桁(3から5桁)で四捨五入したいだけなので他に何かされてしまう可能性があるツールはちょっと避けたい。ということでVimの置換でどうにかした。

Drawic v2.10.1: SoundCloudのアイコンと、カメラ、通知、停止のアイコンを追加してDrawicのv2.10.1をリリースした。特に追加するネタがなく、SoundCloudのアイコンを追加してからかなり時間が経った。少し前にカメラとその無効のためのアイコンが必要になったので、無理やり通知のベルのアイコンを作って4つにし、リリースにこぎつけた。

SVGフィルターの利用: SVGフィルターの参照はCSSからurl()関数で行うことができるわけだが、やはりそのフィルターが定義されたSVGファイルが外部ファイルというのは使い勝手が悪い。今のところCSSとして書けるようになる予定はなさそうなので、どうやってSVGファイルを他のファイルへ埋め込んでやるかということになりそうだ。具体的には、HTMLドキュメントへインラインSVGとして埋め込んでも、CSSファイルへData URLとして埋め込んでも可能なようだ。

色覚多様性を再現するSVGフィルター: 多くのウェブ制作者達が色覚多様性について考えることはまずない。せいぜいコントラストを確保したり、リンクの下線を消さないようにしたりすることで、グレースケールでもそれなりに識別できるように注意するくらいだろう。それで十分とも言えそうではあるが、それ以上考えようにも取っ掛かりがないためそれで止まっているとも言える。その取っ掛かりとして色覚多様性を再現するSVGのフィルターを作った。

Gillette Proglide Flexball: ジレットから新しく出たフレックスボールが良さそうだという話なので、ちょうど替刃が切れるタイミングということもあって、ホルダーごと買った。口角の辺りや顎の付け根あたりがずいぶんと剃りやすくなったような気がする。傑作っぽい。ボールの部分のアシンメトリーなデザインも好き。

Chrome 42におけるフォント設定とlang属性: Chrome 42でこのウェブサイトの日本語部分が変わってしまった(かもしれない)。内部的な標準フォント設定が変わったことにもよるが、それだけではない。設定で指定したSans SerifフォントがCSSのsans-serif汎用ファミリーに反映されなくもなった。lang属性がある要素のみで再現する。

我慢の期間: MovableTypeとWordPressとJekyllとHugoや、Gruntとgulp、SassとLESSとStylus、果てはjQueryなどの話はスケールやパターンを変えて繰り返される。その話はあたかも特定の何かに依存することが良くないとか新しいこっちのがすごいぞというように結論づけられることが多くて、僕にはちょっと頷けないこともあったりする。大切なのは何を解決しようとしていたかを忘れないことだと思う。複雑化しそうな場合にそこから先へ踏み込まずに我慢する期間がいるとかかも。

応答していない表: Responsive Tables in Pure CSSという記事を読んだ。狭い画面での表のレンダリングに問題があって、それを解決したいということは勿論わかるのだけど、これはないなという感想しか残らない。表は行と列の交点でデータを把握でき、その上下左右と簡単に比較できるというためのものであって、そういった機能を破壊してビューポートに収めようというのはもはやレスポンシブではない。

CSSで月の満ち欠け: 月の満ち欠けは球体に光を当てた結果のもので、円を円でカットするようなものではない。CSSでは立体を立体としては扱うのは難しいので、それを平面として捉え、半円を円で膨らませたり押し出したりすることで近いものにすることが可能になりそうだ。

夢(2015年4月13日): HTML10を書いている。HTML10ではすべての要素がモジュール化されていて、HTML Section Module version 10などと仕様書がある。それとは別にHTML Article Section Module version 10とかHTML Strong Text Module version 10などもあり、コアの仕様書にはdiv要素とspan要素のみ定義されている。そのため世のウェブサイトはすべてdivとspan要素で出来ており、モジュール化された要素を利用するマークアッパーは原理主義者として公安にマークされ、外出もままならない。食料を買いに行こうと外に出ようとし、玄関前で警備している人に「今日はまだHTML書いていません」と宣誓したところで目が覚めた。

ソーシャル・ボタンの色: ウェブサイトにソーシャル・ボタンを設置する際にその色はどうすると良いのかは悩みどころだ。効果的であることとビジュアル・デザインとの兼ね合いという二つの点から考えないとならないからだ。

ボルディエ: パリみやげのボルディエのバターをパンにつけて食べてる。まずは海藻入りのやつから。食べたことなかったのでわかめみたいな感じの味がしちゃうのかと思ったけど、塩気がちょっと特徴的という程度だった。ただこれがバターかみたいな感動があってすごかった。それが600円くらいで半ポンド以上買える(250gで4.5€)とかフランスすごい。

CSS MQPackerのCLI: CSS MQPackerのような簡単な変換ライブラリーは概ねPostCSSからやGruntからなどで利用することが想定されている。しかしGruntやgulpに絶望する人が増えた現在、そういった便利環境に縛られない形で実行する手段も用意する必要がありそうな気配がある。ので、追加し始めた。リリースまでにはもうちょっとかかりそう。

左寄せvs.中央寄せ: 一時期は全てのウェブサイトが中央寄せになるのではないかというくらいの勢いだったような気がするが、最近は左寄せが盛り返しているようだ。AwwwardsやHTTPSTERなどのジャンルレスのウェブデザイン・ギャラリーを見るとなんとなくそう思う。正確に言うとレイアウトは中央寄せしつつ、テキストは左寄せしているウェブサイトが増えている。

Hanes Japan Fit (2015): ヘインズのJapan Fitが今年の春夏モデル(H5110とパッケージのシールに印字されている)から少し変わったみたい。前のものも悪くはなかったのでもう一回、今度はUrban Researchのものを買った。

CSSにおける単位: CSSの単位はそれぞれに意味があり、それぞれに合った使い方があるはずだ。R.I.P. REM, Viva CSS Reference Pixel!という記事を読んで強くそう思った。ブラウザーの実装がpx指定でもうまく機能するように寄ったのは確かだが、それはつまりpx単位を使いたいところではpx単位を使えるようになったということに過ぎない。同時にemやrem単位を使いたいところではそれらを使えるということだ。

Modularized Normalize.scss v3.0.3: Normalize.cssのv3.0.3がリリースされたようなので、Modularized Normalize.scssも追随させた。主な変更点は現在のFirefox ESRであるv31を最低ラインに変更したことによるベンダー拡張プリフィックスの整理くらいか。多少npmから扱いやすくなってもいる。

CSS Font LoadingとFont Face Observer、Web Font Loader: ウェブ標準であるCSS Font Loadingが気軽に使えるようになるにはまだまだ時間がかかりそうだ。そのポリフィルであるFont Loaderは動作が不安定かつ開発が止まっており信用できない。代替技術としてはポリフィルと同じ開発者が積極的にコミットしているFont Face Observerと、広く使われているWeb Font Loaderがある。同じフォントの読み込みを検知する場合、この三者ではどのようにコードが変わってくるのだろうか。

餃子: 無心になって野菜を刻み、無心になって豚ひき肉と混ぜ、無心になって餃子の皮で包むと、あとは焼くか茹でると餃子になる。あんまり考えずに無心に作れるので好き。

Do Note: Do Noteを使い始めた。IFTTTの出した何か書いたら何かするだけのアプリ。今のところリマインダーへの登録、ツイート、そしてDropboxへメモの保存にしている。3つまでしかレシピを作れないという制限は心地良い不自由さかなと感じる。ひいき目だけど。

不可欠さ: 不可欠なことは必要なこととは微妙に違う。不可欠とはつまり無いと死ぬということでもあるけれど、無いとなめらかに作業が進まずストレスが少しずつたまっていくということでもある。必要なことはただ単に必要なだけで、ない場合は力や経験でどうにかすることになる。

帽子: ちょくちょく帽子を買うわりにかぶらないみたいな感じになってきた。帽子好きなんだけど、年取って似合う帽子が変わってきたので、買って失敗するケースが増えた。昨年度は3勝2敗で5つ買った気がする。昨日はHerchelのを買った。3敗目っぽい。リバーシブル良くない。

金の針と万能薬: Specialise or cross-skillというスライドを見ていた。挟み込まれた写真ではスベっているものの、色々ハチャメチャなのに妙に説得力のあるベン図が出てきて楽しい。ウェブ制作という世界が混沌としてきた……というよりも、人によって様々な見方があって、どれも正しく、どれも間違っているというようなことが見えてくる。残念ながら専門家かジェネラリストかの結論はスライドではほとんど出されていないが、ベン図を眺めて自分で色々考えるのが良さそうだ。

夢(2015年3月30日): ずっとカレーを食べてる。食べるとモッモッという感じで、皿の下からカレーが生えてくる。食べるのやめると生えてこないので、これ最高じゃないかと思って、皿を置いて飲み物を取りに行く。戻ってくると皿が2つに増えてると思うと4つに増える。手を離すと皿が増えるのかなるほどなと思ったところで目が覚める。その日は肉じゃがにした。

disabledなファビコン: ファビコンを状態によって変更する必要があったが、固定の2種類の切り替えに過ぎなかったのでJavaScriptでファビコンを参照しているlink要素のhref属性を書きかえるのは少し面倒くさいかなと思った。そこでdisabled属性を付けることでファビコンの参照が切れれば、操作しやすそうかなと試してみた。しかし現行のブラウザーではdisabled属性を付けても普通にファビコンへの参照と解釈するようだ。

src属性のないimg要素と擬似要素: img要素は置換要素なので、現在の安定仕様では明記されてはいないものの歴史的な事情により::before/::after擬似要素による挿入は行えない。しかしChrome 41で遊んだところ、src属性がない場合は挿入することができるようだ。Internet Explorer 11やFirefox 36、Mobile Safari 8では行えない。

vim-css3-syntax v0.14.0: W3C側でのCSSモジュールの整理が進み、この半年でずいぶんと削除されたりリネームされたりするようになった。vim-css3-syntaxもできるだけ追随するようにしている。年度末ということでキリが良さそうなのでv0.14.0としてリリースすることにした。

備え: Windows向けのiTunesの完全な64bit化により、Last.fmのプラグインが動作しなくなった。更新されないことには特に思うところはなく、単に収益化に失敗し続けていて、プラグイン開発者を雇用し続けることが出来なかったんだろうなとかその程度にしか思っていない。しかし仮にこれから更新されてまた機能するようになったとしても、もう二度と使うことはないだろう。

アプリケーションが使われる文脈: The best icon is a text labelという記事を読んだ。記事のタイトルからは、とにかく変なアイコンをやめて文字列にしろ! という風に感じられるが、実際には継続的なアプリケーションの利用によるユーザーの学習を期待せず、アプリケーションが使われる文脈を重視して選択しろという話のようだ。別の言い方をすれば、アイコンか文字列かではなく文脈だ、という話になるだろう。

アクロイド殺し: 本箱から発掘したので20冊くらいあるアガサ・クリスティーの再読周回に入った。6冊目のアクロイド殺しをちょうど読み終わった。オチ知ってても面白い。僕もラルフ大尉みたいに、殺人事件が起こりそうなくらいの遺産を血の繋がっていない人から自分の手を汚さずに貰いたい。

MessageFormat: Pluralization for JavaScriptという名詞の複数形についての記事を読んで、MessageFormatという仕組みがあることを初めて知った。複数形や三単現、性別による言葉遣いの違いなどを言語ごとに定義しておき、出力する際にその定義を利用して自然な結果になるようにする仕組みのようだ。

Media Queries Level 4におけるキーワード周囲の空白文字: Media Queries Level 4の2014/06/05付けのWDでは、メディア特性を構成するための)や(とnotやand、orの間にひとつ以上の空白文字が必須になった。この変化が気になるのはCSS最小化ツールを作っている人くらいか。通常は半角空白なり改行なりを挟んで書いているだろうと思われるので、気にする必要はなさそうだ。

麻のシーツ: ついに麻のシーツを買った。といっても高級なものではなくて、無印良品の麻平織だけど。夏に向けてピッタリかなと、良品週間中ということで買った。そんなにすごく厚手というわけではないので、耐久性はちょっと不安だけど、麻なりの丈夫さだといいな。

max-widthを否定するクエリー: モバイル・ファーストが浸透して久しくなり、めっきりmin-widthクエリー以外を見かけることはなくなった。そんな中、not (max-width: 768px)という書き方を見かけて、なるほどなと思った。現状のブラウザーにおける実装(と安定した仕様)では768pxを含まずそれより大きいという表現がmin-widthでは書くことができないが、notキーワードとmax-widthを組み合わせることで実現できる。

フレッツ光メンバーズクラブのポイントプログラム: フレッツ光では利用期間に応じて毎月ポイントが与えられる。そのポイントはメンバーズクラブのポイントプログラムで利用できる。僕はしばらく貯めたら使い勝手の良いiTunesギフトカードへ交換していたが、それができなくなった……どころかあらゆるギフト券や電子マネーへの交換が終了した。

クリティカルCSSの動的なインライン化: Inlining critical CSS for first-time visitsという、クリティカルCSSを初回訪問時のみインラインに展開して、その後はインライン化せず予めキャッシュさせておいたフルセットのCSSを使うというアイディアについての記事を読んだ。実装はともかく、アイディアとして成立していないんじゃないかと思う。

CtrlPとGitのls-filesサブコマンド: CtrlPのヘルプのカスタム・コマンドの項に記載があるように、Gitのls-filesサブコマンドを使ったカスタム・コマンドを定義すると、.gitignoreを考慮してファイルをリストアップすることができる。ただ常にこちらである必要はないので、Git管理下だけでそうなるようにしたい。その場合、ラッパー関数を作成して、その中でb:ctrlp_user_commandを設定してやると良さそうだ。

CSS MQPackerの行うソート: CSS MQPackerに加わったソート機能は完全なものではない。完全なものを実現するのが難しいこともあるが、必要とされていないからでもある。メインはmin-widthクエリーに絞り、それ以上は自前で用意してもらうというのは妥協であると同時に、僕の能力の限界でもある。

夢(2015年3月15日): 寝てたら天井の隅からカエルがずっとピョコピョコ飛び出してくる。アマガエルくらいの大きさで、色は鮮やかな緑とたまにオレンジ。生きてるし鳴くけど、ヌメッとした感じじゃなくてフワッとした感じで、顔にぶつかるとすごく心地良かった。というのを3時間(夢時間)くらいずっと堪能していた。カエルがずっと降ってくるの悪夢っぽいけど、全体的にすごく気持ちの良い夢だった。

椅子なし生活: 椅子を捨てた(廃棄してはいない)。でも別に流行っぽいスタンディング・デスクではなくて、ベッドを椅子代わりにしてる。まぁまぁ厚いマットレスで、ベッドフレームもそこそこ背が高い(掃除しやすくしたかったから)ものなので、机との差がだいたい20cmくらい。座るにはちょうど良い。

BAFFALO 耐震ジェル BSTV04J32: かっこいい作業環境に影響されてドアに向けて机を置くようにした。ディスプレイ・アームは使っていたけど、机がそれほど重くないので、続けて使うのは無理そうかなーと付属スタンドを引っ張りだして付け直した。このままだと地震に対して不安なので耐震ジェルを980円で買った……けど失敗とまではいかないもののうーんという感じだった。

伝言ゲーム化するバグ報告: 小さく作って組み合わせていくというやり方は、作る方からすると理にかなっている。自分の必要とする機能を実現するコードだけを書けば済むようになるからだ。使う方からしてもパッケージ・マネージャーがそれなりに動作すればさほど問題になることはない。ただバグを見つけた時に伝言ゲームになりやすいという問題がある。

Eau Douce: Source Sans Proに飽きてきたので、あまり使われてなさそうな、はっきり言えばGoogle Fontsには置いていない、あまり主張のないサンセリフのタイプフェイスを物色していた。最終的に前にも使おうかなと考えたことのあるEau Douceにした。おーどぅーす。

CSS MQPacker v3.1.0: min-widthを使ったクエリーのみをソートするオプションを追加し、CSS MQPacker v3.1.0をリリースした。sortオプションを有効にすると、まとめられたクエリーのうちmin-widthが使われるクエリーのみソートされる。

Istanbulとnodeunit: Istanbulはよく使っていたのだけど、直接叩くことはなかった。初めてこれ単体でnodeunitと組み合わせて使おうかと、node_modules/.bin/nodeunitを引数に指定して実行してもうまく動かなかった。どうやらnodeunitパッケージ内のbin/nodeunitを指定しないとダメらしい。

TL;DR (Too Light; Didn’t Read): コントラストの低さが読みやすさに及ぼす影響についてはそれなりに認知されてきたが、ウェブで使われ始めて間もない軽いウェイトのフォントが読みやすさに与える影響は軽視されている。このことには早いうちから警鐘は鳴らされているが、浸透しそうな気配はない。新しい10のサービスのうち、必ず1つか2つは読めたものじゃない軽いウェイトのフォントが本文でも使われていたりするような印象だ。

chやexとpxの対応関係: 1chと1pxがどちらが大きいかはすぐにわかることだが、1chと10pxとするとちゃんと答えられる人は少数派だろう。正解はフォントによって違う、だ。その要素で使われているフォントの特定のグリフの特定のパーツの正確なサイズを知らなければ、chやex単位をpx単位に変換することはできない。

Rhodia dotPad: ドット方眼に目覚めてから愛用しはじめたRHODIAのdotPadの二代目をおろした。僕が使っているのは最小サイズのNo.12で270円。もちろんオレンジ。

モバイル版とデスクトップ版、そしてレスポンシブ・ウェブ・デザイン: 専用バージョンのウェブサイトとレスポンシブ・ウェブ・デザインによるウェブサイトの優劣が語られることは多い。そういった場合、どちらが優れているのか、またはどちらが劣っているのか、を思想的な面でも技術的な面でも比較される。その過程で両者があたかも排他的な関係であるようによく語られるが、両者が解決するもの、したいものは違う。

単一のvar宣言とセミコロンの自動補完: ESLintできれいに拾えるので、スコープ内でvarの先頭出しをやるようにしようかなという気分になっている。その過程でA criticism of the Single Var Pattern in JavaScript, and a simple alternativeという記事を読んだ。デバッガーでステップ実行しづらいという話はともかく、カンマ忘れでセミコロンの自動補完が起こり、変数のグローバル化をもたらしてしまうというのは印象的だった。

media_query_listのパース: Media Queriesの各クエリーは、featureとexpのセットもしくはmedia_typeでexpressionが、expressionをandで繋いでmedia_queryが、media_queryをカンマで繋いでmedia_query_listになり、それで完成する。そこそこ正確にパースしてJavaScriptから扱えるようにするためには、まずカンマで区切り、更にandキーワードまたはスペースで区切り、更に同じfeatureがあることを考慮した多次元配列に変換してやる必要がありそうだ。

node-feedmix: xml2jsを使って複数のRSS 2.0をマージするパッケージ、FeedMixを作った。手元で結構前から使っていたGruntタスクをNode.jsパッケージにして、それを叩くだけのGruntタスクを同梱するという形にした。

indexのマークアップとpermalinkのマークアップ: 何らかのツールでテンプレートを元にページを生成する昨今、あまりページごとに大きくアウトラインの構造(変な表現だ)が変わることはない。枠を作って流し込む、枠を作って流し込む、というわけだ。ウェブではコンテンツは主に文章であるので、流動性はそれなりに高く、流しこむこと自体は多くの場合は問題にならないが、もうちょっと考えても良い所ではある。

JavaScriptをビルドするJavaScript: たまには素でJavaScriptファイルをビルドすることも考えないと頭がダメになりそう。他にgulpとかでかすぎるし、npm run-scriptだけでいけるいけるみたいな話を先行者以外からも聞くようになったので、そっちに比重を移すことも視野に入れたいとか。僕はビルド・ツールをnpm run-scriptで薄くラップする手法というのが現実的だと考えてて、それを確認したいというのもあった。

min-widthを含むクエリーをソート: CSS MQPackerにmin-widthを使ったクエリーのみ(なんとなく)ソートしてやる機能を付けている。あまり付けるつもりはなかったけれど、ユーザー層が広がったっぽいこともあり、たまにメールで聞かれたりもしていたので、まぁやるかという感じになった。

Semantic Versioningにおける破壊的な変更: io.jsがv1.3.0になり、ビルトインのURLモジュールでresolve('/foo/bar', '.')が/foo/とスラッシュ付きで返されるようになった。今までは/fooとスラッシュなしで返っていたので、これは破壊的な変更であり、Semantic Versioningに従うならばメジャー・バージョンを上げるべきではないのかという議論がなされていたようだ。

VimでGitで衝突したところにジャンプ: Gitでマージやリベースで衝突が起きた場合、その解消のために該当ファイルを開き、移動する……前に自動的に<<<<<<<にジャンプするだけみたいなのがちょっと欲しくなった。VimだとBufReadPostでsearch()を呼べば良さそうだ。

よろしくESLint: 重い腰を上げてESLintを使い始めた。そろそろv1.0.0になるらしい。これは良いなと思ったところを簡単にまとめておく。ついでに引っかかって対処にちょっと悩んだところも。既にすごく好感触なので、このまま素直に乗り換えられると良いな。

Failswatch: ウェブサイトの死活監視をしつつ、もし落ちたら事前に保存しておいたキャッシュを自動的に返してくれる、Failswatchはそういう機能を提供する。Cloudflareや他のCDNにも同じ機能があるが、こちらはCDN的な機能はなく特化型で有料プランのみ。構成がシンプルな分、トラブルは少なそうだ。

CSSできれいな斜め線: CSSで斜めに線を引くようなことをするには多少なりとも工夫が必要だった。つまりCSSで作る吹き出し(もう5年前の記事だ)のようにborderプロパティーを使って頑張るしかなかったわけだ。今はlinear-gradient()があるので直観的に作ることができるようになった。しかしきれいに引くとなるとまだ工夫が必要そうだ。

xml2js v0.4.5でCDATAセクションがサポート: Node.jsでXMLをまともに読み書きできる唯一と言えそうなxml2jsパッケージがv0.4.5に更新され、待望のCDATAセクションの書き込みに対応した。今までも読み込みは普通に行えていたが、書き込みには対応していなかったため全て文字参照で書かれていたが、これできれいに(小さなRSSが)吐ける。

夢(2015年2月20日): ケンタウロス(セントール)のことを考えていた。あのサイズで人間の上半身だと、食料の摂取が大変で、食事だけで数時間浪費してしまいそうだ、とか。胃も同じサイズだと……というところまで考えて、はて胃はどこにあるのだろうか、いや待って腸はどうだろうか、いやいやそもそも心臓や肺が人間の部分にあってそのサイズのままだったら、馬として走れないんじゃないのか、などと疑問がわいた。そこで一頭捕まえて解剖しようとしたら、蹴られて痛いってなったところで目が覚めた。

普通に引かれた下線: Mediumライクなかっこいいリンクの下線をついに諦めた。目的とコードがあまりにもかけはなれていて、CSSらしくないのが気になるようになったからだ。プロパティーの組み合わせから結果が想像しづらいルールセットに苦しめられた過去を思い出す。

全称セレクターは擬似要素にマッチしない: Mediumの印刷スタイルシートの記事を読んでいた。印刷スタイルシートについては常に盛り上がりに欠けるような印象だが、Mediumのデザイナーが書くと盛り上がってくれるんじゃないかとちょっと期待している。ついでに少しこのウェブサイトの印刷スタイルシートに手を入れていたところ、どうやら全称セレクターは擬似要素にマッチしないという、あまり関係のないことを今さら学んだ。

良い・悪くない・良くない・悪い: モノの評価軸はモノと人によって違うけれど、それぞれの軸では良い・悪くない・良くない・悪いの4段階で大抵は評価してる。強く意識していなくてもきっとそう。けれどもそういった評価を判断する時、される時は、悪いとそれ以外というような2段階で判断してしまうし、されてしまう。

ドロップインで動くLightbox: リンクが張られた画像をLightbox形式で表示するようなJavaScriptを書いていた。vwとvh単位でa要素を引き伸ばして適当に前面に表示し、img要素をなんとなく拡大してから天地左右中央配置する。予めクラス指定が必要だったり、スタイルの追加が必要だったりしない、ドロップインで動作するものだ。

グローバル・ヘッダーのマークアップ: ホーム以外ではロゴとサイト・ナビゲーションをまとめてnav要素で括るような形にグローバル・ヘッダーのマークアップを変えた。ホームでは今まで通りnav要素の外でmark要素を使ってロゴは表示される。あわせてタグラインをh1要素にしてしまったが、何か違う気がする。

夢(2015年2月14日): 歩いてたらいきなり臭い。しばらくすると防護服を着た人に囲まれる。そのままずっとにらみ合いを続けているとどんどん臭くなっていき、慌てて脇の下とか手とかを嗅いだが臭くない。なんでだろうとお尻に手を伸ばしてからその手を嗅いだら臭くてびっくりしたところで目が覚めた。

IE11でのfile:プロトコルに対するHistory APIによる操作: Internet Explorer 11でfile:///で始まるローカル・ファイルのURLをHistory APIで変更すると、ドライブレターがどんどん増えていく現象が起こることを知った。実行する度に/C:が先頭に追加されていく。

フルスクリーンでオーバーレイの検索ボックス: 増えてきたフルスクリーンでオーバーレイの検索ボックスだが、まだこれといった無難な実装方法はないように見える。今だとvw/vh/vmin/vmax単位を使ってレイアウト、:target擬似クラスを使ってトグルという形にすれば、ほぼCSSで実現できそうだ。

バターなし! 牛乳なし! のヨーグルトを使ったスコーン: ヨーグルトを水切りしてクリームとホエーに分け、それをバターと牛乳の代わりにして作るスコーンを作った。水切りに時間はかかったものの、バターの時とほぼ同じ感覚で作ることができ、特に難しくなかった。おいしかったけれど、やっぱりスコーンではないかなーというできあがりだ。

置換要素の絶対配置: 検索ボックスを更新して検索ボタンを左に動かした……つもりだったが、動いていなかったのを直していた。単純に置換要素を絶対配置する時にautoの扱いが非置換要素と違うことを完全に忘れていたのが原因で直せたが、どうしてこうなるのかがよくわからなくなったので少し調べてみたが更に混乱しただけだった。Chrome 40(31あたりから変わったらしい?)の挙動が正しそうだが……。

Drawic v2.9.0: はてなブックマークでブックマークするリンクを復活させた都合で、はてな系のアイコンを4種類、Drawicに追加してv2.9.0にした。はてなのアイコン平べったい。

文字参照と属性セレクター: 文字参照を含む可能性がある属性の値を使ってセレクターを自動生成するような仕組みで少しハマった。文字参照をそのまま属性セレクターの値として指定してしまったので、うまく動かなかった。style要素に記述するようなケースでも、属性セレクターの値には文字参照は使えない。戻して書き、必要ならバックスラッシュでエスケープする。

node-git-release v1.1.2: node-git-releaseをio.js v1.1.0を要件にして、child_process.spawnSync()を使って書き直した。使い方をうまく考えつかなくて、あんまりきれいにならない。asyncパッケージを使った方がスッキリ見えるのは慣れの問題だろうか。とか下書きしていたらNode.js v0.12.0が出て、こちらでも*Sync()がサポートされ、動くようになったようだ(試してない)。

銀ぶら: Patrickの直営店へは銀座駅から有楽町ルミネ、松屋銀座を経由しながら歩いた。この辺りは昔(10年以上前)とあんまり変わっていない気もしたけど、楽しそうな店や変な建物があって、やはり銀座は楽しい。Cole HaanやArc’terixの店舗などをのぞいていたら、電車で下がったテンションもすぐに上がった。

EDJOの(デ)メリット: Every Declaration Just Once (以下EDJO)アプローチの最大のメリットはなんだろうかということについて考えていた。情報設計と重なるところがまるでないため、設計思想としては完全に成立しない。つまりCSSを設計することを放棄し、設計されたHTMLに対してスタイルを割り当てていく手法としてのみ存在しうる。このことがすなわちメリットなのではないだろうか。

Patrick Marathon-LE: スタンスミスの黒(白ソール・白ヒールパッチ)が出そうな気配がないのであきらめて、いつか買おうと思っていたPatrickのMarathonのレザー版を買った。暇だったので銀座にある直営店まで足をのばしたものの、まさかのサイズ切れで、在庫確認をしない詰めの甘さをちょっと後悔した。それでも色違いでサイズを合わせ、サイズ違いで色を合わせてすごく気に入ったので、在庫のあった神戸の直営店から自宅に配送してもらい、無事届いた。

ソーシャル・ボタンの再設置: SNSをやめる人がいる一方で、僕はソーシャル・ボタンを再設置した。各記事の最後にTwitterとFacebook、はてなブックマークに流すリンクが、狭い画面ではコンテンツに続いて、広い画面では左にぶら下がる形で配置される。カウントは蛇足っぽい気がしたので、単なるリンクにしておいた。

動的なサブセット化と動的なコンテンツ: 日本語を含むウェブ・フォントを使う場合、その転送量の多さとライセンスの問題により、動的にサブセット化されることがある。手段として間違ってはいないが、利用する側はそれなりに気をつける必要がある。それは動的に追加されるコンテンツに対しては指定しない、ということだ。

画像の縦横サイズの追加: 自前の画像を参照する時にwidthとheight属性を追加すると激しい腹痛におそわれる病を長く患っていたけど、どうやら完治したようなのでバッチ処理で追加してた。ついでにimg要素の各属性の記述順序なども書きかえたりして、楽しく時間を浪費した。大いなる無駄だが、他人には迷惑をかけないし、途中から段々トランスしてきた。

node-dns-prefetch: 毎回dns-prefetch Online Code Generatorからコピペはさすがに面倒そうなので、URLを指定するとそのページに含まれる外部リソースのドメインから<link rel="dns-prefetch">を生成するCLIツール、dns-prefetchを作成した。Node.jsからPhantomJSを使って書いたので、ドメイン抽出とかも簡単でよかった。

rel=dns-prefetchの導入: 前にちょっと書いてからもう一年以上経ってしまったが、rel=dns-prefetchを仕込むようにした。小規模なウェブサイトではあまり意味はないが、あってもほとんど損はないとも思われる。他のウェブサイトへ移動した時にも効果があるらしい、というような話を小耳に挟んだこともあり、追加してみることにした。

クリティカル・パスのCSSなるシロモノ: クリティカル・パスのCSSをインライン化して、描画の開始を早めるテクニックが広まり始めている。数字上は確かに効果的だが、ソーシャル・ボタンの非同期化によるスクロールのつっかかりと似たような問題を孕んでいるのではないかという思いが強い。

rel=subresourceを併用したCSSの遅延読み込み: クリティカルなんとかの関係やウェブ・フォントにおいて、CSSの遅延読み込みを行う気運は高まっている。様々なアイディアがあって、普通にCSSの内容を読み込んでhead要素に追加するものや、link要素を動的に追加するもの、予めlink要素をrel=stylesheetなしで書いておいて後で追加するものなどがその主なものだ。最後の手法ではrel=subresourceを追加して書いておくと、一部ブラウザーでダウンロードが速く始まるんじゃないかというアイディアを持った。

ImprovMX: Cloudflareと組み合わせたいメールサービスというものは、つまるところMXレコードを設定するとメール転送だけしてくれるようなサービスだ。探してもドメイン・レジストラーのサービス以外にはなかなか見つからない。そんななか唯一見つけたのがImprovMXだった。MXレコードを設定した後、ドメイン名と転送先のメールアドレスを指定するとキャッチオールで転送してくれる。

Bower→npm: npmとBowerが混ざってたりするとやる気ゲージが一気に減る。Bowerはやめられるけど、npmはやめられない。npmレジストリーにはNormalize.cssがあったりとわりとなんでもありな空気がある。ということでSassパーシャルをnpmパッケージ化してた。

child_process.spawnSync()のoptions引数: io.js v1.0.3上では以下のようなコードで再現できる。

Cloudflareにおけるメール・ソリューションとしてのMailgun: Value Domainで取得したドメインをCloudflareの提供するネームサーバーでGitHub Pagesに向けてやるのは、低コストでウェブサイトをホスティングする優れた手段だ。問題はメールだ。Cloudflareではメール関係の機能はまったく用意されていない。またValue Domainで無料で取得できるXREAのアカウントはメールだけの利用は禁止されている。本道としては別にメール・サーバーを用意するわけだが、転送だけで良いのなら無料枠内で利用することができるMailgunを使うのが良さそうだ。

Muspy: よく聞くアーティストの新譜がリリースされた時にプッシュ通知させるために長らくSoundamusのカレンダーを使っていたんだけど、2014年12月を最後に完全に停止してしまった。Last.fmからアーティストをインポートできて、カレンダーが提供されているサービスという条件で替りになりそうなものを探したが全然ない。しかし簡単に見つかったもののメールとRSSだけか……と試していなかったMuspyが実はiCalでカレンダーを提供していることがわかったので、これに乗り換えることに決めた。

Sassの変数の仕組みとOOCSS: A List Apartに掲載されたA Vision for Our Sassという記事を読んでいた。ここに書かれていることが正しいとすると、やはりOOCSSあってのSassなのかなという思いを強くした。でも、今のSassの変数の仕組みとCSSのフラットな構造を考えると、Sassを使ったOOCSSの実現は既に詰みかけている局面だと考えることが多い。

無印良品のジーンズのラベル素材シリーズ: 当初のブラウンのものはかなり前に消え、黒のもののみが細々と展開されてたけど、遂に最後の一種類になってた。このシリーズの商品はいくつか買ったけど、中でも文庫本カバーはストックも含め10個くらい買った。昨日、ついに最後のストックをおろした。

grunt.util.spawn()のリプレース: Gruntのタスクで実行ファイルなど別プロセスを立ちあげたい場合、通常はうまくラップされたgrunt.util.spawn()を使う。今のところ非推奨というわけではないが、最近の感じだと別パッケージを利用すれば簡単にリプレースできるものはなるべくリプレースした方が良い。例えばgrunt.file.write()はfs-extraパッケージが良い。grunt.util.spawn()はというとio.jsかNode.jsのUnstableが入っている環境ならばspawnSync()とwhich.sync()を組み合わせてリプレースすると良さそうだ。

チーズ・スコーン: TLにちょくちょくスコーン焼いた写真が飛んでくるので、我慢できなくなって夕飯後に焼いてた。慣れると30分くらいで作れてちょっとした遊びっぽくて楽しい。ドライフルーツみたいなのが何もなかったので、チーズを入れた。

厚いレイヤー: Sitepointに書かれたBEMやSMACSSを使っている開発者たちからのアドバイスを読んでいた。僕は今いかにして命名規則をなくすかといったことを考えている最中のため否定的に読んだが、それでもここに書かれたアドバイスは正しいとは感じた。BEMやSMACSSが概ね想定以上に機能することは確かだし、スケールするし、指揮もとりやすい。

CSSWring v3.0.0とCSS MQPacker v3.0.0のリリース: CSSWringとCSS MQPackerのメジャー・バージョンをそれぞれ更新した。内容としてはPostCSSをv4.0.0に更新しただけと言って良い。PostCSS v3でしか動作しないツールやプラグインと組み合わせたい場合は引き続き古いバージョンを利用する必要がある。

node-edjo: Every Declaration Just Onceのスタイルに既存のCSSを変換し、どのような感じになるのかを確認するためのツールを書いてた。node-edjoとしてGitHubに公開しておいたので、Node.js互換の何かがあればnpmでインストールして誰でも使える。ただしnpmリポジトリーには公開されることはないので、READMEに書いてあるようにユーザー名とリポジトリー名を使ってインストールする。

OOCSSの欠点とEvery Declaration Just Onceのもたらすもの: 昨日も少し書いたEvery Declaration Just Onceアプローチ(以下EDJOと略す)について、皆が目を瞑っているOOCSSの欠点、CSSが持つ特徴、HTMLとの兼ね合いという点からもう少し書いてみたい。これについては未だ誰ともちゃんと議論していない。機会があったらこの記事をベースにでも誰かと話してみたい。

Every Declaration Just Onceの例: 同じ定義は書かないCSSの簡単な例とその書き方に対する覚え書きを残しておく。同じ定義を書かないようにしていくと、CSSプリプロセッサーはおろか、セレクターのネストもなくて良いのかと感じてくる。もしかするとCSSの着地点はここなのかと洗脳されつつある。もはや第三者の目で見ることができなくなったので、他の人の意見も聞いてみたい。

白Tシャツ: 良さそうな白いTシャツがなかなか見つからず、結局HanesのJapan FitなるもののBEAMSのロゴ入りのバージョンを買った。着丈がもうちょっと短めのを探すとなると大変なようなので、もうインナーでしか着ないと決め、これにした。

Gruntプラグインの同梱: 遂に別々に管理するのが面倒になったので、PostCSSを使ったツールにGruntプラグインも同梱するようにした。grunt-postcssなどから使う方が効率的なので、もはや単体のGruntプラグインはメンテナンスが放棄されがちだ。CSSWring v2.1.0とCSS MQPacker v2.1.0には既に同梱されている(まだPostCSS v4.0.0にはなっていない)。

PostCSS v4と空白: PostCSSのv4.0.0が年明け早々に出た。互換性のない変更の中では、v3.0.0でchildsと妙なスペルで名付けられたものがnodesに修正されたことが一番大きそうだ。他、便利メソッドの追加に加え、空白の最適化機能が大幅に変更になった。

postcss-single-charset: minifyしてからconcatという手順でCSSをビルドしているため、連結するそれぞれのCSSファイルにある@charsetルールが無意味になる。そこで最初の@charsetを先頭に持ってくるだけのPostCSSプラグインを書き、それをconcatした後に使うことにした。

ウェブ・フォントの読み込み: ウェブ・フォントも完全に行き渡り、今はどう効率的に配信するかについて多くの時間を割くようになった。Google Fontsの低め安定路線を見限り、TypeKitやFonts.comへ鞍替えする人々も増えた。それと同時に自前でホスティングする人々も徐々にその数を増やしており、どれが最適解なのか一応の結論が出るにはもう少しかかるだろう。まず、ウェブ・フォントの読み込みにおいてどのようなアプローチがあり、どのようなメリット、そしてデメリットがあるのだろうか。

2015年の目標: 今年は「夜の歯みがきに10分以上かける」ということに決めた。上に5分、下に5分かけていきたい。できれば15分くらいかける習慣にしたいが、いきなりは難しそうなので徐々に伸ばしていくつもりだ。

HTTPからHTTPSへ: HTTPSへの移行が今年は加速するだろうというのは言うまでもないが、それに伴い起こりうる事象については真っ二つな印象がある。僕は特にもうCool URIとか言いたくないので、301すれば良いだろう派だ。HTTPSという記事ではそれはおいておいてブラウザーのデフォルトは変えるべきなのかなど、移行の加速がもたらす環境の変化について指摘している。

RUBYOPTを使った外部エンコーディングの指定: 今年からSassでcontentプロパティーなどでマルチバイトの文字列をエスケープせずにばしばし書くことにしたので、遂にWindowsでもUTF-8をデフォルトにしないとダメそうな感じになった。この場合、環境変数LANGを変えようとか良く書かれているけれど、Ruby以外に影響を及ぼさない真っ当な手段としてはRUBYOPTの方を使うべきなようだ。

名前を付けることの難しさ: 名前をつけることの難しさについて、実際にどうして格闘してやればよいのかについて書かれたNaming Thingsという記事を読み返した。中心となるのはCSSにおけるクラス名で、SUIT CSSの命名規則を取り上げて、わかりやすさ・明白さ・機能性・一貫性・適切さ・拡張性・短さと若干のジョークが許されるゆるさのようなものが重要であるとしている。

HTMLHintをSyntasticで使う: 重い腰を上げてVimでSyntasticを使うようにした。となるとHTMLHintを使いたいのだけど、対応してなかったので自分でチェッカー定義を書くところから始めた。

天空のドラゴン: おせちの残りを片付けた後、だらだら散歩しつつ、初売りをちょっと覗いたら人がたくさんいた。この街はいつのまにか正月に人が集まる側になったんだなと思った。特に買うものもないかなと思ってたが、惣菜屋の福袋を買った。その帰り道に空を見上げたらドラゴンが飛んでいるように見えた。

夢(2015年1月2日): 去年割りと高い金払って買ったセーターの袖に毛玉が大量に出来ていた。ひとつひとつ取っていったら袖丈が半分くらいになった。しょうがないので長袖Tシャツの袖を切ってホッチキスで止めたところで、これじゃきちんと止まらないので洋裁屋でジッパーとか買ってこないと、とか考えたところで終わり。

GitHub互換の見出しID: gfmtoc(mdtocから名前を変えた)を作っている時にGitHub flavored Markdown (本当はHTML Pipeline)互換の見出しIDをNode.jsで生成する方法を考えていた。GitHubではRubyでサポートされているPOSIX文字クラスをユニコードへ対応させた\p{Word}を使っているので、それを作ればあとは簡単なようだ。

はんぺんだて巻き: だて巻き苦手とか言うと大人っぽいけど、そんなことは特になくおせちの中で好きなもののひとつ。だけどペッタペタに甘いのもさすがに辛くなってきたので、今年は作ってみるかと調べたり聞いたりしたところ、はんぺんで作ると楽でおいしいという話だった。

HTML5における空の値の属性: 属性に空の値を指定する時は、例えばalt=""などと書く。実は仕様のHTML文法にはもうひとつ書き方が用意されており、それはaltとのみ書くという形のものだ。確かにこう書けるし、真偽値を取る属性で属性のみ書く方法もこの文法規定がベースになっている。少し前に読んだalt属性の書き方ガイドといったような記事ではそのように触れられている。しかし僕は属性のみを書くのは真偽値を取る属性のみに限定した方が良いように考えている。

Drawic v2.8.0: DrawicにFlickrやGoogle+、YouTube、PayPalのアイコンを追加してv2.8.0をリリースした。必要だったのはFlickrとGoogle+でそれ以外は数合わせ。

“マークアップ”: クリスマスにTwitterで@glatyouと少しマークアップについてやりとりをした。そこではTwitterなのでだいぶ端折ったものの、だいたい伝わったとは思う。あわせて今年はHTML5勧告のタイミングだ。このようなマークアップについての考え方を述べるにはもってこいだろう。そこで僕の考えを文書としてまとめ、“マークアップ”するということ ~ HTML5勧告に寄せて ~というタイトルで公開した。この文書を持って今年のまとめとしたい。

“マークアップ”するということ ~ HTML5勧告に寄せて ~: HTMLを適切な要素を使って書いていくことは実はそれほど難しくはない。しかし過剰に要素を使わずに、かつスタイリングすることも意識して、と適切に“マークアップ”するのはなかなかの修練を必要とする。いったい“マークアップ”するということはどういうことなのだろうか、そしてどのような思考の元に行えば良いのだろうか。

ブラウザー・キャッシュの今: 元々「静的なファイルは限界までキャッシュしろ!」というような金言はそれほど重要視していなかった。The changing role of the browser cacheという記事では、開きっぱなしにされるタブと継続的デプロイをキーワードに、ブラウザー・キャッシュの役割が変化していることを解説している。

スクロールバーの幅: スクロールバーの幅を知りたいことはままある。CSSで拾えれば最高なのだけど……というところで、calc(100vw - 100%)で拾えることがわかった。ただこれで拾えるかどうかはその要素の親に依存するので、いつでもどこでも使えるわけではない。せめてJavaScriptでは扱えるようにしてみたい。

kyonagashima.com: Brad Frostが自分の名前のドメインを確保するのにぼったくられたという記事を読んで、良い機会なのでkyonagashima.comを確保した。面倒だったので735円だしといつも通りValue Domainで取得した。

URLUtils.hash (location.hash)とその返す値: URLUtilsインターフェイスのブラウザーにおける実装であるLocationオブジェクトのhashプロパティーによりURLのフラグメント識別子(と#)を取得・代入できる。最近のブラウザーは非ASCII文字列もURLエンコードせずに扱えるようになっているが、この辺りの挙動がFirefoxだけ少し違うようだ。それはhashプロパティーの返す値で、常にデコードされた形で返ってくるようになっている。

:target擬似クラスとHistory API: :target擬似クラスではフラグメント識別子と一致する要素に対してスタイルを当てることができる。これを利用するとCSSだけでインタラクティブにデザインを変更することが可能になる。一方History APIではページの遷移なくフラグメント識別子を含め、アクセス中のURLを書き換えることができる。では:target擬似クラスで有効になっているスタイルは、History APIでフラグメント識別子を変更した場合に動的に切り替わってくれるだろうか。

mdtoc - The markdown ToC generator: Markdownファイルの見出しからGitHub互換のToCを生成して埋め込むCLIツール、mdtocを作成した。Node.js製でmarkedパッケージに依存している。実行すると引数に指定したMarkdownファイルの中に書かれた<!-- #toc -->と<!-- /toc -->の間がToCになる。

HTML Best Practices: 少し前に書いた失われたウェブ制作のベスト・プラクティスという記事の公開後、やはりある程度まとまった形の文書が必要なのではないかという気分になった。そこでHTMLはどのようなことに気を付けて書くと安定したものになるのかという視点で、悪い例と良い例を併記したHTML Best Practicesという文書を作成した。

複数のPNGからICOへ変換: favicon.icoの作成を自動化しようとして、いくつかCLIの変換ツールを物色していた。最終的にImageMagickのconvertに行き着いたので、あまり得られるところはなかった……。

Hender Schemeの財布: どんな財布を買おうか色々悩んだ結果、Hender Schemeのものにした。この財布は同型でシーズンごとに出ていて、これは2015 SSシーズンのブライドルレザーのもの。色で3日悩んだけど、結局黒にした。使いやすいとか機能性が高いとかではないけど、自分の欲しい機能は満たしていることと革の感じが良かったのでこれに決めた。16200円。

失われたウェブ制作のベスト・プラクティス: ベスト・プラクティスは多くの人には固定的なものだ。しかし本来は流動的なもので、革新者によって大きな変化が起きる。ウェブ制作におけるベスト・プラクティスも変化しており、その過程でいくつも失われていった。

ピンク色のTKGを食べた: ピンク色とは生のたらこ。ご飯にかける時は辛子明太子よりも普通のやつが好き。丸のままでなくても良いので、おいしいけど切り落としになってて、量の割には安価なものを買ってる。余ったらスパゲッティーの具にしよう!TKG Advent Calendar 2014も17日目か。

絵文字のショートカット・ファミリー: Chromeでも着々とユニコード絵文字への対応が始まっているようだが、Windows版のChromeにはまだ来る気配がない。そのため絵文字をそのままで表示しようとすると工夫が必要になる。が、JavaScriptでカラー画像に差し替えて……というのは、コストがそこそこ高く個人のウェブサイト向けではない。かといって様々な要素に絵文字を表示できるフォントをプラットフォームごとに指定していくのも手がかかる。そこで絵文字用のショートカット・ファミリーの出番になる。

ロボ娘のアーキテクチャ: 山東ユカが結構好きで、昔からよく読んでる。大体は明るいギャグなのに、時々脈絡もなく真っ黒なのがぶっ込まれてドキッとする。ロボ娘のアーキテクチャは真っ黒なのが少ないけど、突然アイゼナッハとか出てきて笑ってしまう。

Gitで最新のタグをチェックアウト: 最新のタグを知りたいことがたまにある。その時はgit describe --tagsで調べ、結果をコピーしていた。シェルの展開をうまく利用すれば良いようなところだが、describe --tagsがハッシュ付きで返ってくる時があり、そのまま流しこむと変なことになる。未だにハッシュ付きになる条件はわからないものの、--abbrev=0を加えると消えることがわかった。

MinifyしてからConcat: 配布されているライブラリーを最小ツールに通すと、ライセンスあたりの扱いで面倒なことになる。またCSSの場合は壊れる可能性を否定できないことは意識しなければならない。ということで重い腰を上げて、最小化してから連結するような工夫をソース・マップを維持することを前提にこのウェブサイトで実験し始めた。

InkscapeのCLIを利用してSVGからPNGへ変換: InkscapeにはCLIがあったらしい。これを利用するとSVGから様々なファイル形式、特にPNGへの変換を自動化しやすくなる。最初PhantomJSとcanvas使ってやろうかとか錯乱してた。後出しだけどSVG Advent Calendar 2014の12日目の記事ということにしておこう。

ららぽーと: 来年10月くらいにオープンするらしいららぽーとは順調に工事が進んでいるらしく、ほぼ建物の外観は見えてきた。駅からは私鉄側からも屋根付きのペドウェイでまっすぐいけるようだ。これも半分くらいもうできてる。

風呂の床: タイルだった風呂の床が、分厚い断熱層にアクリル・コーティングされたFRPが重ねられた床に変わった。うちのは石目ホワイトグレー。暖かい……のは全体的に断熱する仕組みになった(+ 暖房が付いた)からではあるんだけど、やはりタイルは冷たかったと思う。みんなの床 Advent Calendarの10日目。

HTMLの属性を書く順序: CSSの定義をアルファベット順にした後、HTMLの属性を書く順序についてずっと考えていた。アルファベット順だとわかりやすいが、非常に読み解きづらくなる。そういった点での読みやすさだけでなく、必須属性を書き忘れないようにもできたら良いのかなと色々考えている。

TKGを食べた: かき混ぜてからかける派、かけたあとは混ぜない組。醤油は気分。茶碗よりも丼でやりたい。というよりも卵をご飯にかけるという所業を結構大きくなってから吉野家の牛丼で覚えたので、かき混ぜてからかけるし丼でやる。TKG Advent Calendar 2014ももう8日目か。

クラス名の命名規定: pixivのCSSで使われるクラス名ルールという命名規則の記事を読んでいた。初見では大規模だとBEMの衝突が絶対に起きない書き方の方が優れているように思えた。しかし衝突するであろうことに警報を出すという形にゆるくすることで、開発者たちに自由を与えるというような目的でこうなっているようだ。ちょっと興味深い。

木曜日のポエム: 今年は木曜日に内向的な性格の強い記事、ざっくり言うとポエムなどと揶揄されるような記事を書くようにしていた。週で考えるとタイミングとしては良かったような気がする。

Sassでの関数の再帰呼び出し: ちょっとした事情で20回ほど再帰呼び出しする関数をSassで書いたらコンパイラーが落ちた。これは単に関数にバグがあっただけだった。100回程再帰呼び出しする関数を書いてみたが、これは落ちた……と思ったらこれも間違えて無限ループさせてただけだった……。ちゃんと書いてちゃんと限界を確認した。

ゆるやかな出会い: 内容に曖昧なところの少ない公式文書や仕様書、あるいはWikipediaの項目などのみをリンクで参照する形でウェブログの記事が書かれることが多くなった。孫引きや孫々引きのような記事は減り、全体的な記事の質は比べ物にならないくらい上がった。その一方でゆるやかな繋がりは死に、それに伴うゆるやかな出会いは消滅した。

2014年の宗旨替え: 移り変わりが激しい世界なので、去年まで当たり前のようにやっていたことを、今年はまったくやらなくなったりすることはよくある。僕は遂に諦めてCSSの定義(プロパティーと値のセット)を書く順序をアルファベット順に統一した。去年はシンプルなクラス名からBEMへの変更だった。

毛布をかけずに敷く: TwitterのTLで流れてきてた毛布をかけるのではなく敷くのを試してみている。確かに暖かい。熱が上に逃げるから、下に暖かさが維持できるものがあると効率的ということなのかな? ただ断熱性の高い羽毛布団のような掛け布団は必須そう。

ギジュツケー・アドベント・カレンダー: 技術系アドベント・カレンダーもすっかり定着した感じだ。この(多分)独特の(色々)ゆるゆるな感じのものも悪くはないが、もっとしっかりと準備されたものもあった方が良いのではないかと去年くらいから思ってる。

タスク・ランナーをnpm run-scriptでラップ: npm で依存もタスクも一元化するという記事を興味深く読んだ。僕もしばらく前、具体的にはnpm v2出た時からGruntをnpm run-scriptでラップして使っている。概ね良好に機能すると感じている。懸念であった引数で特定の処理を行わせたいようなケースもnpm v2で引数を解釈できるようになったので解決した。

Gruntで実行しているエイリアス・タスクの名前とターゲットの取得: Gruntのタスク内から今実行されているタスクの名前とターゲットは、それぞれthis.nameとthis.targetで取得できる。しかしエイリアス・タスク経由での実行の場合、その名前やターゲットを簡単に取得する方法は用意されてない。どうやっても拾えないかというとそうでもなく、grunt.cli.tasksにコマンドラインで実際に指定されたタスク群が配列として格納されるので、それから拾えば良い。

twitter:siteプロパティー: TwitterアナリティクスにはTwitterカードの解析が出来る機能があるのだけど、単にウェブサイトにTwitterカードを設置しただけでは解析してくれなかった。どうやれば良いのか全然わからなかったけど、どうやらtwitter:creatorだけでなくtwitter:siteプロパティーも設定してやる必要があるようだ。

未満と以上: 8 Facesというタイポグラフィーの雑誌では毎回インタビューが載っている。そのインタビューで触れられた書体をまとめたTypographer’s typefacesという記事ではGeorgiaやVerdanaを始め、Gotham、FF Scala (Sans)と素晴らしい書体が挙げられている。これらの書体が良いものであることはほぼ疑いがないが、その良さには多少の誤解が含まれるのではないかと感じる。

ナイン・ストーリーズ: 読もうと思ったらなかったのでナイン・ストーリーズを買って読んでた。3回目くらいの新潮文庫版。いつ読んでもすっきりしなくて、難解な小説を読んだ的な満腹感があって楽しい。

CSSWringとCSS MQPackerのv2.0.0をリリース: CSSWringとCSS MQPackerをPostCSS v3に更新したものをリリースした。どのバージョンを上げるか迷ったが、メジャー・バージョンアップして気持ち悪いのは自分だけなので、ユーザーに混乱を与えないようにメジャー・バージョンを上げることにした。

ファビコンでData URIは使えるか: ちょっとした理由があって、外部リソースにまったく依存しないページを作る必要があった。大抵のもののインライン化については知識があったのだけど、ファビコンをData URIでインライン化できるかはよく知らなかったため簡単なテスト・ページを作って調べてみたが、ChromeやFirefoxでは大丈夫なようだった。

大きすぎるヒーロー・イメージ: Your hero image is too big and here’s why it worksという記事を読んだ。ヒーロー・イメージとはアイキャッチ画像のことと言っても良い。初見では少し誤読したが、どうもヒーロー・イメージによりユーザーの目的達成をサポートできると主張したいようだ。

おそうじ浴槽: 新しい風呂はノーリツの快適オプションのひとつのおそうじ浴槽機能付きのものになった。風呂場の外に設置されたリモコンのボタンを押すだけで15分くらいで浴槽がまずまずきれいに洗われる。ゴボゴボゴボブシャージャバジャバゴボゴボゴボゴボ。やることは毎日ボタンを押すのとたまにバスマジックリンを補充するだけ。

Handlebars.js v2.0.0における出力の変化: Handlebars.jsのv2.0.0が9月に出ていたようだ。今更気付いたので更新してみたら、出力が少し変わっていた。改行や空白の扱いがMustacheのspec通りになったということらしい。パーシャルで親テンプレートのインデントが継承されたり、改行が二重にならなくなったりと、おおよそ直観的な出力に変わったと言えそう。

Markdownの参照形式によるリンク: Markdownでリンクを作成する方法には2種類ある。インラインで記述する方法が最もよく使われており、必ずHTMLに変換するということならばこれだけで十分とも言える。もうひとつの参照形式で記述する方法はほとんど使われていないが、Markdown文書をテキストとして読む場合に、ともすれば長くなりがちなURLが本文に挟まらないので格段に読みやすさが向上する。

依存しているもののメジャー・バージョンアップ: 自身のライブラリーなどにおける依存しているものがSemantic Versioningで言うところのメジャー・バージョンアップした場合、APIに互換性のない変更が加えられたということなので、動作を確認して自身のライブラリーもバージョンアップする必要がある。多くの場合、パッチ・バージョンアップで十分だが、互換性のない変更が加わったAPIを透過的に使っていた場合にどうすれば良いのかよくわからなくなった。

CSSWringで標準入力を読めるように: 先週末の某カンファレンスの方面から無言の圧力を感じたので、CSSWringのCLIプログラムをパイプで繋げられるようにした。入力ファイルが省略されたら……で実装しようとしていたが、オプションの組み合わせの分岐がややこしい。面倒そうだったので入力ファイルとして指定した文字列が-だった場合に……で実装した。

PostCSS v3の変更点: PostCSS v3.0.0がリリースされ、かなり高速化した。一部互換性のないAPIの変更があるが、多くは内部的な変更でそれほど影響はないような印象だ。

下線のクロッピング: Smarter Link Underlines For Every WebsiteというMediumのリンクの下線のアレをStylusのミックスインにしたものについての記事を読んでいた。記事そのものは普通(か劣化したもの)で新たな発見は特にないが、下線のクロッピングはブラウザー・レベルじゃないと難しそうだという印象を改めて持った。

夢(2014年11月15日): サンレッドが出てきた夢を見た。川崎市のアレ。サキューンのところに今から遊びに行くとか言ってて、「寒そうですねー」みたいにしゃべってた。ふとTシャツ見たら「東京砂漠」って書いてあったけどツッコめなかった。ちゃんとわかるオチがついてる夢は初めて見た気がする。

Abitax Tag Light: キーホルダーにつけていたLEDのハンディライトが歪んでしまい接触が悪くなった。もっとコンパクト(今までのは単4乾電池くらいのサイズだった)で常時点灯に切り替えられるものを探しててAbitaxのTag Lightを雑貨屋で見かけて買った。現行モデルが税込み800円くらいで投げ売りされてた。

: 雑な情報を知りたい。キュレーション・メディアに偏ると、知りたいことを集めることしかできないので世界が広がらない。有名人ベースだと多少改善されるけれども、彼らもまた自分のあるべき姿みたいなイメージを持って活動しがちであるので、あまり意味が無い。

extract.bat: 遂にNoahを、というか統合アーカイバープロジェクトのDLLを捨てることに決めて、何か良さそうな解凍専用ソフトウェアを探してた。けれどこれというものを見つけられなかったので、サポートしているフォーマットが多い7-ZipのCLIを叩くバッチファイルにした。

Google Fonts版のSource Sans Pro: Google Fonts版のSource Sans Proはオリジナルと微妙に違うところがある。多くはほとんど気づかないようなものだが、稀に顕著に現れることもあり困る。僕が今まで気づいた中で最も顕著なものはExtra Lightを使った時に38px以上にすると、文字のストロークがExtra Lightに見えない程度に太くなってしまうという問題だ。

風呂が生えた: 4日くらいで風呂生えた。バスマジックリン入れると自動でお掃除できる最先端の風呂に入る人類に進化できた。LED照明で電球色になったけど、あまり違和感はなさそうな感じで良かった。技術の進歩楽しい。

ConEmuでのスクロール: ConEmuではBuild 141022辺りから、画面のスクロールが変更され独自にスクロールされるようになった。今までは隠されたコマンド・プロンプト画面をスクロールさせ、それをコピーした画面を表示していたけどそうじゃなくなったことにより、スクロールがおかしくなって出力が重なることがなくなった。clsする頻度が大きく減って助かる。

ゴールドポイント・カードの廃棄: ヨドバシカメラのゴールドポイント・カードを廃棄した。渡したら「あっはい」みたいな感じで即廃棄してくれるかと思ったら「えっ?」みたいな応対だった。廃棄の際にデータの削除も行う場合は身分証が必要で、残ったポイントの削除への了承も必要だった。無事、廃棄でき、財布からカードが一枚減った。

CSSWring v1.3.1: CSSWringのv1.3.1をリリースした。色のパースに失敗した後に例外で落ちる不具合への対策と:not()内の空白を全削除してしまうバグの修正が入った。

印刷向けCSSとそのパフォーマンス: Does a print CSS file slow your site down?という印刷向けCSSの書き方によるパフォーマンスの違いについての記事を読んだ。この辺りの話はクリティカルなんちゃらのあれなので特に目新しくはないのだけど、最近のChromeが賢くなっているのはちょっと驚いた。

Camperのサイドゴア・ブーツ: 8年くらい履いてたシャーク・ソールのブーツがそろそろ寿命っぽいので、去年辺りからブーツを探していた。サイドゴア・ブーツのぬるっとした見た目が好きなので、ドレスっぽくなくカジュアルすぎないものを色々探した結果、CamperのMilシリーズのサイドゴア・ブーツを買った。32400円。

風呂がないぞ: 家に風呂がないと、台所の流しで頭を洗う羽目になり、いちじるしく人の尊厳を奪われる。お掃除機能付きのバスタブで天上人になる予定なので、しばらく未開人で我慢する……と思ったけど、川とかで全身洗ってるであろう未開人の方が人として格上な気がしてきた。

R.I.P. Merrell Mootpia Lace: 2013年の5月に買ったと書いたMerrellのMootopia Laceがアウトソールの踵部分に穴が空き、ダメになった。実際に買ったのは2012年の終わりだったのでほぼ2年。履き潰した感想を書いておく。

vim-css3-syntax v0.13.0: HTML5ということでキリが良さそうなのでvim-css3-syntaxのマイナー・バージョンを更新した。v0.12.0からはCounter StylesやFlexible Box Layoutが更新され、見捨てられたHyperlinks PresentationやMarqueeが削除されている。

Google Fontsはいつまであるのか?: Will Google Fonts Ever Be Shut Down?という記事を読んだ。とてつもない数のウェブサイトで利用されているGoogle Fontsが果たしていつまで無料で自由に使えるままなのかを、今のGoogle Fontsの状態とその持つ意味から考察されてる。現状ではメリットがあるので提供しているけれども、それがコストに見合わなくなったらすぐやめるんじゃないかみたいな悲観的な観測で終わる。

GitHub Pagesとwwwなしドメイン: wwwなしドメインをGitHub Pagesで運営しようとAレコードを使って設定すると、全てのリクエストが302 Foundで処理されるようになる。特に実用上の問題はないが、パフォーマンス上のデメリットは大きい。www付きで運営するのが手っ取り早いが、wwwなしでどうしても運営したい場合はCloudflare経由にするのがコストが低い解決法だろう。

CSSライブラリーはそのままでどうぞ: Normalize.cssを始めとして、Twitter BootstrapやPureに至るまでCSSのライブラリーは数多くある。それらはそれなりに気をつけて作られているが、他のライブラリーと混ぜることはもとより、ページ制作者のCSSと混ぜることは想定されていない。単純にlink要素を使って先に読ませるか連結するだけで使わないと、開発者はもちろんそれらが使われているページのユーザーにも意図しない不具合が起きる可能性がある。

grunt.verbose.log: 最近、多くの公式Gruntプラグインでログの出力が変わった(メンテナーによって違う)。正常に動作した時は何も出さず、エラーがあった時にのみエラー・メッセージを出すという形。ただし--verboseオプションを付けた場合には何をやったのかを確認できるようにgrunt.verbose.logを使うようになっている。

GitHub PagesとContent-Typeヘッダー: GitHub Pagesでは未知のファイルはapplication/octet-streamで配信される。未知のファイルとは未知の拡張子を持つファイルと拡張子を持たないファイルの二つに分けられる。例えばこのウェブサイトのRSSフィードは拡張子なしのfeedというファイルのため、適切なContent-Type (application/rss+xml)で配信されていない。

aspect-ratio特性: ビューポートが16:9以上かどうかの判定にaspect-ratioを使って行おうとしていた。が、min-aspect-ratio: 16/9でうまく動かず、もしや未実装かとあーでもないこーでもないと色々やってたら、単にmax-aspect-ratioでやるべきなだけだった。

靴擦れとキズパワーパッド: 新しい靴を買っておろしたら、10数年ぶりくらいに靴擦れになった。踵とかではなくて右の薬指の上。指にできたのは記憶になくて、こんなところにもできるんだ……という感じだった。

Clean CSSと@importのインライン展開: 最近のClean CSSには@importで参照しているCSSを読み込んでインライン展開する機能がある。この機能を使うとGitやBowerを使ってNormalize.cssやTwitter Bootstrapをローカルにダウンロードし(、リネームし)ておいて……などとしなくて済むので、CSSライブラリーの管理の手間がだいぶ減る。

無意味なアイキャッチ画像: ここのところ、このウェブログの記事にアイキャッチ画像があることが多い。そんな中、大きな画像がファースト・ビューにあることについてのツイートを見て、確かに大きな画像のおかげで読みたくなくなることもあるなと考えさせられた。このウェブログでも少なくとも無意味な(昨日の記事のような)アイキャッチ画像は止めようと決めた。

コンテンツの責任: POSSEのようなやり方は主にコンテンツの所有権を明確に自分に帰属させようという目的を持って選択される。所有権の明確化は、同時にコンテンツの責任が自分にあることも明確にされることでもある。逆に言うとPOSSEのようなやり方が流行らないのは、そういった責任を放棄したいと考えている人が多いからなのかもしれない。

POSSE: Publish Own Site, Syndicate Elsewhere: POSSEは「自分のとこで公開して、他のとこへ配信しよう!」というようなやり方。コンテンツの所有権や、サード・パーティーのサービスへの依存度、安定したURLとそれに伴うオリジナルの発見性の高さ、検索性などの点で利点があるとされている。

Modularized Normalize.scssのテスト: Normalize.cssがv3.0.2に更新されていたので、Modularized Normalize.scssも更新した。変更点はmenu要素の追加とIE10でのa要素の背景削除がbackground-colorプロパティーのみに変わったことで、大きな変化はない。で、追随したv3.0.2をリリース後、テストを少し書き換えた。

Feedlyでのフィードの分類: Feedlyでは今は亡きGoogle Readerや不死鳥のごとく蘇った(蘇る予定の)livedoor Readerのように全文表示の状態でサクサク読むのはUI的にもパフォーマンス的にも難しい。読む必要があるフィードとそうでないフィードを分類することは、Feedlyではより重要だと言える。

SCSS Lintでbower_componentsディレクトリーを無視する: SCSS Lintでは**/*.scssなどといった指定でカレント・ディレクトリー以下のSCSSファイルを一気にチェックできる。けどBowerでインストールしたSassパーシャルなどは通らないことが多いので、bower_componentsディレクトリーは無視する方が効率が良い。その場合は設定ファイルでexcludeを使う。

Digg Deeper: DiggにはDigg Deeperという機能がある。連携したソーシャル・ネットワークで複数回シェアされたURLをメールで送ってくれるというもの。メールの他にiOSアプリでの通知やDigg Readerでも読むことができる。

定義ごとにまとめたルールセット: CSS, DRY, and Code Optimizationという記事を読んだ。この記事ではメンテナンス性を重視したCSSの最適化について書かれている。いわゆる自然な書き方、つまりHTMLの構造をストレートに反映させたルールセットごとに定義(プロパティーと値のセット)を書いていくよりも、定義ごとにルールセットを作成してそれにセレクターを複数割り当てていく方が優れているという。

静的ファイルのみのホスティング: ここしばらく使わせやすい静的ファイルのみをホスティングしてくれるサービスを探している。理想としては特定のローカル・ディレクトリーがそのまま公開されるようなサービスだ。FTPフォルダー的なものを実現するクライアントまで用意されているサービスだと言っても良い。

GitHubのwebhooks経由でのPubSubHubbubによるフィードの更新通知: PubSubHubbubでフィードの更新通知を行う場合、当然RSSやらが更新された後に行う必要がある。GitHub Pagesにウェブサイトをホスティングさせている場合、ビルドにどれくらい時間がかかるかは不定なので、ローカルで行うことは難しい。しかし、当該リポジトリでwebhookをうまく作成してやると、ビルド完了後に自動で更新通知を行わせることが出来るようだ。

GitHub Pagesへ移行した: 好みの問題でJekyllはどうしても使う気になれないのでビルド・システムはそのままに、ホスティング先をGitHub Pagesに移動した。DNS設定もTTL通り5分で反映され、www付きのリダイレクトもうまくいっているようだ。

git grepをVimで使う: Gitのgrepサブコマンドは通常Gitリポジトリーでしか使えない。しかし--no-indexオプションを付けると、Gitリポジトリーではないディレクトリーでも検索できる(もちろんGitリポジトリーでも)。Vimからももちろん使えるので、ackちょっと遅い、ag入れるのが面倒くさい、MSYS上で使ってるとjvgrepの出力が稀におかしい、などの理由でgrepに戻ったりしてる人はgit grepを使うのも良さそう。

白の無地Tシャツ: GAPのClassic.Tがついに終息したらしく、店頭から消えた。新しいEssential crewneckは薄くなってる上にちょっと肌触りが違う感じがする。生地の厚さや着丈、首の開き具合、丈夫さ、タグ無し、そして値段などさまざまな点でGAPのClassic.Tは気に入っていたので、これと同じくらい気に入る白の無地Tシャツを探すのは大変そう。

Mobile Safari 8でposition: fixedした擬似要素が完全に位置が固定されない: Style GuideをMobile Safari 8で確認していて気づいたのだけど、擬似要素をposition: fixedした場合、スクロールしている最中は位置が変化しないようだ。つまりスクロールを止めた後で位置がアップデートされるので、他のブラウザーのように完全に位置が固定されない。

pre要素での折り返し: 長らくpre要素で折り返されるようにしていたが、少し前に折り返さずにスクロールバーを表示するように変更した。主な理由は狭い画面では折り返されると読めたものではないということがはっきりとわかったからだ。しかしそこそこ広い画面では折り返された方が読みやすいし、見た目の収まりも良い。つまりメディアクエリでうまいこと分岐すると良いようだ。

反論: 好きなものや気に入っているものについて否定された時に、そうじゃないだろと反論したい気になるのはわかる。しかし、往々にして反論のための論理で食ってかかることが多く、それでは溝を広げる結果にしかならない。溝を埋めることは難しいが、食ってかかってわざわざ溝を広げる必要もない。

検索ボックスのグローバル・フッターへの組み込み: 検索ボックスを復活させた後、置いただけだったのをグローバル・フッターへ組み込んだ。バランスのため制作者名の位置を左に動かしたり、グローバル・フッターの文字サイズが小さくなっているのを考慮して、検索ボックスの余白を調節したりもした。

予期せぬ問題: 予期せぬ問題が起き、その問題はまったく手が出せない類の問題で、ただいたずらに疲弊した。問題がどのようなものかもはっきりとはわからないため、まず専門家に確認してもらって問題をちゃんと明確にしなければならないので、それまでもやもやが続く。このような問題が起きることをまったく予期していなくて、ストレスがすごい。

カラースキーム: カラースキームはPhotoshopのスウォッチで管理する事がほとんど。多くのツールで対応されている業界標準というだけの理由で、特にこの形式そのものがすごく便利というわけじゃない。とりあえずどう表示させても潰れることがまずないSVGで作ってみたけど、あまり意味なさそう。

xml2jsと絵文字: 簡単便利なxml2jsは、パーサーにsax-jsが、ジェネレーターにxmlbuilderが使われている。指定された文字コードさえ適切なら、パーサー側は何もせずに絵文字あたりをパース可能なので問題ない。しかし、ジェネレーター側では適切なオプションが立ってないので、絵文字を含むXMLを作ろうとすると例外で落ちる。

Terms of Services; Didn’t Read: 利用規約(ToS)やプライバシー・ポリシーはまじめに読むにはかなり長いことがよくある。日本語でもかなりの辛さだが、英語だと更に厳しい。その利用規約を簡単なレーティングと重要そうなポイントのリストで概要を把握できるようにしてくれるブラウザー拡張がTerms of Service; Didn’t Readだ。

DuckDuckGo: iOS 8のMobile SafariでもDuckDuckGoを使えるようになったので、良い機会かなとデスクトップ等でも検索にDuckDuckGoを使うようにした。Googleプロダクトのウェブサービスで使うのはGmailだけにしたい野望にまた一歩近づいた。

違和感: 違和感は明確に自分が意識していない感覚に物事が触れた時に感じられるものだ。ただし自分が違和感を感じたことを大々的に「変だ! 気持ち悪い!」などと感情的に表現してしまうとおかしな人になってしまう。そこで論理的に批判したくなるわけだが、大体において理論武装には穴や見落としがあるので、これまたおかしな人になってしまう。かといって違和感を感じたという事実を封印してしまうと、ストレスでおかしな人になってしまう。

古いバージョンのChromeが残ること: あるプロジェクトへのモバイル・アクセスの統計によると、Chromeのうち実に25%がSamsung製で古いバージョンのものとなっていたみたいだ。こういった古いバージョンのChromeが残ることは、Internet Explorer 6の再来的な意味も多少持つけど、それだけではない気がする。

ぶどうパン: レーズン入りの食パン、いわゆる「ぶどうパン」という感じのやつが好き。レーズン入りのバターロールとかデニッシュじゃなくて、とにかく普通の山形食パンにレーズンがこれでもかと入ってるのが好きだ。上に砂糖がかかってないとなお良い。そのまま食べても、焼いて食べても、バターを塗っても好き。

The All-Inclusive Guide to Web Typography Best Practicesの日本語訳: ここ最近のウェブデザインにおけるタイポグラフィーについてのThe All-inclusive Guide to Web Typography Best Practicesという記事をウェブ・タイポグラフィーのベスト・プラクティスとして訳した。翻訳の元記事はSmashing Magazineの記事を2014年現在を考慮して少し補足を加えつつ、柔らかい文章でサラッと書かれていて読みやすかった。

ウェブ・タイポグラフィーのベスト・プラクティス: Translation of: The All-Inclusive Guide to Web Typography Best Practices

Wunderlist: タスク管理には、GoogleのToDoリストとiCloudのリマインダーを併用していた。少し前にToDoリストはGoogle、URLで管理できるものはPinboardとPinterestに分散というような感じに変えたけど、どこに何があるか間違えやすいのでWunderlistにまとめることにした。iOSアプリはそこそこ、ウェブ・アプリは(URLがアレだけど)使いやすい。

安易なコピー: Appleがその利用を拡大しているHelvetica Neue Lightが他でも使われるようになっていることについての記事、The Scourge of Helvetica Neue Lightを読んだ。直訳すると「Helvetica Neue Lightという悪」。大意としては文章に使うにしろUIに使うにしろOS XやiOSのDynamic Type機能のようなものがあって光るものなので、そのまま利用しても害にしかならないというような話。

インストーラーを使わないで入れているソフトウェア: どうしても変わりになりそうなものがなくて、インストーラーがないけど入れているソフトウェアもいくつかある。他は代わりを探したり、思い切って使うのをやめたり。何もできない不自由な環境にいったんリセットして、耐えられなかったらどうにかするみたいな作業がやっと落ち着いた気がする。Microsoft IMEでも平気なくらい調教されてきた。

インストーラー: 事前に内容を確認できフォルダーごと捨てるだけでアンインストールできるように、ZIPアーカイブでアプリケーションが配布されていることを数年前までは好んでいた。しかし今はインストーラーを好むようになった。

Sitelinks Search Box: ページ下部に検索フォームを復活させて、GoogleのSitelinks Search Boxに対応させたつもり。本当は検索ページを別に作ってそっちに寄せようかと思ったけど面倒になってきたので、とりあえずGoogleカスタム検索を復活させてMicrodataを仕込んだ。

text-overflowプロパティーを指定した要素の背景: text-overflowプロパティーは子のテキストのはみ出した部分をどのように制御するかを決定するもの。つまりテキストしか制御してくれないので、例えばその要素に背景を指定していて、かつ親要素ではみ出す方向にpaddingプロパティーが指定されていると、テキストの終わりと背景画像の終わりが一致しなくなる。

じゃがいもパンケーキ: じゃがいもを細切りにして、フライパンにバターを引いて焼くやつ。じゃがいもを細切りにした後に水にさらさないことで、じゃがいもの断面が出るでんぷんがつなぎになるので、うまくパンケーキ状に固まる。ハッシュドポテトに近い。5分くらいで作れておいしい。

透過PNGをSVGを利用して軽くするテクニック: 透過PNGは現状では唯一に近いフルカラーの透過画像を作成する手段だが、ファイル・サイズが大きくなりがちだ。対してJPGはファイル・サイズという点で大きく優るが、透過することは出来ない。このあちらを立てればこちらが立たずの問題をSVGのマスク機能を使って透過だけを受け持つPNGとJPGを組み合わせることで両立させるテクニックを知った。

モカエキスプレスの交換パーツ: Bialettiのモカ・エキスプレスの3カップ用を愛用してるけど、交換パーツがあんまり見つからない。見つかっても純正っぽくパッケージングされてない、フィルターとゴム・パッキンが別売りのだったり。ようやく純正を見つけたと思ったら1500円くらいしたり。久々に調べたらAmazonでAmazon.co.jp発送のやつを780円で見つけられたので買った。

二本線からバツ印へ: Appleの新ウェブサイト(2014年9月)では狭い画面の時にグローバル・ナビゲーションを出す二本線のアイコンが表示される。それをタッチするとナビゲーションが表示されると同時に回転しながらバツ印に変化する。同じようなアニメーションをCSSでやってみると意外に面倒くさかった。

構文強調: 構文強調はエディターでプログラムのコードを書く時は必要だ。コードをそこそこちゃんと読む必要があるような場所、例えばGitHubなどでも必要だろう。ではコードの断片をちょっと読ませることが主になるウェブログのような場合はどうだろうか。

段落内に広告を突っ込むテクニック: CSSのfloatプロパティーを使うと段落等を回り込ませることができる。これをうまく使うと段落の途中でぶった切って広告を押し付けられることをExcluded Ad Placement for Responsive Designという記事を読んで知った。よく考えればその通りなんだけど、最初どうなってるのか全然わからなかった。

CSSWring v1.3.0: CSSWringを最小化に特化する形にしてv1.3.0をリリースした。今後も最適化やバグの自動修正のようなCSSの解釈が変わってしまうような変更は行わないという方針にすることに決めた。CSSファイルをSource Map付きで最小化する。それだけ。

駅前ビル: 新しく駅前ビルが完成する。来月オープン。1階が銀行で、5階以上はマンション、2から4階が洋服屋、雑貨屋と軽食という郊外によくあるやつ。既に大型商業施設的なものがそこから1分ほどのところにあり、それの規模縮小版といったもの。ユニクロかぶらせてどうするんだ。

iPhone 6 Plusのワイヤーフレーム(SVG): アバウトにトレースして、SVGを作っておいた。トレースしてて「あれ? センサーでかくなった?」とか思って気付いたんだけど、前面上部のセンサーとカメラの位置が入れ替わったのかな? 拡大した画像を見ると、スピーカー横がカメラになっているように見える。

I’m 414, not 360.: もう既に10回くらい言った気がするので画像にした。詳しくはiPhone 6 Screens Demystifiedを眺めるのが良い。

xargsからのcURL: 1200くらいのURLのリストを渡され、そのURLのファイルをダウンロードする必要があった。今更ダウンローダーをダウンロードしてきて、インストールして、使って、アンインストールするのも面倒だったので、xargsからcURLをつなげてやった。

横にはみ出すナビゲーション: 今回(2014年9月)のAppleのウェブサイトのリニューアルにはいくつもの興味深い点がある。ナビゲーションの二本線とバツ印が共にインラインのSVGなことなどもそうだし、多くのポーションがモダナイズされたにも関わらずPrototype.jsを継続利用したこともすごく気になる。その中でも一番気になったのは狭い画面向けの横にはみ出すナビゲーションだ。

CSSWring v1.2.4: CSSWringのv1.2.4をリリースした。マイナーな部分で空白削除や無駄な記述の削除がなされていなかったことを調節していた。これで圧縮機能についてはフリーズして、正規表現のバグを潰したり、正規表現をやめるのに精を出したい。

1/5くらい欠けた円を回す: 新しいApple Storeアプリで使われてるローディング・アイコンをCSSで模したもの。たまにこういうものを作ると、自分が新たなCSSテクニックを学ぶことに貪欲でないことを再認識させられる。

transformプロパティーを使ったセンタリングで○○がぼやける: 幅や高さがわからない要素を上下左右にセンタリングするには長らくdisplay: table-cellを使ったものが主流だった。最近は、よりシンプルに実装できることからtransformプロパティーを使って50%戻すというような手法がメジャーになりつつある。しかしtransformプロパティーで動かすと常に何かがぼやけるリスクを伴う。

$ git-release --dry-run: 動作の確認のみできる--dry-runモードをgit-releaseに付けた。--verboseと組み合わせて、設定の確認に使う。ついでに--helpや--versionも付けたので、minimistを使うようにした。

コンソールに内側の余白を: clibというプロジェクトがあって、それ自体にはほとんど興味が無いんだけど、そこに載っているコンソール画面のスクリーンショットがきれいだった。白い画面というのが珍しいこともあるけど、左に余白をもたせてあるのがすごく良さそうに見えた。真似して内側に1文字分くらい余白をもたせてみたけど、かなり快適。

reduce()を使った配列要素のユニーク化: 普通のやつは、要素ごとにindexOf()で結果を格納する配列から探して、なかったら追加みたいなの。ソートされてる前提だとindexOf()じゃなくて最後の要素と比較すれば良いだけなので速い。Underscore.jsではこれらに加えてもうちょっと複雑なことをしつつユニークにできる。普通はこれらであまり困らないけど、最近知ったreduce()を使った奴が面白かった。

トップヘモドル機能付きの位置固定なロゴ: ロゴを位置固定にして、スクロールについてくるようにした。あまりスクロールしておらずナビゲーションがまだ見えている場合は、今まで通りウェブサイトのホームへ移動する。変わって、スクロールしてナビゲーションが見えなくなっていると、ページの最上部に移動する、いわゆる「トップヘモドル」ボタンに変わる。

Gitのfetch/pullサブコマンドで--pruneオプションをデフォルトにする: Gitではbranch -aでリモート・リポジトリーも一覧できる。この一覧には既にリモートでは消されたリモート・リポジトリーも表示される。この一覧を更新するにはfetch --pruneを使うわけだが、いちいちそうするのは面倒くさい。どうやらfetch.pruneをtrueにするとデフォルトで--pruneを付けてfetch(及びpull)を実行してくれるようだ。

WindowsのChrome 37とM+ Outline Fonts: Chrome 37でWindowsではDirectWriteを使ったフォント・レンダリングがデフォルトで有効になった。頻発していたらしいマルチバイト文字列がまったく見えなくなるバグは、マイナー・アップデートでそこそこ解消されたようなので常用しても問題なさそうだ。しかし一部のフォント、例えばM+が表示できないという不具合に遭遇している。

@charsetを先頭へ: CSSの仕様では@charsetは先頭に置かれたものしか効果を発揮しない。最近は共にUTF-8でHTMLとCSSを書くだろうと思うので、あまり使われず、気にすることはもうあまりない。ただ何かしらの事情があって使う場合、カジュアルにファイルを連結してプロダクション用のCSSを作成すると、無意味な場所に@charsetが出てきて無駄が多くなる。

git config --get(-all): YAPC::Asiaでの@motemenのトークのスライドを見て、.git/*を見ないのはなるほどなと思った。愛用しているgit-releaseも前にちょっと書いたみたいにconfig --get(--all)を使って設定を拾うようにした。

CSSWring v1.2.2: CSSWringのv1.2.2をリリースした。圧縮力については他のメジャーなツールにはだいたいのところは追いつけたんじゃないかと思う。このバージョンで圧縮力の比較ベンチマークを走らせた所、だいたい最下位は脱した感じだった。これ以上はセレクターのマージを行わないと勝てなそう。

メディア・クエリーのandキーワード周囲の空白文字: メディア・クエリーではandキーワードを使って、複数の式を組み合わせることが出来る。min-width等を使う式では括弧を使うので、それらをandキーワードで組み合わせる場合に周囲の空白文字は必要ないように思えるが、どうもないと解釈できないらしい。

CSSグラデーションによるリンクの下線: CSSグラデーションを使った太くならないリンクの下線は、Mediumの詳細な記事やterkel.jpのその解説とも言える記事を見てそのうちやってみようと思っていた。フォントサイズが大きい時に下線が2pxや場合によっては4pxくらいで引かれるようになるのは見た目に結構な負荷を与えるので、常に1pxで引きたいといった希望を持ってる人は多いはずだ。

InkscapeのインストーラーがChromeでのSVG表示を壊す: Inkscapeのv0.91pre2が出たのでインストールしたところ、ローカルのSVGファイルがChromeで表示できなくなった。どうもInkscapeのインストーラー(多分安定版のインストーラーでは起こらない)が関連付けを変える時に間違ったContent-Typeを設定してしまうことが原因のようだ。

@importの文法: @importでは何の気なしにurl()を使わず書いていたんだけど、どんな時もそれで良いのかよく知らなかった。どうやら文字列で書くとそれをurl()で括ったように解釈してくれると仕様で決められているようだ。

HEX色コードよりも短くなる色キーワード: CSSWringに、HEX色コードと色キーワードのどちらか短い方を使う機能を実装するために調査した。32種類あるみたいだ。

PostCSS v2系のRaw Properties: オーガニゼーション化されてロゴもできたPostCSSのv2系では元データの値を格納するキーが追加されている。これのおかげで何もしないと完全に元のCSSと同じCSSを出力できるようになった。ただそれと同時にPostCSSのクリーンアップ機能をそのまま使いたいみたいな時にこの元データを格納するキーを削除する必要があるようにもなった。

液晶ディスプレイのノイズとiPhoneのUSB電源アダプター: ここ3か月ほど、稀に液晶ディスプレイの全体にノイズが乗るようになった。液晶ディスプレイの寿命かなーと思ってたんだけど、どうやらiPhoneの純正USB電源アダプターの位置が原因だったようだ。部屋の模様替えで、HDMIケーブルと電源アダプターの位置が近くなってから起こるようになったと思うので、正解な気がする。

CSSWring v1.1.0: Source Maps対応のCSS圧縮ツールであるCSSWringをようやくメジャー・リリースした。特に使い方は変わってない。内容的には圧縮力はそこそこ向上したけど、まだ「もうすこしがんばりましょう」程度。

~/.scss-lint.yml: SCSS-Lintの設定を煮詰めていた。読みやすさと書きやすさを優先して、他はCSS Lintでのチェックに先延ばししたり、CSS圧縮ツールなどによる自動処理に期待するような形に落ち着いた。そうすることでちょくちょくチェックかけてもストレスがたまらないようにできた。

プル・リクエストのローカルへのチェックアウトをグローバルに設定してはいけない: GitHubのプル・リクエストはGitHubのヘルプやカンニング・ペーパーで取り上げられているようにローカルにチェックアウトすることができる。カンニング・ペーパーではその最後でグローバルに設定すると便利と書かれているが、これを設定すると厄介なことになる。

ディレクトリーを引数にDavidのページを開くNode.jsスクリプト: Node.jsパッケージの依存確認にはDavidを使うことが多い。けどバッジとか好きじゃなくて、付ける気がないため、いつも重いユーザーページから知りたいリポジトリーを開くみたいな感じで使っていた。コマンドラインからGitHubのページを開くgh-openがすこぶる便利だったので、それを真似てディレクトリーを引数にDavidのページを開けるNode.jsスクリプトを書いて使うようにした。

Vimプラグイン: Tabcom: 書いたのは10何度目かになる、Tabでなんとなく補完してくれるやつをTabcomという名前でプラグインにした。書いてはVimのビルトイン補完群に戻り、書いてはAutocomplpopに戻りするので、そろそろプラグイン化しておいてすぐ戻れるようにしたかった。

前閉じボクサーブリーフ: ボクサーブリーフ派になって久しいんだけど、前開きのものが多いこともあって特に疑問を持たずに前開きのボクサーブリーフを穿いてた。1か月半ほど前にセールで間違えて前閉じのボクサーブリーフを買ってしまい、失敗したと思ったけどセール品だし肌着なので返品もしづらく、仕方なしに穿いてた。するとホールド感で結構な違いがあることを知ることが出来た。

二段階認証の緊急コードの保管場所: Dropboxの二段階認証の緊急コードをDropboxにテキスト・ファイルで保存するなどというボケたことを考えていた。機能しないこともないけど場合によってうまくいかない可能性があるので、とりあえず他のオンライン・ストレージにもコピーしておいたんだけど、こういうコードを分散させるのは良くない気がする。やはり手帳やタンスなのか。

アイキャッチ画像を大きく: アイキャッチ画像がある時は最大限大きくするようにした。CSSで全部やろうと思ったけど、画像の拡大はともかく投稿日時等のコンポーネントの位置調整のためのセレクターが無理そうだったので、permalinkを処理するプラグインに機能を追加して誤魔化した。

CSSの簡略プロパティー: CSSの標準仕様では一部のプロパティーに簡略(ショートハンド)プロパティーが用意されている。marginやbackground、fontプロパティーなどがそれ。うまく使うとCSSをかなり短くできるので、積極的に使いたいけど、なかなかの複雑さでそうもいかない。かといって機械的に処理するのも、CSSは人が簡単に書けることを想定して仕様が作られている節がある(根拠はない)のでまた難しい。

コンテンツとUIパーツの比率: コンテンツとUIパーツ(chrome)の比率についての記事を読んだ。単純にコンテンツを最大限確保するのではなく、画面サイズに応じて適切な大きさでUIパーツを提供することによって、コンテンツとUIパーツの比率への影響を最小限に抑えるべきだという風に読んだ。U-Siteでの日本語訳に期待したい。

Drawic v2.7.0: Drawicに地図系のアイコンを追加してv2.7.0にした。白抜きじゃないコンパスや地図のアイコンは難しい気がする。マーカーが不格好なので直したい。高さはこのままでもうちょっと太らせると良さそう。

RubyGems v2.3.0以降でインストールしたCLIツールがWindowsでうまく動かない: RubyGemsを最新版にしたら、それ以降インストールしたCLIツールがうまく動かない。どうもv2.3.0から生成するバッチファイルで指定されているRubyの実行ファイルのパスが変更になったことが原因みたい。v2.5.0で修正が入るようなので、それまでWindowsではその変更が入る前のv2.2.2かインストーラー付属のバージョンを使うのが良さそう。

Statlogger: Statloggerは特定の形式で件名を記述しstat@statlogger.comへメールを送ると、メールでグラフの画像を返してくれるだけのウェブサービス。アプリ不要、登録不要、ログイン不要でとにかくメールを送るだけ。

フレッツ光メンバーズクラブのポイント→iTunesのギフトコード: フレッツ光のにねん割の更新期で、メンバーズクラブのポイントを1000P貰えた。いつものように料金支払いにでも使おうかと思ったら、どうやら少し前からiTunesギフトコードにも交換できるようになったようだ。500円ごと。

CSSの非同期読み込み: 印刷向けCSSだけじゃなく、ウェブフォントのCSSも非同期で読み込むことにした。FOUTが起こるようになるので、気になったら戻すかも。

HTML5 Shivの削除: このウェブサイトは、rem単位を使っていたりと、Internet Explorerだと事実上バージョン9以降でしかうまく閲覧できないようになっている。となるともうHTML5 Shivを使う意味もあまりないので削除した。これでようやく不格好な条件付きコメントを見ないで済む。

コーヒーゼリー: 水出しコーヒー淹れて残った250mlくらいをコーヒーゼリーにするみたいなブーム中。ゼライスだけあれば作れる。ゼライスを水でふやかして、ちょっと温めた水出しコーヒーを注いで混ぜ、粗熱を取ったら冷蔵庫へ入れて、3時間くらいで完成。

Explore Interests: PinterestにExplore Interestsというページが出来てた。どうやら自分のピンに基づいて、興味ありそうなピンをカテゴライズしてまとめてくれるページのようだ。サムネイルの大きさは興味度に比例しているようで、スピーカーとかちょくちょくピンしてると大きくなる。

grunt-pubsubhubbub_publish v0.2.0: GoogleのHubだけでなく、任意のPubSubHubbubのHubにpublishできるようにして、grunt-pubsubhubbub_publishをv0.2.0にした。他のHubとしてはSuperfeedrやAyupなどが挙げられるけど、もちろん自前で立ててるHubでも問題ない。

二つの文字列の融合: 融合っていうのは、「あいうえお」と「うえおかき」を混ぜて足して「あいうえおかき」にするケースのこと。後者の先頭の「うえお」を前者へ融かし合わせるので融合と言ったけど、それで良いのかよくわからない。ちゃんとしたアルゴリズムありそうだけど、見つけることができなかったので、後方から検索していくみたいな感じで書いた。

Vimのdiffモードを自動的に終了させる: Vimでdiffsplitなどで差分を見た後、片方のバッファーを閉じるとdiffモードのままなので、手動でdiffoffしないといけない。僕はdiffモードやQuickfixの時しかウィンドウ分割を使わないみたいな感じのライトなVimユーザーなので、片方閉じたら自動的にdiffモードを終了させたい。そういう設定は特になさそうなので、自動コマンドでやってやった。

Polyforest: 三角ポリゴンを使ってモザイクっぽい画像を作るブームが結構前から来ていて、長続きしている気がする。そういう画像を作るアプリもあるし、単純な背景パターンとして提供してる人もいる。遅まきながら僕も作る工夫をいろいろ考えておこうかなと、このような画像をヒイコラ作った。SVGで。

スクロールバー: 昔はOSネイティブを尊重したスクロールバーにしろ派だった。今は描画領域がらみで色々考えたくないので、オーバーレイで独自描画されちゃえばいいのに派になってる。WindowsだとInternet Explorer 11以降(10以降かも)の自動非表示スクロールバー的なのが妥当な落とし所なのかな。かっこいいと思ってはいないんだけど。

ターミナル画面のマークアップ: Markdown (やその派生)のpre要素になる記法では、問答無用にその中はcode要素でマークアップされる。多くの場合はコードの断片なのでそれでいいんだけど、そうじゃないことももちろんある。例えばCLIプログラムでの操作手順を記載する時のターミナルの画面のコピー。

夢(2014年7月29日): 寝てたら毒蛇に噛まれる。あっと思って飛び起き、携帯を取ろうとしたらそれも毒蛇になって噛まれる。その後触るものがすべて毒蛇になり噛まれまくるものの、玄関から出たら噛んでた蛇が消えた。安心してそのまま麦茶飲んだら毒で死んだ。というところで起床。

公開ブックマーク: 集積所を別に作ったので、Pinboard(やそこからミラーしてるはてなブックマーク)へは能動的にブックマークしたものだけに絞ることにした。実際にはプライベートでミラーして他の人からは見えないようにしてるだけだけど。

VimからHTMLHintを使う: HTMLの簡単な文法チェックには長らくValidator.nuのAPIを利用していたけど、Node.jsパッケージのHTMLHintがそこそこ使えそうだったので今はこっちを使っている。ローカルで動くと気軽に使える度が増す。ただデフォルトでインストールされるCLIプログラムはリッチな感じの出力にしか対応していないので、ちょっと扱いづらい。Vimのデフォルトのerrorformatに応じた形でチェック結果を出力するだけのNode.jsスクリプトを書いて使ってる。

Marginalia: 余白に書き込みしようという感じの記事を読んだ。タイトルのmarginaliaっていうのは本の余白の色々書く人のこと。余白への書き込みによってその本を読んだ時の感覚を記録できるので、その本が自分にどういった影響を与えたのかということを思い出せるというようなことのようだ。消費するだけになりがちな読書体験を恒久的なものにする助けになるという風に解釈した。

calc()とvw単位を使った飛び出すpre要素: 飛び出すpre要素っていうのは昔書いた描画領域一杯にpre要素の幅を拡大するテクニックと目指す見た目は同じもの。以前考えたものはちょっとの間使ったもののバグが多くすぐやめた。このテクニックは大きい要素を左右に付け、はみ出した部分を隠すというものだった。それをvw単位を使ってビューポートの幅を取り、それとcalc()を組み合わせることでどうにかしようという試み。

Sassでの色管理: Sassでは色を変数として定義でき、また様々な関数でそれを操作することが可能になっている。そのため色を論理的に管理することが可能になっているが、これといった手法が確立されているわけではない。このウェブサイトでは少しややこしい形で管理するようにしている。どういう目的でこういう複雑な構造になっているのかを簡単に書いておきたい。

48% of 79: 年齢が増えた。もうすぐ79の半分とか考えてた。まだまだなのか、もうなのか。そんなこと考えてたらなかなか寝れなかった。

Segoe UI Mono: Segoe UIに等幅バージョンがあることは前から知っていたのだけど、購入するしか入手方法はないのかなと思っていた。ちょっと調べた所、どうやらXboxのゲームへの同梱を許可する形で再頒布パッケージとして公開されているようだ。

リンクのスタイリング: 立て続けにリンクに変わったスタイル当てることについての記事を二つ読んだ。ひとつはサムネイルにオンマウスすると暗くなったりしてサムネイルが見えなくなるスタイルについての記事で、もうひとつはオンマウス時や他の場所のリンクのスタイルとの食い違いについての記事。納得できるところもあり、納得できないところもあり。

Drawicのアイコン・フォント: Drawicのリリース・ページにアイコン・フォントのZIPファイルをアップロードすることにした。あんまりいじるのも良くなさそうなので、IcoMoonで一発変換しただけのもの。IcoMoonが作ってくれるデモ・ページを見る限りは問題なさそう。

hitCallbackを使ったUnUTMの実行: UnUTMはGoogle Analyticsなどで使われるutm_*パラメーターを削除するものなので、当然それらを利用した解析機能は失われることになる。一応ユニバーサル・アナリティクスのga()を使って呼ぶことにより、うまくすればトラッキング出来るんじゃないかと考え、そうしていたが、どうもダメそうだ。ga()を直接使う代わりにトラッカーによるデータ送信後に発動する関数を指定できるhitCallbackフィールドを使うのが良さそう。

Sass v3.4.0.rc.1とgrunt-contrib-sass: Sass v3.4.0.rc.1が出た。&の扱いが拡充したこととセレクターを扱う関数の追加がトピック。他に予告されていた変数スコープの改善も思ったよりも早く導入された。後方互換性を失う変更はあるものの、大体は問題なくコンパイルされる。けどコンパイラーのオプション他に変化があったため、それらをラップするツールで不具合が起こりやすい。例えばgrunt-contrib-sassが--load-pathと--sourcemapオプション辺りの変更に対応できておらず、例外を吐いて落ちたりする。

書きやすい・読みやすい・優しい: およそコーディングにおいては書きやすさが重視される傾向が強い。例を挙げるまでもないだろう。しかし、その書きやすさは主観的なものであることが多く、他人の読みやすさへは寄与しない。読みやすさにも主観的な面はあるが、それでも落とし所というものはある。ただ、そういった読みやすさは人間へのもので、機械とそれを通して利用することになるユーザーに優しいとは言えないことが多い。これらすべてを満たす夢の書き方みたいなものは、特にフロントエンド開発においては、なかなか存在しない。

Gruntプラグイン: rsync-ac: rsync -aC --exclude-from=.rsyncignoreするだけのGruntプラグインをNode.jsパッケージにして、rsync-acという名前で公開しておいた。事実上sync: trueで同期モード(--delete)を有効にして転送先にしかないファイルを削除することとGruntfile.jsと同じディレクトリにある.rsyncignoreで除外ファイルを指定することしか出来ない。

loadTasks()を使ったGruntのタスク設定の管理: How to structure your Grunt tasksというloadTasks()を使ってGruntの設定を別ファイルに分割するアイディアについての記事を読んだ。「なんだまた変なプラグインか」という感じで読み始めたら、良い意味で裏切られた。

ロゴ@20140714: 全体的にスカスカにしたので、ロゴやアイコンもスカスカにした。ステム残したかったけど難しかったので、直線でスッキリした感じになった。

余白を割合で分割: 余白を特定の比率で分割したいなとちょっと考えていた。つまりmargin-leftとmargin-rightプロパティーの計算済みの値が3:2とかの比率で自動調節されるように、ということ。そのようなことをTwitterでちょっと書いたら、@o_tiがcalc()を使う方法を考えてくれた。

v6.57.0: カラム分けの比率をマイナーチェンジしてた。ヘッダーのコンパクト化とタグラインの真ん中寄せを組み合わせて調節したりも。見出しの横(や下)の飾り線とかも消したので、またほとんど飾りがなくなってきた。

Drawic v2.6.0: VimeoとInstagramのアイコンが必要になったので、Drawicに追加した。4つずつ追加しようと考えているので、何が良いかなと考えた末、よく使っているDropboxとIFTTTのアイコンを追加することにした。

興味の変遷: オンライン・ブックマークは興味を持っていたことの記録といえる。そして自分自身がその記録を閲覧することにおいてはだいたい良くできている。しかしそのソーシャル性や様々なUIパーツなどにより、他人に順を追って見せることには向いていないものでもある。見ている途中で他に気になることが出てきやすいし、またそういう風に横断的にアクセスされるよう作られているからだ。これは方向性が違うというだけの話なので、興味の変遷をざっと眺められるような形で提供するには別の形で表示する必要がある。

Gruntプラグイン: pubsubhubbub_publish: GoogleのPubSubHubbubハブへ指定したURLのフィードをpublishするだけのGruntプラグインを公開した。静的ウェブサイト生成ツールをGruntを通して実行している時などに、それらと組み合わせて使うもの。世界はPubSubHubbubってなんだったっけ……みたいな感じになってるような気がするけどそれはそれ。

git cleanを使ったGitHub Pagesの管理フロー: submodule (やsubtree)を使ったGitHub Pagesの管理フローは良いのだけど、もっと適当な感じでやりたいなと色々試している。要件としては生成に使ってる仕組みやログは非公開にしたいので、rebaseからpush -fのような変更を取り込んで更新する仕組みは使えない、というくらい。最新の実験ではclean -fでステージされてないファイルを削除できることを利用してやってみている。

Node.jsパッケージ: next-update: next-updateパッケージは、Node.jsパッケージが依存しているパッケージを一時的に最新バージョンに更新し、設定済みのテストを走らせるツール。これによりd(evD)ependenciesを上げても大丈夫かどうかをほぼ確実に確認できる。グローバルにインストールしてコマンドラインから利用する。

font-feature-settingsの罠: Chrome 35でfont-feature-settingsプロパティーで"kern" 1を使いカーニングを有効にしている時、text-overflowプロパティーでellipsisを指定しはみ出した文字を三点リーダーで省略しようとした場合に、追加される三点リーダーがコンテント・エリアをはみ出すバグがあることに気づいた。立て続けにfont-feature-settingsプロパティーでハマってキツい。

CSSのルールセットから重複する定義の削除: CSSWringに同じルールセット内で重複する定義(プロパティーとその値のセット)をルールセットから削除する機能をつけてる。最初、重複するプロパティーを問答無用で削除しようかと考えたんだけど、同じプロパティーを同じルールセット内でわざと使うことは結構あるのでダメそうだった。なので完全一致で削除するようにしようとしてる。

Gitのsubmoduleのログを親リポジトリから見る: submoduleの更新コミットをまじめに書くことはまず無いと思うけど、そうなるとsubmoduleのディレクトリまで移動しないとコミット・ログは見れない……と思ったら--submoduleオプションがちゃんとあった。コミット日時とかまでは見えないようだけど、大体の感じはつかめる。親にいる時に見たい場合は、どんな変更だったかちょっと思い出したいとかだけだと思うので、これで十分そう。

CSS圧縮ツールとCSSハック: 少し前にCSSWringにCSSハックを維持するオプションを付けた。デフォルトはオフで、必要ならばpreserveHacksをtrueにするという形で、CLIツールでも--preserve-hacksオプションで有効にするという形にした。これに対してデフォルトで有効であるべきじゃないかというイシューが立てられた。大体のことはそこで答えて、オフのままであるべきだと考えていると主張しておいたけど、もうちょっと書きたい。

Chromeでズーム設定をリセット: ローカルストレージがらみでChromeの設定を色々見ていたら、いつのまにか過去にズームしたことのあるページを一覧できるようになっていた。いつ頃からあるのかはわからないけど、まぁまぁ最近だと思う。デバッグとかで500%にしたまんまで忘れてるみたいなことがあり、忘れてた頃にズームさせっぱなしだったページを開いてびっくりすることがあるので、一括して参照して戻せるのは良さそう。

git-release.jsでのsubmoduleのサポート: 自分で作った、バージョンのインクリメントからコミット、タグ付け、最後にpushする(こともできる)git-release.jsが使い勝手良いので愛用してる。ただ.gitディレクトリがあることを前提としているので、このままではsubmoduleのディレクトリではリリースできなかった。そこをちゃんとするようにしたり、iniパッケージを使うようにしたりした。

Scoop: NYTimesで使われているScoopというCMSについての記事を読んだ。実際に動作しているものを触ったわけではないので、記事で取り上げられている良い所のみを見てだけど、コンテンツを管理できるCMSってあったんだと感じた。巷のCMSはコンテンツの表示はそこそこ管理できるけど、コンテンツの管理自体はまだまだなので、こういうコンテンツを作る過程にフォーカスが当たったCMSは珍しいと思う。インラインDIFFからその変更を許可・拒否できるとか触ってみたい。

Discretionary Ligaturesと日本語: Discretionary Ligaturesと呼ばれるOpenTypeの機能(Photoshopでは任意の合字と呼ばれているもの)を有効にすると、かっこよさげにstをつなげてくれるようになったりするフォントがあったりする。アイコン・フォントでもこれを使った実装になっていることもある。CSSではfont-feature-settings: "dlig" 1;とするとこの機能を有効にできるが、日本語の文章に使うと「ページ」が「㌻」になるというちょっと想像しづらい結果をもたらすことがあるようだ。

git subtree split --branch: リポジトリの取り込みにsubtreeを使い始めて、機能的には満足の行くものだと感じた。けれどもsubtree pushする時にどんどん遅くなっていく。これは全履歴をチェックし必要ならば履歴を作り直すからのようだ。subtree splitを使うと特定のコミットをブランチとして切り出せるので、これを使うと作り直しの起点となるコミットを前進させられる……と教えてもらったがダメだった。

RobotoのRKk: Robotoがバージョンアップして、字形がかなり変わった。僕は旧バージョンのRKkがどうしても好きになれなくて、結果Robotoを避けてきたが、新バージョンは好きになれそうなので使うようになりそう。

Bitbucketでの執筆: WEB+DB Press Vol.81の特集はBitbucketでプライベート・リポジトリを使って書いた。最初はメールで詰めて、書く段階になってBitbucketへ作業場を移すという形だった。Gitを使った執筆のメリットはそこかしこで色々と触れられているので、実際に体験してのネガティブな感想を少しだけ書く。

xml2jsでのルート・ノード: xml2jsはルート・ノードがらみが慣れないとよくわからない感じ。例えば普通にRSS 2.0のXMLを吐こうとすると、XMLへ変換するオブジェクトの方で属性を指定し、ルート・ノードの名前やXMLプロログはビルダー関数で指定する。と、コードが分断される。

Chrome 35でオンマウス時に画像がずれる: 久々にソーシャル・ネットワークのアイコン的なものを作ろうとしていた所、オンマウスで画像のコンテナのサイズが微妙に変わり、画像の位置が微妙にずれるという現象に遭遇した。どうやら%単位でpaddingプロパティーを指定すると起こるようだ。Chrome 35のバグっぽい。

フィードのマージ: このウェブサイト全体の更新情報を配信しているフィードに、ウェブログのフィードを混ぜるようにした。ローカルでウェブログを処理するようにした結果、混ぜる作業がそれほど面倒でもなくなったので、そうすることにした。特にこれといった理由があって分けるようにしていたわけではなく、混ぜるのが面倒だっただけだった。どっちでも好きな方をどうぞ。

Drawic v2.5.1: FOAFのアイコンを見かけて郷愁を感じたので、勢いでDrawicに追加した。他にSVGやCSS 3、HTML5のアイコンも追加してv2.5.0に。FOAFのような仕様は需要はあるんだろうけど、裏で機能するものなので、表側それぞれが囲い込む方へ囲い込む方へ動きやすい世界になってしまったため廃れたのかな。RDFがそもそもみたいなのもありそうだけども。

link要素の順序を後から変更する: ちょっとした事情があって干渉するルールを持つ二つのlink要素を状況によってスワップさせたいことがあった。どちらかのみを書いておいて条件に合わせて差し替えるのが普通のアプローチだと思うけど、先読みさせたかったのであらかじめ両方共読み込ませておいて、head要素内での順序を変えてカスケーディング順序を変えるという方法で行った。動的にlink要素の順序を変更すると、カスケーディングの順序に影響を与えるようだ。

WEB+DB Press Vol.81 イマドキHTML/CSS開発: 6月24日発売のWEB+DB Press Vol.81にて「イマドキHTML/CSS開発」というタイトルで特集を執筆した。特集では機器や周辺技術の変化と進化がもたらす多様性に、今までのような現状の機器への逐次対応という視点ではなく、未来のそれらを見据えた形で相対するにあたっての考え方や実装方法を解説している。具体的には検証可能な「コンポーネント」という単位をどう作り、それをどう扱うか、だ。

rsyncをGit for Windowsに混ぜる: Windowsでrsyncをインストールする方法はいくつかあって、一番簡単なのはmingw-getでパッケージとして導入する方法。またはrsyncは諦めてChococaltely経由でcwRsyncパッケージをインストールするのが簡単。両者ともrsyncのためだけに入れるには大仰なので、既に導入されているGit for WindowsにMinGWパッケージと手作業で混ぜてインストールするのも悪くない。

git subtreeの練習: Gitのサブモジュールでは面倒そうな、頻繁に更新される別のリポジトリを取り込む方法としてサブツリーマージを行うラッパーであるgit subtreeコマンドを使う練習を始めた。どちらかというと「参照する」要素の強いサブモジュールに対して、サブツリーは「切り分ける」や「取り込む」という感じなんじゃないかと理解している。全般的に間違ってそうで怖い。

Node.jsのfs.readFile(Sync)()の第二引数: Node.jsのfs.readFile()の第二引数はオブジェクトに変更され、文字列指定によるエンコード指定は削除されたと思っていた。しかし、第二引数が文字列になっているコードをたてつづけに見る機会があったので、文字列を渡した場合にencodingへセットしてくれる機能がそのまま残っていることがちゃんと調べたらわかった。

匂いか臭いか: いつも買っていたネピアのトイレットペーパーがリニューアルして香り付きになっていた。石けんの香り。香り付きの柔らかいやつか無香だけど硬い紙のどうにもならない二択になりつつある気がする。あ、ダブル派。

UnUTM v0.1.0: URLのutm_*パラメーターのみを削除してreplaceState()するだけのスクリプトを、UnUTMという名前でBower化してv0.1.0とした。引き続きこのウェブサイトでも稼働中。

Vimのrenderoptionsオプション: 最近のKaoriYa版のWindows向けgVimではどうやらrenderoptionsオプションを適切に設定すると、DirectWriteを使った描画に切り替えられるようだ。一年ほど前からパッチとして含められるようになっていたらしい。

CSS MQPacker v0.1.2: メディアクエリの順番が崩れることがあるバグを修正して、CSS MQPackerのv0.1.2をリリースした。CSSは順序に依存するものなので、やっぱり書いたままの順を維持した方が良いのかな……などと、このツールの根本を否定するような考えが頭をよぎった。

リソースの局所集中: リソースを分散することが冗長化や簡潔化には必要なのだけど、ウェブサイトのような個人レベルのプロジェクトではそれほどプライオリティが高いわけではない。狭く簡単な意味での移植性(フォルダコピーや簡単なコマンドで他の環境に移動できるか)などに焦点を当てた方が良いかなと前から考えている。このウェブサイトではWebフォントを自前でホスティングするようにしたり、静的なHTMLをポータブルに構築できるような仕組みにしたりなどしてある程度完了した。

validate-html.js: W3CがホスティングしているNu Markup Checkerを使ってローカルのHTMLファイルをバリデーションにかけるNode.jsスクリプトを書き直していた。だいたい大丈夫そう。Gruntタスク……はやろうとすると遅すぎて死ぬのでやめよう。

MiniCap: いわゆるスクリーンショットを撮るアプリケーションであるMiniCapは、コマンドラインであらゆる設定を指定することができる。今まではWinShotを愛用していたのだけど、落ちたり、裏にまわっちゃったりすることがたまに起こるようになったので、代わりを探していてこれに落ち着いた。

vim-css3-syntax v0.12.0: Media Queriesのサポートを切り、同時にCSS Conditional Rulesをまともにして、vim-css3-syntaxをv0.12.0に更新した。Conditional Rulesは@supportsのアレ。

テーマとプラグインをリポジトリへ追加: ローカルで動かすようにして環境もスッキリできたので、テーマとプラグインもウェブログのリポジトリに置くようにした。

CLIプログラム向けGruntプラグイン: grunt-blosxomのように、なんらかのCLIプログラムを叩くだけのGruntプラグインを書く場合、いわゆるGruntプラグイン的な設定にならないように書いた方がわかりやすいかなと思う。普通のプラグインのようにsrcやfilesを使って設定するように書こうとすると、Gruntの作法にCLIプログラムの挙動を合わせるようにプラグインを書かなくてはならなくて面倒くさい。

入力フォームのラベルをフワッと浮かせるパターンの別解: Float Label Patternはかっこよくて、単にラベルをプレースホルダーにするよりはマシなので使いたくなる。しかしラベルとプレースホルダーは別に提供してやりたい。機能も違うものなので、その方がきっと良いはずだ。そこで別解として、ラベルが斜めに動くものを考えた。もちろんCSSのみで実装している。

Paletton: Color Scheme Designerの後継と思われるPalettonのベータテストが始まっていた。機能としてはほとんど変わらないが、デフォルトで生成されるバリエーションが少し変わっている。プレビューは補色の配置が点対称に置かれるようになり、他に上記スクリーンショットのような丸いものやピエト・モンドリアンの赤・青・黄のコンポジションのようなデザインのものなど色々増えた。

Blosxom用Gruntプラグイン: 前にちょっと書いたけどBlosxomの動的生成インターフェイスをGruntから叩き、その結果を指定ディレクトリに保存するだけのGruntプラグインを書いて使ってる。汎用性はあんまり考えてないけど、Blosxom側が優秀なのでそれなりにあるような気がする。本体の書き換えが不要で、特殊なプラグインを必要とせず、動的生成向けのプラグインたちが普通に動くといった辺りが、ビルトインの静的生成システムと比べた利点。

CSSのSource Map: Source Mapは、JavaScriptやCSSをモニョモニョしてなんかするツールのすべてでサポートされていないと、その恩恵は受け切れない。しかしその一方でSource Mapはエンドユーザーに必要なものではないので、開発上必要になるわけではない単純な空白削除等を行うツール程度では生成する意味は無いとも言える。破壊的な、例えばCSSだとCSSプリプロセッサーだけにあれば良いとも言える。

GitHubの初期デフォルト・ブランチ: GitHubで空のリポジトリを作成した場合、とにかく最初にpushしたブランチがデフォルトのブランチになってくれるようだ。masterブランチをpushしたらもちろんmasterブランチが、testブランチをpushしたらtestブランチが、そしてgh-pagesブランチをpushしたらgh-pagesブランチがデフォルトになるので、masterブランチがないリポジトリをいきなり作れる。あとでリポジトリごとの設定から切り替えたり、不要なmasterブランチを削除したりする必要がないので、GitHub Pagesのみのリポジトリを作る時に様々な作業を省略できる。

CSSWring v0.2.0: CSSWringにプル・リクエストを貰ったCSSハックを残す機能を追加してv0.2.0にした。しばらく前からこのウェブサイトでも使うようにして、Source Mapも吐いて辿れるようにしてみたりとか、色々試してる。問題なさそうな気がする。

書き続けること: 昨年の5/27の記事でウェブログ復帰して以来、どうやらほぼ毎日書いたようだ。飛んでる日付では前日に二記事書いてる。誰も褒めてくれないので自分で褒めておこう。

::first-letter以外を隠す: ちょっとした目的があって、文章(や単語)の最初の一文字だけ残してあとは隠すみたいなことをやりたかった。::first-letter擬似要素では特定のプロパティーしか利用できないので、::before擬似要素を使った画像置換のような手法では行えない。ちょっと悩んだけどmargin-rightプロパティーが使えたのでそれで残りを弾き出してやるという方法に落ち着いた。

.htaccessを使ったGoogle Fontsプロキシ: 昨日の記事で書いたように、大量のHTMLファイルのlink要素をメンテナンスするのは無理がある。自前でのホスティングはひとつの解であるわけだけど、.htaccessを使ってプロキシ的なURLを経由させると、Google Fontsを利用しつつメンテナンス性を上げることもできそう。

Google Fontsとの決別: お世話になったGoogle Fontsをやめて自前でWOFFファイルをホスティングするように変えた。本当は3.1になってきれいなページも出来たFira Sansにしようかなと思ってたんだけど、微妙におかしな感じ(意図しないスクロールバー出現の原因になったりした)があったのでSource Sans Proのまま。

グローバル・ヘッダーをページ内リンクを利用して隠す: (主にモバイル機器の)限られた画面領域を利用するためには様々な手法が考えられている。ハンバーガー・アイコンを使ったグローバル・ヘッダーはその最たるもので、ウェブサイトでも採用するところが増えてきた。なぜ普通のグローバル・ヘッダーではダメなのかと言えば、ページを開いた時にグローバル・ヘッダーの大きさが邪魔になって、コンテンツが見えなくなってしまいやすいことが挙げられるだろう。Ian Coyleというウェブサイトではそれをページ内リンクを利用してうまく解決していた。

飛び出す要素をセンタリング: 一年くらい前からtop/right/bottom/leftプロパティーを使った水平・垂直センタリングをよく使うようになった。margin: 0 autoによる水平センタリングと同じように、理解できればわかりやすい手法なので気に入っている。ただrelativeを組み合わせたものと違って、センタリングしたい要素が親要素を飛び出す大きさの場合、左上が揃うように配置されるのがちょっと気になる。センタリングしたい要素の中央と親要素の中央とを合わせたい。

黒蜥蜴: 10年ぶりくらいに江戸川乱歩を読み返している。名作は色々あるし、「えっ?」みたいな後味の悪い作品もあったりして楽しい。でもやっぱり黒蜥蜴なのかなと思う。

RawGitを利用したレスポンシブ・コード: 以前に書いたレスポンシブ・コードは、取り込みたいコードを同じドメイン配下に置いておく必要があった。多くの場合、そういった断片のコードはGistなりに置いたものを取り込みたいはずなので、その点でかなりイマイチなものだった。先ごろ知ったCodeGrabberというコード貼り付けライブラリでは、RawGitのCDN版がAccess-Control-Origin: *なことを利用してドメイン越えをしていた。レスポンシブ・コードでもこれを利用すると良さそうだ。

HTML Form Elements: Chrome 35でまた少しフォーム要素の見た目が変わった。そういうのをさっと確認できるようにHTML Form Elementsという標準仕様にあるフォーム要素を羅列したページを作った。

タクシーとパトカー: 当たり前だが、タクシーとパトカーは違うものだ。「タクシーに乗った」と「パトカーに乗った」ではまったく意味合いが変わってくる。しかし、この二つの区別が非常につけにくい文章になる場合がある。それはユニコード絵文字を使った場合だ。

$ rm blosxom.cgi: サーバー上からBlosxomのCGIスクリプトを消して、Gruntを使ってローカルで動かしてrsync (かscp)するように変えた。Blosxomは捨ててない。でもトップページの出力などいくつかの機能をGrunt側に持たせてしまったので、そのうち全部Gruntでやっちゃいそう……。

CSSで卵形と星形に切り抜く: CSSグラデーションを使った画像切り抜きの続編。卵形と星形では六角形みたいな三角形で端をカットすれば切り抜ける形と違ってもうちょっと工夫が必要になる。その工夫というのはbackground-sizeプロパティーでのサイズの制限。

CSSで画像を六角形にくり抜く: Swarmで使われている六角形のプロフィール画像はちょっと流行りそう。CSSだけで行えるように考えておくとなんかの時に役に立つはず。難しく考えずに擬似要素で三角形を作るテクニックを反転させて重ねるだけでも良かったけど、CSSグラデーションで重ねた方がフレキシブルに作れた。

CSSのローディング・アイコンのコスト: 今までは主にアニメーションGIFで作られていたローディング・アイコンをCSSアニメーションで作るみたいなのが流行っている。面白いとは思うし、ちゃんと作ればスケーラブルなので便利そうでもある。けれどもローディング・アイコンを表示するための空要素が必要になり、かつ後にそれを消さなくてはならない。CSSだけだと面倒くさそうだ。

Theが付くユーザー: リニューアルしてMediumっぽい感じになったThe Usability PostのThe Userという記事を読んだ。自身のプロダクトのユーザーの傾向をカテゴライズして決めつけたりすることは良くないというように読める。人はとにかくカテゴライズしてラベルを貼るのが好きで、そうしたいので、気をつけたい。

Twitterのプロフィール画像のURL: Twitterのプロフィール画像のURLはもはや認証の必要なAPIでしか取得できないのかと思っていたのだけど、ちょっと探したら固定で参照できるURLを見つけた。認証なしで任意のURLのツイート数を取得できるcount.jsonとかと同じで非公開の可能性が高い。

word-break: break-all: 英単語の間であっても自動改行されるように、word-breakプロパティーでbreak-allを採用しているウェブサイトが地味に増えているような印象だ。コスメティックな理由で見出しやサムネイルの付記などに使うのは悪くない妥協だと思うが、本文にもわりと気軽に使われていてかなり気になる。

背景画像をtransitionさせ続ける: JavaScriptで背景画像を動かすだけで怒られる。CSSでやればJavaScriptを無効にされても動かせるので、もっと怒られるのかもしれない。いちいちCSSアニメーションを書くのは面倒なので、transitionプロパティーを使ってインスタントに動かせるような工夫を考えた。

Vimmers 2: 手が空いた時にやってた作業が一段落したので、ペライチというかHTMLとCSSとJavaScriptを普通に書きたくなった。ので、vim-jp.orgにあったVimユーザーの一覧ページのカラフルな奴を作った。カラフル。

The Icon Handbook: Five Simple Steps復活記念ということで何回か欲しいなと思ってたThe Icon Handbookを買った。まだ文章は全然読んでないんだけど、絵だけで思った以上に楽しくて、実本ほしい感じがしてきた……。

Drawic v2.4.0: DrawicにPinboardのアイコンを加えるついでに忘れていたInkscapeのアイコンを追加した。Dribbbleはついで。チェックマークはユニコードで代用効きそうだけど、シャープが保証されてそうなやつない気がするので作っておいた。

グッバイDelicious、ハローPinboard!: 5回くらい上げかけてやめた重い腰を今度こそ上げてPinboardを使い始めた。かなり前にアカウント作ろうとして払ってなかったけど、PayPalで今の金額($10.37だった)を払ってメールしたらちゃんと有効化された。一回支払い確認できなかったみたいで無効化されたけど、再度有効化されたのでもう大丈夫っぽい。

URLとカレー: Chrome 36でURLバーでドメイン以外がすべて隠される機能が試験的に実装されたことをうけて「URLは死んだ! Googleが殺した!」的な記事がいくつも書かれている。この機能の是非やそのセキュリティについてはおおいに考えるべきだし、書かれるべきだけど、それと共にURLが死んだとか殺されたとか書くのは行き過ぎだと思う。これは主にブラウザーのUIにおける問題で、そのコンテキストで議論されるべきだ。

ブラウザーの拡張とユーザーのプライバシー: さすがにここのところはあからさまにユーザーのプライバシーを侵害するようなブラウザーの拡張は少ないような気もする。この記事で話題にしたいのは、ある拡張のユーザーであることをあるウェブページの制作者が容易に知ることができてしまうようなケースの話だ。具体的にはウェブページに特徴的な要素や属性を仕込む拡張ということになる。

SVGのリサイズにおける端: SVGはフレキシブルにリサイズされるけど、実装依存なので細かい部分では想定通りいかないことがある。例えばそのエッジ。キャンバスとちょうど同じ大きさのrect要素をリサイズすると、実装とサイズによっては端がぼやける。SVG側でどうにかできるので、なんとかしてやると良い。

等幅のGoogle Fontsが検索可能に: Google Fontsに等幅のフォントのみで絞り込む機能が追加された。待望な気がする。この勢いでSlab Serifとかも検索させて欲しい。

ドットと線のグリッド: PhotoshopやInkscapeではキャンバスにグリッドが設定できて、それにスナップさせたりとか目安にしたりとかいろいろ活用できる。ないと死ぬ。そのグリッドはだいたいドットか線の二種類から選択できるようになっている。現実世界でも例えばRHODIAはドットと線を両方出していたりする。ざっと描くにはドットが向いてて、きっちり描くには線が向いているのかなと最近考えるようになった。

Drawic v2.3.1: Drawicにメディアプレーヤーのコントロール系のアイコンを追加してv2.3.0にした。再生や早戻しはユニコードにグリフあるような感じだけど、統一されてなさそうなあたりなので不安な感じする。シャッフルはないことだし、難しくもないので作っておいた。

Gliffy: SVGでエクスポートできる簡単なフローチャート作成ソフトウェアを探していて、オンラインで動き、操作性も良かったGliffyを使ってみている。テンプレートに用意されているフローチャートや組織図は快適に描けた。

パンツなしで寝てる: ここ1週間ほどパンツなしで寝てる。寝る時快適とかそういう理由じゃなくて、朝に新しいパンツをはくのが良いかなとか考えたので。朝が快適なのはすごく良い。まだ慣れなくて「あっ、おもらしした!」とか思って何回か起きた。してないけど。

効率化と均質化: 世の様々なツールは様々な作業を自動化して実行してくれるものだ。自動化の目的は効率化と均質化に分かれる。前者がとにかく素早く作業を終えることを目的としているのに対し、後者は誰が使っても同じ結果で作業が終わることを目的としていると言い換えても良い。

vim-css3-syntax v0.11.0: vim-css3-syntaxをv0.11.0にした。新たに追加したのは、文章の縦方向のリズムを簡単に制御できるようにするLine Gridモジュール、Web ComponentsへとつながることになるScopingモジュール、後にウニョウニョ動かすのでハードウェア・アクセラレーション有効にしてとかリフロー起こるかもみたいなのをブラウザーに教えるWill Changeモジュールの3種。

ConsoleZ: 開発の止まったConsole2の後継っぽいConsoleZを試している。シェルでずっと作業するわけじゃないのでckw-modで不満はなくて、Console2には乗り換える意味はなさそうだったんだけど、ConsoleZではウィンドウの再利用が行え、他のアプリケーションから新しいタブを開くということが可能になったのでちょっと良い。

Drawic v2.2.0: Drawicにフォント設定・gulp.js・更新・共有のアイコンを追加してv2.2.0にした。ついでにお気に入りの星をちょっと太らせた。ほんのちょっとだけど。

印刷時の幅を制限する: 印刷時には幅制限を解除して、用紙いっぱいに文字が並ぶようにしていた。しかしこのウェブサイトでも採用している45から75文字のルールはそもそも紙媒体での話だし、レスポンシブ・ウェブ・デザインの観点からもディスプレイと紙で折り返し幅を合わせた方が一貫性がありそう。ということでと同じ幅で折り返すように変えた。

ノイズありテクスチャをSVGで: PNGのようなビットマップ形式の方が向くサブトなんとかなノイズ付きのスキューなんとかなテクスチャを、SVGのfilter要素でfractalNoiseを利用して生成する試み。SVGだからというか、filterで生成する形なのでスケーラブル、ノイズの分布が平均的なのでおおまかにリピータブルにもなる。上記画像もSVGなのでそのソース見るとわかる。

History APIとbase要素: base要素のhref要素で別のドメインのページを指し、リソースの基準となるURLを変更すると、History APIを使った履歴操作が行えなくなる。Same Origin Policyに引っかかって、セキュリティ・エラーが吐かれるようだ。

書く時: ウェブログが再評価されていることの表れか、書くことについて書かれた記事を読む機会が増えた。そのひとつの「ブログの記事書くときに気をつけていること」を読んで、僕もいくつかあるなーとか考えていた。「消さない」以外だと大きいところで3つのルールがある。

印刷向けスタイルシートの非同期読み込み: 印刷向けスタイルシートを分ける理由は、スクリーン向けスタイルシートをできうる限り小さくし、ウェブページのレンダリング開始をできるかぎり早めることにある。別にしたことによるHTTPリクエストの増加は問題ではあるが、それそのものではなく、増えたHTTPリクエストがレンダリングやロード時間を含めたユーザー体感速度を遅くしてしまうことが問題であると言える。そのためロード完了後に裏でこっそり印刷向けスタイルシートを読むというLazy Load的なアプローチが良いのかもしれない。

link要素へのhidden属性: link要素へhidden属性を指定してやり、それのトグルで特定のCSSファイルに書かれたルール群の有効・無効を切り替えられるかなと考えた。まずhidden属性でCSSが無効になる必要があるので調べた所、無効にならなかった……。仮定で挫折。

media=printとHTTPリクエスト: スクリーン向けスタイルシートと印刷向けスタイルシートを分けるように戻そうかと考えてた。過去ログ検索すると何度か切り替えてることがわかる。最近印刷向けとかに注意を向けてなかったので忘れてたけど、media=printとしてもHTTPリクエストは常に書いたところで走る。ので、別ファイルにするとHTTPリクエストがほぼ無駄な形で増えてしまう。

Fragmentions: FragmentionsというChrome拡張がある。URLに##link-to-somethingと2個の#に続けて任意の言葉を指定すると、URLのコンテンツ内にあるその言葉へリンクを張れる。コンテンツ提供者が特別なマークアップを行わないでもページ内リンクが実現できるというわけ。Adactioの同名の記事で知った。

GFMの見出しリンク: GitHubではREADME.mdのレンダリングにはGitHub Flavored Markdownが使われている。その基本はRedcarpetみたいなんだけど、見出しリンクがなんか違う気がするなーと思った。特に半角記号の辺り。GitHubカンニング・ペーパーのToCを作ろうとした時に色々面倒だった。

消費増税後、入手難易度が上がったもの: 今までは容易に入手できていたものが、値上げや定期的な安売りがなくなったり、扱いがなくなったりと入手難易度が上がってる気がする。しばらく前の値上げの影響もあるのか、乳製品で顕著な気がする。

display: noneとレスポンシブ・ウェブ・デザイン: レスポンシブ・ウェブ・デザインとその設計を語る時にdisplay: noneが引き合いに出されることが多いなと感じる。その多用は設計ミスというような具合だ。そういうところは確かになくはないが、多用自体はCSSの貧弱さからくるHTMLの複雑さを意味するだけなのではないかと思う。

PGA 液晶保護ガラス PG-PSI5SGC: 液晶保護ガラスを初めて買った。どれが良いのか良くわからなかったので、ビックカメラにあったPGAのPG-PSI5SGCというやつにして、貼ってもらった。2480円に作業代500円だった。

書いてるよ: 毎日ガシガシ文章を書いている。大抵はエディタに向かって書いてるわけだけど、たまに思い出したように余ってるルーズリーフの紙に書いてみたりもしてる。技術寄りの文章を紙に手書きで書くと、なんかすごく恥ずかしい感じで後頭部がカーッと熱くなってくる。逆にエディタで日常の感想的なことを書いてると、指がブルブル震えてくる。

GitHubカンニング・ペーパー: GitHubとGitの隠されたまたはあまり知られていない機能についてコンパクトにまとめられたGitHub Cheat Sheetの日本語訳を作った。訳すことそのものよりも、訳すくらいちゃんと読めば覚えられるかなと思って訳してた。だいたい覚えられた気がする。ブランチ比較ビューで何日前とかで比較できるのは知らなかったな。

CSSWring: CSSの圧縮を行うCLIツール兼モジュール、CSSWringをPostCSSを使って書いた。PostCSSの内蔵機能+正規表現でゴリ押しみたいな感じなので、テストあるけど不安しか無い……。CLIに至ってはテスト書いてない。意義的にはPostCSSを使った最適化の一角を担える圧縮ツールというもの。CLIの方は少し前にちょっと書いたminimistを使ってる。

@ビリングにおける請求額の不一致: 重い腰を上げてペーパーレス化を推進するためにNTT東日本の@ビリングに申し込んだ。申し込みと適用自体はスムーズに行なえ、電話回線の基本料金からの110円の割引も行われていた。問題ない……と思いきや、請求額と引き落とし額が一致しない。どうやらフレッツ光のプロバイダパックを利用している場合、そのプロバイダ料金は請求額として計上されないようだ。

FeedlyのMark all as read: Feedlyを使ってる時の懸案事項のひとつだったMark all as readすると読んでいる間に追加された未読も既読になってしまう仕様が、ここ最近の更新で変更され未読のまま残ってくれるようになった気がする。そうであって当然とも言えるものだけど、長い間放置されていたのでもう変わることはないと思ってたため良かった。ちゃんと問題視してたんだなぁ。

勢い余って中クリックも殺す: リンクのクリックやタップをフックしてリンク先URLをすり替えることにより、ユーザーを追跡しようという試み他を行っているウェブサイトは多い。Googleの検索結果などもそうだ。ユーザー追跡の是非はともかく、よく出来ていないウェブサイトでは中クリックやロング・タップを考慮しておらず、ユーザーが期待する動作をしてくれないことがある。

SpaceSniffer: あまり余裕のないSSDを使っている場合、フォルダがディスクをどれくらい消費しているかを解析して表示してくれるツールがあると、どれを消すと良いかわかりやすくてちょっと助かる。ゲームとかそのMODとかゲームとか。SpaceSnifferはそういう解析をスクリーンショットのようにグラフィカルに表示してくれるソフトウェア。今まではTreeSizeの無料版を使っていたんだけど、立て続けに2回ほどクラッシュしたので代わりになりそうなものを探していて、これに行き着いた。

ウェブマスター ツールでのSitemapのエラー: ウェブマスター ツールではSitemapのエラーを様々な点で教えてくれる。またメッセージ機能によりウェブサイトの様々なエラーを教えてくれ、それは同時にメールでも受け取れる。しかしSitemapでのエラーはメッセージ機能で教えてくれないことを今さら知った。

図表のあったらいいな: 世の図表がすべてこうだったらなという要望を4つ挙げた記事を読んだ。図表で教えたいことじゃなくて、図表からユーザーが知りたいことに焦点を当てると良いのではないかという感じ。真っ当な意見だけどウェブの外側では広く受け入れられることはなさそう。折れ線グラフで未完成のデータへはまだ線を引かないみたいなのは気にしたことなかったので、これからは気をつけたい。

腹痛: おとといの3/4くらい腹痛だった。腹痛だとなにもできない。寝ることすらも難しい。腹をちょっとカパッと開いて素手で胃や腸をさすりたくなる。朝淹れたコーヒーが濃すぎた気がする。印象悪いのでこの粉は二度と買わない。

Body/Head - Coming Apart: Sonic Youth後のKim GordonのプロジェクトであるBody/Headのアルバム、Coming Apartを聞き始めた。Sonic Youthの音から色々欠落した感じが、昔の変なアルバム思い出せて楽しい。Julia CafritzとやってるFree Kittenも好きだったので、そっちの新しいのも出してくれないかなとか思ってたけど、これはこれで良い。

Drawic v2.1.0: Drawicに設定、プロフィール、Wi-Fiとグラフのアイコンを追加してv2.1.0にした。必要だったのは設定とプロフィールのアイコンだけだったんだけど、キリが良い40個になるようにグラフとWi-Fiのアイコンも追加した。

autocomplete=offと人の主体性: 少し前に「autocomplete=offするのやめて、ブラウザーのパスワード管理を使わせて欲しい」という記事を読んだ。autocomplete=offはブラウザー内蔵のパスワード管理機能を壊すことが多いので、結果として覚えやすいとか使い回しのパスワードにしたくなってしまうみたいな悪循環を引き起こすんじゃないかなどという様に読めた。僕はもう長いことブラウザーの管理機能使ってないので、autocomplete=offそのものについてはどっちでも良いやという感じではあるけど、それでもちょっと考えるところはある。

複数の背景画像とCSSグラデーション: 伊勢丹の新しいタータンのような矩形模様の繰り返しに過ぎないものは、多数の背景画像を気軽に扱える時代になったので、CSSグラデーションで簡単に作ることができる時代になった。最近あまりCSSグラデーションを書いてなかったので、今時のグラデーション文法の復習も兼ねて作った。

パーマリンクに特別なCSSを追加: Blosxomで記事ごとに専用のCSSを当てる方法を考えていた。last()でrel="stylesheet"を削除してCSSの参照を追加するだけのプラグインを作るのも良いけど、やることのわりにコストが高い。単純にmetaプラグインとinterpolate_fancyプラグインを組み合わせて実現するのが手っ取り早そう。

中国新聞のデジタルコース: 毎年恒例のカープ関連のニュースのPipesを修正してた。今年は中国新聞のウェブサイトが大幅に改修されていて、HTML5化してたりとか右クリック禁止してたりとか変更があった。右クリック禁止……はおいておいて、各記事の全文が有料会員限定のコンテンツになったという大きな変更もあった。カープ関連の記事など一部記事の全文を読むにはデジタルコースの契約をする必要がある。

普通を超えたもの: Super Normalという記事を読んだ。深澤直人。自分としてはSuper Normalを達成したつもりでも、実際は他の欠点が浮上したり(木の取っ手によりミニマルな外見が失われる)、改善点がうまく伝わらなかったり(冷たい水を大量に扱う機会がない)する。これは問題の軽視やプレゼンテーション能力の不足による失敗というわけでもないのが難しいところ。

アクティブなナビゲーション項目とmark要素: アクティブなナビゲーション項目、つまり現在のページへのナビゲーション項目はclass属性を使ってactiveなどと付けられることが多い。特に間違ってはいないんだけど、いまいちピンとこない。というかしっくりこない。大体は流されてそうしているけど、このウェブサイトではmark要素を使ってる。

Anker Astro Mini (シルバー): モバイルバッテリーなるものを初めて買った。そこそこ安価でゴテゴテしてなかったスティック型のAnker Astro Miniのシルバーにした。同じAnkerのでかい容量のやつでも大は小を兼ねそうで良かったんだけど、持ち運びに便利な小ささを優先した。これでも3000mAhあるので十分そう。1500円だった。

npmのd*ependenciesでの~と^: npmではv1.4.3からデフォルトでは^を使ったバージョン指定でインストールした依存パッケージをpackage.jsonへ保存するようになった。後方互換性が確保されているはずなので、マイナーまでは無言で更新して良いということなのだろう。ただ、他からプラグイン的に利用されることを(も)想定しているNode.jsパッケージでは~の方が良いのかもしれないと思った。

初心者のことを考えよう: Translation of: Think of the Beginners

今は書けないけど: 「今は書けない」としてしまうと、書けるようになった時にも書かない。単にそのテーマについて飽きてたりとか、書けるようになった時には意味が薄くなってたり、別の似たようなものに惹かれていたりとか。飽きはともかく、意味が薄くなった時や別のものに惹かれている時にもなんでそうなったのかとかで書けるはずなんだけど、一旦スイッチをオフにすると書けなくなってしまう。せめて下書きだけでもしとくと良いのかなと、最近は下書きをするようにしてる。

リンクの下線の再発明: 少し前までは「リンクの下線を消すな、いやでも消したい」みたいなことしか話題にならなかったのに時代は変わったなどということをMediumのためのリンクの下線の再発明といった趣向の記事を読んで思った。僕も以前これと似たような方法(後述)でリンクの下線の再実装を行ったことがあるので、楽しく読んだ。この辺りの制御を行うCSSプロパティー達の実装が後回しにされてる現状は悲しい。

あまくないのむヨーグルト: 小岩井乳業のあまくないのむヨーグルトを求めてさまよっていた。元々飲むヨーグルトは好きだったので、甘いのでも良いから朝は飲むヨーグルトにしようかなと考えていた。ブルガリアの甘いやつを飲みつつ、なるべく無糖のがあれば良いなとインターネットで探して見つけたこれを探したけどあんまり置いてない。最終的には駅前デパートの食品売り場でたまに128円で売っているのを発見した。

ルビと行間: ルビありの文章を作っていて、ルビのある行とない行で行間がずれるのを防ぐにはどうしようかと考えていた。どうもInternet ExplorerとChrome共にrtの表示はCSSで制御できないみたい。それならと論理的な計算で行間を確保すればいけるかと思ったけれども、それもダメそう。アバウトにline-height: 2という結論は出たけれども……。

iOSのWi-Fi同期を直す: PC側のiTunesやiPhone側のiOSを更新する時にUSBでiPhoneをつないだ後、Wi-Fi同期がうまくいかなくなることがある。そもそもWi-Fiで見つからないとかそういうこともあるけど、多くの場合は一瞬見つかるけど同期がうまくいかない。5時間くらい検索や格闘して、どうやら原因はiTunesのイジェクト・ボタンを押さずにUSBケーブルを抜いてしまうとおかしくなるんじゃないかという結論にとりあえず落ち着いた。話半分。

頭の固いウェブ専門家: 初心者が犯しがちなウェブデザインの間違いという記事を読んだ。だいたいその通りで間違ってはないんだけど、こういった積み重ねた知識や記憶は、動きが速いウェブの世界では重石にもなる。あまり先入観を持たないように、頭の硬いウェブ専門家にならないように、することもまた大事だ。

アプリの設定への導線: アプリの、特にソーシャル・アプリでは、その設定へのアクセス方法はある程度集約されているように感じた。Twitterアプリのようにプロフィールにあるか、Facebookアプリのようにグローバル・メニューに組み込まれているかのどちらかだ。

細字とWindows Chrome 33: WindowsのChromeでは未だGDIを使っている関係で、それほど良くもないInternet ExplorerやWindowsのFirefoxよりも更にかなり文字のレンダリング結果が落ちる。普通のウェイトの場合は「汚い」程度で済むのだけど、細字(Light)になると「読めない」になる程に致命的だと感じる。

HTML5ビルドツール、Brunch: Gruntはなんとなくわかったような気がするし、gulp.jsは注目度が高く誰かがもっと細かく色々解説してくれそうな気がするので、Brunchについて調べている。ちょっとビルド寄りで、Webアプリの環境整備とデプロイという出入口のサポートツールというと近そう。

Vimeoアプリの日本語iOSへのインストール: VimeoのiOSアプリはJoinを押すとクラッシュする。日本人による低評価なレビューを見る限りメジャーな問題っぽいんだけど、英語のレビューでは同様なレビューがまったくない。どうやらこれは日本語になってるiOSのみで起こる現象らしい。なので、インストール後一旦言語設定をEnglishにするとうまくJoinできる。その後、日本語に戻してもそのままうまく動いてくれる(ている)。

alfi アルベルゴ 1.5L: 長く使っていたサーモスの保温ポットの口がちゃんと閉まらなくなってきて、保温性能が落ちてきた感じがするので、alfiというところのポットを買った。年末に9000円くらいで見てそのうち買おうと思っていたんだけど、年明けたら11000円くらいになってた。それが8600円くらいに下がったので買った。Amazonに翻弄されてる。

インデントや暗い背景のpre: 巷ではpre要素はインデントされてたり、暗い背景になっていたりすることが多い。前後の段落と明確に区切りをつけ、ここは普通の文章ではないと示したいとか、単にエディタを模しただけとか、理由は様々。インデントは引用(blockquote要素)とかぶるし、暗い背景だと目立ちすぎるので、僕はどちらも余り好きじゃない。

ニッコリ笑ってFeedbinが一周年: Feedbinの開発者が1年やってきての記事を読んだ。最初の成功から、専用サーバーでスケーリングさせた話、デザインの変遷までがコンパクトにまとまっている。今、こんな見た目なんだ。

CSSプリプロセッサーの必要性: やはりSassは必要だと考えている。あるいはLESSでもStylusでも良い。それはCSS Variablesの実装が落ち着き、行き渡っても、だ。もちろんその時にはCSSプリプロセッサーの変数を使わずに、CSS Variablesを使って書いた方が良いけれども。

minimist: Node.jsでCLIツールを作る時に使えるコマンドライン・オプションのパーサーとしてminimistをよく使うようになった。なかなかの好感触。同様のものとしてoptimistやその後継のyargsが有名で、しっかりと作るならそっちの方がよく出来ているけど、数個のオプションの切り替えと余りの抽出くらいならminimistの方が楽。

Sassの変数スコープと!global: Sassの変数スコープの仕様では、ローカル・コンテキストからグローバル変数を上書きできていた。LESSでは多くのプログラミング言語と一緒で上書きはできないという素直な仕様になっている。Sass 3.3では上書きしようとすると警告が出るようになり、!globalフラグを使い明示的に上書きしていることを教える必要があるようになった。将来的には仕様が変更され、警告なしでLESSと同じ挙動になるようだ。

Blo(g)crastination: Blo(g)crastinationという記事を読んだ。書かない理由を色々持ちだしてブログの記事を書き始めるのにグズグズすること(procrastination)はあるけど、特に注目されることを意識せずに短く簡単な記事をちょくちょく書くのも良いんじゃないかとかそんな感じ。

Buffaloの箱型USBハブ: 使っていたUSBハブのコネクタが調子悪くなったので、USBメモリをサクッと挿せることを条件にしてBuffaloのBSH5U04WHという箱型USBハブにした。ちょっとしたケーブルの取り回しにも使えるかなという見通しは残念ながら甘すぎた。側面のロゴが死ぬほどダサい以外は、蓋がきっちり閉まる割に外しやすいし、白もテカテカしてなくて良かった。どうも在庫限りの終息品っぽく1200から1500円くらいで売ってたりもする。

v6.53.0: rem単位を使うようにした。随分前からちょくちょくやってたのの蔵出し。統一するだけならさほど面倒くさくなく、px単位と同じように扱え、em単位では必要な割り算がなくなって随分楽になる。

BEMでグローバルなモディファイア: BEMを使ったクラス命名規則で「パーマリンク」といったようなグローバルな(ルートかそれより上位の)モディファイアを表現するの難しい気がする。もちろんbody要素というブロックに対してのモディファイアで良いのだけど、実際にそれを利用するのはもっと下位のコンテキストなので、CSSの子孫セレクタで表現しなければならなくなる。

Gruntタスクの設定をファイルで管理: Gruntfile.jsの大半を占めるのはタスク設定の部分だ。そこを分割してやればGruntfile/jsを小さく出来るわけで、そういうNode.jsパッケージはいくつかある。load-grunt-configsがその最も有名と思われるものだが、汎用化してあり、便利すぎ・パワフルすぎで、ちょっと仰々しすぎる気がした。もっとストレートにやっても良さそうなので、5行くらいで指定ディレクトリから設定を読み出すコードを書いて、少し使ってみた。

vim-css3-syntax v0.10.0: hlexists()による簡易バージョン・チェックが想定したように動かないので元に戻した。方針変更なのでバージョンアップ。ついでにSemverに変え、v0.10.0としてリリースした。

wildfire.vimでVim力を下げる: wildfire.vimという、カーソルがある辺りのテキストオブジェクトをなんとなく選択してくれるVimプラグインを使い始めた。Vim力が下がる代わりに魂の平穏が得られる。ような気がする。

Google Code PrettifyのSassハンドラ #2: Missing Language Handlers for Google Code PrettifyのSass向けハンドラを更新して、Sass 3.3.0.rc.5に対応させた。map-*()やstr-*()などの新しい関数を始め、!optionalや!globalといった新しいフラグを追加したり。他は特にいじっていない。

compiler/csslint.vim #2: Vim上ではオンザフライでガシガシCSS Lintでチェックしたいので、マイルドにチェックするようにCSS LintのCLIオプションを調節していた。多くのルールを無効にするとややこしい感じがしたので、知りたいものだけ--errorsでエラーに昇格させ、Vimのerrorformatオプションで警告は捨てるという形にした。

Google Chrome 33をホーム・フォルダにインストール: しばらく前からWindowsのGoogle Chromeのインストーラーは、UACの確認ダイアログを出してシステムのProgram Files以下にインストールするようになった。これでインストールしてしまうと更新時のインストーラーもUACで確認してくるようになってしまう。UACによる確認はできうる限り避けたいので、以前のようにホーム・フォルダのAppData以下にインストールする方法はないものかと探していたら見つかった。インストーラーの出すUACの確認ダイアログで「いいえ」を選択するだけだった。

ブログトップをタイトルの一覧に: ウェブログのトップ・ページをタイトル一覧に戻した。普通に並べたので縦に(ものすごく)長い。ページ全体をスクリーンショットに撮れないとか、印刷しようとすると100P超えるとかくらい。検索フォームがまだ下にあってアクセス性悪い。インクリメンタルなタイトル絞込みフォームを最上部に設置して、フォローとして下にある全文検索フォームは残しておくという形が良さそう。

Sassの変数命名規則とBEM: $type-subtype-component-contextというような形でSassの変数を命名していたけど、これにもBEMを使うかという感じになってきた。ただでさえ長いのが、セパレーターで更に長くなるけど、元々そんなに短くないので気にしないことにした。BEMをクラス名で使うような形で単純に利用するケースと、3.3で導入される予定のマップを使って構造化して定義し、複雑に参照するケースを比較して検証している。

Chrome 33で隠された擬似要素のcontentプロパティーの値が拾えない: contentプロパティーの値とgetComputedStyle()の最後で触れたように擬似要素ならcontentプロパティーの値をgetComputedStyle()経由で拾えていた。Chrome 33でちょうどこの辺りに変更が加わったのか、擬似要素がdisplay: noneの場合にcontentプロパティーの計算済みスタイルが空になるようになった。らしきIssueは見つけた。

AdSenseのスマートサイズ広告に制限をかける: Google AdSenseのスマートサイズは、場所に合わせて適当に広告を提供してくれて良いのだけど、CTRはかなり下がった。画像広告のCTRは下がっていないので、テキスト広告で限界まで埋めようとするのがよく出るのがダメな感じなので、画像広告が多く出る300x250や728x90のサイズをメインに使うように制限をかけてみている。

Chrome 33でユーザー・スタイルシートが削除: 色々仕込んでたのが全部消えてびっくりしたけど、どうやらChrome 33からユーザー・スタイルシートの機能が削除され使えなくなったようだ。Stylish使うか、ユーザー・スクリプトで強引に仕込むしかない。フォントの書き換えなんかはユーザー・スタイルシートでやりたい……。

git-credential-wincred.exe: WindowsのGitでパスワードをOSに覚えさせるようにするには、てっきりgit-credential-winstoreを別途インストールする必要があるのかと思っていたけど、今はgit-credential-wincred.exeが同梱されているので不要になっているようだ。

LOゴ: ロゴをちょっと変えた。他でまったく塗りつぶしを使わなくなったので、ロゴも塗らずスカスカなワイヤーに。流行りっぽい。

8つのデザイン要素?: Goodbye to 8 Design Elements Whose Time has Comeという死につつある8つのデザイン要素について書いているはずの記事を読んだ。見出しだけ抜き出して「この8つは死んだので使うのやめよう!」みたいに言うとまぁ納得できなくもない気がするけど、大変おかしな記事だった。

ReworkとPostCSS: AutoprefixerやMyth経由で話題になったRework。そしてAutoprefixerが乗り換えたPostCSS。両者はどのようなことに主眼を置いているライブラリなのか、SassやLESSとの関係はどうなのか、そしてどのようなツールを書く時にそれらを使うべきなのだろうか。

git logでの%C(auto): git logで--onelineだとコミットした人の名前やコミットされた日付が出ないので、昔頑張って--prettyでキレイにする奴を書いた。ただこれだとタグやブランチ名などが全部同じ色になっちゃってて、微妙に不便だった(--onelineでは自動色分けされる)。我慢して使っていたんだけど、直せるのかなーとgit-logのヘルプをちゃんと読んだら%C(auto)を使えば自動色分けされることがわかった。

PostCSSとCSS MQPacker: PostCSSというCSSのパースと変更を行うNode.jsパッケージを知った。Autoprefixerで使われている。名前からわかるように、主にCSSをポストプロセスするためのパッケージだけど、単にパーサーとして使っても良さそう。

contentプロパティーの値とgetComputedStyle(): CSSのcontentプロパティーを使ってCSSのバージョン番号を仕込み、それをwindow.getComputedStyle()メソッドを使って表示してやろうと考えた(スタイル・ガイド用)。Chrome 32やFirefox 27では期待通りに動いたんだけど、Internet Explorer 11ではうまく拾えず、初期値であるnormalが返ってきた。どうやらIE11は擬似要素以外に指定したcontentプロパティーの値をgetComputedStyle()でうまく読めないようだ。バグではなさそう。

Fira SansのWebフォント: Firefox OSに採用されているオープンソースのFira SansのWebフォントがMozillaのGitHub Pages経由で配信されていることを知った。ちょっと前までGitHub Pagesはパフォーマンスに難があったけど、最近大幅に改善されたので、Fira Sansをウェブページで使いたい場合はこれを直接読み込めば良さそう。

Sassの変数名での-と_: SassでBEMを利用して変数名を付けようとして、今までハイフンのみでどうにかしていた変数名を書き換えていた時に気づいたんだけど、Sassの変数名ではハイフン(-)とアンダースコア(_)が同一視される。バグだと思ってIssue立てたら、3.0.0でSCSS記法を追加した時に入れた仕様だという返事だった。

VimのSassでのgfを改善する: Vimの標準ランタイムに入っているftplugin/sass.vimではincludeexprやsuffixesaddが適切に設定されているので、多くの場合はそのままで快適にgfできる。けれど同じディレクトリにfooというディレクトリと_foo.scssというファイルがある場合、@import "foo";でgfするとディレクトリの方が開かれてしまう。それをラッパー関数を書いて、_foo.scssを優先させようという試み。

つまらないGruntタスク: Gruntfile.jsをサッと開く手段としてeditという簡単なタスクを勢いで書いたんだけど、無意味でつまらないGruntタスクだった。Gruntには様々なタスクがあり、自分でもNode.jsを駆使して自由に書けるので、色々やりたくなる。けれどもグッとこらえて、ワークフローにおける定型作業の自動化に絞った方が、ワークフローと開発環境、そしてGruntfile.jsに優しい。

mustacheのパーシャルをファイルから読み込む: 何かしらテンプレート使う時は、実行にはHandlebars.jsを使いつつ、mustacheの仕様に沿った形のみで書くみたいな感じで大体やってる。前に書いたHandlebars.jsのincludeヘルパーだけ便利だったのでちょっと使ったりしてたけど、パーシャルを使って書き直すことにした。パーシャルそのままなのでネストでき、他の実行環境でもだいたいそのままで動く反面、相対パスで見に行くみたいなことは出来なくなった。

Designer Newsの購読解除リンク: 多くのメールマガジンと同じようにDesigner Newsのダイジェスト・メールにも購読解除のためのリンクがある。上記スクリーンショットのようなもので、購読しているか否かの表示と共に解除のリンクが並んでいる。

BEMを使ったSassファイルの整理: このウェブサイトのSassファイル群はずっとフラットなファイル構成でやっていた。主にSassが相対パスの修正を行うことができないことが理由だったけど、最近はポストプロセスすればどうにでも出来そうな感じなので、あまり気にせず整理することにした。単純にカテゴリ分けするだけでも良いのだけど、BEMを応用してやってみている。

Drawic v2.0.0: CC0: Drawicにライセンスを付けようとしていたのをやめて、CC0で放流することにした。CC-BYをSVGに埋め込もうかなと思ってたんだけど、ファイルサイズが大きくなっちゃうのがもったいないのでやめた。

Gruntタスクの自動読み込み: GruntでいちいちloadNpmTasks()しなくて済むようになるload-grunt-tasksパッケージは便利だけど、そもそもこれをインストールするのが面倒くさい。インストールしたGruntタスクはpackage.jsonのdevDependenciesに必ず書いてあり、Gruntfile.js内ではどこでもそれを利用することが可能なので、grunt-で始まるNodeパッケージだけを自動でloadNpmTasks()するようなコードを書くと簡単に自動読み込みを実装できる。

Sassの基本: Translation of Sass: Sass Basics

Chromeのデベロッパーツールのフォントを大きく: 12pxでコードを読むの辛い感じがしてきたので、ユーザースタイルシートで大きくした。Chrome 32からデベロッパーツールに振られるIDとかも変わったので、そういう時の調べ方も含めてメモに。

安全でアクセシブルなアイコン・フォント: Translation of: Bulletproof Accessible Icon Fonts by Filament Group

翻訳はあなたの記事ではない: ウェブ開発を始めとした様々なジャンルにおいて、その有用な文書の多くは日本語以外で書かれている。幸いなことに多くの人がその翻訳を公開してくれている。僕も自分が強く興味をもった範囲で訳したりもしている。良い時代だなと思うが、その翻訳がブログの記事として公開されてしまうと、「んんっ?」と思ってしまう。

Google FontsでWOFF2が: 少し前にPlayfair Displayのアンパサンド(&)のみを抜き出して使い始めた時に気づいたんだけど、Google Fontsでは既にWOFF2での提供も始まっているようだ。どうもダイナミック・サブセッティングを使ってグリフを絞るとWOFF2でも提供されるようになるみたい。

コードをなんとなく色付けするやつ: Coding in colorという記事を読んだ。どのようなものか、通常の構文強調とはどのように違うか、は僕が言葉で説明するよりもそのデモを見てみた方がわかりやすい。記事ではtypoに気づきやすいとかあるけど、どちらかというと読むのに向いていると感じる。

スクロール・ハイジャッキングなど: 変なスクロールとか呼ばれちゃったり、邪悪とかゴミとか散々な感じ。どちらかというと実装上の問題ではなくて、見る方と作る方(発注元で実装者ではない)とでウェブサイトの目的への意識がずれていることが原因なんじゃないかと考えている。

ルーム・シューズ: 良さ気なルーム・シューズが欲しい。5000円以上するような本気の奴じゃなくて良いけど、ソールだけはしっかりした奴が欲しい。ゴム底だと歩くとうるさそうなので、もっと柔らかい感じのソールの奴が良さそう。できれば通年履ける暑くも寒くもないのが理想だ。

Drawic v1.3.0: Days of the Week: Drawicに曜日を意匠化した(つもりの)アイコンを追加した。左から日月火水木金土。水が火に似すぎ。金・土が微妙。曜日のアイコンを追加した理由は必要になったからではなく、ちょうど読んでいた小説で曜日がそのエッセンスになっていただけ。

role="search": 検索ボックスにWAI-ARIAのsearchランドマーク・ロールを付ける時にform要素に付けていた。WordPressのデフォルト・テーマ(Twenty ThirteenやTwenty Fourteen)はこうなっている。長いものに巻かれてここでもそうしたような記憶があるけど、検索機能を提供する全てを包括する要素に追加するべきで、多くの場合はform要素を内包するaside要素等に追加する方が良いようだ。

Yahoo!辞書のスペル修正機能の削除: Yahoo!辞書はそんなに読みやすかったわけではないけど、スペル修正が便利だったので使っていた。しばらく前のリニューアルでKotobankのフロントエンドに成り下がったのも辞書としての機能的には許せたんだけど、スペル修正がなくなったことに非常に困った。単純なスペルミスとかはともかく、複数形を戻してから検索する必要があったりとかになったのが面倒くさい。

Bulletproof Accessible Icon Fontsの日本語訳: 安全でアクセシブルなアイコン・フォントという翻訳文書を公開した。アイコン・フォントをできうる限りアクセシブルな形で実装するための前提的な知識と、それを考慮して作成されたA Font Gardeというライブラリについての記事、Bulletproof Accessible Icon Fontsを日本語に訳したもの。

fenrirよ、さようなら: 長らく愛用していたコマンドライン・ランチャーのfenrirを使うのをやめた。一年近くやってないゲームとかも含め、他にも色々ソフトウェアを削除したりしてた。Chrome 32でうまくうごかなくなったWheel Redirectorとか。

Normalize.cssのv3がRCに: Normalize.cssのv3.0.0-rc.1が出ていた。a:focusのoutlineを削除しないようになったのと、pre要素が自動折り返しではなくなりoverflow: autoになったのが大きな変更で、それ以外は特に気にすることはなさそう。

Hervé Chapelier 946C ナイロンデイパック: ちょっと前からバックパック買おうかなと思ってたんだけど、押入れ漁ったらエルベ・シャプリエの紺色のデイパックが発掘された。残念ながらフランス製の方のじゃなくて、OUTDOOR PRODUCTSが作ってるコーデュラの奴(のMade in USA時代版)だったけど、きれいな紺色で良かったのでこれを使うことにした。消臭に手間取った……。

手動カーニング: ウェブでもちゃんとカーニングしたい的な話を最近よく見るようになった。フォントのカーニング情報がない! とか、あってもブラウザーで使えない! とか、出来るようになったかと思ったら出来なくて辛い……みたいなことを受けての魂の叫びか。それを古き良き感じにマークアップを追加して手動でやるのが結局は良さそうというA Manual Kerning Method for the Webを読んだ。

テキスト・ファイル向けURIフラグメント識別子: git-release.jsでファイルと行の指定をまとめて設定する良い方法を考えてた。結局はコロンでつなぐという古き良き感じにしたけど、ウェブではこういうのにも使えそうなのをRFC5147 - URI Fragment Identifiers for the text/plain Media Typeで仕様を決めているらしい。何行目かだけじゃなくて何文字目から何文字目までみたいなのが出来るようだ。

CSS的・ウェブ標準的: Vertical align anything with just 3 lines of CSSと横に水平線のあるテキストというCSSテクニックを扱った記事を最近読んだ。どちらも有益なテクニックだが、前者はCSS的で後者はウェブ標準的という印象を持った。

風通しが良く、意匠を凝らしていない: Typewolfを運営してるJeremiah Shoafによる2013年に人気のあったWebフォントという記事を読んだ。7位に等幅フォントであるInconsolataがランクインしている。

Warpaint - Warpaint: Warpaintの新譜、Warpaintが出た。楽しみにしててやっと出たのでずっと聴いてる。永遠に聴いていられそう。

リンクの分類: リンクはリンクなんだけど、どのようなものを参照しているかで大まかに分類したい。その分類において違うものに分類された場合は、同じリストでは並べないとか気をつけたい。みたいなメモ。

2014年の目標: 今年の目標は「夕飯後、9時間は何も食べない」にした。朝飯までにしようかと思ったけど、無理がありそうなので9時間にしておいた。去年は「コーヒーに砂糖を入れない」で達成率95%くらい。一昨年は「便器に座って小をする」で達成率90%くらいだった。どちらももう自然な習慣になった気がする。

非screenデバイスでのスクロールできる表: スクロールできる表はscreenなデバイスのためのものなので、プリンターやスクリーン・リーダーではおかしなことになりうる。どうなるのかまったくわからないので、そのためのフォールバックはあった方が良さそう。Media Queriesでnotやprintを駆使して上書きするのが楽な感じ。

git commitするGruntタスク: Gitを叩くGruntプラグインはいくつかあるけど、Grunt管理外のディレクトリにあるGitリポジトリでも気軽に叩けそうなのがなかった。大体GruntのルートとGitのルートが一致していることが想定されている。それでもGruntのルートが下流ならなんとかなるけど、逆の場合はどうにもならない。しょうがないのでファイルを指定してタスクを走らせたら、指定の作業フォルダへ移動してからそのファイルをaddしてcommitするだけのGruntタスクを書いて使うことにした。

ウェブデザインにおけるセマンティック・バージョニング: アプリケーションの世界ではセマンティック・バージョニングが広く受け入れられた……かどうかはわからないが、採用例はすごく増えている印象だ。ウェブデザインではどうかというと、ウェブ・アプリケーションのバージョニングに追随しているだけであったり、そもそもバージョニングされていなかったりするような気がする。ウェブデザイン、主にCSS(とCSSプリプロセッサー)においてセマンティック・バージョニングを導入するとすると、どのようなタイミングでメジャー、マイナーそしてパッチ番号を増やせば良いのだろうか。

Forrst: ForrstというDribbbleとGistを組み合わせたような感じのウェブサービスを使ってみている。画像や文章、コードを投稿してフィードバックを貰おうみたいな目的のもののようだ。Qiitaに近い。適当に画像あげただけとかだとそれじゃぁだめだとか怒られた……。招待制なので使えるようになるかはコミュニケーション能力と運次第。

v6.48: 昔の「なんでもセンタリングで!」みたいなのを思い出すからなのか、どうもセンタリングが嫌いなようだ。久しぶりにセンタリングしまくる感じにしたらすぐに嫌になった。でかい画像にセンタリングで文字を重ねるみたいなのが流行っているのもありそう。

rawgithub.comへのホットリンク: ある記事でrawgithub.comを使ってJavaScriptウィジェットを配布しているのを見た。もちろんrawgithub.comが「テストなどにのみ使って!」と書いているのもあるけど、使うべきじゃない理由は他にもある。

GWietbHluobg: GitHubにこのウェブログの記事のバックアップを取ることにした。今までもネットワークHDDにバックアップはあったけど、GitHubを使った方が良さそうな気がしてきたので試しにやってみることにした。

Drawic v1.2.0: Drawicにダウンロードとアップロードのアイコンを追加した。ダウンロードやアップロードのアイコンはこういう矢印とトレーの組み合わせがデファクト・スタンダードになりつつある気がする。

CSSの新しい単位とFuture Friendly: CSSにはちょくちょく新しい単位が導入・実装されている。remなどは広まりきった感じはあるけど、これからも新たな単位が追加されるだろう。そういった時にYUI CSS Resetを始めとしたCSSリセットを利用していると、常に厳密なフォールバックが必要になってしまう。Normalize.cssならば、フォールバックを書かなくてもとりあえずデフォルト・スタイルシートで表示してくれるため、大幅に見た目が崩れるということは少なくなる。

ホームでのグローバル・ヘッダー: ホームだけグローバル・ヘッダーのデザインを変えた。フォントはSource Sans Proの200と400で、&のみPlayfair Display。

Roughdraft: Gistに置かれたMarkdownやプレーンテキストのファイルにスタイルをあてて読みやすくしてくれるRoughdraftというウェブサービスを知った。最初良いなと思ったけど、Gistオーナーの明示的な同意なしに勝手にページが作られるので、無断転載またはコンテンツ泥棒ともみなせる。一覧ページとかも勝手に作られ、適当に書いたのがコピーされてインターネットにばらまかれることになるのでちょっと辛い……。

Gruntのロード時間: 必要なタスクだけを読み込むようにしてGruntタスクの実行速度を改善するというテクニックはすごく良い。けど、このようにタスクを使う側が運用でカバーするよりも、本来ならタスクを書く側が高速にタスクがロードされるようにする必要があるはず。Qiitaの記事が参照しているIssueでも似たようなことが推奨されている。

イメージマップとCSSによるスケーリング: SVGのインタラクティブ要素が色々面倒な感じなので、単純なリンクならSVGをイメージマップにしてやればいいんじゃないかと考えた。HTML側で完結するし、代替リンクも提供でき、普通にイベント割り当ても可能。ただCSSでwidthプロパティーなどを使ってスケーリングさせた場合、イメージマップのareaもスケーリングしてくれないと困るなと調べたら、全然無理だった。

36em: このウェブサイトは少し前まで42emに設定していた。正直なところフォント・サイズが18pxの時に728x90の広告が収まるようにとかいうろくでもない理由だった。広告ドリブン・ウェブデザイン。ちょっと長いとは思っていたけど、長すぎるというほどではないとも思っていたので、見なかったことにしていた。

1行の最適な長さ: 1行が長すぎても短すぎても読みにくいのは誰もが経験から知っている。欧米では1行あたり45から75文字が最適と言われていることが多い(50%のleadingとして)。グリフの平均が0.5emと仮定して計算すると22.5から37.5emということになる。読み物系のウェブサイトでは30em前後がよく見られ、その説を支持する人は多いようだ。

Style Guideから始めるウェブデザイン: Matt Steeleという人のウェブサイトのリデザインについての記事を読んだ。海外では中々の人気を誇るExpression EngineからDB不要のフラットファイルなCMSであるStatamicに乗り換えたというのもイマドキだなーと思ったけど、まずStyle Guideを書いてそれを元に作っていったというのが、自分の作り方と重なる部分が多くて印象的だった。

なぜWebフォントを非同期に読み込むのか: Webフォントを非同期に読むテクニックはいくつかあるけど、その理由についてまとめられた文章は少ない。僕は非同期に読み込むのは3つのそれぞれ違う分野での問題を解決するためだと考えている。どの問題も致命的なものではないので、非同期に読み込むべきかどうかはそれらをどう捉えるかで変わってくる。

Sassユーザー定義関数のテスト: 除夜の鐘をBGMにBowerパッケージのhail2u-scss-functionsのテストを書いていた。Gruntでコンパイルして期待される結果と付き合わせるだけだけど、あるとないのとでは大違いな気がしないでもない。

耳かき・毛抜き・爪やすり: 耳かきは竹を削って耳に合わせてくれるところで作ったのを愛用してる。観光地価格で高かったけどほじりやすい。毛抜きは某化粧品メーカーのグルーミングセットのを使ってて調子が良い。爪切りのみよく切れるやつから切れ味は落ちるけど深爪しづらいやつまで色々使ったけどしっくりこなかった。色んな人から「削れ」と言われたので、1か月ほどガラスの爪やすりを買って削ってる。

プレースホルダー周りのセレクター: フォームのプレースホルダー周りのセレクターは、今のところウェブ標準では:placeholder-shown擬似クラスとして定義されている。つまりプレースホルダー文字列が表示されているかどうかという状態を反映するもの。どうやらInternet Explorer 11はこれを踏襲した実装のようだ。対してChrome 31やFirefox 25では擬似要素として実装されており、プレースホルダーそのものを表現するセレクターになっている。できることはあまり変わらないのだけど、例えば背景画像の開始位置とかでズレが生じる。

git-release.js: Gitリポジトリでgit release majorなどとすると設定したターゲットのファイルの指定行にあるバージョン番号をインクリメントし、コミット、タグ付けまでやるNode.jsスクリプトを書いて使っている。汎用的でどこかに公開とかまでは面倒みないものがあればいいのになと思って、適当にNode.jsで書いて使ってる。

hail2u-scss-functions v1.0.0: 自分で作って自分で使っているSassのユーザー定義関数をhail2u-scss-functionsという名前でBowerパッケージ化した。他人の作ったユーザー定義関数はいろいろあって使うの嫌だけど、自分のはコピペすることなく手軽に使えるようにしておくと良い気がする。

AdSenseにスマート サイズの広告が仲間入り: メディア・クエリを書かなくても表示される場所に合わせて自動でリサイズされるスマート サイズというフォーマットがAdSenseのレスポンシブ広告ユニットに追加されたようだ。ざっと試したところ画像広告の場合は収まる最大の広告サイズ、テキスト広告の場合は表示される場所に合わせて文字サイズと広告数を調節して表示される。リアルタイムに切り替わるわけではないけど、これで十分そう。

入力と出力: ウェブでの活動は入力と出力をどう表現するかみたいな感じに集約されることが多い。ウェブログやTwitter、GitHub、Forrstは出力の場、リンクログやDelicious、Readability、Pinterestは入力の場。FacebookやTumblrは両者を混ぜたカオスな場なのかな。ウェブログの記事(出力)をDelicious (入力の場)へそのまま渡すとか、Readabilityで読んだもの(入力)をそのままTwitter (出力の場)に流すとかちょっとやってみたけど違和感(と罪悪感)しか湧かなかったのでやめた。

Webフォントの非同期読み込み: Webフォントの読み込みは@importだと色々まずいので、主にlink要素を使って並列に読み込むわけだけど、これもまた貴重なHTTPリクエスト数を消費するとか、CSSのパース完了が少し遅れるなどあって、完璧な解というわけじゃない。それを非同期にWebフォント定義の含まれるCSSファイルを読み込むようにして、Webフォントのロードをページのレンダリングと並行して行わせるのはどうか、という試み。

grunt-initがWindowsでCR+LFなファイルを作ってしまう: grunt-initがファイルをカスタマイズしてコピーするcopyAndProcess()ではgrunt.template.process()を使っていて、それはgrunt.util.normalizelf()を最後に呼んでいる。これによりLFのファイルが環境に合わせてノーマライズされるようになっている。そのためWindowsでは常にCR+LFでファイルが吐かれる。

BLOSXOM_CONFIG_FILE環境変数: Blosxomの2.1.2では設定を/etc/blosxom/blosxom.confに置くことになっている。もちろん実際にはそうもいかないので、一般的には$ENV{BLOSXOM_CONFIG_FILE}を使って指定する……ということになっているけど、環境変数の設定の仕方がわからなくて書き換えて使われていたりすることが多いようだ。Apacheなら.htaccessでSetEnvを使えば良い。

WAI-ARIAとSVG: 埋め込みSVGのdesc要素等の場合、img要素におけるalt属性のようにブラウザーでサポートされていないという事情にWAI-ARIAを使ってなんとかできるのでしようという記事を読んだ。埋め込み(インライン)SVGはおざなりに対応されているような印象があるけど、ウェブはそういうのも多少は吸収できるような時代になってきたんだなと思う。その一方で「吸収できる」というようなこととかは具体的に明文化されていないことも感じる。やっぱり必要なのはドキュメントなのかな。

Readymag: Origins of Common UI Symbolsというページを見て、こういうページめくりのウェブ雑誌をブラウザー上で簡単に作れるReadymagというウェブサービスを知った。ホスティングも込み。無料でひとつまで作れ、それ以上は月20ドルかかる。

Nodeモジュール: pit-ro: pitの読み込み専用のNodeモジュール、node-pit-roを作った。手元で使ってたのをモジュールに作り直した所で面倒になったので読み込み専用で止まった。

自動生成されるスタイル・ガイドはウェブ向きなのか: ウェブ制作においていわゆるスタイル・ガイドと呼ばれるものの作成をワークフローに取り入れる動きが広まりつつある。その主なものはCSSのコードから自動生成されるものだ。つまり制作の完了後に自動的に生成される。

Gruntプラグイン: selector4096: IE9以下で4096個以上のセレクターがあるとスタイルが反映されなくなるバグのチェックを行うGruntプラグイン、selector4096を作った。CSSプリプロセッサーでネストしつつ@extendするとぽんぽんセレクター増えていくので、最近はまめにチェックするようにしている。自己最多記録は3400くらいで、バグに引っかかったことはまだない。

IE11以下でのmax-widthとSVG: Internet Explorer 11以下でSVGをmax-width: 100% (max-height: 100%)を使って親要素の幅(高さ)に合わせてリサイズしようとすると、SVGのアスペクト比が考慮されないバグがあった。width: 100% (height: 100%)や、SVGではなくPNGやJPEGなら大丈夫。max-*とSVGの組み合わせの時のみなぜか起こるバグ。

Blosxomプラグイン: static_permalink: 重い腰を上げてpermalinkを静的なHTMLとして吐いておくプラグインを書いて使い始めた。誰かしらがアクセスした時にHTMLが作られてなかったら作成するというシンプルなもの。振り分けはmod_rewriteに丸投げ。今までもRSSだけはそうしていたので、それをpermalinkでも使えるように深い階層でも大丈夫な感じに書き足そうと思ったけど、結局一から書き直した。これでいつでもBlosxomを捨てる用意が整った。

Typeplate: TypeplateというCSSフレームワークを知った。必要最小限のものがうまくコンパクトにまとまっているのと、これの導入時点ではマルチ・クラスを強要しないようになっているのが良い。BootstrapやPureのような重量級のものとは違ってこれだけでOKとはならないものだけど、文書の基本的な体裁を整えるという面ではどのようなウェブサイトでもうまく動いてくれそう。

Normalize.scssのテスト: Normalize.cssを分割してSassのSCSSパーシャル化したNormalize.scssのテストを書いていた。テストと言ってもオリジナルと同じコードになるかみたいなチェックを行うだけのもの。空白行とコメントを無視してDIFF取れば……とか考えていたんだけど面倒くさそうだったので、圧縮して同じコードになるか比較するだけにした。これでケアレスミスは防げるんじゃないかと思う。

right: 100%か負のマージンか: これまでCSSにはレイアウト方法があまりなかった。これからはFlexible Box LayoutやMulti-column Layout、Grid Layoutを始め、positionプロパティーに使える値の拡充などもあり柔軟に行えるようになるだろうが、それはけっして既存のレイアウト方法が不必要になるということではない。選択肢が増えると受け止めるべきだ。例えばright: 100%や負のマージンを使って親要素の外側左にレイアウトする手法はそのまま使い続けることになるだろう。

pngquant: pngquantはPNGを256色に減色してサイズを抑えるツール。同様のものはいくつかあって色々試してみたけど、最近はこれに落ち着いた。もちろんこれもアルファチャンネルに対応している。全般的に出力は良いと思うけど、稀に256色なのに気付かれたりもするので過信はできない。処理後に目で確認はした方が良い。

Sass Basicsを訳した: 先週末のことだけどSassの基本的な機能を解説した公式のページをSassの基本として日本語に訳した。Sassの公式ウェブサイトがリニューアルした後、チュートリアルがなくなっていて、その代わりに書かれたSass Basicsの翻訳。以前、Sass - チュートリアルを訳したので、その流れで。

rel=dns-prefetch: そろそろrel=dns-prefetchのことは知っておかなければならない気がする。けど、調べれば調べるほど極々限られたウェブサイトでしか威力を発揮することはなさそうな気がしてくる。どうなんだろう。

マークアップをかなり変えた: 思うところがあったのでマークアップを変更していた。「背景画像として表示されるべきではないものを背景画像として表示しているのは良くないのではないか?」みたいな夢を見た後、じゃあ「まず変えてみよう!」みたいな。なんか変だなと思ったらF5すれば直る(はず)。

agの-Gオプション: agで特定の拡張子のファイルだけに対して再帰的に検索したいなと思っていたけどやり方がわからなかった。*.txtは可能だけど再帰的に検索してくれないし、**/*.txtは受け付けてくれないし……。Twitterでボヤいたら「ag -Gとかあるんだ」とかエアーを見たので調べてみたらまさにこれだった。

vim-css3-syntax v0.9: vim-css3-syntaxにSelectors Level 4などを追加してCSS current WorkのRevisingまで取り込んだ。ちょうどキリも良さそうなのでv0.9としてリリース。

Drawic v1.0.2: SVGOでSVGファイル最適化しようとするとsvg要素の子がg要素のみなどの場合、問答無用で消されてしまうようなので、それへのアドホックな対応を行ってDrawicをv1.0.2にした。アイコンの追加はなし。単一のpath要素に変換するという荒い手段をとった。

無印良品 オーブントースター・縦型: 今年買ったもので最も良かったのなんだろうなとか考えてた。いくつか候補があったけど、無印良品のオーブントースター・縦型が一番だった気がする(KOIZUMIのKOS-1011/Wの別デザインっぽい)。もちろん占有領域が狭いのがすごく良い。ネットストアでは売り切れてるけど店舗にはそこそこ在庫があるので、最寄りの店舗で頼めば取り寄せてくれると思う。

CSSポストプロセッサー時代の到来について: Frontrend Advent Calendar 2013の4日目の記事として、「CSSポストプロセッサー時代の到来」というタイトルで寄稿した。このウェブログで書こうかと思ったけど、意識はされていないもののそこそこ浸透している概念の話で、トレンドに関わりがあるもののそれに左右はされない話でもあるので、独立した文書にした。長いかと思ったけどそんなに長くもなかった。

CSSポストプロセッサー時代の到来: SassやLESSといったCSSプリプロセッサーは市民権を得たと言って良いと思う。しかしそれらCSSプリプロセッサーは開発という段階にのみ利をもたらすもので、今のところはそれ以上ではない。CSSを実際にユーザーに届けるまでには、開発だけではなくレビューとリリースという段階もある。レビューとリリースも確実性を持って効率的に行うためには、CSSポストプロセッサーと総称されるようなツール群が必要になるだろう。

Inkscapeでオブジェクトを丸く等間隔に並べる: 昨日の記事のローディング・アイコンを作成する時に、SVGで丸が均等な間隔で丸く並ぶようにしたくて必死に計算してた。最初ストロークで調節しようと四苦八苦してたけど無理そうで、計算しよう……として頑張ったけど辛かったので一旦諦めた。その後、よく調べたらInkscapeにはビルトイン・エクステンションにパスから生成→散乱というのがあって、これを使うととても簡単に出来るようだ。

SVGでローディング・アイコン: アニメーションSVGでローディング・アイコン、画像の読み込みの時とかにグルグルする奴を作った。回るスピードやサイズの変更が簡単なのが売り。8個の丸いパスを丸く並べ、g要素でグルーピングし、その子のanimateTransform要素でcalcMode="discrete"を使えば結構簡単に出来た。

Vim Color Scheme Advent Calendar 2013: 使ったことがあって気に入ってたVimのカラースキームを25個。パッと見ではかっこ良くないのも結構ある。けど、そういうのは目に優しかったり、読むのが楽だったり、昔愛用してたとかだったり。

Vimでカーソル下のハイライト・グループ名を知る: Vimの構文強調は強力なんだけど、修正するとなるとなかなかの茨の道だったりもする。単に単語を追加とかなら良いけど、間違った強調がなされている場合は、まずどのハイライト・グループに間違えて入っているかを知らなければならない。synID()系の関数を頑張って使うとなんとなくわかる。

SVGのanimateTransform要素: SVGのanimateTransform要素は、その親要素をアニメーションさせながら変形したり動かしたりするためのもの。fromとto要素だけでもちょっとしたことならできるけど、複雑なことをやるにはvaluesとkeyTimes属性とを組み合わせるようだ。

BreakpointTesterとish.: 少し前にBreakpointTesterというツールを知った。任意のページでそのブックマークレットを起動すると、参照されているCSSファイルをスキャンしてMedia Queriesのブレークポイントを探し、そのブレークポイント全てを使ってiframe要素で表示しなおしてくれるというもの。また、ほぼ同時期にish.というツールがBrad Frostにより公開された。こちらは大中小でチェックでき、リサイズも可能というもの。こちらもデバイスを特に意識はしていない。しかし、両者は似ているようで少し違う。

JPTemplateのVimヘルプ: JPTemplateのVimヘルプを作ってた。HTMLから変換しただけで、日本語に訳したりはしてない。ついでにファイルの配置とかも変えてリポジトリにしておいたので、pathogenなどでもインストールできるようになった。

画像を新しくした: 主にogp:imageで使ってる画像を作り直した。アニメーションGIFと見せかけてSVGアニメーション。PNGをData URIで埋め込んで、それをサクサク切り替えていくアニメーション書いただけ。

プル・クオート: 英語で書くとPull Quote、Calloutなどとも呼ばれる抜粋見出しのこと。雑誌のインタビュー記事などでよく見る、インタビュー内容の一部が抜き出されて見出しのように配置されているやつ。blockquote要素でマークアップするのかと思ってたら、aside要素の方が適切らしい。引用ではなく抜粋で、かつコンテンツに同じ内容が既にあるので、なくなっても特に問題がないからか。

Vimの自動コマンド内におけるマップコマンド: Vimのビルトイン構文強調定義のままだと、自動コマンド(autocmd)の引数でマップコマンドを指定すると強調されない。vimCommandとvimMapが分かれていて、autocmdの引数で使われるvimIsCommandにvimMapが含まれていないからみたい。

GitHubの2段階認証とhttpsアクセス: GitHubの2段階認証を有効にしたところ、httpsなURLのリモート・リポジトリへのpushが弾かれるようになった。ちゃんと記事読んだらトークンで認証させろと書いてあった……。指示に従ってアカウント設定のApplicationsからPersonal Access Tokenを発行し、パスワードの代わりにそれを使うようにしたところ、httpsでも元通り自動認証でpushできるようになったようだ。

CSSでフォント・ファミリーのショートカットを作る: 最近のブラウザーではlocal()を使ってフォント・ファミリーのショートカット(的なもの)を作ることができる。CSS Fontsモジュール仕様のsrcプロパティーの項にも思いっきり書いてあるんだけど、今まではそんなに必要なかったのであまり使われていない。5ウェイト展開なヒラギノ角ゴのiOS 7へのバンドルと、3ウェイト展開の游ファミリのWindowsへのバンドルにより必要性が少し増えた気がする。

ベンダー拡張プリフィックスヲ削減セヨ: Translation of: Cutting down on vendor prefixes

ベンダー拡張プリフィックスはウェブ制作者たちのためにある: ブラウザー開発者はベンダー拡張プリフィックスをなくす方向に動いているような気がする。短いリリース・サイクルの中で、仕様の要件を満たしているのなら外すといった地味な確認作業から開放されたいのかもしれない。そういう理由はわからなくもないが、ウェブ制作者も面倒くさくなくなるのでそれで良い、と考えていそうなことにはまったく賛成出来ない。

vim-css3-syntax #10: CSS3 Transitionsが更新された……けど特に変わってなかった。ので、vim-css3-syntaxで今後どうやってVim 7.3以前とVim 7.4(、と開発中)の構文強調定義をサポートするかちょっと考えて、Vim 7.4の構文強調定義から新しく作られている強調グループをhlexists()関数でチェックするようにしようかなと。とりあえずお試しでafter/css/css3-trnasitions.vimのみ。

Unsplashでアイキャッチ: Unsplashの配布してる自由に使える高解像度・高画質な画像をアイキャッチとして使っている記事をよく見るようになったなーと感じる。キレイな画像をアイキャッチに使いたいという気持ちはわかるんだけど、まず間違いなくアイキャッチになってない……どころか害悪になりつつあるような気がする。

Cutting down on vendor prefixesの日本語訳: ベンダー拡張プリフィックス書きすぎな状況は、メンテナンス上本当に良くない。だけど運用上であんまり実害はないので、とりあえず残しとけみたいな感じな気がする。ベンダー拡張プリフィックスヲ削減セヨとちょっとタイトルをアレンジして訳したCutting down on vendor prefixesでは、実例でどう削減できるのかを説明してる。

人が欲しがるものを作る: 授業中にこっそりノートの切れ端をやりとりする、というのを今風に発展させたのがSnapchatだというような興味深い考察と共に、どういう風に製品を作ると良いのかについて書かれたMaking Things People Wantという記事を読んだ。いやまぁそうなんだけど的な話ではあるけど、手続きを減らす・多くの人に使えるようにする・どこからでも利用できるようにするという3つの手法に昇華させていて、思わずなるほどなーと考えさせられた。

Chrome 31での@font-face定義: Chrome 31で@font-face定義でunicode-rangeプロパティーを使った時の挙動が変わった。今までは@font-face定義を使ってローカルにあるフォントの一部をunicode-rangeプロパティーで差し替える場合、差し替えるグリフ以外はローカルのフォントが維持されていたんだけど、一部差し替えるだけだと他のグリフが全部失われるようになった。この挙動はInternet Explorer 11と同じで、仕様通りになった。

Internet Explorer 10や11でSVGがぼやけてリサイズされる(ことがある): Windows 7向けのInternet Explorer 11が出たので、早速インストールした。おかしいところも特になく、F12ツールもずいぶん使いやすくなってるし最高かと思ったら、このウェブサイトのSVGのリサイズがちょっと変だった。11だけかと思ったら10もだった。少し前までのFirefoxみたいにCSSのbackground-imageプロパティー経由だとアレなのかとか色々調べてたみたけど、どうも違う。どうやらリサイズ後の縦横サイズが小数点以下を含むようなケースでぼやけるようだ。

シンプルで簡単なだけでは十分ではない: ある機能を追加しようとした時、いくつかある手法から選択する条件として、シンプルであることや簡単であることをが重要視されることは多い。けど、それと同じくらい今だけでなくこれからの機能との兼ね合いも考慮するべきで、シンプルで簡単という作業上のメリットのみで選択してしまうのは良くない。フロントエンドの人なのでclearfixを例にして書く。

jsDelivr: オープンソース・ライブラリのCDNなんだけど、GitHubに作ったリポジトリをCDN経由で配信できるようにしてくれるという形のjsDelivrというウェブサービスを知った。無料で、帯域制限は特になく、httpsでも利用可能だったり、バックボーンはMaxCDNとCDN.netの組み合わせでそこそこ信頼できそう、と魅力的な点は多い。

Markdownなど: Markdownは、Markdownを知らない人が適当に書いたテキストでもなんとなく良い感じにHTMLにできちゃうみたいなものだったように思う。HTMLを簡単に書くための記法ではなくて、メールとかで使われてきたプレーンテキストなりの記述方法を良い感じにHTML化してくれるツール。巷に溢れるMarkdownモドキは、HTMLを簡単に書くという目的を持って拡張してしまっているので、その記法がちょっとなーという気がしてあんまり使いたくなかったりする。

inline-tableに対する負のマージン: Internet Explorer 11やFirefox 25ではinline-tableとした要素への負のマージンが無視されることがあることを知った。Chrome 30では無視されない。条件と仕様がよくわからないのでただのメモ。

ウェブページの復旧: もう更新する気のないウェブサイトだけど、頑張って直したという話。サーバー側のシステム更新により、Textpatternのデータベースが壊れておかしくなったそうだ。こういうのはだいたい面倒になって捨てられることが多いので、素直に尊敬できる。

新しい+1ボタン: Facebookのいいねボタンが変更されたことが大々的に拡散する陰で、Googleの+1ボタンも新しくなった。「うお、SVGだ!」とか思ったけど、フラットに……。ようやくいいねボタンがゆるいグラデーションになってTwitterの共有ボタンや古い+1ボタンと揃ったのに、今度は+1ボタンが。が……。が! 目立つようにわざと変えたってことはないと思うけど、こういうところでウェブサービス同士の足並みが揃うことが本当になくて辛い。

Lucida Sans UnicodeをLucida Grandeと組み合わせるべきではない: タイトルまま。好みが7割くらいだけど、そこそこ理由もある。別にLucida Sans Unicodeが嫌いなわけではないし、UI向けフォントであるLucida Grandeをウェブで使うな派でもない。この2つを組み合わせるのが好きではないという話。

コンテンツは王様なのか: 最近に限らず、ウェブでは何かと「Content is king」というフレーズが多用されてきた。テーブル・レイアウトの駆逐期にもよく見た記憶がある。今までもこれからもコンテンツが王様で、それがために人はウェブサイトに訪れる、と。15年前ならそれは正しかったような気もするけど、様々なウェブサイトに同じようなコンテンツが散在する現在は、人はウェブサイトそのものを目的として訪れるようになっているように思う。

毎週ブログる: キャッチーなタイトルに惹かれて、Commit Every Day, Blog Every Weekという記事を読んでた。ネタ元のウェブログ、先週更新してないけど……(週を日曜始まりとするとギリギリまだ大丈夫なのかな)。定期的に投稿のあるウェブログは安心して読めると思う。不定期だとその人がその時突発的に感じていることを勢いでぶつけるものになりがちな気がするので、眉に唾をつけて慎重に読む必要があって面倒くさい。流し読みしたい。

引用元の表記: blockquote要素における引用元の表記をどうマークアップするかでWHATWGとW3Cの仕様で違いが出たので、俄然盛り上がってきた。昨日公開されたHTML5 Doctorの記事を始め、様々な人が見解を書いている。概ねシンプルなW3C版が優勢な気がする。どう決着するかには関心があるものの、現状どうするべきかについてはよくわからなくなってしまったので、それぞれどういうコードになるのかとその思想の違いをメモだけしておく。

pushState()とhead要素の子: ページの一部だけ差し替えてpushState()で表示されるURLだけを更新という手法が広まりしばらく経った。全般的に素晴らしい仕組みで、みんなどんどん使えば良いと思うのだけど、head要素の子のことをちょっと気にして欲しいかなと思う。

アイコン・フォントとユーザースタイルシート: ユーザースタイルシートでフォントを独自に設定(固定)している場合に、アイコン・フォントがうまく表示されないであろうことについて順に説明している記事を読んだ。ユニコードの私用領域へのマッピングだけでなく、代替となる文字列を提供する……だけでは、まだ足りないのではないかという話。前に書いた気もする。

Penflip: GitHub for Writersとかいう感覚の共同編集プラットフォーム、Penflipが公開された。せっかくなので、ちょっと使ってみた感じとかをAbout Penflip in Japaneseというタイトルで書いてみている。プレビューはいまいち。使うかどうかはともかく、懐の広いこういったウェブサービスが増えるのは喜ばしいことだと思う。

まだ12カラム?: 同じ幅の12のカラムでレイアウトというアプローチを捨てたウェブサイトが増えている気がする。Bootstrapですらバージョン3では12に分けることもできるよ的なアプローチ(12カラムでやれと言わんばかりではあるけど)になっており、より柔軟なカラム・レイアウトが求められているような気配がある。時代の流れは速い。

Tumblrテーマ: Optica: 最近よく見るTumblrのテーマが気になったので、そのソースからテーマ名を探したところOpticaというテーマらしい。そのプレビューを見るとすぐにわかるが、とてもクリーンで、ブログとしての必要最低限の機能がバランス良くキレイにまとめられてるなという印象。すごく良い。

最後のナビゲーション項目を右へ: 今まではロゴとナビゲーションを、小さい時は中央揃えで2段、中くらいでは左右に分割、広い画面の時は左寄せ気味にしてた。広い画面の時に右の空き方が気になっていたので、なんか飾りでも入れようかと思って、色々試してたけどダメそうなので、単純に最後の項目(About)を右寄せにすることにした。

タッチできないけど読める: iOS 7のボタンはタッチ出来ないだろ! というような批判の記事を読んだ。枠線等で明確なエリアが描画されてないので、タッチできる場所がどこかよくわからないということのようだ。これは正しくもあり、間違ってもいるとも思う。人はタッチできるエリアを正確に認識してからタッチするわけじゃないので、タッチできそうな感じの周辺がタッチできるなら問題はないはずだ。

ウィジェットのクラス名: 最近、Twitterのリンク共有ボタンのクラス名が変わった。twitter-share-buttonというのが追加されたかなんかしたのだと思う。このクラス名を自分のウェブサイトの別の所でも使っていたので、表示が崩れてしまった。こういう衝突はなかなか避けられないものだとは思うけど、ウィジェット提供側で少し気をつけてくれるとその機会は大きく減るんじゃないかと思う。

Snapito!: Snapito!は指定したURLのスクリーンショットを撮ってくれるウェブサービス。同様のものは多くあるが、画像がキレイで日本語が通ってAPIがあって……となるとそこそこのお値段する。今のところSnapito!は無料でそれらの条件をクリアしている。良さそう。

2000本記事: これで通算2000本目の記事。ブログにおける2000本記事は、プロ野球の2000本安打に匹敵するのではないか。そう考えると、「数シーズン棒に振ったのにも関わらず、2000本安打達成しててすごい!」みたいな感じに。ならない。

Think of the Beginnersを訳した: 月一翻訳にちょうど良さそうな量とグッとくる内容だったので、Think of the BeginnersというEtsyのリードデザイナーの人の記事を「初心者のことを考えよう」というタイトルで日本語に訳し、公開した。熟練者であることを忘れ、初心者になる便利ボタン欲しい。

プレースホルダーがラベルで、コントラストが低く、余白がない入力フォーム: プレースホルダーをラベルにしたフォームや、コントラストが低いフォーム、余白がなかったりするフォームはそれぞれよく見る。特にプレースホルダーをラベル代わりにするのは、すっきりするので多用されている印象。使いたい気持ちはわからなくもない。けどこの3つが組み合わされると、なかなかひどい感じになるという実例をGoogleで見てしまった。

CSSLintのルールの超訳: 随分前に勢いで訳したものの、すぐに我に返って記事にはしなかったCSSLintのルールの超訳を、言及貰って気が向いたので更新した。新しく追加されたルールの訳を追加しただけ。でもドキュメントとして残すのも、訳し方的にアレな感じがあるので、あんまり良くないけどGistのままで。

CSSカーゴ・カルト: CSSフレームワークの根本的な概念における問題点をセマンティクスやメンテナンス性の面から指摘した記事を読んだ。文明の利器がCSSフレームワークで、その礼賛者達がIDや構造に即したセレクターをないがしろにして、その模倣に躍起になっていることを指してカーゴ・カルトと評しているのだと思う。似たようなことをID使っても問題ないで書いたので、他の人も書いてるとほっとする。

10年: 10年前に書かれたCSSでタブを作るテクニックへの多少ノスタルジックな記事。この頃に勃興したCSSでなんとかするムーブメントが後に与えた影響は大きそう。擬似要素やWebフォントに変わっただけで、やってることはあんまり変わらない気もする。10年でブラウザーとCSSは進歩したけれども、自分はどうなのと問いかけると……。

Source Sans Proと游ゴシック: Windows 8.1に入った游ゴシックをウェブページで使用するイメージ固め。游ゴシックはメイリオと比べると細く薄いイメージになるので、Source Sans Proだとウェイトをひとつ落とすとちょうど良い気がする。

Chrome 30のアプリのショートカットを動かせるようにする: Chrome 30で、ブックマーク・バーにアプリのショートカットが表示されるようになった。ブックマークではないので、動かせない。右クリック等から非表示にはできるけど、そうすると今度はアプリにアクセスする手段がなくなる。どうしたもんかと思ったけど、普通のタブなので改めてブックマークしてやれば良いだけだった。

レスポンス: レスポンシブ・ウェブ・デザインというのを見る人の反応や感じ方(レスポンス)を公平にすることだと考えるようにしている。同じにするのではなく、公平にする。画像の最適化を例にするまでもなく現状の実装では無理があることも多いので、それを目指してベースラインをしっかりと引きたい。

Sass 3.3の新しいデータ型: マップ: SassConfに合わせたのか、Sassの3.3 RC.1が出た。これで3.3での追加機能も固まったようなので、CHANGELOGをちゃんと読んだところ、1か月ほど前に取り込まれていた新しいデータ型であるマップについてもちゃんと入っていた。マップは、いわゆるハッシュとか連想配列とかいう名前で呼ばれるもの。

初期プロフィール・アイコン: 最近はどのウェブサービスでもプロフィール・アイコンを設定できる。そこで問題になるのが、とりあえず設定されるデフォルトのプロフィール・アイコン。全ユーザー共通であったり、Gravatarであったりするのがメジャーだけど、一部では登録時に取得したユーザー名等から生成されて設定されたりもする。

Do One Thing: jQueryを使って書くのは簡単なのはわかるけど、併発する問題も少なくないので、jQueryプラグインとして書くのをやめてみるのはどうかという脱jQueryガイド。ひとつのことを行う小さなライブラリ(パッケージ)として普通にウェブ標準で書くのが流行り始めてるんじゃないかというような締めで終わる。小さなライブラリを作って組み合わせるようにすると、自然とコードが自分で把握できる範囲に収まりやすいので、安心感があって好き。

インターレースPNG: PNGファイルを書き出す時にインターレースPNGにすると、ファイルサイズ増えるけど、表示の体感は速くなる。また、ウェブページにおいては最初に画像の大きさ分だけ確保されるので、リフロー(レイアウト)を抑止できる。レスポンシブ・イメージとまでは言えないけど、多少はみんなに公平に優しい気がするので、ファイルサイズをケチらずに、すべてインターレースPNGにしてしまうのが良い気がする。デメリットも特に知らない。

Luscious Jackson: 10数年ぶりにLuscious Jacksonを聴いてた。1stのNatural Ingredientsはものすごく聴いた記憶ある。Veruca Saltと共に、1995年前後に最もよく聴いた女声バンドのひとつだったと思う。CDなくなったあとはまったく存在を忘れていた……。明るいWarpaintみたいな感じ(乱暴)。

vim-css3-syntaxのHTML向け追加シンタックス・ファイル: vim-css3-syntaxにバンドルしていた、HTML向け追加シンタックス・ファイルであるafter/syntax/html.vimの更新をすっかり忘れていた。新たに追加したファイルやリネームしたファイルを反映させたので、HTMLにCSSを直接書く機会が多い人は特にアップデートして欲しい。

Mediumのネガティブさ: 主にシステムとして、書く人のメリットがあまりない点などがMediumの欠点として挙げられることが多い。そういうのもあるだろうけど、そもそも「喜んでタダ働きをしようとする何百万もの人々」がいるのだから、その点はあまり問題にならないと思う。それよりも、多くの記事がバッシングや自身の不満をぶつけるものに偏ってて、Medium自体がネガティブなものに見えてしまうあたりの方が気になる。

待つ価値がある: 元記事はかっこいいローディング画像のコレクションなのだけど、その導入で「よく出来たウェブサイトは待つ価値がある」と言っている。それは正しいと言えば正しいのだけど、初めてそのウェブサイトを見た人が、よく出来たウェブサイトであるかを判断することは難しいので、ほとんど空論であるとも言えそう。なるべくかっこよさげなローディング画像がイースター・エッグのようなレアなものになるようにウェブサイトを作りたい。

Webフォントのホスティング: Webフォントのホスティングのみを提供するようなサービス、つまりWebフォント専用のカスタムCDNを探していた。しかし、Webフォントがメジャーになったとはいえ、そこまでニッチなサービスはあんまりないようだ。代表的なものだとTypeFront。が、かなり制限厳しい。試してすらいないけど、$15/月は払わないとまともに機能しそうもないような仕様だった。

WebフォントとしてのFira SansとFira Mono: Firefox OSのデフォルト・フォントである、Fira Sansとそれに合わせてデザインされた等幅フォントであるFira Monoがウェブで使えるかテストしている。Fira Sansは「1990年代のHelvetica」とも言われているFF Metaが元になっていて、ウェイトとスタイルも揃っており、ウェブで実際に使えるとなったらかなり魅力的。

Chromeのalert()、confirm()とprompt(): もう結構前からだけど、Chromeのダイアログ系のデザインが変わった。白くて、「ネイティブってなんですか?」みたいな奴。変更自体は色々な考えがあってやったんだろうと思うので、そのこと自体は良いのだけど、インターネットで話題にならないのが気になる。もう誰もalert()とか使わなくなったということなのか。

GitHubのエラー・ページ: GitHubのStyleguideにエラー・ページのセクションがあるのを知った。それによると外部ファイルに依存しないように書いているらしい。CSSはstyle要素で、JavaScriptはscript要素で、画像ファイルはBase64エンコードしてData URIで、それぞれHTMLに直接埋め込むというスタイル。

昔のFeedlyのカード・レイアウトに戻す: Feedlyのカード・レイアウトは流し読みが出来て好きだったのだけど、結構前に画像がある場合もない場合も同じ高さで敷き詰められるように変更された。PinterestやMasonryのように違う高さでびっちりと敷き詰められていた方が、流し読みには向いていると思うので、ユーザーCSSで戻した。

翻訳とフェアユース: 翻訳ままのウェブサイトを、著作権というかっこうの武器で気軽に批判する人は多い。アメリカのコンテンツに関してはフェアユースという概念があるので、翻訳ままを自分のコンテンツとして公開することが問題のある行為だとは言いきれないと思う。批判する人たちは、単純に労力はあれど何の努力もなさそうな翻訳ままのウェブサイトが人気があるというのが気に食わないだけなのではないか。

url2markdown: URLを指定すると、コンテンツを抽出してMarkdownに変換してくれるurl2markdownというウェブサービスを知った。コンテンツ抽出系ではかなりの安定動作が期待できるReadabilityのAPIを使ってて、その部分に関してはほぼ問題なさそう。試しにSass、そしてSassy CSS (SCSS)を投げてみた結果は非常に良好だった。キレイなものをゴミみたいにマークアップしてるページでも良好。

Greenfish Icon Editor: IcoFXが更新再開したらアレな感じになってたので、その代わりになるアイコン・エディターをずっと探してた。オンラインのものも含めていくつか良さそうなものがあったけど、IcoFXのようないわゆるアイコン・エディターが良かったので、触った感じが一番近かったGreenfish Icon Editorに落ち着いた。

リンクで終える: 文をリンクで終えると、リンクを認識しやすいだけでなく、ユーザーが文を読み終えて直ぐにアクション可能になるので良いのではというユーザー体験に関わる話。リンクの位置はこの記事を読むまで、なんとなく文中にあると途切れ途切れに読まれちゃうかなーくらいにしか意識していなかった。ただし、日本語ではかなり文章を工夫しないと、名詞でリンクするのとリンクで終えるのを両立するのは難しいので、こだわりすぎると簡単に文章が破綻する。元記事はここをクリックという言葉をリンクにするな、という話が中心。

書くことない日記 2013-09-30: 書き続けるの3か月くらいでだいたい力尽きる。もうちょっとで2000記事になるので、今年中には到達したい。というようなことを去年も書いた気がする。

Vimのユーザー・ランタイム・ディレクトリを探す: Vimのシステムのランタイム・ディレクトリは$VIMRUNTIMEで拾えるけど、ユーザーのはない。なのでポータブルなvimrcを書けるようにWindowsとかでも$HOME/.vimに揃えてた。Vim 7.4から(だと思う)ユーザーのランタイム・ディレクトリにvimrcを置けるようになったので、そこに置けばvimrcから<sfile>を使って簡単に探せるようだ。

Source Sans Pro・OpenType・Windows・Chrome: タイトルの組み合わせでSource Sans Proの部分だけが上記スクリーンショットのように少しぼやっとした感じになる。具体的にはCreative CloudのインストールでSource Sans ProのOpenType版がインストールされるので、CC入れててChrome使いの人は、このウェブサイトなどでぼやっとする。

炎路を行く者: 守り人シリーズを読みなおしてから、読んでいなかった炎路を行く者を読んだ。本編で強烈な印象を残しながらも人物像がぼんやりしていたアラユタン・ヒュウゴを堪能できた。守り人シリーズは好きだったけど、なんかこう消化不良みたいなところり、そのひとつがヒュウゴの印象と語られ方のギャップだったので、そのあたりが補完できるこれを読み、より好きになれた。

Webmonkey: Webmonkeyがどうやらついに本当に終了するようだ。最後のあたりでは唯一の執筆者だった人の話。Webmonkeyに特に強い思い入れはないんだけど、ひとつの指標として個人のウェブサイトはああなるべきではなく、逆に集客を意識したウェブサイトはあああるべきみたいな感じで見て読んでいた。記事の組み立て方とか、トピックのチョイスとか。安らかに眠って欲しい。

空文字列のリンク: a要素のhref属性で空文字列を指定した時の挙動はその文書の再読み込みになると思っていた。けど、どうもInternet Explorer 10(やもっと古いバージョン)では./と同じになるようだ。確実にそのものを再読み込みするためには明示的にその文書自身のURLを指定するしかなさそう。

スクロールできる表: 表をかっこよくスクロール可能にするテクニックについてのResponsive scrollable tablesという記事を読んだ。この記事ではJavaScriptで表をdiv要素で括って、それから溢れたらスクロールバーを表示(+α)という形でやっている。これをいじってて気づいたんだけど、JavaScriptで追加マークアップをする代わりにtable要素のdisplayプロパティーをいじってやると簡単にスクロール可能な表になるようだ。

G.F.: Google Fontsのフォントをだらだら眺めることの出来るページ、G.F.を作った。ページを開いて少し待つと最初のフォントが表示される。何もないところをクリックで次のフォントが表示されるので、ひたすらクリック! Shiftを押しながらだとひとつ前のフォントに戻れるので、あっと思っても大丈夫。

AdSenseのテキスト広告の矢印: AdSenseのテキスト広告にのみ表示される矢印が変わった。今までは灰色のゆるやかなグラデーション背景の長方形に黒い矢印がのったものだったが、広告のカラースキームでタイトルに指定した色(より少し明るい色)が背景の丸に>がのったものになった。ちょっとの間、青の四角に白矢印だったような気がしないでもない。

レスポンシブ・コード: ウェブページにコードを載せる時に、狭い画面ではそのコードのみが書かれているファイルへの単なるリンク、余裕のある広い画面ではそのファイルの内容をインライン展開するというもの。流行りの感じで言い換えると、レスポンシブ・コード的な何か。

Gruntべったり: Gruntをよく使うようになったけど、プロジェクトの中心にどっかと存在していると不自由なことが多い気がするなーと感じている。Gruntべったり、つまりプロジェクトをGruntに強く依存させるとポータブルである保証のあるタスクだけを使う(書く)ことを強いられる。Gruntはその雑な自由度が良い所で、そこに何かしらの制限が加わってしまうのはその良さを低減させてしまうと思う。

アンカーの子要素の余白: HTML Standardsではa要素の子にh1とかpとか果てはsection要素まで含めることが出来る。その場合、子要素のmarginプロパティーによる余白があったりするわけだけど、その余白部分もリンクになるかどうかはブラウザーによって違うようだ。

Readabilityのブックマークレットのhttps対応: ReadabilityのChrome拡張があらゆるページにjQuery (他ログイン検知するためのiframe要素など)を仕込むのでアンインストールした。代わりにブックマークレットを使うようにしたんだけど、これはこれでhttpに置いてあるJavaScriptファイルを仕込もうとするので、Chrome 29だとhttpsのウェブページではブロックされて使えない。このJavaScriptファイルはちゃんとhttps経由でもアクセスできるようなので、適宜使ってくれるように書きかえる必要があった。

いわゆるlorem ipsumとかじゃなくて: ウェブデザインにおいてそのウェブサイトで実際に使われる文章を用いてテストすることは重要だという。レイアウトのテスト等においてはその限りではないけど、フォントの選択やリンク色の調節・text-*プロパティの確認などにおいてはいわゆるlorem ipsumとかじゃなくて、そのウェブサイト特有の文章を用いて行うのが良いと思う。そうしないと読むという行動においてそのウェブサイトにどういう問題があるのか確認することが出来ない。異論はかなりある。賛否半々という印象。

Last.fmのNow Playingウィジェット: Last.fmが再生中の曲のアルバムアートを表示するウェブページの提供を始めた。背景画像はアルバムアートをfilterプロパティーでぼかしたものになってたり、自動リフレッシュだったりなかなか良い。このウェブページは描画領域のサイズに合わせてレイアウトが変化するので、iframe要素で読みこめばウィジェットのようなものになる。

Vimでメタ構文変数を簡単入力: メタ構文変数とか呼ばれてるらしいfooとかbarとかのアレがまったく覚えられない。のでVimに一般的なメタ構文変数のリストを覚えさせておいて、fooの上で<C-a>するとbarに、barの上で<C-a>するとbuzに、と順に次の(<C-x>だと前の)を選択してくれるように関数とマッピングを書いて使うことにした。

code要素の直前・直後で自動折り返しを発動させる: code要素の内容には途中で折返しされない長い文字列が入ることが多い。例えばinsertAdjacentHTML()であるとか。こういった文字列が行をまたぐ時、その手前にある文字(上記スクリーンショットでは「は」の文字)まで次の行に送られることがある。これはブラウザーにより挙動が違うが、CSSで大体のブラウザーで巻き込まないように調節することができる。

ID使っても別に問題ない: CSSでID使うの良くない……どころか、ID使うのはゴミクズカスみたいな風潮で辛い。その根拠はいくつかあり、それらはCSSだけをただそのまま書く場合には納得出来ないこともないかなーと思うので余計に辛い。特にOOCSSのようなアプローチではIDは混ぜるな危険。だからといってIDを使わないのがベスト・プラクティスなわけじゃない。

ちょっとしたモノ: ロゴ変える以前からちょこちょこCSSに一定の方向性を持って手を入れてる。クリックできるものは必ずテーマカラーの青、逆に青なら必ずクリックできるようにとか。:hover擬似クラスに依存しないというような意味もある。つまりあるがままの状態で十分にコントラストを与え、メリハリを付けたいというわけ。

アニメーションGIFの再生にGPUは使われるのか: 動画ファイルの再生は今時のデバイスだとGPU的な何かにより再生支援が行われ、CPUへの負担は少なくなる。「じゃあそれアニメーションGIFにも効いたりするの?」と某所でピンク色の髪の毛の女の子が襲ってくるアニメーションGIFを見た時に疑問を持ったので、雑に調べた。

ファビコン・カンニング・ペーパー: Translation of: favicon-cheat-sheet

Vim 7.4ビルトインのCSS構文ファイル: Vim 7.4の標準ランタイムに含まれているCSS構文ファイルにはかなり大幅な変更が加わっている。CSS Animations等の新しいCSS仕様に対応していたり、非推奨になった要素をErrorで表示するようになったり、ベンダー拡張プリフィックス部分を別に強調したりなどなど。

favicon-cheat-sheetを日本語に訳した: 知らないうちに増えるし、減らないし、勝手に決め打ちでリクエストしてくるし、ドキュメントのありかバラバラだし……と色々な面倒さがあるファビコン。その全般的なガイダンスであるfavicon-cheat-sheetの日本語訳を公開した。元文書がGitHubにあるためそれをフォークしたリポジトリで翻訳している。何かあったらプル・リクエストやイシューで報告してくれると楽で嬉しい。

Microsoft Wireless Mobile Mouse 4000: ビックカメラで1281円で投げ売りされていた(もう品切れ)ので特に理由もなくMicrosoftのWireless Mobile Mouse 4000を買った。チルトホイールだと最廉価モデル。ひっかかりの無いホイールはあまり好きじゃないけどすぐ慣れるんじゃないかと楽観している。1281円なら……という程度ではあるけど、良い。

StatusCake: was it up?が停止してからウェブサイトの死活監視にはUptime Robotsを使っていたんだけど、StatusCakeをここ1か月程併用している。無料で無限の死活監視が行え、通知先もメールだけでなくTwitterや特定のURLへのPOST等などに複数設定できたり、DNSの不達なんかもテストできたり多機能。まだ落ちてないのでちゃんと通知来るかわからない!

ツールの比較: ユーザー視点でのツール(やソフトウェア、サービス)の比較はどうしても自分がメインに使っているものに偏った視点になるので、出来うる限りしない方が良いと考えている。特にブログのような場所では簡単で特徴的なケースで比較を行われやすいので、不公平であったり比較になっていないようなことが多い。そういった簡単で特徴的なケースなら、そのケースでメリットを大きく受けられるツールの話として書くのが良いと思う。

Detect Font Loading v0.1.0: とりあえず作っただけ感あふれてたDetect Font Loadingをここで使うことに決めたので、少し手直ししてBowerに登録した。タイムアウトとかチェック間隔の設定ができたり、複数のフォントをまとめてチェックできたりするようになった。必要最低限の機能は揃った気がする。

ReadabilityにURLをインポート: ちょっとした事情があってReadabilityアカウントの引越し作業してた。アーカイブした記事のエクスポートはあるんだけど、インポートはない。APIで……という感じだけど、メールで投げた方が面倒くさくなさそうだったのでそっちでやった。

Gunosyからのトラフィック: ユーザーとしてのGunosyについての考察は数多く見受けられるけど、トラフィックの流入元としての評価はあまり見かけない。このウェブサイトにおいてGunosyからのユーザーがちょっと極端な感じに見えて気になるので、タイプの違うTwitterとはてなブックマークとデータで比較してみる。

vim-css3-syntaxとCSSプリプロセッサー: vim-css3-syntaxではSassのSCSS文法のみサポートしている。LESSについてはVIM-LESSでサポートされているので、このプラグインをインストールすれば良い。Sassのインデント文法やStylusについてはサポートしていない。

Bower化してた: Gitのsubmoduleの更新が面倒になってきたのでBowerを使うように変更した。のでnormlize.scssやscss-partialsなどのbower.jsonをちゃんと書いてBowerのレジストリに登録した。そしてそれらを使うようにhail2u.net-stylesなどを直してた。一生分bower.json書いた気分だ。

あー……JavaScript……: Sigh, JavaScriptというウェブサイトが出来た。作ったのはDan Mallで、プログレッシブ・エンハンスメントについての問題提起のためということのようだ。僕はプログなんとかやJavaScript無効で云々に限らず、必要なものを必要な時に必要なだけ利用するということなのではないかなーと考えている……があまり実践していない。

text-overflow: ellipsisとリンク: text-overflow: ellipsisプロパティを使った三点リーダーによる省略は、テキストを格納するコンテナー要素に対して指定することが多い。例えばp要素であったりli要素であったり。ただしその内容がすべてa要素のようなケースの場合、Chrome 29とInternet Explorer 10では三点リーダーがクリックできなくなるので、a要素をinline-blockにしてそこでtext-overflowプロパティを使った方が良い使うとクリックできるようになるけどアレ(追記あり)。

サービスが落ちた時に: この前AWS由来で様々なサービスが停止した時の障害通知ツイートを例に、どういう通知が良いのかを簡単にまとめたWhat should you tell your users when your service is down?という記事を読んだ。コンパクトにまとまっていて、かつ実践してなさそうな話だったので、いつでもすぐ思い出せるように日本語訳を作成した。

あなたのサービスが落ちた時にユーザーになんと言うべきでしょうか?: Translation of: What should you tell your users when your service is down? by David McKenney

PDFCreatorでEPSをSVGに変換する: EPSをSVGに変換するソリューションは色々あるんだけど、あんまり考えずに出来て安定してるものはないかと探した末にPDFCreatorに落ち着いている。内部でGhostscriptを使っているので変換はそこそこ信頼できそう。GUIはクソでゴミをコーティングしたみたいな感じだけど、一回変換したら終わりなので我慢して使ってあげている。

プロジェクト: ロレム・イプサム: @ub_pnrが日本語英語数字がちょうどよく混ざったライセンスフリーの文書を探している。とつぶやいてた。僕もダミー文章にはWikipediaから英数字が混じっていることが多いIT系の記事とかを拾ってきてたけど、CC BY-SAとかなのでリンク張ったりとかちょっと公の場で使うには面倒臭い感じで、パブリック・ドメインのそういう文書群は欲しいと思ってた。ということでそういうダミー文章のためのロレム・イプサム(roremu ipusamu)というCC0なプロジェクトを作った。

grunt-task-helperが良さそう: grunt-task-helperというGruntプラグインを使っている。ざっと言うとsrcとdestを比較してフィルターをかけた結果を他のタスクで使えるようになったりするもの。例えばビルトインの比較機能であるnewFileを使うと、更新されたファイルがあった場合にだけ走るタスクと似たようなものが簡単に作れる。

空白の多いアイコン: 直訳だと空虚なアイコン、一般的にはライン・アイコンなどと呼ばれているものは認識するに時間がかかるという問題を抱えているという記事が数日前に話題になった。これに対して人間はもっと認識力に優れているという反論が書かれた。素早く認識できるということと、認識し覚えることができるということはまったく別の話だと思うので、反論はピントがずれてると思う。

Handlebars.jsを使ったファイル生成Gruntタスク: 主にHTMLの生成を行うGruntタスクの話。色々なテンプレート・システムの利用を考えたんだけど、Handlebars.jsにした。よく使うからというのもあるし、いざとなったらデータの再構成を待たずにその場しのぎでテンプレートにロジックを混ぜてお茶を濁せるのが好き。その場しのぎ、お茶を濁す、良い言葉だ。

JekyllみたいなのとWordPressみたいなのの組み合わせ: 静的ウェブサイト生成ツール(面倒なので以下Jekyllみたいなの)と動的ウェブログ・システム(同じくWordPressみたいなの)のそれぞれの長所や短所はみなよく知っているようで、よりその人の状況にあったどちらかを選んだみたいな記事をよく見る。そういうの見る度にどうして両方使わないんだろうと思う。

フォントの読み込み完了を検知する: TypeKitとかがやってるWebフォントの読み込みが終わったらhtml要素にクラス名を振るアレの話。TypeKitがオープンソースでリリースしているWebFont Loaderを使う方法が安全で安定。Googleがホスティングしているのもあるので手軽でもある。でも読み込み完了の検知以外にも機能があってパワフルすぎる気がするので、Adobe Blankを使って自前で書いてみることにした。

Sass 3.3向けVimコンパイラー・プラグイン: Sass 3.3でコンパイラーの出すエラー・メッセージがちょっと変わる(った)。Vimプラグインの構文チェッカーで最も有名と思われるSyntasticでは既に反映されているので、これ使っている人は最新版にするだけで良い。僕みたいに使ってない人は書きかえる必要がある。

3つのパーツ: UsabilityPostの中の人が個人サイトの方に書いた、良いビジュアル・インターフェイスをデザインするために大切な3つのパーツという記事をゆっくり読んでた。数字で始まるタイトルのエントリは総じてクソみたいに思っていたけど、そんなこともなかった。

Prism vs. Google Code Prettify: Prismを使ってるウェブサイトが増えてきたなーと感じる。Google Code Prettifyで困ってないというか既存のものの中では最もバランスが良いと思っているので、あまり乗り換える気はない。が、「Only 2KB」を謳うPrismのサイズの小ささには惹かれる。

2013ロ08ゴ18: 本文フォントとロゴが同じなのがなんとなく落ち着かないので、こんな感じに変えた。スラブ・セリフに戻すか迷ったけど、スクリプトの方が良さそう。faviconぶっ壊れてる気がするのであとで直す。

normalize.cssはそのまま使え?: normalize.cssのコミットを購読してる。主にnormalize.scssを追随させるためだけど、勉強になることも多い(多かった)し。この前のコミットでREADMEが更新され、そのまま使うことを推奨すると変更された。特に邪悪な変更というわけではないんだけど、そのまま使いたくないなーみたいなのがちょっとある。

Sassで文字列の置換を行うユーザー定義関数: Sass 3.3で入る予定の文字列関数の使い道を色々考えているけど、まったく「これは!」みたいなのが思いつかない。なので、実際に利用しがいがあるかどうかは置いておいて、色々作ってみようかなと考えている。まずは文字列の置換。

GruntのMultiタスクの実行順: GruntのMultiタスクはまとめて実行モードだと書いた順に動くようなので、いちいちターゲット指定しなくても良さそうと勝手に考えていた。一応は本当に書いた順で実行されることが保証されてるのか気になってはいたので、ちゃんとソースを読んでみたところ、どうも保証されないようだ。

28分間: Modular Scale Calculatorの平均滞在時間だそうだ。僕も初めて使った時は一時間近くいじっていたような気もする。28分とは言わないけど15分くらい叩きだすコンテンツ作りたい。「結局どうすればいいの?」で平均5分くらいで、「Sass、そしてSassy CSS (SCSS)」だと平均7分。読み物だとこれくらいが限界な気がする。

雨戸: 二階の窓に雨戸付けない家増えた気がする。最近の窓はだいたい二重になってて丈夫になったからとかそんな理由もあるらしいけど、電動シャッターがメジャーになって設置にも運用にもコストかかるから二階は節約するとかいうのが本音らしい。一階には付けるのは防犯上か。

Gruntのグロブとfilterプロパティ: Gruntのグロブでは普通のグロブと同じように特にファイルとディレクトリの区別はされない。Gruntプラグイン側でパスの存在チェックまではしてくれるの多いけど、間違えてディレクトリ投げると大体はエラーを吐いて止まる。のでファイルを投げるものならfilterプロパティも使ってファイルであることを保証してやった方が良い。

いっぱいMinGWがある環境におけるStrawberry Perl向けcpanmのラッパー: MinGWに加えてGit for Windows、Strawberry Perl、DevKit付きのRubyInstallerと、MinGWがいっぱい入ってる。こういう環境だとStrawberry PerlのセットアップでPATH環境変数にld.exeとかがあるフォルダーへのパスを追加される(または追加する必要がある)のがコンフリクトの原因になってとても厄介。どうせもうcpanmしか使わないので、そのラッパー書いてRubyInstallerのDevKitとRubyGemの挙動に似たような感じにごまかすことにしたメモ。

Node.vimを使い始めた: Node.vimはNode.jsでのrequire()のパス解釈に従ってVimのgfによるファイルへの移動を行ってくれるVimプラグイン。つまり実際にそのNodeスクリプトで使われるファイルへ移動できるようになる。Go to file!

CSS Condense: Sassで書いてると分散しまくるMedia QueriesのブロックをまとめられるCSS圧縮ツールを探している。まずはCSS Condenseというものを見つけた。だいたいの所は単純な空白と改行削除ツールだけど、Media Queriesを始めセレクターの最適化などなかなかアグレッシブな機能がある。Node.jsパッケージだし、grunt-csscというGruntプラグインもあるので導入の敷居は極めて低い。

SassとBEM: SCSSファイルを整理し直している時、一気にBEMなクラスを使って書きなおしてやろうかとも考えていた。けど途中でSassならSCSSファイルの分割とその中での工夫によってBEMの構造を表現できそうと感じたので、今はそういう方向で試行錯誤している。実際BEMのウェブサイトでもファイルシステムを使ったBEMの表現方法という似た話が書かれているので荒唐無稽な考えではなさそう。

Handlebars.jsのincludeヘルパー: Handlebars.jsでのテンプレートファイルの取り込みはpartial使えみたいな感じだけど、partialにするものを全て定義しなくちゃいけない。partialのテンプレートでの記述もpartialごとに変わる。それをSSIのインクルードみたいに{{include "foo.hbs"}}でコンテキストを考慮して取り込めたら簡単なんじゃないかなーと。でincludeするだけのヘルパーを作って使うようにしたメモ。

浅深: Underscore.jsのclone()をずっと深いやつだと思ってた。ドキュメント読んでないのがバレる。忘れないように画像でメモ。深いやつやらないで済むような書き方を心がけましょうとか言われて目から鱗らしきものが落ちた。

Node.jsパッケージ: xml2js: Node.jsでRSSを処理するの何がいいのかなーと色々試していた。その中で一番考えなくて済みそうなのがxml2jsだった。XMLをparseString()に渡すと、コールバックの引数にオブジェクトに変換して渡してくれる。

中央(右)揃えと三点リーダーによる省略: text-overflow: ellipsisではみ出した文字列を三点リーダーで省略できる。画面サイズのバリエーションが増え続けているので、こういったなんとなくどうにかしてくれることを期待できるCSSプロパティーは積極的に使いたい。のだけど、これとtext-align: center (right)を組み合わせた場合、テキストの開始位置がChrome 28だけ変化する。

グラボを壊した: 昨日くらいから異音を発していたのでファンとヒートシンク外して掃除してグリス塗り直したら、通電してファンは回るものの画面が映らなくなった。つけてる間に壊れるよりかはマシかとか夏でうるさかったし静かになっていいな! とかポジティブに受け止めておく。IGPで耐える日々が始まった。

大量の・氾濫・フラットな・ウェブサイト: 紫の3がそろそろ出そうなので、触るついでにいろいろな人の触った感想なんかを流し読みしている。The death of flat designではBootstrap 3により氾濫する大量のフラットなウェブサイトにより、その新鮮さはすぐに薄れるのではないかと指摘してる。

unicode-rangeを使ってArialにSegoe UI Symbolを混ぜる: TwitterでUnicode6.0絵文字を表示させるためのユーザースタイルシートで快適になった。これで大体は良さそうなんだけど、unicode-rangeを使ってArialにSegoe UI Symbolを混ぜちゃうともっと安定して良さそうな気がする。

使われないWebフォント: フォントAとフォントBの2つのWebフォントを定義したCSSファイルをlink要素や@importで読み込むとする。もちろんそのCSSファイルは読み込まれるが、Chrome 28では定義されたフォントが実際に本文で使われている場合にしかフォント・ファイルの読み込みは行われないようだ。url()で参照される画像ファイルが遅延読み込みされるのと一緒。

OpenTypeのfeaturesをプレビューする: あるフォント・ファイルがオールドスタイルの数字とかスモールキャプスとかのOpenTypeのfeaturesを持つかどうか確認する方法は色々ある。Photoshopでもいいし、FontForgeでもいい。ただ、あるfeatureを有効にした状態が手軽にプレビューできるものとなるとあまりない気がする。ググってもらしきものを見つけることが出来なかったので、Drag and DropとFileReaderを使ってfeatureを一覧プレビューするページを作った。

Sassで色をURLエンコードする関数: Sass 3.3で導入される予定のものではなんといっても--sourcemapオプションが注目。でももちろんそれだけじゃなくて、文字列から文字列を探すstr-index()関数とか文字列から一部切り出すstr-slice()関数などといった文字列関係の関数の充実もある。これらの新文字列関数を利用すると、以下で取り上げる色の簡易URLエンコードを行う関数のような、文字列をちょっといじるというようなことをCustom Functionを作ることなく行えるようになる。

URLエンコードを利用したData URIなSVGでSassのインターポレーションを利用する: Base 64ではなくURLエンコードを利用したData URIなSVGは記号類以外は普通のテキスト。なので簡単なものならばSassのインターポレーション機能(#{$foo})を使いダイナミックにデータを弄ることができる。一年半前くらいにヨモツネットで書かれてたグラデーション・ミックスインとかで使われている。それのもっと単純で即戦力な利用例。

Source [Sans|Code] Pro: Source Sans Proを本文に、Source Code Proをコードに使うようにした。Source Sans Proは400と700をそれぞれitalic付きで、Source Code Proは400と600を使ってる。共にGoogle Fontsを利用しているけど、WOFFのみをダウンロードするようにしておいた。

Practical Typography: Who is typography for?

ArbitraryCounter: Hacker News経由でArbitraryCounterというのを知った。カウントをアップまたはダウンするだけというニッチなAPIを提供するだけのもの。データは48時間しか保たないので本当に開発者向けなんだろうけど、いいね! ボタンっぽいものを作るという形で遊んだら楽しかった。

Digg ReaderとAOL Readerにはがっかりだ: Google Readerという巨人亡き後の権力の座が欲しいだけ……というとあまりにも攻撃的だけど、少なくとも両者共に未来を見ていないようなものだった。これからのRSSリーダーに必要な物は何なのかみたいなものを考えた形跡がまったく感じられない。Google Readerが描けなかった世界を見せてくれるというような期待を、特にDigg Readerの方に持っていたのでとてもがっかりした。

blockとtable-cellの組み合わせ: displayプロパティーの値のひとつであるtable-cellは、通常tableやinline-tableと組み合わせて使う。リストに使うと空白を作らずに各項目を並べられ、かつfloatプロパティーを使うより色々面倒くさくない。その場合にtableやinline-tableではなくblockと組み合わせると、table-cellの幅の自動調整が行われなかったり、他にもマークアップ上での制約や組み合わせ必須なプロパティーなどがないという特徴があり、スタイリングの自由度が上がる。

WindowsのChromeでのUnicode6.0絵文字: Windowsの少なくともChrome 30までではUnicode6.0の絵文字がだいたい表示されず豆腐(□みたいなの)に化ける。理由はDirectWriteじゃなくてFontLinkに対応してないとか、デフォルトのフォールバックでUnicode6.0絵文字を含むフォントが指定されていないとかそんな感じなんじゃないかと憶測している。本体がDirectWriteに対応するまでどうにかなるとは思えないのでユーザースタイルシートでどうにかした。

Drawic v1.0: Drawicのアイコンも24個とキリの良い数になったので、これでv1.0ということにした。追加したのはGit、いいね!、TumblrとVimのアイコン。

お前のウェブサイトがゴミだらけなのはお前のせいだ!: モデレーションの大切さを説いた記事。合わせてインターネットの10の法則もどうぞ。

SVG使ってる: アイコン・フォントは便利ではあるので、ちょくちょく作ってはいる。けどどうしてもSVGにしたくなっちゃう……という好みの話。SVGの方が歴史がある(WOFFと比較して)とか、Adobeプロダクトがあるとか、そういう両者のフォーマットや環境における差異は時と流行りが解決することで、そういうのが理由ではない。僕がSVGよりなのはその「制御しやすさ」に尽きる。

v6.38: PNGを追放したり、:hoverに強く依存しないようにボタン類のコントラストを上げたり、カラースキームも#558899ベースから#1188bbベースにして背景色とのコントラストを上げたり。他はロゴとグローバル・フッターのデザインを変更したくらいで、コンテンツ部分はほとんど変わってない。そこかしこのSVGがFirefox 23まででギザギザだけど、ちょっと前に書いたようにすぐに治るのでこのままで。

SVGO: SVGOはSVGに不要なホワイトスペースの削除に留まらない最適化を行ってくれるステキなソフトウェア。ちょっと前までなかなか挙動不審だったので、利用を避けていたんだけどv0.3.7では安定している感じなのでまた使い始めた。デフォルトでは入力ファイルを上書きしちゃうのでバックアップを取るように心がけたい。

Firefox 24でSVGのバグがひとつ直る: 少し前に書いたけどFirefox 23までにはSVGをCSSのbackground-imageプロパティーでサイズを変更して使うと、ぼやけたりギザギザになるバグがあったが24で直るようだ。既にAuroraでは直っているのを確認できる。SVGを避ける理由がまたひとつ減った。

Drawic #3: Drawicに時計と三本線のメニュー、そしてReadabilityのアイコンを追加した。

text-rendering: optimizeLegibility: Webフォント・text-rendering: optimizeLegibility・Windows・Webkit/Blinkという組み合わせにおいて一定の確率で文字の表示がおかしくなる。上記スクリーンショットのように本来全て同じLimelightで表示されるべき文字がそうならなかったりする。確認した限りではtext-renderingプロパティーでoptimizeLegibilityを使わなければ起こらないので、この組み合わせを使わないだけで良い。

フロントエンド寄りのリンク集: Sixty-Fourという名前でフロントエンド寄りのリンク集を作った。CSSが濃い目でJavaScriptは薄め、Webタイポグラフィーが隠し味。

SCSSファイルの組織立て: ファイル間の移動が面倒とか補完が効きやすいからとかいうひどい理由からあまりSCSSファイルを細かく分けてなかった。積極的にplaceholder selector利用するようになったりで見通しが悪くなることが多かったのもあって、もうちょっと組織立ててやった方がいいなとこのウェブサイトのSCSSで色々試してる。変数定義のカテゴリ分けとクラス名の追加・整理、そしてSCSSファイルのパーツ単位での分割まではやった。

IE10におけるborder-radiusとpaddingの組み合わせ: Internet Explorer 10においてborder-radiusとpaddingプロパティーを組み合わせると、余白を確保してから丸められる。そのためこの組み合わせを画像に適用すると画像が丸くならない。他のブラウザChrome 28やFirefox 23、Opera 15では丸めてから余白を確保するので、画像などに適用してもちゃんと画像が丸くなりきれいにふちどりされる。

コンテンツを基準にしたブレークポイント: Mobile FirstをMedia Query-less Designととらえ直し、それとContent-based Breakpoints (& Tweakpoints)を組み合わせ、コンテンツに主眼をおいて段階的に構築していくというアプローチ。僕も前に似たような話書いたけど、今読み直すとデバイスを意識しないことの方に重心を置きすぎててピントがずれてるような感じだ。

Async版広告コードを使ったAdSenseの広告切り替え: Google Adsenseの広告コードでAsync版のBETAテストが始まった。広告表示時にページの読み込みをブロックしないというのが売りでそれ以上でもそれ以下でもなく、コードもそんなにスッキリするわけではないし、空要素さん……みたいな感じだけど、現行のものよりはこっちの方が良い。ということでこれを利用する場合に広告サイズの切り替えはどうするのが良いのか考えてるメモ。

PubSubHubbub v0.4でのLink HTTPヘッダー: PubSubHubbub Working Draftのv0.4が出た。某氏のブックマーク→MLを流し読んでPublisher側では何か作業する必要はないように読んでしまったけど、どうもatom:linkの代わりにLink HTTPヘッダーを使って購読先を探せるようにするようにということのようだ。JSONや画像を筆頭にあらゆるもののPub/Subもサポートするようにするためみたい。

main要素……: main要素については色んな人が色んな所で書いてるので、そのものがどういうものかとかは今さら書かない。main要素がもし複数出てきていいならアレとアレにdiv要素使わなくて良くなるなーという。アレとアレというのは、hAtomのentry-contentともうひとつはSchema.orgのArticle(BlogPosting)/articleBody。とか言いつつそこら辺は好みの問題っぽいのでちょっと別の話。

みんなアイデアはあるはず: TypeKitの中の人だったり8 Facesの編集長だったりするElliot Jay Stocksによる半年ほど前のpastryから。アイデアを実現するための時間というのは存在するのだろうかみたいなお国事情はありそうだけど、オール・オア・ナッシングではないというのはそういう事例が話題になることも増えてきたしそういう時代なのかも。でもなーうーん。

vim-css3-syntax v0.8: HTML Standardのtemplate要素とmain要素が追加された変更はさっさと取り込んだ方が良さそうなので、追加してv0.8としてリリースした。

検索ボックスを左に拡大しない: 検索フォームの入力エリアにフォーカスすると、その入力エリアを左に拡大させるという最近多い気がするアレ。僕は片方が強い乱視だったりして目の焦点を合わせるのにまぁまぁ時間がかかるので、急に視線を動かさざるをえない状況に追い込まれるとイラッとする。比較的ウェブページを見ることに慣れている方なので目が疲れるとまでは言わないけど、慣れてない人は疲れてしまうと思う。特にアニメーションさせられたりすると、なまじ眼球はついていけるので逆に辛い。

Mailchimpの新ヘッダー: Mailchimpのウェブサイトが新しくなり、ヘッダーがかっこ良くなった。もしかしたら固定された水平ヘッダーの最適解かもしれない。なかなかパクりたい。

GitHubのモチベーショナル・ポスター: 最後の行長いな。GitHubのOctocatの利用条件に従って煮るなり焼くなりどうぞ。

どこにいるの? どこへ行けるの? どこにいたの?: どこに行けるのかに注力するあまりにどこにいるのかさっぱりなことが多かったりする。複雑な構造のウェブサイトであればあるほどそうなりがち。どこにいたのかについてはこの記事が書かれた頃あたりからブラウザが優秀になったため任せてしまっても良いからなのかあんまり書かれてないけど、パンくずナビゲーションとかはどこにいたのかを示してそうに見えて実はしてない(ことが多い)とかそういう辺りは気にした方が良い。このウェブサイトでそのページ自身のURLにリンクを張ることをほとんどやらないのはこの記事の影響もある。

Feedlyのクローラー: FeedlyのクローラーのUserAgentに載ってるURLにちょっと書いてあった。304ちゃんと見るとか404ですぐにクロールしなくなるとか普通な感じ。もちろんPubSubHubbubもサポートしている。301辿って切り替えるとかはなさそう。Googleのもそうだったような気もするけど。

THERMOS 真空断熱タンブラー 320ml: 少し前にBODUMのダブルウォールマグを予定通り一年経つ前に割ったので、今度は割れないはずのステンレスなTHERMOSの真空断熱タンブラーにした。新しいつや消しの方。前もこれにしようかと思ってたんだけどステンレスミラーのはあんまり好きじゃなかったのでちょうど良かった。

AdSenseの広告切り替え: Google AdSenseが公式にいくつかのケースに限って広告コードの改変を許可したので、後に手を入れることも考えて効率的なコードを考えている最中のメモ。

border-radiusとアンカー領域: アンカーをborder-radiusプロパティーを使って丸くするというのは良くやる。丸くと言っても微妙な角丸から完全な真円まで様々だけど、多かれ少なかれアンカーの確保する領域と丸くなった枠線の間に空白ができる。じゃぁその空白の部分はアンカーなのかという疑問への回答は実装依存だったというメモ。

Calibri LightをCSSで: Windows 8には最初からCalibri Lightがあり、Windows 7とWindows 2008 Server R2にも更新プログラムで来ている。イタリックもちゃんとある。が、CSSから手軽に切り替えて使えるわけではないようだというメモ。

適切に改行を行う: ブラウザーはviewportによって折り返しを自動で行なってくれるわけだけど、場合によっては適切ではない位置で行われてしまうのをコントロールしたいという話。見出しをセンタリングしているようなケースで幅によっては一文字だけ次の行になってかっこ悪い! みたいなのを解消したいということであったり、逆にびろ~んと間延びしないようによさそうな位置で改行を入れたいということであったり。一年くらい前にResponsive Line Breaksと呼ばれるようになった。

バナーとは目に入らないもの: 倫理的かつ効果的なバナーというものが少しずつ増えてきたような気がするが、そうしたウェブの変化により利益を得るのは倫理的ではないバナーのような気がしてならない。

FirefoxにおけるSVGの背景画像: 結構前から21の現在に至るまでFirefoxではCSSで背景画像に指定されたSVGをうまく拡大出来ずにぼやける(ラスタライズしてから拡大してる)のはSVG使おうとすると普通にぶち当たるのでかなり有名。で、その対策として大きくSVGを作って縮小するというのがベスト・プラクティスっぽい感じだったんだけど、縮小でもアレなことに最近になって気づいた。環境依存な気がするので、とりあえずメモ。

Feedlyに引越してはいけない(今は): Feedlyはなかなか素晴らしいフィード・リーダーだと思う。カード・レイアウトでざっと流し読みしつつ気になったのがスッと取り出せるまたはタブで開けるというスタイルは好き。最近はここが勝負とばかりにGoogle Reader互換APIを提供したり精力的で良い。それでも引っ越してはいけない。購読しているRSSのリストをOPMLでエクスポートできるようになるまでは。

altってあれでしょ? あのーほら……: HTML Standardsの中でも屈指のややこしさな気がする4.8.1.1 Requirements for providing text to act as an alternative for imagesを全容を把握しやすいように箇条書きにして日本語に訳した文書、HTMLにおけるimg要素のalt属性を作成した。

HTMLにおけるimg要素のalt属性: HTML Standardの4.8.1.1 Requirements for providing text to act as an alternative for imagesをざっと把握できるように日本語で箇条書きにしただけのものです。最終的には原文をしっかりと読むべきでしょう。

縮小したら文字が大きく: スクリーンサイズに応じたフォントサイズの変更はかなり読みやすくなるアイディアだと思っていて、ここでもずいぶん前から使っている。が、ブラウザーのズームと相性が非常に悪く、縮小したつもりが文字サイズが大きくなったみたいなことがよく起こる。このウェブサイトでもネタ元のウェブサイトでも起こる。

RSS is plumbing.: RSSはいろんな勝ち組ウェブサービスにほぼ瀕死に追い込まれてて、影響は意外なところにも波及する。Twitter API v1の終了により、自分のツイートを自由に自分のウェブサイトに載せることがすごく面倒になったとかもそのひとつ。自分のなのにね。スクレイピングの時代に戻ったりして。

後ろで定義したセレクターも@extendで参照できる: Sassの@extendではてっきり@extendするまでに参照するセレクターを定義しておかなければならないと思い込んでいた(変数はそうなので)んだけど、そんなことはなかった。どこに書いたセレクターでも、例えファイルをまたがっていても@extendできる。

コンテンツとナビゲーションの順序: 見た目上ではなくHTMLソース上での話。ネタ元はonderhandのcontent vs sub navigationという記事。ここではサブナビゲーションを前にするということは訪問者に本来見て欲しいコンテンツよりもどっかに別のとこに行ってもいいよと言うようなもので、どうすればいいのか訪問者に判断させることになりもするとして否定的。つまりナビゲーションは後ろのほうがいいのではないかという。

ゴミ箱のない部屋: 部屋にゴミ箱を置かなくなって3か月になる。最初は単にゴミ箱を水洗いしてから外で乾かしてて元に戻し忘れただけだったんだけど、部屋には無い方がいいのかもなーと思うようになった。とにかく何かゴミを出すと捨てに行くのが面倒くさいのでゴミを出さないように気をつけるようになって良い。

WindowsのChromeで表示がおかしくなるフォント: 昔書いたWindowsのSafariで表示がおかしくなるGoogle Web Fontsのフォントというのとちょっと似てるけど、またちょっと違う問題。文字化けっぽくなるんじゃなくて、特定のグリフが特定のサイズにおいてのみ横に広がったり縦に伸びたりすることがある。

フラット: プロフィール画像をフラットにした。こういうのはフラットとは言わないのではないか。ないか。のっぺり。

outlineとbox-shadow: borderとoutline、box-shadowプロパティーを組み合わせ、それぞれ別に少しずらしてアニメーションさせようとかそういう変なの考えてたら、Firefox 21(及びAurora 23)とそれ以外でoutlineが描画される位置が違うことを知った。最近は普通に書くとFirefoxでハマることが多いのは僕だけか。

BrowserStack Screenshots: BrowserStack Liveは有料のサービスだけど、いろんなデバイスでスクリーンショットを撮ってくれるだけのScreenshotsは無料で使えるサービスみたい。ローカルにあるページの確認をしたい場合とかは登録する必要があるけど、撮るだけなら登録せずにいける。Responsiveの方も同じ。

Sassの--precisionオプション: 3.2以降のSassでは計算結果が少数になる場合、小数点以下5桁まで出すようになっている(それまでは3桁)。そこで--precisionオプションで小数部分の桁を制限してやることにより、ここくらいのコンパクトなCSSファイルでも0.5KB程度は節約できる。

Translation is easy, reallyを訳した: Translation is easy, reallyというMediumの記事を訳した。ライトな雰囲気に合わせてくだけた感じにした。簡単だよ!

翻訳は簡単だよ、本当に: Translation of: Translation is easy, really

utm_xxxを削除してURLの分散をちょっとだけ防ぐ: utm_xxxを利用したユーザー追跡はまぁ便利ではあるのだけど、どうしてもURLの正規化に悪影響がある。設置したツイートボタンやブックマークボタンはこちら側で正規のURLを仕込んでどうにかすればいいのだけど、ブラウザーの拡張やブックマークレットにはどうしようもない。かといってリダイレクトでは訪問者にも管理者にもコストが高いので、replaceState()を使ってURLだけ書きかえるという話。

::beforeによる(画像)置換の終焉: なんだか最近のGoogleのペンギン先生は::beforeや::after擬似要素で仕込まれるモノもバッチリ解釈するとかいう噂(本当か嘘かは知らない)を聞いた。スクリーンリーダーも読んじゃうらしい。ここのロゴは::before擬似要素でHを一文字挿入して実現していたので、もし解釈されるとなるとウェブサイトのタイトルが「Hhail2u.net」になってしまう。

Sassで2つの基準を元にした文字サイズのスケールを作る: 本文とメインとなる見出しの文字サイズを決めて、その両者に黄金比を適用して他の見出しやボタンのラベル、少し小さくしたい部分(フッターとか)、アイコンの幅などの文字サイズを決定するというメモ。要改善。

PlaceIMGを使った404ページ: PlaceIMGが500pxも利用しているからかlorempixelと比べるとかなりキレイなので、最近はよくこれを使っている。なんか別のにも使えないかと考えて、404ページの背景にPlaceIMGからの画像を目一杯表示するようにした。ユーザビリティ……。検索フォームぐらいは置くか。

Google Chromeのスーパーリロードのメニュー: Crl+F5やCtrl+Shift+Rでのスーパーリロードは有名だけど、開発者ツールを開いているページだと更新ボタンの長押しでメニューが出てくるのは知らなかった。キャッシュ破棄からのスーパーリロードはすでに便利さを体験した。

次はこれ読んで: MovableTypeにあったからか前や次のエントリー(とそれに加えてウェブログのトップ)に移動するリンクをpermalinkに設置するウェブログは多い。こと日本に限ると90%以上のウェブログにあるように感じる。このクラシカルなパターンに対して、最近はRead This Nextなどとして最も関連性が高いエントリーをひとつだけ推薦したり(Dustin CurtisとかSvbtleネットワークのウェブサイトはそう)、単に時系列的に1つ古いエントリーへのリンクのみというパターンが増えている。

_brandcolors.scss: BrandColorsの色をコピペするのはしんどいのでSCSSファイルにした。SCSSファイルを作った後に気づいたけど、IMEの辞書に登録するのも便利そう。

文書類のミラーを作った: (ドメインやサーバーの)死後のためにDocuments配下の文書類のミラーをGitHubに作っておいた。ウェブログは死後、可及的速やかに消えてなくなってほしいと思うのでミラーしたくないな。今ですら色々消したいわけだし。

FeedBurnerの利用をやめた: かなりの初期から愛用しつづけてすごくお世話になったFeedBurner経由でのフィード配信をやめ、自ホストに切り替えた。しばらく前までは利用の取りやめの後、30日間しか元になるフィードへ301でリダイレクトしてくれなかったんだけど、今は恒久的にリダイレクトしてくれるようになっているので、特に購読先を切り替える必要はない。

Amazonの画像を拡大してリサイズし切り抜く: Amazonの商品画像は色々なパラメーターで加工できるのはよく知られている。大抵の場合はウェブサイトに合うようにサイズを変更したりとかが主なのでAA320やSX480とかを使うだけ。ただ非矩形な商品の画像の場合、余白がないことがあり白背景のウェブサイト以外ではサイズの変更だけでは上手くなじまない。それを拡大(SS)とリサイズ(AA)・切り抜き(CR)を組み合わせることにより適切に余白を追加してやろうというテクニック。頭悪そうなタイトル。

MERRELL Mootopia Lace: つま先が広い靴を探していてDuckfeetとか良さそうだなーとか思ってたけど履き潰すには高すぎだったので、そこらじゅうで売ってるMERRELLのMootopia Laceの黒にした。9000円くらいだった気がする。

Drawic #2: DrawicにPinterestのアイコンを追加した。微妙に小さい気がするのでもうちょっと大きくした方が良いかもしれないと思ってるんだけど、Inkscapeが2回落ちてやる気なくなった。

家が建ってる: 建築中の家というのはとても楽しく興味深いんだけど、うるさい。5時半くらいから始めてて(さすがに準備とかでドリルとか電ノコとかは使わないけど)なんかの嫌がらせに近い。そのことに対する文句を正面切って言うと釘打つアレでドシュッとかやられそうなので言えない。そういうのでストレスが溜まるタイプではなくて良かった。

vim-css3-syntax v0.7: サボりすぎた。増えたのとか更新を反映させてvim-css3-syntaxをv0.7に更新した。同梱して欲しい要望があったのでafter/syntax/html.css等を同梱するようにも。問題起こる環境ありそう。なにかあったらIssuesでどうぞ。

&: U+0026のコンピューターのデスクトップ背景に設定する画像。

アシナガバチ: 季節もの。一昨年はアシナガバチで今年はスズメバチか……と思ったけど、今年もアシナガバチだった。直径20cm強くらいの巣が軒下の窓の上にできてた。時期としてはかなり早い方な気もするので、去年からあったんじゃないかとかちょっと思ったけど、既に神奈川や東京西部あたりでは最盛期なんじゃないかくらい多いと駆除の人が言ってた。

Drawic: フッターのアイコンをSVGにした。GitHubにリポジトリも作っておいた。ぴくせる・ぱーふぇくとってなんでしたっけ……。

999.9 NP-21: めがねめがね。パソコン用のをJINSとかで作ろうかなーとか半年くらい悩んでたけど、結局普通のレンズのメガネにした。フレームは999.9のNP-21で、色はクリスタルダークスモーク。初999.9!JAPONISMと迷ったけどJAPONISMカッコよすぎて似合わなかった。

バドミントン: バドミントンをやった。10何年ぶりにやったような気がする。難しい。打つのはまだしも身長の低い相手へ打ちやすいように返すのが至難な気がする。というか何をどう考えたらああいうコントロールしづらいシャトルみたいなの思いついて、それで遊ぼうなんて考えたんだろう。狭い場所で遊ぶための工夫なのかな。

Node.jsで書いたJS圧縮ツール: というかClosure Compiler ServiceのREST APIを叩くスクリプト。Validator.nuと違ってapplication/x-www-form-urlencodedに対応してるのでQuery Stringモジュールで良く、コア・モジュールだけでいける。けどローカル・ファイルへの対応を加える時にコールバック地獄に堕ちそうなので、asyncモジュールでガッとまとめてやるようにした。

vim-css-syntax: Vimのデフォルトのランタイム群に含まれるCSSシンタックス・ファイルはけっこうバグがある。大抵はafterディレクトリで適当に追加してやったりすれば直せるんだけど、それにも限界がある感じ。ということで公式へフィードバックすることも視野に入れて、GitHubにリポジトリを作った。

Experiences: 製品はデザインできる。経験はそこから生まれるもの。

vim-css3-syntax v0.6: バグやスペルミス、重複してるプロパティーや値を削除したりしてvim-css3-syntaxをv0.6に更新した。マイナーなアップデートだけど、あわせてそこそこまともなテストの追加も行ったのでバージョン番号を上げた。CSS 2.1の方のテストもちゃんと書こうかなあ……。

Node.jsで標準入力を一気に読む: /dev/stdinとかそういうカッコイイの無いのでそういうのに依存しない方法を調べていた。今はprocess.stdin.fdのsizeを調べてそのサイズでBufferオブジェクトを作り、fs.readSync()で読み込むのが良いみたいだ。本当なのかな?

img要素でのSVG画像とCSS Transform: SVGは常にスケーラブルなのかというとそうではないこともある。ブラウザーがラスタライズするタイミング次第。例えばimg要素でSVG画像を参照してCSS Transformでいじった場合、Google Chrome 20やOpera 12ではラスタライズされた状態でいじられるようで、結果ぼやけることが多かった。

Node.jsでValidator.Nuを叩く: Node.jsでValidator.nuを使ってHTMLファイルをチェックするスクリプトを書いていた。form-dataモジュールを見つけるのに1時間、スクリプト書くのに15分。

Node.jsのhttps.get(): HTTPモジュールのhttp.get()と違いHTTPSモジュールのhttps.get()は第一引数にURLが取れない。HTTPモジュールと同じようにURLを指定するとECONNREFUSEDになる。ソース読んだら文字列かどうかチェックしてURLモジュールでパースする処理がHTTPSモジュールにはなかった。1時間くらいハマりました!

オールドスタイルな数字を普通のものに: オールドスタイルな数字っていうのはGeorgiaとかで見るオシャレなあの数字のこと。Corbelというx-heightが高めでオープン・カウンターという読みやすさ重視のなかなか優秀なサンセリフ体もオールドスタイル。ただ和文とは相性が良くないので、どうにかして数字だけ普通のものに差し替えてみようという試み。

Quote for the Japanese Typography: ひまつぶし。Google Web Fontsでファミリーが揃っているフォントのプレビューも兼ねようとしたんだけどそれは無謀だった。日本語のタイポグラフィーの話でかつ適度にアルファベットが混ざってる文章を探すの面倒すぎる。なのであんま更新(追加)する気なくなった……。

CSS LintのCLI: npmのCSS Lintを使うようにしようかなと思って入れたけどCLIがなんかうまく動かない。動くようにちゃんと直すにも色々よくわからないので、CSSファイルを受け取ってチェックするだけのオレオレCLIを書いて使うことにした。

単一フォント: ここのところ本文とフッターなどのウィジェット、ナビゲーションのフォントにそれぞれ違うものを指定してたけど、統一した。Webフォントをいろいろ試していたのの名残りだったりとか、ヘッドラインだけちょっと違うフォントを使ってる海外のWebサイトに影響を受けたとかそういうのでガチャガチャさせてたけどさすがに飽きてきた。

フラット、エントリー、リスト: Weblogのトップをエントリーのフラットな一覧に変えた。タイトルをずらっと並べるだけのアーカイブ・ページは一度やってみたかった。250KB以上あるHTMLファイル……。

Media Queries内で@extend使いたくなった: Sass 3.2では様々な機能強化が図られているけど、その一方で削除された機能もある。そのひとつが既に安定版である3.1でも警告が出るようになった@extendディレクテイブがMedia Queries内等で使えていた機能。ざっと削除に至った経緯を辿ってみたけど、実装と出力上の都合っぽい。まぁそういうもんか……とこの仕様変更を受け入れて書き直したりしてたけど、最近になってやっぱり必要なんじゃないかなーと思うようになった。

Frustration-Free: ちょっと作った画像が可愛かったので壁紙サイズ(2880x1800)にした。背景色は#bb8855で前景色は#443322。

Things I Made.: 残すだけでなくちゃんとまとめる。

Sassと相対URLの管理: Sassの@importディレクティブは単にファイルを連結するだけで、インポートしたライブラリで使われている相対URLもそのまま出力される。そのためそのライブラリと生成されるCSSファイルの階層が噛みあっていないと、相対URLで参照した画像やWebフォントなどが見つけられないことがある。なのでスラッシュで始まらない相対URLを使わないか、相対URLを一括して変数に代入して管理するだけのライブラリを生成されるCSSと同じ階層に置くのが無難そう。

ねまき: 半袖や短パンのねまきがこの世に存在することが信じられない。誰が買うんだろう的な。長袖・長ズボンじゃないと肩が凝るというか起きた時に筋肉がこわばる。眠りも浅くなりやすい。という医学的根拠に基づかない偏見を持っている。

IE10でのSVGのファビコン: SVGのファビコンで試した奴のWindows 8 Release Preview上のInternet Explorer 10での実験。Metro版とデスクトップ版共にSVGのファビコン自体は表示できるけど、単純にlink要素で指定してもダメで、ドメイン・ルートにfavicon.icoというファイル名でSVGファイルを置く必要がある。

v6.33: 青をリンク以外、例えばボタンとかでも使わないようにして「青はクリックするところ」的な統一を行ったのが主な変更。他、余白とフォントサイズの調整でメリハリを付けるような感じに軌道を修正し終えたかなーという感じになったのでエントリーにした。

git push --delete: git-pushにリモート・リポジトリからブランチの削除を行うためのオプション、--deleteがあることを知った。1.7.0で入ってたらしい。コロンつける奴は直ぐに忘れてしまうので、このオプションで覚える。SYNOPSISに載ってない……。

流行って欲しいくない: 流行るイコール消費され尽くすみたいなことが多いので、流行らないけど狭い世界では評価が高いみたいなのが良いのかなーと思う。ただ、ユーザーの場合はそれで満足できそうだけど、アーティストや開発者の場合はそれでは満足できるほどにはやっていけない。そこに金を簡単にやり取りする仕組みがあれば良い的なのがだいたいこういった話の落とし所なんだけど、狭い世界での金のやり取りって人間関係が崩壊しそうなイメージしかない。本来、こういうところに活躍の場があるのが広告なんだと思う。

media="only all": SVGやMedia Queriesのサポートのこととか考えて嫌になってきたので、<link media="only all">でばっさりすることにした。media="not print"にした時に思いつかなかった……。456 Berea Streetでも@mediaディレクティブの方でonly screenを利用することで簡単な分岐を実現するというほぼ同じアイディアがつい最近取り上げられており、こちらもかなり便利。

SVGで複数の画像をまとめる #2: 前に試したのはRetinaを強く意識したものだけど、今度はCSSスプライトの代替を意識したもの。CSSスプライトの欠点のひとつに繰り返し背景を含めることが出来ないというのがあって、それをどうにか出来ないかなーと思ってSVGを使ってみたけど出来なかったという話。

SVGよりアイコン・フォント! な理由: 両者は共にスケーラブルなもの(にできるもの)なのでその点では互角だけど、様々なプロパティーを持ち多彩な表現が可能なSVGの方がフォーマット的には優位にあると言って良い。が、なかなか利用が広まらないSVGに対して、アイコン・フォントの利用は急速に拡大している。単に流行りとみなす向きもあるけど、やっぱりそれなりに理由があるのではないかと思う。

SCSSファイルの整理: SCSSファイルの整理をしてた。Sass 3.2を使い始めて以降、%セレクターをとりあえず使ってみる感じが多かったけど、ようやくどういうものに使うべきでどういうものに使うべきではないのかがわかってきたような気がする。というわけで現在のこのWebサイトのスタイルの構成のメモ。

vim-css3-syntax v0.5: CSS RegionsとCSS Exclusions and Shapesに対応してvim-css3-syntaxのv0.5をリリースした。両方共まだ使ったことないけど、実装始まってるので。

Re: Max CSS: Max CSSというオープンレターを読んだ。Twitterでもリプライしたけど、簡潔にまとめて返信という体裁でスタイル・リポジトリという文書を書いた。英語で書こうかなとかちょっと思ったけど、結局日本語で……。

スタイル・リポジトリ: 10年以上HTMLやCSSを書いてきた中で他の人達の書いたHTMLやCSS、そしてJavaScriptから僕が学んだものは少なくありません。というより全てをそれから学んだと言っても良いでしょう。Max CSSに書かれている意見には大いに賛成することができますし、ホワイトスペースとコメントを取り除いて圧縮されたCSSから得られるものがほとんどないことにも同意できます。

Data URI化した画像とその再利用性: Data URI化した画像はHTTPリクエストの削減に大いに役に立つので積極的に使って良いと思う。けど、CSSにおいて変数が使えないことなどの理由からその再利用性は低いため、注意して書かないと同じData URI化した画像がいくつもCSSに出てくるなどという無駄につながりかねない。極端な例では3KBくらいのData URI化した同じ画像が8から10以上出てくるCSSファイルとか見たことが何回もある。

Photoshop CS5と透明度付きインデックスカラーPNG: Adobe Photoshop CS5ではアルファチャンネルを持つPNGもインデックスカラーのPNGも正常に表示できるが、両者が組み合わさって透明度付きのインデックスカラーになったものはうまく表示できない。ということを最近知った。CS6で直ったという噂を聞いたけど持ってないので知らない。

/archives/の削除: こう言うと「過去ログ消したの……」みたいな感じだけど、そうではなくて過去ログへのアクセスのために使っていた/archives/を/blog/に移動させたというだけ。逆に言うとブログのトップページが一覧ページじゃなくなって、月ごとやカテゴリーごとのアーカイブ・ページへのリンクのリストになったという感じ。CoolなURIもたまには変わる。

git.cmdが削除された: Git for Windowsの1.7.11-preview20120704でgit.cmdが削除され、単純なラッパーとして機能するgit.exeに差し替えられた。バッチファイルで自動コミットとかスクリーンショットをGistに上げるスクリプトとかでgit.cmdにしていたためモロに影響を受けた……。

テ・クス・チャ: ロゴと本文とフッターに貼っているテクスチャを更新した。全部シームレスで透過にしたので結構大変だった。でも別にどんな色にでも使えるとかそういう完成度の高いものではないので自己満足の域を出ていない。

サブセット化したフォントの取り扱い: OSにインストールされているフォントやWebフォントとしての利用がライセンスに言及されていないフォントから、例えばたった1つのグリフのみを抜き出してサブセット化したものはWebフォントとして利用して良いのか? フォントの改変と再配布にはなりうると思うのでだいたいライセンスや使用許諾条項に違反することになるとは思う。でも明らかに「フォント」としての一般的な機能に欠けたものにサブセット化した場合は使わせて欲しいよね。というわがまま。

Brackets theme for Google Code Prettify: Bracketsのカラースキームがそこそこ見やすそうな感じだったのでGoogle Code Prettifyのテーマとしてパクッた。ここでも少しアレンジしてもう使っている。コントラスト弱め。

Metro IE10のスクロールバー: Internet Explorer 10のMetro版はデフォルトではスクロールバーが表示されないが、ポインターを動かすと上下に矢印のあるいわゆる「スクロールバー」が表示される。このスクロールバーはコンテンツにかぶさる形なのでviewportには影響を与えない。また表示されていない状態でポインターを動かさずにスクロールした場合は、OS Xっぽいスライダーのみの細いスクロールバーが表示される。こちらもviewportに影響は与えない。

夢を見るようになった: 夢を見るようになったというか、見た夢を覚えているようになった。これも老化か。

iine! v5.1: iine!のデザインをマイナー・アップデート。faviconに32x32を追加するだけの予定が……。

The Evolution of the Web: Webの進化を支えているWebテクノロジーとブラウザー。意外に古い○○、新しいけど一気に広まった□□。えっ? OperaってInternet Explorerより歴史あるの?

位置を固定した要素のすたっきんぐ・こんてきすと?: Chrome 22で隠し設定にposition: fixedされた要素配下でのz-indexプロパティーの扱われ方を仕様に準拠する形へ変えるものが用意された……とか言われてもStacking Contextsの仕様を読んでもまったくわからなかったので簡単なテストを書いて理解した。

::first-letterをぶら上げる: ぶら上げるってなんだ。段落の一文字目だけを左に飛び出して配置するというテキスト・レイアウトの話。margin-leftプロパティーで負の値を使っても良いのだけど、文字によって要調整なので面倒くさい。position: absoluteを使う場合は、親でposition: relativeが必須になるのでこれもちょっとアレ。他にもいくつかあったと思うけど、floatとmargin-right: 100%を組み合わせて行うのが一番位置合わせが簡単になる。

スクロールすると固定に切り替わるヘッダー: 最初は普通に表示されているけど、スクロールしてヘッダーが画面の外になると上端固定に切り替わる奴の話。今年になって異様に増殖してる。別に嫌いではないし、なんとか的にアレ……みたいなところもない(と思う)んだけど、実装するとなると結構色々気になるところがある。というかうまく作れる気がしない。

SVGで複数の画像をまとめる: アイコン(image/vnd.microsoft.icon)のような複数解像度をまとめる仕組みを考えている。SVGを使ってアイコンとほぼ同等なんじゃないかみたいなことは比較的簡単に出来たけど、全部の画像をリクエストしてしまうので使いものにはならなそう。というメモ。メモ多い。

git-credential-winstore: Gitでhttpsでリポジトリをクローンすると、pushの時に毎回ユーザー名とパスワードなりを入力させられる。その回避方法としてOS XなんかだとKeychainを利用する方法があることは知っていたのだけど、Windowsだと_netrcに羅列するくらいしかないものと思っていたらgit-credential-winstoreなるヘルパー・アプリケーションがあることをGitHubのセットアップガイドで知った。

Cloudflareとの一週間: Cloudflare経由にして一週間。予想していた通り静的なファイルをコロコロ更新するようなケースではちょっと面倒な感じがある。感想やわかったところ、気になったところなどのメモ。

Sass: adjust-font-sizeミックスイン: ビューポートの幅に合わせてフォントサイズを変更するCSSを、コッぺッするのをやめSassのミックスインにした。あんまり見ない感じのミックスインになったのでメモがてらエントリーに。こうなるともうCSSじゃないどころかSCSSとしてもとても読みづらいものになってきていて、ダメなミックスインの例な気がしないでもない。

Vim: Quickfixを自動で閉じる: Vimでバッファーを閉じた時にたまにQuickfixウィンドウだけを残してしまうことがあるので、Quickfixウィンドウしかなかったら自動で閉じるようなAutocommandを書いた。ちゃんとQuickfixを解決してからバッファーを閉じないのが悪いような気もする。

何にレスポンシブ?: レスポンシブ・ウェブ・デザインは当初は多様化するデバイスを見据えて……みたいな話だったような気がするけど、徐々にコンテンツに対してレスポンシブであるべきというような原理主義的な方向に揺り戻しが起きていると思う。それは間違っているとは思わないけど、コンテンツを重視するあまりデバイスというかその向こうにいる人を疎かにしかねないような気がする。

Slow Web: スローウェブ。スローフードやスローシネマを引き合いに説明しようとすると誤解を招きそう。Web 2.0以降のリアルタイム・ウェブの破綻をうけてじゃぁどうするかみたいな感じなのかな? スローウェブを支える小規模なウェブサービスを支える仕組みとかが必要そう(この辺りはスローフードと通じるところがありそう)。

平成((角|丸)ゴシック|明朝)のWebフォント: Monotyope ImagingのやっているFonts.comのWebフォントサービスでは平成角ゴシック、平成丸ゴシック、平成明朝の三種がFreeプラン(ページビュー数の制限とバナー表示の義務あり)で使えるようだ。現在のデザインのWebサイトでは見つからないので、旧デザインのWebサイトの方で探す必要がある。

Google Web Fontsへのフォントの追加/更新: Google Web Fontsにはちょくちょくフォントが追加されたり更新されたりするけど公式のブログではアナウンスされないし、アナウンスしていた公式のTwitterアカウントも2012/04/08を最後に更新されていない。どうにかして効率的にフォントの追加や更新を知る方法はないかなーと探したらGoogle Codeにプロジェクトがあったので、そのリポジトリへのコミットをチェックすれば良さそう(フィードもある)。

Cloudflare経由に: 「メール転送無いからなー」とか知ったかしてたのでCloudflareの使用を見送っていたけど、よくよく考えたら僕はXREAのメール転送機能を使っているだけなので関係無かった。のでCloudflare経由にしたというお知らせ。何かおかしなところを見つけたらFacebookやTwitterあたりで連絡ください。

FocusWriter: フルスクリーンで使えるテキスト・エディター、FocusWriterをちょっと使ってみている。IMEの候補メニューの位置がおかしい以外は特に不具合もない気がする。WindowsでLFで保存することができない以外はすごく良い。テキスト・モードだとほとんど何も機能がないのが素晴らしい。

Vimで全角や行末スペースをハイライト: 今まで:matchで全角スペースのハイライトだけはやってたんだけど、行末のスペースを残したまんまなミスが最近多いのでそれもハイライトしようとした。ヘルプを見たら:2matchとかできるけど:3matchまでしかないからmatchadd()使ってねと書いてあった。matchadd()でやりたいことは実現できたんだけど、かなりちゃんとスクリプト書かないとマッチのリストが肥大化しちゃう感じでアレな気がしので、syntaxをふわっと追加する感じで実現することにした。

VimでNu Validatorを使う: HTMLLintはどうも更新する気なさそうなので、W3C Markup Validation Serviceを使うように戻すかと思いつつもインターフェイスがアレだなーと。で、Validator.nuの方を眺めてたら普通にGNU ErrorフォーマットやJSON、プレーンテキストでの結果を返す機能があったのでVimから簡単に使えるようにスクリプトを書いてしばらく使ってみる。

抄訳 RDFa Lite 1.1: RDFa Lite 1.1 (W3C Recommendation 07 June 2012)の必要な部分だけを日本語に訳して公開した。10分かからず読める程度の文量。RDFaはめんどくせーなーとかいう人もRDFa Liteなら面倒くさくない。

抄訳 RDFa Lite 1.1: この文書はRDFa Lite 1.1 (W3C Recommendation June 07 2012)の一部を日本語に訳したものです。正確な仕様についての情報を得たい方は、上記URLを参照してください。

W3CDTFとHTML5の日付と時刻の違い: てっきりHTML5のtime要素のdatetime属性などで使われる日付と時刻のフォーマットはW3CDTFだと思い込んでいたんだけど、違った。ISO 8601というわけでも、W3CDTFのようにそのサブセットというわけでもないので、パースする時はそこそこ気をつける必要がありそう。知らなければ幸せだったような気がしないでもない。

meta要素のcontent属性でURL: meta要素のcontent属性は特にどういう値が入るものか決められていない。のでURLじゃないかもしれないし、URLとみなせる文字列なのかもしれない。OGPではRDFaだからmeta要素を使いましょうと書かれていて、URLを値とするurlやimageプロパティーもmeta要素のcontent属性を使う。昨日見たのだとWindows 8のピンに使われるmsapplication-TileImageとかもそう。

僕は人間です: RDFa LiteとMicrodataで人間を表現するメモ。FOAFとか書きそうになったけど我に返った。

Twitter BirdのSVG版: 新しいTwitterの鳥のSVG版を作っておいた。飛んでる感じになっているとか色が#00acedに変わってるとかかなり破壊的。利用ガイドラインはこんなんだっけ……みたいな感じだけど、何回か読んだら前からこんなんだったような気もしてきた。古い鳥にはあったトサカはどこへいったんだろう……。まさかハゲた?

+1向けにMicrodataの修正: Google +1ボタンはMicrodataを読んでくれるんだけど、HTMLありきでメタデータの注釈をつけてあとはお任せでなんとなかなるわけではない。例えばBlogとBlogPostingを組み合わせた形でMicrodataによる注釈を行って、それを一覧ページとpermalinkで使いまわすと+1ボタンからは両者の区別がつかなくなる。そりゃそうか。

@hail2u_: Twitterのスクリーンネームを@hail2u_に変えた。別アカウントに移行とか複数のスクリーンネームをTPOで使い分けるとかそういうのではなくて単に変えただけ。今年中に5回変えたくなったら変えようと思ってて、その5回目になったので。

貧乏人のためのCDN: CMSが頑張ってキャッシングして動的に生成するというのと頑張って静的に生成してやるというののどちらもそれなりにコスト(導入・運用)はかかる。CDNももちろんコストはかかるけど、最近はCloudflareのような低コストな貧乏人のためのCDNがいくつかあり、コスト面では優位にあるような気がする。

Tumblrのv1 API: Tumblrのv1 APIはPOSTパラメーターでメールアドレスとパスワード投げれば良いので、単純な投稿とかには向いているような気がした。2000を超えるブックマークを250の投稿制限と格闘しながら10日くらいかけてミラーしたあとでの感想。

ベンダー独自拡張について取り上げること: Webの世界は独自拡張だらけなのでそのことについて積極的に知る必要はある。けどそれについて個人的に使い方とかを具体的に書くことはリスクでしか無い。どうやって使うものかとかは大体ベンダー側がドキュメント化していて、それは変更があったら修正されるので、それにリンクを張れば良い。修正することのないであろうブログ等で具体的に書くのは意味がないを通り越して害悪になりうる。Twitterとか流れて忘れられるメディアなら良いけど。

line-height: normal !important: たまに忘れてFirebugで調査して「あーそうだった! これだよ! クソが! 俺か!」みたいな。これはFirefoxのフォーム系の置換要素に設定してあるデフォルト・スタイルで、入力ボックスとボタンの高さを揃えるのが面倒くさい原因のひとつ(もちろんこれだけではない)。これはかなり昔からあるけど「置換要素がline-heightプロパティーで高さ変わるわけねーだろクソが」という理由によりWon't Fixなので、死ぬまで付き合うことになりそう。

fbプリフィックスとRDFa Lite: fbプリフィックスとRDFa Liteのメモ。ogプリフィックスはRDFa 1.1のinitial contextに含まれているので、なくても良い(あった方が良い)。

BODUM CANTEEN 0.4L: 愛用していたthermo mug 3287のステンレス部分が細かい傷だらけになってしまい、漂白してもすぐ茶渋等が付いてしまうようになったので、BODUMのダブルウォールのマグ、CANTEENの0.4リットル版を買った。

InkscapeのUIフォントを直す: InkscapeはUIフォントが明朝になっていて、他と統一感がなく気持ち悪いので直したいが特にそういった設定は用意されていない。検索して見つかる情報もgtkrcを~とかGTKアプリの問題で~とかそういうのが多く、それらは大体正しいのだけど、pango.aliasesでMingLiUが優先的に使われるように設定されているのを直すのが一番労力が少なそう。Inkscapeは7-Zipで圧縮されて配布されているWindows版のv0.48.2を前提にする。

HTML -> CSS -> SVG -> CSS: HTMLで参照しているCSSでSVGを参照する……まではマイナーとはいえ使っている人はいると思う。これでまぁスケーラブルな画像という条件は満たせるのだけど、せっかくSVGではCSSを参照できるのだから、そのCSSでSVGのスタイルも指定できたら色々便利でリソースの節約にもなるんじゃないかという実験……が失敗に終わった話。タイトルわかりづらい。

Inkscapeでちゃんと移動させる: Inkscapeでオブジェクトを移動させたりする時に適当にドラッグアンドドロップとかでやるとtransformプロパティーでtranslate()関数を使った形の移動が行われる。出力されるSVGのサイズの節約などのためにちゃんと(?)移動させたい場合はメニューのオブジェクトにある整列と配置を使ったり、変形ダイアログで相対移動のチェックボックスをオフにして座標指定で移動させる必要がある。

さりげないAdSenseカラースキーム: AdSenseのカラースキームはWebサイトのカラースキームに合わせるというのが真っ当なやり方だと思うんだけど、Googleのプロダクトで使われているカラースキームをそのまま利用するというのも悪くはない。ということで少し前からGoogle検索でメジャーな言葉を検索した時に出てくる一番上の広告のカラースキームをパクッたものに変更している。

Happy Hashbang Deprecation Day!: Twitterが各ツイートのpermalinkにおいてHashbang (#!)を使わなくなったことについて様々な人が歓迎するツイートをしていたけど、Sarah Pavisがつぶやいていたツイートが最も印象に残った。

Lea Verouのフレシキブルな複数行定義リスト: Lea Verouの編み出したフレキシブルな複数行定義リストは目からウロコだった。このテクニックを知るまではfloatを使うと長い時(コンテンツ幅に収まらない時)に途中で改行とかうまくできないけどまぁしょうがないか……みたいな感じで我慢していた。LF(やCR)を擬似要素経由で挿入してwhite-space: preで改行させてしまうというのは頭良い。ただ複数のdd要素を持つケースにはうまく対応できないのでちょっと変えて使い始めた。

ckwとカレントディレクトリ: ckw(-mod)を起動した時のカレントディレクトリは-cdオプションで指定するしか無いとずっと勘違いしていた。どうもckw.cfgでCkw*chdirをコメントアウト(行頭に!を付ける)すれば実行時のカレント・ディレクトリを適切に解釈してくれるようだ。GitHub for Windowsでckwを使うためにラッパー必要だなーとかねぼけたことを言ってしまった……。

Tumblr v1 APIの投稿制限: Tumblrにはv1 API経由でも一日250の投稿制限があるみたいだ。過去のブックマークをひたすらリンクとしてポストするスクリプト書いて動かしたら250までしか投稿できなかった。v1使ってるのはOAuthるの面倒だったから。v2使えば良かった……とか思ったけど、負荷にまつわる制限じゃなさそうなのでv2でも制限同じそう。250に達するまでは叩き過ぎると400 Slow Down Buddyとかわいく怒るというのは収穫だった。

Kudosっぽいスター: Dustin Curtisの各記事についてるKudosという頷きウィジェットみたいなのが欲しいなぁと思っている。こういう否定のないのは楽で良さそうだなぁとか、ユーザーにログインとかを要求しないとこが面倒じゃなさそうだなぁとか、わざわざ押しに行こうかなとか思わない程度のものなのも好き。で、Kudosと同じで否定のない世界のはてなスターを無理やりKudosっぽく表示させてみようかなーと思って作ったけど実用性無さそうだった。

body要素でフォント・サイズを変えるのを止める?: フォント・サイズの変更を行う場合、html要素でやった方が良さそうと結構前にTwitterで@terkel(多分)がつぶやいていた。body要素で設定しても現状は特に何か問題が起こるというわけではないのだけど、将来的に多くの人が使いたくなるであろうrem単位のことを考えると……という話。

ブレークポイント: このWebサイトのスタイルではブレークポイントがレイアウト向けに3つ、フォント・サイズ向けに4つ設定されている。なんと7段変速! なんでそうなってるのかとかそういう話を書きたくなったので書く。

にねん割: フレッツ光から乗り換える予定は特にないので、にねん割を募集が始まった直後2月の末に申し込んだ。で今日連絡が来た。NTT東日本もなかなか仕事が速い。「申し込みの翌月からってなってるので3月まで遡って割引適用してくれるんですよねー(クッチャクッチャ」とか言ってやろうと思ってたけど、そんな勇気は僕にはなかった。

Twitterでの言及数を知る: 公式にはAPIが用意されていない。プライベートだけど誰でも叩けるAPIがあるけど使わないでくれと言っている。のでTopsyやAddThisのAPI経由とかしか今のところ方法は無さそう。などということを公式Tweet Buttonのサブセットなdata-*属性による設定を受け入れるTweet Buttonを作ってて知った。

figure/a/figcaption: figcaption要素は必ずfigure要素の最初か最後の要素であるべきで、a要素を両者の間に挟むとバリデーターは怒る。単純に「As the first or last child of a figure element」を解釈するとそうであるべきなような気もするけど、ちょっと「えっ?」と思った。TransparentだとなんでもOKだぜ~みたいな適当な覚え方してるのがバレた。Transparentには特に内容モデル以外に決め事は無いのでそうなんだろう。

Soma FontFriend: Google Web Fontsのテストはまじめにやる時はちゃんとテストページを作って確認してるけど面倒くさい。Google Web FontsのPreview Textは日本語使えないので、日本語部分との相性やベースラインのずれなどが確認できなくて問題外。でもできるだけ手抜きしたいので、そういう時はSoma FontFriendというブックマークレットをこのWebサイトを開いてから起動している。これは結構昔からあるブックマークレットで元々は単にfont-familyを書き換えるだけだった(と思う)んだけど、今のバージョンだとGoogle Web Fontsからフォントを引っ張ってきて確認できる。愛用してる。

ところてんスクローラー: Facebookに買われたという話で知ったLightboxという写真共有サービスのLive Streamの見せ方が良いなと思ったのでCSS Transitionsを使ったもどきっぽいのを作った。Pure CSSではない。良い名前思い浮かばなかった。

Override device metrics: Chrome 20からviewportを制限または拡張できるOverride device metricsというオプションがデベロッパーツールについていたことを今さら知った。キモはどっちかって言うと自分の使っているマシンよりも高解像度な環境をFit windowオプションでなんとなくざっと確認できるとかそっちなのかも。2048x1536とかまぁアレでコレでソレですよね。20からなので2012-05-17現在の安定版にはまだない。

border: 2px ridge gray: borderプロパティーのridgeはブラウザーによってどのように違うかを軽くテストした。複数の枠線を組み合わせて作るわずかに凹んだ(凸んだ)直線の代わりに使うのは無理がありそうという結論だった。だった。だった……。

CSSのルールセットの可搬性: シンプルなセレクターが多くの利点を持つことはよくわかるんだけど、可搬性が上がるというのはどうもしっくりこない。ルールセット単位での可搬性というのはかなり無理があるんじゃないか。数種のプロパティーの組み合わせを再利用するのは良いけど、それにセレクターは含めると可搬性落ちると思う。

Panasonic スーパーレザー ES3832P-S: すぐヒゲ伸びるのでカミソリで剃ってる上に電池で動かすシェーバーも使っている。愛用していたPanasonicのES3832P-Sが壊れた(落として蹴って壁にぶつけたので壊したとも言う)ので同じの買い直した。乾電池式のシェーバーはこれにたどり着くまでPhilipsやBraunなどの一流メーカーのやよくわからないメーカーの安いやつとか使ってたけど、一番良いというか比較にならない感じがする。

Opera 11とサブセット化したフォント: ナビゲーションとロゴをサブセット化したフォントを使うようにしたのだけど、Opera 11で一文字目にしか反映されないというなかなか意味不明なバグにハマった。Nextでも起こるので当面直らなそう。こういう現象も起こるよ……というメモにしとこうかと思ったけど、どうやらtext-transformプロパティーとの組み合わせでおかしくなっているっぽい。

フォント変えた: Webフォント熱もちょっと冷めた感じなので普通な感じにフォントを変えた。Segoe UIにしようかなと思ってたんだけど、それはなんかに負けた気がするのでやめて、ClearType最適化を謳っているアレらからCalibriとConstantiaをメインにすることにした。Calibriのつづり覚えてますか? 覚える必要無いですけども。

Sassのファイル管理: 少し前に変数を格納してたSCSSファイルをフォントや単位などのカテゴリ別に分けた。けど失敗だった気がする。それぞれの値の管理はやりやすいのだけど、使う場所との行き来が煩雑になってとっちらかってしまった感がある。どちらかと言うとエディタのフォールディングとかをうまく使って1ファイルで整理した方が良さそう。

横並びのリストのセンタリング: リストを横並びにしてセンタリングというのはよく使う。ただよく使う(われる)わりには「これ!」というようなテクニックがないような気がする。inline-blockで並べた場合は項目の間に隙間ができ、floatで並べた場合はセンタリングがトリッキーすぎる。気分で色々使い分けてたけど最近はdisplay: inline-tableをよく使うようになって、これで良いかなーという感じ。

Chrome 18でSVGのリサイズがおかしい: 現行の最新安定バージョンであるChrome 18でSVGのリサイズがおかしくて(だいたいどのブラウザーでもおかしいけどね!)、heightプロパティーのみでリサイズするとアンチエイリアスが切れるというバグに遭遇した。widthプロパティーも同時に使えば問題ない。Chrome 21では直っているようなので頭の隅にでも置いておく程度で良さそう。アスペクト比の維持とは。

ロゴをサブセット化したWebフォントに: Noticia Textやめて(嫌いになったわけではない)、Hのグリフだけ抜き出したKameronをロゴに使うようにした。Data URI化してCSSに埋め込んだ(3KB弱くらい)のでHTTPリクエストは増えていない。

天道PKやってる: 三國志12がすごくヤバいらしいのでPKまでスルーすることにしたのだけどKOEIゲーやりたい熱はあったので天道PKを買った。無印はプレイ済みだったので、まずは群雄覇権モードのPKシナリオで。最初に嵐の前夜を松平家でやったらフルボッコにされた……。二回目はじっくり道引き直して何とかクリアできた。

インラインの印刷用CSS: HTML5 Boilerplateなんかでも採用されているインラインの印刷用CSSに戻した。確認面倒くさい! 分けたのはどうしてもあのチマチマ上書きしていく感じが嫌になったからとかいう書き手側の理由だった。それでは無駄にHTTPリクエスト増やす理由にはなっていないので戻した。

CSS3 Writing Modes: CSS3 Writing Modesの新しいWDが出たので初めてまともに読んだ。Writing Modesは名前の通り書字方向の制御を行うプロパティーを定義するものなんだけど、それ以外にもブロックのフロー方向の制御を行うものもある。つまり縦書きとかの需要も増えていくだろうからそういう意味でも重要なんだけど、それだけではなくてレイアウトにも大きな影響を与えるのでFlexboxなんかとの兼ね合いからも重要。

錠剤飲めない……: 粉薬はわかるけど錠剤は理解できない。錠剤を口に入れて水飲んだら入ってくじゃないか……みたいなことを解熱剤飲んで布団に寝て考えてたら一日半過ぎてた。粉薬飲めないだと子供っぽくて、錠剤飲めないとかだとデリケートな感じするみたいな議論をしている夢を見た気がする。

ランダムに記事を表示する機能: ウェブログには大体過去ログへアクセスする方法は用意されている。タグ別のページであったり月別のページであったり。なんか目的があって漁る場合はそういうのとあとは全文検索があれば十分なんだけど、初めて見たウェブログでどんなエントリーを書く人なのか知るなどという目的には向かない。そういう時にはTumblrでよく見るランダムに記事を表示する機能はあると便利。ここにも実はかなり前からあるけど、リンク用意してない……。古い記事についていじられると悶え苦しむのでやめてください。

いいねボタンの幅が自動調整されるように: いいねボタンの挙動が妙な感じがすると思ったら幅が自動調整されるようになっていた。これでツイート・ボタンとかと並べる時に妙な幅ががが……みたいなことが解消される未来が現実味を帯びてきた。あの隙間のために横に並べるの諦めて縦に並べているとか、box_count(上にカウントが出る奴)を使っているみたいなWebサイトも多いと思う。いいね!

私用領域へのマッピングだけでは解決しないもの: 意外と多い!? Web フォントに対応していない環境 ~2012 年の Web フォント事情の最後でアイコン・フォントが意味不明な文字になってしまうことに対して警鐘を鳴らしている。僕もDingbatのWebフォントというタイトルで似たようなことは書いたが、最近はU+E000からU+F8FFのPrivate Use Area (私用領域または外字領域)へアイコンをマッピングするもの増えてきており、そういった問題については一部解決しつつある。ただしフォールバックできない問題は依然として残るので、JavaScriptの力を借りつつCSS側で対応してやる必要がある。

Frame-OptionsのALLOW-FROM: iframe要素での参照等を制御できる(X-)Frame-Optionsヘッダーでは常に拒否するDENYと他者からの参照のみを拒否するSAMEORIGINが定められており、多くの現行ブラウザーで実装済み。それに加えて許可するドメインを指定できるALLOW-FROMが定められようとしている。もう実装はあるのかな……と2012/04/25現在での現行ブラウザーでざっと調べた感じでは、Internet Explorer 9(と10)だけ対応していた。他のブラウザーはALLOW-FROMを使うとどこからでも参照できるようになる。

位置固定サイドバーはMedia Queriesと一緒に: デスクトップではブラウザーを最大化して使う人は減る傾向にある(気がする)。僕はそうで、ブラウザーはだいたい1280x800くらいのサイズにしている。多くのサイトでは問題ないんだけど、巨大なサイドバーをposition: fixedで固定しているWebサイトで下が切れるなどというケースが増えた。サイドバー固定自体は昔からあったが、最近はフォント・サイズが大きい(というかデフォルトを採用している)ことが増えたのでそれに比例してサイドバーが巨大になってしまっているのかなーと想像している。

ColorHexa: カラーパレットの簡単なジェネレーターとしてColor Scheme Designer 3を使うことが多かったけど、最近はColorHexaも併用している。パレットの生成ツールとしてはColor Scheme Designer 3のが見やすく使いやすく高機能なので、ちゃんとしたい場合はそっちを使っているけど、Webセーフカラーへの丸めやShadesとかHSLへの変換などが必要になった場合にColorHexaを使うようになった。

SCSSファイルでAutoComplPopを有効に: 自動補完に頼らないように頑張る度に挫折して、AutoComplPopに出戻っている(5回目)。AutoComplPopはデフォルトでSCSSには対応していないので、ここだけ頑張って補完を手動で起動してたけど、重い腰を上げてg:acp_behaviorに追加した。これでまた自動補完に頼る日々が続く。

CursorLineNrハイライトグループ: 少し前にVimのハイライトグループに新しくCursorLineNrが追加された。名前の通りカーソル行の行番号のハイライトを行うためのグループ。あーそういえばなかったよなとか思った。デフォルトでは結構強烈(凶悪)なカラー指定がされているので、普通にCursorLineと合わせると良いと思う。パッチレベル479以降で使える。

Blosxom Fanatics: Blosxom FanaticsというGitHubのオーガニゼーションを作った。具体的に何かBlosxomを啓蒙するとか懐かしむ活動を行う場とかそういうわけではなく、単にBlosxom関連のゴミを一手に引き受ける非営利組織。例えばとりあえず作ってみただけのBlosxomクローンを捨てたり。自作のプラグインになんかあった時に修正するためにリポジトリは作っておきたいけど、積極的にメンテナンスする気はないんだよなぁ……という時にこっそり捨てたり。

transitionとmax-widthプロパティー: CSS Transitionsを使ってwidthプロパティーをアニメーションさせる時にmax-widthプロパティーがあるとどうアニメーションされるのかというのが気になったので調べてみたら、Chrome 18と20、Opera 11、12でアニメーションがおかしくなるバグにぶち当たった。Internet Explorer 10とFirefox 11(及び13)では大丈夫そう。

SVGの話: SitePointでCanvasじゃなくてSVGを考慮すべき7つの理由という記事が公開されていた(8つあるけど)。SVGオシみたいなことではなくて、場合によってはSVGの方が向いていることがある的な記事なので、間違ってはないと思うんだけどタイトルはあんまり良くない。

最近買ったの: 月に1回はアサマシらないと調子でない。

Ckwと白背景のコマンドプロンプト: コマンドプロンプトの既定値を白背景にしたらCkwでうまく文字が表示できなくなってしまった。Ckwの設定でもなんとかなる気配はあるんだけど、コマンドプロンプトの既定の16色の白と黒、灰色を上記スクリーンショットのように入れ替えてやってもちゃんと表示できるようになった。というメモ。

過去: 2003年の自分の日記を読んだみたいなのを見かけたので自分のも読んだら死にたくなった。困る。読むとだいたい消したくなるんだけど、どうせInternet Archivesに残ってるしな……とか思うと消す意味もない。たまにBlosxomのエントリー・ディレクトリをrm -rfする遊びはやってる。結構楽しい。

Vimカラースキーム: h2u_white: しばらく白背景を使おうと思っている。ターミナルとVimを白背景にするだけだけど。しっくりくるものがなかったので作った。未完成。補完メニューとメッセージ系あたりをもうちょっと何とかしたい。書き忘れてたけどgVim専用。

Noticia Text: ロゴやフッター他のフォントをCrimson TextからNoticia Textに変えた。WindowsのChromeでもそこそこキレイで、イタリックとボールドが揃っている稀少なGoogle Web Fonts提供のWebフォント。スラブセリフを使ってみたかっただけ。読みやすいけど読みやすいだけかなぁという気もする。Crimson Textは悪くなかったけど飽きた。

UglifyJSのHTTP APIを叩くPerlスクリプト: UglifyJSにClosure Compilerから乗り換えようかなーとちょっと思っているのでとりあえずコンパイルするためのスクリプトを書くところから。UglifyJSのHTTP APIがそこそこClosure Compiler ServiceのREST APIと互換性があるようなので、まずはローカルのJavaScriptファイルをClosure Compiler ServiceのREST APIでコンパイルできるようにで書いたPerlスクリプトを修正して使ってみる。

FeedBurnerを捨てるべきか否か: FeedBurnerから卒業しようかな……でもな……みたいな感じで5年くらい迷っている気がする。FeedBurnerの機能自体にはさほど不満はないどころか大いに満足しているんだけど、このところの放置っぷりには不安しかない。まぁうまくいっているものをわざわざ変更することもないかという理由で使い続けている。AdSenseとの連携があるのでそう簡単にはGoogleから捨てられたりはしないと思うけど。

Vimプラグイン: Clam: Vimでシェルコマンドを実行して結果をバッファーに吐き出すClamというプラグインを使い始めた。"=レジスターを使う奴だとエスケープがめんどいこともあるのでプラグイン作ろうかなーと思って忘れてたけど見つかったのでこっち使う。

効率の良いBlosxomプラグイン: Blosxomではプラグイン同士が連携することはほとんど考慮されていない。プラグインで何でも出来るけど、なんでも効率的にできるわけではないということで、ここらへんはBlosxomの語られていない闇の部分(誰も興味ないから)。例えばhead.flavourでエントリーのタイトルとかを利用しようとするとプラグインが必要になるので書くわけだけど、いずれblosxom.cgiが読んでくれるファイルを自前で読まなくてはならなくてスーパー非効率的。

はてなスターとFacebookのいいね!: いいね! ボタンではいいね! したことはその人の友人とそのページのオーナーにしかわからない上、カウントのみにもできる。対してはてなスターは誰がスターを付けたのか誰にでもわかってしまう。このスターの仕様ははてな内部と外部ではまったく逆の働きをしそう。

gh-pagesのみのリポジトリ: blosxomサイトの日本語訳を単独のリポジトリにした。URLはかわらないのであんまり気にすることはない。その時にやったgh-pagesブランチだけのリポジトリを作る手順のメモ。

Tumblrでミラー: kottke.orgの真似をしてTumblrでこのWeblogの完全なミラーを作った。TumblrのDashboardで購読する用。リブログされたいとかスキされたいとかフォローされたいとかそういうのも勿論ある。あと緊急時の避難用とか面倒になった時の逃げ場とか……。検索避けされてる以外はほぼ同じはず。ミラーなのでタイトルはひっくり返した。

Googleカスタム検索の新検索ボックス: Google本家のデザインに合わせてカスタム検索のデザインも変わった。デザインでデフォルトを選択するとオートコンプリートや青い虫眼鏡ボタンなど本家と似た感じの検索フォームと検索結果ページになる。今までのような感じにするにはクラシックで戻せる。

末尾のスラッシュ補完: mod_rewriteでBlosxomにリクエストされたパスをパラメーターとして渡すようにしている関係で、カテゴリーや年月ごとのページでmod_dirのような末尾のスラッシュ補完が効かないことに今さら気づいたので直した。いろいろ今さら。

Google Code Prettifyのローダースクリプトを書き直した: 単にDOMContentLoadedでGoogle Code PrettifyのprettyPrint()を呼んでただけだったのをゴニョゴニョするようにした。将来性とマークアップのしやすさのためにpre要素にprettyprintというクラスを指定しないように方針変更したので、それに合わせてcode[class*=language-]な要素を探してその親がpreだったらprettyprintを追加し、その後でprettyPrint()を走らせるという感じ。一応サポートしている言語もチェックしたりとかもするようにした。Rainbow移行への布石。

Rainbow: Rainbowはコードのシンタックス・ハイライトをやってくれるJavaScriptライブラリ。拡張の仕組みが凄く書きやすそうで良さそう。名前は悪い。しかもリダイレクト先のURLはrainbowsだし……。まぁとにかく乗り換えようかなとちょっと思った理由をちょっと書いておく。「ちょっと」なのでまだあんまり乗り換える気ない。

Media Queriesではemを使おう!: v6.15とかでちょっとem単位を使うようにした話を書いた。そこで書いたのは「描画領域に収まるレイアウト」ではなくて「文章の収まりを意識したレイアウト」にしたかったとかそういう話だった。id:vantとかu:studiomohawkなどがブックマークしてたThe EMs have it: Proportional Media Queries FTW!ではもうひとつのem単位を使うメリット、Media Queriesでem単位を使うとユーザーのズーム(スケーリング)に対応できる点を解説していた。

風邪で喉痛い: 風邪の諸症状の中で喉痛いのが一番辛くて嫌。Wilkinson辛口を温めて飲んだら結構良かったけど、なんか違う気もした。のどぬ~るスプレーがなかったらと思うとぞっとする。ということでベッドの中でぼーっと「エイプリルフールネタを仕込みました!」って書いて何も仕込まないというウソみたいなことを考えて笑っていて、風邪だなぁと思った。

一日一エントリー: 2011/10/06以降、一日一エントリーのペースでここに書いてる。特に理由はなかったけど、意味はあった気がする。4月からも続けていこう。

2012年度版・ASIN抜き出す方法: Amazon.co.jpでアソシエイトツールバーが表示されている場合、window.Associates.SocialShareAttributes.asinにASINがあることに気づいたのでしばらくこっちを使ってみる。GoogleでのSocialShareAttributes検索結果が0だったのでメモしておく。

WebKitにおける::-moz-selectionと::selection: 間違えて同じルールセットに::-moz-selectionと::selectionを並べて書いていた。これ不明なセレクターになってエラーになる……と思って直したんだけど、Safari 5やChrome 17(と19)ではエラーにならず素通しされてた(Firefox 11やInternet Explorer 9、Opera 11ではエラーになって無視される)。どうもこれだけ(か擬似要素すべて)が特別扱いされているかバグっているのかのどちらかな感じ。

家電量販店のラッピング: 期待はしてなかったんだけどひどかった。小学生のお楽しみ会(今でもあるのか知らないけど)でのプレゼントのラッピングみたいな感じで……。自分でうまくラッピング出来るわけではないのでアレなんだけど、もっとこう横浜ヨドバシくらいの規模ならできるだろ! みたいな気はした。

Dosis: Terminal DosisがDosisにリネームされてた。合わせてヒンティングに手が入ってて、Windowsでそこそこ綺麗になったような気もする。Chromeですらまぁまぁ。前までは特定のサイズでグリフがおかしくなる感じだったけどそれも直ってるぽい。

vim-css3-syntax #6: 2012/03/22にFlexible Box LayoutとGrid Layoutの新しいWorking Draftが出たので、それに合わせてvim-css3-syntaxを更新した。というかGrid LayoutとGrid Positioningを混同してて、Layoutの方は追加してなかったので追加した。

mod_rewriteのテスト: mod_rewriteは未だにちゃんとわかってない。単純なものならそんなでもないんだけど、ちょっと変わったことやろうとするとすぐ躓く……。この間も躓いたので、簡単にテストできるものでもないかなーと少し真面目に探したら、htaccess testerというのを見つけた。ざっと試した感じではちゃんとチェックできてそう。

画像置換について: 画像置換には疑似要素を使う派ですこんにちは。font: 0/0 aを使う画像置換はあんまり使いたくないというか、em単位をその要素で使えなくなるのはかなり致命的な気がする。こういうテクニックは他のプロパティーに影響を与えないということが最も重要だと思う。

display: table-cellとcontent: ""による画像置換: display: table-cellした要素の中で疑似要素を使った画像置換をcontent: ""(空文字指定)でやると、Internet Explorer 9以外の現行ブラウザーでは謎の空白が出来てしまう現象に遭遇した。説明難しい。IE9以外で同じ挙動なので多分仕様に従ったものなんじゃないかなーとは想像できるんだけど、どうしてこうなるのかよくわからないのでメモがてら書いておく。直す方法だけは一応発見した。

Sassの存在意義への補足: Sassの存在意義の話があんまりうまく伝わってない感じなので、3の別々に書けてSassで関連付けられるということについて少しだけ書く。抽象的な概念の話なので具体的な説明というのもなかなか難しいけど、CSSフレームワークを使う時にどうなるかみたいなことを取り上げる。

FOUT: Flash of Unstyled Textの頭文字をとってFOUTと呼ばれる現象がある。FirefoxでWebフォントの読み込みが完了するまで別のフォントが使われる現象のことで、後にSafariやChrome、Internet Explorerで起こるようになった読み込みの完了まで空白になる現象のことも含めてFOUTと呼ぶことが多い(気がする)。このWebサイトでも起こっていて、それについて聞かれたのでさらっと書いてみる。

Vimでカーソル下のファイルをData URI化する: Data URIネタを続ける。昨日書いたData URI変換スクリプトをコマンドラインとかエクスプローラーから送るでクリップボードにコピーして使うだけだとVimで面倒くさい。Vimでは<cfile>でカーソル下のファイル名を拾えるので、それを利用してファイルのパスからData URIに変換するようなスクリプトを書いて使うことにした。

Data URIに変換するPerlスクリプト: Data URIはまだそれほど使いまくっているわけでもないので、ブラウザーでやったりVimからWSHでやったりいろいろしてたけど、必要な時はだいたい複数ファイルを何回も変換する必要があったりしていろいろ大変なのでPerlで書き直して右クリックから使う方法も考えた。@cho45が書いたのを見て重い腰が上がった。

Sassの存在意義: SassはCSSの貧弱さを補うような便利機能について取り上げられることが多い。そのためその機能の奥に隠れているものについて触れられることはあまりない。例えば変数や四則演算、関数によって値に論理的な意味を持たせることができることとか。そういうCSSに足りない概念の導入できることとかももちろん周知させたいけど、それ以上にHTMLとCSSによるWebサイトの作成に新たなアプローチが加わることを周知させられればいいなぁと最近思う。Sassの存在意義というのはその辺りに見いだせるんじゃないかと考えているので。もう「CSSグラデーションのミックスイン!」とかスニペットでやれるようなことを推すのはやめたい(やめてほしい)。

2012/03/18のメンテナンスのお知らせ: サーバーの増強メンテナンスで2012/03/18の午前0時から午前9時の間このWebサイトにはアクセスできなくなる。というお知らせ。何か動かなくなったりしそうで不安……。

真・三國無双6 with 猛将伝: 無双シリーズはPC版で大体買ってるので買った。5はなかったことになってる。なかったことになってる……ので。GDDR5で1GBのHD6670でだいたい快適だけどフレームスキップおかしい気がする。ヌルヌルには程遠いけどパッチ待ちっぽいなぁ。UIフォントが隷書からゴシックに戻ったのはなんか残念だな。

フォントからパスへ: まっとうな手段というか正攻法だとInkscapeを使うわけだけど、公式Wikiのどっか(忘れた……)にも書いてあるようにWindowsだと一部フォントがリストに出てこない(少し前のバージョンで直ったバグの話ではない)。例えばWebdingsであるとか多くのDingbatフォントがコレに該当する。そういうフォントのグリフを使いたい場合はFontForgeでグリフをSVGとしてエクスポートするのが一番簡単だと思う。

引用符をSVGに: blockquote要素に付けている飾りの引用符をSVGでやることにした。フォントだとサイズ(特に横幅)を合わせるのが難しいので。アイコンみたいなコンテナー要素のサイズに合わせてぴったりサイズを縮小拡大したい場合はSVGが最適解だと思う。もののついでにhr要素もSVGで書き直した。

プレースホルダー文字列とフォーカス: Chrome 17やSafari 5ではフォームのプレースホルダー文字列(placeholder属性で指定した文字列)が文字を入力し始めるまで消えない。対してFirefox 10やOpera 11、Internet Explorer 10 PP5等ではフォーカスを当てただけで消える。仕様では特にどういう挙動になるべきかは決められていない(ような)ので、実装はベンダーのさじ加減。normalize.cssにこの実装の違いを吸収するルールが追加されたのでちょっと書いてみる。

GitHubで今開いているコミットをmasterの最新と比較する: GitHubには任意の二点間のスナップショット差分を見るためのCompareというビューがある。各リポジトリのページからこの機能にアクセスするUIがないのでマイナーな気がするけど、アクティビティーとかでちょっと使われてたりするので見たことはあるはず。CompareビューにはリポジトリのURLの最後に/compareと付けるだけで入ることができ、開かれるダイアログで任意のタグやブランチ、SHA1ハッシュを入力すると差分がズラッと並んでくれる。特定のコミットのページからは特にUIはないのだけどURLをちょっと書き換えるだけでmasterの最新との差分を見ることができる。

Sassのリスト: Sassではいわゆる「配列」のような複数のデータを格納するリストを作れる……というのだけど使ったことなかった。リファレンスでもさらっと流されてるし、リストを使う@eachの説明でもベタに並べてあるだけで、どうやって作ってどうやって使うのかイメージできなかった。変数の値を空白区切りにしたらリストな変数になるということはどう考えてもリファレンスからは読み取れないと思う。

vim-css3-syntax v0.4+ɑ: CSS Values and Units ModuleがLast Callになったので、合わせてvim-css3-syntaxを更新した。結構変わってた。vmがvminに変わってたのは知らなかったな。WebKitがvwあたりを実装したニュースは流し読みしてたのでちょっと不安になったけど、ちゃんとvminでの実装だった。ていうかそうじゃなかったらLast Callにならないか。

フッターのCC文言を復活させた: HTMLのlinkやa要素でのrel属性だけではさすがにアレだなぁと思いつつ放置してたけど、ちゃんと文字列でCC BY-NCだということを表記するようにした。ついでにちょっと背景を追加したりとか。サトル! グランジ!

リストにした要素の子にブロックがあるとIE9で……: display: list-itemとした要素の中にブロックがあると要素の上に消すことのできない余白が現れることがあるというバグ問題で、IE9と書いたけど残念なことにIE10 PP4でも起こった。必ず起こるというわけではなくて、list-itemな要素とblockな要素の間にa要素などが挟まる場合という条件がある。marginやpaddingプロパティーを0にしてもこの謎の余白は消えない。

セレクターのネスト: Sass等のCSSプリプロセッサーではネストを使ってくだくだしい(単に長い)セレクターを意識することなく自然に書けてしまうので、あとでちょっとだけ上書きしようかなとか言う時に面倒なことになったりする。CSSのカスケーディングは魔窟だし! 特にSassでは@extendでセレクターの順序が変わってハマるなどということもあるので、CSSの感覚にネストを組み合わせて書いていると簡単に破綻する。

Pinterestの使用をちょっと休止: 色々なところで触れられているので詳しいことは省略するけど、PinterestのTOSのある部分が直接の原因。間接的な原因は使ってもない人が過剰に反応して煽りまくるので煩わしくなったこと。「大丈夫?」とか余計なお世話すぎる。使ってると恥ずかしい感あるとかちょっと前に書いたけど、その段階を通り越して使ってると犯罪者みたいな感じになってて面白い。

git logを見やすく: git log --graph --onelineをメインに使っていたんだけど、現在時刻に対する相対的な時刻とかコミッターの名前とか表示したくなったので色々いじってた。%C(white bold blue)とかでターミナルの色を参照して文字色と背景色を指定することができるということを理解するまでが長かった……。

CSS LintのPhantomJS向けCLIをちょっと変えた: PhantomJSからCSS Lintを使うで書いたCSS LintのPhantomJS向けCLIを1ファイルで完結するようにClosure Compilerで連結した。オプションに対応とかじゃない。対応しようかと思ってたんだけど、ルールのオン・オフとかすごい面倒な感じだったのでやめた。外部ファイルに設定書けるようになったりするまではデフォルトで使ってようと思ってる。

Google Chrome 17のDeveloper Toolsでの数字操作: Google ChromeのDeveloper Toolsでは数字にカレットがあると矢印キーの上下でインクリメントとデクリメントが出来る。17になってからそれが常に1刻みになり(以前はコンテキストで増減数が変化した)不便だなーと思ってたんだけど、ShiftやAltを組み合わせると1刻み以外で増減できることを少し前に知った(結構前からあった)。

OptiPNGにメタデータ削除機能が付いた: OptiPNGが0.7にバージョンアップして、待望のメタデータを削除する機能がついた。これでpngcrushいらなくなるかも。0.7では他にlibpngの脆弱性についての対応もなされているので、使用している人は更新するべき。

2 + 9 + 1: シングル・カラムをベースに、ある程度ブラウザーの描画領域が広い場合は記号をぶら下げたりとかfigcaptionの飛び出しとか少し余白を有効活用する感じに少し前から変更している。当初は3:9でカラム分けていて、これだと右に寄り過ぎかなーという感じだったので、試しに2:9:1として右に少し余白を取るようにしたら少し安定した感じだけど、もっとガッと右に寄せた方が良いのかもしれない。ロゴも2:9:1のカラム分けに合わせてサイズをデザインを変更した。

Pinterestのnopin: 「対策しました!」みたいなニュースが普通に注目されちゃうとかPinterestの勢いはすごいな。「対策」っていうのはおかしい気がするけど(どちらかというとPinterest寄りの目線なので)。それはまぁともかくnopinは実装がおかしい気がしてしょうがない。あまり興味もなかったのでnopinの話は読み流していたため「えっ? alert()?」とか思っただけだった。ちょっと追ってみたところクライアント側のJavaScriptでチェックしてるだけで、実際にはPinterestはnopinをチェックしていないと言って良いと思う。

無印良品の充電ラジオを買った: 無印良品からつい最近新製品として発売された手回しとUSBからの充電に対応しているラジオのこと。5900円。LEDのライトが付いてたり乾電池も使えたり、USB経由で携帯の充電が可能だったりと防災向け。前にもあった奴よりちょっと大きくなったらしいが、代わりに内蔵電池の容量が倍以上に増えているのでより災害に強くなったとは言えそう。役に立つ日は来ないと良いな。

not print: Media Queriesではnotというキーワードを使って特定のメディア・タイプ以外をターゲッティングできる。link要素で使うと、notを認識しない生きる化石ブラウザーではそのlink要素で指定されたスタイルシート・ファイルが読み込まれないので、not printなどとすることによりscreen向けのスタイルシート・ファイルを古いブラウザーから隠すことができる。あーつまりすっぴんの刑。

Dropmark: Dropmarkというウェブサービスをちょっと使い始めた。現在はまだ招待制のベータ。Dropboxからローカルでの管理機能を省いたものという感じではあるんだけど、その説明だと近くて遠い感じ。Dropboxの共有フォルダでのコラボレーションを主眼に置いたものというと近そう。Free版での1GBまでの制限は、コラボレーションで使うと直ぐに足りなくなりそうな気はする。

なぜnormalize.cssなのか: リセットでは弊害がありすぎるとか、ノーマライズの控えめなところが良いとか、まぁいろいろだとは思う。僕はそもそもリセットとかノーマライズとか自分で書いていないルールを取り込むのが好きではないので、なるべくその類のものの使用は最小限に抑えたい。YUI CSS Resetなどでは好むと好まざるに関わらず全て取り込まないとならないけど、normalize.cssではブラウザ間での差異を統一するための各コードが独立しているので、必要なものだけを取り込むなどというような使い方も難しくない。そういった自分の書くCSSとブラウザー側の実装の緩衝材(polyfill)として機能するというところがnormalize.cssを気に入った理由で、これからも使っていきたい理由。

IE9でbody要素へbox-shadowが付けられない: タイトルまま。他のブラウザでは大体意図した通りにbox-shadowが付く。box-shadowプロパティーはIE9でもtable要素絡みあたり以外ならまともに動くので、エッジケースと考えて良さそう。一応解決方法もある。

Vimでタブページの位置を変更する: Vimでバッファーごとにタブページを開くみたいなヌルい使い方をしているみなさんこん○○は。タブページを適当に開きまくるとたまに整理してやらないとごちゃごちゃになるので、簡単に位置を変えられないかなーとタブページのヘルプをちゃんと読んだら:tabmoveというまんまなコマンドでできることがわかった。

右サイドバーに広告: コンテンツの右にサイドバーがあると、行を読み終わって左に視線移動をする際にすごく気になる(うっとうしいとも言う)。そういった意味でその右サイドバーに広告を置くというのはCTR的には結構良い。実際にこのWebサイトでは右にサイドバーを置いていた頃の方が広告のCTRは高かった(収入は今の方が上だけど)。先ごろリニューアルしたSmashing Magazineでは、CTR重視で右サイドバーの広告は維持した形になったんじゃないかと思う。

ボタンの押し込みをCSSで表現する: 時代は:active! タッチ・デバイスに:hoverなどない! みたいになりつつあるような気がしないでもないので、ボタンの押し込みの表現を色々考えている。とは言ってもタッチ・デバイスでは:active擬似クラスもいまいちアレなのでまだあんまり意味なかったりするけど。三周回ってデフォルト使えみたいな感じになっている節もある。ですよねー。

vim-css3-syntaxがvim-lessのハイライトを壊してしまう: vim-css3-syntaxとvim-lessを両方入れている環境で、LESSの引数付きミックスイン内がハイライトされなくなってしまうバグを直した(つもり)。コンフリクトかと思ったら普通にバグだった……。でも他にもこのあたりの絡みで不具合があって、多分vim-less側でも対処しないと完全には直らないと思う。まぁとにかく一部は直せたので、両方使っている人は更新してみてください。

等幅フォントが使われる要素の扱いがブラウザー間でまちまちな問題: 少し前にFixing browsers’ broken monospace font handlingをNice Web Type経由で読んだんだけど、「単純に初期設定が違うだけだろ……%指定すれば大丈夫じゃね?」とか高をくくってたら大間違いだった。font-size: 100%がうまく動かなかったり、pre要素はともかくcode要素辺りでの実装のずれとか、monospaceだけだとWebKitでおかしくなるバグとかも絡んできてかなりの魔窟のようだ。この記事では触れられていないけど、言語設定によって等幅フォントの初期サイズが違うこともあるので更なるカオス。

Learn You a Flexbox for Great Good!を訳した: おもしろい!Stephen Hayの書いたLearn You a Flexbox for Great Good!というCSS Flexible Box Layout Moduleについての記事がとても良かったので「Flexbox、おもしろいですよ?」というタイトルで日本語に訳した。もう一回言うけど、おもしろい!

Flexbox、おもしろいですよ?: Translation of: Learn You a Flexbox for Great Good! | The Haystack. written by Stephen Hay

bakcground-sizeをtransition: 背景画像をbackground-sizeプロパティーで縦横サイズを制限して敷き詰めるというのは昔id:hitode909がやってた。それをCSS Transitionsで元のサイズに戻したらどうなるかなーとやってみたらそこそこ面白かった。きっかけは96x96.netを見たことで、こっちはborder-imageプロパティーを組み合わせていて、widthプロパティーをtransitionしている。

SVGのファビコン: @yoruakiのツイートを見て、SVGをfaviconとして表示できるブラウザーがあることを知ったので、手持ちの9つのブラウザーで確認してみた。

Hougan v1.0: Houganは、方眼紙に似た感じの薄いグリッドの入ったパターン。グリッドは実線と点線の組み合わせになっていて、全体に薄くノイズも乗っている。

_ellegant-button.scss: このサイトでも使っているSVGのグラデーションを利用したボタンをミックスインにしてscss-partialsに追加しておいた。:hoverで少し暗くなり、:activeで凹むようになっている。button要素でもa要素でも使える。あと、だいたいスケーラブル。

ベンダー拡張プリフィックスを使いまくり更新しまくろう: ベンダー拡張プリフィックスはそれそのものがWebを破壊することはないし、ベンダー独自のプロパティーや関数が数万追加されて使われまくったとしても本当はWebは壊れない。またその文法が変更されても修正または追加すれば対応できるし、その余裕は十分にある。つまり壊れるのはほとんど全てのケースで開発者の怠慢に過ぎないので、ちゃんと仕様と実装を理解して必要ならば寝る間を惜しんで修正作業に血眼になるべき。みたいな実践を伴わない意識を僕は持っている。

border-*-radius: 100%: あんまりborder-top-left-radiusプロパティーとか使ったことなかったのでスケーラブルな半円をborder-*-radiusプロパティーを組み合わせて作ろうとしてうまく行かなかった。スケーラブルにするのは仕様の理解と一工夫が必要なようだ。100%が100%じゃないことがあるので。

キーリピートの速度を上げる: Hayateを使ってたんだけど、最近常駐させるようになった何かと相性が悪いのか、たまにクラッシュするようになってしまった。代わりのソフトウェアもなさそうなのでレジストリーをいじってお茶を濁すことにした。

デバイスを回転させた時の話: 少し前に回転させた時にフォント・サイズを変えるとまずいんじゃないかというようなエントリーを書いたんだけど、同じような事を取り上げつつまったく逆の結論にたどり着いてるFluid grids, orientation & resolution independenceというエントリーを見つけたので読んだ。2か月ほど前のエントリーなので、筆者も今はもう違う意見を持っているのかもしれないけど、ざっと要約してその感想を書く。

2011年に買ったマンガ: ネタに詰まるとアフィリエイトに走るのがこのWebサイトの良いところです。

フォント・サイズの拡大縮小について: ブラウザーの描画領域に合わせてフォント・サイズを変更するようにしたんだけど、スマートフォンやタブレット機器の回転機能のことを考えてなかったなーということに思い至った。フォント・サイズの変更を行うブレークポイント次第で回転させただけでフォント・サイズが変わってしまい、結果として読みづらくなってしまうことがあるということ。

rem単位: ルート要素の文字サイズを基準にする長さの単位remにOperaが11.6で対応した。これで5大ブラウザの最新安定バージョン全てで使えるようになったことになる。主に見出しのマージンの指定などで威力を発揮するんじゃないかと思うし、emよりもグリッドシステムに向いてそうな気配がある。ただrem単位をサポートしていないブラウザではガン無視されるので、書き方には工夫が必要になる。

border-style: doubleの間のスペース: border-styleプロパティーでsolid以外が使われることは滅多にないけど、doubleはそこそこ使われるんじゃないかと思う。他は大体残念な感じになることが多いが、doubleは安定しているので。そのdoubleでは2本の線が引かれその間にスペースが出来る。一体このスペースはどうなってるのかみたいなどうでも良さそうな話。

段落間のマージンを省きインデントする: 段落(p要素)が続く場合、その間のマージンを省き、全角2文字分インデントするようにした。Islands of Thought in Macrotypographyで推奨されていて、ざっと読んで直ぐにやりたくなったので。まぁでも海の向こうのタイポグラフィー・テクニックって感じではあるので、しばらくしたら戻すと思う。

opacityとz-index: opacityプロパティーで1より下が指定された要素はその重なり順が変化するという仕様があるようだ。擬似要素を複数組み合わせて紙をずらして重ねたようにロゴをちょっと改悪した時に初めて知った。いつものChromeのバグかと思った……。

v6.15: ブラウザーのサイズによって文字の大きさを少し変えるようにしたので、それに合わせてemを使ってレイアウトするようにした。縦のリズムもちゃんと計算してやろうかと思ってるけど面倒になってきた。やって思ったのはやっぱりcalc()が必要ということ。違う単位を混ぜられるのはとても手軽だ。Sassでも無理だし、将来的にもできるようにならないし。faviconもちょっとだけ変えた。

OperaでWebフォントを使うと日本語が明朝体になる: タイトルはかなり不正確。Webフォントを使用した場合、そのフォントが持っていないグリフはfont-familyでの指定に従って適切にフォールバックされるべきところだが、Operaでは強制的にserif系のフォントが選択されてしまうというと正確。確認したバージョンは11.60(と11.61)。サブセット化されているためグリフを一部しか持っていない欧文フォントやアイコン・フォントで、持ってないグリフがTimes New Roman等になってしまうということでもあるので、意外に影響範囲は大きそう。

あう: あう。

normalize.scss: Modularized and Sassy normalize.css: normalize.cssをルールごとに分離させて、必要なルールだけをSassのpartialとして@importできるようにしたnormalize.scssを作った。各ルールには特に手を入れず、normalize.cssのセクションごとにディレクトリを切って整理しただけ。それぞれのpartialは特にSassに依存してるわけではないので普通にcatで連結しても使える。

CSSで画像を三角に切り抜く: 要素の一部を切り抜くclipプロパティー(CSS3ではcropにリネームされる予定)で使える関数にtri()とか欲しい所だけどないものはないし、追加されるとも思えないのでどうにかする話。空前のCSSで三角にするブーム。丸いサムネイルとかアキマシタヨネー。

head要素以下でのitemprop属性: Microdataではitemprop属性を使ってプロパティーを追加する。HTML標準仕様の変更によってbody要素以下でもlinkやmeta要素を使えるようになったので、どうでも良いマークアップを追加してCSSで隠して誤魔化すとかしなくても大体なんとかなるようになった。しかしその一方でlinkとmeta要素はitemprop属性と同時にrel属性やname属性を使うことはできない。そのため例えば<meta name="description">タグにitemprop="description"を追加してWebPageスキーマのプロパティーとして追加するなどということは無理。

CSSのelement()関数: せめてWebKitに実装されてからとか思ってたけど、CSS Image Values and Replaced Content Module Level 3がLast Callになったのでいい機会ということにしてelement()関数についてエントリを書く。element()関数は任意のIDを引数に取ることができ、その要素を画像として参照できるというなかなかの荒業な関数。具体的には画像のサムネイルを簡単に作成できるとかそういうものをイメージするとわかりやすいと思う。

あなたのブラウザでJavaScriptを有効にする方法: How to enable JavaScript in your browserの日本語版ができた。できたというか訳した。能動的にJavaScriptを無効にしてるとか今時あまりない気がするけど、何かの間違いで無効になってしまったような人のためとかでもあると思うので一定の需要はありそう。

ディテール: Webページにおける細かいパーツを正しく実装することがユーザー経験の向上につながるということについて書かれたUI: Getting the Details Rightを読んだ。WordPressの結構な人気テーマでもタブがあたかもパンくずリストのように表示されていたりするし、頭ではわかってても実践にまでは至らないことも多そう。

スケーラブルな三角形をCSSグラデーションで作る: ひとつ前のエントリで書いたやり方だとスケーラブルじゃないので著しく生産性に欠ける。真っ当にCSSグラデーションを書いてうまく重ねてやるとスケーラブルな三角形を作ることができるようだ。変な書き方を知っているのも良し悪しですね!

CSSグラデーションで三角を作ってアニメーションさせる: 擬似要素とborderプロパティーを組み合わせてCSSで三角形を作る方法はかなり市民権を得ているように思う。ちょくちょく見かけるようになった。しかしこのテクニックには欠点がいくつかある。例えばbox-shadowがうまくつかないこととか。それ以外にもWebKitでCSS Transitionによるアニメーションが起こらないという欠点もある。それを回避するために三角を作る新たな方法を発明したという話。

borderとCSS Transformを組み合わせるとOperaでバグる: 写真を紙に挟んだような効果をCSSで作ったらOperaでバグった話。細い枠線でも起こるけど気づきづらい。太くするととてもわかりやすい。border絡みは大体いずれかのブラウザで残念な結果に終わるという経験則はやはり正しかった。

WindowsのSafariで表示がおかしくなるGoogle Web Fontsのフォント: 昨日気づいたんだけど、Google Web Fontsの一部フォントでWindowsのSafariにおいて表示がおかしくなる。昔散見されたiTunesからぶっこ抜いたLucida GrandeでWebページの表示が一部おかしくなる問題と似てる気がする(けどもうよく覚えていない)ので、Webフォント特有の問題でもGoogle Web Fonts特有の問題でもなさそう。

Wallpapers on Pinterest: Pinterestを使ってデスクトップ壁紙のコレクションを始めた。画像の縦横比がそれぞれのPinでほぼ一緒なので敷き詰めてもあまり面白くないのがちょっと悲しい。

v6.13: ちょっと色々手を入れたのでエントリにする。手を入れたというか一度全部Webフォントでやってみたいなーと思ったので、そうしてみた話。まぁ日本語は無理なのでそんなにだけど。

Facebookページの管理ができなくなった: 先週末あたりから自分の所持しているFacebookページ(例えばhail2u.net)の管理ができなくなった。同じタイミングで同様の不具合に遭遇している人をそこそこフォーラムでは見かける。今のところKnown Issuesでは取り上げられていない。一部の人は稀に管理UIにアクセスできたりとか挙動不審らしい。

Blosxom: monthviewプラグイン: 月毎のビューの時にflavourをサクっと切り替えるmonthviewというBlosxomのプラグインを書いた。list_title_at_monthの汎用版みたいな感じ。

2012年のMedia Queries: 2011年にはMobile Firstという手法が浸透した。当初は多分に技術的な事情によるもので、先に低解像度向けのスタイルを書くことによって、高解像度向けのスタイルで使われる大きな画像を読み込まれないようにするというテクニックでしかなかった。しかし、結果としてコンテンツ重視でCSSを書きやすくなることがわかり、急速に浸透することになった。Media QueriesはそんなMobile Firstの中核をなす技術だが、その使われ方は限定的なもの(ほぼmin-widthとprintだけ)だ。2012年にはそこらへんも変わってくるんじゃないかと思う。

a要素でのitemprop属性: Microdataではitemprop属性を指定された要素からどうやって値を選択するか厳密に決められていて、それに外れた書き方はできない。metaやtime、img要素の場合はまぁそうなるよねみたいな感じなんだけど、a要素だけがちょっと。

はてなアンテナに対応した: はてなアンテナでコンテンツの更新を受け取れるようにこのWebサイトのトップページを定期的に、具体的にはブログのエントリを書いた後に、静的に生成するようにした。「アンテナに対応した」っていう言葉がものすごいツボったので勢いでエントリに。

Last CallったCSSグラデーションの文法: CSS Image Values and Replaced Content Module Level 3がLast Callったので読みなおした。古い独自実装の文法と旧仕様に基づく文法、Last Callに基づく文法にベンダー拡張プリフィックスが組み合わさるカオスな世界の始まりですね!(ブラウザがよしなにしてくれることを期待せずに)まともに対応させようとしたらCSSグラデーションを背景に使うためにbackground-imageを10行くらい書かなくてはならなそうで、もはやSassやLESSの出番とかそういう次元の話ではない。

VimでのSCSSの構文強調を最新版のSassに対応させる: SassのSCSSを書いていて@functionや@eachが構文強調されないことにイラッとすることが増えてきたのでサクッと書いた。確認した範囲では大体うまくいっているような気がする。気が向いたらリポジトリ作る。

noscript要素をhead要素で使う: 様々なライブラリのお陰でJavaScriptでドキュメントをゴニョゴニョするのが簡単になったので、代替コンテンツを用意することはあまりなくなった。そのためnoscript要素が使われているページを見ることはまず無い。などと始めながらそういう代替コンテンツのためのnoscript要素の話ではなく、head要素内でうまく使うとJavaScriptの有効・無効でユーザーを振り分けられるという話。

GoogleのCDNを使うか単にcatするか: 有名ライブラリ、例えばjQueryを利用する時GoogleのCDNを使うことが多いけど、どうせ依存するなら単にcatしてまとめても良い(はず)。つまりHTTPリクエストがひとつ増えるデメリットと転送量の低下を期待するメリットのどちらがそのWebサイトにとって効果的かを考えなくてはならない。

Git配下のファイルかどうかでCtrlPを切り替える: CtrlP (ctrlp.vim)では上位ディレクトリを辿って.gitとかがあったらそこを基準に起動するようにデフォルトではなっている。でもちょっと考えれば分かる通り、深い階層でかつGit配下ではない場合に非常に重い。ので設定でアクティブなバッファーのファイルのディレクトリを基準にしたりとかしてた。けどやはりGit配下の場合はやっぱりそれを考慮して欲しいので、Git配下かどうかを調べて適宜切り替える関数を書いて使い始めた。

_corporate-colors.scss: 色々なウェブサービスのコーポレートカラーをSassで手軽に扱えるようにするライブラリを洒落で作った。なんとなくこのあたりの色かなとロゴとかメディア向けキットの画像とかからカラーピッカーで拾って勝手にコーポレートカラーと決めてたりするので正確じゃない。

Vimでちょっと実行してバッファーに吐く: Vimでちょっとシェルのコマンドを実行してその結果をバッファーに持っておきたい時には"=レジスターとputを使ってやれば良いことがわかった。Windowsだとちょっと便利な気がする。他にもっと良い方法がありそうだけど、なんとなく面白いのでこれ使うことにした。

Vimスクリプト用Google Code Prettifyの言語ハンドラー: 重い腰を上げてGoogle Code PrettifyでVimスクリプトのコードを構文強調できるようにする言語ハンドラーを書いた。あんまり頑張らないので、コメントとクオート文字列、Expression evaluationにあるコマンドをキーワードとして強調くらい。

Vimでセッションの自動保存と復帰: VimLeaveでmksessionを発動させるセッションの自動保存は結構前からやっていたけど、自動復帰はやってなかった(必要な時だけ:sourceしてた)のでちょろっと書いた。ライフ・チェンジング……という程ではなかった。でもまぁそこそこ必要そう。

pathogenプラグインで特定のVimプラグインを無効にする方法: 他の多機能Vimプラグイン・マネージャーと違って、pathogenプラグインではプラグインの管理はGitに任せっきりなため特定のVimプラグインを一時的に無効にするとかそういうの面倒くさい……と思ってたんですけどちゃんとそのための機能が用意されていました。無効にしたいプラグインのディレクトリ名の最後にチルダ(~)を付けるだけ!

ローカルのJavaScriptファイルをClosure Compiler ServiceのREST APIでコンパイルできるように: 前に作って愛用しているClosure Compiler ServiceのREST APIを叩くPerlスクリプトにローカルのJavaScriptファイルを読み込んでコンパイルに含められる機能を付けた。Closure CompilerのJARファイルを使ってローカルで動かしても良かったんだけど、APIやWeb UIのコメントでオプション設定を書く方法(Greasemonkey的な奴)が気に入っているので@code_pathというパラメーターを追加する形にした。

Fusion 5+1 vs. Quattro4: 結構長い間Schick派でQuattro4を使ってたんですが、半年くらい前にFusion 5+1に乗り換えて結構快適な感じです。色々違いはあると思うんですけど、一番気に入ってるのはカミソリの裏側がすっきりしてて、ちょっと強めに水で流せば汚れが溜まらないところ。

CSS 2.1 Advent Calendar ’11: CSS 2.1 Advent Calendar '11からJavaScriptを撤去し、CSSをちょっと修正してざっと読めるようにしておいた。そのままブログかなんかのテーマに使えそう。ベスト・プラクティス未満! ベスト・プラクティス未満! 大事な事なので。

@silent directive coming soon to Sass?: Compass開発者のChristopher M. EppsteinがSassに@silentというディレクティブを追加してた。どうやら待望の出力CSSに含めないCSSルールを書けるようになるもののようで、これがマージされれば思う存分@extendまくれそう。

カスケーディングとSassの@extend: Sassの@extendを駆使すると出力されるCSSを効率化することができます。ただ@extendは様々な場所に書かれている複数のセレクタをなんとなくまとめるものなので、CSSのカスケーディング順位も入れ替わってしまう。あまりハマることは無さそう……なんですけど、僕はばっちりハマりました……。

○○の位置: Webデザインにおいて各パーツの位置はそのWebサイトの性格によって決まると思います。このWebサイトの場合は一見さんを重視していない文章の書き方をしていたりタイトルのつけ方をしているので、自然とそれを考慮に入れた配置にしています。

mixxd()というSassの関数を作った: rgba()のエミュレートにはadjust-rgb()だけでは不十分なので、ちゃんと背景色と混ぜるmixxd()という関数を作りました。mix()の第三引数が小数のバージョンで、xdはBy Decimalの略です。ユーザー定義関数のうまい命名規則欲しいなぁ……。

Pinterest #2: PVがジャンプアップしたことと資金調達に大成功したことで国内でもPinterestのことがちょくちょく話題になっていますね。ソーシャル分野においてショッピングと絡めることが注目されていることもあって、買いたいもの・買ったもののメモ的なウェブサービスという取り上げられ方をしていますが、それはちょっと違うんじゃないかなーと思います。使ってる感覚からするとTumblrとFFFFOUND!、Svpplyを足して3で割ったけどどれともちょっと違うような感じです。

adjust-rgb()というSassの関数を作った: Sassには色調節の関数が色々用意されています。その中にadjust-color()というRGBとHSLで色を割合ではなく指定量だけ調節できる汎用関数があるんですが、RGBをそれぞれ同じ量だけ明るく(暗く)したい時の引数指定が面倒です。というわけでそれをラップするadjust-rgb()という関数を作ってみました。

どのeneloop買えば良いの?: 安定志向なので新型のHR-3UTGB-4を買いましたけれども。カラバリやLiteはともかくとして、ProとPlusはまだ噂が多くて手を出すのがためらわれました。コスト・パフォーマンスならまだまだ売ってる旧型が良さそうですね。

フッターをちょっと変えた: 矢印をシンプルにした所、どうも枠線や色がとかが強すぎる感じがしてきたので、装飾をばっさりと剥ぎとってみました。合わせてフッターのアイコン群も黒のものから白のものに。枠付きのDeliciousのアイコンを新たに追加したりとかも。

フロートした要素に続くリスト: 通常フロートした要素とデフォルトの文書フローで配置された要素は重なります。CSS 2.1仕様書のフロートの解説にある図Dがその例です。なので、通常フロートした要素に続くリストはそのブレット(や数字等)がフロートした要素の下に隠れてしまいます。この挙動には結構困らされることが多いですが、実はoverflow: autoとすると簡単に回避できます。

link要素をhead要素外で使う: 定期的にLiving Standardを読むことを趣味にしている人は多いと思います。僕もその一人なんですが、どうやら最近flow contentに属するものに変更が加わったらしくlinkやmeta要素が入っています。itemprop属性があれば……という注意書き付きなので、Microdataでの使用を考慮しての追加のようです。というわけでタイトルのようなことが条件付きで可能になりました。わーい。

快い図のキャプション: 画像に続けてfigcaptionをそのまま普通に表示するといまいちなことが多いです。それでも英語ならイタリック体にするとかでなんとなくその文字列がfigure要素に係っているものだということが表現できるような気がしますが、日本語の斜体はいろいろアレなので使いたくないです(よね!)。そこで画像にキャプションを綺麗に重ねる方法を模索してみました。

引用元のマークアップ: 引用で引用元について明らかにすることは大切です。blockquote要素にはそのための属性としてciteが用意されていますが、ほとんど飾りのようなもので、効果的にその情報を表示することは出来ません。じゃどうすれば良いのかというような話です。

Sassの!defaultフラグの使い方と使われ方: Sassを書く時には変数を多用することと思います。それら変数は自分で定義して自分で使うので、同じプロジェクト内で再定義する必要はあまりありません。しかし他人や自分の作ったSassファイルを流用する場合、その中で使われている変数の値を最適化する必要が出てきます。もしその変数がハード・コーディングされているだけだとしたらどうでしょうか? その場合変数を直接書き換えることになるでしょう。こういったSassファイルの再利用における問題を解決するためにSassには!defaultというフラグが用意されています。

Bashmarks: ちょっと前からBashにブックマーク機能を持たせるシェルスクリプト、Bashmarksを使ってます。bookmarkでカレント・ディレクトリをブックマークして、いつでもgoで移動できるようになるというただそれだけのものですけど、結構便利に使ってます。補完もあるのでブックマーク名忘れても安心です!

ShiroKuro Social Icons v1.5: このWebサイトのフッターで使用しているアイコン画像(PNG)の高解像度とPSDのセットをZIPにまとめました。白と黒それぞれ256pxのPSDと256/128/64/32pxのPNGが入っています。正方形に切り出してファイル名をちゃんと付けるのが面倒だったので縦長のスプライト画像です。

&だけ別のフォントで置き換える: Google Web Fonts APIのtextパラメーターを利用すると、ダイナミックにフォントのグリフを削減できます。本来はファイルサイズを軽減してモバイル向けに最適化するというような目的で設けられているパラメーターのようですが、これを利用して&だけ他のフォントから持ってくるなどということができます。昔どっかで書いた奴の焼き直しです。

M+ * Latin: Webフォント遊びの一環として、M+ Outlineの1cと1mのRegularからLatin付近、つまり半角英数と記号を抜き出してサブセット化し、WOFFを作ってみました。M+ Outlineの半角英数はかなり好きなので、Windowsのブラウザでもそのあたりを満喫できたらなぁという感じです。

iine!の更新を再開しました: なんとなく再開したい気分になったのでiine!を再び更新し始めました。コメント考えるのが面倒でやめたような気がするので、今後はコメント無しで。こっちに統合しちゃうことも考えたんですが、そのまま向こうで続けることに。なんらかの形でこっちにも取り込みたいなとは思ってます。イイネ!

プライマリSCSSファイル: Sassでは@importをうまく使うと、SCSSファイルを目的別に整理して管理することができます。モジュール化できるということですね。プライマリSCSSファイルとは僕が勝手に付けた呼称ですが、つまり各モジュールを読み込むだけのSCSSファイルのことです。グローバルに使用する変数の設定ファイルなども含めて整理して、プライマリSCSSファイルではそれらを読みこむだけとしておくと管理が少し楽になるんじゃないかと。

WebKitでのSVGを背景画像にすると起こるバグ: SVGはそのリサイズ(スケーリング)においてブラウザ間で差異やバグがあります。有名なのはviewBoxがないことによるIE9やWebKitでのバグでしょうか。それでもimg要素等でSVGを使う場合はSVG側でwidthとheightそしてviewBox属性を指定し、CSSなどでリサイズすれば大体問題ありません。なので背景画像で使う場合もbackground-sizeプロパティーを使えば……と思いきや、なかなかの落とし穴がありました。

Style Guideを作った: 今年の24 Waysの7日目のエントリー、Front-end Style Guidesを読んで触発されたので、このサイトのStyle Guideを書いてみました。元々テストするためのHTMLを書いてからスタイルを書くという手順をとっていたので、文言を無意味なLorem Ipsumからスタイルの簡単な解説文に変えただけですけど。

Google Web Fontsにあるお気に入りのフォント5つ: Google Web Fontsのフォント登録数も随分増えてきてチェックするのが大変になってきました。一応絞り込みとかそういう機能もありますけど、Typekitのようにかゆいところに手が届く感じではありません。そこで……というわけではないですけど、なんかの参考にでもなればと僕のお気に入りを5つだけ簡単な説明付きで紹介してみます。

たった一行で人生が変わった.vimrcでの設定とその意味: 僕はVimを使うまでは秀丸エディタを長いこと使用していました。両者の間に設定の項目数やキーバインドに割り当てられる機能に大きな差があるとも思わなかったので、使い始めた当初は「そんな言うほど高機能でもないよなー」とか思っていました。しかし色々なプラグインを試したり、様々な設定を.vimrcに書いているうちに、Vim (やEmacs)がその他エディタと決定的に違うのは設定の豊富さではなく、設定の自由さがもたらすアプローチの多様性なのではないかと考えるようになりました。というわけでそういう設定の自由さを最初に実感した話をVim Advent Calendar 2011の6日目のエントリーとして書かせてもらいます。

Soul Color: What color is your soul?

セクションや段落の区切り線: 段落の区切りに使うhr要素をちょっと凝ったデザインにするという話は以前書きました。似たような話はCSS-Tricksでも最近取り上げられていますね。しかしこれらはhr要素でのテクニックです。では、例えばsection要素の最後にこういったちょっと凝った感じの区切り線をつけるにはどうすれば良いのでしょうか?

不明なCSSセレクター: ブラウザーがCSSをパースする際、不明なセレクターに遭遇するとどうなると思いますか? 実はそのセレクターを含むルール全体が無視されます。何を当たり前のことを言っているんだと思われるかもしれませんが、そのルールが複数のセレクターを持っていて、そのうちひとつだけが不明なものだとしてもルール全体が無視されるということはあまり知られていないような気がします。知られていないというよりも意識する必要があまりなかったという方が近いですかね。

Chromeでbutton要素のアンチエイリアスが壊れる: Google Chrome 15.0.874.121 mでbutton要素へ特定のスタイルを組み合わせて適用すると、ボタンの文字列のアンチエイリアスが壊れます。無効とはちょっと違う感じなので壊れるとしておきました。ClearTypeが無効になって、標準アンチエイリアス(サブピクセルを使わないもの)になるだけかも。というわけでWindowsでの話です。

:targetでpadding-top: ちょっと何を言っているのかよくわからないですね。つまり:target擬似クラスでpadding-topを使うことによって、アンカーでページ内ジャンプ(<a href="#foo">...</a>とかで飛ぶやつです)した時に上部に余白をとってやろうというアイディアです。こうすることによって上部にメニューを固定していても重ならなくすることができるでしょうし、そうでなくても多くの場合ジャンプした先のコンテンツに対してキレイに余白が確保できるんではないかと。

A List ApartのGetting Started with Sassという記事を訳しました: Typekitのデザイナーの人が書いたSassの入門記事、Getting Started with Sassを日本語に訳してみました。なおこれがLess & Sass Advent calendar 2011の初日のエントリになります。

Sassで行こう!: Translation of: Getting Started with Sass - A List Apart

Gitで無視するファイル: .gitignoreで通常指定しますが、それ以外にもユーザーごとにグローバルな無視設定ファイルを設定することもできます。ここまでは知っていたんですが、リポジトリの.gitignoreには追加したくないけど特定のファイルを無視したいというケースにぶち当たってちょっと困りました。gitignoreのマニュアルを読んだ所、そういう場合は.git/info/excludeを編集すれば良いみたいですね。

JavaScriptとYQLでReadabilityの短縮URLを作る: Readabilityにはrdd.meという短縮URLサービスがあり、それを使ってReadability化された読みやすい状態の記事を共有することができます。短縮URLの取得はWeb UIやReadability化したページで行える他、ウィジェットもありますが、APIも用意されているのでWebアプリケーションへの統合にはこちらを使った方が自由度が高いでしょう。YQLを使えばJavaScriptだけでも何とかなります。

GoogleプロフィールとWebサイトの関連付け: Googleの提供しているプロフィール・ボタンのようにrel="author"でGoogleプロフィールへリンクを張ることによってWebサイトとGoogleプロフィールを関連付けることができます。Googleプロフィールをメインのオンライン・プロフィールとして利用していたり、これからGoogle+を活用するつもりならそれで良いと思いますが、そうでない場合はちょっとアレですね(全部のページにリンクを追加しないとならなかったりとか)。関連付けの方法としてrel="author"とrel="me"を組み合わせるというやり方もあるので、こちらを使った方がいろいろ楽だと思います(メンテナンス性とか)。

Query YQLプラグインでhttpsを考慮するようにしてもらった: Query YQLプラグインに呼び出し元のプロトコルがhttpsだった場合にはhttpsでクエリを投げるようなPull Requestを貰ったのでマージしました。

Publish What You Learn.: Paul Irishのツイートの引用です。

mit-license.org: Open Source InitiativeのMITライセンスのページのURLを使ってMITライセンスと明示している人は結構多いと思います。ライセンス全文コピペするの面倒ですしね……。ただその場合は権利者の名前等を予め書き、ライセンス条項については以下のURLを参照……などと注意書きも含めた方が無難です。そういうのを「忘れるし! 面倒だし!」と思ったRemy Sharpがmit-license.orgというウェブサービスを作ってくれました。

AdSenseのデザイン: Google AdSenseのベストプラクティスとして長いこと「コンテンツの背景やリンク色と合わせて広告をコンテンツに溶けこませる」といったようなものが信じられていました。僕もその信者の一人でこのサイトでもそうしていたんですが、しばらく前にプログラムポリシーを参照した所、禁止事項として「ページの他のコンテンツと見分けが付かないように広告をフォーマットすること」とあり、枠線付きに変えました。いつ頃からあったんだろう……。

SCSSでのグリッドの基本: SCSSなCSSフレームワークを使うのでも良いんですけど、ちょっとしたパーツだけグリッド・レイアウトしたいとかには少し大げさです。まぁつまりこのサイトのトップで使っているエントリー一覧をSCSSでどう効率的に調節しながら書いたかという話です。

DingbatのWebフォント: 将来的にブラウザでJavaScriptのリサイズや移動の許可・不許可設定みたいにWebフォントを使う・使わないを設定できるようになると思うんですよ(CSSアニメーションやトランスフォームとかも)。そうなるとDingbatのWebフォントを使った場合、その部分は普通のフォントで表示される可能性が高く、無意味な文字列が表示されるんではないかなと。既に現状でもドキュメントで指定されたフォントを使用しないという設定を有効にしているとそうなります。

Media Queriesと-webkit-scrollbar: デバッグ用にタブレットサイズ(768px)以下の時にはスクロールバーを隠そうとしてみたんですが、どうやら動的なスクロールバーの表示切り替えが微妙にバギーな感じです(Chrome 15.0.874.121 m)。良いアイディアだと思ったのになー。

Google Web Fontsにある等幅フォント: 2011-11-21現在、Google Web Fontsで提供されているWebフォントには等幅フォントが8つあります。目で探したので漏れはあるかも。良いのがあったらここで使おうかと思って探したんですが、まぁ使うことはなさそうですね。

PowerColor AX6670 1GBD5-H: 愛用していたASUS EAH3650 SILENT/HTDI/1Gが今年の夏前に調子悪くなったので、とりあえず785GのIGPに切り替えて夏はしのいでいました。補助電源不要かつファンレスで探していたんですけど、夏終わりにPowerColor AX6670 1GBD5-Hの新品が4980円で投げ売りされてたのを見てうっかり買ってしまいました……。うるさく……などない!

text-shadowの非互換性メモ: CSS3で大幅に強化されているtext-decorationの実装状況を調べたLine Decoration (CSS3 Text)を見た時に、あんまり関係ないですがtext-shadowとtext-decorationが組み合わさったらその飾りの影は付くのか付かないのかという疑問が湧きました。テストしてみたらブラウザーによって違ったという話です。

fixedとabsolute: TwitterのTLで流れてたツイートでこの2つの挙動が違うとかいうのを見て、そんなことあったっけ……あーでもrelativeの中だと違いそうとか思ったら本当に違っていました。両者はスクロールを無視するかしないかというような違いだけだと思ってました……。元発言がこのことを指していたかどうかは知りませんけど、エントリにしておきます。

vim-css3-syntaxのハイライト不具合について: vim-css3-syntaxでハイライトがうまくいかないことがある報告を結構初期に受けていたんですが、うまく再現できずに放置してる感じでした。昨日さらに報告を受けたのでやっぱりかなりの確率で起きるんだなーと調べ始めた所、どうやら:syntax keywordが常に:syntax matchより優先されるという仕様に絡む問題だったようです。

display: none;した要素でのCSSカウンター: あまりCSSカウンターを使ったことがなかったので知らなかったんですが、display: none;した要素ではインクリメントやリセットされないという仕様があったんですね。いっぱいあるセクションにCSSカウンターで番号を振って、特定のものだけ表示しようとして引っかかりました。

ホームの記事一覧をグリッド表示に: 味も素っ気もないリストから既に廃れ始めた感のあるグリッドに変えてみました。一覧性があるようなないような微妙な感じですね。すぐ戻しそう。

サブセクションにあるh1要素のフォントサイズ: 全然知らなかったのですが、Chrome 15やFirefox 8ではベンダー拡張プリフィックス付きの:any擬似クラスを使ってサブセクションのh1要素のフォントサイズを調節するようになっているようです。Internet Explorer 9も見た感じそうなっているようですが、UAスタイルシートによるものなのかよくわかりません……。なんか変なことやってそう(偏見)。

Humans TXT: Humans TXTはHTML5 Boilerplate経由で知って、結構前にブックマークしてちょろっと書いてみたりしたんですが、流行りそうもない感じですね。でもなんとなく好きなのでQuick startを翻訳してみたりしてます。

mf2md: 本気のメモです。メモなのでタイトルをわかりづらくしておきました。SEO対策ですね。

文書構造を見なおした(ている): HTML5化した後、アウトラインがおかしかったところを修正したり、WAI-ARIAを導入したり、少し調整してたりしました。まだまだ行き届いていない所があるし、本当にこれでいいのとか色々座りが悪い感じですね。

Google Code PrettifyのSCSSの言語ハンドラー: SCSS (Sassy CSS)をGoogle Code Prettifyでシンタックス・ハイライトできるようにする言語ハンドラーを作ってみました。元々Google Code Prettifyがそれほど強力なシンタックス・ハイライトを提供しているわけではない上、ベースにしたCSSの言語ハンドラーがそもそもしょぼいのでイマイチな感じですが、コメントとat-rule系が見やすくなるのでまぁ及第点じゃないかなと。

Vimプラグイン: CtrlP: 正規表現で絞込みが出来るという謳い文句にひかれてCtrlP (ctrlp.vim)という開いているバッファやカレント・ディレクトリのファイル、最近開いたファイル(MRU)をサクっと開けるFuzzyFinder系のプラグインを入れてみました。同系統のものとしてUniteを使っていたのですが、主に使うのはファイル・ブラウザとMRUだったのでこれでも良さそうな気もしたので。ちょっと使った感じではなかなか好感触で、しばらくメインで使ってみる気になりました。

はてなスターでrel="canonical"を見るように: Googleの+1はデフォルトでrel="canonical"を見るようになってたりします。Facebookのいいね! ボタンやはてなブックマークボタンは対応していませんが、明示的に対象のURLを指定できるようになっているのであまり問題はありません。しかし、はてなスターはa要素かwindow.locationやdocument.locationという訪問者側がいくらでも細工ができるものしか指定できないため、宗教上の理由で自身のURLへリンクを張るa要素を書くことができない人は詰みます。そんな理由で外してしまったんですが、対応してくれそうもないので重い腰を上げてHatenaStar.jsに処理を追加しました。

SVGのフィード・アイコン: 背景を完全に透明にして白い丸と円弧の部分だけのフィード・アイコンを作ってみました(上の画像は背景がオレンジ色になっていますが、CSSで背景色を指定しているだけです)。Wikimedia CommonsにあるSVGアイコンをエディタでいじっただけですけどね。SVGファイルのソースにコメントとして書いてあるように元ファイルと同じくMPL/GPL/LGPLのトリプル・ライセンスです。

text-transform: Webフォント人気に引きずられるようにtext-transoformプロパティもよく使われるようになってきました。SteelfishやFranchiseをヘッダや見出しで使って大文字にするとかよく見かけますね。そしてかっこいい。ですがその実装に違いがいくつかあることはあまり知られていないような気がします。ひとつはcapitalizeの挙動で、もうひとつはコピーした時の挙動です。

ページめくりの矢印: 定期的に発症する画像使いたくなくなる病のため、ページめくりの矢印を画像じゃなくしたいなといろいろ考えているんですけど、なかなか良い物ができません。ユニコードのArrowやDingbatsなどにはいわゆる矢印的なもの(→みたいなもの)はいくつもあるので、そういうのが良いのならそれで良いと思うんですけど、自分のイメージではあんまり矢印々々してないのが良いかなというのがあるので、それらはちょっと使いづらかったです。いろいろ作った中ではborderとtransformプロパティを使ったものがそこそこまともに見えるような気がしました。

SCSSでグリッド・オーバーレイを簡単に: 少し前に書いた::before擬似要素とCSSグラデーション、pointer-eventsプロパティを利用したグリッド・オーバーレイをSCSSのミックスインとしてみました。まぁグリッドじゃなくてカラムですけどね!

Reset vs Normalize: CSSの記述法として、ブラウザごとの違いを「Reset」して一から指定するという方法が長らくマジョリティを占めていました。まだまだその方向で書いている人が大半ですが、「Normalize」するという方法を採る人達も増えています。なぜリセットではなくノーマライズなのかというような話をなんとなくダラダラ書いてみたい感じです。

白抜き文字をtext-shadowで: CSSで文字のアウトラインを描く方法を考えていて、text-shadowプロパティを使って強引に描いてみました。WebKit系で可能な-webkit-text-storkeと-webkit-text-fill-colorプロパティによるものと比べて二重にできるとか多色展開も簡単とかが利点でしょうか。CSS-Trickで一年以上前に話題になってました……。

List Colors #3: かなり昔に書いたページ内で使われている色をリストアップするブックマークレットをquerySelectorAll()とgetComputedStyle()を使って書き直しました。Chromeでも動くように適当に手直しして使ってたんですが、hsla?()等に対応したとこなどツギハギだらけで色々アレだったので……。表示の仕方も右肩にちょっと出るとかではなくて、起動したページ全体を差し替えるように変わっています。Google Chrome 15.0.874.102 mではちゃんと動いているようです。

HTML LintのAPIを叩くPerlスクリプト: HTML LintにはAPIが用意されているのでVimからいけるようにPerlスクリプトを書いてみましたが、やばそうなHTMLだと「Validじゃない」と言ってすぐ止まってしまうし、妥当な感じで書いたHTMLだと大体Lintもパスしちゃうので、あまり意味ない感じでした……。WebService::Validator::HTML::W3Cも使ってMarkup Validation Serviceにまず通してエラーが出たらそこで終了、通ったらHTML Lintにも投げるとかにすればそこそこ良さそうではありますが、んー。

~/.tidyrcを書き直した: なんかの拍子にHTML Tidyの設定が書いてある.tidyrcが吹っ飛んだので書き直しました……。HTML5でのDOCTYPEや新しい要素とかになんとなく対応させた設定になってます。

JPTemplateのラッパーを書いた: Vimのスニペット系のプラグインとしてJPTemplateを愛用しているんですが、テンプレート名を忘れるとどうしようもないという結構致命的な欠点があります。僕はそれほど数多くのスニペットを使うわけではないのであまり気にしてなかったんですけど、template-vimの補完を見て「やっぱあると良いなー」と思ったので、ラッパー関数を書いてみました。

page-break-*の話: 印刷向けスタイルシートを書いていて、page-break-insideプロパティをpre要素やtable要素で使ったんですが、どうやらInternet ExplorerとOpera以外は対応してなかったり中途半端みたいですね(2011年10月現在)。

PhantomJSからJSLintを使う: CSS LintをPhantomJSから利用してCSSをチェックするスクリプトとほとんど同じのJSLintを利用してJavaScriptをチェックするスクリプトです。書けよとか言われたので書きます。

(S)CSSの書き方メモ: HTML5時代に向いていそうな(S)CSSの書き方を模索しています。SCSSで書くのでモジュール式に色々分割した方が良さそうだな……とか色々試してますが、なかなかこれ! というものに辿りつけません……。ということで、ここ最近の書き方をメモがてら晒してみる試みです。

pointer-eventsで画像ギャラリーやLightbox: 画像表示でよくあるフェードして切り替えとかLightboxっぽい全画面表示とかもpointer-eventsプロパティと:target擬似要素の組み合わせで「っぽいもの」なら簡単に出来ます。最近はCSSで出来そうだなーと思うと、普通に出来るようになってて幸せですね!

CSSでモーダル・ウィンドウ: pointer-eventsプロパティでnoneを指定すると最前面に置いた要素を無視して普通にページ操作が可能になります。なので、そういう風にしておいた要素をopacityプロパティで非表示にしておけば、普段は見えないけど特定の操作で最前面に飛び出すモーダル・ウィンドウとかも簡単に出来ます。pointer-eventsプロパティってこういう使い方するためにあるの?

PhantomJSからCSS Lintを使う: CSS LintのCLIはNodeやRhinoから使うようになっているので、Windowsだとちゃんと動くようにするまで結構面倒です(勿論ちゃんと動かせるようにはなります)。また、僕の場合はそもそもCSS Lintしか必要としていないので、Nodeを入れるのはちょっと大げさな気もします。そこでPhantomJSからCSS Lintを使うスクリプトを書いてみました。

A List ApartのWhitespaceという記事を訳した: 余白の美は、「余白」が持つ基本的な概念についてサラっと触れているA List ApartのWhitespaceというMark Boultonの書いた2007年の記事を日本語訳したものです。余白は……難しいですね。

余白の美: Translation of: Whitespace - A List Apart

Dive Into HTML5した: ダイブ・イン! 60%くらい。「結局どうすればいいの?」を参考にしました。@hail2u_さん、ありがとうございます。id属性とかclass属性が減って気持ちいいですね! 別にサイズは減りませんし、むしろ増えてますけどね!

CSS Lint: CSS Lintをしばらく使っていますが、さすがにLintと名乗るだけあって手厳しいですね。効率的でキレイなCSSを書くために自然とHTMLの見直しをすることになる感じが、過渡期の今にはなかなか良いツールな気がします。W3C CSS 検証サービスのCSS3対応がいまいち(border-radius: 4px / 8px;が正しい演算子ではありませんとか怒られたりとか)なこともありますし、もっとみんな使うと良いと思います! ストレスたまる気がしますけどね!

またちょっとCSSいじった: いじったところのメモと愚痴だけ。

:hover時にpre要素を暗く: mediaHACKというサイトで:hover時にpre要素の背景が反転するようになってて、「おっ」と思ったのでパクりました。通常時から暗いとコードが目立ちすぎて気になるし、他の部分と合わせようとコントラストを弱めると読みづらいのでどうにかしたいなーと前々から思っていたのですが、これはなかなか良さそうな解な気がします。

CSS LintのVim compilerスクリプトを書いた: CSSのコードの最適化を指南してくれるCSS Lintを使い始めたので、ちょろっとVimのcompilerスクリプトを書いておきました。CSS Lintは「セレクタでIDを使うのはやめましょう」とか怒られるナイスなツールです。ですよねー。

Grid Overlay: The Lasy Way: before擬似要素を利用したグリッド・オーバーレイを作成してみました。pointer-eventsプロパティでnoneを指定することによって、グリッド画像が手前にあるのにも関わらず普通に文字列を選択したりリンクをクリックしたりできるようになります。

hr要素を文字で入れ替える: HTML5になってhr要素はセクション内での区切りに使うものなどと役割が割りとはっきりと決められました。今までもそんな感じで使ってた人が多いですけど。ただhr要素のCSSによる装飾はなかなか難しいところがあります。そこを擬似要素を利用してゴニョゴニョすることにより、あまり罫線々々してない区切りを作って頑張ろうとかそういうお話です。

CC Iconsフォント: Creative Commonsのバナー等に使われている丸いアイコンが、画像だけではなくTrueTypeフォントとしても配布されていることを知りました。Iconsセクションの最後にIcons Fontとして配布されています。日本円のNCマークがないのがちょっと残念。

レギュラー書式を持たないGoogle Webフォントの読み込み: Google Web Fontsで提供されているWebフォントの中にはレギュラー書式の無いものが幾つかあります。具体的にはAllanがそうです(他にもあります)。これらを利用する場合、必ずURLパラメータに書式の情報も付け加えなければなりません。WebのUIでコツコツ選んで利用する場合は既に加えられているので問題にならないのですが、API経由でURLを組み立てる場合は少し注意が必要になります。

CSSグラデーションとSVGグラデーションのサイズの比較: 単純なものならあまり変わらないような気がしたので実際に比較してみます。

こんにちは! SVGグラデーション!: 複雑でないCSSグラデーションの代わりにSVGグラデーション(をData URIスキーム化したもの)を利用するようにしました。懸念していたFirefoxのバグも直る(直った?)みたいだし、ちょっとやってみたかったので。

16pxは大きすぎますか?: 35はアラフォーらしいのでアラフォーです。10年前にはまったく苦ではなかった11px程のサイズはもうアレですね。そんなこんなで「もう16px以下はダメじゃないの?」というSmashing Magazineの記事は興味深く読ませてもらいました。12pxにtext-shadowプロパティとか殺す気か! みたいな。

mod_gzipでのCSSとJavaScriptファイルの圧縮転送設定: そんなに表示が遅いわけではないですけど、動的生成なので少しでも早くするために重い腰を上げて.htaccessに設定を追加しました。今時mod_gzipを利用している古いサーバーでの話なので、多くの人にはかなりどうでもいい話です。

メインと印刷向けスタイルシートの統合: HTTPリクエストの削減のためというかっこよさげな理由ではなく複数あると色々と面倒なので、印刷向けスタイルシートをメインのスタイルシートに含めるようにしました。元々メインのスタイルシートが印刷向きなシンプルなもののため、統合してもCSSの極端な肥大化が起こるわけではなさそうなので良いかなと。

ifttt: 乗り遅れ感が半端ないですがiftttを使い始めました。もし(if)これ(this)に何かあった時(then)アレ(that)しといて。deliciousでフォローしてる人たちのブックマークからReadabilityに送るとかで使ってます。channelで使われてる110*110のアイコンいいなー。

CSSいじった: ペンキをぶちまけたような感じにしてたヘッダやフッタの画像を消しました。飽きたので。他はフッターのアイコンを大きくしたり、流行りそうでなかなか流行らないPinterestのアイコンを追加したりとかも。あと若干幅が狭くなりました。広告の幅に合わせた。Ad Driven Designですね。そんな言葉無いですけど。

Google Web Fonts Previewを更新した: Google Web FontsのHTMLが大幅に変わったため動かなくなっていたGoogle Web Fonts PreviewをGoogle Web Fonts APIを使って書き直しました。だいたい動いてる感じ。便利ですよねー(棒読み)。

blosxom.infoの閉鎖: ドメインの期限切れついでにblosxom.info(all about blosxom)を閉鎖しました。面倒だったからとかそういう理由にしておきます。

@biglobe.jp: BIGLOBEの新しいメールサービスのベータテストが始まった。そのこと自体はすごくどうでもよかった(BIGLOBE会員向けのだしね)んだけど、@biglobe.jpのアドレスが無料で貰えるようなので申し込んだ。自分の名前の3文字でとれて満足。メールボックスのサイズが5GBになったこととこの新しいメールアドレスだけでも申し込む価値はありそう。こんなことなら今年の始めにお金を出して古いアドレスを変更しなきゃ良かったよ……。

Hashbang(#!)なURLの恐怖: 諸方面からお叱りの言葉しかいただけない#!なURLは様々な問題をはらんでいますが、来るべき未来(もうすぐですよ!)におけるメンテナンス性という問題についてAdactioで取り上げられていました。#!の表面的な凶悪さに思考停止していて、こういった本質的な問題についてはまったく考えていなかった気がします。

rel="canonical"はhead要素の先頭に置いてね: Googleでのrel="canonical"の扱いについての中の人の話。rel="canonical"が適切ではないURLを指していた場合に、Googleとしては無視したいし、多くの場合無視するので、万全を期すのなら(「If you really want to be safe」)head要素の先頭に書けと言っている。わかるけどHTMLの書き方が検索エンジンの意向に左右される世の中は嫌だなぁ……。

フレキシブルなボタン: ほぼ全てのCSSプロパティの値を相対値やrgba()カラーを利用して指定することによって、コピペしてフォント及び色の調整をするだけで使い回せる基本的なボタンを作ってみました。完成度は85%くらい。

jQueryプラグイン: Harmonize Textを更新: jQueryプラグイン化する以前からの懸念事項だった要素の幅に影響を与えるCSSプロパティの扱いと、子にテキストノード以外が含まれる場合の2つを考慮した感じにしてjquery.harmonize-textを0.2に更新しました。Works like a charm!?

jQueryプラグイン: Harmonize Text: 親要素の幅に収まるようにフォントサイズを変更するjQueryなJavaScriptコードを、Harmonize Textという名前のjQueryプラグインにしました。FitTextを見て「コード短くて凄い!」とか思ったんですけど、自分の求めているものとはずいぶん違ったので、自分で書いたのをjQueryプラグインにしようというモチベーションが湧きました。

preの背景をブラウザの幅いっぱいに拡大する: ここ最近のコードブロックのスタイリングの流行りに、本文よりもコードブロックが左右に飛び出すようなデザインがある。有名所だとQuirksModeで見ることができる(ここが発祥かもしれない)。このデザインはmarginプロパティで負の値を指定し、paddingプロパティでその分戻すことによって実現している。そのため非幅固定か幅固定でもQuirksModeのように左寄せならこの方法で実現できるが、うちのサイトのように幅固定で中央寄せな場合は左右のマージンが不定なため実現できない。しかし:before及び:after擬似要素を使うまったく別の方法でも実現することができた。

さようなら、LastPass: 長いこと使ってきたLastPassをやめて、ローカルのパスワード管理に戻した。きっかけはパスワード流出したかも騒動だけど、それが利用をやめた理由ではなく、すぐに移住できるように保存していたログイン情報をエクスポートしようとしたところ、正常にエクスポートできなかったから。

CCCCAPTURE!: 少し前からcapistというGistをスクリーンキャプチャーのストレージとして使うAutoHotkeyスクリプトを作って使っているが、スクリーンキャプチャーの数が40を超えた辺りでブラウザからは一覧を見ることができなくなった。削除や追加、そしてファイルそれぞれの閲覧は可能なので特に使用上に問題はないが、一覧がないとちょっと寂しいのでCCCCAPTURE!という一覧するだけのものを作った。

親要素の幅に収まるようにフォントサイズを変更する: Webフォント(@font-face)や均等割付(text-align: justify;)、日本語と英語の間のスペース調節(text-autospace)などCSS3では文字や文章に関わる表現力も大きく向上している。とはいうもののないものはないので、親要素の幅にちょうど収まるようにフォントを拡大、つまりimg要素にwidth: 100%;を指定した時のようにはCSSではできない(少なくとも思いつかなかった)。というわけでふんだんにjQueryを利用したJavaScriptでどうにかしてみた。

Twitterのテキストのリンク張り: Twitterではツイートの表示にいくつか規制がある。例えばTwitterの鳥さんを表示しなければならないとかユーザーのプロフィールへのリンクでは#!/のアレはダメだったりとかかなり細かい。ということでユーザー名やURL、ハッシュタグにまとめてリンクを張るJavaScriptをjQueryで普通に書いてみた。

CSSとJavaScriptで文章をメモ書き風に: または和文フォントから仮名部分のみ抜き出してサブセット化したものとYahoo! Japanのルビ振りAPIを組み合わせて、ユーザー環境やサーバー性能に左右されずに比較的自由なフォント表現を行うためのイロハ。おれ ここ めも かき なぐる!

Google ChromeでMS PゴシックをArial+メイリオに置換する: 最近のブラウザではWebフォントの利用を可能にする@font-faceをサポートしており、使われているサイトもよく見かけるようになった。@font-faceはWebフォントの利用に限らず、ローカルのフォントの再定義にも使えるので、ユーザースタイルシートで利用すればMS Pゴシックをメイリオに置換することが出来る(Chromeでも)。これに留まらず@font-faceデスクリプターのunicode-rangeプロパティを利用すれば、英数字はArialで日本語部分はメイリオで置換するなどというわがままなことが出来る。

&: View Ampersand Glyph of Google Web Fonts: Google Web Fontsの全てのフォントの「&」のグリフを一覧するツール&を作った。Open Source Ampersandsと同じようなものだけど、こっちはJavaScriptだけで動き、特に何もすることなくGoogle Web Fontsの新規フォントが反映される。タイトル短すぎ。これも実用性はない……けど&かわいいよね!

vim-css3-syntax v0.3: @hokacchaから@mediaブロック内でのクラス名のハイライトがうまくいっていないバグの修正を貰ったのでそれを反映させ、他いくつか漏れていたCSS3モジュールへの対応を行い、vim-css3-syntaxを0.3にした。

140 Colors Found: 140 Colors FoundというCSSで使える色キーワードをランダムにちょっとかっこよく表示するツールを作った。CSS Color Keywordsのアレンジ。実用性はまったくない。本当にない。

lorempixel: 簡単なクエリー・パラメーターで好きなサイズのランダムな画像を返してくれるlorempixelというウェブサービスを見つけた。主にウェブサイトのプロトタイピングに使うことになると思う。多少遅い気もするが、それに目をつぶってでも使いたくなる簡便さ。

Windows 7 SP1のバックアップ・ファイルの削除: Windows 7のSP1導入後これといって不具合はない(し、不具合の話もあまり聞かない)ので、そろそろバックアップは削除しても良い頃合いなんじゃないかと思う。Windows 7ではサービスパックのバックアップ・ファイルをディスク クリーンアップで簡単に削除できるようになっていてちょっとびっくりした。

CSS Color Keywords: CSSでは色の値として#RRGGBBやrgb(r, g, b)等の他にキーワードでも指定できる。CSS3では大幅に拡充され、140種類のキーワードのサポートが明記された。今まであまり使ったことがなかった上に、英語力の欠如からDarkOrangeやLavenderとかならまだしもBlanchedAlmondとか言われてもどんな色か想像すらできないので、一覧してクリックで背景色としてプレビューできる簡単なツール、CSS Color Keywordsを作った。DarkOliveGreenとかRGBで考えるとなかなか大変だけどキーワードなら簡単!

rotate(360deg): WindowsのGoogle ChromeでWebフォントを使うと、その縁がギザギザになることが多い(もちろん非ClearTypeのフォントならローカルフォントでも)。今まではそれの解消のためにtext-shadowプロパティで軽く文字色と同じ影をつけてやって誤魔化していたが、-webkit-transformプロパティでrotate(360deg)として一周回すといい感じにフォントにアンチエイリアスっぽいぼかしがかかることを発見した。少し前に書いたCSS3のtransformを使ったフォントの変形の派生。テクニックというよりもハック寄り。

hAtomに対応した: フィードの将来を模索してるとやはりhAtomは避けて通れないかなーという感じなので、今更ながら対応した。blosxomのビルトイン変数とフレーバーで実現できるのでそんなに面倒でもない。

カーソル位置の色を取得するAutoHotkeyスクリプト: カラーピッカーとか起動したくないし、常駐なんてもってのほか! みたいな人なので、Win+Cでカーソル位置の色を取得してツールチップで表示とクリップボードへのコピーを行う簡単なAutoHotkeyスクリプトを書いて愛用している。

Update Firefox Add-ons for Version 4: 遅まきながら「次世代ブラウザ」Firefox 4に公開中のアドオンを対応させた。控えめに4.0.*にしといたので4.1になったらまたインストールできなくなるけど……。

960 Gridderを使いやすくする: 960 Gridderというグリッドをオーバーレイ表示してくれるブックマークレットがある。簡単便利なので使ってる人も多いと思うが、起動後に追加されるUIではカラム幅の基準になるサイズやカラム数などしか設定できず、960pxという全体の幅を設定することができない。gOverrideというグローバル変数をHTMLに書いておけば柔軟にカスタマイズすることができるということになっているが、HTMLにはちょっと書きたくない(あとで消したりとか面倒だし)。このちょっとイケてない所を、アドレスバーからブックマークレットを引数付きで実行することによって改善しようという話。

v6.2: 明るい青のグラデのスタイルが不評だったので、モノクロ+淡い青で作り直した。

Twitter APIにおけるリツイート: Twitter APIのusers/showは認証なしで手軽に最新のツイートのみを拾えるので、JavaScriptでウェブサイトにツイートを表示するなどといったケースに適しており、使っている人も多いと思う。が、最新のツイートがリツイートの場合はAPIが返すJSONからstatus以下がバッサリとなくなってしまうため、最新のツイートを拾うことができなくなってしまう。これに対処するためにもっと柔軟にツイートを拾えるstatuses/user_timelineを使ってcount=1にした……が、それだけではうまくいかなかったという話。

Google Chrome 10以降で昔のフォント設定ダイアログを呼び出す: メモとして書いたGoogle Chrome 10以降の注意点でのフォントのフォールバックの問題は解消されていない上、stableも10になってしまったのでこのメモの方法はもう通用しない(Google Packだとまだ9系統かも)。が、昔のフォント設定ダイアログを呼び出す方法があるので、それを使ってフォント設定をしてやれば回避できる。

Bookmarks MenuのUIフォントにSegoe UIを使う: ブックマーク バーが邪魔でしょうがない気がしてきたので、ブックマークをツールバーボタンからドロップダウンで参照できるBookmarks MenuというGoogle Chromeの拡張を使い始めた。ドロップダウンのUIはそこそこカスタマイズ出来るものの、なぜかUIフォントが訳の分からないフォント、Arial Rounded MT BoldやらLucida Consoleやら限定な感じでかなり悲しい。とはいうもののこの拡張に限らずChromeのポップアップと呼ばれるツールバーボタンクリックして出てくるアレは普通のHTMLのためユーザースタイルシートでフォントの置き換えが効き、結構簡単にSegoe UIに置き換えることが出来る。

Microsoft Arc Keyboard買った: 使ってたキーボードのEnterがぶっ壊れ気味だったので安くなったArc Keyboardを買った。3545円。久々のパンタで慣れないけど、特に打ちにくくはない。非変態キー配列なテンキーレスだと、ベストバイな気がする。無線なのをどう評価するかで変わってくるか。

Google Web Fontsの全書体をプレビュー: Google Web Fontsの全書体を一気にプレビューするツールを作った。公式のFont Previewerを使ってるとサンプル文字列が突如リセットされたりとかアレだったので……。

使用しているプラグイン@2011-03-08: 少し前にBlosxom本体を開発版の2.1.2+devに切り替えた。いくつか当てていたパッチをマージするのが面倒だったので、ついでに全部オレオレパッチを追放してプラグインにしたりとかも。というわけで追加したプラグインを列挙する。Deliciousのblosxom+pluginsiuseタグも更新しておいた。

CSSでアイコンをデザインへの補足: 追記でCSSでアイコンをデザインの対応ブラウザについてざっと書いておいたが、そこで「知らない」とか「書きたくない」とIE8のところで書いた。それをどうも意図した方向とは違う感じで捉えられてしまっているようだったので、すこしだけ補足する。すでに勢いに任せて某所でも書いてしまったがもうちょっとはっきりと書く。IE8でもこうやればできるよ! とかいう話ではなく、もっとモヤッとした話。

LastPassで複数のドメインを同一視する: LastPassではだいたいドメイン単位で「サイト」と呼ばれる各ウェブサイトへのログイン情報を管理している。そのため同じログイン情報を複数のサービスで共有しているような場合、ドメインごとに同じログイン情報を持つ「サイト」を作るのが普通だが、これだとパスワードの変更などで更新するのが非常に面倒になる。実はそのための設定がアカウント設定(アドオンや拡張の設定ではない)にあり、そこでちゃんと設定してやると上手いことできるようになる。

CSSでアイコンをデザイン: ものすごく大雑把に言うと今まで画像編集ソフトでやっていた、角を丸くするとか背景をグラデーションにするなどという作業をCSSでやってしまおうというお話。もちろんCSSでできないことは多くあるので万能というわけではないが、できることに限って言えば数行のCSSコードでスクリーンショットのような効果を柔軟に適用することができる。

ナビゲーションのアクティブな項目をマークする: ウェブサイトのナビゲーションでよくある、アクティブ、つまりユーザーが閲覧中のページに対応する項目にマークを付ける場合、画像ファイルでやることが多い。最近はCSSグラデーションを使ってアクティブな時にへこませたような効果を与えたりすることもあるが、よく見かける三角のマークを付けるとなるとやはり画像で……となってしまう。しかし、単純な形に限ってなら枠線付きの吹き出しでも利用した:before又は:after擬似要素を使えば実現できる。

枠線付きの吹き出し: ミニブログの隆盛以降ウェブ上でよく見かける吹き出しをCSSで作るお話。単色のものはかなり前に書いた。今回はそれに枠線をつけてみよう! みよう! みよう!

SCSSでの落とし穴: SassをSCSSで書いていてはまった落とし穴についてのメモ。

Sass - チュートリアル: この文書は古いSassウェブサイトに載っていたチュートリアルの訳で、2013年12月現在もう新しいウェブサイトには存在しません。新しいウェブサイトでのチュートリアルにあたるSassの基本の日本語訳を参照してください。

Sass、そしてSassy CSS (SCSS): 多くのCSSフレームワークのちょっと気に食わないところの話から、今ならSassのSCSSでそういうCSSフレームワークをインポートすると訪問者も含めてみんな幸せになれるはずみたいなことをはてなグループで書いた。もうちょっとまとめてしっかりとエントリで……と思ったらすごく長くなったので、Sass、そしてSassy CSS (SCSS)として単独のドキュメントにした。

Sass、そしてSassy CSS (SCSS): CSSを拡張したメタ言語であるSass、そしてその別文法として定義されたSCSSについて、960.gsなどのCSSフレームワークと絡めて、Sass (主にSCSS)の良さを解説する。

リスト項目内に見出し: 2つ前のエントリで書いてしまったウェブページ全体の見出しをli要素にぶち込むという案に関してTwitterで言及されていた。これについてはエントリを書いた後ちょっと考えたので、返答がてら(簡単にリプライしといたけど)エントリにする。

Google Code Prettifyのスタイルを更新: リデザイン前までは黒背景のGoogle Code Prettifyのテーマを使っていたが、この背景(色)だとちょっと目立ち過ぎな気がするので控えめな色使いでスタイルを新しく書き直した。pre要素に背景を指定したくない感じなのでこの位で丁度良さそう。デフォルトと殆ど変わらないね!

リデザインからの……: 公開後の調整をまとめておく。備忘録。と書いておけばだいたい許される法則。

リデザイン @ 2011-02-07: へるべちかにゅ~! CSSが20KBオーバーと肥大化してきたのでダイエットしようと思ったらいつの間にか全部書き換えていた。でも頑張っても13KBにしかならなかった。

CSS Gradientにおける"transparent": 1つ前のエントリで「transparentだと完全に透明な黒として扱われるみたい」と書いたが、気になるのでちゃんと調べた。といってもCSS3 Colorの仕様を参照して、現行のブラウザではどうかテスト・ケースを書いて確認しただけだけど。結論としてはChrome (WebKit)とFirefoxでは仕様通りtransparentをrgba(0, 0, 0, 0)と扱っているので、CSSグラデーションでもそれに従った、つまり、グラデーションの途中が黒とブレンドされた色になってしまうので注意が必要になるという話。

iOSのホーム・スクリーンのアイコンをCSSでパクる: iOSはホーム・スクリーンにアプリケーションのアイコンを置く時、いくつかエフェクトをかけて配置する。そこら辺の話はiOS Human Interface Guidelinesに載っているので詳しくはそちらを参照。それぞれのエフェクトはCSS3ならできそうな感じのものだったので、パクっと。

What Does It All Mean? - Dive Into HTML5の日本語訳: 多くの人がDive Into HTML5のコンテンツの中で最も気になるであろう(X)HTML( 4)からHTML5への移行を題材として、HTML5の書き方や新しい要素などの説明したWhat Does It All Mean?の日本語訳、「結局どうすればいいの?」を公開した。前に二度全部訳そうと思って、言い回しの複雑さにさじを投げたが、今回はとりあえず自分が一番最初に熟読したWhat Does It All Mean?に絞って訳した。

結局どうすればいいの? - Dive Into HTML5: Translation of: What Does It All Mean? - Dive Into HTML5

CSSのみでスライドして画像を切り替えるギャラリーを作る: ポートフォリオとかでよく見かけるクリックすると横にスライドしながら画像を切り替えるギャラリーUIをCSS3だけで作ってみた。最終的に、エフェクト的には満足のいかないところがあるもののすごくシンプルに作成できたのでまぁ満足。:target擬似クラスとtransitionプロパティ(とtransformプロパティ)の組み合わせは色々できて楽しい。

GoogleのボタンをCSSだけでほぼ完璧につくる: Google のボタンをCSSだけでつくるをDelicious経由で見て、もうちょっと出来るんじゃないかなーと思ったので、background-imageで複数のlinear-gradient()を使ってグラデーションにプラスアルファする方法の啓蒙も兼ねてほぼ完コピするCSSの書き方を解説しようかなとか何とか。このエントリの別名は「CSSグラデーションのちょっとしたテクニック #3」になる。

VimのCSS3シンタックス・ファイルみたいな何か: VimでCSSを書いていると、最近のCSS3プロパティでもやもやした感じになるのはまぁしょうがないかな……と見ないふりをしていた。が、@mediaでブロックを作った時に最初のセレクタのハイライトに失敗するのとかにムキーとなって、もうこれは駄目だと思ったので、既存のCSSシンタックス・ファイルをCSS3に対応させた感じにする追加シンタックス・ファイルを作成した。はじめてのVimシンタックスファイル(もどき)。

box-shadowとradial-gradientで画像をポラロイド写真風に: CSS3のbox-shadowプロパティではinsetという値を取ることができ、その場合ブロックの内側に影が付く。これをある工夫と共に利用すると写真の端に影がつけられる。更にradial-gradientでセピア色のグラデーションを重ねてやれば、良い具合に古ぼけさせることもできるので、両方の効果を重ねてやればポラロイド写真風に見えないこともない?

CSS3のtransformを使ったフォントの変形: CSS3のtransformプロパティでscale()(または-ms-filterでMatrix())を使うと、ブロックの拡大と縮小ができる。これを利用するとVerdanaをCondensedなフォントっぽく細くしたり、ワープロ時代の倍角文字や縦倍角文字を実現することが簡単にできる。コンテンツ本文に使うのは無理があるが、見出しなどには良さそう。特に@font-faceで気軽に変更できない(してもあまり効果的ではない)日本語の見出しには面白い試みなんじゃないかと思ったが、一番綺麗にしたいIE8で残念なので微妙。

回転しながらズームイン・ズームアウト: オブジェクトを回転しながらズームさせるにはCSS3のtransitionとtransformを組み合わせるだけで良い。ぐるぐるぐるぐるどっか~ん。Ch9とFx4b9、Op11、Sf5あたりなら動く。

横スクロールのサイトデザイン: 横スクロールで閲覧するサイトを作りたくなったので、iine!をそうしてみた。ブラウザが横幅8000px以上ならスクロールせずに見ることができる。Ch9とFx3.6、Sf5、Op11、IE8で確認した限りでは特に問題なさそう。手探りでHTMLとCSSを組んだのでdivがものすごく多い。

redirect_to_random_entry: クエリにrandom=1が含まれる場合、全エントリからランダムに選ばれたエントリにリダイレクトするblosxomプラグイン、redirect_to_random_entryを書いた。このサイトにも仕込んであるけどリンク張ってない。置き場所がなかった……。

iine!: Facebookとは全く関係ない。iine!は僕がウェブ上で気に入ったロゴやフォーム、ナビゲーションなどをスクリーンショットと短いコメント付きで並べていくサイト。元々ローカルでやってたのを公開するようにした。特にそれらのパクリ方作成方法を解説したりとかはない。よくあるCSSギャラリーのパーツ版みたいな感じ。いいね!

Wufooのフォームを自分のサイトに統合: Wufooのフォームを利用する場合、通常はWufooでホストされているフォームにリンクを張って使う。このサイトのフィードバック・フォームもそうしていたが、どうも結構簡単に既存のウェブページからPOSTできるようにすることができるらしい。といってもdocument.write()なJavaScriptコードやiframe要素を張り付けて使うEmbed Form Code等やREST APIを利用したものではなく、決められたURLにPOST Keyというユーザー固有の付きでPOSTするフォームを作成すれば良いようだ。

pathogenのインストール: ~/.vimの整理のために重い腰を上げてpathogenをインストールした。pathogenは~/.vim/bundle以下でプラグインごとにディレクトリを作ってインストールできるようにもなるプラグイン。バージョンアップでファイル構成が変わったプラグインとかでもディレクトリごとサヨナラして入れ直すだけで良くなる。

Pinterest: 使い始めたのでなんか書いてみる。モノ的にはTumblrとAmazonのなんでもほしい物リストの中間的なウェブサービスで、ウェブ上の画像をクリッピングしていくだけ。自分の好きなデザインの製品を集めたりとかに使っている人が多い。参加は既存ユーザーからの招待制ということになっているが、公式の登録フォームでメールアドレスを登録すれば数日で招待される(一日くらいで招待された)。

アサマシ 2010: 去年アサマシらなかったのでまとめてアサマシってみようという新年にふさわしいエントリ。満足度の高い順に。

404ページのリニューアル: 前に遊びで作った道路標識みたいな404ページを引っ張ってきてリニューアルした。デザイン以外は変化なし。昔のCSS見ると普通にborder-radius-topleftとか書いてて無性に悲しい。

ウェブサービスのアイコンを書いた: このサイトの右上にあるTwitterアイコンみたいなゆるいグラデ背景なアイコンをいくつか書いた。ここで使う予定だけどまだどう使うかぼんやりとしか考えてない。はてブのアイコンだけ書いてみたら楽しくなったので勢いで書いてしまった。画像にCC-BYとかだとかなり面倒だと思うので、パブリックドメインにしておいた。テカテカしたアイコンが好きではない人にオススメ!

物事をシンプルにするます: ヘッダが主張しすぎな感じとかがちょっと飽きてきたので、ちょっとだけリニューアルした。ロゴとヘッダ変えただけ。緑ももうやめようかな……とは考えたが面倒になったのでそのままで……。Ctrl+F5!

Vimで最後のタブを閉じても終了しない: Firefoxでいうところのbrowser.tabs.closeWindowWithLastTab=falseとか、タブ付きエディタによくある最後のタブを閉じても終了せずに新規ファイルを編集するタブが開かれる機能がVimにもずっと欲しかった(特にgVim)。なるべく閉じないように使うことにしていたが、よく:wqaとか勢いで打ってしまい悲しいことに。そろそろどうにかしようと色々調べて、:cabbrevコマンドで:qとかを書き換えてやれば良さそうということがわかった。

Posterousメモ: Posterousをなんとなく使い始めたので使い方をメモ。はてな記法が思い出せないのでg:subtech:h2uの代わりに使ってる。ブラウザからの投稿や編集は普通のブログ・サービスと似たような物なので、主にメールで投稿する方法について。アイコンが好き(どうでもいい)。

Windows XPからWindows 7に移行した時に乗り換えたソフトウェアメモ: ちょっと古いHPの無線LANプリンタのドライバ待ちだったのだけど、どうやらWindows 7には提供されないことが判明したりしたので、諦めてCrucial RealSSD C300 64GB買うついでにWindows 7に乗り換えた。結構前だけど。その時にうまく動かなかったりして乗り換えたソフトウェアのメモ。戻したくなったとき用。とか言いつつ「それならこれ使うといいよ!」っていうブクマコメントを期待してる。

Windows 7のナビゲーション ウィンドウを比較的安全にカスタマイズ: ネタ自体はインストール後最初にやりたくなることで何を今更な話。が、ググるとHKEY_CLASSES_ROOTを開いてアクセス権を変更して……とかばっかりだったので、HKEY_CURRENT_USER以下で大概なんとかなるのでそっちでやろうという話。せっかくCLSID以下はなかなかいじれないようになっているのに……みたいな宗教。嘘かもしれない。

未整理のブックマークをブックマークツールバーに表示: 最近はブックマークを適切なフォルダに整理することを放棄して、どんどん未整理のブックマークに放り込み、ロケーションバーから絞込みしやすいように適当に半角英数でタグ付けするだけな感じで生活している。これで大抵の場合は問題ないが、Fx3.5では未整理のブックマークには履歴とブックマークの管理のウィンドウからしかアクセスできない(よね?)ので、一覧したい時などにかなり不便。ブックマークツールバーにでも表示させられれば良いのになぁとちょっと調べてみたら結構簡単に出来たのでメモ。

2009年に買ったマンガ: 備忘録一割アサマシ九割。

Path::Class(::File)のslurp()でバイナリ・ファイルががが: 添付ファイル付きのメールを作成・送信するオレオレスクリプトを作ってて、ファイル名とかの扱いが簡単そうだったのでPath::Classを使ってみた。添付ファイルの読み込みもPath::Class(::File)のslurp()でやろうとしたのだけど、バイナリ・ファイルを添付する時にbinmodeして読み込む方法がわからなくちょっと困った。そしてどうやるのが正解なのかまだわからない……。

CSSグラデーションのちょっとしたテクニック #2: 前回のエントリのような応用するための基本というものではなく、CSSグラデーションはこういう使い方もできるよ的なもので3つ。普通のグラデーションの作り方はcss gradients in Firefox 3.6とかで。#3はない。

Vimのcommandで-complete=custom(list)を使う: Vimのコマンドでの引数の補完にカスタム関数を使うというのを撫でてみた。customなら補完候補を改行で連結した文字列を、customlistなら補完候補のlistを返してやる関数を作れば良いだけで、思っていたよりも簡単そう。

FeedBurnerからTwitterへ: 最近になって「エントリ書いた」つぶやきをTwitterに投げるようになった。Twitterfeedとかを使うのは何かに負けた気がすると思ったので、エントリをPublishするPerlスクリプト内でTwitterに投げていたが、FeedBurnerでできるようになったらしいのでそれに乗り換えてみた。設定してActivateボタンを押したら502エラーとか出たけど設定は正常に行われたらしい。

gVimでメニューを読み込まない: delmenu.vimとかで消してやるものだと勝手に思い込んでいたのだけど、ちゃんとヘルプを読むとsyntax onやfiletype onより前にset guioptions+=Mしてやれば読み込まなくなるということを今さら知った……。0.1秒起動が速くなりました!

Google Closure Compiler ServiceでJavaScriptファイルをコンパイルするPerlスクリプト: 最近になってGoogleのClosure Compiler Serviceを良く使うようになった。今まで使っていたYUI Compressorと比較すると、複数のJavaScriptファイルをまとめて圧縮出来ることと圧縮にとどまらない最適化を行うことも出来ることがメリットで、CSSの圧縮には対応していないことがデメリット。ウェブのUIで圧縮するのは面倒になってきたので、REST APIを利用してウェブのUIと同じようにコメントで設定を記述してコンパイルするPerlスクリプトを書いてみた。タイトル長い!

WSHを使ってMozillaでHTMLファイルを開く: Dim Browser, ObjArgs, StrPath, WshShell

google-code-prettifyを導入した: どっかのサイトがシンタックス・ハイライトを導入していたので真似した。ローカルでやろうかと思ったけどフィードに<span class="kwd">function</span>とかがたくさん入るのが嫌だったので、JavaScriptでハイライトしてくれるgoogle-code-prettifyにした。正式名称はJavascript code prettifierらしい。

はてなブックマークのブックマークレットをlightbox化: はてなブックマークのデフォルトのブックマークレットはiframeでオーバーレイ表示されるが、サイズ的にも位置的にも見づらい気がするので、ユーザースタイルシートをいくつか書いてみた。最初はオーバーレイ表示ではない旧バージョンのブックマークレットを使い、そのページのスタイルシートを書き換えてみたのだけど、見やすいことは見やすいがイマイチな感じだった。そこでもっと単純にオーバーレイ表示のサイズと位置を変更するだけのものを書いたりしてみたが、これもイマイチ。最終的にlightboxっぽく表示してやれば良いんじゃないかと思い、試してみたらなかなか良さそうな感じだった。

Google日本語入力でShiftキーで英数モードに: MS-IME 2002とかだと設定で「Shiftキーでの英数モード切り替えを MS-IME 95 互換とする」を有効にするとShiftを押して離すと一時的に英数モードになる。これが便利かどうかは人によると思うので何とも言えないが、ずっとこれを使って入力していたので、この設定が無いGoogle日本語入力でちょっと困った。しかし、単独のShiftにもキー割り当て可能なことがわかったので、これに英数モード切り替えを割り当てて誤魔化してみた。

Googleカスタム検索エンジン: このサイトではサイト内検索をAdSenseから設定できるものでやっていたのだけど、どうやらGoogleカスタム検索エンジンからサイト内検索を作成するとより細かく設定できるようなのでちょっと作り直してみた。実際に提供される検索の機能的にはあまり変わらないのだけど、トラフィックリポートが提供されたり独自のトップページが作成されたりと微妙に違うところが……とか思ったらものすごく違ってて高機能だった。使いこなせそうもないけど。

AutoHotkey: ホイール・スクロールを加速: ロジクールのマウス・ユーティリティのSetPointにはホイールによるスクロールを加速するオプションが無い(モデルによって違うのかもしれない)。加速だけするソフトウェアというのもあまりなく、いくつか見つけたものは常用しているソフトウェアと干渉したりFirefoxでうまく動かなかったりしたので、単純なAutoHotkeyスクリプトを書いて誤魔化してみた。

FuzzyFinderでプレビューしつつ候補を選択: 最近のFuzzyFinderにはファイルのプレビュー機能がついている。既に開いているファイルの場合はカーソル行の目印付きでカーソル付近がプレビューされたり、Directoryモードだとディレクトリの内容がプレビューされたりと、状況にあった良い感じなプレビューが表示される。<C-@>を押すのが面倒であんまり使っていなかったんだけど、キーバインドいじって常にプレビューされるようにしてやったら結構便利だった。

WindowsのVimで開いているファイルを関連付けにしたがって開く: Windowsにはopenコマンドとかないです!:!start %や:!start start %だと「E371: Command not found」になってしまう。:!%とするとシェルで処理されるので関連付けにしたがって開かれるもののコマンドプロンプトのウィンドウが残ってしまい邪魔くさい。コマンドプロンプト上ではMac OS Xのopenコマンドと似たような感じのstartコマンドも! start %のようにすれば使えるが、ウィンドウが残ってしまうのは同じ。試行錯誤の末に:!start cmd /c %とするとうまくいくことがわかった。

Vimで#RRGGBBからrgb(r,g,b)に変換: CSSでrgba()を使うようになったので、#RRGGBBで書いていた色もrgb()で書き直すことにした。手作業でやるのはとても面倒なので、Vimスクリプトの勉強がてら#RRGGBBからrgb(r, g, b)に変換する関数を作って変換した。

CSSグラデーションのちょっとしたテクニック #1: リリースを間近にひかえたFirefox 3.6で対応されるので、そこかしこで取り上げられているCSSによるグラデーション。基本的な書き方はIntroducing CSS Gradientsやcss gradients in Firefox 3.6を始めとして腐る程あるのですっ飛ばすとして、実際にボタン等で利用する時にどうすれば簡単に書けそうかということをちょっと考えてみようとかいう話。勢いで#1とかつけてしまった……。

スマートキーワードは後ろが良い: IE5(やそれを利用したタブブラウザ)を利用していた頃からロケーション・バーで検索していたので、特に操作性が優れているわけでもない検索バーなどはまったく使う気になれずスマートキーワードしか使ってない。最近はロケーション・バーで履歴やブックマークの絞込みも可能なので、ますます重要度が上がった。このスマートキーワード機能自体に特に不満があるわけではないのだけど、キーワードは前に付けるのではなく後ろに付けるのが良いのじゃないかと、履歴やブックマークの絞込み機能が付いて以降は考えるようになった。「g foobar」じゃなくて「foobar g」というように。

ELECOMのTK-FCM005とついでにロジクールのM305を買った: 昨年末に買ったZERO Tenkeylessを調子が悪くなってからも騙し々々使っていたのだけど、ついに左Shiftがダメそうな感じになってしまい終了な感じになったので、ELECOMのTK-FCM005を買った。ついでに電池一本で動くワイヤレスマウスが欲しかったのでロジクールのM305マウスも買ってみた。

YUI 3: CSS Resetの問題: ブラウザごとのデフォルト・スタイルシートの違いを吸収するためのスタイルシートをメンテするのが面倒になったので、YUI 3のCSS Resetを使うことにした。が、このサイトではちょっとした問題が起こった。少し前にTwitterでつぶやいたりしたhtml要素にbackground-colorやbackground-imageを指定した場合、body要素の背景が描画エリアいっぱいにならなくなるというCSSの仕様絡みの問題。

fenrirでTabを項目選択に使う: コマンドライン・ランチャのfenrirではデフォルトで上下カーソルで候補を選択するようになっている。Vimを使い始めた影響でカーソルを使わないで頑張るように心がけているのでTabとShift+Tabで選択できるようにしたかったのだけど、設定ダイアログではTabを指定することができなかった(フォーム要素のフォーカスの移動が起こってしまう)。INIファイルを読んでみると仮想キーコードを10進数で指定すれば良さそうだったので、適当に書き換えてみたらうまくいった。

Firefox 3.6以降でMS Pゴシックを無効にする: CSSの@font-faceではユーザーがインストールしていないフォントをウェブ上に用意してやりそれをダウンロードさせてページ上で利用することを主眼としているが、ローカルのフォントを置換、つまりMS Pゴシックをメイリオに置換するなどということもできる。Firefoxでは3.6から可能になった(Beta版でももちろん可能)。ユーザー・スタイルシートでの利用が中心になると思う。

SimpldR: livedoor Readerをシンプルに: しばらく前からユーザー・スタイルシートとユーザー・スクリプトのコンビネーションでlivedoor Readerをシンプルにして使うようにしていて中々快適なのでまとめてエントリにしてみる。キーボードでサクサク操作できて快適ウハウハとかじゃなくてシンプルな画面でマウス・ホイールを使ってひゅいんひゅいん読む感じ。

git commitで既に起動しているgVimの新しいタブを開く: すぐ忘れる。というかついさっき忘れて1時間近くGoogleと格闘して見つからなかった……。Undeleteで2か月くらい前の.gitcomfigを発掘してどうやれば良いのかわかったので、次忘れたときのためにメモ。

CSSのプロパティをソートするPerlスクリプト: CSSを書く時に「セレクタ内でCSS仕様書でのプロパティの出現順序に従ってソートする」という個人的なルールを守っている。何かコーディングにおいて便利な理由があるからというわけではなく、第三者に説明する時に「仕様書の出現順で書いてます!」とかで済ませられるから。今まではファイル全体を処理するオレオレPerlスクリプトで適当にやっていたのだけど、Vimで選択範囲だけをソートとかやりたくなったので、普通に標準入力を読んで結果を標準出力に吐くように書き直した。ついでにCSS3のプロパティとFirefox(Mozilla)やSafari(WebKit)、Opera(Presto)、Internet Explorer(Trident)の独自拡張などへも対応させたりとか。

CSS color previewをrgb()に対応させた: VimでCSSを編集中に色をインライン・プレビューしてくれるCSS color previewというスクリプトをrgb()に対応させてみた。一応rgba()にも対応しているような感じで、透明度を無視してプレビューされる。hsl()とかも対応しようと思ったのだけどRGBからHSLへの変換が面倒になってすぐに諦めた。hsl()とか使わねーよ。

Vimで"gf"をスラッシュで始まる相対URLに対応させる: Vimではファイル名らしき箇所でgfを押すと、見つけることができればそのファイルを開いてくれる。この機能はとても便利なのだが、HTMLファイルにスラッシュで始まる相対URLでCSSファイルやJavaScriptファイルのURLを書いた場合は、そこでgfを押してもうまく開くことができない。これを解決するためにvimでHTMLとかを編集するときに絶対パスのファイルを開くで公開されているプラグインをちょっと使っていたのだけど、どうやらpathオプションとincludeexprオプションを設定することでも対応できるようだ。Vimすげー。

Pure CSSな吹き出し: Twitterで「CSSで吹き出し作るのブクマし忘れててどこにあったか忘れた……」とかつぶやいたらe_luckさんがImage-free CSS Tooltip Pointers - A Use for Polygonal CSS?を探してきてくれた。このエントリでは枠線をつけるために入れ子になっていたりちょっとわかりづらかったので、ものすごく単純化して解説してみようとかなんとか。

Vimのstatuslineを最適化する: FuzzyFinderのbufferモードやmrufileモードの補完メニューでパスの真ん中が省略されているのがわかりやすかったので、statuslineにも導入してよりわかりやすくしようという試み。インストール済みのGreasemonkeyスクリプトをちょっと編集する時など、ものすごく長いパスのファイルを編集する時のみ便利。

Web開発周りのVimの設定: HTML/CSS/JavaScriptを書くために行ったVimの設定やインストールしたスクリプト等をざっとまとめてみた。「VimでWeb開発を100倍効率的にする方法」といったような生産性を上げるための設定の類ではない。

リデザインとborder-radiusとtext-shadow: でっかいロゴに飽きてきてヘッダをコンパクトにしたくなったので、少し前からサイトのスタイルを色々いじっていた。ナビと検索フォームとロゴを一段に並べるのはかなり難しかったので、ロゴをアイコンにして無理やり詰め込むことにした。border-radiusまくり。緑の流行はまだまだ続くらしいので色はこのままで。次はオレンジだな(適当)。

FirefoxのuserChrome.cssネタ #12: 久々。Firefox 3になったときにずいぶん減らしたんだけど、だんだん増えてきたので整理しつつここではまだ書いてなかったものだけ。別のところで書いたやつもあるけど、ここでは初出ということで。

XPIファイルにapplication/x-xpinstallを指定した方が良い?: このサイトで公開しているFirefoxの拡張のXPIファイルにはMIMEタイプとしてapplication/x-xpinstallを指定しているので、FirefoxでXPIファイルへのリンクをクリックするとインストールの許可を求める情報バーが表示される。しかしこういった多くの人にとって得体の知れないサイトでは指定しない方が良いんじゃないかと最近になって考えるようになった。

Places in Tabにツールバー・ボタンを追加: Places in Tabにツールバーボタンを追加し、1.0として正式リリースした。しばらく反映に時間がかかると思うので、1.0が欲しい人はバージョン履歴のページからインストールすると良い。このサイトのXPI置き場からでもOK。

MEGAUPLOADから簡単にダウンロード: MEGAUPLOADではファイルをダウンロードする時に、4文字のCAPTCHAの入力と45秒の待ち時間を要求される。が、URLにちょっと細工するとそれらをすっ飛ばしてダウンロードできることを知ったので、ユーザースクリプトにしてみた。内容は一行。

ActiverPerlにCPANをインストール: 最近(2009年初頭頃から)のActivePerlではActiveStateのPPMリポジトリにCPANに必要なものが用意されており、それらをインストールすればすぐにCPANが利用できるようになる。実際にはPPMで必要なものをインストールして……などと作業を行う必要も無く、ほぼ自動で導入が完了するのでそんなに難しい話ではないのだけど、古い情報が淘汰されることを願ってエントリにしてみた。

詳解LastPass: LastPassはどんな感じで普段操作することになるのかを説明し、結構すごいよねというアピールをしようという試み。以下、Firefoxの拡張のバージョン1.51.4を利用するという前提で書く。タイトル負けしているエントリだと意識して読んでみよう!

LastPass: LastPassはパスワード管理ウェブサービス。FirefoxとInternet Explorer、Safari(OS Xのみ)の拡張ソフトウェアが用意されており、ブラウザでマスターパスワードのみで様々なウェブサイトにログインできるようになる。ブックマークレットでも利用できるのでOperaなどでもいける。しばらく前からインストールとアンインストールを繰り返していたのだけど、ようやくこれ一本で行くかという気になった。Chromeの拡張も出たところらしい。基本的な機能は無料で提供されているのでまったく困らないが、プレミアム機能に申し込むと指紋認証デバイスで一括管理できるようになったりとかちょっと興味深い。

Query YQLプラグインでOpen Data Tableをサポートした: YQLではデフォルト多くのテーブルが組み込まれているのだけど、自由に拡張できる仕組みとしてOpen Data Tableというものがある。YQL ConsoleではShow Community Tablesをクリックして有効にすると、Community Open Data Tablesに登録されているGitHubやTwitterのためのテーブルを試すことができる。これらのOpen Data Tableを実際に利用するためにはYQLへのリクエストへenvパラメータとしてenvironmentファイルを指定しなければならない。最近よく利用するようになったのでQuery YQLプラグインでもそれらを利用できるように更新した。

404エラーページの改善: 404エラーページに大幅に手を入れた。今まではフッタに載せていた人気のあるページなどを整理して、URLが間違っていることへの注意の喚起と修正候補の推薦をメインにし、その下に人気のあるページのリストを、最後に大きめの検索フォームを配置ということにした。JavaScriptが無効だとほとんど意味をなさないのが欠点。403や410、500などの他のエラーページにはまだ手をつけていない。

Firefox Extention: Places in Tab: Places、つまり「履歴とブックマークの管理」をウィンドウではなくタブで開くFirefoxの拡張を作った。Safariっぽい感じだけど、あくまでもタブで開くだけなのでSafariみたいに表示していたページと高速に行き来できたりはしないし、もちろんカバーフロー的な機能もない。今のところ正式リリース前の扱いで、しばらくの間は変わらないと思う。

HTTPエラーページ: 訪問者への最適化的な意味合いでエラーページは重要性が高い。なのだけど真面目に作る気が起こらない。遊びのエラーページとかなら作りたくなるんだけど。最近読んだAdding meaning to your HTTP error pages!ではエラーページについてごく基本的なことをコンパクトにまとめてある。自戒を込めて翻訳した。

HTTPエラーページに意味を持たせよう: Translation of: Adding meaning to your HTTP error pages! by Stuart Colville

右クリックメニューから「送る」を削除する: 「送る」を使うよりも「プログラムから開く」を使いまくって充実させていく方が自分には合っているということに開眼したので、表示する時に一瞬ウェイトが入る「送る」を削除してエクスプローラーを使っている。当初は「プログラムから開く」でアプリケーションを選択するのが非常に面倒だったが、ある程度使い続けると中々使いやすい感じになってきた。「プログラムから開く」の一覧はファイルの拡張子ごとに保持されるので、拡張子によってダイナミックに変化する「送る」というのが近いと思う。

無料で400以上のフォントを手に入れよう!: インターネット上で公開されている無料のフォントは数多くある。しかし、それらを効率的に探すとなると大変だ。無料のフォントをまとめたサイトやページは数多く見つかるが、50程度のまとめのものであったり、ライセンスについてあやふやなだったりする。そこで便利なのがMyFontsの検索機能だ。MyFontsではフォント名や作者、その他色々な条件で検索できるが、その条件のひとつに値段があり、その条件だけで検索することができる。何も考えずに"$0以下"という条件で検索するだけで400以上見つけることができるのだ。

安全な@font-faceの書き方(抄訳): Internet Explorerではかなり昔からあった埋め込みフォント(@font-faceによるフォントの参照)の機能は、Safari 3とFirefox 3.5で有効になったことから急速に話題になることが増えた。ようやく時代がMicrosoftに追いついてきた感じですね。その書き方は大筋では一緒なのだが、細かな仕様の違い、というかIEがEmbedded OpenTypeしかサポートしていないことから工夫が必要になる。その工夫をBulletproof、つまり将来にわたって安全であろうという観点で短くまとめたBulletproof @font-face syntaxというすごく参考になったエントリがあったので訳しておく。語調などは超訳なので、原文とニュアンスが変わっているかもしれない。

安全な@font-faceの書き方: Translation of: Bulletproof @font-face syntax

Vimカラースキーム: h2u_black: Vimを使い始めるきっかけのひとつになったカラースキーム、ir_black。その行番号と本文の背景が一緒だったりするところとか、カーソル行の色があまり明度に差がないこととか微妙に気になったところに手を入れつつ、色を覚えやすい単純なものにしたh2u_blackを作った。実はir_blackのテイストのまま256色にしてやろうと思ったものの途中で投げ出したものの名残りだったりする。その割にはターミナル向けの色設定を書くのが面倒になってgVim向けのカラー設定しか書いてなかったりするとかいう……。

iTunes プラグイン: jscrob2: 諸事情がありiTunesじゃないとタグ管理とかジャケット画像管理とかが面倒になってきたのでiTunesを使うようになった。それまでもiTunesを利用はしていたので特に問題は起きなかったのだが、Last.fmへ再生情報を送ろうとしたら、Last.fm Scrobblerを起動しておかなくてはならず、自動起動はしてくれるのに自動終了しないという……。「MacにはiTunesの制御とLast.fmへの再生情報の送信をサポートするBowtieがあるけどWindowsにはないの? これだからWindowsは……。まっくつかおうぜ!」(前半はうそです)とか言われたので意地になって探したらjscrob2という、Audioscrobblerと呼ばれていた頃の公式プラグインのようにプラグインだけで動作するものを見つけた。

既に起動しているgVimの新しいタブでdiffを行う: Vimのdiffがすごく楽なので使いまくり始めた。単にgVimを新たに起動してdiffを行うだけならば、-dオプションとファイルを2つ渡してやれば良い。が、既に起動しているgVimの新しいタブでdiffを行う方法がわからない。--remote-tab-silentオプションを追加するだけではうまくいかないようだ。色々調べたところ、公式MLのアーカイブにあったスレッドで、--remote系のオプションではExコマンドを1つ指定して実行することができるので、それを利用してvertical diffsplitを実行してやれば良いことがわかった。

thermo mug: 3287 タンブラー オリーブ: 常用しているコップがガラス製の安いので、冷たい飲み物入れると結露が大変なので、結露しないタンブラーちょっと欲しいなと。特に「このブランドのこれが欲しい!」とかはなかったので、ざっと調べた中でサイトがきれいだったthermo mugの一番スタンダードな3287のオリーブにした(最近グリーン系好きなので)。Amazon.co.jpで買おうとしたら2週間からみたいな感じだったので、近くで売ってないかと思ったら最寄り駅の丸井で売っていたので即購入。

gVimのラッパーを作った: gVimをタブを常に表示させ、-p --remote-tab-silentをコマンドライン・オプションに指定して、タブでファイルを開くようにしているのだけど、このオプション指定が面倒。送るにショートカットを置くとか関連付けの指定とかはさほど面倒ではないのだけど、何かしらのソフトウェアでエディタを指定する時にコマンドライン・オプションを指定できないようになっている場合とかあると途端に面倒なことになる。なので、-p --remote-tab-silentを付けてgVimを起動するだけのラッパーを作った。JavaScriptで!

Tango Vimアイコン: SVG形式のかわいいVimアイコンを見つけたので、Inkscapeを使ってPNGにラスタライズし、更にそれをIcoFXでWindows形式のアイコンファイルにしたものを作った。ライセンスはCreative Commons Attribution 3.0で配布元と同じ。

Vimを使い始めた: 思うところがあってVimをメインに使い始めた。とりあえず今まで適当だったvimrcの整理から始めて、blosxomの新規記事を公開したり既存記事を更新するコマンドを作り、コーディングのために補完関連などを覚えたり調べたり設定したりした。そしたらいつのまにか3日経っていた。とりあえずはあまり困らないくらいまでにはなった……ような気がする。

Amazon Product Advertising APIで返されるProductGroupの日本語訳: Amazon Product Advertising APIでSearchIndex=Allを使って検索すると、複数のカテゴリの商品が検索結果として返ってくる。検索結果の各商品がどのカテゴリの商品かはItemAttributes/ProductGroupの値を参照すれば良いのだが、「家電&カメラ」が「CE」だったりとそのままではいまいちよくわからない。ということでAmazon.co.jpのカテゴリ分けのラベルに訳した。

Aex: Amazon.co.jpの全商品から検索するよ!: Amazon Product Advertising APIのItemSearchオペレーションのパラメータとしてSearchIndex=Allが日本でも利用できるようになったらしいので、とりあえずAexという名前でAmazon.co.jpの検索サイトを作ってみた。これでドロップダウンでカテゴリを選択とかいう腐ったUIから解放される。

Samsung SyncMaster 2494HSを買った: 普段使いにSamsungのSyncMaster 2494HSをTSUKUMOで会員特価19290円にて購入。USBハブ搭載のマイナーチェンジ版2494HSMが出た関係で、少し前に値段が下がり2万円を割ってきたようだ。基本スペックはフルHD対応のノングレア23.6インチでHDMI対応、3W*2のスピーカー付き。枠が思ったよりも……太い! とりあえすドット欠けと常時点灯はなかったので一安心。

フレッツ・テレビに移行した: さよならBSアンテナ!!! これで豪雨でも大丈夫! という感じなフレッツ・テレビに移行した。工事には特にトラブルはなく、朝9時から1時間くらいで完了した。以下はNTT東日本での話。

無印良品の木製ベッドとマットレスを買った: タモ材の安い奴のナチュラル。マットレスは安い方のポケットコイル。

jQueryプラグイン: Query YQL: Yahoo! Query Language - YDNに式を指定するだけでクエリを投げられ、コールバック関数で結果を受け取れるようにするQuery YQLというjQueryのプラグインを作った。jQuery.getJSON()でもそんなに手間がかかるわけではないけど、エンドポイントとかcallback=?とか書くのがちょっと面倒だったのでプラグインにした。実装するのに2分、名前を考えるのに15分。

Asamashi09 #3: JavaScriptだけでAmazonのProduct Advertising APIへのリクエストの署名認証を実装するのはできないことはないが、秘密キーを隠すというのは無理がある。公式フォーラムでのAmazon側の解答ではプロクシならOKですよみたいな感じなので、プロクシCGIを作り、Asamashi09で利用しているPipeをそれ経由にしてやることにした。

pngcrushでPNGファイルから不必要と思われるメタデータを削除: PNGファイルにはメタデータとして様々な情報を埋め込むことができる。その様々な情報のうちガンマとカラー・プロファイルの情報はブラウザでの表示に影響を与えることがあるので、そこそこ使いやすいpngcrushで削除するのが無難。それら影響を与えることがあるメタデータを削除してやれば、WindowsのPhotoshopで作ったPNGファイルがMac(Leopard)のSafariで色がずれるなどといった現象を回避することができる。

フレッツ・テレビ: 地元でフレッツ・テレビの個別相談会があったのでいろいろ聞いてみた。とりあえずいきなりひかり電話も同時に導入しませんかみたいに言われたのがかなりアレ。帰るときに貰った粗品はボールペンとポケットティッシュ、洗剤(4回分)、タオル。以下はメモ。

無印良品の低反発まくら買った: 長年使っていたまくらの一部が擦り切れて中のパイプが出てきてしまったので買い換えた。羽毛にしようかとか加齢臭対策にそばがらにしようかとか色々悩んだけど、無印良品の低反発まくら(安い方)にした。セール中で2000円を切っていて安かったので。

Git Cheat Sheets JP: 設定

Version Control for Designersを訳した: Gitを使い始めた時に読んだドキュメントのひとつであるVersion Control for Designersを日本語に訳した。for Designersとタイトルについているが、そのことは忘れて読んだ方が良いと思う。

Version Control for Designers: このドキュメントは Version Control for Designers の日本語訳であり、元のドキュメントと同じくソースコード管理に予備知識がまったくない人を想定している

jQueryで文字参照に変換: jQueryに文字列に含まれる特定の文字を文字参照へ変換するそのものずばりなメソッドは無い(よね?)が、ダミーの要素を作成し、text()で変換したい文字列をセットしてからhtml()で内容だけ取り出してやるとうまいこと変換することができる。

このエントリを含むエントリ: はてなブックマークにある「このエントリを含むエントリ」機能のようなものをJavaScript+jQueryで書いてみた。ソースはGoogleブログ検索でlink:プリフィックスを使用した検索。この検索結果はAtom (やRSS 2.0)で拾えるので、それをYQLに投げてJavaScriptだけで書いた。最初ははてブのエントリ情報のページをスクレイピングして作ってたんだけど、こっちを思いついたのでこっちで。

jQueryプラグイン: Highlight Search Terms: 前回のエントリで取り上げたスクリプトをjQueryプラグイン化した。だけ。GitHubにリポジトリを作って公開しておいた。基本的にはこれでもう良いやとか思ってるんだけど、URLパターンはもうちょっと何とかならないかなとかは思ってる。あとマルチカラーなハイライトを実現できるようにはしたいかも。実装はhighlight-1とかクラス名を順に振っていくだけとか簡単そうなものになると思う(そこまで考えてるなら実装しろ)。

検索語の強調: かなり昔から色々な人が作ってるリファラを調べて検索語を取得しドキュメントの単語を強調表示するスクリプトを今さら書いた。jQueryのおかげでそこそこ短く書けた。遅いけど。リファラから検索語を取得する部分はまぁ置いておいて(あんまり考えずに書いたので)、ドキュメントの単語をハイライトするコードの部分についてだけ書いておく。

らいふすとりーむ: Twitterでつぶやき始めたりLast.fmへの曲の登録を再開したりLifestreamに載せられそうなものが増えてきたので、FriendFeedでまとめて、APIを利用してLifestreamを作った。当初はChi.mpで作ろうとしていたのだけど、以前書いたエントリの通り更新遅すぎで使い物にならなかったので一番メジャーなFriendFeedに落ち着いた。

Chi.mp: Lifestreamっぽいものを作ろうと「Content Hub and Identity Management Platform」と銘打たれているChi.mpを試してみた。結局はFriendFeedを使うことにしたんだけどね。陳腐とかチン○とか。

Amazonの商品個別ページでのwindow.productTagsオブジェクト: Amazon.co.jp(Amazon.comでも)の商品個別ページのDOMにはwindow.productTagsというオブジェクトがあり、その中にASINをはじめ商品のタイトルや商品画像のURL、著者名(CDとかならアーティスト名)など基本的な情報が格納されている。これを使えば簡単な商品紹介リンクならば外部のサービスを介することなく作成することが出来る。

jQueryプラグイン: TableFilter: 表にインクリメンタル・サーチで行を絞り込むフォームを付けるjQueryプラグイン、TableFilterを作った。似たようなものは前に書いたのだけどjQueryプラグインを作ってみたかったので書き直した。習作。

Bookmarklet: View as XML: 閲覧中のページをXMLとして見るブックマークレットを作った。ウェブ・ページのソースをFirefoxのツリー表示なXMLビューワーで見るという意味。タイトルは適当。良い名前を思いつかなかった。Firebug使えって感じではある。

Bookmarklet: List Colors #2: 出力する表を色を背景にしたシンプルな表になるようにした。文字色は明度(ブライトネス)をチェックして明るい色なら黒、暗い色なら白を設定するようにしたので、文字が読めないって事はないと思う。まぁ満足のいくものが出来たのでこれで終わり。

back_and_forthプラグインをAutoPagerize対応に: back_and_forthプラグインではprevで時系列的に古いエントリを、nextで時系列的に新しいエントリを参照していた。そのためAutoPagerizeはSITEINFOをちゃんと書いてやらないと動作しなかった。このサイトをAutoPagerizeへSITEINFOを書かずに対応させるためback_and_forthプラグインを更新して、prevとnextが参照するエントリを逆にしてみた。このバージョンのback_and_forthプラグインに差し替えた上で適切な要素のclass属性にautopagerize_page_elementを加えてやれば、SITEINFOを用意してやらなくてもAutoPagerizeが動作するようになるはず。

Bookmarklet: List Colors: 閲覧中のページのスタイルシートで使われている色を列挙するブックマークレットを作った。Web Developerにある機能だが、少し前にアンインストールしてしまったのでその代わりに。Array.forEach()使ってるので(以下略)。絶賛作りかけ中。

はてなブックマークの新着ブックマークとlivedoor Reader: このサイト全体のはてなブックマークでの被ブックマークをトラッキングしようとsitemap.txtを元にしたPipeを作ったのだけど、あんちぽさんに「URLで絞り込んで新着ブックマークのトラッキングできるよ」と教えてもらった。はてなにはなんでもあるな。この機能にはフィードも用意されているので、これをlivedoor Readerで購読すればOK……と思いきや、明らかに被ブックマーク情報が飛び飛びでしか閲覧できなかった。原因はフィード側ではなく、LDR側の仕様によるものみたいだ。

Deliciousからはてブへ移住: Deliciousからはてなブックマークへ移住した。ブックマーク・ページのタイトルに深い意味は無い。「おいしいよね!」とかそんな程度。Deliciousに出戻る可能性は否定できない。

floatで並べたリストのセンタリング: ページング・ナビゲーションなどでリスト項目をfloat: left;で横に並べるというのは割りと良く使われると思う。並べること自体は特に難しいわけではないが、その並べたリスト全体をセンタリングしようとするとちょっとややこしい。display: inline-block;を使う手法やdisplay: table;を使う手法という黒魔法的(私見)な手法で実現可能だが、position: relative;でもいける。

HTML 4.01 strictへ: 流行ってるらしいので。本当は、シングル・カラムに変更したかったり、エントリのタイトル等をh1にしたかったり、検索ボックスの位置を変えたかったり、marginのとり方の変えたかったり等色々やりたいことがあったので、ついでにHTML 4.01 strictにしてやったというところ。確認が面倒だった。想像していた以上に。それはもう。

Pito! 0.99: デスクトップの端や他のウィンドウの端にドラッグ中のウィンドウの端をスナップ(吸着)させるソフトウェア、Pito!。同様のものはぴたすちおなど色々あるが、使い始めた時からしっくりきたので愛用。前にも書いた。0.99でマルチディスプレイに対応していたり色々機能が増えてたので再エントリ。

Firefox 3のfilefield要素: Firefox 3のオプション設定ダイアログやダウンロード・ダイアログなどに存在するfilefield要素。nsIFilePickerなどと組み合わせてファイルやフォルダを指定するために使うもののようだけど、MDCに書いてないので使い方が全然わからなかった。けどソースをgrepして探して読んでみたら、ファイルやフォルダの指定に特化したものだったのでそんなに難しくなかった。ということで使い方のメモ。

Amazon Product Advertising APIの認証をJavaScriptで: 既に色々なところで話題になっているAmazonのECSがProduct Advertising APIに名称変更され、3か月後には認証を要求するようになるという変更は、Pipes(やYQL)などを利用してJavaScriptだけで書かれているアソシエイト・ツールにはかなり厳しい気がする。シグネチャの生成自体はJavaScriptで出来るので、とりあえずAsamashi09を対応させたけど、Secret Access Keyを隠さないといけないのでこのままでは公開できない(動作サンプルすら提供できない)。

nsIFilePicker.appendFilters(): 1つのnsIFilePicker.appendFilters()で複数の拡張子のフィルタを追加する時、定数の小さな順にドロップダウンに登録される。ので、任意の順番にしたい場合は複数のnsIFilePicker.appendFilters()を並べてやる必要がある。

価格.comのスペック検索の検索結果ページにpermalinkを追加するGreasemonkeyスクリプト: 価格.comではカテゴリごとにスペックで絞込み検索ができる。絞込み検索のフォームの送信はPOSTで行われるので、検索結果のページにはpermalinkらしきものは無いように見えるが、検索結果をメールで送信するというリンクがページの最後の方にあり、そのリンク先のURLからpermalinkがあることがわかる。ということで検索結果ページのh1要素の最後にそのpermalinkを追加するGreasemonkeyスクリプトを作った。

検索フォームのスタイルを変えた: 2年弱ぶりに復活してからこのサイトのサイト内検索には検索向けAdSenseを使っているのだけど、生成されるHTMLを少し書き換えてたり、そもそも検索ボタンが下にあるのに飽きてきてたりアレだった。ので、属性セレクタに対応していないブラウザのためにクラス名を付ける以外はHTMLを書き換えることなく、ブラウザの検索バー的なシンプルな見た目にしてみた。「フォーム要素にスタイル指定はなるべく行わない方が良い」とかいう悪魔の囁きは無視することにした。

livedoor Readerとfeeds.feedburner.com: ここのところlivedoor Readerでこのサイトの更新が反映されないなーと思ってたら、どうやらfeeds.feedburner.com以下にある全てのフィード(多分)の更新が反映されてない感じだった。うっかりGoogle リーダーに戻ろうかとか考えたけど、それは解決になってないので止めた。

Open Profile Folder 1.3: LinuxやFreeBSD等ではnsILocalFile.launch()でフォルダを開こうとしてもダメらしい(そもそもnsILocalFile.launch()が実装されていないとか書いてある)ので、Open Profile Folderに指定したアプリケーションでフォルダを開く設定を新設した。アプリケーションの起動時の引数も一応指定できるけど微妙。

Bookmark All 1.3.1: Bookmark Allの作成するフォルダを任意のパスに格納できるようにして欲しいというような要望があったので、適当に実装して1.3にバージョンアップし、設定を無視してルートにフォルダを作成してしまうバグを修正して1.3.1へ。懸案だったメニュー項目の位置も変更。

Firefoxの拡張のドロップダウンなツールバー・ボタン: Firefoxの拡張でツールバー・ボタンはtoolbarbutton要素で作る。これをドロップダウンにするにはtype属性にmenuを指定してやり、子にmenupopupを作ってやれば良い。が、このままだと微妙に表示がおかしいというかちょっと残念な形になるということに気づいたのでメモ。別にバグるとかそういう致命的なものではないけどしっくりこない感じの挙動。

Firefox extension: Change Profile 0.1: Firefoxでメニューまたはツールバー・ボタンからプロファイルの切り替えを行う拡張を作ってみた。普段は滅多にプロファイルを切り替えてFirefoxを使ったりはしないんだけど、たまに切り替える必要がある時はものすごく頻繁に切り替えることになるので、あったら良さそうと思ったので。インストールはXPI置き場からchange-profile-0.1.xpiをダウンロードして、Firefoxにドラッグ・アンド・ドロップで。ソースが読みたい人はChange Profileのリポジトリ・ページを参照。

Firefox Extensions更新@2009/04/29: 主な更新点はレガシーなjarファイルによるXPIパッケージングからフラット・ファイルなそれに変更したこと。というかなりどうでもいい点以外に、ツールバー・ボタンの追加や日本語ロケールの追加とか。Firefox 3.5b4出るまで待とうかと思ったけど、先月のAMOアップデートで開発者ツールから対応するバージョンをいじることが出来るようになった(つまりinstall.rdf内のem:versionを変更して再パッケージング→アップロードという手順を踏まなくて良くなった)ので、先にアップデートしておいても良いかという感じ。とか下書きのエントリを書いておいて、AMOへの反映を待ってる間に3.5b4が出たという。

丸くて緑の: やはりロゴは左上が良いと思ったので、ナビとロゴの位置を入れ替え、ヘッダからロゴをはみ出させてみた。ヘッダからロゴがはみ出すというのは、結構前からだけど地味に流行ってる気がする。僕が好きなだけという。

Firefoxの"ページのソースを表示"で外部エディタを使うと開けないことがあるのを回避する: タイトル長い。WindowsのFirefoxで外部エディタを設定するとまず間違いなくはまるバグをどうにか回避してやろうという試み。このバグは対象のページのソースを一時的なファイルに保存までは正常に行えているものの、指定した外部エディタにそのファイル名がUTF-8(多分)で渡されるのが原因。直接view_source.editor.pathに外部エディタを指定せずに、ゴニョゴニョするバッチ・ファイルを指定してやるという手法で頑張ってみた。結果、できないことなどないということがわかった。バッチファイルすげー。

それYQLで出来るよ!: トップページに表示されているRecent Weblog Entriesは、jsというflavourを作ってやっていたのだけど、YQLでフィードからJSONPにコンバートしてゴニョゴニョするものに変えた。フィードはFeedBurnerにあるのでサードパーティのウェブサービスとクライアントサイドのスクリプトで完結するのが良いところでもあり悪いところでもあり。

JavaScriptでJSON2XML: 多くのウェブサービスで提供されるJSONデータは改行もインデントもなく読みづらい。PipesとかPipesとかPipesとか。Big SkyではGUIツールを作っていたけど、単にデータの構造を把握したいだけとかならXMLに変換してブラウザで見るのでも良いと思う。今まではその変換を適当なPerlスクリプトでやってたが、JavaScriptだけで出来そうな気がしたのでとりあえず作ってみた。そこそこ使えそう。

rev="canonical"? rel="shorturl"? それとも……: ノッチさんがrev="canonical"のアイディアはいいと思うけど書き方がアレだと書いている。rev属性をいまいち理解していない僕には、なるほどくらいしか感想がない。ので、1つ前のエントリではあまり書かなかったこと(書けなかったこと)とかをいくつか書いてみようと思う。

rev="canonical": 海の向こうで一気に議論が過熱したrev="canonical"ネタ。ざっくりまとめると、TwitterやSMS等の文字数制限のあるメディアで長いURLを投稿するためによく使われてるURL短縮サービスはアレだよね……というところから始まって、じゃぁ個々が自前で短いURLを用意してやって機械的に辿れる仕組み、rev="canonical"を使おうぜ! という感じ。

昨日ようやく毛布をしまった: 角丸やめたり、CSSハックをまとめたCSSを切り離したりとか、本文の左右のマージンを微妙に広げてみたりとか。本当はPrototype JavaScript frameworkからjQueryに切り替えようとか考えてたけどそれは面倒になった。はてなスターとはてなポイント受け取る奴外したりとかも。タイトルに特に意味は無い。

Asamashi09 #2: Asamashi09のテンプレート・システムにはjTemplatesを使うことにした。あんまり書きやすくない気もする。でも探すの面倒だった(作るのはもっと面倒)。とりあえずリモートのテンプレート・ファイルを指定して出力できるようにはなった。

Asamashi09: jQuery(とGit、GitHub)の練習にlabs.hail2u.net/amazon/asamashi/を移植してみようかなとか思って、Asamashi09として作り始めた。バックエンドはAmazon Web ServicesのXSLTではなく、ItemLookupするPipesに。が、肝心のテンプレートシステムをまだ作っていないという。jQueryでテンプレート・システムってどう作るのが多いのかとか調べることすらしていない。

GitHubにblosxomぷらぎん置いた: 盛大に乗り遅れたGitブーム(に見える)を追いかけて、GitHubを使って今まで書いたblosxomのプラグインを晒しとくことにしました。手を加えてあるinterpolate_fancyやwritebackとかが加わってるforkリポジトリが既にあったりするのでこっちもどぞ。blosxom starter kitも一応ある。一応とか。

リデザイン @ 2009/04/02: どこにでも有りそうな無難なデザインになった。ちょっと本文のマージンが狭いかなーと思ってること以外はほぼ満足したので、あとは細かい調整をするだけ。ころころ変えててごめんなさい(10回くらい変わった気がする)。ていうか放置してた時の感じに戻ったような気がしないでもない。

Fb2k -> Last.fm -> Y! Pipes -> AWS -> ココ: ここにfoobar2000で聞いている(た)CDの情報を出すのに、自分のコストをなるべく削ろうとしたらとても遠回りになった。Last.fmのデータ(特にアルバム名)にゆらぎがあるのと、Amazonの検索結果を適切なものすることができなかったりで……。ちょっとの間つけていたけど既に取り外してしまった。

緑の: 緑(#66aa11)にした。モノクロにしようかと思ったけど。でもモノクロにするかも。2カラムにした。1カラムにしようかと思ったけど。でも1カラムにするかも。思いつきで1カラムにする布石とか書かない方が良いことがわかった。

Canonical URLの流行に乗り遅れた: ので、Specify your canonicalに対応させると共に大幅にHTMLをいじった。こういう普通のサイトはコンテンツが複数のURLで提供されてしまうことはまず無いのであまり意味はないと思うけど、なんとなくやってみたかった。あと階層メニューをついに捨てた。ヘッダはもっとコンパクトになるはずだったのにならなかった。

Western Digital WD10EADS (1TB HDD): 年末には「HDDを買い換えようかなー」とか毎年のように考えるのだけど、結局買わないことがほとんど。が、去年の年末は1TBが¥8000を割り込んできたので、さすがに物欲が刺激されまくり。で、一月の末にWestern DigitalのWD10EADSをヨドバシで¥8280の10%ポイント還元で購入。ヨドバシで取り扱っているWDのHDDは全部SYNNEXでRMA確定らしい。

タイトル考えるの面倒くさい: 話題: フレッツ・テレビ、はてな、プチフリ、新しいあいぽっしゃほー。

2年半弱ぶり: Yahoo! Pipesとかで(今さら)遊んでたら、久しぶりにブログとかも書きたくなったのでちょっとだけ。CSSもちょっと。色を変える気力は無いくせに、AdSenseいじる気力はあったよ! タイトルロゴはSegoe ScriptのBoldを横に1.25倍にして反時計回りに5度回転させただけ。ダンボールにサインペンでサインした感じだと思って見てください。本文にCorbelとかCalibri、Candaraを使ってみようと四苦八苦したけど、どうやってもメイリオと合わないという……。Verdanaってすごいな!

ソート機能付き ポケモン一覧表: ポケットモンスター ダイヤモンド・パール の ぜんこくずかん に基づいています

FirefoxのuserChrome.cssネタ #11: Firefox 2のデフォルト・テーマは悪くは無い。けれども画像で作ったタブとか画像で作ったタブとか画像で作ったタブとか画像で作ったタブとか画像で作ったタブとかはなんだかなーと思ってしまう。というわけで以前書いたフラットなタブを実現するuserChrome.cssネタをFirefox 2に対応させたりとか他にもいくつか。

JSONフィードとか何とか #2: TypePadがJSONフィードの出力に対応したそうで。JSONフィードってーのはdel.icio.usのJSON Feedsとかで見られる、JSONを利用したRSSやAtomっぽい配信フォーマットで、Pure JavaScriptで扱えるのが最大の特徴。特に仕様なんかは無い(と思う)。かなり昔にこのサイトで妄想として取り上げていたのが現実になった感じ。

Firefoxで素早くdel.icio.usへ投稿: Firefoxでは各ブックマークにKeywordを割り当てることができ、割り当てたKeywordをロケーション・バーで入力してEnterまたはGoボタンを押すことによってそのブックマークを開くことが出来る。このSmart Keywordsと呼ばれている機能はロケーション・バーから検索エンジンを利用した検索を行う場合などに利用する場合が多いが、Bookmarkletなどを含めどんなブックマークにも割り当てることが出来るので、del.icio.usへ投稿するBookmarkletにKeywordとしてdを指定すると、Alt+D D Enterという連続したキー・タイプでdel.icio.usに投稿できるようになる(Alt+Dはロケーション・バーにフォーカスを当てるショートカット)。知人が見ている時にこれを使ってdel.icio.usにササッと投稿するところを見せつけると「デキる男(女)」を演出できます。

HTMLヘルプのソースを公開: HTMLヘルプはHTML Help Workshopで逆コンパイルできるのだけど、抜き出されたHTMLのファイル名がテキトウ極まりないものだったり(うろ覚え)とか色々アレだったと思うので、元にしたHTMLファイルにHTML Help Workshopのプロジェクト・ファイル群を加えてzipアーカイブにまとめ、公開しておくことにした。

設定を外部JavaScriptファイルから読み込む: JSONで記述した設定ファイルをどこかのサーバーに置き、それを動的にscript要素を追加するアレで読み込み、適用するという試み。タイトルまんま。設定を保存するということは難しいので、使いどころはとても限られる。Bookmarkletでゴニョゴニョするサイトなんかで細かい指定パラメータの代わりに使うとかが唯一に近い光明。

del.icio.usのnetworkをツリー状に展開しまくる: エントリのネタに事欠いたので少し前に作ったdel.icio.usのnetworkをツリー状に展開しまくるモノについて書いてみる。タイトルの通りの代物で、基点となるユーザー名のnetworkをリストにして表示し、それぞれのリスト項目のユーザー名の後ろについている矢印画像をクリックすると、更にそのユーザー名のnetworkをリストにして表示し・・・と、延々とツリー状に展開しまくるもの。

不明なflavour回避パッチの問題点: かなり前に書いた不明なflavourというエントリで紹介したパッチは概ねうまく機能しているのだけど、検索エンジンなどで意図しないURLが検索結果に出てきてしまうことがあるという問題が。通常は多くのページでリンクを張られている.htmlで終わるURLの方が圧倒的に強く、Web全体からの検索などではあまり問題にならないが、サイト内検索などではかなりゴミとして目立ってしまう。ので、redirectif_noflavourを使い、存在しないflavourの場合は.htmlで終わるURLにリダイレクトさせることにした。

拝み屋横丁顛末記: 一昨日借りた拝み屋横丁顛末記を一気読みしたらもうツボにはまりすぎでどうにもこうにも。思い出し笑いしてしまったりとか、夢に出てきたりとか。「ネタが凝ってる!」とか「展開がうまい!」とかそういうのは欠片もなくて、ヒトコマで笑いをさらう感じ。シャイニング・ウィザードとか。

XPIパッケージにまとめるバッチ・スクリプト: 作成したFirefoxのExtensionをXPIパッケージにまとめる方法のひとつとして、バッチ・スクリプトがHow to create Firefox extensionsでかなり昔から公開されている。これはbuild.batをいちいちコピーしなきゃならなかったりとか.svnフォルダなども含んでしまったりする。それをbuild.batをどこかにおいておけばドラッグ・アンド・ドロップでXPIパッケージが作れるようにしたりとか改造してみた。

使用しているプラグイン: 43 Foldersの中の人がWordpressで使用しているプラグインをdel.icio.usでwordpress+pluginsiuseというタグを付けることによってまとめていた。簡単なコメントも付けられるし、URLの変更なんかの修正も簡単でメンテしやすそう。ということで真似して、このblosxomで使っているプラグインをまとめてみた。

Yahoo! Search Web ServicesのJSON(P)を利用したサイト内検索: Yahoo! Search Web ServicesのJSON(P)を利用すれば、JavaScriptのみでサイト内検索が実現できる上、Ajax的にページ遷移無しで検索が実行できる。Google AJAX Searchが内部で利用しているJSONPらしきアレを利用するケースと違い、こちらは公式にアナウンスされているのでおおっぴらに利用できる。というわけで、ほとんど同じタイトルでほとんど同じネタを連続で書いてみる。

Google AJAX Search APIのJSONPを利用したサイト内検索: Google AJAX Search APIは、動的にGoogle検索結果を自分のページに挿入することができるAPI(あまり使っているサイトを見ないけど)。Ajaxっつっても内部はJSONP(みたいなもの)だったりするので、普通にGwebSearchクラスのsetSiteRestriction()メソッドを使うのではなく、JSONPを直接叩いてサイト内検索を実装することもできる。もちろんサイト内検索に限った話ではないけど。

FirefoxのuserContent.cssネタ #3: FirefoxのuserContent.cssネタで内輪受けしたネタがあったので久々にエントリに。してみた。なお「某所とネタがかぶってるよ」とか「某所で書いたのを今さら引っ張り出してくるなよ」とかいう苦情は受けつけません。

JSONPに同期リクエスト: コールバック関数を指定する形のJSONPへforループなどで複数回リクエストする場合、コールバック関数の実行される順はforループで回した順と一致するとは限らない(Opera除く)。そのため何番目にリクエストした結果に実行されたコールバック関数なのかといった処理状況をコールバック関数内で知ることが面倒だったりする(不可能というわけではない、多分)。それをあえて同期リクエストにすることでどうにかしてみようとかいう話。

インバウンド・リンクのリスト: TrackBackの代わりにWebサービスAPIを利用してインバウンド・リンクをリスト化して表示しようかと考えた。blogにTrackBackの機能を持たせるのは悪くはないのだけどコストが高いと思うので、WebサービスAPIを利用して低コストでTrackBack的な情報をページに持たせることが出来たら良いなと。結果はうまくいかなかったのだけど。

はてなブックマークエントリー情報取得APIははてなスクリーンショットAPI(でもある): はてなブックマークのエントリー情報取得APIは任意のURLに対するブックマークを返してくれるAPIなだけでなく、事実上はてなスクリーンショットのAPIとしても機能している。正確には、はてなスクリーンショットによるスクリーンショット画像のURLも返してくれるというだけ話なのだけど。

gdi++.dll: 2ちゃんねるのWindowsのフォントスレッドでシコシコ作られていたgdi++.dllが使いやすい形になってリリースされていた。バイナリいじって適用する形のを少し前に試してみたりしていて「おー」とか「へぇー」とか驚いてたのだけど、このリリースからgdi++.exe経由でアプリケーションを起動するだけで良くなりとても使いやすくなった。すげい。

はてなブックマークでつけられたコメントをblosxomにインクルード: はてなブックマークエントリー情報取得APIを利用して、blosxomのエントリ個別ページにはてなブックマークでそのエントリに付けられたコメントを引っ張ってこようとかいうネタ。blosxomでの話ということになっているけど、実装自体はほぼPure JavaScriptなので、どんなページにも応用できるはず。

CSSで指定するフォント: CSSで指定するフォントは、訪問者のマシンにその指定したフォントがインストール済みでないと(大抵の場合は)反映されないため、手に入れやすいまたは多くのOSでインストールされているフォントを指定することが多い。手に入れやすいフォントとして代表的なものはCore fonts for the WebというMicrosoftが提供しているフォント群で、具体的にはArialやTrebuchet MS、Verdana、Georgia、Times New Roman、Courier Newなど。あえてLucida GrandeやTahomaを使うというのなら違和感の少ない代替になりそうなフォントを指定しておいて挙げると良いかもねとかいう話。

Linksをサムネイル化した: Linksをサムネイル化してみた。各サムネイルはSimpleAPIのウェブサイトサムネイル作成API頼みなのでNOW PRINTINGばかりだったりするけど、それはそのうち解消されるはず。無駄にポップアップとかさせてみたり。

一時間あたりにブクマされた数をグラフに: 「これのおかげで体重は6キロ減り、念願の彼女が出来ました」という報告もある圧縮フォルダの解除ネタのエントリが1000を大きく上回るブックマーク数を獲得した。こんなことは二度と無いと思うので、記念に一時間あたりにブクマされた数をアスキーのグラフにしてみた。

prototype.jsの開発メモとGecko DOM ReferenceのHTMLヘルプ: 未だにちょくちょくみてしまうprototype.jsの簡単なリファレンスであるDeveloper Notes for prototype.jsの日本語版とThe Document Object Model in Mozillaで配布されているGecko DOM ReferenceのZIP version (古い奴)をHTMLヘルプにしてみた。HTMLヘルプはちょっと作ってみちゃったりすると、HDD上にあるありとあらゆるHTMLのドキュメントをHTMLヘルプにしたい欲求に駆られてしまう・・・のは僕だけですか、そうですか。

圧縮フォルダを使わないようにするとエクスプローラがキビキビ動く: Windows XPの圧縮フォルダというほとんどの人が使っていないと思われる機能(私見)を解除したら、エクスプローラがキビキビ動くようになった気がする。というようなことを某所で言ったら、試した人が「すげぇかるくなった kyo++」とかインクリメントしてくれたので、エントリにしておこうとか。

Perl 5.8.8 documentationのHTMLヘルプ: Perl 5.8.xのHTMLヘルプは、ActivePerlのActivePerl 5.8 documentationを元にしたものなどいくつかあるのだけど、ブラウザで愛用しているPerl 5.8.8 documentationを元にしたものは見つけられなかったので作ってみた。連続してHTMLヘルプのエントリ。

HTML 4.01とCSS2のHTMLヘルプ: HTML 4.01 SpecificationとCascading Style Sheets, level 2のHTML Helpを作ってみた。探せば幾つか見つけられるのだけど、キーワードがないというありがちなアレだったので。

FirefoxでもドロップダウンなBookmarksメニュー: Firefoxのメニュー項目の中ではBookmarksメニューばかりを使うという人は多いと思う。そうなると、SeaMonkeyのようにBookmark Toolbarの左端にドロップダウン式のBookmarksメニューがある方が良い(と思う)。というわけでFirefoxでも擬似的にそれを実現してみようとか。

pre要素へのスタイル指定: idea * ideaでエントリになっていたので、言及されていることだしうちのサイトのことだけちょっと書こうかなとか考えてみたら結構色々あって、エントリのネタになりそうだったのでまとめてみた。どっかにもちょろっと書いたけど。

PPM version 4はGUIアプリケーション: 久々にActivePerlを更新し(5.8.8 build 819)、コマンド プロンプトでppmとかしてみたらなんかウィンドウが出てきた。Release NoteによるとこのbuildからPPMがversion 4になり、GUIのものがデフォルトになった模様。最初の起動時にものすごく時間がかかったけど、その後はそこそこ。

Web Bugをフィードに埋め込む: ひとつ前のエントリで取り上げたように、エントリ内の画像を利用するとエントリの閲覧者数を大雑把に知ることが可能で、リファラを数え上げるなどをすればいろいろなサービス経由での閲覧者数を大雑把に把握することも可能。しかし、フィードの本当の購読者数にはそのまま応用することは出来ない。そこで古くからあるWeb Bug(あるいはWebビーコン)と呼ばれる手法を使ってやってみようとかそんな話。

Bloglinesとlivedoor Readerのアクティブ・ユーザー: Bloglinesとlivedoor Reader(を含め多くのWebベースのフィード・リーダー)は、あるフィードの購読者の数を知ることは可能だったりするが、実際にどれくらいのユーザーが閲覧しているかを直接知ることは出来ない。つまり、単純に購読者数を比較するだけではBloglinesとlivedoor Readerのどちらが人気があるのかはわからないということ。そこを何とか知りたいなとか。色々考えた上で、エントリに載せた画像に対するリファラを調べ、Bloglinesとlivedoor Readerに属するリファラを数えて比べれば、おおまかな比較は出来そうということがわかったので、ざっと調べてみることにした。

アサマシ・ブックマークレット: labs.hail2u.net/amazon/asamashi/用のBookmarkletを公開。もっと前にエントリにしようと思っていたけど、Amazon Web ServicesのXSLTサービスが不調続きでダメダメな感じだったので延び延びにしていた。しかし、ここ一週間ほどはそこそこ安定しているような感じなので、公開してみる。

よく使うライセンス・フリーのフォント: OSより高かったりする値段のフォントを気軽に使えるわけがないので、ライセンス・フリーのフォントは重要。Webページでロゴやら何やらで使う分にはまるで問題ないクオリティなものを見つけては保存、見つけては保存てな感じ。その中で好んでよく使うものを5つ挙げてみる。

CSS2 Specificationでのプロパティの出現順序: 少し前にCSSコーディング・スタイルというエントリで書いたように、各CSSルールのブロック内でプロパティを書く順序はCSS2 Specificationで出てくる順という縛りでCSSを書いている。大体のところはソラで覚えているのだけど、font-weightとfont-sizeはどっちが先だっけとかは忘れるので、備忘録がてら序列付きリストにしてみた。

ちょっとだけリデザイン @ 2006/08/29: 全面的に作り直そうというか色を変えようと思っていたのだけど、面倒になったので考えていたアイディアの一部を使って少しだけリニューアル。メニューのカラムを突き出る感じ(どんな感じだ)にし、それに合わせてフッターを少し弄った。HTMLは弄ってない。ポリシーではなく面倒だったから。妙に見えたらCtrl+F5で。

blosxomサイトの日本語訳: sucleさんのところからzogさんなる方のところへ移動していたblosxomサイトの日本語訳をall about blosxomのドメイン配下へ移動させてもらった。それだけ。zogさんのところ(routes.jp配下のもの)は消えるかもしれないので、リンクを張っている方はこちらに直すと良い気がする。

JavaScriptで配列をシャッフル: 配列をシャッフル、つまりランダムに要素の位置を入れ替えるというのを、sortメソッドを使ってやってみたのだけど、明らかにダメダメなものになってしまった。その後、あーでもないこーでもないと考えたのだけど、算数が得意すぎて頭が痛くなった。ということを某所でぼやいたらはてのくんがコードを見つけてくれた。どうやらFisher-Yatesという有名なアルゴリズムでやると良いらしい。

interpolate_fancyプラグインの使い方: 手軽にblosxomのflavourシステムを強化することが出来るようになるinterpolate_fancyプラグインについて今さら書いてみようかとか。本当に今さらすぎて笑えない。今さらとはいえ、blosxomのflavourシステムを強化するプラグインとしてはこれくらいしか選択肢はないので書いておいても損ではないはず。

blosxom plugin: ufyu: Markdownが微妙に誤作動したりとか、実はあまり書きやすくはない(読みやすいけど)とかいうことに気づいた一年半ほど前に、Wiki記法に近いけど空行をマークアップのトリガにする形のufyuというフォーマッタを作った。特に小難しいことはしていないので、出来ないことは出来ないし、出来ることは出来るみたいなアレですが、まぁそこそこ使い勝手は良い(自分の好みで作ったから)ので、このblogを書く時に使ってたりします(アップロードするときにHTMLに変換しちゃうけど)。名前の由来はかなり秘密。今考えるとかなりサムイ。

getComputedStyle()を利用した既読チェック: COLLECTION & COPYのそのリソースを訪問済みか判定するやHatebu Addictionなどで使われている既読チェック。これらとは違う、getComputedStyle()メソッドを利用して文字色を取得し訪問済みリンクの文字色かどうかをチェックという手法で既読チェックを実現している、Jeremiah Grossman: I know where you've beenというページを見つけた。FirefoxやSafariなどではこれで既読チェックが可能。

アスタリスクをプロパティ名の頭につけるというCSSハック: CSSの各セレクタのブロック内でInternet ExplorerとFirefoxやOperaなどで分けてプロパティを設定するハックとしてUnderscore Hackという有名なものがあるが、Details on our CSS changes for IE7によるとInternet Explorer 7では修正されている。だが、アンダースコアのかわりにアスタリスク(*)をプロパティ名の頭につけるというAsterisk Hack (勝手に命名)は健在だったりとか。

:first-letter擬似要素と各擬似クラス絡みのInternet Explorer 6のバグ: all about blosxomのサイトを作った時にハマった、:first-letter絡みのInternet Explorer 6のバグにまたハマった(学習していない)のでまとめておいてみる。そのバグは、display: block;としたa要素に対して:first-letter擬似要素・:hover擬似クラス・:hover擬似クラスなどを利用してスタイルの指定をした場合、:first-letter擬似要素によるスタイルの指定は有効であるが、各擬似クラスによるスタイルの指定が無効になるというもの。

SourceForge.netで開発されているblosxomはv2.0.2に: SourceForge.netで開発・公開されているblosxomは現在2.0.2になっています。一応、こちらも公式なもの。一応っていうのもヒドイ言い様だ。Raelさんから開発を引き継いだということになっているので、文句無く公式なもの・・・一応(アレ?)。まったく追いかけていなかったので、どんな感じか確認するついでに、all about blosxomの方へBlosxomAtSourceForgeというページを作っておいた。SourceForge.netで公開されているblosxomを使っている人は、気づいたことなんかがあったら書いてくれるとうれしい。

CSSコーディング・スタイル: 「こういうスタイルがCSSを記述する時に便利だよ! コンセンサス(つづりは知らない)も取れるし!」とかいう建設的な意見はまるでないんですが、CSSを書く時の自分ルールは結構あるのでまとめがてらエントリにする。もちろんhxxk.jpのCSS の記述ルール記事のまとめというエントリを見たから書く気になったんだけど。

検索向けAdSenseの検索結果がサイト内で表示できるように: Inside AdSenseの少し前のエントリ、Search no further than your own siteで検索向けAdSenseを利用した検索での検索結果を自サイト内に表示できるようになったとアナウンスが。「おっ?」と思ってとりあえず試してみたのだけど、想像していたのとは違ってかなりアレな感じ。

Amazon.co.jpの新しいアソシエイト・ツール: インスタントストア: Amazon.co.jpのアソシエイト・セントラルのトップ・ページに、なにやら「試してみよう! インスタントストア(TM) ベータ版が登場!」という煽りが。どうやら簡単にオススメ商品のページを作成できるみたい。ストアを作ってみましょうといううたい文句になってるけど、どっちかっつーとリストマニアがトップ・ページなAmazon.co.jpのコピーサイトの作成みたいな。

Pandoras Box: Pandora in your tasktray: 洋楽好きな人はほぼ間違いなくハマるPandora。聞く時はPandoraのページを開いたままにしておくのだけど、ちょっと邪魔かなと思うことは多い。Pandoras BoxはPandoraのインターフェイスを独自のウィンドウに取り込んで表示するWindows向けのアプリケーション。閉じるボタンを押すとタスクトレイに入ってくれるので、結構便利。

foobar2000からGoogle Talkに再生中の曲情報を送る: 先ほど正式にリリースされたGoogle Talkの1.0.0.96ではiTunesやWindows Media Playerなどで再生中の曲のアーティスト名と曲名がステータスに表示されるようになっている。当然のようにfoobar2000などには対応していない。対応待ちかなとか思っていたけど、手順的には面倒なものの比較的手軽に実現できるということがfoobar2000の公式Forumに掲載されていた。ボクニモオクレタヨ!

PandoraからLast.fmに曲情報を送信: 連続でLast.fm絡み。みんな大好きLast.fmだけど、あのラジオは正直アレ・・・という人は多いような気が。ラジオに関してはPandora Internet Radioを視聴している人も多いはず。少し前にそんな話をVoxに魂を売った人とGoogle Talkで話してて、僕が「Pandoraで視聴中の曲を送れたりしないかな」とか言ったら、彼が「あるよ、てかそんなこともしらねーのかよwwwうはwwwwおkwwww」(発言の奥に隠れている本音を再現してみました)とか言って、LastFM Firefox Extentionを教えてくれた。

Last.fm Cover Art: 自分のマシンで聞いている曲を記録してくれるLast.fm。その記録からアルバムのジャケット画像を取得し、任意のサイトの一枚絵にしてくれる、Last.fm Cover Artというサービスを見つけた。ジャケット画像を眺めるのが大好きな人にはたまらない。

Yahoo! UI LibraryのFonts CSS: OSのみならずブラウザにも左右されるWebにおけるフォント。多くの場合はHelvetica(WindowsではArialになる)やVerdanaなどの一般的なフォントを指定し、多少サイズをいじる程度のアプローチか、まったく無指定でユーザーに任せるといったアプローチであることと思う。徹底的に調節するとなるとものすごくツライから。Yahoo! UI Libraryで提供されているFonts CSSはそのフォント調節の手助けをしてくれるCSSファイル。

interpolate-fancy.js: JavaScriptのごく簡単なテンプレート・システム: blosxomのプラグインにinterpolate_fancyというものがある。このプラグインは、あまり強力ではないblosxomのテンプレート・システムを強化するもので、ベーシックなif/unless系の分岐が可能になる(他にインストールしているプラグインのサブルーチンを呼べたりもする)。あまりややこしくない正規表現による置換で実装されている。というわけで、簡単なテンプレートシステムとして使うためにJavaScriptに移植してみた。

Creative Labs I-TRIGUE 2200: スピーカー。BOSEの安い奴がぶっ壊れたので、そこそこの値段のものを探していた。ヘッドフォンジャックが前面にあり黒なら良いかとかそんな感じ。で、選択したのがCreative LabsのI-TRIGUE 2200。コンパクトですっきりとしたデザイン。音も値段の割には良い感じ。Creative Labsの音響機器ははじめて買ったけど、好印象。

Pure JavaScriptなサイト内検索アプリケーション: ここのところいろいろやっていた、動的にscript要素を追加してクロス・ドメインのJavaSriptファイルを読み込むという手法を使ったYahoo!によるサイト内検索アプリケーション、labs.hail2u.net/yahoo/を作った。Amazon Web Servicesと違い、Yahoo! Search Web ServicesではJSONを出力する機能及びコールバック関数名を指定できる機能(JSONP)を備えているので、HTMLファイル単体で機能するようにすることができた。

購読者の内訳: FirefoxのLive BookmarksやSageはユーザー数にほとんど変化無し。スタンド・アローンのフィード・リーダーは軒並み購読者数は激減している。そこそこユーザーが残っているのはRSSバーくらいで、ブラウザでという人ばかりになったということになりそう。ソーシャル・ブックマーク・サービスとの連携やページをサクサク開けるという点で明らかにブラウザで読めるほうが良いものね。

JavaScriptファイルに引数を渡す: 前回のエントリで触れたscript要素のsrc属性に指定したJavaScriptファイルに引数を渡す方法。ネタ元はscript.aculo.usで、script.aculo.usでは読み込むライブラリを指定するために使っている模様。引数が指定できるというのは夢が拡がる(った)。

簡単な記述でアサマシ: アサマシするにははてなダイアリーのisbn/asin記法が最強。比較的環境を選ばずに、ああいったソラでも打てるフォーマットでアサマシできれば良さそうだなというわけで作ってみた。面倒かなとか思ったけど、助言が多かったので結構簡単だった。

JSONP: 前回のエントリで触れたJSONP。初出はRemote JSON - JSONPというMochiKitの中の人によるエントリ(多分。一言で言うなら「JSONデータを括弧でくくった上でこっちが指定した文字列を頭につけて返してね?」というもの。文章で説明するとわけわからん。

JSONScriptRequest: 動的にscript要素を追加してやることによってクロス・ドメインのJavaScriptファイルを読み込むというテクニック。Firefoxの場合は動的に追加するscript要素のonload属性で読み込んだJavaScriptファイルを処理するfunctionを指定してやれば問題ない。しかし、これをクロス・ブラウザで実現するには違ったアプローチが必要になる。そのひとつがJSON and the Dynamic Script Tag: Easy, XML-less Web Services for JavaScriptで取り上げられているJSONScriptRequest。XmlHttpRequestと比較するとかなり機能が限定されたものだけど、扱いが手軽で限定された環境ではなかなか威力を発揮するっぽい。

labs.hail2u.net - amazon - asamashi: アサマシ。BookmarkletでのアサマシHTMLコード作成も悪くは無いのですが、まったくフォーマットが違うアサマシHTMLコードを作成するようにするにはほとんど一から作り直しになって大変。というわけで、テンプレートをどっかのサーバーに置いておき、それを読み込んでアサマシHTMLコードを作成できるlabs.hail2u.net/amazon/asamashi/を作った。アサマシ。

CSSファイルを保存すると同時にブラウザをリロード: 自動リロードで開発をアジャイルにするたったひとつの方法!や萌ディタで保存と同時にSafariをリロードするデモと似たようなものをWSH with JScriptと秀丸マクロで泥臭く実現してみようとかいう話。やろうと思えばいろんな環境で実現できそうてなもんだ。

僕ので再生する: NVIDIAのグラフィックカードのドライバをふくめいろいろなものをインストールしてくれるForceWare。あれを導入していると、動画ファイル(.aviや.mpgなど)を右クリックした時に「僕ので再生する」とかいう謎なメニュー項目が出てくる。見ない振りをしていたのだけどなんとなく気になったので消そうとしてみる試み。

labs.hail2u.net - amazon #2: labs.hail2u.net/amazon/tree/の機能をlabs.hail2u.net/amazon/にくっつけてみた。普通に検索した結果から関連商品を辿ることが出来るようになったということ。もちろんページ遷移無しで。文字ばっかにしてしまったのでかなり見づらい。

labs.hail2u.net - amazon - tree: labs.hail2u.net/amazon/tree/は、ASINコードを送信すると似たような商品をリスト。そのリストに付いてるちっさな矢印画像をクリックすると、更に似たような商品をリスト。これを延々と繰り返すことができ、ツリー状に展開できるとかいうもの。当該ページの下の方に書いてある通り、Amazon Web ServicesのXSLT for RESTを利用してレスポンスのXMLをJSONに整形し、それをJavaScriptでHTMLとして出力しているので、どんなサイトにも設置できる。設置してどうする。

禁煙: 禁煙して一年。特に健康になったとも感じない。禁煙して肌に感じた効果は財布に優しいことくらい。

Soul Asylum / The Silver Lining: いまやもう過去のバンドになった感の強いSoul Asylumのニューアルバム、The Silver Lining。あんまり買う気はなったのだけど、ジャケットがそこそこカッコイイので買ってみた。ていうか何気に8年ぶり?

Online XSLT 2.0 Service: Online XSLT 2.0 ServiceはW3Cが提供するXSLTってくれるサービス。Amazon Web ServicesのXSLT機能の汎用版といった感じ。これをJavaScriptで叩けば、XMLHttpRequestとか使わずにいろいろゴニョゴニョできそう、というかできるとかなんとか。

JScriptでGmailの未読メール数を取得: タスクトレイに鎮座しているGoogle Talkのアイコンにカーソルを合わせてGmailの未読数を確認するのが面倒になったので、テキトウにでっち上げてみようと試みる。GmailのAtomフィードにはfullcountとかいう要素があったりしたので簡単っぽい。

VBScriptでMSN Messengerの表示アイコンを変更する: 簡単なアプリケーションやなんかでMSN Messengerの表示アイコンをサクサク変更できたら楽しーなーとか思って、いろいろ漁ったところ、チラホラ「出来る!」とか「こんな感じ!」とかいうページを見かけたのでゴニョゴニョしてみた。VBScriptでやったら3行とか言う。

livedoor Reader: Bloglinesなんてもう使ってる奴いないとか言われたので、livedoor Readerに乗り換えてみる試み。livedoor IDとか持ってない。登録して、BloglinesからexportしたOPMLファイルを読み込み、ヘルプとか見ながら使ってみる。もうBloglinesに戻ることはなさそうだ。

foobar2000 0.9.2: いつのまにやらfoobar2000が0.9.2とかになってたので、とりあえず入れてみた。設定はそれほど面倒でもない。0.8.xとくらべて「お! これすげぇぇぇ!」という点はあんまり無い・・・ようなね? とてつもなく整理されてる感じはする。デフォルトで同梱されているcomponentにおいては「おっ!」くらいの良いところがちらほら。ReplyGain scannerがScan後に結果を一覧表示して適用するかどうか選択できるようになってたり(面倒だという説もある)とか、Masstaggerのscriptがcontext menuから直接動かせるようになってたり(そんなに使わねえょ)とか。微妙!

Pearl Jam / Pearl Jam: Pearl Jamのバンド名をタイトルに持ってきた新譜。もう2か月以上前の話ですが。Rearviewmirrorとか結構満腹度の高いモノが間に挟まってたので、あんまり久々という気はしないですが、4年ぶりっぽい。ジャケット画像はピータン?

セクション・ターゲット: Google AdSenseでは広告を最適化するためにセクション・ターゲットという機能が提供されています。このセクション・ターゲットは、コンテンツ部分(またはコンテンツ以外の部分)を明示することが可能なので、いろいろな再利用法が考えられそうかなとかいう感じ(セクション・ターゲットそのものについてはSEO関連のサイトでピックアップされているだろうと思うので触れません)。

CSSクックブック: 発売されてから既に半年以上が過ぎているCSSクックブックをようやく真面目に読み通しました。出た当初に購入したのですが、ざっと目を通そうかなと思ったところでデスマとかだった関係で本棚の隅で干からびていましたよ。

push_if_first plugin: 2か月ほど前にでっち上げた、最初のエントリにだけデータを追加できるようにするpush_if_firstというプラグインをblosxom pluginsで公開しておきました。「最初のエントリだけにGoogle AdSenseが表示されていますが、どうやってるんですか?」というメールでの質問への返事がてら。

FirefoxのuserContent.cssネタ #2: 今回はurl-prefix()を使った奴とか書いてみたり。いろいろやってたらuserContent.cssが2000行超えたりしましたが、特にページの表示が遅くなるとかいう感じは無いので、いくらでもCSSルールを書いて良さそう。限界はあるでしょうがね。

SubscriptionIdからAWSAccessKeyIdに: Amazon E-Commerce Serviceの2005-10-05版より、SubscriptionIdパラメータではなくAWSAccessKeyIdパラメータというのが推奨になったようです。これまで通りSubscriptionIdパラメータも利用できるようですが、新たにAmazon Web Servicesに登録するユーザーにはAccess Key IDしか発行されないので、AWSAccessKeyIdパラメータを使ってコーディングするようにした方が良さそう。非公開なアプリケーションなら関係ないですけど。

Bloglinesにホットキーが導入: Bloglinesにホットキーがつきました。Newsにはまだ出てないですが、jとsだけで全ての未読を順に見ていける感じ。微妙・・・な感じもしますが、それなりに便利でもあるような(どっちだよ)。「ギザスゴス!」とか言う感じではないことは確か!

labs.hail2u.net - amazon: labs.hail2u.net/amazon/にページング機能を付けてみた。ハッシュにどういう形で保存して、どういう正規表現で切り出すかちょっと迷った上に手間取ったりしましたが、/^#(\w+):(.+?):?([1-9]\d*)?$/で落ち着きました。もうちょっと厳密にチェックした方が良さそうではある。

大きな画像でレイアウトがあばばばばば: 大きな画像を利用するとレイアウトや見た目がメチャクチャになる場合があります。このサイトのように本文のカラム(つまり様々な画像を利用するカラム)が左でメニューのカラムが右にあるような場合や要素の内容物によりその要素のボックス幅が修正されてしまうというバグのあるInternet Explorerでは顕著です。幅固定なレイアウトの場合は、本文のカラムの幅は確実に把握できるので、それに合わせて画像をリサイズした上で利用すれば良いわけですが、幅可変なレイアウトの場合は、当然本文のカラムの幅が不定なのでそういうわけにはいきません。こういったケースにはoverflowの値にhiddenやscrollを指定することでレイアウトや見た目の崩れを回避することが可能です。

labs.hail2u.net: Pure JavaScript Wiki Like FormatterとSIXTY-SIXとかいう名前で公開していた奴をちょっとキレイにして、labs.hail2u.net配下のpjswlf/とamazon/へ移動させてみた。移動させただけ。labs.hail2u.netは実験中の何かをまとめておくためにサブドメインを切ってみた。feedburner/とかもあったり。

FirefoxのuserContent.cssネタ: Firefox 1.5 Beta 1よりURLやドメインなどでCSSルールを切り分けることが可能になりました。これによりuserContent.cssがとてもいじりやすくなった(あるサイト向けにテキトウに書いても他のサイトに誤爆しなくなった)ので、userChrome.cssと同じくガリガリいじると楽しいようなそうでもないような感じです。

ITmediaがフィード配信を開始: ITmediaがほぼ全てのコーナーでフィードの配信を始めたようなので、勝手に作っていたフィードを削除しました。RSS 0.91とRSS 1.0、RSS 2.0が用意されているとかいう無駄に豪華な感じですね。一応、RSS 1.0のフィードへリダイレクトさせておいたつもり。

ShortPopUp: ShortPopUpは作成したショートカットの作業フォルダに指定されたフォルダからスタート メニューのようなメニューを作ることが出来るソフトウェアです。スタート メニューのようなプログラム・ランチャーとして使うのが本道ですが(多分)、メニュー上で右クリックとかも普通に出来るので、簡単なファイラーとしても使えたりとか。

魔人探偵脳噛ネウロ: 上手いんだか下手なんだかわからない微妙な絵の魔人探偵脳噛ネウロの第一巻と第二巻をいまさらまとめて買ったりした。ヘタウマって感じではないので、多分下手なんだろうとおもうのだけど、好きなのでどうでも良い。推理モノなんだけど、実は推理ネタはどうでも良くて、台詞で楽しめる感じ? そういう意味ではジョジョの後継な気がする。

paging plugin更新 #8: pagingにより生成された各ページは、当然ですが、コロコロ内容が変わります。つまり内容の保証がないので、検索エンジンにインデックスして貰いたくないページであるとも言えます(多くの人には)。というわけで2ページ目以降、つまりpage=2とかパラメータが付く場合はmeta要素でロボット除外を指示するようにとかいう機能を追加してみました。

エントリの日付と時刻をW3CDTFで: blosxomのflavourでエントリの日時は$yrや$tiなどの組み合わせで表現します。エクスプローラなどでよくある形の日付形式(yyyy/MM/dd HH:mm:ssとか)に沿った形で表現しようとすることは簡単(というかそのまんま)なわけですが、W3CDTFに沿った形で表現しようとなると年月日と時刻を区切る文字(T)の出力のためにプラグインを書かないと・・・という感じでした(現にatomfeedではプラグイン側での実装になってます)。が、(X)HTMLやXMLのflavourならば文字参照を利用すれば良い話なんじゃないかとか。

Windowsのコマンド ライン リファレンス: たまにしか書かないのですぐに忘れてしまうWindowsのバッチ ファイルの書き方やコマンド ライン ツールの使い方。Windows XPではヘルプとサポートから「コマンド ライン」とかで検索すれば詳しいリファレンスを参照できます。この詳しいリファレンスは、ntcmds.chmというファイル名のHTML ヘルプ ファイルが実体なので、バッチ ファイルを書くのに使うエディタとかで登録しておくと便利かも。

Feed History: Feed Historyはフィードの過去ログを機械的に辿ることを可能にするドラフト段階の仕様です。つまり、最近10件のフィードとかだけではなく、1か月前のフィードや一年前のフィードなども取得できるというわけ。多くのフィード購読者にはあまり意味が無さそうな仕様ですが、フィード・アグリゲーター・サービス(Google Blog SearchやBloglines、Feedsterなど)はインデックスの強化を機械的に行えることにつながるので、こういった類の仕様は大歓迎なのではないかとか。

SIXTY-SIXとかいうの #2: Amazon E-Commerce Service 4.0は「"」や「'」をそのまま返してくれる(XML的にはまぁOKなんだけど)ので、場合によってはそれらを適切に扱ってやらないとまずかったりします。PerlなりRubyなりでやる場合は大して面倒でもなんでもないのですが、XSLTでどうにかしようとするとなかなか厄介。厄介なのでSIXTY-SIXではこの仕様に由来するバグを放置していたわけですが、どうにかできそうだということを理解したので、ItemSearchをJSONで整形するXSLスタイルシートを修正してみました。

詳細なテキスト サービスをオフにする: PCの買い替えと共にWindows XPになってからけっこう経ちました。最近は弱めのClearTypeとかなかなか良いかもとか思いはじめてたりとか。ただ、ウィンドウを切り替える時とかフォルダを新しいウィンドウで開く時とかにつっかかる感じがたまに起こったりするのがなんだかなーとか思ってたら、どうやらctfmon.exeってーのが常駐していることに原因があることが多いらしいですよ。

Open ckw Window Here: ckwという半透明に出来るコマンド プロンプト代替アプリケーションがあるのですが、引数にフォルダのパスを渡しても作業フォルダを変更してくれないので、PowerToysのOpen Command Window Hereみたいにフォルダの右クリックメニューから起動とかはできなそーかなーという感じだったんですが、無理やりな方法でできたりしたのでメモがてら。

IEDevToolbar: MicrosoftからIEDevToolbarとかいう「Web開発に欠かせない!」とか「Web 2.0時代のマストアイテム」とか言ってもらいたそうなInternet Explorer用ツールバーのBetaが出ました。「Web Developerのパク・・・」とか言うとこの世から抹殺されそうなので言いません。

FirefoxのuserChrome.cssネタ #10: Firefox 1.5 Beta 1は全般的に良い感じですが、微妙なバグとかあってまれにイライラ。シングルウィンドウ・モードで複数のウィンドウが何かの拍子に立ち上がったりすると、あとから立ち上げたブラウザが操作しづらい感じになったりとか。Minimize to Trayのせいだったりして。

Pure JavaScript Wiki Like Formatter #7: たつ○大好きっ子がRESTWikiでPure JavaScript Wiki Like Formatterを利用してくれたおかげで、いくつか問題点が見つかったりしたのでちょっと手を入れたりとかしてます。持つべきものはフィードバックしてくれる人。

permalinkのスタイルを変えた: どうやら、Googleではアンダースコアよりもハイフンの方が単語をつなげる文字に適しているそうなので、少し前からハイフンで単語をつなげた形のpermalinkというかファイル名にしてたりします。

Firefox Extension更新: 公開しているExtensionをFirefox 1.5 Beta 1に対応させました。maxversionを1.4に変えただけですけど。Mozilla Updateにも反映されたようです。

FirefoxのuserChrome.cssネタ #9: Firefox 1.5 Beta 1が出たので、自作のFirefox Extensionsを更新するという理由もあり入れてみました。特にこれといって不具合はない感じ。プロファイルもそのままで引き継げました。ですが、マイナーチェンジしたデフォルトのテーマは微妙に気に入らないので、久々にuserChrome.cssネタを。

all about blosxomのpermalink: 各ページのpermalinkがQUERY_STRINGでページ名を指定といった形のURL(http://blosxom.info/?PageName)だと、Googleがうまく拾ってくれない感じだったりいろいろで、Cool URI(邦訳)っぽくしてみました。mod_rewriteでですけどね。EditとかDiffとかのページもCool URIっぽくしようかと思ったんですが、逆に拾ってもらえない方が良い気がするので長ったらしいQUERY_STRINGでのURLのままだったりとか。

ニュー・エアコン: 10年ものくらいだったエアコンが新しいものに変わりました。本体やリモコンの形状からすると、霧ケ峰の2004年モデルのMSZ-WR22P-Wって奴っぽい。なんでどんなエアコンか知らないかといえば、タダで新しいものに取り替えてもらえたからとかいう。綾瀬・大和・海老名・座間・相模原限定ネタ!?

Google Talkから任意のブラウザを起動: Google Talkは「これ凄い! 最強! うわくぁっわくぁwせdrftgyふじこ。」という訳ではないですが、MSN MessengerやAOL Instant Messangerなんかのコッテリギトギト具合を鑑みると、「これくらいで良いよな」みたいなさりげない良さがありますね。一昨日、Gmailに本格的に移行したこともあって、Gmailの通知としても使えるGoogle Talkをメインにしようかなとか。とりあえずなぜかInternet Explorerが立ち上がってしまうアレに悩まされたのでまとめ。

ぶろっさむねいる復活: blosxomerのサイトのURLはUserListでゲットできるので、サムネイル化とかやってみましたよ。どれもこれもオリジナリティがあってblosxomへの愛が溢れている感じ(多分)。ぶろっさむねいる! ぶろっさむねいる!

all about blosxom: PluginList: blosxomerが殺伐とした心で馴れ合うサイト、all about blosxomのおそらく最も重要なページになるであろうと思われるPluginListを拡充させるための呼びかけエントリ。ページを作ってリストに登録・・・というのはかなり大変なので、とりあえずリストとして載せるだけとかも出来るようにページを編集しておきました。

Browsershots: 以前に、iCaptureとlixlpixel Safari Screenshot GeneratorというSafariでWebページのスクリーンショットを撮ってくれるサービスを紹介しましたが、browsershotsではSafariを始めOperaやInternet ExplorerやKonqueror、Epiphany、Firefox、Mozilla、Galeonなんかでもスクリーンショットが! それなりの期間安定稼動しているようですし、この系統のサービスでは一番の有望株かも。

all about blosxomのデザイン: 「Wikiと言えばPukiWiki!」みたいな世間(日本限定)ですが、all about blosxomはYukiWikiです。誰かさんに「どうしてblosxomで作らなかったの?」とか聞かれましたが、まぁそれはそれ。単にWikiっぽくするためのプラグインを書くのが面倒だったとかいう話です。とか言いつつ、YukiWikiのHTML変換ルーチンを8割方書き換えてたりとか。そういう話はまたの機会に譲るとして、デザインの話をしてみようとか何とか。

pserv.cpl v2.6: 以前にも紹介したpserv.cplですが、今年の1月から4月にかけて3回バージョンアップしてたりしたことに、つい5日ほど前に気づいたりとか。イベント ビューワとかいろいろと機能が追加されていて、あら便利。

blosxom-plugin-helper: なんとなく気が向いたりしたというか、all about blosxomのネタ用にblosxomのプラグイン作成のためのヘルパー・スクリプトとか書いてみました。スケルトン作るだけだけど。

Color Control: ちょっとした手違いでWindows XPの快適な配色が消えてしまうというハメに陥ったことはありませんか(問題を提起することによって注意を引くメソッド)? 僕はあります。ていうか昨日。コントロールパネルの画面のデザインとかからシコシコ指定しても良いんですけど、反映するのが遅かったり(10数秒かかるような)、そもそも指定できないもの(3D Shadowとか3D Hilightとか)があったりしてアレレです。そこでColor Controlです。

all about blosxom #3: blosxomユーザーのためのメーリング・リストであるall about blosxomの親サイトとして、blosxomについての雑多な情報を纏め上げるつもりのWiki、all bout blosxomを立ち上げてみたりしました。infoドメインカコイイ!

paginate_simple plugin更新 #2: 使うのをやめてしまって絶賛放置プレイ中のpaginate_simpleにtypoがあったので修正しました。BBSでバグの報告をしてくれたMatsuYanさん、どうもありがとうございました。

SIXTY-SIXとかいうの: Amazon E-Commerce Service 4.0のXSLTサービスを利用してJSONに整形するというひとつ前のエントリでのアイディアを利用した和書ストアのAmazon.co.jpを検索をするSIXTY-SIXってものを作ってみました。作ってみただけ・・・ですが、一応あまりメジャーでない感じのJavaScriptテクニックも使ったりしたのでそれの紹介も兼ねてエントリってみた。

Amazon ECS 4.0のXMLからフィードやJSONに: Amazon Web ServicesのE-Commerce Service 4.0ではクエリにStyleというパラメータでXSLTスタイルシートのURLを指定することによって返ってくる結果のXMLを整形することが可能です。前からありますけど。久々にAmazon熱が出たので、RSS 2.0とJSONに整形するXSLTスタイルシートを書いてみました。

oddoreven plugin: 久々。oddorevenというプラグインを作りました。これはそのエントリがページ内で奇数番目か偶数番目を知ることが出来るプラグインです。つまり、エントリのCSSルールを交互に変えるとかいうことが出来たりします。それ以外になんか使い道があるかどうかは知らないです。

A List Apart 4.0: 全Articleを読了していないWebデザイナはモグリとも言われるA List Apartが、およそ3か月の沈黙を破りリニューアルされました。デザインはクラシカルな色使い。最近、この系統の白ベースに薄いブラウンという組み合わせが流行っている気がする。うちは薄いブラウンベースにグレーという組み合わせ(だからどうした)。

JSON Feedとか何とか: 僕をADT呼ばわりする二人の片割れの方がJSON Feedネタをぶちあげたので、「先に書かれた!」とか思いつつ対抗して書いてみる。ADTなので! てなわけでblosxomのflavourで作ってみました(今後ちゃんと更新されるかどうかは未定です)。このJSON Feedのサンプルは、アーカイブにまとめたflavourのみで生成しています。使い方とかは2nd lifeの当該エントリに書いてあるので、省略。

del.icio.us sidebar: 先日、提供が開始されたde.icio.usのJSONフィードを利用して、Firefoxのサイドバーを作ってみました。現状ではダラーっとただ表示するだけ説。本当はもうちょっと作りたかったんだけど「Pandoraすげぇぇぇぇぇぇ」とか「JSONによるフィードをIETFに!!!!!」とかでほとんど何もやってないものな罠。もしAjaxとRSSの流行る順番が逆だったら、JSONによるフィードがデファクト・スタンダードという時代だったかも!? いや知りませんが。

Pandoraが結構楽しい件: 「Last.FMキラーだ! こいつは最高!」みたいな英語のblogのエントリを読んだ(気がするだけで夢かも)ので、Pandraという音楽発見サービスに登録してみました。アーティスト名や曲名をキーにしてラジオ・ステーションを作成すると、キーにしたものと系統が近いものが永遠に流れ続けます。CM無し!

匿名でははてなポイントを送ることができない(かも): はてなポイント送信機能に対応した結果、このblogのエントリで何回かポイントを貰えてたりするのですが、そのうちいくつかは「匿名」とメールで通知されていました。それはまぁ別にどうでも良いんですが、実はその送ってきた人のはてなIDがMyはてなのポイント支払・受取履歴ではわかっちゃうとかいう。少なくとも僕には匿名で送った人らしきIDが見えます。

ジャケット画像のポップアップ #4: まだやってんのかという感じですが、まだやってます。今回は、段落の左肩にfloatさせた小さめの画像を配置するという、いわゆるアサマシ・エントリでありがちな形をまず想定し、その画像にマウスをあわせたら「ポップアップ!」というもの。全身全霊で「クリックしてくれ!」感を演出するメソッドです。

ジャケット画像のポップアップ #3: およそ9か月前とついこの間に書いたジャケット画像のポップアップをInternet Explorerに対応させてみました。対応させたといってもHTMLコードを書き直さなきゃならないので、CSSハックというわけではありません。Internet Explorerに対応させるための鍵になったのはoverflowプロパティとvisibilityプロパティでした。

はてなブックマークの関連URLを指定(出来たら良いな): みんな大好きなはてなブックマークには、関連URLという機能があります。が、現状では気が向いた人が人力で入力するという感じみたいです。これをブックマークされる側で指定できたら幸せなんじゃないかなとか。そうなれば、ある英語のサービスについての紹介とかいうエントリを書いた時にはそのサービスのURLとか、ある英語のページの翻訳を書いた場合は元のページのURLとかをブックマークのページに表示でき、ブックマークを漁って行動する人にはちょっと便利だったりしそうとか。ある本の感想を書いた時にアサマシURLを仕込んだりとかも出来そう(むしろこれがメイン)!

dodgeit: dodgeitはメール・アドレス発行サービスです。と言うとそこらに良くあるものなわけですが、このサービスの優れたところはメールとしての機能を大幅に制限することによって、ユーザー登録の必要が無いところでしょう。

購読者数の推移: FeedBurner経由でフィードを配信していると、FeedBurnerのAwareness APIを使ってフィードのユニークなリクエスト数(circulation)を知ることが出来ます。このユニークなリクエスト数は、ほぼ購読者数と一致します。このデータをはてなグラフを使ってグラフにしてみました。

ジャケット画像のポップアップ #2: 昔書いたジャケット画像のポップアップは、今も愛用していたりするわけですが、デカイ画像をブラウザに拡大・縮小してもらってたりするので微妙に汚かったりとかします。:hover擬似クラスを適用する要素を工夫すると、小さい画像と大きい画像を切り替えてポップアップさせることが出来たりしました。

あるフォルダをフォルダ・ツリーのルートとしてエクスプローラを起動: 多くの人が知らぬ間に利用しているエクスプローラ、これが無くてはWindowsは使えない(当たり前)エクスプローラですが、ツリー付きでフォルダを開く/eというオプションと共に/rootというオプションつきで起動すると、引数に与えたフォルダのパスをツリーのルートにしてくれます。

BPT #4: プラグインの相性: blosxomのプラグイン同士には相性というものがあります。これはblosxomの仕様上の制限に基づくものですが、プラグイン側で対応することは可能です。なんですが、blosxomユーザーの多くは(僕を含め)ライトなユーザーが多く、あまり自分の環境以外での挙動を詰めるということはやりません(やれよ)。ので、しばしばプラグインがバッティングしてしまうと言うことは良くあります。

RSS Ping: 以前、weblogUpdates.pingは「更新した!」ということしかわからないので、これを元に最新記事を拾おうとかすると面倒極まりないとかいう話をmiyagawaさんがしていたわけですが、海の向こうではRSS Pingというメタ・データ付きで更新通知を送る規格が考えられているようです。

Sam Cassellサヨウナラ: 昨シーズンは怪我とフロントとの確執などで思うように実力を発揮できず、Wolvesがプレーオフ出場を逃した戦犯扱いされたSam Cassellがトレードされました。キュートな離れ目をもう見れないかと思うと悲しいですね(心を込めて)。

誰かから誰かにはてなポイントを送る: blogではどこかしらのサイトの文章を元にしたエントリが公開されることはよくあります。仮にそのblogではてなブックマークではてなポイントを贈る機能に対応している場合、そのエントリの著者(ぶっちゃけ自分)に向けてはてなポイントが贈られるわけですが、それを元のエントリを書いた人に贈られるようにしてやったら面白そうとか何とか。つまりアルファ・ギークに金を収束させるという仕組み(えぇ)。

Pingoat: Pingoatは複数のblog更新通知サービスに更新通知を送信できるサービス(有名なのはPing-o-Matic!)のひとつです。見ればわかりますが、Bulkfeedsやping.bloggers.jp、1470.netなど日本の有名なサービスにも対応していたりするので、僕ら日本人にも使えるサービス。

blosxomではてなポイントゲッター: blosxomではてなブックマークではてなポイントを贈るに対応するにはflavourに記述するのが一番手っ取り早いです。

The Starting Line / Based On A True Story: パンクっぽい音を期待して買ったThe Starting Lineの新譜、Based On A True Storyですが、実際にはエモエモ。そういう意味では期待はずれではありましたが、これはこれとしてなかなか。元々パンクといってもかなりメロディアスではあったので、エモエモでもまぁ良いかなという感じ。

フィード向け広告: フィードに広告を! という試みはblogによってフィードがクローズ・アップされた当初から試行錯誤されていました。その走りはMoreover Technologiesが以前(今はもう個人向けにはやってないかも)提供していたニュース記事のフィード配信などでしょうか。Moreover Technologiesは広告専用のitem要素を設けるというアプローチでしたが、最近は記事そのものに横長バナー広告もしくは一行テキスト広告を追加するというアプローチのものが多いようです。

VistaのRSSサポート: Windows VistaでRSSのサポートを進めているチームのblogによると、IE 7でのRSSサポートは、RSS Auto-discoveryへの対応やフィードを直接ブラウザで開いたときに読みやすい形になっているなど、Safariのそれに近いものになっている模様です。今後はblogで書きつつ、Publisher向けのガイドのページに蓄積されていくようです。

WinUpdatesList: Windows Updateで仕入れたHotfixの内容をリストアップしてくれるツール。実際に何に使えるかはかなり謎。ですが、Updateした後に何がしかのトラブルがあった場合、そのトラブル・シューティングに使えそう。と言うかそれ以外に使い道は無さげ。

IE7のSDKドキュメント: MSDNをたらたらと見ていたところInternet Explorer 7のSDKドキュメントのページが出来ていました。今のところは予定は未定みたいなあれですが、Beta 1も一部に配布されている(既にstandaloneで導入できるようにしたアーカイブとかも見かけました)ようですし、今さらながら「本当に作っているんだなぁ」と言う感じ。

RSS Tutorial for Content Publishers and Webmasters: このチュートリアルはRSSと呼ばれるウェブ上で利用されるフォーマットの特徴や利点を解説し、更にその技術的な概要も手短に説明します。また、RSSと同じようなフォーマットであるAtomについての情報も含まれます。読者はXMLやその他ウェブ上で利用される技術について良く知っていることと仮定します。このチュートリアルは徹底的なものではないので、より多くの情報については更なる情報セクションを参照してください.

Interlude: さて、なんとなく書かなかったらまるで書かなくなったわけですが。「最低、3日に1回はエントリを書かなくちゃブロガー失格じゃねぇ?」とか心の中で考えていた頃が懐かしいです。ひたすらWorld of Warcraft漬けだったという噂もありますが、それはそれ。Wireless IntelliMouse Explorer 2.0がぶっ壊れたり(かんしゃく起こして投げた)とかそんなこともありましたが、たいしたことはない。何人かにMusical Batonを渡されました(すげー前)が、渡す人を考えるのが面倒なので骨折で競争中止ということで。予後不良です。

悪魔は夢を見ない: およそ一年半ぶりのザンス新刊「ナーダ王女の憂鬱」が1か月ほど前に出ていました。相変わらず邦題は独自な感じ。原題はDemon's Don't Dream (多分、作品内で登場するゲームが3Dのゲームであることとかけているっぽい)なので、ちょっとアレすぎ。むやみに王道ファンタジー的な題名なのもいただけない。ストーリー自体は前作に比べてダジャレ多め、シリアス少なめというザンス・シリーズの王道系。

打姫オバカミーコ: ノーマーク爆碑党で僕の中では神クラスに位置づけられることになった片山まさゆきが近代麻雀(1日と15日に発売の奴)現在連載中の打姫オバカミーコで「ブログ」とかがフィーチャーされてて。いやフィーチャーていうほどではなかったですが。打姫オバカミーコはかなり好きなので、その紹介がてら。

t3h Blox0r: XUL Applicationなフィード・リーダー、t3h Blox0rというものを見つけました。XUL Applicationなフィード・リーダーはいくつかありますが、それらローカルにインストールするものとは違い、XULを利用したリッチなWebアプリケーションといったもの。

Hellgate: London: E3 2005ではXbox 360やPlayStation 3、Revolution (仮称)などの次世代(と3年ごとに言ってる)ハードに注目が集まっていますが、そこはそれ(正直、もうどうでもいい)。ソフトの方ではカクカクしてないLara CroftのTomb Raiderの新作やVaporwareとして有名だったThe Godfatherなどいくつか注目作がある中、ガン系FPSファンとハック・アンド・スラッシュ系ARPGのファンというあまり嗜好がかぶらないはずの両者から期待されている(と思う)Hellgate: Londonは要チェック。

BloglinesでBasic認証のフィードを読むのは止めましょう、というかここのエントリを見てあまり考えずに読んでたりする人がいたりしたらアレレな感じなので、「禁止という方向でどうよ?」というようなエントリを書いておこうと思った: 以前書いたBloglinesとBasic認証というエントリで触れたBasic認証のかかったフィードをURLにユーザー名とパスワードを追加することによってBloglinesで購読する試みの危険性とか何とか。最近、パスワードがバレバレな様子が画像で公開されてたりとかしてたのを見つけたので、危ないよと改めて書いておこうかなと。

One Tree Hill: アメリカのTVドラマ、One Tree Hillのサントラです。当初はMichelle Branchの参加するバンド、The Wreckersの曲(#4)のためだけに買おうとしたわけですが、他のメンツもJimmy Eat Worldや22-20s、Story of the Yearと一般的には微妙な、私的には素敵な豪華さでかなりツボ。

Simple Single Sign-on: Microsoftの.Net Passportを初めとして、いわゆるシングル・サインオンという分野で大成功を収めたものはあまり聞かない(僕が知らないだけ説)わけですが、手軽にシングル・サインオン的なことを実現できるシステムをJavaScriptで実現してみたとかそんなものが、Simple Single Sign-onです(リンク先はFlashムービー)。

Bloglinesに天気予報(噂・・・は本当でした): 「Bloglinesの対抗は?(意訳)」というエントリについたMark Fletcherのコメントによると、来週から天気予報をBloglinesで購読できるようになるようです。どういう形になるかは謎。日本の各地方にも対応しているのかは謎(対応している可能性は高いと思います、勘ですが)。

Fix IE: 新しいPCとともに環境も一新! というわけにもなかなかいかず、結局古い環境で使っていたアプリケーションを導入しなくてはならないという。その中の代表格が、ウィンドウのタイトルやクラス名によってウィンドウの位置とサイズを変更してくれるFix IEというアプリケーション。

What is kyo?: ある単語をクエリとして送信すると、その単語がどういう意味なのかを教えてくれる・・・はずなんですが、実は面白文章ジェネレータなWhat is ..?というページを見つけました。使い方はフォームに単語を入れて送信するだけ。

デスクトップのプロセスを別にする: 新PCに伴いカリカリにチューニングしたくなるわけで。取り上げてみるのはデスクトップのプロセスを別にするというもの。これを設定しておくと何かの拍子にExplorer.exeが落ちてもタスクバーが生き残る・・・はず。タスクバーが生き残るということは、タスクトレイが生き残るということなので、タスクトレイに最小化しておいたまま操作不能になるとかそういうことがなくなります(多分)。

ForceWare地獄: PIO病が完治したかと思ったら、今度はnVIDIAチップのグラフィック・カードのドライバ、ForceWareではまったわけで。新PCの内蔵グラフィックは特に悪いわけではないのですが、やはりDVI-Dで接続したいなと。で、Sparkle製のGeForce 6600(not GT)なAGPのグラフィック・カード(PCI Expressスロットとか無い)、SP-AG43DHを買って、取り付けたわけです。添付のCDのSmartInstallのはv66.93だったのですが、うまいことインストールできなかったりしました。ここからまともに表示されるバージョンのForceWareを探す迷走が始まります。

PIO病: PIO病またはPIO地獄とは、いつのまにやらWindowsがIDEデバイスの転送モードをPIOに変更してしまい、3MB/s (最近のHDDなんかだと50MB/sくらいは出る)くらいしか転送速度が出なくてOSの起動やら全てが遅くなってしまう現象です。

Amazonアソシエイトのリンクが変更?: 某所でAmazonアソシエイトによるアソシエイト・リンクのURLが変更になったとかそんな話を聞いたので、ちょっと調べてみたんですが、これといった情報は見つからず。とりあえずアソシエイト・セントラルのリンク作成で作られるリンクは変更になってました(多分)。

700 subscribers: FeedBurnerでフィードを統合した関係で、Bloglinesでより正確なsubscriber数が出るようになりました。結果、700に。統合する前のindex.rssのsubscriber数は440くらいだったので、1.5倍くらいになった計算。統合してから間もないので、重複して登録している人がまだいそうなのでもうちょっと減るかもしれませんが。

新しいPCですよ: 何事もなかったように日本に再進出しているGatewayで以前に購入したPCの電源が不穏な声で唸ってみてくれたりする感じなので、Sycomで新しいPCを買ってみました。4年も良くがんばった。内容はほとんど残ってないけど。ケースは丈夫だしメンテナンス性も高いので、電源を取り替えて再利用しようかなとかなんとか。

ブックマークされた! 度: あるサイトがはてなブックマークでブックマークされた数を日数で割って、数値にしてみるテスト。ブックマーク数を日割りにしただけという。

Nine Inch Nails / With Teeth: てなわけでおよそ6年ぶりのNine Inch Nailsの新譜、With Teethをゲット。CDケースを持った時は手が震えました。

FeedBurnerに移行: RSS 2.0やRSS 1.0、Atom 0.3などXMLフィードを複数提供するのも面倒(再構築が)になってきたので、FeedBurnerに依存することにしました。ついでにこのサイト全体のRSSフィードやBBSのRSSフィードもFeedBurnerへ。特に負荷がやばいとか帯域使いすぎとかそういうんではないです。

e-yama 19LE1-B: e-yamaの安い19''液晶の黒モデルを購入。Amazonでは¥49800とかなってますが、即納かつ¥38000程で売っているところがあったのでそこでゲット。とりあえずドット欠けは見えない。見えなきゃ良い。

Alt+Esc: 某所で少し前に「ダイアログ無しで次にウィンドウへ移動するキーボード・ショートカットあるのかな?」とかいう話題になったことがありました。その時は探しもしなかったのですが、先ほど適当に探したら、どうやらAlt+Escでそういった機能が提供される模様。Alt+Tabと違い、循環する感じでウィンドウが切り替わるというもの。

Atom Syndication Format 0.8: Atom Syndication Formatの0.8が出ました。これが最終草案ということらしいです。ということで、Atomラヴな人(サービス)はそろそろ対応作業を開始して良いということになるわけですが、最近の変わりっぷりを見るとちゃんと確定してからの方が良さそうという気がしないでもない。

Bloglinesのクロール間隔: IRCでインターフェイス! インターフェイス! な人に教えてもらったのですが、Bloglinesはクロールする間隔をsubscriber数に合わせて調節するみたいです。といっても、何かものすごいアルゴリズムでインテンリジェントに制御するというわけではなく、subscriber数が10人以下(くらい)だと四時間に一回とかになるというだけ。通常は一時間に一回で、これが最短のクロール間隔です。

Mozilla Update: Mozilla Updateが(まだbetaと付いてますが)へのExtentionやTheme登録がとても楽になってました。プロセスはたったの2段階。参照ダイアログで作成したxpiファイルを指定しアップロード、そして適切なカテゴリを選択。これだけ。

same_category更新 #2: same_categoryを更新して、サブ・カテゴリのエントリ(つまりサブ・ディレクトリにあるエントリ)もリストに表示できるようにしました。つまり、foo/entry.htmlというpermalinkの場合に、サブ・カテゴリとしてbarというカテゴリがあるなら、そのカテゴリのエントリもリストに含めるようになる・・・うまく言葉で説明できないので、察してください。

Flavour: Simplicity for bsk: Simplicityをblosxom starter kit用にコンバートしてみた。フォーム部品のデザインをちょいちょいっとやっただけで完成・・・のつもり。

プレーオフまでマジック 1: とはいってもTimberwolvesがプレーオフ出場権利を逃がすまでにマジック 1なわけですが。対象チームはGrizzliesです。Wolvesが残り3試合で貯金5、Grizzliesが残り2試合で貯金8なので、Wolvesが3連勝かつGrizzliesが2連敗という狭き門。

Flavour: Simplicity: blosxom starter kitのMovable Type 2.xライクなflavourがなんだかイヤンな感じになりつつある(私見)ので、これでもかと装飾を剥ぎ取ったシンプルなものを作ってます。で、それの過程のものをちょっと公開。エントリのネタがなかったから公開したとも言う。

same_category更新: Bloglinesのcitations経由で、same_categoryのバグっぽい・・・というか間違いなくバグな挙動についてのエントリを発見したので、それへの対処をしてみました。

Bloc Party / Silent Alarm: 最近、聞く機会が多いのがBloc Partyのメジャー・デビュー・アルバム、Silent Alarm。まだ半年も過ぎてないのに「今年のベストかも!」とか思ってしまうほどツボ。ジャケットもカコイイ。

フォント・サイズが11pxの文: Windows (多分Windows 2000以降)のInternet Explorerでは、11pxあたり(以下かも)のフォント・サイズの扱いがちょっと特殊です。通常、font-size: 11px;などと指定した場合は、当然全て11pxで表示され、MS Pゴシックなどでは読むのが辛い感じになるはずなのですが、Internet Explorerでは日本語の文字だけがなぜか12px程度の大きさになってくれます(画像参照)。Firefoxなどでは平仮名はともかく漢字がちょい辛い感じ。

DOM Inspectorだけ起動: 僕にはDOM InspectorはWebデザインに欠かすことが出来ないものなわけですが、Firefoxのメニューから起動するのがどうもかったるいなーみたいなことをずっと感じていました。大概はFirefoxが既に起動しているので、たいした手間ではないんですが、たまにFirefoxを起動していない時にDOM Inspectorを起動したくなったりすると・・・。それが実は-chromeという引数に続けてDOM Inspectorのchrome URLを指定すれば、単独で起動できるということを今さらながら知りました。

不明なflavour: blosxomは頑張りやさんなので、予め用意していないflavourを訪問者が指定してアクセスしてきた場合もどうにか頑張ってくれちゃったりします(わけのわからないフリ)。その時はerrorというblosxom.cgi内で定義されたflavourが使用されます。そのerror flavourの替わりに、$default_flavourを利用するようにする改変方法がAgilityNerdで公開されていました。

Wikicities: blosxomのまとめWikiとか作ろうかなとか投げ槍に考えていた関係で、Wikiのホスティング・サービス(レンタル・サービス)を漁っていたりするんですが、なかなか良さそうなものが無かったり。そんな中で見つけたWikicitiesは高機能なMediaWikiをホスティングしてくれるサービスです。

Links: 2005-04-10: 「JavaScriptを極めて起業する。JavaScriptを勉強していく課程での発見、アイデア、エラーなどを日記メモとしていきます。将来的には、仕事に結びつくといいなと考えています。ご支援をよろしく。」

js-markdown: MarkdownをJavaScriptで実装した、js-markdownというモノを見つけました。デモでいろいろ書いて試してみましたが、なかなか良い感じ。去年の年末くらいに作られたものみたい。

CSSをはてなに移植してみた: リファラから拾ったChepooka::cssでfloatの振る舞いにトラブってる感じだったので、はてなダイアリーでもうちのサイトみたいなのできないもんかと移植してみました。こちらのエントリの内容は気にしてはいけません。

Code Snippets: Code Snippetsはコードの断片をタグ付けして投稿することができるサービスです。つまり、コードで語りあうSNS(まんざら嘘でもない気がする)。

秀丸エディタ Ver5.00β: 秀丸エディタの先行バージョンの開発が始まっていたのは知っていたものの、「縦書きとかウゼー」とかアレな印象をもっていたので、スルーしていたのですが、正規表現がPerlのそれにより近づいたことやいわゆるヒア・ドキュメントの強調表示などに惹かれて入れてみました。

Centering Vertically: 高さの決まったボックスの中で縦方向の真ん中に内容物を配置するという、タイトル・ロゴなどで良くある配置をCSSで実現するとなると、結構戸惑うこともあるんじゃないかと思います。実はこれの実現は単純で、そのボックスの高さと同じだけline-heightを確保してやれば良いだけです。

blosxom plugins #2: blosxom pluginsに自分のプラグインを追加したり、mustanさんのスタイルシート選択プラグインを追加したりとかしてて感じたのですが、明らかにメンテナンスするのは無理がある感じ。無理があるというより単にメンドクサイというだけな話なんですけどね。

IEでフロートさせたボックスのマージンが倍になるバグ: WindowsのIE5.5や6など(5とか5.01は知らない)にはfloatさせたボックスへ指定した左右のmarginが正常に反映されない(倍になる)というバグがあります。最近はfloatを使ってゴニョゴニョする機会も多いと思うので厄介に考えている人も多いでしょう。実はdisplay: inline;とか指定してやると回避できちゃったりとかします。ネタ元はThe IE Doubled Float-Margin Bugだったような気がしますが、別なところで見つけたような気もする。

same_category導入: 自分で作ってすっかり忘れていたsame_categoryプラグインを導入してみました。や、permalinkがサミシイ感じだったので・・・。設置した後で、なかなか良いかもとか。ニュース・サイトによくあるのも納得。

二重枠線ボタン: どこかで「フォーム・ボタンのボーダーにdoubleを指定するとカッコイイぜ!」みたいなのを見つけて、1週間ほど前から使ってみてたりするわけですが、これはなかなか良い気がする。とりあえず憶えておくと即戦力になります。

開幕ですよ '05: いやー野球って楽しいですね。

JavaScriptのリファレンス: Microsoftの提供しているWindows Script、その5.6のドキュメントではJScriptとなっていますが、JScriptはJavaScriptと文法は互換のなので、そのままリファレンスとして流用できます。HTMLヘルプなのでエディタから単語拾ってジャンプとかも結構魅力。JavaScriptギークにはマスト! とか。

WinMerge: 2つのファイルの違いを比較するソフトウェアにはWinDiffというMicrosoft謹製の超有名なものがありますが、使い辛いなぁと感じることは多い気がします。で、ほぼデファクト・スタンダードの位置を獲得した感のあるWinMergeに本格的に乗り換えてみました。

正規表現のeオプションをJavaScriptでエミュレート: Perlなどの置換系の正規表現ではeというオプション(フラグ)をつけると、置換後の文字列をプログラム・コードとみなしてくれるわけですが、JavaScriptのreplace()の第一引数で指定する正規表現にはeオプションなどというモノはありません。しかし、replace()の第二引数である置換後の文字列にはStringオブジェクトや文字列リテラル以外にも関数を指定することもできるので、事実上eオプション相当のことが実現できます。エミュレートというのは正確ではない気がするけど気にしない。

XHTML Meta Data Profiles: a要素のrel属性にリンク先のURLとその文書の関係を示す文字列を記述する、いわゆる小文字のセマンティック・ウェブ(書いてみたかった)とかいうシロモノで、(X)HTMLの仕様に明記されていない値を利用するには、プロファイルをきちんと定義しなければなりません(このサイトではまだ定義してないのに使っちゃってるんだけど)。XHTML Meta Data Profiles(以下XMDP)は、そのプロファイルを定義する文書の仕様です。

del.icio.us: 今さら(中略)負け組み(中略)ですが、RssMemoを捨ててdel.icio.usに移行してみようと画策。感覚をつかむためにRssMemoのログを大量に移してみたり。荒らしっぽい感じ・・・とか後で気づいたけど取り返しがつかない罠。

BloglinesとBasic認証: どうやらBloglinesでBasic認証のかかっているフィードを購読したり出来ちゃうみたいです。ちょっと実験してみましたが、閲覧自体は問題無い感じ。ただ・・・多分、すごく危険・・・な気がする。

Arctic: 最近はBitTorrentで色々なもの(ゲームのデモやデモ・ムービー、パッチなど)が配布されることが多いわけですが、Windowsでは大掛かりなクライアントが多く、なかなか手を出しにくいところがあったりなかったり。ArcticはC++で書かれたシンプルなBitTorrentクライアントで、適当にダウンロードしたいだけとかそういう人にはなかな良さげ。つまり、.torrentなファイルの関連付けにはピッタリ。

Pure JavaScript Wiki Like Formatter #6: まだまだPure JavaScript Wiki Like Formatterいじってたりする。とりあえずあのページ自体のギミック部分のJavaScriptコードはHTMLの方へ移植して、フォーマッターとして分離風味にしてみた。pjswlf.doMarkup(str)でDOM Elementが返ってくる感じ。

Feedmaker: タギング! タギング!FeedmarkerというWeb型のフィード・リーダーを見つけたりとか。どちらかというとフィード・リーダー機能よりも、タギングの機能の方がメイン。どっちつかずで微妙な気がしないでもない。

Pure JavaScript Wiki Like Formatter #5: Pure JavaScript Wiki Like Formatterの続き(まだやってるのか)。閲覧画面に切り替わる時、removeChild()で吐き出すターゲットのdiv要素の子供をサクサクっと削除して、ガシガシappendChild()していくようにしました。後でまとめてappendChild()のが速そうな気がするけど気にしない。

Pure JavaScript Wiki Like Formatter #4: なんとなくPure JavaScript Wiki Like Formatterの続きを作ってみる(またか)。今度はちょっと違う感じで、Wikiっぽいページに見えるモノを試しに作ってみました。イメージしたのはWikipediaなどで使われているMediaWikiのページ上部にあるタブで編集画面に切り替えられる機能。単なるレイヤーの切り替えなのでサクサク編集画面と閲覧画面を行き来できるとか。

Pure JavaScript Wiki Like Formatter #3: なんとなくPure JavaScript Wiki Like Formatterの続きを作ってみる。textareaの改行コードがMacだと\rだったりしそうな気がするので、とりあえず改行コードを\nに統一してから\nで分割にしてみました。他にプレビュー機能をつけてみたりとか。作業時間は3分。

BlogMarks.net API: サムネイル付きソーシャル・ブックマーク・サービスのBlogMarks.netがAPIを公開しました。流行りのXML over HTTPなAPIで、Atomで返答があるというモノ。

all about blosxom #2: blosxomユーザーのためのメーリング・リストであるall about blosxomを定期的に宣伝してみる試み。all about blosxomはblosxomに関することなら何でもOKなメーリング・リストです。

フィード・リーダーのアクセス状況: 先日、何気に配信しているRSSを全てFeedBurner化しました。ので、アクセス解析はそちらに任せてしまえるので楽で良い感じです。解析の結果は結局のところ、みんなBloglinesマンセーってことで。

Negative Margin Trick: どうしてもフッターが横幅いっぱい出ないと気持ちが悪かったので、デザイン自体はそのままでCSSをいじり倒してみました。positionでの絶対配置によるレイアウトのままで、フッターを常にページ最下段に置きかつ横幅いっぱいというのはメンドクサそう(height周りの実装がバリエーションに富んでいるので)なので、floatによるレイアウトに戻してみました。うちのサイトはHeader + (Liquid Column + Fixed Column) + Footerという構成なので、いわゆるCreating Liquid Layouts with Negative Marginsというのを利用して、レイアウト。てか1年半前から使いつづけていたモノに戻ったとも言う。

Pure JavaScript Wiki Like Formatter #2: なんとなく一年ぶりにPure JavaScript Wiki Like Formatterの続きを作ってみる。Firefoxに対応したり、インライン要素の一部をサポートしたり位ですけど。

Queens Of The Stone Age / Lullabies To Paralyze: Queens Of The Stone Ageの新譜が出るのがうろ覚えだったのでチェックし忘れていたことに昨日気がつき、今日購入。タイトルはLullabies To Paralyzeで、豪華版のほうはDVDとTシャツがついてるそう。ジャケットは相変わらず斜め上をいったセンスでイカしてます。

Creative Commons日本法準拠版ライセンスが2.1に: Creative Commonsの日本法準拠版ライセンスが2005/03/13に2.1に更新されたそうです。思うところがあって2.0へのリンクをクリックしたら「廃止!」とか言われた。世知辛い。

リデザイン@2005/03/18: てなわけで約10日で左メニューに飽きたので、右に戻すと同時にNifty Corner (=角丸)を再導入してみました。単に角丸の長方形にコンテンツとメニューを流し込むのでは面白くない・・・もとい現状のHTMLでは実現が難しいこと、ヘッダはヘッダで独立させてやりたかったことやなんやかやでこんな感じになりますた。

RssFwd: RssFwdは、フィードのURLをメール・アドレスと共にsubscribeすると、そのメール・アドレス宛てにフィードの新着記事が記事ごとにHTMLメールで届くというサービスです。一時期は必死になってこういった系統のサービス(rss2pop3)を探していたのですが、Bloglinesで落ち着いた今となっては、見つけても特にうれしくもなかったりする。

Start.com: Microsoft試製のフィード・リーダー、Start.comが少し前に公開され始めたようですね。とはいってもフィード・リーダーとは言えるような完成度ではないのですが、全面的にAjaxで作られており、閲覧しているフィードの切り替えなんかがサクサクできちゃったりして、ちょっと新鮮な感じ。

CSS Image Replacement Hacks: 元祖とも言えるFahrner Image Replacementやtext-indentによるものをはじめとして、多くのCSSによる画像置換テクニックは、CSS On/画像 Offという環境において問題を抱えています。このサイトではその問題から目を逸らしていたわけですが、今回のリニューアルにともないどうにか解決出来そうな感じだったので、チャレンジしてみました。

lixlpixel Safari Screenshot Generator: かなり昔に紹介したiCaptureは膨大な負荷がかかったせいか、現在はまともに使えない感じです。この系統のサービスは手軽で使えるので、代替となるものを探していました。そしてようやくlixlpixel Safari Screenshot Generatorを発見。iCaptureとほぼ同じ感覚で使えて良い感じ。

Links: 2005-03-13: 髭を剃る時はunoの薬用スキンケアシェービングジェルを使っています。深剃りしても肌すべすべまんじゅ(略)。

feedtagger.com: feedtagger.comはRssRollingにPersonalize機能とFolksonomy機能を加えたという感じのウェブ・ベースのフィード・リーダーみたい。見やすいような見づらいような・・・。メール・アドレスしか載っていないので作者不明みたいな妖しい感じですが、tahpotという人が提供しているサービスらしいです。

Hack Filckr badge: ちょくちょくFlickrを使ってたりして、しかも画像をサイドバーに表示させてみたりして、ようやく一人前のブロガーかな? みたいな。ね。それはともかく、Flickr badgeの吐き出すHTMLがどうも使い辛い感じ・・・というかリストっぽいからulが良いなと感じてたので、適当にJavaScriptファイルを作成するPerlスクリプトをでっち上げてみたりとかしてみました。

Yahoo! Search Web Servicesでサイト内検索機能: なんとなくGoogleを利用したサイト内検索を変更したくなったので、MSN Searchを利用して作ってみました(タイトルと違う)。結局はタイトルの通り、Yahoo! Search Web Servicesを利用したもので作り上げたわけですが。

ボールドッグ: ボールボーイの役割りを犬にさせてみるという非常に微妙な・・・というかあんまりファンにうれしいサービスじゃないような気がする謎な企画が立ち上がったそうです。公式戦でも採用するかどうかは未定らしい。犬が嫌いな審判とか悲惨だな。

フォーム部品周り: CSS漬けな今日この頃にふさわしく、フォーム部品のスタイリングのガイダンス、Styling even more form controlsを見つけてみた。様々なブラウザでのCSSによる装飾の無いフォーム部品の見栄えを一覧にしてあり、更にそれにスタイルを適用するとどのようになるかも一覧になってます。フォームはウェブ・デザインにおいて最も悩まされるモノのひとつなので、結構便利な気がする。

IOM Filter: Opera 7.5とMozilla 1.7.5(Firefox 1.0/1.0.1のコア)でCSSを切り分けたいというケースは、両ブラウザとも実装はかなり優秀なので(←偉そう)まず無いです。が、どうもうまくいかないケースに遭遇してしまったので、IOM Filter(ダサいネーミング)と名づけたInternet Explorer 6とOpera 7.52、Mozilla 1.7.5で違うCSSルールを適用できるような書き方を考えてみました。

リデザイン@2005/03/05: メニューを左にしようと思い立ったので、そうしてみました。大幅に手を入れたのはかなり久々で楽しかったです(何か間違ってる)。本文部分と色の構成をまったく変えていないので、ビジュアル的には変わり映えしないですけど。

ショート尾形: 某外人が消えたあとのショートは尾形が当確ということで決定したようです。打順は1番。評価的には走攻守揃った好選手なわけですが、とてつもなく守備が上手いというわけでもないので、守備の失策で調子を崩してそのままサヨウナラ・・・とか数年前に見た光景の繰り返しにならないことを心から祈ってます。いや、マジで。

Links: 2005-02-26: スカルトラップ×3。

Subscribe To This Search: 結構前からあった(と思う)のですが、あまり注目していなかったBloglinesのSubscribe To This Searchという機能。イマイチピンと来ない名称の機能ですが、砕けた感じで説明すると、「検索結果のダイジェストを取り寄せられるよ、便利だろ?」というモノ。

Buzznet or Flickr?: Flickrに今さら参加するのは何かに負けた気がするので、対抗サービスとしてなかなか好評っぽいBuzznetにもアカウントを取ってみました。閲覧画面や管理画面が激しく使いづらくて泣ける。Flickrのが圧倒的に良さげ。

Internet Slang: M1cr0$0ftがセキュリティ教育の一環として更新しているSecurity at HomeのChild SafetyにA parent's primer to computer slangという記事が追加されていました。タイトルそのまんまのコンピューター上での俗語についての解説で、こういう俗語を使ってるページを子供が見てたら注意しましょうとかそんなん。

IE8: IE7のベータが今夏に登場という話題で盛り上がってます。それに対する反応はマチマチですが、そのひとつに「新しいプロジェクト名を考えなくちゃ」という反応を見つけました。反応した方はIE7というプロジェクト名で、IE5以降をよりWeb標準準拠に近づけるソフトウェアを提供しているDean Edwardsさん。

サヨナラ・サンダース: オールスターを目前にして遂に5割を切ったTimberwolvesですが、どうやらこの成績不振はヘッド・コーチのせいということに決定したようで、Flip Saundersが解任されてしまいました。ここ数年は良くやっていたと思うので(最初の5年くらいはさっさと辞めろとか思ってましたが)、シーズン終了後に解雇とかでも良かった気がする。どうせ今シーズンはさすがにもうダメっぽいので。

liveplasma: ミュージシャンやバンドの相関図を綺麗なFlashで視覚化してくれるmusicplasmaが、名称をliveplasmaと変更し、新たに映画名や映画監督名、俳優・女優の相関図を視覚化する機能を追加しバージョンアップされていました。

Tori Amos / The Beekeeper: Tori Amosの2年半ぶりの新譜、The Beekeeperが入荷されたので購入。DVD付いてない方ですけど。買いなおそうかな。ジャケットは全体的にキレイだけど、Tori Amosその人の表情が微妙。

エントリの一覧: ヒマだったので、改造済みのentries_indexのデータ・ファイルを利用して、エントリの一覧を生成するPerlスクリプト(CGIではない)を作ってみたりしました。プラグインとして作ると逆にややこしい気がしたので単独のスクリプトで。30行くらい。

マツダ×カープ: ユニフォーム広告とは無縁だったカープが、遂にマツダと広告契約をしたようです。特にユニフォーム広告自体には思うところはないのですが、ヘルメットにつけても誰にも読めないと思う。普通に背中にでっかく出すとかにすれば良いのに。ここらへんにはよくわからない規約とかありそうですけどね。

Organic HTML: URLを入力すると植物が生えてくるOragnic HTMLというサイト。有名なサイトはニョロニョロ成長しカラフルになるみたい。Google APIとか使ってるのかな?

Traitsモジュール: RSS 2.0用のTraitsというモジュールが公開されたようです(結構前みたい)。これはTraitという単語が示す通り、特性を表現するものです。簡単に説明すると、taxonomy要素とtrait要素の組み合わせで特性定義を作成しておき、itemTrait要素でそれを参照することによって、RSSの各記事がどのようなものかを直観的に理解することが可能になるとかそんなん。詳しい説明及び文法は、スクリーン・ショット付きの利用例がいくつか提示されていたりとなかなか親切な仕様書を見た方が速いです。

HP Photosmart 2710: 無線LANで接続できるオールインワンのインクジェット・プリンタ、HP Photosmart 2710を買ってみたり。Bluetoothとか多種多様なメモリーカード・スロットとかメモリーカードの内容が映せる液晶(ここでちょっとした補正もできる)とかすごく多機能。PictBridgeと無線LANのために買ったといっても過言ではないので、そこらへんの機能はつかわなそうなんですがね。

My MSNのフィード・リーダー: My MSNにフィード・リーダーの機能がついていたことに気づいてみたりしました。クロール自体はずいぶん前からやっているみたいで、149日前の記事とかも表示されてたりしました。機能的にはMy Yahoo!のとほぼ同じ程度のもので、Bloglinesとは比較するのもおこがましい(ヒドイ)程度のものですね。なので、利用の形態としてはヘッドライン形式のRSSをいくつか登録してゴニョゴニョという感じが向いており、個人のblogを購読というのには向いていないと思います。

Universal Subscription Mechanism: Universal Subscription Mechanismは、簡単にフィードをフィード・リーダーに登録するための仕様らしいで、す。購読のメカニズム的にはfeed URI schemeと似ていますが、こっちの方は非サポートな環境の場合は通常のリンクとして機能するっぽいですね(feed URI schemeの場合は何も起こらないリンクになってしまう)。

nofollow in bsk: a要素のrel属性の値としてnofollowをセットすることにより、あんまり役に立たないリンクであることを検索エンジンに教えてあげる謎システム(なぜか否定的)をblosxom starter kitで実装してみる方法を書いておいた方が良いかもしれないとか思ったので書いておこうかなとか。べつにえんとりのねたがないからとってつけたわけではないですよ(棒読み)。

RSS 1.1: 某所でコソコソヒッソリと論議されていたらしく、突然RSS 1.1のInitial Draftが公開されていました。RSS 1.1となっているものの、RSS 1.0との互換性はあまり考慮されていないようで、別物と考えて良いシロモノに見えます。

Tags in Feed: 最近流行りのTagをRSSなどのフィードでどう表現するのかみたいな論議がrss-devでされてました。RSS 1.0ではdc:subjectを利用し半角スペースで区切って列記、RSS 2.0ではcategory要素自体を列記ということみたい。del.icio.usではtaxo:topics使ってたりしますが、こちらは対応しているもの(Taxonomyモジュールをきちんと解釈する何か)が少ないっぽいとのこと。

自由なライセンス戦争: BSDライセンスとGPLライセンスの宗教的な論争ウザーみたいなエントリを見つけてみたりする。本筋とは関係ないけど読みやすいサイトですね。カレンダーイラネとかは思うけど。

ちょっとだけリデザイン @ 2005/01/12: まるで変わっていないんですが、サイドバーをあまり主張させないようにして、相対的にメイン部分に注視できるようにしたつもり。とかそんな感じでCSSに手を入れてみました。クラス名変えたりとかいろいろ試行中なので、タイミングによっては一部すっぴんだとかメチャクチャに崩れてたりしますね。スーパー・リロード(=Ctrl+F5)で。

残り50試合: All-Starまであと1か月少々となり、そろそろそれぞれのディビジョンも順位がばらけてくる・・・とおもいきや5割前後で大混戦なわけで。去年の下位チームががんばっているというよりも、PacersとLakers、Wolvesあたりの勝って当然と思われていたチームが諸事情により沈没しているという感じ。

Opera 8.0 Beta 1: 去年の年末にOpera 8.0 Beta 1が出ていたようなので、ちょっと入れてみたりしました。アルファベットと日本語が混在する場合に欧文フォントを指定するとガタガタになるという自分の中で最大のガンだった点がキレイになっていてかなり見やすくなった感じ。

うにばーさる・あくせしびりてぃー: あけました。寒いです。まだ餅を二個しか食べてないです。で、サイトのアクセスキーなんかのお話。ここではaccesskeyやtabindexまったく利用していないわけですが、それは実際に用意されてても自分が使わないとか投げやりな理由だったりします。そんなんだったのですが、突如としてアクセスキーをつけてみようかなとか。

blogの掃除: 年末は大掃除というわけで、writeback (コメント + TrackBack)を殺してみたりしてみました。そのうち構ってもらえないことに寂しさを感じて復活させそうですが。こういうなんというかこそばゆい(または子供っぽい)突発的な行動は長くテキスト系のサイトをやってると定期的に起こすような気がする。僕だけ?

Links: 2004-12-30: ポテチとマンガとコーヒーとタバコ漬け。

Music From The O.C. Mix 1-3: The O.C.というドラマがあり(見たこと無い)、そのサントラが今年だけで3つも出てたみたいです。アンテナに引っかかってこなかったので、特にチェックすることも無くスルーしていたわけですが、Mix 3を試聴してみたらかなりツボったので、3つまとめて買ってみたり。

Clio: Windows CEを搭載したハンドヘルドPC、Clioというものがプリ・オーダーを開始したとかいうニュースがそこかしこで話題になっていたので、どんなものだろうと販売元のサイトを見に行ってみたら回るタッチパネル液晶が売りのようです。グリングリン回ってますね。

ジャケ買い?: ジャケ買い(じゃけ - がい)。用も無いのにCD屋に入りびたり、内容をまるで考慮せずに、ジャケットの印象のみでCDを購入してしまうという病気。主に小遣いに微妙に余裕のできる10代の半ばにかかる病気で、20代になると少し収まるが、大人買いできるようになる20代後半で再び発症することが多い。根本的な治療法は無く、なるべくCDショップに近づかないという対処でやり過ごすしかない。

マンガマンガマンガ: こん(にち|ばん)は、「フルーツバスケットみたいな世界に生まれたかったな」が口癖のkyoです。別の言い方をすると「花ざかりの君たちへみたいな男子校に通ってみたかったな」が口癖のkyoです。今日はHansonラヴないのうっち(かわいそうなのでMixiのページにリンクは張らないでおくよ)にいろいろ言われたので、少女マンガについて書いてみるよ(何このフリ)。

フィードを調整してみる: RSS 2.0(適当な解説)を完全にメインのフィードにしようという腹が決まったので、このblogのRSS 1.0とAtom 0.3の各フィードはサマリのみにしてしまいました。気分で。配信しているRSSの方は当面はRSS 1.0のままですが、気分でRSS 2.0にするかもしれない。

Mappr!: Flickrでシェアされた画像の中から、地名らしきタグが付いているものをリストアップして地図に貼り付けてみたというただそれだけのMappr!というモノを見つけました。今はまだスクリーンショットしか公開していないみたいですが、これがインタラクティブにサクサク眺められたら結構楽しそう。・・・アメリカ国民は。

Links: 2004-12-15: 今年最後のお雑煮を食べました。最後かどうかわからないけど。

RSS auto-discovery #3: このサイト全体にCreative Commonsを導入しようかと色々いじってた時に、Creative Commonsはバナー画像の親になるa要素のrel属性を利用して「licenseへのリンクだよ」と教えてたりするような感じ(凄くテキトウな表現)なので、RSSファイルへのリンクにもこれは応用できるというか、そうしたらなんか役に立つかもしれないかもとか何とか(最近、とか何とかが多すぎだとか何とか)。

Wolvesダメすぎ: 「ディビジョン一位はいけるような気がする」とか書いたのがすごくナツカシイです。Timberwolvesのこの体たらくっぷりは何? 成績を見るとSprewellがちと得点できてないかなー程度に見えるんですが、接戦に弱いっぽい感じで既に6敗。というか一方的にやられるQが結構あるような感じで、そういう試合をガンガン落としていると。うっかりプレーオフ出場を逃がしたとか笑えない事態も視野に入れて応援しよう。

foobar2000@20004-12-12: とりあえずいろいろやってみた。Columns UIのグローバル変数の使い方がわけわかめだったのがなんとなくわかった。暇つぶしにはもってこい。Custom Sortをちゃんと作ってないので、まともにソートできないとかいう。

ジャケット画像のポップアップ: INTO THE WORLD :: ネタメモとnulog > 2004 > 12 > 11 > Album 画像のポップアップを見てて、僕もサムネイルからポップアップして大きな画像を表示させたくなったので、Pure CSSでチャレンジしてみました。サイドバーの下の方にあるRecently playedで実際にどうなるかは確認できます。ちゃんとCSSが反映されてたら。

Firefox Extension: Bookmark All 1.1: Bookmark Allを使ってくれた方が「フォルダ名を指定できると良いな」とかいう反応をすることが多いみたい(超他人事)なので、設定ダイアログの作り方のお勉強も兼ねてOption設定でフォルダ名のprefixを設定できるようにして、1.1に更新してみました。僕は自分に都合の良い名前を付けてくれるように作ったわけなので、どうでも良かったりとかなんとか。

FAQをRSSで: RSSはニュースやらblogやらそういった速報性の高いものに利用されることが多いですが、速報性が高いというのは副次的な作用なんではないかなとか何とか。ので、アプリケーションから簡単に扱えることを利用して、うまいことトラブル・シューティングとかそういうことに利用するとかそういう利用法もあっても良いのではないかなとか寝起きに思いました。そこで考えてみたのがFAQにRSSを利用するというアプローチ。

Hello foobar2000!: てなわけでAudioscrobblerのためだけにApolloからfoobar2000に乗り換えました。とりあえずSpecial installerでガリガリつっこんで要らない物をガンガン消してみた。Apolloで慣れてるのでColumn UIで。ついでにAudioscrobblerのGroupsでblosxomを作ってみたりした(これを作りたかっただけとも言う)。

FirefoxのuserChrome.cssネタ #8: Firefoxのメイン・メニューのTools以下にあるイマイチ使い道の無いRead MailとかNew Messageというメニュー項目。Optionsを開いたりとかする時に邪魔くせーとか思ってたので、消してみようかと。Thunderbirdだとそれなりに活用できそうだけど、インストールすらしたことがないので知らない。Firefox + ThunderbirdならMozila Suiteで良いじゃんとか何とか思ったりとかするけど、そういう問題でもないのか。

FirefoxのExtensionを5つ公開: てなわけで単機能なFirefoxのExtensionを5つ作って、Firefox Extensionsとして公開してみました。あんまり考えてないので、良くわからないものばかりです。

Firefox: gContextMenu: ViewSourceWithやRight Encodingが常にコンテキスト・メニューに出て来るのが凄く気に食わないので、ハックしようと調べてみました。gContextMenuにはonLinkなどといったどこの上で出てるかを示すプロパティがあるようなので、contentAreaContextMenuのpopupshowingというイベントでそれをチェックして、メニュー項目のhiddenをトグルしてやるとかそんな感じぽい。

Writing Firefox Extension: userChrome.cssをいじるにもネタ切れなので、遂にbrowser.jarハックとかFirefox Extensionとかそっちの方に手をつけ始めました。ショートカット・キー一発で"Bookmark all tab in a folder"の機能をエミュレートするモノやタブをダブルクリックするとリロードとかいうモノを作ってみたりして。「インストールできたー」とかケタケタ笑ってたりする(微笑ましい)。

開いているタブを記憶: UnknownPlace.のtypesterさんが「ぁぅぁぅぁー。userChrome.cssの編集結果を反映させたいけど、今は(たくさん、とってもたくさんエロい画像開いてるから)Firefoxを閉じれない! タブを記憶させる拡張ってないですかね?」とか聞かれた(注: エロい画像云々は想像です)ので、反射的にSession Saverを教えたんですが、何も拡張使うこともない気がすると思って、いろいろ調べてたらデフォルトでBookmark all tabs in a folderという機能があることがわかったりした。単に一時的に開いているタブを記憶させたいだけ場合は、この機能を使えば良いですね。Firefox最高!

FirefoxのuserChrome.cssネタ #7: ExplorerやInternet Explorerではメニュー・バーやロケーション・バー、ツールバーなどを比較的柔軟に配置できます(いわゆるCoolBarとかいうシロモノ)。Firefoxでもそれは同じ・・・どころか独自のツール・バーを作成できたりと、より多機能だったりします(独自のツール・バーを作成して使ってる人は少なそうだけど)。が、上下(メニュー・バーは下のみ)にborderが付いているだけと、CoolBarとは見た目が微妙に違います。ので、CoolBarっぽくしてやろうと。

ゼルダの伝説 ふしぎのぼうし: 世の中がやれDQ8だDSだPSPだと騒いでいる中で、ゼルダの伝説 ふしぎなぼうしをプレイ中。小さくなってウロウロするのが結構楽しい。あと分身で解くパズルは結構面白い気がする。ワンパターンではあるんだけど。いつものように新しいアイディアが盛りだくさんで楽しく遊べてます。ゼルダ最高。今回は絵がなんか微妙な気がしないでもないですが・・・。

FirefoxのuserChrome.cssネタ #6: 少し前にUnknownPlace.のFirefox userChrome.css ネタで、タブ上のアイコンでfavicon以外は消すというuserChrome.cssネタが公開されていて、これには結構ビビッと(怪電波が)来たわけですが、このままだと読み込み中だと言うことを示すアイコンも消えてしまうので、そこをハックしてみました。

BloglinesでRSSが読めない!: ここのところ(11/30あたりからでしょうか)Bloglinesでlivedoor BlogやSeesaa ブログのRSSがまったく更新されないと言う状態が続いていたのですが、本日の午前中より正常に更新されるようになったようです。この間、「Bloglinesで閲覧できないんですけど・・・」みたいなメールが何通か送られてきたりして。「何で僕に?」と言う疑問は置いておいて、なぜこういう状況になるのか語ってみたりする。推測で。

Firefoxでのポップアップ・ウィンドウから新規タブ: Firefoxで実装されたものの現在は隠し設定となっているネイティブなシングル・ウィンドウ・モードですが、ポップアップ・ウィンドウを一部許可(サイズ指定ありとかのだけを許可)する場合、思ってもみないことが起きることに今さら気づいてみた。思ってもみないこととは、ポップアップ・ウィンドウ内にあるリンクを新しいタブで開こうと中クリックしたり、そもそもtarget="_blank"など指定されているリンクをクリックすると、上手く開けないということ。

blogsnow: アクセス・ログを眺めてニヤニヤしていたところ、blogsnowbotというUserAgentで巡回に来ていたbotを見つけました。調べてみたらblogsnowという、BloglinesのTop linksとほぼ同じサービスで、blogで言及された回数の多いURLをランキング化しているものみたいです。「blog snow」ではなく「blogs now」みたいだ。

Bloglinesが日本語で!: Bloglinesが日本語になりました。トップ・ページにの左に並んでいるBloglines In Your Language以下の言語リストから、Japaneseを選択すると、「Bloglines は検索、登録、publishingさらにニュースフィードのシェア、ブログそして 豊富なウェッブコンテンツを総合的な完全なサービスで提供しています。 無料 で 簡単操作.」というように隅から隅まで日本語に!

なめらかスクロールアンカー: Intrepidity Weblogというサイトをどこからか見つけ、このサイト内をのらりくらりと見回ってたわけですが、AboutにあるInternal Page Linksをクリックしてみてちょっと感動してみました。いわゆるページ内アンカーでのスクロールを滑らかに(スムース・スクロールのような)するJavaScriptが仕込んであるんですね。

Links: 2004-11-29: コーヒーを入れようとしたらフィルターがなかった。

検索エンジンの現在: iNTERNET magazine 2005年1月号に掲載されている、「どちらかというと、2人ともバリバリの理系出身者という風貌で、話し声もどことなくボソボソ声」という導入で始まるGoogleの創業者2人へのインタビュー記事を読みました。GmailやGoogle Desktop Search、Google Printなんかについてちょろっと聞いている感じですね。3P強と、量も量なので薄い感じは否定できないですけど、答え手の2人の発言の端々に余裕みたいなものが感じられる日本語になってて、「勝ち組みカコイイ」とかいう。

mod_rewriteでコメント・スパム対策の効果: そういや以前書いて実際に利用しているmod_rewriteによるスパム対策の効果のほどをまったく書いてなかったので、どれくらい効果があったのか書いてみようかなと。結論から言うと、これ以外対策は必要ないかもくらいな絶大な効果を発揮しています(多分)。

インストール済みのFirefox Extensionをリスト・アップ: Firefoxにインストール済みのExtensionは、もちろんExtension Managerで確認できるわけですが、なんかの拍子にプロファイル作り直しの刑を受けてしまうと当然Extensionも入れ直しなわけです。この作業は、新たなExtensionを導入する作業と違ってかったるいだけの作業だったりするわけで。てなわけでその作業の手間を少し楽にするためにインストール済みのExtensionの情報が書かれているExtension.rdfを(かなり適当に)パースして、Extensionの名前とバージョン、配布サイトのURLをリスト・アップするスクリプトを書いてみました。・・・WSH with JScriptで。

RssMemoとLive Bookmark: RssMemoはその挙動の仕組み上Bookmarkに近いものです。ので、Firefoxの機能である、Live Bookmarkとは相性が良いです。RssMemoの生成するRSSをLive Bookmarkとして登録すると、メモした内容がそのままBookmarkに展開されるので、RssMemoを直接開いたりとかRSSリーダーでメモを確認したりとか言う作業は必要ないというわけ。

BloglinesでのRSS/フォルダの順序: Bloglinesでフォルダをどうにかして作る(作り方がかなりわかりづらい)と、作った順に並ぶわけです(RSSは追加した順)。そのソート順の変更はReorder/Sortで変更できるわけですが、「コレはコレの次で、コレはその次」みたいに明示的に並べることは出来ません・・・と思ったら出来た。ちょうど今、新しいフォルダを作成していろいろいじってたら見つけました。わかりずらー。

RSSと広告: どうにかしてRSSへの膨大なトラフィック(それほどでもないけど)を小銭に替えられないかなぁと考えてみましたが、なかなか上手い方法というか、上手いこと流用できる既存の仕組みが存在しないですね。ちなみにうちのサイトのトラフィックの95%はRSSへのリクエストです。なのでUserAgentのシェアとか見ると、IEでようやく3%くらい。やっぱりコレはお金に換えるしか! とか思いますよね?

blosxom and feed URL: 都内某所にあるイメクラ「blosxom」ではこんな会話が繰り広げられている ----- 店員: オプションはどうなさいますか? 客: back_and_forthでお願いします!  -----(書いてから全然面白くないことに気づいたけど、そのままにしておいてみる)。さて、紅茶飲み過ぎでは? と思わずツッコミたくなるけーきさんのblog、チェリオメアリーで、「RSSのリクエストによりCGIが呼ばれまくりで管理会社から警告来た!」とかそんな感じのエントリを眺めてました(観察)。ここらへんのことは動的にフィードを配信している場合、避けられない事態だったりします。CGIが起動することによる負荷自体はスクリプト側でどうにか何とかなります(一応ね)が、CGIを呼ばれるということ自体には対策するのは無理なわけで。ということで、フィードだけは静的生成してやりましょう、と推奨すると共にblosxomでの僕のアプローチ方法をたらたら書いてみようかと。僕のエントリの公開の仕方がかなりアレなので、具体的な方法は割愛し、どんな方法でやっているかの紹介に留めます。

Habari Xenu: 少し前に見つけたHabari XenuというMozilla/Firefox ExtensionなRSSリーダーをインストールしてみました。SageのようにSidebarを利用するのではなく、ウィンドウ(もしくはタブ)にGUIがロードされるというもので、リッチなWebサービスのような感覚で扱えるなかなか優れもの。とは言うものの、RSS単位での閲覧を強いられるので、Bloglinesで複数のRSSを一気読みとかに慣れてしまった身には辛い。

We all come 'round: Pearl Jamの2枚組みベスト盤、Rearviewmiroor購入記念エントリ。あーもう最高。Brendan O'Brienはグッジョブ過ぎ。TenやVs.は結構音がひどいので、Even Flowとかリマスター(リテイクなのかもしれない)された今回のアルバムで聞くと、うぉぉ(略。とりあえず一枚ずつ聴いても、2枚まとめて聴いても素晴らしい。こんなベスト盤は珍しい。

FIR and FIR: FIR and FIRでロゴを変えてみたりする。FIR and FIRとは、Fahrner Image ReplacementとFast Image Rollovers (単に頭文字をFahrner Image Replacementと合わせただけで、本当はFast Rollovers Without Preloadというテクニックです)を繋げた造語です。ちょっとすっきりした。h2要素のスタイルが浮いてる感じとか言わない。そもそもh1要素にサイトのタイトルっておかしいんじゃないかとかも言ってはいけません。

MoMAのリ・オープン: 海外のblogを漁っていた所、ちらほらと「ついにMoMAがリ・オープンしたぜ!」みたいな記事を見かけて、おぉ遂に(そのまんま)みたいな感じでした。閉館(一時移転とも言う)していた期間は2年以上ですかね。行きたいと素で考えてます。

続・Bloglinesのススメ: 某所でBloglinesのススメに言及があったことを受けて、そろそろ書いてみようかなとかいう気になってしまったので、リニューアル後のBloglinesに合わせたBloglinesのススメを書いてみたり。個別にページを作ろうかと思ったんですが、面倒だったのでとりあえずエントリとして。

xoblite bb2 RC2: 少し前にリリースされたxoblite bb2のRC2をちょっといじってたり。RC2とついている割りにはRC1からかなり機能が追加されてたりして、「RCの意味ねーだろ!」とかつっこみたくなったりならなかったり。てか、正式名称はxoblite bb2なのか? ダサい気がするとか言ったら誰かに殺されそうな気がするので言わない。

草莽枯れ行く: 北方謙三の草莽枯れ行くをほとんど一気読みしてました。そのうち読もうと思ってはいたのですが、なかなか文庫本を見つけられず忘れかけていたところ、一昨日にひょいっと見つけて購入。北方謙三初の幕末小説だった気がする。ちょうど読み終えたところですが、岩倉具視がスーパー悪役(しかも陰湿)で良い感じでした。

FirefoxのuserChrome.cssネタ #5: 遂に1.0と言いつつ、別に超安定版というわけでも無さそうな気がするFirefoxですが、まぁバージョン番号なんてモノは大きいのが新しいということしか意味しないわけですよ。違うと思うけど。で、僕はテーマは長らくQuteを使っていたわけですが、なんとなくデフォルトに戻してuserChrome.cssでガリゴリいじる方が良さそう(楽しそう)な感じがしたので、そうしてみました。かなり楽しいですが、userChrome.cssが3000行ちょいとか言うおかしなことになってきたのでダイエットしたりしなかったり。

Bloglinesと301 Moved Permanently: BloglinesのForumをタラタラと眺めていたら面白い情報を見つけました。Mark Fletcher曰く、フィードのURLを変更した時に301 Moved Permanently(301とは書いてないけど多分)でリダイレクトしてやると、自動的に新しいURLに変更されるそうです。Googleは301でリダイレクトするとPageRankを引き継ぐとかそういう噂なのですが、これとアプローチ的には似てますかね。

W3Cスペース: 標準化組織の全貌! とかいうかなりキャッチー(違う)なサブタイトルで、W3Cスペースという連載がiNTERNET magazine 2004年12月号から始まったようです。World Wide Web Consortiumという組織がどんなものかを紹介していくという、かなりアツイ連載(私見)。なにもこんな表紙の時にこの連載を始めなくても良い気がする。

BWS: getitemsがフォルダ単位で取得可能に: Bloglines Web Servicesが更新されて、フォルダごとに未読記事を一気に取得ということができるようになりました。微妙に「だから?」みたいな感じを受ける更新な感じですが、実はかなり大きい更新な気がします。

RssMemoの投稿UI案: コアな機能自体には満足しており、もうこれ以上必要ない感じのRssMemoですが、投稿UIで面白そうなことを考えてみたので書いてみる。キーワードはリファラーと流し込み。てか、エントリにするほどでもなかったなとか書いてから思ったけど気にしない。

Timberwolves開幕戦勝利: 全米がGWB!GWB!と盛り上がっている傍らで、NBAが開幕したわけですが、愛するTimberwolvesも開幕戦を終えました。99-93で勝つには勝ったけど結構危うかった感じ。Marburyが3PT上手いので、4Qが点の取りあいになってたらヤバかった気がする。

Gmail: 先日、盗まれたバイクが切り売りされてる(噂)asaponさんからGmailにinviteして貰ったので、kyo@hail2u.net宛てのメールを全て転送して使ってみてたりします。感想的には、悪くはないんだけど良くもないかなぁと言うどうでも良い感想に。長年の間、Spaceキーで未読メールを順にダーッと読んでいくという形でメールを読んでおり、そういう癖がついてしまった身には、マウスでゴニョゴニョ操作すると言うだけで辛い。使い方が良くわかってないだけだったりしてな。

はてなと住所: 方々で話題になっているはてなの「住所登録、ならびにはてな利用規約改定のお知らせ」ですが、なんとなく気になったので僕も書いてみる。今のところの僕の結論はこのまま放置、本当に1月から使えなくなったらそのまま捨てみたいな感じですね。

The CSS Weblog: ジャンルを絞ったblogをいろいろ提供している、Weblogs, Inc.でCSSをトピックにしたThe CSS Weblogというものが始まってたんですね。CSSのリソースをいろいろ集めて提示するというもので、系統的にはCSS VaultのResourcesの方と似た感じっぽいですが、こちらは「CSSって何よ?」とか「blogいじり始めて初めてCSS書いたかも!」みたいな人向けっぽい感じな。

Yellowcard / Ocean Avenue: ヴァイオリン! #12のOne Year Six Monthsがかなりツボに入ったので、YellowcardのOcean Avenueを最近聞くことが多いです。最近っていっても、半年くらい前からですけど。なぜ今さら取り上げたかと言うと、Beyond Ocean Avenueと言うタイトルでライブDVDが出るからだったり。Election Dayということで11/02! ライブは行った事無いので、どんな感じが早く見てみたい。

野球専門学校: 世間では11/02に決まる新球団のネタにシーズン終了前から注目が集まっていたわけですが、野球専門学院が開校されるという面白そうなニュースを見つけました。場所は広島で、広島の元コーチが校長になるようですが、カープの内(下)部組織と言うわけではないようです。

purevolume: Emo大好きっ子shin君にpurevolumeというひたすら音源試聴が出来るサイト(こういう捉え方で良いと思う)を教えてもらいました。形的には様々なアーティストの専用ページがあるというだけのもので、何の変哲もなさそうな感じなんですが、全ての専用ページに一曲以上フル試聴できる音源があり、メジャー・マイナー入り乱れているというもので、こうなると結構珍しい気がします。とりあえずひたすらGrungeとかでブラウズしてましたが、「Grungeじゃねー! はい次!」とか「うぉぉカコイイ!」とか楽しすぎです。タダで聞けるジュークボックスみたいな感じかなぁ。

Cake / Pressure Chief: ピッタリとした形容が思いつかない不思議なサウンドを出すバンド、Cakeの新譜、Pressure Chiefが出ました。音が一括りに表現できない幅の広さがあるので、Beckなどと同列に語られることもあるバンドですね。Beckはどちらかと言うとHip-Hop寄りなアプローチですが、Cakeはカントリー寄りなアプローチなので、最終的に出来上がる音はまったく違うものですけどね。

Slideroll: Flashで画像のスライドショーを作成できるサービス、Sliderollというものを発見。まだ実際に自分で作ってはいませんが、いろいろな人作成し、公開されているスライドショーを見る限りでは、ちょっとしたショート・フィルムみたいな感じがうまく出ててとても素晴らしい。画像を公開するためのサービスはいろいろなモノがありますが、ここまで見せ方にこだわったものは珍しいかも。

Pearl Jam / rearviewmirror: Pearl Jam初のベスト盤が遂に来ました。Rearviewmirrorというタイトルだそうで、Vs.に入ってる曲からまんま持って来たみたいですね。ジャケットダサ・・・いけど、それもまた良い。てか、若すぎて笑える。

recent_entries_shift plugin: 某所で書かれていた現在表示中のn件のエントリを除いた指定件数n件のエントリのタイトルとpermalinkを表示するプラグインらしきもの、recent_entries_shiftを作ってみました。趣味的にolにしてみた。所要時間30分。確認はしましたが、僕は使わないので細かいことは知らない。P_BLOGなんかだとデフォルトでこの機能がある気がする。他のblogツール(サービス)では見たこと無いような。

FirefoxのuserChrome.cssネタ #4: フラットな感じのUIを採用するアプリケーションが3~4年程前から増えてきたわけですが、その頃に僕が使っていたマシンは貧弱そのもので、メニューの遅延やその他がどうも気になり直ぐにオフにする癖がついてしまいした。そもそもエクスプローラーとかと並べると違和感が大きいというのもあります。未だにその癖から脱却できず、実際に速度が遅いかどうかとかそういう事とは関係なく、フラットな感じのUIが生理的に受け付けなくなっています。ので、QuteではFirefoxのブラウザ部分がへこんだ枠になってないのがどうしても気になってたわけですよ。困った時はuserChrome.cssということで、へこませるようにuserChrome.cssに記述を追加してみました。

URLからblosxom.cgiを隠す代替案: URLからblosxom.cgiを隠したいけど、mod_rewriteとか使えないよ・・・。という人はけっこう多い気がします。最近、リファラから見つけた96tsubuというサイトでそんなエントリを見かけたので、代替案を3分くらい(冷めたビーフシチューを暖めるには少し足りないくらいの時間)で考えてみました。.htaccessは使えないとダメな方法ですが、AddHandlerを利用してみたらどうでしょう? とか疑問形かよ。

FirefoxのuserChrome.cssネタ #3: Firefoxに少し前のnightlyからデフォルトで搭載されたタブ機能が素晴らしげなので、TBEを消してしまったのですが、これによりタブの幅固定や多段タブがが出来なくなってしまいました。userChrome.cssをゴニョゴニョいじってたらうまく出来たような感じなので、エントリにしてみる

Googleと短いタイトル: 「エモは好きだけど、ローファイってナニソレ?」という某氏のサイト名は"EF"というとても短いものでした。少し前に、管理人の彼とMSN Messengerで話していたところ、「Googleの検索結果でtitle要素内の文字列が拾われず、代わりにOctober 19, 2004とか出てしまうんだけど、何コレ?」みたいなことを聞かれたのですが、よくわからなかったので「短すぎなんじゃ? てか2文字て。」みたいに返しておいたんですが、どうやらこのテキトウ極まりない予想は中っていたらしく、謎な言葉をpostfixとして追加した現在はきちんと検索結果にtitle要素内の文字列が反映されるようになってました。

2004年のカープ: 中国新聞のカープ情報で、投手陣と打撃陣に分けて毎年恒例のまとめが。そのまんまですね。僕の感想的には、大きな補強は皆無だったのに良くやったなという感じ。それじゃぁダメだろ。みたいな。

Firefoxのタブ機能拡充: Firefoxのnightlyでタブに関する設定がいくつか追加されてました。さほど多機能なものを求めているわけではないので、私的にはコレで十分な感じ。

Customize writeback plugin #12: 突然思いついたので、writebackの更新通知メールをBloglinesで作成できるメールアドレスにも送るようにした。おお、なかなか良いかも。メーラーでも溜め込みたい(コメントとTrackBackのバックアップも兼ねて)ので、CCを利用してみたり。なんか今さら的なアイディアですが、やってみるとなかなか便利。アイディア的にblosxomに限ったお話ではないので、Movable Typeなどのメール通知にも流用できるでしょう(ややこしい改造になるかもしれませんが)。

LiveLines: Firefoxの1.0PR以降にはLive Bookmarkとかいう、ぶっちゃけInternet Explorer(4以降かな?)のチャンネルみたいな奴(Channel Description Formatと言うシロモノ)が搭載されているわけですが、イマイチな感じ。悪くは無いのだけれども。で、LiveLinesなわけですよ。これはLive Bookmarkのために新たに作られた、RSS auto-discoveryという仕組みを利用したステータス・バーにLive Bookmarkへ登録するためのアイコンを表示する機能を、SageまたはBloglinesへの登録に摩り替えるFirefoxのExtensionです。

NewsGator Online "FREE" version: 元々はOutlook (not Outlook Express)と強烈に連携するRSSリーダー、NewsGatorを提供していたNewsGator Technologies, Inc.は、少し前にBloglinesと同系統のブラウザで閲覧するタイプのNewsGator Onlineというサービスを開始していました。年間いくらという利用料が発生するサービスだったので試しもしていなかったのですが、機能限定版がFreeで利用できるようになりました。というわけで、早速試してみました。日本語が通らない!

Blosedit: Bloseditというblosxomの管理CGIが1.0.0に更新されたと本家MLに投稿されてました。このツールは知らなかったんですが、デモを触った感じではかなり良い感じでした。やや直感的でない操作感である感じはしますが、ファイルのアップローダーなども含めて機能的にはきちんと揃っており、操作さえ憶えてしまえばこれ一本でいけそうな。

Amazon Check List #3: HTML::Templateのnew()のオプションで、loop_context_varsを有効にして、テンプレートを更にいじれるようにしたりしてみた。これによって、右のように最初のアイテムだけ大きな画像、残りは小さな画像というようなことも可能になりました。ぶっちゃけcho45さんのnow playingからアイディアをパクった。

Technorati Watchlist: Technoratiでは自分のblogのURLで検索することによって、自分のblogへのリンクを手軽にリストアップすることが出来ます(例: Technorati: Search for http://hail2u.net/blog/)。Technoratiでアカウントを取得すると、そのリストアップしたリンクをRSSフィードにすることが出来、RSSリーダーで簡単にチェックできたりします。この機能がWatchlistというもの。

もうすぐNBAの04-05シーズンが開幕: さてNBAの2004-2005シーズン開幕まで1か月を切ったわけですよ。プロ野球とかいう試合をやってないところで盛り上がったスポーツに疲れた僕としては、こっち側で大いに盛り上がりたいわけです。昨年、Timberwolvesは非常に良いシーズンを過ごしたものの、ポスト・シーズンでは思ったように結果を残せなかったので、今年こそは! みたいな。ディビジョン再編成でプレーオフ出場は楽になったし、楽しみ。

XML-RPC on POPFile: POPFileの0.22.0よりサポートされているはずのXML-RPCによるAPIですが、これを設定で有効にすると起動に失敗してしまいます。少し調べてみたところ、どうやらWindows版のインストーラーではScalar::Utilというモジュールがインストールされないことに原因があるようです。CPANからダウンロードしてlibフォルダに置いてみたらきちんと動作しました。

Kinja: ずいぶん前に見つけていたのですが、イマイチ使い方がわからず放置していたKinjaのアカウントにログオンしてみました。すげー変わっててビックリ(うろ覚えなのであんまり変わってないかもしれない)。Kinjaはお気に入りに指定した色々なblogを巡回し、まとめてblogにしてくれるサービスです。つまり、Rollupとかと似たようなモノです。別の見方をすれば、RssRollingをサービスとして提供した感じ。RSSリーダーと捉えても問題無いでしょう(てか、RSSリーダーですけど)。

Firefoxのロケーションバー: Firefoxのロケーションバーで、あるBookmarkに設定しておいたKeywordに続けて文字列を入力しEnterを押すとゴニョゴニョ(うまい表現が思いつかない)できるわけですが、いつものようにこの機能を利用してGoogleで検索をしようとしたら、検索文字列が文字化けしてしまいました。たらたら調べてたらUTF-8でURLエンコードされた上で送信されているになっている感じ(今まではShift_JISだった気がする)。

Tokyo Art Beat: Tokyo Art Beatというサイトを発見。オープンしたて。アート・イベントをいろいろなカテゴリやエリアでフィルタして表示できるというサイトです。サイト名が示す通り、首都圏限定ですけど。全てのカテゴリとエリアの情報をRSSでも配信しているのがとても素晴らしい。RSSはこういう日々内容が変化するモノに相性良いですね(刻々だとキツイ)。

Safariでどうなのさ? #2: 以前書いたSafariでどうなのさ?の続き。VMWare経由だと結構かったるいので、QEMUでやってみましょうとかなんとか。要は「QEMUでKNOPPIXを起動して、そのKonquerorで確認」ってーことです。SafariとKonquerorはいろいろ違いが増えてきたようなので、Safariでどうなのさ? というわけではないんですけどね。

BWS: getunread #2: Bloglines Web ServicesのWSHでの実装サンプルであるgetunread.jsはなかなか面白いのですが、実用にはかなり辛い感じなので、HTMLにしてみたり。こうすると結構実用的です。内容的にはgetunread.jsとほとんど一緒なんですが、気になった時にブラウザでこのHTMLファイルを開くだけなので、あまり考えないで使えるのが良い。

BWS: Bloglines Sidebar: Bloglines Web Servicesを利用して未読記事のあるサイトのみをリストにするCGIを作成し、FirefoxのBookmarkにそのCGIを登録、更にそのプロパティでLoad this bookmark in the sidebarとしてやったら、以下のような感じのSidebarが作れました。

Amazon Check List #2: とりあえず必要と思われる機能は実装完了。ここでは例としてNowPlaying系のものを作ってみました。システム的にはASINをクエリとして渡すだけなので、Amazon.co.jpをタラタラ見ているときに「お! これ良い!」と思ったらBookmarkletからリストに追加とかできます。

BWS: getunread: Bloglines Web ServicesのPerlでの実装はそこかしこで取り上げられると思う(既にmiyagawaさんがWebService::Bloglinesというモノを作っていたり)ので、WSH + MSXMLでやってみようかと。てなわけで未読の一覧をHTMLにして標準出力テキスト・ファイルに吐くJScript、getunread.jsを作ってみました。テストも兼ねてなので、スクリプトを実行しても未読は維持されます。

Bloglines Web Services: 遂に来ました。RSS 2.0(or OPML) over HTTPな感じで、Basic認証で制限がかかるだけなので、簡単なPerlスクリプトとかでチェックすることが可能。

Amazonの画像置換 #3: AWSをガリガリいじってたら、通常の画像はimage/jpegなのに対して1*1のダメ画像はimage/gifなことにふと(今さら)気づいた。ので、画像置換のためのチェック方法にはContent-Typeを利用する方法もあるわけ。てかAmazon Hacksに載ってるらしいです(持ってない)。

Amazon Check List: ASINをクエリで送るとAWSでガリガリ情報を取得して、データ・ファイルに追加し、HTML/RSS/JavaScriptで出力できるというCGIスクリプト。RssMemoをもっとシンプルにして、Amazonと連携しようという感じ? とか、誰に聞いてるんだ。買い物メモとか買ったものメモみたいな感じで使うことを想定してたりしてなかったり。

SPAMSHIRT: 日々大量に送られてくるスパム・メールの件名をTシャツのプリントにしてしまおうという、SPAMSHIRTというサービスを見つけました。作ったら買えます。アイディアだけで既に勝ち組。

SecuniaのRSS: 数日前に知ったのですが、いろいろな製品のセキュリティ情報を提供しているオランダの企業Secuniaのサイトでは、advisoryとvirus alertsのRSSフィードをそれぞれ配信しています(トップ・ページの右下にリンクがあります)。短めですがそれなりにわかりやすい概要付きで、なかなか便利。

Meredith Brooks / Shine: レーベルとケンカばかりしてこのまま闇に消えるかと思われていたMeredith Brooksが突如としてニューアルバム、「Shine」を09/21にリリース。Alanis Morisetteのフォロワー的な評価で、イマイチ評価が低いような気がしますが、僕はかなり好きです。微妙にblack寄りになったみたいだ。

blosxom starter kit #24: blosxom starter kitとは直接関係ないんですが、本家MLの方に一味違うblosxomの多機能パッケージをリリースしたよという投稿がありました。違う名前にして欲しかったなとか。てか、英訳してくれたのかと思ったけど違ったよ。

FirefoxのuserChrome.cssネタ #2: 数日前には失敗(プロファイル作り直しの刑)したのですが、もう一度頑張って入れ直してみたらなんとかFirefoxの1.0 Preview Releaseを導入できました(結構苦労した)。ので、それに合わせて少しuseCrome.cssネタ追加してみたりとかしてみたりとかなんとか。ようやくFirefoxに洗脳されたみたいです。たまーにMoon Browserの方が起動が速くて良かったなぁとか思いますが、まぁまぁ慣れてきた感じ。

Blog Hackers Conference 2004: 来年もあるのだろうか? と勘ぐってしまうBlog Hackers Conferenceより帰宅。感想とかは書くのは他の人に任せて、気になった点を列記してみたりとか。何はともあれ会場の様子の画像から。

ページをめくる: International Herald Tribuneのウェブ・サイトの各記事のページは、3カラムの新聞ライクな構造になっています。そのカラムの最下段には(JavaScriptで)ページをめくるための画像が用意されており、それをクリックすると続きが読めたり。ブラウザ・ウィンドウの高さによって一度に表示される内容が変化したり、3カラムの右の任意の場所をクリックして次のページに進めたりと、かなり良くできています。まさに「ページをめくる」という感じ。

Bar None: icefireやCloud9ine (開発停止かも)をリリースしているk23 productionが少し前に出したボタン型ランチャー、Bar None。GeoShellのGeoBarっぽい見た目なもので、系統的にはClaunchと似てるかも。

The Secret Machines / Now Here Is Nowhere: 発売からかなり聞くことが多い、The Secret MachinesのNow Here Is Nowhereですが、日本版も発売されたことなのでピックアップしてみたり。3ピース・バンドとは思えない分厚い、けれども聞きやすい、そしてちょっと古臭いところがサイケデリック! 適当に書かれたレコード屋のアルバム紹介みたいな文章だ。

RSSの購読停止メカニズム: FeedDemon作者のNick Bradburyさんが自身のblogのAutomatic feed unsubscibeというエントリで、RSSの購読停止を機械的に行うためのアプローチを披露していました。410 Goneが返ってきたら自動的に購読停止するというアプローチで、htaccessを利用できる環境なら低コストな感じですね。

mod_rewriteでスパム対策: blosxomでのスパム対策は自分で考えたものも含め、いくつか紹介してきたわけですが、どれもwritebackプラグインに対策コードを追加という形を取っているので、blosxom本体が呼ばれまくるというのは避けられないものです。現に、ここ4日ほどランダムプロクシ経由で爆撃(1000近い)受け、ちょっと精神的によろしくない感じでした(全部撃墜できたので、さほど気にすることはないとは思うのですが)。そこで思い出したのが、mod_rewriteによるスパム対策です。

RSSにアクセス不能: 昨日のからついさっき(10:30くらい)までRSSがありとあらゆるRSSリーダーでアクセス不能になっていました。原因はhtaccessの記述ミスによる500エラーでした。今は直っています。申し訳ありませんでした。

FeedMesh: Weblogs.Comが作成(策定)した更新通知システム(weblogUpdates.ping)にちょっと機能不足な感じを抱いているのは世界共通なようで、その解消と共にRSSの帯域問題にも効果があるかもしれないFeedMeshというプロジェクトが始まったみたいですね。

ETag: If-Modified-SinceやらLast-Modifiedやらなんやらの絡みで、ETagなるものを調べていたわけですが、とりあえずあれば使うけどなくても別に・・・みたいなモノっぽい感じ。If-Modified-Sinceは、とりあえずLast-Modifiedを常に吐いて、受信ヘッダをチェックし適切に304を返してやるだけでOKな感じ。

RSS and Bandwidth: The RSS WeblogにMSDNのRSSが帯域を浪費して大変というエントリに関連した、その手のお話がいくつかピックアップされていました。全般的に、「受信側はちゃんとキャッシングしろ」で「送信側はちゃんとヘッダ吐け」みたいな感じですかね。

Tray Pilot Lite: タスクトレイを隠せるようになる常駐アプリケーション、Tray Pilot Liteを久々に使ってみたりとか。10分使ってすぐ飽きた。すっきりするけど使い勝手は下がる感じ・・・。

AlphaV: ウィンドウを透過させたり、サイズ変更不可能なウィドウのサイズを変更したり、ボタンを大きくしたりなどなど各種コントロールの状態をゴニョゴニョできるAlphaVというソフトウェアを見つけました(via SHELL EXTENSION CITY)。

paging plugin更新 #7: 一部環境ではうまく動かないとの報告を受けたので、blosxomの変数からむりやり各ページのURLを生成するバージョンを作ってみました。公開しているpagingプラグインがうまく動かない人は、差し替えてみるともしかしたら動いちゃったりするかもしれません。ちと適当気味(いつものことですが)なので、今のところ公開しているものの方を差し替える予定はありません。公開しているものの方で問題なく動いている人は差し替えない方が無難。

POPFile 0.22.0: 使っている人がどんどん増えてきた気がするスパム・フィルタリング・プロクシのPOPFileが0.22.0に更新されました。今回の更新で注目したのは二点。HTML::Templateにより完全にUIをカスタマイズできるようになった点と、そしてXML-RPCインターフェイスを備えた点。

RSSへのアクセス制限: 配信しているRSSへのアクセスを、IPアドレスとUser-Agentで一部制限をかけ始めました。独自のUser-Agent名を送信してくるRSSリーダーならば、大丈夫だとは思いますが、うまく取得できなくなってしまったという場合には報告お願いします。場合によっては仕様として対処できないかもしれませんが、多くの場合は対処できると思います。

宮尾本 平家物語: 来年の大河ドラマの原作になった宮尾登美子の平家物語を読んでみたり。まだ2巻中ほどで、義経は出て来てません(もうちょいだけど)。女がらみのネタが多すぎというか、平清盛が単なるエロオヤジで陰が薄い感じですが、それはそれとしてオモシロイかも。

Googleサマ: 購読しているblogのRSSから見つけたThings Google knows about youというエントリ(どこからか忘れた)。これを読んで、Googleにすげーいろいろ知られてるんだなぁと改めて思った。今さら何を・・・みたいな感じですがね。

wURLdBook: wURLdBookという、RSSリーダー付きなオンラインBookmark管理サービスを見つけました。Bookmark管理サービスとしては中途半端、RSSリーダーとしては一覧性に欠けるような感じで、かなり使いづらいかなぁという感想です。

ラロッカ三冠王?: とりあえず広島はチームとしてはもう何がなにやらわからないことになっているので、触れないで。個人タイトルを注目してみる。投手陣は・・・筆舌に尽くしがたいですが、打撃陣は成績の割りには奮闘。ラロッカ凄い。

Counting Crows / Accidentally In Love: Shrek 2のO.S.T.のリードトラックに選択されたCounting CrowsのAccidentally In Loveですが、日本では全然話題になってない気がする。そもそもCounting Crows好きな奴が少ないとか言う話もありますけどね。検索してもレコード屋とかチャートとかの結果しか。今までのCounting Crowsの楽曲とはちと毛色が違いますが、これはこれでイイ曲。売れてないけど。

BloglinesのSession: Bloglinesはかなり出来が良いとは思うのですが、時々(人によってはしょっちゅう)JavaScriptエラー(か何か)でブラウザが落ちる時があります。そういう時の多くの場合、未読記事を表示しようとしているわけですが、ブラウザが落ちてしまうとその未読情報が消えてしまって新着記事を探すのが一苦労だったりとか。最近気づいたんですが、そういう時は過去ログ表示のセレクトメニューからSessionを選んでやると良いみたいです。

BPT #3: エントリを読み込む: blosxomのプラグインから、任意のエントリを読みたい時はままあります。僕の作成したプラグインだとback_and_forthなどですね。blosxom本体でFileHandleというモジュールを使っているので、それを使って書くのが手っ取り早いです。

はてダラVBScript: はてなダイアリーへ自動書き込みするコマンドラインツール、はてダラをVBScriptでパクってみました。

last_modified plugin: 激しく作りかけなのでちゃんと動くか知りませんが、last_modifiedという、Last-Modifiedヘッダを吐き、If-Modified-Since付きのリクエストの場合は対応して304 Not Foundを返すプラグインを作ってみました。まだココでは使っていません。ローカルで動かしたblosxomをLiveHTTPHeadersとにらめっこしながらチェックした感じでは、304を吐いて$blosxom::outputを空にしてもちゃんとドキュメントが表示されるので、ちゃんと動いてそうな感じですが・・・。

Franz Ferdinand / Franz Ferdinand: もうかなり前に爆発的に売れ始め、未だに高セールスを維持しつづけているFranz Ferdinandのデビューアルバム、Franz Ferdinandですが、3か月くらい前に僕は買いました。その時は「んー・・・微妙・・・」みたいな感じだったんですが、最近になって聞く機会が増えてきたり。

A web standards checklist: Floatutorialを始めとして良質なCSSのチュートリアルを提供していたりするcss.maxesign.com.auを運営していたりするMaxdesignから、A web standards checklistなるウェブ標準チェックリスト(そのまんま)が(結構前に)公開されてます。

Customise entries_index plugin #2: entries_indexを久々にいじってみたり。1000エントリ超えてくると毎回ファイルチェックしていくデフォルトのままだときついんだろうなと。てか、前にやったのがうまく動いていなかったとかいう。何か月放置してるんだと。

YourTotalSite: YourTotalSiteは「helping you develop the web. better.」てな感じで、ウェブサイトをより良くするための技術情報などをまとめたサイトです(via Digital Web Magazine)。どちらかというとアクセシビリティーやユーザビリティにフォーカスしているらしく、Hack的なモノはない感じです。記事のスタイルはblog + linkblogですね。

Blog Hacks: Hack #79: もう第二刷! な、ぶろがーのますとあいてむBlog HacksのHack #79ではPerlでBloglinesの新着記事数をチェックするスクリプトのお話です。このHackの子見出しは、「WindowsやMac OS Xと違ってBloglines Notifierの用意されていないLinuxなどで・・・」となっていますが、現在はMozilla Extensionとして動作するものやKDE上で動作するものが公開されています。ので、通常はこちらを使った方が良いと思います。

Syndicationモジュール: RSSが帯域を食べる(なんかこのタイトル変だけど)で「そろそろ転送量きついかもー」みたいな事を書いたら、「syndication namespaceにて更新間隔を記載してみるのはどうでしょうか」とglucoseの方が提案してくださいました。あーそういやそんなものあったなぁとか。

コメント・スパム対策いろいろ: 既にそれなりの効果を上げているものから妄想段階のものまで、コメント・スパム対策を羅列してみる。とりあえず10個。とりあえずて。ちなみにうちでは3つほどを連続でチェックしてます。現状では95%近く拒否できている模様。みんなでやればきっと楽しいいたちごっこ!

日付けと時刻を挿入マクロ: ごく普通の形式やW3CDTFの形式、RFC 822の形式をポップアップして挿入する秀丸マクロを作った。今まではW3CDTFの形式のものだけ使っていたんですが、なんとなくRFC 822の形式も追加してみたり。

RSS 2.0 Notes: 日本ではいまいち使われないRSS 2.0の説明書になっていそうでなっていない各要素の説明ページを書いてみました。半年くらい前に書こうとか思ってたんですが、書いては消し、書いては消しみたいな。元のHTMLのソースが酷いのが悪い。とか責任転嫁をしてみる。

RSS 2.0 Notes: この文書はRSS 2.0 Specificationを元に、RSS 2.0を解説したものです。正確な仕様についての情報を得たい方は、上記URLを参照してください。

gentime plugin: ページの生成にかかった時間を表示する、gentimeというblosxomのプラグインを作りました。plugin registryにあるrendertimeと似たようなものです。

Customize writeback plugin #11: writebackの投稿されたコメントのマークアップをpでうまくどうにかするようにしてみました。うまいこと動いてる模様。

Markdown: いろいろなWikiでの記法を始めとして、HTMLに変換することを前提とした記法はいろいろあります。その中で、僕が最もtxtとして可読性が高いんじゃないかな? とおもっているのがMarkdownです。そのMarkdownが1.0としてリリースされました。

RSSが帯域を食べる: バクバクモリモリ食べてる、そんな感じです。XREAでは1GB/日という転送量の制限(目安としてらしいけど)があるので、そろそろマズイ感じです。とりあえず暫定的な対処として、各RSSのitem数を15から10に減らしました(一部のRSSを除く)。適当に計算した感じでは3/4くらいに転送量が減る・・・かなぁ? この対処により一部のRSSでは記事が飛ぶ可能性がありますが、まぁそれは仕様ということで何卒(なにとぞ)。

1000エントリまでの道: 1年と3か月ちょっとでようやく1000エントリに到達しました。1000エントリまでの推移を興味本位で調べてみる。ということで1000ゲットズサー(←これを書きたかったらしい)。

TrackBackでエントリを作成: miyagawaさんが作ったMetaWeblog API経由でエントリを作るスクリプトを見てて、TrackBackでblosxomのエントリを作成するCGIとか作ってみようかなと思った。blosxomのエントリはタイトルと本文だけの構成なので、TrackBackのパラメータ構成とも矛盾せず、拡張する必要もない。問題はパスワードくらいだけど、それはblog_nameをパスワードとみなすようにスクリプトを組めば良いかもしれない。

Customize writeback plugin #10: 久々に本腰を入れてwritebackをいじり始めてみる。ローカルでホニャララしつつ、アップロードして確認。そしてうっかり500エラー。以上の繰り返しでいろいろやってみる。blosxom本体にCGI::CarpのfatalsToBrowserを追加して簡易チェックという手抜きっぷりで!

BPT #2: 独自flavourを利用する方法: blosxomの出力に、プラグインで生成した何か(大抵の場合はHTMLとか)を追加したいことは良くあること、というか半分以上のプラグインはそういった類いの機能が目的なモノだと思います。この場合、ごく単純なもの(単なるリストとか)を生成する場合にはプラグインのコードに直接HTMLなりなんなりをガリガリ書いてしまえば良いのですが、それなりにユーザーに出力いじれるようにするためには何かしらのテンプレート・システムを採用する必要があります。そのシステムはプラグイン内で独自に作り上げてやっても、HTML::Templateなりを利用しても良いのですが、blosxomにはせっかくflavourという仕組みがあるのでそれを利用しない手は無いでしょう。

weblogUpdates.pingはなかったことに: weblogUpdates.ping の拡張メモから頭に浮かんだ妄想の類いのエントリを書いてみる。weblogUpdates.pingはblogのタイトルとURLだけなものなので、それらの情報に加えてエントリのURLとタイトル、概要が既に定義されているTrackBackを利用しちゃえば良いんじゃないかなとか。既にあるものの別な利用に過ぎないので、拡張するよりもツール側の対応も楽勝! とかなんとか。

Blog Hacks: Hack #16: 読んで楽しいHackしてて楽しいBlog HacksのHack #16では、任意のRSSの内容を自分のサイトに埋め込む方法として、Feedrollを取り上げたわけですが、どうやら任意のRSSのURLを入力することが出来なくなったみたいですね。というわけで代替となりうるサービスをいくつか紹介してみる。

paging plugin更新 #6: 場合によって負のページへのリンクが出力されるバグの修正と、Ck2 Bloggerの検索結果にもページめくりというエントリののコードをアレンジしてマージし、pagingを更新してみる。

BPT #1: エントリごとのページの閲覧かどうかを判定する方法: blosxomのプラグインを作成する時に、エントリごとのページを閲覧している場合のみに動かしたいと考えることは良くあると思います。僕の作った物の中では、one_year_agoなんかがそうですね。その判定はどうやるのかということですよ。

Blog Hacks: Hack #5: 読後の感想などもちらほら見かけるようになったBlog HacksのHack #5はご存知Bloglinesの解説なわけですが、7月の大幅なリニューアル前に書いた文章なので、かなりの部分で食い違っていたりします。いくつかピックアップしながら書いてみよう。かな? 新たに追加された機能は、気が向いたらそのうちに・・・。

Firefoxのフォーム履歴: IEではフォーム履歴(オートコンプリートの)を選択した状態で、Deleteを押すと履歴が消せますよね。Firefoxでも同様のことが出来ないのかと思っていたら、履歴を選択した状態でどうやらShift+Deleteを押すと消えるみたいです。プロファイル・フォルダにあるformhistory.datが壊れていたりする場合は、うまく動かないらしいですけど。やっぱり無い訳は無いか。

blosxom starter kit #23: blosxom starter kitのwikieditishの中途半端なプレビュー機能が気に食わないので、ライトウェイトで改造するにもやりやすいJavaScriptでのプレビューに差し替えました。その他にちょっと手を入れて、1.1.2に更新。

Baldur's Gate III発表: 諸事情(明かされない)により開発断念とか言う惨状だったBaldur's Gateの続編ですが、Atariが「売るよ、ベイベー」とおっしゃったようです。とりあえず採用されるルールすら決まっていないどころか、開発も決まってないような感じ。下手をするとPS2でリリースとかありうる。forGamer.netに専用ページも出来てました。

paging plugin更新 #5: ここでも使うようになったpagingですが、バグはなさそうなので、blosxom pluginsの方で公開しました。前回のエントリから更新されてはいません。

File::Pathモジュール: パスを指定して部分的に静的生成するblosxomのプラグインを作っていたのですが、存在しないディレクトリ以下にファイルを吐き出すときに、再帰的にディレクトリ作成をするコードを書くのがメンドウだったので、CPAN漁ってみました。File::Pathというモジュールにそういったサブルーチンがあるようで。

blosxom plugin template: blosxomのプラグイン・アーキテクチャは結構わかりやすいと思うので、書きやすいとは思うのですけど、プラグインのドキュメントがひたすら読みづらく、「このサブルーチンはどんな変数を渡してくれるんだっけ?」とか忘れると読むのが非常にメンドウです。しかも、一部間違ってたりする。なので、僕はあまり考えずにプラグインを書き始めることができる様に、テンプレートを作ってます(本当はもっと日本語でコメントを入れてあったりする)。

paging plugin更新 #4: pagingプラグインでは、最初と最後のページへのリンクを作成しているので、ついでにrel属性がfirst(last)なlink要素も生成してみるようにする。これでFirefoxのLink ToolbarというExtensionのボタンが全て埋まった(なんか間違ってる)。他に、微妙にコードを書きなおしてみたり。今のところはベータ版扱いで、blosxom pluginsの方では公開はしません。使いたい場合は直接ソースをダウンロードして、適当に頑張ってください(そろそろ)。

Blog Hacks: Hack #49: 各所で絶賛されているとの噂のBlog HacksのHack #49の「HackをさらにHackする」に、「リンク集など任意のWebページから」云々という文章が書いてあるようです。「ようです」とか書いてみる。この文章がいまいち意味不明なので、説明がてら。

敷居の住人: 「オススメ!」とか連呼されたので、敷居の住人を一気読みしてみる。背中がむず痒くなるようなお話でしたが、オモロカッタ。最近、こういったテイストのマンガが売れることが多いような気がしますね。10年以上前にも波があったような気がそこはかとなく。定期的に来るものなのか。

WORM_RATOS.A: エライ勢いでphotosという件名で、photos_arc.exeという添付ファイル付きのメールが来ますね。気づいただけでも80通近い。休みだからか。

wikieditishでプレビュー: wikieditishにプレビュー機能を・・・というのは、プラグインに機能追加という形で考えていた(blosxom starter kit 1.1以降には隠し機能として既に存在します)のですが、落ち着いて考えてみるとPerlでゴニョゴニョやる必要もないわけで、JavaScriptでやろうかなという方向に落ち着きつつ。リアルタイムで結果を表示できるとか利点もあるし。

IntelliPoint 5.2: 任意のキーボード操作の割り当て機能とプログラム固有の割り当て機能が復活し、IntelliPoint 5.2が出ました。この2つ以外に変わった点は知らない。

blosxom starter kit #22: wikieditishのTrackBack送信機能のバグを修正し、blosxom starter kitを1.1.1に更新しました。手元で設置したものではうまく動いているので、多分コレで問題無いです。きゃーさん、ご報告ありがとうございました

blosxom starter kit #21: wikieditishとwritebackをいじって、blosxom starter kitを1.1に更新しました。スパム対策しただけとも言う。

Web Accessibility Toolbar: Internet Explorerで開いているドキュメントをいろいろなツールでチェック出来たりするWeb Accessibility ToolbarというIE拡張を見つけました。ぶっちゃけWeb Developer Extensionのパクり+α。Web Accessibilityと銘打っているだけあって、ページをグレースケールにしたりとかアクセシビリティーのチェックに使える機能もあり、その点でWeb Developer Extensionより多機能ではあります。

僕のwriteback: プラグインのディレクトリを403にした関係で、困っている人を何人か見つけた、そしてメールで「ヨコセ!」言われるので、とりあえず他のところに置いておいたりしてみる。コメント無しで設定があったり、いきなりプラグイン内部でゴニョゴニョやってたりと非常にアクロバティック(=美しくない)コードなので読みづらいでしょう(てか、自分でもたまに読めなかったりする)が、頑張ってください。

Technoratiのトラブル: 私的には面白いんですが「リファラと何が違うの?」的な意見も多くイマイチ感が強い、TechnoratiのLink Cosmos。最近、デザイン変更と共に、APIサーバーもアップデートしたらしく、速度的にはそれなりに改善されてきたような。しかしながら相変わらず意味不明な検索結果を返したりすることも多く、結局微妙。それなりに日本語に対応してたりして良いサービスなんですがね。

仁王: 日本最強の転職データベースなる仁王というサイトがオープンしたそうです。ジャンルごとにRSSで新着求人情報を吐いていたりするみたい。Y!ライクなシンプルなデザインで見やすい。ただ、なぜ「仁王」なのかが凄く苦しい理由なのが。「編集部ブログの方でblosxom starter kitを使わせていただきました」とメールで連絡いただいたので宣伝がてら(別に何か貰える/貰ったわけではないですけど)。

blosxom starter kit #20: TrackBackスパムへだけ対処するのは片手落ちなので、コメントスパムへの対処もしようとコードを書いてみました。大体うちで利用している対策と同じコードなので、問題はないと思いますが、環境(blosxom starter kitの利用の仕方と言った方が正確)に依存しそうなので、とりあえずのところは差し替えるためのwritebackのソースのみの公開にしておきます。

blosxom starter kit #19: writebackがXSS脆弱性を抱えている指摘を受けたので、それに対処し、blosxom starter kitを1.0.3に更新しました。その脆弱性とは「writebackのパラメータに特定の文字列をセットして投稿すると、任意のJavaScriptコードを実行されてしまう」というもので、危険度は高いです。オリジナルのwritebackでもflavourの書き方によっては似たような脆弱性を抱えますので、オリジナルを利用している方も注意した方が良いかもしれません。MayimMayimさん、ご報告ありがとうございました。

blosxom starter kit #18: てなわけで(とフリもないのに)、遂に公開されたTrackback の脆弱性についての勧告ですが、とりあえずは08/13に攻撃コードが公開されてしまうので、writebackに対策コードを追加して、blosxom starter kitを1.0.2に更新しました。

paging plugin更新 #3: 使い始めたらpagingプラグインはけっこう気に入った(作るのが楽しいだけという噂もちらほら)ので、出力するページ数を設定できるようにしてみました。今のところはベータ版扱いで、blosxom pluginsの方では公開はしません。使いたい場合は直接ソースをダウンロードして、適当に頑張ってください(まだまだ投げやり)。

Blog Hacks届きました: Blog Hacksが本日届きました。本当は昨日。なぜか不在者通知に。コレで僕もオライラー(と真似てみる)。

paging plugin更新 #2: 付け忘れていたlink要素を出力する機能と、出力されるリンクのリンク先URLの調整をして、更新。今のところはベータ版扱いで、blosxom pluginsの方では公開はしません。使いたい場合は直接ソースをダウンロードして、適当に頑張ってください(常に投げやり)。

paging plugin更新: とりあえずこのblogでも使い始めました。大抵の場合、一番下に見えます(月ごとやエントリごとでの閲覧の場合は見えません)。不具合があった場合はpaginate_simpleに戻してしまいますけど。今のところはベータ版扱いで、blosxom pluginsの方では公開はしません。使いたい場合は直接ソースをダウンロードして、適当に頑張ってください(投げやり)。

Firefoxでeval(): 訳のわからんタイトルだ。以前書いたFirefoxでperldocと似たような感じで、ロケーションバーでJavaScriptを実行してみようとかいう。

秀丸エディタ 4.10: 秀丸エディタが、タブ機能の実装や文字コード関連の詳細な設定など、大幅に機能追加され、4.10にバージョン・アップされました。タブ機能は、個人的にはSDIで良いかなぁ(というか慣れてしまった)とかいう感じですが、別にあって困るものでもないので。HTMLファイルではmeta要素を解釈してその文字コードで開いてくれたりするみたい。自分の中で最も大きなポイントは、ウィンドウの大きさを記憶するようになったことですかね。あとは強調表示一覧のサイドバー化。サイドバーに切り分けられたことによってすっきりしたのと共に、明確に一覧が把握でき、簡単なアウトライン機能として使えるようになったとか。

PerlのモジュールのチェックするCGI: Perlのモジュール名を入力してボタンを押すと、そのモジュールがロードできるかどうかと、ロードできた場合はバージョン番号も表示するという、なんてことはないCGI。稀に使う。

自分が所有するドメインのASIN: A9というAmazon.comのWeb検索エンジンがありますが、その機能のひとつにAlexaと連携したSite Infoというドメインのアクセスやトラフィック情報が取得できるというモノがあります。Alexa本家(って言ってもAmazonの完全子会社だけど)のものと変わらない内容なのですが、Amazonが提供しているだけに、ドメインにASINが割り当てられていたりする。てなことを、気が付いたりする。かなり、今さらっぽい・・・。

挙動不審: 最近、諸事情(!?)により道を歩いているときにキョロキョロしておもむろにパシャッとか挙動不審な人をやってるわけですが、そこらのカフェで休憩ついでに他の人はどうなんだろう? と30分くらい観察してみました。みんなわき目も振らず歩いてる。

水玉ゼリー: 僕の地元の丸井には、茅ヶ崎の海鮮料理屋えぼしの支店があるわけですが、レストラン・フロアだけでなく、食料品フロアにもお弁当やお惣菜を出す店舗があったりします。まぁ果てしなく普通にウマイ、というか「魚ってうまいよなぁ」と心の底から思える、スバラシイお店なわけですよ。

My Own CDs: 自分の所有CDを管理(そして気が向いたら公開)するためのXMLファイルの作成を始めてみる。とりあえず勝手なXMLなフォーマットを捏造することから着手。別にローカルで管理するだけの話(公開する時は(X)HTMLにすれば良いし)なので、別にどんな形でもいいかなとか思いつつ、XMLに見えるモノならなんか規格が出来た(規格を見つけた)時、簡単にそれにあわせてやることが出来そうなのでXMLにしてみる。

pluginsディレクトリ: pluginsディレクトリから直接プラグイン・ファイルを拾っていく人が多い(僕がリンクを張っていたからなんだけど)のですが、どうも設定をまるで書き換えずに置いちゃったりする人がけっこういるので、.htaccessでpluginsディレクトリ以下をアクセスできないようにしました。その結果403が返ってくるリンクが過去のエントリに含まれているかもしれません。とりあえずリンクは外せるだけ外しましたが、全てのエントリを編集するのは困難というかメンドウなので、うちのドメイン内のURLで403(ついでに404も)が返ってくるリンクがあったら教えてくれると助かります。

flavour無しpermalink: 本家MLの方で、flavour無しpermalinkを実現するパッチが投稿されたんですが、これはちょっと微妙かなと。まぁ確かに実現できているといえば実現できているのですが、うまいこと$default_flavourを利用してくれはしないような感じなので、別の方法をとにかく考えてみようかと。前に考えた時はうまく思いつかなかったんですが、今日は数分で思いついたりした。

Final Fantasy I・II Advance: ラミアクィーンに挑戦すること20回目になりますが(テレポでここではないどこかに捨ててるだけだけど)、リボン落としません。というわけで、GBA版Final Fantasy I・IIやってます。IやったりIIやったりしてたりする。Iは土のクリスタル後に潜れるようになる「だいちのめぐみのほこら」で四苦八苦中。IIは闘技場手前。

さんりおぶろぐ: さんりおのかわいいきゃらくたーとぶろぐできるさんりおぶろぐが! きてぃーちゃんのかおもじとか! ぱーまねんとりんくの「こめんと」とかかいてあるりんくをくりっくするとらいとばっくってなってる! ってことはblosxomかいぞうものなのかな?

Pearl Jam / Live At Benaroya Hall: 昨年10月に行われたアコースティック・ライブの模様を収録した、Live At Benaroya Hallが発売! 完全にUnpluggedと言うわけではないですけど、Pearl Jamらしいアコースティックさ(どんなんだよ・・・)が出てる良いCDだと。

Blog Hacks: 「当初の発売予定は3月だっ・・・うわなんだymdhgkj」。ということで、ついにmiyagawaさんとnaoyaさん共著の「Blog Hacks - プロが使うテクニック & ツール 100選」が08/07に発売決定。サマソニと同時開催(なんか違う)のLL Weekendでも即売されるそうです。僕もいくつか書いている気がしますが、もう忘れました。

Bloglines Checker v1.2: 要望に答える形で、設定を追加し、Bloglines Checkerを1.2に更新しました。

NBAのディビジョン再編成: すっかり忘れていたんですが、04-05シーズンからNBAのディビジョンが再編成されるんでしたね。ということで愛するTimberwolvesのディビジョンを調べてみる。03-04シーズンの勝敗付き。

one_year_later plugin: 一年前の同じ日に書いたエントリをリストにして表示する、one_year_laterというプラグインを書いてみました。訪問者がアクセスしたその日の1年前ではなく、各エントリの日付けの一年前です。このサイトの各Permalinkで動作サンプルを見ることができます(One year later...とタイトルがついているブロック)。

MT3互換flavour: ヒマに飽かして、Movable Type 3.x互換flavour作ってみたら、こんな感じになりました。2.xに比べると、格段に綺麗になってますね。

YouSendIt: 最近はメール・サーバーの容量が増えたりして、メールに大きなファイルを添付するのもあまり気にならなくなってきたとは思うのですが、できることなら大きな添付ファイルは避けたいと思う人は多いと思います。YouSendItは、1GBまでのファイルをストレージ(多分、一時的にだと思います)してくれ、指定メール・アドレスにそのファイルをダウンロードすることができるページのURLが書かれたメールを送信してくれるサービスです。すばらしいことにユーザー登録などわずらわしい手順が必要なく、送りたい相手のメール・アドレスを入力し、ローカルのファイルを指定して、submitするだけ。

Firefoxでperldoc: ふと気づくとシェルやコマンド プロンプトで、perldoc LWP::UserAgentとか叩いてたりする、そんな毎日。まぁこれで特に困らないのですが、search.cpan.orgではHTMLで見ることが出来るので、最近はそっちを見ることが多くなってきました。ので、Firefoxのロケーションバーでperldoc LWP::UserAgentと打つと、ダイレクトにモジュールのドキュメントを閲覧できるようにしてみたりする。

ボトルキャップ三脚: そこらの工具屋で売っているボルトやナットで、ペット・ボトルのキャップをカメラの三脚を作ってしまおうという、なんとも使い道が有るのか無いのか良くわからないネタをJake Ludington's MediaBlabのDIY Bottle Cap Tripodというエントリで発見しました。

paging plugin: ココの場合は、とりあえずのところ、paginate_simpleで前後のページを辿れるので、あまり問題はないかなぁという感じなんですが、Googleの検索結果ページみたいにずらっとページが並んでて一気に戻ったり進んだりできると楽しそうだなと思ってはいます。というわけで、突如pagingプラグインを作り始めたりする。

fixed for IE: 少し前に見つけたInternet Explorerでposition:fixed;を実現するテクニック。どうしてもfixedのようなことを実現したい場合は、JavaScriptでやってしまう人が大半だと思うので、ホホゥ程度のものなのかもしれない。「できないことはないぞ!」とか「できちまったぜ!」という感じですかね。

シンクロニシティ: 共時性。因果律では説明できない事象を説明するための考え方。元々は「ある人物が頭に思い描いた事象と現実の出来事が一致すること」という意味のユングの用語だが、現在は偶然の一致とほぼ同義に使われることも多い。

Macromedia Web Publishing System: Studio MXやFlashPaper 2、Contribute 3、Contribute Publishing Servicesをまとめて、Web製作に関わる全ての人が、自分のやるべきことに集中できるようになるソリューション、Macromedia Web Publishing Systemの発売がアナウンスされました。features overviewなんかを見ると、「すげー!」とか「楽できる?」とかそんな感じでウハウハなんですが、それはまぁContributeで痛い目にあった人には眉唾って感じ?

ひらがなを含まないコメント: コメント・スパム対策に「ひらがなを含まないコメントを受け付けない」という考えを思いついてみる。似たようなものにASCIIのみのコメントを弾くという手法があり、これがとても有効なので、そこまでしなくても・・・という感じではありますが、こうするとマラヤラム語やアフリカーンス語のコメント・スパムや、ASCIIじゃないんだけど欧米では比較的良く使われる文字(©とか€とか)を含むコメント・スパムも弾けそうかなと。

Keyword検索: Firefox(Mozillaもだけど)ではBookmarkにKeywordを付けておくと、そのKeywordでそのbookmarkを一発で開くことが出来ます(言葉にするとややこしい)。その時、そのBookmarkのURLに%sが入っていると、Keywordに続けて打った文字と%sを入れ替えて開いてくれるそうです(これまたややこしい)。そんなことをIRCでサンバ大好きkengoさんに少し前に教えてもらいました。まーぶっちゃけIEのSearchUrlと同機能+α(こっちはURLエスケープしてくれる)。

latest_entries plugin: MLでheadlinesプラグインとかの話が出たのでちょろちょろと最近のエントリ一覧のリストを作り出すプラグイン、latest_entriesを作ってみる。コード自体はsame_categoryプラグインとほとんど一緒だったので、10分くらいで作れたりした。

RSSリーダーと404 Not Found: このサイトではいろいろなウェブ・ページからRSSを生成して配信したりしているわけですが、都合(公式と被ったとかうまく生成できなくなったとか)により配信を停止しちゃったりします。その場合は何も考えずにRSS自体を削除し、404 Not Foundを返しているわけですが、いつまでたっても読みに来る人とかいたりする。

same_category plugin: same_categoryプラグインは、エントリごとのページに同じカテゴリ(子も含む)の最近のエントリのリストを表示できるようにするプラグインです。同様のものにhotlists(多分)やfriendentriesがありましたが、なぜか自作する。

お知らせ: サーバーの設定がおかしかったのか、しばらくの間、ページがうまく開けない状態だったみたいですね。16時くらいに直せた気が。

タイトル・パラメータをコメントのフォームから削除: コメントつける時にタイトルを考えるのは苦痛だと思うので、フォームから削除してみたりする。なんか凄くいまさらな作業だ。

メニュー・カラムの調整: 検索フォームとグローバル・メニューの位置を入れ替えてみる。アクセス・ログをタラタラと見る限りでは、グローバル・メニューを辿る人よりも検索使う人のが多そうという見解に達したので。検索フォームは小さいので、グローバル・メニューを辿ろうとする場合にも、邪魔ということにはならなそうですしね。

XooMLe: XooMLeは、SOAPで提供されているGoogle Web APIsを、XML over HTTP(RESTで良いか)ラップするPHPスクリプトです。XSL書いたりするだけで、手軽にGoogle Web APIsを扱える、つまりAWSのRESTとほぼ同じ感じで扱えてしまう代物。

FOAFをブラウザで表示する時にblogのエントリのタイトル一覧を埋め込む: なんとなく気が向いたので、XSLを利用して、FOAFをブラウザで表示する時にblogのエントリのタイトル一覧を埋め込んでみる。IE6やFirefoxではうまい具合に表示されました。RSS 1.0のファイル名が決め打ちなのがイタダケナイ。

FirefoxのuserChrome.cssネタ: FirefoxのuserChrome.cssに書いたら便利そうなものをメモするエントリ。Firefox Helpに載ってないもの限定で。Firefox限定って訳でもないか。随時更新ということにしておく。

Tabbrowser Extensions 1.10.2004070901とBloglines: 先ほどFirefox Extensionsの新着情報のRSSを作成した関係で、Tabbrowser Extensionsが1.10.2004070901に更新されたことに気づきました。そしてインストールしてBloglinesを開こうとすると、一般保護エラー。たまに開くことは出来ますが、フォルダをクリックしてもうんともすんとも言わなくなりました。

Firefox Extensions and Themes: Mozilla Updateで見ることの出来る、FirefoxのExtensionとThemeの新着情報からRSSを生成し始めました。FirefoxのOptionsでSoftware Updateでも良い気がしますが、これはあくまでもインストール済みのものの更新チェックですしね。

Amazon Web Services SDKのドキュメント: ブラウザで開く度に「ガガガッ」というけたたましい音を鳴らしてくれるAmazon Web Services SDKのドキュメント。なんでフロッピー・ディスクにアクセスしにいくのだろうと思いつつ、たまにしか読まないので放置していたのをとりあえずチェックしてみたら、link要素のhref属性の値がfile:///A:/...とかになってたよ。なんじゃそりゃ。

MSN Messengerから任意のブラウザを起動: MSN MessengerがURLを開くブラウザを決定する挙動が、大体つかめた気がするので、手順を書いてみようかと。かなりアクロバットなレジストリの参照の仕方をしているなぁという感想。普通にhttpの関連付けから起動とかで良いじゃん。

MSN MessengerからFirefox: MSN Messengerの会話中のURLをクリックすると、IEが立ち上がってくれるわけで、Moon Browser愛用の頃から、どうにかならんものかと思っていたわけですが、出来ないことは無いらしいという噂もあることですし、ちょっと真面目に調べてみようかなと。と思ってごちゃごちゃやったらFirefoxが立ち上がるようになったっぽい。

花ざかりの君たちへ: 最近、「花ざかりの君たちへ」を20巻まで一気に読みました。面白すぎ。なんつーか、すげぇな、これ。22巻まで出てるんですね。とりあえず買おう。

Brand-new Bloglines: 方々で話題になっていますが、Bloglinesが全面リニューアルされました。

alternative shell? by Rollup: 昔取ったRollupのアカウントを使ってExplorer互換シェルの情報をまとめてみる。Bloglinesにぶち込んでいたのをまとめただけなんですがね。あんまりプライオリティ高くないので、こっちで見た方が良さげな気がする。Rollupは上記URLのように、HTMLとしてまとめてくれるだけでなく、RSSも吐いてくれるので、それをBloglinesで読めば済む話だし。

RSSリーダーのシェア変化: 先々月あたりから、RSSリーダーのシェアには微妙な変化が現れているようです(あくまでもうちへのアクセスではですが)。その変化とは「国産リーダーが明らかに増えた」というもの。そこかしこで特集が組まれており、そこではやはり国産のものが(多少機能は劣っていても)紹介されたりするのが大きいんでしょうね。

Josh HommeとPolly Jean Harvey: Queen of the Stone AgeのフロントマンであるJosh HommeとPJ HarveyであるところのPolly Jean Harvey、この二人は昔付き合っていたのか! とか、今さらThe Desert Sessions, Vol. 9-10を購入していろいろサイト見てたら気づいた。ファン失格気味。

Bookmarkletからクリップボードに文字列をコピー: 前回のエントリの応用で、Bookmarkletからクリップボードにコピーすることも出来ました。なにげに便利。てか、もうこれ無しでは生きていけない予感。

Firefoxのソースの表示を任意のエディタで: Firefoxで、閲覧中のページのソースを任意のエディタで開くという機能を提供する拡張はいくつかあるのですが、サブ・メニューにあったりするのがかったるかったり、もう探すの飽きてきたので、どうにかBookmarkletで出来ないかと画策していました。ムリっぽい・・・と思ってたけど、かなり強引なやり方で出来たりした。

ITmedia dev blog/CMS: いろいろなサイトで触れられていますが、ITmediaでBlogツール/サービス、コンテンツ管理のニュースとしてdev Blog/CMSというチャンネルが新設されましたね。とりあえずほにゃららしてみる(今後生成しつづけるかは未定)。なんとなく言葉の端々から「devとか言ってる割りには、開発してる人の実感がこもっていない」みたいな感覚が。あとURLがcommunityってのはどうかなとか。

ひぎつねけんさくせっと: バックアップ(自分の)のために、Firefoxのsearchpluginsフォルダの内容を書庫にして置いてみる。たまにバージョン・アップする時に上書きして消しちゃったりしない? Firefoxのアーカイブに含まれる奴に上書きされるような名前つけている僕が悪いのですが(この書庫ではちゃんと分類した)。

Find TrackBack ping URL: miyagawaさんのエントリを見て、「TrackBack Auto-discovery用のRDFはコメントアウトされているから、innerHTMLとかじゃなくて、ドキュメントのノードを全てチェックし、nodeTypeが8かどうかをチェックすればコメントを抽出できるので、そこから正規表現かけてやればTrackBack ping URL探せそう!」と思ったのでシコシコ作ってみました。

Eddie: こうさぎ(今は押し入れで飼っているので、ここにはいないけど)につけた名前「Eddie」はEddie Vedderからです。で、最近、彼を見るたびに関根勤に見えて困ってると言う話です。

Associate This (with image)!: Firefoxに暫定的に移行中なので、IEのMenuExtで愛用していたAmazonの個別商品リンクを画像付きで作るスクリプトをBookmarkletにしてみました。IEのMenuExtではevent.srcとかで画像のURLが簡単に拾えるので、簡単だったのですが、Bookmarkletではちっと苦労しました。が、ソースのimg要素を全部調べ、src属性にMZZZZZZZが含まれるかどうかを調べれば良いことに気づいたあとはけっこう簡単でした。

blosxom starter kit #17: blosxom starter kitを1.0.1aに更新しました。modifiedをmodifeidとか書いてたよ。

Firefoxに移行?: なんとなくFirefoxをメインにしようと作業してました。IEのアレな穴(こう言うとエロい)が、さすがにちとやばそう(フラフラとあまり考えずにいろいろなところ開くから)なので、とりあえずは一時的に移行。穴が塞がるまでにこっちに慣れてしまったらそのまま使いつづけることになるでしょう。

ななみちゃん: 木の実から生まれたななみちゃん! 一代前のキモイポリゴンキャラクタとは雲泥の可愛さですね。

Vector 新着ソフトレビュー: Vectorの新着ソフトレビューがオフィシャルにRSSの配信を始めました。この新着ソフトレビュー、最近は妙に商売っけを出している気がしますが、まぁ○○○○○○○な感じですかね(わからないよ)。

Customize breadcrumbs plugin: BBSにて、パン屑リストを生成するプラグイン、breadcrumbsの改造を頼まれたので改造してみました。内容は「エントリごとの閲覧の場合、最後がエントリのファイル名になっているのを、そのエントリのタイトルにする」というもの。

エントリのファイル名: エントリのファイル名をいじった関係(わかってないけど多分)で、ココのトップページに過去のエントリがずらっと出てきてしまいました。はてなアンテナとかでうざったいことになってたりする。ごめんなさい(心をこめて)。ついでになんか書いてみよう。

googlebot plugin: V. W. MarshallのIn Which the Fly Invites the Spider Into His Parlorと言うエントリにinspireされて(inspireとはパクったのを誤魔化したい時に使う言葉です)、Googlebotが自分が設置したblosxomのどこかしらのページをクロールした時メールを送信するプラグイン、googlebotと言うものを作ってみました。

PJ Harvey on Glastonbury 2004: PJ HarveyのGlastonbury 2004でのパフォーマンスのWebcastを見てました。文句なし。最新アルバムからの曲が中心でしたが、昔の曲もいっぱいあったすばらしい1時間は、"To Bring You My Love"で終わり。MCの時の声がカワイイ。

AdSenseの代替広告をAWSで #2: AdSenseの代替広告をAWSでの続き。このエントリの追記で、ページ自体のランダム化はできたのですが、これでは各ページの最初のアイテムしか出てこないので、どうにかしてランダムの順位のアイテムを出そうといろいろいじってました。XSLファイル内ではどうにかできそうもないので、各順位を取り出すXSLファイルを10用意し(1ページに付き10アイテムなので)、AdSenseのJavaScriptコードの方でランダムにそれを呼んでやるという手段になりました。

AdSenseに234*60のフォーマットが追加: Google AdSenseで234*60という大きさのフォーマットのバナーが始まりましたね。このサイトはVerdanaなので、Verdanaで提供されるフォーマットが良いなぁと前から思っていたのですが、サイズ的にダメなモノばかりで、Arialな120*240を利用していました。この新しい234*60の大きさのものはVerdanaでかつコンパクトと、かなりツボ。なので、早速差し替えてみたり。

Atomのmodifiedとissued、created: Atomのentry要素では、最終更新時刻を示すmodified要素と公開時刻を示すissued要素、そして作成時刻を示すcreated要素の3つで各エントリの様々な時刻を表現できるわけですが、統一感に欠ける印象の仕様で厄介かなぁと。ま、知ってりゃ機械的に処理できるので問題無いといえば問題無いんですが。

ハッキングLinuxザウルス: ハッキングLinuxザウルスというLinuxザウルス(ザウルスのSLシリーズ)を使い倒す本が刊行されています。CGI実行環境を構築するという章(4.2)で、blosxom starter kitを紹介してもらい、本を頂きました。

Lollapalooza中止: チケットの売り上げが芳しくないため、今年のLollapaloozaは全て中止だそうです。マジスカ。

blosxom starter kit #16: blosxom starter kitを1.0.1に更新しました。writebackでコメントを投稿すると、改行をbr要素に変換する機能を付けただけです。他にも何かつけようかなとか思ったのですが、特に何も必要では無さそうな気がしないでもないので、これだけ。

Customize archives plugin #2: archivesプラグインを拡張して、tDiaryライクな横並びの月別ページへのリンク・リストを生成できるようにしてみたり。

黒田初完封: いまいち調子の上がらなかった黒田がようやく今季初完封。ま、昨日のピッチングくらいはやってもらわないと困っちゃいます。いや、完封しろということではなく要所で三振 & 四死球与えないというピッチング。

Customize paginate_simple: paginate_simpleを拡張して、phpBBとかにあるようなページ番号のリストも出力するように・・・しようとして挫折したとかいう。

Site-Flavoured Google Search: AdSenseと連携したGoogle検索が話題になってますが、Google labsの方では、Site-Flavored Google Searchというものが公開されていました。あらかじめ指定したカテゴリに属すると思われるGoogleの検索結果のプライオリティをあげるというもの(多分)。

GetUnreadMailNum: 僕は鶴亀メールを愛用していているのですが、「未読メールがあるかないかしかわからず、総未読メール数は鶴亀メールのウィンドウを開かないとわからない」という不満がありました。ので、マクロを作ってみた。

Customize writeback plugin #9: このblogのwritebackには「コメント投稿後、そのまま再読み込みするとコメントが二重投稿になる」という問題点がありました(前から気づいていたけど放置してた)。通常はダイアログが出てフォームの再送信を確認されたりするので、問題無いとは思うのですが、○○がある××に△△されるとアレなので(わけわからん)、単純明快にmeta要素によるリダイレクトを間に挟むことによって対策してみました。

all about blosxom: blosxom.orgでblosxomのMLというblosxomに関することなら何でもOKなML開設のエントリが公開されました。僕が書いたんですけどね。参加はblosxom.orgのエントリに設置してあるフォームよりどうぞ。

直リンとRSS: 英語では「deep link」(多分)、日本語では「じきりん」または「ちょくりん」と呼ばれる(僕は後者)この行為、多くのレンタル・サーバーでは転送量に制限があるため、画像への直リン嫌われますね。なので、.htaccessで弾いている人も多いでしょう。

Microsoftサポート技術情報のRSS: Microsoftのサポート技術情報のRSSが配信されているんですね。@ITの新着サポート技術情報を効率的にチェックする方法というWindows Tipsで知りました。descriptionにかなり要約がきちんとあることや、categoryでMicrosoftのどの製品の情報なのかがわかってかなり良いです。細かくカスタマイズできるのもポイント高い。

American Wedding: TVKをタラタラ見ていたら、Mutoma internationalでNuというバンドを発見。スウェーデンのバンドみたい。ボーカルの人がエライカッコイイ。オフィシャルサイトも全面Flashでなかなか。

テンガロン・ハット: 買いました。似合わねー。

新しいblogへ引っ越し: 某日記サービスが某blogサービスに吸収合併されたわけですが、そこで気になったのは自分がそういう目にあった場合、それまでのログをどうするかという問題。んーまーレンタル・サーバーでCGIを走らせている場合は、どうにでもなるかなとかも思うのですが(blosxomの場合はログがファイルとしてローカルに残っていることが多いのでさらに楽)。

大竹のサイン入り写真貰った: 大竹のサイン入り生写真貰いました。緒方と前田に続き、サイン入り写真は3つ目。とりあえず額に入れて飾っておく。なんか横に「金本 10」と書かれたサインボールとかありますが、きっと気のせい。タイガース戦に負けたときはこのボールを枕に投げつけて憂さ晴らししてるけど。

Richard Prince: Sonic Youthの新譜、Sonic Nurseのジャケットの絵を書いた人はどうも有名な人らしいとか言うことでざっと調べてみました。浅学にして絵画の知識はほとんど無いわけで苦労したわけですが、どうやらRichard Princeという方らしい。

はてなアンテナのRSS: 各所で話題になっているはてなアンテナのRSSですが、微妙に使いにくいかなあと。いわゆるblogのRSSのように更新した内容までバッチリあることに慣れてしまったので、単なるURLの羅列というのはなかなか。単なるURLの羅列でもニュースサイトのRSSのように、その内容があらかじめ了解できないようなものなら構わないと思うんですけどね。

ゾロ目のASIN: ヒマだったので、ゾロ目のASINには果たして商品は有るか調べてみました。ASINは[0-9A-Z]{10}だと思うので、それを踏まえてそれら36文字のゾロ目、すなわち「0000000000」とか「hhhhhhhhhh」とかのASINベースのURLのリストを作成し、一気にGETするという荒業でやってみたり。

スキャナとカメラ: sticpl.cplというファイルが実体な、コントロール・パネルアプレットの「スキャナとカメラ」。これはスキャナやカメラをPCに接続した時に、任意のアプリケーションを起動するように設定できたりするわけで、接続したらデジカメのメモリにある全画像を既定のフォルダに即コピーとかいう荒業も(JScriptで)できたりします(XPではもっといろいろできるみたいですが、知りません)。しかし、いろいろなマシンで遊んでたら、どうやら一部のマシンではこれは無効になっているらしい。

ターボ・足の爪切り: Gizmodで足の爪切りが紹介されていました。とりあえず商品紹介ページを見るべし。

Suicide: 世間では某氏がマンションから落下したのが「自殺かも?」とかいう話で盛り上がって報道が多くされていますが、世間はこういう話は好き(言い方悪い)なのでしょうか? Yahoo!ニュースにもインフォシークニュースにも、自殺というトピックスがあるのですね。

梅雨: 関東地方は既に梅雨入りしたそうですが(詳しくは知らない)、毎年この時期になると思うことが。

Wireless IntelliMouse Explorer: 買いました。コレまで使用していたのはコードのあるIntelliMouse Optical (左右対照の奴)ですが、汚れが目立ってきたなどの理由があり購入。レザー ブラックの手触りは中々と思ったのですが、高いので、メタリック グレーに。

Velvet Revolver / Contraband: 元々は元Guns N' RosesのSlashとDuff McKagan、Matt Sorumが始めたバンド(プロジェクト)なので、元Gunsとしか言われないバンドVelvet Revolverの1stアルバムContrabandは6/8にin store! 私的には元Stone Temple PilotsのScott Weilandがいることが素晴らしく重要なのですが。最近紹介してきたCDとは随分毛色が違いますが、まぁSeetherやNickelbackなんかも好きだったりするので。節操が無いとか言わない。

blosxom + plugins = blugins: エントリのネタに詰まったので、利用しているblosxomのプラグインをまとめて、blosxom pluginsというページを作ってみる。オリジナルとの差があまり無いものとほとんど自分専用的なものは省略。

OLYMPUS AZ-1: OLYMPUS AZ-1の後ろの液晶のデカさとボタンの少なさにちょっと感動してみたりする。SONYのDSC-T11もかなりデカくて「おっ!」と思ったけど、それ以上な感じが一瞬したけど同じ大きさだった。後ろにボタンがほとんど無い分、大きく感じられたのかもしれない。

blosxom 3.0+4iは月曜日: 長らく3iで止まっていたblosxom 3 alphaですが、MLでRaelさんが月曜日に出すよとのたまっておられます。「のたまう」って尊敬語だったのか。てっきり人を小馬鹿にする時に使う言葉だと。日本語勉強しなければならないですね。

Sonic Youth / Sonic Nurse: 今年は良い年。良いロックのCDがいっぱい出てるので。そんな中、どうやら今年最高のCDになりそうなのが、少し前にゲットしたSonic Youthの新譜、Sonic Nurse。珍しく全曲Thurston作曲みたい。んースバラシイ。過去最高傑作というキャッチもあながち間違いではないと思います(個人的にはSister最高)。

Garnetはドリーム・チーム辞退: さて、NBAも閉幕しまして(僕の中では)、気になるのはアテネでのドリーム・チームですが、Garnettは辞退みたいですね。現役のNBAのトップ・プレーヤーがオフを返上してまでオリンピックに出ることに、ほとんど意味が無いこともわからなくも無いですけどね。ファン的にはとても意味があることだとは思いますが。他にShaqやJason Kidd、Tracy McGrady、Vince Carterなども辞退の模様。というわけで、凄いけど華の無い(ヒドイ)Tim Duncanを中心にチームが組まれることでしょう。LeBron Jamesは出るみたい。彼が出るだけでも見る価値はあるかもとは思う。むしろこうなったらイキの良い若手だけでチーム作って欲しいなとか。

Customise your blog: 2004年7月のiNTERNET magazineはblogをカスタマイズするとかいうタイトルでの特集がメインに据えられてますね。僕は何か必要と思ったら適当に自分で捏造してしまうことが多いので、んーまーこういうのもあるんだなという感じの感想でした。どうせならdel.icio.usとかFlickrとかアレゲなモノの紹介とかのがオモロイかなぁとか。単に僕がこういうのが好きなだけとか言う。

Amazonの画像を引用: いくつかAmazonの画像置換とかをJavaScriptで書いてみたりしましたが、そもそもAmazonで商品を見ている時には、画像を見ているわけで(あるならばですがね)、その画像のURLを一発で持ってこれれば良いということなわけだ、と、なんか「普通、最初にそれ考えるだろ」的なことに思い至りました。とりあえず考えてみていたら、Internet ExplorerのMeneExtでは、画像上で発生させると、event.srcElementでimg要素が拾えるので、それを使えば画像のURLを持ってくることができるということに気づきました。

Bloglines Citations: BloglinesにはすべてのRSSの各itemに対するreferences (参照しているページ)を調べる、Citationsという機能があります。これはMy BlogsでRSSを閲覧している時に、各itemの下にx Referencesとか書いてあるリンクを踏めば参照できます。が、ついさっき気づいたんですが、どうやら適当にURLをURLエスケープして渡してやれば、それを参照しているページをずらっと出してくれるみたい。

infoseekの403 Forbiddenを回避する: infoseek iswebに置いたCGIへリンクを張り、それをクリックして飛ぼうとすると403 Forbiddenが返されるわけですが、Googleのリダイレクト機能を利用するとこれを回避できるみたいです。以下に例を挙げてみる。

Customize writeback plugin #8: ここのところ微妙にコメント・スパムが増えてきたので、とりあえずスパム対策のコードを追加してみた。URLに入れられている文字列が、ブラックリストなドメインを含んでいる場合、投稿させないというアプローチにしました。要はパクり!

Amazonの画像置換 #2: 以前書いたAmazonの画像置換というエントリででっち上げた、無理やり09を01に置換して表示してみるJavaScriptには「09で類推できるURLと01で類推できるURLのどちらにも画像がなかった場合はどうするのよ?」という問題がありました(てか、無限ループします)。JavaScriptのコードを少し追加すれば、「両方ともなかった場合は無いよ画像を返す」ということが実現できたので、エントリにしてみる。

gen_nmnl: No Music, No Life.にGETリクエストでsubscribeするWinampのgeneral purpose plug-inを書いてみる。Winampのplug-inは初めて作ったのでかなり混乱したけど、一応動くようだ。

金木犀: 黄金色のパッション!

tcbloglines: Bloglinesの更新をチェックして、TClock Lightのユーザー定義文字列をセットし、終了するtcbloglinesというモノを作りました。まーシャレで作ったんですが、なかなか良い。TClock Lightのマウス・クリック設定で左ダブル・クリックなどでMy Blogsを開くようにすると完璧。

Bloglines on PDA: 最近、Bloglinesのことがそこかしこで話題にとりあげられることが多くなっているような気がします。気のせいですか、そうですか。まぁそれは置いておいて、Bloglinesを使い始めた感想とかそんな感じので良く見るのは「ウェブ・サービスなんだしPDAとかで見たいなぁ」とか「PDAで見れないことは無いんだけど本文領域狭すぎ」とか。Helpとかに載ってないので、かなり前からのユーザーでかつNewsをマメに読んでいる人しか知らないっぽいですが、Bloglines For Connected PDAsというニュースで触れられているように、PDAなどのモバイル・デバイス用のシンプルなHTMLのMy Blogsもあります。

Googlebot is looking for rss.xml: 以前、blog.bulknews.netでGooglebotがatom.xmlを探してるっぽいという話題が出ていたのですが、どうやらrss.xmlも探し始めたみたい?

No Music, No Life.: 一年半も動き出さなかった某氏と話している時に、なんとなく面白そうなので、MP3プレーヤーで聞いているものをリスト化してRSSを吐き、HTMLでも閲覧できるCGIを作ってみました。題して「No Music, No Life.」! ヒネリなさすぎで、もうダメダメ。

Bloglines Checker更新: 特に挙動が変わることは無いのですが、いくつか対策・仕様変更をして、Bloglines Checkerを1.1に更新しました。

RSSリーダーとインターネット渋滞: HotWired JapanのWired Newsに急激に普及する「RSSリーダー」、インターネット渋滞の元凶となるかというニュースが翻訳され掲載されました。要は、至らないRSSリーダーが多く、RSSに対するトラフィックが大きな負担になってしまうとかそんなお話。

Pluck: ZDNetのStart-up looks to add pluck to browsersというニュース経由でPluckというモノを見つけました。ウェブ・ページを一時的に保管し公開できるSharingと3ペインの標準的なRSS Reader、オンライン上にBookmarkを保管できるMy Web、そしてマルチ検索のPower Searchという4つのツールを詰め合わせたInternet Explorer拡張ツールのようですね。

Geckoは好きですが: Geckoは好きですが、なぜか未だにIEコンポーネントのMoon Browserを使い続けている人です。いくつか理由はある(Moon Browserに慣れてしまったので、手放せないというような理由も含めて)のですが、そのひとつにGeckoのborder消失と背景画像ズレがあります。

Ping-O-Matic: Ping-O-Maticという、ウェブ上でフォームを埋めてボタンを押すだけで複数のblog更新通知サーバー(pingサーバーとか呼ばれてる奴)にまとめて更新通知を送ってくれるウェブ・サービスがあるのですが、XML-RPCを利用しても送れるようになったみたいです。要は、weblogUpdates.ping中継・拡散サービスという感じのもの。

大竹寛: ココのリファラをまったりとチェックして、「うぉ!」と驚く。広島カープの大竹がblog始めたみたいです(リニューアルなのかな?)。しかもblosxom starter kitで。いやもう、なんていうか、びびった。その後、ふつふつと喜びが。うへへ。

Mac IEと@importルール: Mac IEは@importの値がシングル・クォートで括られたものだと読み込まないようなのですが、読み込まないというのは適切ではなく、なんか違うものを読みに行って見つからないというのが正確なところみたいです。

FeedSweep: RSSをウェブ・ページに埋め込むツールやサービスはいくつもあるわけですが(メンドウなので名前は出さない)、GoogleのAdSenseライクに整形してくれるFeedSweepというサービスがあります。

オジーアイス: アイスクリーム・フィーチャリング・オズボーン・ファミリー!

Thanks for subscribing!: 以前、Who subscribe my feed?というエントリで、BloglinesではこのblogのRSSが60人からsubscribeされてると書いたのですが、なんとなくさっき見てみたら倍増してました。

Wolvesがカンファレンス・ファイナルへ: 良い子のみんな!Wolves応援してたかい? イエー! カンファレンス・ファイナル進出ですよ! イィヤホーーーーゥ!!!! なんて良い響きだ。カンファレンス・ファイナル進出。

RSSを見直してみる: かなり前に気分でRSS 1.0からRSS 2.0にした都合上、エライ適当なものだったので、RSS 2.0の仕様で定義されている(のだかどうだかよくわからないですけど)ものをなるべく使うようにしてみました。まぁRSS 2.0の仕様はとても曖昧で、アレで良いのか、コレで良いのか良くわからないんですが。

Rolleiflex MiniDigi: 二眼レフというカメラマニアじゃない人には「形カコイイ」とかそんなイメージしかなさそうな、キワモノ(酷い)を出しているRolleiから二眼レフデジカメ出るみたいですね(延期とか出てたけど)。Miniと付いているように、とても小さいもので、ちょっとオモチャっぽい感じが強いかなぁというネガティブなイメージを持ってしまいましたが、それ以上に「二眼だよ二眼!」みたいな。何だよ。

blosxomと静的生成: MTのライセンスが厳しくなっていろいろ意見が出ているらしい。それで代替案として最右翼はblosxomらしいのだけど、問題になるのは、複数設置と静的生成。という嘘から始めてみる。Strange Intimacyのwordpressと静的生成からパクりました。

Blind Melon / Blind Melon: メガネをかけた男の子(だったよな?)のジャケット画像がとても印象的な、Blind Melonのメジャー・デビュー・アルバム、Blind Melon。週に一度は必ず聴いてしまう、そんな愛聴盤。SoundgardenやNirvana、Pearl Jamなどハード・ロックを基調としたバンドがブレイクする傍ら、Grateful Deadのような味をもったとてもメロウなバンドで、異彩を放っていました。ボーカルのShannon Hoonがうっかり死んでしまったけど。

Bloglines Checker公開: ということで特にバグも無いようなので、Bloglines Checkerを1.0として公開してみる。

wikieditish flavour: かなり前にwikieditish flavourへのリンクというタイトルでエントリを書きました。まぁそれなりに考えるところはあるエントリですね。自分で言うなよ。ここでも言及したのですが、どうもGoogleはhtml flavourよりもwikieditish flavourの方を高く評価する嫌いがあるような気がします(リンクされていることが多いからかな?)。わかんないですけど。まぁそうではないとしてもwikieditish flavourはGoogleにインデックスされてもほとんど意味無い、むしろ邪魔だと思うので、弾いた方がいいような気がします。

口癖: 口癖というか文章癖か。

Kapsules: Carbon Lokai (配布停止中かな?)というクールというよりも実用度が高い(explorer.exeと違和感が少ないという意味で)互換シェルをリリースして、その後音沙汰のなかったCarbon 6からKapsulesというアプリケーションが出ました。ネタ的には「パクりだろ」とか言われてはい終了みたいな、ウィジェット指向のデスクトップ・アクセサリのホスト・アプリケーションというところでしょうか。「Konfa (略」とか「侍!?」とか言ってはいけません。

Bloglines Checker #5: TClock Lightの作者さんがblog始めたみたいですね。で、TrackBackを貰ったので、Bloglines Checkerを1.0 b5に更新してみる。TClock Lightが起動されているかどうかを調べる処理は必要とは思ってはいたのに、クラス名調べるのがメンドウで放置していたのは秘密だ。更新点は以下の通り。

Bloglines Checker #4: ダイアログ縦に長すぎなのは大変遺憾に思っておりましたので、修正。ついでにちょっとだけ機能を追加してBloglines Checkerを1.0 b4に更新。トレイ・アイコンのクリックによる動作の拡張については後述しますが、つけない方向で決定。てか、付けてみて気に入らなかった。更新点は以下の通り。

So-Called Chaos / Alanis Morissette: 元アイドルAlanis Morissetteの新譜、So-Called Chaosをゲットしました。イマイチかも・・・と思いつつ、聞いてしまうスルメ・アルバムかなぁと。インパクトが薄い感じですね。まぁただ最近はこういうインパクトの薄いまったりアルバムが多い気がするので、これも時代の流れかとか無駄に考察してみる。

Bloglines Checker #3: 普通に使えちゃってるので、こんなもんでいいかなとか思いつつあるBloglines Checkerを1.0 b3に更新しました。更新点は以下の通り。

MS04-11: 諸事情により、既に導入済みだったMS04-11で提供されている噂のアレをアンインストールした後、当てなおしたのが04/29(だった気がする)。そして05/08あたりにどうもおかしいことに気づく。

Bloglines Checker #2: とりあえずTClock Lightのユーザー書式の設定の仕方を調べてみる。・・・ミツカラネ。と、思ったらTClock Lightのコマンドラインオプションにあった。どうやら多重起動のシステムを利用して設定するようだ。

Bloglines Checker: Bloglines NotifierのWindows版が3.0に更新されたのですが、うちの環境ではどうも挙動がおかしい上、IE固定っぽい感じなので、ほとんど機能的には同じものを作成してみたりする。

前田・1500安打: 広島の前田智徳が1500安打に到達したわけですが、まぁ怪我さえなければ今ごろ3000安打くらいでも不思議ではないかなとか。

ステータス付きリダイレクト: 行動記録の「Perl の CGI モジュールの redirect メソッドに status が追加された」を読む。ステータス吐けたんか! とりあえずgoogle.cgiを手直しして303を吐いてみる。303で良いのかは知らない。適当に作ったエントリ無い時404ドキュメントに飛ばす奴もこれ使おうかな。404吐いてredirectとかアリなのかは知りませんが。別に構わないだろとかは思う。

エントリ以下メモ以上: エントリにするほどでもないけれど、メモよりはもうちょっとゴチャゴチャ何かしら書きたいときとかありますよね? 多くの場合、1つのエントリにいくつかまとめてどっかーんと載せるわけですが、それってどうなのよ? とか思う。

jscacheとか: 「jscache作った!」とかTrackBackされたので読んでみる。blosxomの場合は動的生成で使っている人が多いので、これを使うとCGI(blosxom)からCGI(jscache)を呼ぶことになり、なかなかなこと(微妙な言い回し)になるかも。TTL効いている間はすぐ終わるスクリプトだし、Bulkfeeds側でキャッシュされてもいるので、表示パフォーマンスやBulkfeedsへの負荷の面では問題ないとおもうので良いといえば良いのですけどね。

push @INCとuse lib: Perlのモジュールを利用する場合、useを使ってロードするわけですが(何を今さら)、そのモジュールをパスの通っていない適当なディレクトリに置きたい場合、スクリプト内でパスを通してやらなければなりません(何を今さら)。パスを通す方法は@INCにpushしてやるとかlibプラグマを使うとかなわけです。

blosxom 3.0のプラグインは: blosxom 3.0のプラグインはどうなのか? とか適当に羅列してみる。あくまでも3.0+3iで適当にプラグインを書いた上での話ですので、将来に渡ってこの内容が「blosxom 3.0のプラグインはこういうものだ」ということを言っているとは保証しません。よくわからん序文だな。

blosxom 3.0 alphaのライセンス: blosxomn 3.0 alphaにはCreative CommonsのAttribution-NoDerivs-NonCommercial 1.0で出されているわけですが、これは正式リリースも・・・ということではなく、単に「このalphaのコードを流用してなんか派生物作られると困るので、alphaではNoDerivsなこれにしてるですよ、ブラザー」みたいな(超訳かつ不正確)感じみたいです。詳しくはRaelさんのMLへの投稿を参照のこと。

blosxomの部屋: 暇なので、blosxomの話をするIRCの部屋を作ってみたり。wide系で、部屋名は#blosxomです。別に何かをするとかそういうつもりはまるでなかったりする。単に「プラグインの書き方わからねぇ」とか「3.0どうよ?」とかそんな話でもしてれば良いかも知れないような気がしないでもない。

Timberwolvesがプレーオフ2回戦へ: 反応遅いな。Timberwolvesが創立以来初となるプレーオフ2回戦への進出が決定しました。わーい。シーズンの成績を見ていれば当然の結果という感じではありますが、初というのはやはりウレシイ。創立以来のファンだし。

作りかけのblosxom 3.0プラグイン: blosxom 3.0のプラグインを作りかけた奴。まぁリファレンス・プラグインがもうあるのでいらなそうですが、とりあえず放置してみる。無保証というか動くかすら保証しません。とりあえず動いてそうな感じはしないでもない。

blosxom 3.0のリファレンス・プラグイン: 本日公開された、blosxom 3.0+3iにはいくつかのプラグインが同梱されています。今回interpolate()が更新され、$foo::varというようにflavourにかけるようになりました。ので、プラグインで作る変数は、作法的に$Plugin::PuginName::variableとflavourで指定するようにしてやる方が良いのかな? 書くのメンドウ・・・とか思ってても言っちゃいけません。

blosxom 3.0のhandlers.flowファイル: Archives.pmとかいうarchivesを3.0用に修正したものを作ったのですが、handlers.flowにこのプラグインを実行する命令を書いておいてもうまく動かなかったです。これが昨晩。今日の午前中に起動CGIをでっち上げたわけですが、この起動CGIではBlosxom.pmの最後の方にある感じなので、ここに直接プラグインを実行する命令を書いてみたら、あっさりと動いてくれました。

blosxom 3.0はモジュールとして使うべき?: ちっといろいろいじってたんですが、どうやらモジュールとして利用した方がいいような気がします。MTみたいに非常に単純な起動CGIを作ってやると良さげ。そうすると単純にリネームしただけで動かす場合には切り離せないfind_entries_dirなどの設定も切り離すことが出来そうです。また、設定を切り離さない場合でも、こういった起動CGIを用意してやると、handlers.flowやhandlers.entryなどを個別に編集する必要が無くなり、メンテナンス性が向上するんではないかなぁとか思いました。

blosxom 3.0 plugin: とりあえず手始めにExcerptという、要約になってない短文を作り出すプラグインを作りました。動いた! とか感動してみる。半日くらいかかりました。2.0のプラグインのことは忘れましょう。まったく今までの知識は役に立たないと思われます。

blosxom 3.0 pickup: 気になったところというか備忘録。順不同。

blosxom 3.0の最初のalpha版: blosxom 3.0の最初のalpha版がリリースされました。

Bフレッツモニター: アンケートに答えると一回4000円のキャッシュバック、それが計三回、つまり12000円キャッシュバックされるという、制度的に問題がとてもありそうな気がするBフレッツモニターの登録が完了し、アンケート依頼のメールが来ました。

BloglinesのReferences: ネットナードにマストなツール僕が愛して病まないBloglinesにReferencesという新機能が加わりました。そのものずばり「RSSのアイテムにリンクしているエントリを列記する」機能。

blosxom 3.0のリリース日: ちょこっと書いたらいくつか反応あったので、妄想ではないことを強調しておこうかなとか。MLでRaelさんが04/17にRe: [blosxom] Re: Comment Spamという件名で投稿したメールにて言及しています。

CSS 2 browser support information: 各ブラウザのCSS 2.0で定義されているプロパティなどのサポート状況の表です。

HTTP status message list: サーバーから返されるHTTPステータス番号のリストです。

Support for JavaScript and JScript Objects in Opera: OperaはECMAScript第二版と第三版を完全にサポートしており、DOMレベル2も完全にサポートする予定です(独立したDOMに関する文書も将来出す予定です)。

TrackBackの文字コード: いろいろあったはずですが、それはもう遠い昔の話。僕の中では勝手に「デフォルトはUTF-8。それ以外の場合はcharsetパラメータを追加。」とかいう結論になってます。blosxom starter kitで利用しているwikieditish+bookmarkletでは、UTF-8決め打ちなんですね(知らなかったのかよ)。UnknownPlace.のwikieditishプラグインでのトラックバック送信と文字コードというエントリで学ぶ。

RSSと相対URL: RSS(Atomもですが)に相対URLによる画像や相対URLによるリンクが含まれる場合というのは結構あるようです。いわゆるblogではまずHTMLのエントリありきなわけで、エントリを書く時にこのような状態にしてしまうと、RSSでもそのままというのはまぁわからないでもないです。てか、それで問題はないんじゃないかとかは思ったりしないでもない(RSSのパスから見て正しい参照になっていればですが)。

RSS変だよ、クソが: ちょっと前に窓の杜がリニューアル(04/12かな?)していて、RSSがまったく更新されなくなっていたりしました(昨日の夜に直しましたが)。自分で購読しているRSSですら気づかなかったりするので、これは「おかしいから直そうよ。てか直せクズ!」という報告する場所はあったほうが良いかなとか思ったので専用のフィードバックCGI作ろうかと思ったけどメンドウなのでエントリで。

ワークグループが変更できない: ネットワークの共有フォルダが見えなくなったので、My Networksにあるネットワーク全体のアイコンをダブルクリックしてみると「ネットワークに接続されていません。」云々言われてみる。うまく共有が見えないとかそれ以前の問題っぽい。

WshNamedコレクション: WshArgumentsコレクションにあるNamedプロパティでアクセスできるWshNamedコレクションを利用すると、/key:valueという引数にkeyを利用してアクセスできるのか。

Atom対応: paperboy&co.、「JUGEM」がAtom0.3に対応というのがニュースになるような時代になったわけですね。一年程前はRSSで検索すると、神崎さんとことmiyagawaさんとこ、rss-jp.netくらいしか出てこなかったのを思い起こすと変わったものです。

NBA Playoff 03-04: まずは106-92で一勝目!トーナメントはこんな感じになってます。カンファレンス一位って気持ち良いな、おい!

RSSのContent-Type: RSSのContent-Typeは何が良いのかと結城さんの日記で話題にされていたので便乗してみる。ちなみにうちのサイトの解も結城さんと同じで、HTTPヘッダではapplication/xml; charset=UTF-8、RSS Auto-discoveryではapplication/rss+xmlになってます。

release blosxom starter kit: 使ってくれている人が増えている割りにはバグ報告とかないので、とりあえず1.0としてblosxom starter kitをreleaseしておきます。モノ的には最後に出したプレバージョンから変更はないです。

Sacred: 感想: とりあえず1周目終わったのでSacredの感想なんぞを書いてみる。

Sacred: いろいろ: Sacredのいろいろなキャプチャを溜め込むエントリを作ってみる。ドラゴンや怪しいアイテムとか。変なキャラとか。

トリプルトリプルダブル: Atlanta HawksのSuraが3試合連続トリプルダブルという、レアだけどあんまり感動しない記録をだして、マスコミが大喜びしていたわけですが、取り消されちゃいました。わざとレイアップを外してリバウンドを取ったのが故意と見なされたようです。

Sacred: 初めてのドラゴン: うむ、でかいな。ザコをトレインしてお掃除してから、1 on 1で楽勝でした(ポーションは使いますが)。本筋に絡むドラゴンなので弱いんかな? 他のはまだ見つけてない。

Sacred: クエスト: Sacredはクエスト多いすね。メインに加えて、サブ扱いのものとランダムのものがあるみたいです。ログブックでは金色の太陽マーク(完了は金色のチェック)が本筋クエスト、○(完了は緑でチェック)がサブまたはランダムのクエスト・・・かな? EscortとかAnimated death、Wyverns are not dragonsなんかの頻繁に出てくるクエストはランダムっぽい。とりあえず2週目へのメモ代わりに。とりあえず見た目でSeraphinで始めてます。SilverきついのでBronseで。発生さえすればバカでもクリアできるクエストが大半なので、クエスト名のみ。同じクエスト名がありますが、違うクエストです(名前変えろよとか思う)。

Sacred: Sacredというゲームを始めました。Divine Divintyライクな斬り捲くりARPGです。美麗グラフィック(除キャラクター・ポートレイト)と限りないアイテム! ストーリーは・・・まだ途中なのでよくわからないとかいう。

よく知らないけど: 明け方に、

JavaScriptでオート・コンプリート: 普段からお世話になる機会が多い(と思う)、Internet Explorerのオート・コンプリート。これに似たものをJavaScriptで作るという記事が、WebReference.comで公開されていました。

Amazon.co.jp アソシエイト・セントラルに自動でログイン: Amazon.co.jpのアソシエイト・セントラルにログインする時、毎回メール・アドレスとパスワード書くのはかったるいなと今さら思ったので、適当に考えてみました。ログイン・ページのHTMLソースからコピペしたHTMLファイルを作り、bodyのonloadでsubmit()してやるというアナログなもの。

wikieditish flavourへのリンク: blosxomでwikieditishを利用している人の多くは、story.htmlなどにwikieditishで編集するためのwikieditish flavourへのリンクを置いている人は多いと思うのですが、閲覧者には意味の無いリンクがあるのはよろしくないと思うわけです。使っても無い奴が偉そうに。

今シーズン初勝利: ようやく勝ちました。河内エライ。てか、スゴイ。栗原もがんばった。嶋は神。

老人マル優: 去年の05/30に新聞等で記事になった「老人マル優(高齢者などの預金利子非課税制度)を利用した定期貯金に対する課税漏れ75億円」という奴。どうも母方の祖母が対象だった模様です。「¥300,750払えや」とかそんなんらしい。

RSSにfavicon: ImageというRSS 1.0のモジュールで、faviconをRSSに埋め込むことが出来るらしい。

DNSトラブル?: 昨晩遅くからDNSが調子悪いのか、ほとんどのサーバーに接続できなかったりして。んーむー。RSSが更新されて無かったりしたのはそんな理由。

imejpmgr: 突如として出てくることがある「ファイルまたはフォルダの削除エラー」ダイアログ。何かしらのアプリケーションやシェルで使用中とかそういうわかりやすい場合を除くと、ほとんどの場合imejpmgr.exeがそのファイルまたはフォルダをなぜか開きっぱなしなのが原因だったりするみたい。

similarity plugin: BulkfeedsのSimilarity SearchをJavaScriptで出力するサービスをblosxomで利用するためのプラグインを前に書いたのですが、遊びでいろいろいじったまま放置していたのですよ、実は。改めて、ある程度一般的に使えるようにsimilarityを書き直してみました。

blosxom starter kit #15: アーカイブは更新してませんが、専用ページを作り始めました。アーカイブに同梱されるテキスト・ファイルの補完兼FAQ蓄積先みたいな。実際にblosxom starter kitを利用して作るという選択もあるのですが、メンドウなので。更新ではなく管理が。

広島開幕。: 黒田がんばってます。

Amazonの画像置換: AWSで返された画像のURLとかAmazonのASINコードから09で類推した画像が、1*1の黒いGIF画像だった場合に、01で類推できるURL無理やり置換してみる実験。

Squarespace: Squarespaceというblogサービス。日本語が通るかどうかは知りませんが、テンプレと管理画面がすげぇキレイ。MT 3.0もキレイと思ったけど、こっちの方がもっとキレイかも(というより好み)。

AWSが返すImageUrl: AWSを利用してAmazon.co.jpで検索すると、輸入版のCDもヒットします。その時、Detail以下のImageUrlMediumなどに入るURLがどうもおかしいですね。

amip plugin 更新 #2: amipプラグインを更新して、インチキな方法でジャケット表示とかやってみたり。表示しただけ・・・みたいな。

Google PageRank Calculator: かなり前にGoogleのPageRankをチェックで、GoogleでのPageRankを教えてくれるサイトを紹介しましたが、あれはちょっと怪しい数値が出てきますね。今度のGoogle PageRank Calculatorはかなり正確な数値を返すような気がしないでもない。

blosxom starter kit #14: 誤字・脱字の訂正やデフォルトの設定の部分でまずそうな部分の修正などをした、そろそろ正式公開にしてもいい感じになってきたような気がするblosxom starter kitのアーカイブをアップロードしました。フィードバックしてくれた方に感謝。

Pigeonhole 1.1.2: Pigeonhole 1.1.2を公開しました。Bulkfeedsが、一部機能を利用するのにAPI Keyを必要とすることになったことを受けてのバージョン・アップです。ついでにRSSの存在確認を右クリックから行えるようにしてみたり。

鶴亀メール: 千年も万年も使いつづけられるメーラー(そうなのか?)鶴亀メールが3.50にバージョン・アップしていました。今回の更新の目玉は、独特のスレッド表示機能から一般的なリスト・ビューにスレッドをインライン表示するようになった点・・・だと思います。起動もかなり速くなった気がする。

最強Blogツールをセットアップ: 次の月曜日の03/29に発売になる、iNTERNET magazine 5月号の特集1の「最強Blogツールをセットアップ」で、自作PCのようなブログツールというキャッチでblosxomの項を書かせていただきました。blosxomの概要から、MTとの違い、インストール、ちょっとしたカスタマイズ、Tips*2という構成で、blosxomates (引っ張る)にすぐさま仲間入りできるような記事になっている・・・ような気が。

サイド・バーに最近のエントリを表示: 最近のエントリとかをサイド・バーに表示したいとか思うことは良くあると思います。blosxomの場合、とりあえず「プラグイン探せ!」ということになり、recent_entriesプラグインとかを見つけることになるわけですが、flavourで実現できてしまうのでflavourでやった方が良いような。

エントリのPublish方法: ごく普通の高機能なblogツールを利用している場合は、エントリをPublishする方法は、その実装方法に依存すると思います(複数のアプローチが用意されていることもあるでしょう)。blosxomでは「指定ディレクトリにファイルを作る」ということに過ぎないので、Publish方法は自由です。一番ポピュラーなのはwikieditishを導入して、Publishする方法をプラグインとして実装してやるものでしょうか?

VBScript: DailyMemo: ダブルクリックするとその日の日付けを元にしたファイル名で既定フォルダ(My Documents)にテキストファイルを作り(既存の場合は何もしない)、関連付けに従って開くVBScriptをでっち上げてみる。ToDoメモなんかに使うんだろう、多分。

ウェブリブログのTrackBack: 「ウェブリブログ」という名称はどうよ? とかは触れてはいけないことのような気がするので、触れませんが、そのTrackBack機能について。基本的には、本文にリンクがあればそこからTrackBack Auto-discoveryして、Ping送信先URLが見つかったら必ず送るというものみたいですね。

ぶろっさむねいる: blosxomates (多分)なMafuyuさんが、ぶろっさむねいる(勝手に命名)というものを作ってました。blosxomで構築されているページを、サムネイルで表示しているリンク集ですね。

configプラグイン動かねぇ!: blosxomのパワフルなプラグインのひとつに、configプラグインという、グローバルな設定($blog_titleとか)を、カテゴリごとやフレーバーごと、さらにはあるカテゴリのあるフレーバーに限って書き換えることができるようになるものがあるのですが、設定の説明がMLのアーカイブにしかないことや、検索しようにもconfigとかいう非常に一般的な単語なのでなかなか引っ掛けづらく、利用には結構壁があるかもしれませんね。

blagg version k: これといったバグもなさそうな感じなので、blaggを改造したソースを晒してみる。オリジナルからは大幅に変わっています。考えるのがメンドウなので、モジュール使いまくりに。くぱんマンセー。

河内覚醒?: 眠れる大器とかそういうキャラが多すぎというか、そういう贔屓目を持たせてしまうような、ある部分だけとてつもなく優れたところのある選手が多い(=完成度が高くないともいう)広島ですが、中でも内外共にかなり評価の高い(と思う)河内が覚醒したっぽいです。その河内への達川のコメント。

blagg the yeah: blaggというPerlスクリプトがあるのです。ちょっと前にmiyagawaさんがベイジアンなRSS Aggregatorというエントリで公開してるRSSを集めたページもblaggですね。簡単に説明すると、RSSを巡回して新着があったらblosxomの記事フォーマットでファイルに吐くというもので、基本的にはblosxom向けにデザインされています。

Customize entries_index plugin: entries_indexプラグインを改造中。素直にentries_cacheを使えとかいう感じではある。インデックス・ファイルを作る間隔を指定する設定の追加と、インデックス・ファイルをシンプルなものに(外部で使うので)したりとか。強制再インデックスとかもつけたり。パクっとな。

blosxom starter kit #13: 正式公開に向けて、完成したんだかしていないんだか良くわからないreadme.txtと無闇に長いわりにはたいして説明が細やかでないabout_config.txtを同梱したアーカイブをアップロードしました。この2つのテキストファイルで40KB近くもあったり。あんまりきちんとチェックしていないので、誤字・脱字やおかしい部分の指摘は大歓迎です。ていうか校正してください。

AWSのリクエストURL: 今まではxml.amazon.comにlocale=jpでリクエストを投げていたわけですが、仕様が変更になったようで、xml.amazon.co.jpにlocale=jpで投げるようにしなければならないみたいですね。aws.hail2u.netの方は既に変更済みだったんですが、GoogleのAdSenseの代替広告に使っているAWSのXSL変換サービスは変えてなかったり。今日、3/21の18:00で移行するとかそういう話らしいので、慌てて直してみたり。

blosxom starter kitのマニュアル: 積極的にフィードバックしてくださっているcolor99さんが、blosxom starter kitのマニュアルを作成・公開してくださいました。

NBA03-04シーズン終盤戦: Pacersが50勝に一番乗りしたわけですが、我がTimberwolvesは絶不調・・・。Spursとの直接対決にも86-106で完全に破れ、ここ10試合は4勝6敗という体たらく。しっかりしろ!

RssMemo更新 #3: 触発されてというか、単に忘れていたのでクッキーでパスワードを記憶する機能をつけ、RssMemoを1.3に更新しました。自分で使っている奴にはとっくに実装してたりして。

MyClip: パクられた!

守銭奴: タイトルのフォントの変更とAdSenseの位置の変更。あんまり変わってないのに代替広告のためのXSLを書くのに2時間近くもかけてたりとか。

本棚を見て危険を感じた瞬間: 何か本を読もうと本棚を見たら、ちょうど目線の棚にマンガが4冊並んでいました。

ちょっとだけ問題のあるRSS: ishinao.net/mylogの微妙にinvalidなRSSを手軽にvalidにする方法で、charsetが宣言と違うRSSが結構あるということが触れられていました。PerlでRSSをXML::Parserを利用してゴニョゴニョする(XML::RSSも含む)場合、このトラブルに加えて、Shift_JISやEUC-JPのエンコード・マッピング・ファイルが無いことが多いので、うまくゴニョゴニョできないことが多いですね。

Velvet Revolver / Slither: HulkのO.S.T.でお目見えした(多分)、元・銃と薔薇の中の人たちと元Stone Temple PilotsのScott Weilandが作ったVelvet Revolverの新曲、Slitherがラジオで流されたそうです。Set Me Freeに比べてガンズ臭が薄まり、STP臭が強くなった感じで、個人的には良い感じ。

VGAのエラー?: Gateway(eMachinesを買収完了したので、日本市場復帰するとかしないとか)の古ぼけたマシンを再起動しようとしたら、マザーから「ビーッ ビッ ビッ ビッ」というbeep音が鳴り、BIOS画面すらうつらない状態に。

RSS Auto-discovery #2: ここではRSS Auto-discoveryのためのlink要素のhref属性の値には、/始まりで記述していたのですが、どうも/始まりのURLをうまく解釈しないRSSリーダーがいくつかあるみたいなので、http://始まりのURLに変更しました。

blosxom 3とか: blosxom 3を鋭意作成中だとRael DonfestさんがMLで投稿してました。かなり大幅に変わるようです。大きな違いは、プラグインで、2.0のものと互換性がないとのこと。2から3への移行には苦労しそうですね(簡単に書き直せるはずとは言ってますが)。データ・ファイルとかは変わらないみたい。

Maroon 5 / Songs For Jane: 良い! これはかなり惚れたかも。このMaroon 5のSongs About Janeは、かなり前のアルバム(2002年)みたいなんですが、最近になってかなり評価されている感じ? 今年になってこのアルバムからシングルが。

リキッド・レイアウトっぽい: なんとなくリキッド・レイアウトっぽい感じにしてみました。要は、サイド・バーの幅が可変になっただけなんですが。てか、liquid layoutishって言い方良いのか? 本題とは、まるで関係ないですけど。

ブラウザから静的生成: 外部のサーバーに設置してあるblosxomの静的生成をブラウザから直接行うことも可能というエントリがどこかに書いてあった(URL失念)のを見て、「おぉ!」とか思ってたんですが、静的と動的を判定する部分で$ENV{'GATEWAY_INTERFACE'}をチェックしているので、ダメなサーバー(というかきちんと環境変数を吐くサーバー)ではダメっぽいですね。

CGIモジュールとcharset: PerlでCGIモジュールを利用する時、Content-Typeヘッダにcharsetパラメータを加えるには、headerメソッドで-charset => 'UTF-8'などと指定するわけですが、どうもtext/*なもの以外では無視され、Content-Typeヘッダにcharsetパラメータを加えてくれないみたいです。

WB Editorがスタンド・アローンで動作するように: SharpReaderなどのプラグインとして動作するblogエディタ、WB Editorがスタンド・アローンで動作するようになったそうです。前に紹介した時からかなり機能が追加されているようですし、スタンド・アローンで動作するようになったことで、Windows用の日本語が通るblogエディタとしてかなりの地位を確保するかもしないかも。

ping flavour: blosxomでTrackBackを送信する方法に決定的なものが無いのは、blosxomでTrackBack pingを送信でダラダラ書いた通りなわけですが、手軽な送信方法というのは無いことも無いです。

Channel Definition Format: 何の気なしにChannel Definition Format (CDF)のリンクををお気に入りに追加してみましたら、なかなか面白いギミックがInternet Explorerにはあることが判明。正直、知りませんでした。

excerpt plugin: 諸事情により、概要らしきものを無理やり作ってみるexcerptプラグインを一週間前くらいに作りました。内容はforeshortenedとあんまり変わらないです。元々rss10プラグインに似たような機能を付けてはいたのですが、いくつかのプラグインやフレーバーから扱う都合上、切り分けてみたり。

イコン: まぁあれだ。とりあえず、ベイル落ち着け。野球やれ、野球。てか、マスコミも「遺恨勃発!」とか煽るなよ。

Pure JavaScript Wiki Like Formatter: HTMLマークアップ秀丸マクロ for blosxomをベースにして、WikiライクなフォーマッターをPure JavaScriptで作成してみる。Wikiっぽくtextareaにサクサク文章を書き、ボタンを押すとマークアップしてくれるというような感じ。わからねーよ。頭の体操にはなりました。

blosxomと404 #2: やはり存在しないエントリにアクセスしようとした場合、Statusで404 Not Foundを返したい。いろいろやってみて、404 Not Foundを返しつつ、サイトの独自404ドキュメントと同じものを出力するようにできました。かなり怪しいというか強引。

MSJVMを削除: MicrosoftのJava Virtual Machineを削除するツール、MSJVM Removal Toolが公開されました。Microsoftから公式に出てるのがビックリするところ。

今夏、P.J. Harveyの新譜が!: 来ました! マジで来た!P.J. Harveyの新譜のアナウンス! 前作のStories From The City, Stories From The Sea以来、実に4年近くもほとんど音沙汰のなかった(ちらほらゲストでいろいろなアーティストのアルバムに顔出ししてたりはしてましたけど)彼女ですが、ついに今夏New Albumリリース(予定)。

WSHでNowPlaying: ということでWSHで、Winampの再生中のファイルのID3タグを無理やり読んでみる。WSHでっつーのにはかなり語弊がありますが。とりあえずダイアログ出すところまでは出来たり。

amip plugin 更新: amipプラグインを中途半端に拡張して、URLエスケープしたアーティスト名やアルバム名を変数として取り出せるようにしました。URI::Escapeマンセー。サイド・バーにこっそりと置いてあるNow listening toまたはRecentry listened toブロックの、アーティスト名とアルバム名に張ってあるリンクをクリックすると、aws.hail2u.netでの検索結果に飛びます。

216 Cross Platform Colors: いわゆるWebセーフカラーと呼ばれる色の表です。

Character entities table: HTML 4で定義されている文字実体参照と数値実体参照の一覧の表です。

Customize categories plugin #3: 特に改造してないですけど、補足情報ってことで。どっかでよくわからないとか言われていたので・・・。

CSS2 property table: Box model

Draw lightning in Photoshop 7: 1. 適当な大きさ(ここでは384*256でやってます)で新規画像を作成

Sketch photo by pencil in Photoshop 7: 1. 適当な写真を開く

writebackプラグインについて #3: どこを改造したのかはっきりと覚えてないので、備忘録がてらにうちで使ってるwritebackの変更点をメモ。そのまんま持っていく人は結構いるみたいなので、その人たちへの解説も兼ねて。順不同。

MTでblosxomにエントリ投稿: かなり前にmiyagawaさんが、「MTでプレーンテキスト吐くテンプレ作れば、blosxomの投稿フロントエンドに使える」とかそういう話をしていた記憶があるのですが、それの実装方法を詳細がX *ole.netのroyさんが丁寧に解説してくれてます。

巨人の打線は(略: 長嶋茂雄終身名誉監督のコメント。

RSSアクセスランキング@2004/02: 2004年2月のうちで勝手に配信しているRSSのアクセスランキングを調べてみました。アクセス数なので人気とは等価ではないです。ある程度一致するとは思いますが。

blosxomのURL: blosxomはいろいろなURLでアクセスすることができます。実はこれが混乱の元だったり、プラグイン作る時に厄介だったりするわけなのですが・・・。それはそうと、MLで挙動が面白いblosxomのURLについて触れられてましたので、紹介。

blosxom starter kit #12: plugins/archivesとplugins/categoriesで生成されるリンクがフレーバーを引き継いでしまう問題を修正したアーカイブをアップロードしました。color99さん、フィードバックどうもです。

Customize categories plugin #2: エントリのネタに欠けるところがあるので、categoriesプラグインの改造点をまとめてみる。ココで使っているcategoriesプラグインは、ご自由にお持ちください。

XREAでスパムフィルターが導入: XREAでもスパムフィルター導入ですって。削除はせずに、スパムと思しきメールのsubjectに文字列追加と独自ヘッダ(SpamAssassin)追加ということみたいですけど、普通のプロバイダなどの迷惑メール対策オプションとかもいきなり削除じゃなくてこういう感じのところが多い、多くなってきているのですかね? BIGLOBEにはどう考えても数日ででっち上げたとしか思えない惨い出来のインターフェイスで設定するショボショボ受信拒否サービスしか無いので知らないのですが。

blosxom starter kit #11: config.cgi及びplugins/writebackのtypoを修正したアーカイブをアップロードしました。てつさん、フィードバック感謝。まるで気づいていませんでした。

Wiki記法: YukiWikiMiniをベースに拡張しつつ、記法をサクサク実装。記法の実装はをWikiの文法の標準化に関するWiki参考にしてたのに、独自っぽくなってしまった罠。実際にPerlの正規表現ベースでWiki記法を実装しようとすると、かなーりコーディングの都合で実装しがちになってしまいますね。標準化が達成できたら、CGI::Wiki::Standardとかキボン!

E-Rename: 複数のファイルを一気にリネームするアプリケーションは数多く存在するのですが、いろいろなことができるものは操作方法を覚えるのがメンドウ、かといってシンプルなものは当然機能が足りないと。そんなことをずいぶん前に感じて見つけたのがE-Reanameです。これはフォルダ内のファイル名をテキストファイルに書き出してくれ、そのテキストファイルを編集・保存した後、適用すると編集後のテキストファイルに従ってリネームしてくれるというもの。

GPLとソースコードの頒布: internet magazineの3月号の新・オープンソースライセンス概論にて、GPLにおけるソースコードの開示に関するお話がありました。もう一月くらい前に発売された奴ですが、今さら。

blogやらwikiやら: YukiWikiMiniを改造して遊んでいるわけですが、如何ともしがたいことに、ページを作ることよりも改造することに夢中とか言う。

mySubscriptions: 「他人のRSS購読リストからなにかを発見できるかも!?」みたいなことは考えることがたまにはあると思います。Bloglinesでは、アカウント設定でPublicにすることによってアカウントを公開でき、誰でもOPMLファイルをゲット(Privateのものまで出てくる罠がありますが)できます。最近では、Share Your OPML!や、FTP経由でOPMLファイルを同期できるRSS Banditなど、こういったOPMLを公開するアプローチのものが出てきたような。

amip plugin: 久々にプラグインを書いてみる。とはいうものの凝ったことをしていない単純至極なもの。AMIPというWinampやApolloで使えるプラグインを利用して、再生中の曲を適当なデータファイルにし、それをパースして表示するプラグイン。amipというそのまんまな名前を付けてみる。

NBA03-04後半戦: さて、オール・スターは特に盛り上がりもせずに終わり(Lakers嫌いだからそういうことになってます)、後半戦がスタートしたわけですが、TimberwolvesはKingsに勝って「絶好調!」と思ったりしてたら、あっさりとSpursに競り負けてしまいました。

2月22日はMoon Browserの日!: 世間一般において、2月22日は猫の日なわけですが(そうなのか?)、僕の中ではMoon Browserの日です。

CSS Depot: CSSによる段組ページ・レイアウトのモックアップがリストアップされている、CSS Depotというページを見つけました。カラムのサイズが可変かどうかとかヘッダーがあるかどうか、フッターがあるかどうかなどで5つのサンプルが公開されています。

Rollup: 指定したRSSを巡回してHTMLとして閲覧できる、RollupというサービスをLockergnome's RSS Resourceで知りました。どうやらRssRollingみたいなモノを生成してくれる、すなわち登録したRSSから記事を集め、時系列順に並べ替えてblogみたいに閲覧できるというモノっぽいです。

Macromedia Central: タラタラとMacromediaのサイトを彷徨っていたら、Macromedia Centralという代物を見つけました。どうやらFlashを使ったモノのようですが、イマイチよくわかりません。インターネットからデータを引っ張ってきてゴニョゴニョするとかそんな感じ。天気予報やら動画配信やらあるのですが、その中にBlogReaderというRSSリーダーがありました。

Google AdSenseのフォーマット: Google AdSenseの広告のフォーマットが6種類増えたみたいですね。現在のサイトの構造上都合が良さそうなので、新しく追加されたスカイスクレイパー(超横長)という160*600なフォーマットに変更してみました。

blosxom starter kit #10: writebackとwikieditishが作成するファイルとディレクトリがnobody (またはサーバー依存のユーザー)権限で作成されるのは、サーバー依存なので無理だとは思うのですがFTPでファイルを操作することが出来ないのはいかんともしがたいので、それぞれのプラグインで作成されるディレクトリを777にパーミッションを変更するように改造したものに差し替えたアーカイブをアップロードしました。

URLにユーザー名とパスワード: ちょっと前のIEのパッチで、ユーザー名とパスワードをURLに含めることが出来なくなったわけですが、どうやらレジストリをいじれば元に戻せるらしいです。

blosxom starter kit #9: writebackの文字コード変換コードが場合によってはエラーになることの修正と、google.cgiが環境によっては動かないことの修正を行ったアーカイブをアップロードしました。

profile属性・・・?: head要素にprofile属性というものがあることを知ってみる。メタ情報の解釈の仕方を指示する文書のURIを入れるもの? よくわかんねーな。

max-width in IE: Internet ExplorerではCSSの各プロパティにexpressionというものを指定でき、その中にはJavaScriptがかなり自由に記述できます。それを使ってmax-widthなど、IEが非対応なプロパティを擬似的に実現しようという、max-width in Internet Explorerというページを見つけました。

icefire: Cloud9ineをリリースしているk23 productionsからicefireというものがBetaリリースされました。これはShellとしても動作させることができるようになるみたいですが、基本的にはHoverDeskのようなtaskbar replacementみたいです。

Dashboard Confessional / The Places You Have Come To Fear The Most: 来日記念でピックアップ。去年のA Mark, A Mission, A Brand, A Scarでブレイクしたわけですが(僕が知ったのもこっち)、Dashboard Confessionalがバンドとなった最初のアルバム(多分)であるThe Places You Have Come To Fear The Mostの方が激しくイカスかも。MTV Unpluggedも出しているのですが、基本的に弾き語りキャラなので、もう完璧すぎです。

Who subscribe my feed?: BloglinesにUser Directoryという機能が加わったようです。現在は、各フィードをsubscribeしている人(publicにしている人だけ)の一覧を参照できる機能のみかな? このblogのRSSをsubscribeしている人はこんな感じで見れるみたい。siteidはBloglines側でユニークに割り当てていて、URLから類推とかは出来ないので、MyBlogsで閲覧している時に出てくる各フィードのヘッダ部分にあるSubscriberというリンクをクリックすると見ることができます。

AdSenseの代替広告をAWSで: AdSenseの代替広告に使うために、AWSのXSL変換サービスを利用してAdSenseライクに整形するXSLをゴリゴリ書きました。ネタ元はAdSenseの代替広告から。かなり書き換えましたけど、構造はほとんど一緒。

Bloglet: Blogletは、メールでBlogにエントリを投稿する機能(Blogger API経由)を提供するサービスなわけですが、どうやらUTF-8には対応した模様です。多分ですけど。

RSS Auto-discovery: RSS Auto-discoveryという仕組みは、「こんな感じでRSSをアプリケーションから探せるようにしよう!」というようなものです。しかし、きちんとまとまったページが有るような無いような感じなので、blogツールなどを利用せずにこの仕組みを実装しようとしたり、あらたにこの仕組みに対応したblogツールを作成しようなどという場合、どこを参照してよいのやらわかりにくいような。

blosxom starter kit #8: blosxom starter kitをアーカイブ化しました。ドキュメントはまだ同梱していないので、誰でも設置できるというわけにはいかないです。ドキュメントを同梱したからといって、誰でも設置できるようになるというわけではないのですが。

PHPetal: blosxom(とその互換ツール)にブラウザでエントリを編集する機能を提供する、PHPetalというPHPスクリプトを発見しました。とりあえずゴニョゴニョっと触った感じでは、んー・・・という感じ。

FOAFにもXSLTを付けました: XSLを書いて、僕のFOAFファイルがXHTMLとして表示されるようにしてみました。前にもやってましたけど。RSSにXSLTを付けるのとは違い、こちらは意味が大いにあるかもしれません。かもしれません。かもしれません。

WB Editor: WYSIWYGなblogのエントリ・エディタであるWB EditorというものをSharpReaderのPluginsから見つけました。非常にシンプルで好感が持てます。

HTMLマークアップ秀丸マクロ for blosxom: Wikiライクな記法でテキストを書き、このマクロを起動するとマークアップしてくれるという代物。なんとなく公開してみる。自分の気が済むようにマークアップしてるので要改造。blosxom用とか言ってますけど、一行目を無視するというだけの話なので、その部分をコメントアウトしてしまえば単なるマークアップマクロとしてつけるような気がします。

RSSにXSLTを付けました: XSLを書いて、このblogのRSSがXHTMLとして表示されるようにしてみました。前にもやってましたけど、今回はcontent:encodedもそのまんまレンダリングされて出てきます。普通にHTMLを閲覧すれば良い話なので、無意味に近いですが。

RSSリーダーとIf-Modified-Since: ココの転送量の半分以上は配信しているRSSに占められているわけですが、最近、巡回間隔1分で常にGETとか、かなりきっついアクセスの仕方をする方が増えてきたような気がします。共用サーバーなので、酷いものは弾くようにしてますが、ちっと調べるのがかったるくなってきたりする罠。

CSSでMac IEがクラッシュ: このサイトでMac版Internet Explorerがクラッシュする原因がCSSだとすると、追求するのがメンドウなので、とりあえずMac IEを弾いてみようと試みてお茶を濁すことにしました。Safari使えよ、マカー。嘘です、ゴメンナサイ。

Complex @import rules: 各ブラウザでサポート状況がマチマチな@importルールのサポート状況の表です。

PATH_INFO問題: 環境変数PATH_INFOに文字列を渡してくれないサーバーではblosxomはうまく利用できない・・・と思い込んでいたのですが、どうやら大丈夫なようです。とはいうもののPATH_INFOに渡されることが前提なURLの指定の仕方ではダメで、pathパラメータを指定してやることになるので、URL的にカコワルイですが。

Melissa Etheridge / Lucky: レズビアン・アメリカン・ロッカー、Melissa EtheridgeのLuckyをゲット。ループしてます。良い。元々こういう声、言うなればソウルフルな声には弱いわけで・・・。あまり凝ったことしてないのであらゆる人に素直に受け入れられると勝手に思っていますが、周りの人にはそういうわけでもないようです。「古臭い。むしろ泥臭い。」とか思いっきり否定された罠。泥臭くて結構。Norah Jonesなんかを買って金を無駄にするくらいなら、Melissa Etheridgeの新譜を10枚買います。とか、全世界のNorah Jonesファンを敵に回してみるテスト。

検索語: うちのサイトにたどり着いた人たちがどんな言葉で検索しているか晒してみる。

タイトル改造: CSSの実験も兼ねて、タイトルをいじってみました。こういう角丸のデザインはtableを使うとかなり簡単に出来るわけですが、CSSとなると結構ややこしいかも・・・と思ったので、とりあえずやってみようかと。意外に簡単な罠。

RSSにLast-Modifiedヘッダを付けてみる: RSSリーダーでRSSをGETしなきゃ更新がわからないのはどうかと思うので、既にハックし過ぎなrss10にさらに手を入れて、最新エントリの公開日時でLast-Modifiedヘッダを吐くことにしました。RSS Reader Panelなんかはこれしか見ないですしね。

お忍びリネーム。: ファイル名を変更しようとすると、F2を押してから左カーソルを4~5回押してようやく拡張子以外の部分に辿りつくわけですが、ダルイ・・・。窓の杜をRSSでチェックしてたらF2を押すと拡張子以外の部分を選択した状態にしてくれる、お忍びリネーム。というソフトウェアが紹介されてました。

blosxom starter kit #7: 同梱するabout_config.txtをひたすら書いております。一通りは書き終わったので言葉が足りないところなどを埋めていけば終わりそう。これを書き終われば、アーカイブとしてはとりあえず完成。主観によってプラグインを取捨選択してしまっているので、「こういう機能が欲しい」とか「この機能はいらない」とかいう点は必ず出てくると思います。それはまぁ公開してから修正するべきだと思えば修正するし、修正するべきではないと思えば修正しないと思います。バグというか問題のある点はもちろん修正しますが。

RSS事始め: 本日(02/06)発売のUNIX USER 3月号の第2特集は、RSS事始めというタイトルでRSSの特集が組まれています。そのPart2を書かせていただきました。「RSSを扱うツール・サービス」ということで、RSSを利用したツールやサービスの紹介になっています(そのまんま)。

迷走するRSS: RSSはバージョンがいくつか存在することにより混乱しているのは周知の事実なわけですが、日本では一気にRSS配信ブームになったということもあり(多分)、仕様のちょっとした解釈の違いなどにより、パッと見には間違ってなさそうに見えるけど、実はRSSリーダーで解釈しにくいRSSが結構あったりするというような混乱もありますね。というようなことがNDO::Weblogでエントリされていたので、僕もそこらへんのことに関する雑感を書いてみようかと。

MyDoom: 昨日までは10通/日くらいだったのですが、今日だけで200通超えました。いきなり増えた?

Blog Cosmos: 通常は右に配置されている各種リンクに、Blog Cosmosというものを追加しました。2か月ほど前にやっていた、TechnoratiのAPIサーバーから最近ココにリンクを張ってくれたblog引っ張ってくるものです(書き直しましたけど)。

RealOne Player - Spyware bits: RealOne Playerのスパイウェアらしき部分(終了時に出てくるうざったいダイアログとか)が削除されているものをゲットする方法が、Boing BoingのHow to get spyware-free RealPlayer through the BBCで紹介されていました。どうやらBBCがRealと独自に取り引きをして、スパイウェアらしき部分を削除したものを提供させることにしたようですね。

Bulkfeeds Similarity Search: Bulkfeedsに新たな機能、Similarity Searchが加わりました。かなりいろいろなところで取りあげられていますが、面白いように似た感じのエントリが拾えて楽しすぎるので、うちでもエントリを書いてみる。

blosxom starter kit #6: ドキュメント作成中。遅々として進まず。とりあえず設定ファイルの説明がメインなわけですが、これがまた長い。設定ファイル自体に簡単な説明を書いておいて、ドキュメントの方でそれぞれの意味とか例(こう設定するとこうなるという例)なんかをきっちり説明しないとまずいので、長くなるのはしょうがないか・・・。しかし、長すぎると読まないだろうなぁ・・・・。週末辺りまでには書き上げたいすな。あ、あとプラグイン作者の方々にメールも送信し始めました。

RSS Bandit: Rss Banditの1.2.0.89がリリースされていました。コレまでのバージョンでも既にRSSリーダーとしてはかなりの性能があったのですが、一般的なアプリケーションとして行き届いていなかった面(ウィンドウの位置やサイズを覚えなかったりする辺りが最たるところ)がありました。そこらへんの修正なども含め、いろいろと強化されており、かなり常用できる水準になったのじゃないかと個人的に。

weblogUpdates pingを受け付けているサーバー: weblogUpdates pingを受け付けているサーバーをメモ。まーそんなに必死になって送らなくても良いのですが。というか、送ってもしょうがない気がする。

blosxom starter kit #5: とりあえずメジャーな無料レンタルサーバーinfoseek iswebで設置してみました。アカウントはずいぶん前に取っておいたのがあったので、環境に合わせて設定を書いてだけで、flavourとかその他は何もいじらずにアップロード。

Widgetopia: 各ブラウザ間の互換性など厄介なことが多いウェブ・デザインですが、まーそんなことを言っても何もはじまらないわけで。そこらへんのことは置いておいて、たらたらウェブを彷徨っていると「ウホッ!」というようなデザインのパーツはけっこうあるわけですよね。有名どころだとGoogleのページングとか。そういったいろいろなウホッ・ウェブ・デザインをコレクションしているサイト、Widgetopiaを見つけました。

blosxom starter kit #4: blosxom.cgiで、blosxomの設定とプラグインそれぞれの設定をひとまとめにした設定ファイルをまず最初にロードしてやるようにしました。これで基本的には設定ファイルをひとつ編集するだけで済むことになったので、相当starter kitっぽくなったような気がします。250行ほどありますが(w。まーひとつひとつに説明つけているのでしょうがない・・・ということでひとつ。

blosxom starter kit #3: とりあえず形は揃った感じです。ので、blosxom starter kitをプレ公開。まだblosxom作者のRaelさんやプラグイン作者の方々に連絡を取っていないので、アーカイブ化して公開はしません。flavourは基本的には自前で書いたので適当に盗んで良し。CSSも9割方書き直してたりするので、OKかもしれない。

blosxom starter kit #2: blosxomを使いたくなるような人は、あの地道な設定作業をいとわない人な気がするのは、やはり気のせいじゃないようです。意味無いからヤメタ。

blosxom starter kitのプラグイン: 同梱することを決定したプラグインをとりあえずリスト・アップしてみる。当然、ハック済み。あまり怪しげなハックはしないですけど、気になる点はハックして同梱するつもりです。許可とるのメンドイ・・・。

blosxom starter kit: 設定したら即使えるblosxom starter kitを作成・・・しようかな、と。blosxomは形にするまでが異様に手間がかかるので、その過程が楽しめる人じゃないと辛いかもなぁとは思ってはいたので。

GoogleのAdSenseを導入: どんなものかとGoogleのAdSenseを導入してみました。うち程度のサイトでどれくらいクリック率があるんでしょうね? RSSでのトラフィックがメインなので、ほとんどクリックされそうもないですが。

エントリの構造とその見た目: いわゆるblogにおいて、エントリを構成するモノをどういう風に配置するのが良いのですかね? そんなことをなんとなく考察しながら、各エントリの見た目を変えてみました。あんまり変わってませんが、それなりに意味はあるのです!

Incubus / A Crow Left Of The Murder: ゲット! 来日も控えているIncubusの新譜、Crow Left Of The Murderを買いました。素晴らしげ。前作のMorning Viewもそうでしたが、引き続きちょっと守りに入ってる感があります。まぁ、もともときれいな声なので、やはり多少おとなしくても許せる気がします。

TuRBOSPoKE: マジシャンとして有名なoyamaさんのblogに、世の男達を魅了すること請け合いな代物が紹介されてる! ペダルを漕ぐと唸る轟音!TuRBOSPoKEは自転車の後輪につける、バイクのマフラーです。排気音が鳴る・・・だけ。でも、それが良い!

単独首位!: 来ました! ついに来ました! 創設以来のカンファレンス単独首位! うひー! すげー! この勢いでNBA総合首位へ!Tウルブス、史上初の単独首位より。

AmazonのDVD検索: aws.hail2u.netにDVD検索もつけました。DVDはあまり買わないのですが、検索はするかもと思ったのと、誰かに「何で無いの?」とか言われたので。ついでにスクリプト内がごちゃごちゃしないように、ほとんどの商品で共通の要素のみを列記する感じにしました。共通じゃないけど欲しいもの(ArtistやAuthorなど)はうまい具合に追加するように。相当コード量減りました。

eveとsetx: Windowsの環境変数は、コントロール パネル→システム→詳細→環境変数と辿って、そのダイアログで設定するわけですが、正直、面倒すぎです。また、コマンド プロンプトのsetコマンドはセッション単位なので、恒久的な環境変数の設定には使えません。とはいうもののごく一部の人しか環境変数をいじるということは無いので、多少メンドウでもひーこら辿って設定してしているような気がします。eveは環境変数を自由に追加・削除・編集するソフトウェアです。

ASINによる検索: とりあえずAmazon Standard Item Number、つまりASINによる検索CGIは作ってみる。本の場合は基本的にはSimilar Productsが出てくるだけ。音楽の場合はトラック・リストが出てくるかも出てこないかも。本の場合は概要(ProductDescriptionに格納されているもの)が出てくるかも出てこないかも。aws.hail2u.netでの検索結果のASINに張られているリンクは、これを利用しています。

MSN Toolbar: ツールバー多いすね、最近。素のInternet Explorerなんて使わないので、あんまり関係ないんですが。ついにMSNもツールバーをBetaリリースしたようです。Hotmailの新着通知とかそこらへんのMSN提供サービスと連携してくれると面白いかもしれないですが、それでもYahoo!の牙城は崩せないような。ESPN Motionとの連携機能とかは作られそうな気がしないでもない。てか、それ欲しいな。

Amazon Web Servicesで遊ぶ: いまさらAmazon Web Servicesで遊んでます。とりあえずサブ・ドメイン、aws.hail2u.netで運営。ま、単に自分でAmazon.comやAmazon.co.jpで検索するのがかったるいとか言う理由なわけで。大きな声では言いませんが、検索結果のリンクにはアソシエイト・タグが仕込まれてます。

XREAでのcron: cronは標準出力と標準エラー出力をメールで通知してくれるわけですが、XREAでもそれは同様なわけです。が、XREAでは3つしかジョブを設定できないので、cronでそれほど凝ったことはしないでしょう。となると、標準エラー出力はともかく標準出力のメールは邪魔です。かといって1> /dev/nullとか打ち込んでも、消えてしまうので意味なさげ。とか思ったら表示上は消えていても実際にはきちんと反映されているようです。

"Windows" Shells Family Tree: Windowsのシェルの変遷を家系樹のような感じで羅列した"Windows" Shells Family Treeを眺めてました。1998-99年が熱いすな。Talismanはすごかった。使わないけど。

再: My Yahoo!でRSSが読めるように: ずいぶん前に一旦Betaで提供されていながら撤去されていたRSSモジュールが、My Yahoo!にBetaとしてきちんとリリースされたようですね。ちょっと試したところFeedrollやくっつき RSS的なもので、実用性には欠けるような感じがします。

PLINKで地図を出す: PLINKのProfileで地図を表示するには、FOAFファイルにbased_nearを記述してやれば良いようです。とりあえず最寄り駅の緯度・経度をぶち込んでからPingして更新したら、表示されるようになりました。縮尺でかすぎてあまり意味無い。

続・子セレクタ: 以前、Internet Explorerは子セレクタというCSSのセレクタの文法に対応していないとか書いたんですが、Web-GraphicsのLimited child selector support in IE5.0/Win?によるとInternet Explorer 5.0に限っては部分的に対応しているみたいです。どういう場合かというと、

選択文字列をBulkfeedsで検索するMenuExt: 公開してくれるとおもいますとか言われてますね。Bulkfeedsのsearch2がパラメータで渡された文字列の文字コードをかなりきっちり判別してくれるようになったので、単純にURLエスケープした文字列を後ろにつけてGETすればOKになりました。以下、MenuExtのコード。エディタなどにコピペして適当なファイル名で保存した後、IE MenuExtで登録してやりましょう。

back_and_forth pluginまた更新: link要素の出力に対応してみたり。これまではstoryサブルーチンで前後のエントリを辿るリンクを生成していたので、(X)HTMLのhead要素内にそれに対応したlink要素を作ろうとするのにはかなり無茶でした(できないことは無い)。が、エントリ単位での閲覧の時にはheadサブルーチンでも前後のエントリを調べることが可能なことに気づいたので、対応しました。OKっぽい。

Coutney Love / America's Sweetheart: 元ストリッパーCoutney Loveのソロ・デビューとなるAmerica's Sweetheartは、HoleでのCelebrity Skin以来のアルバムのリリースになりますね。何曲か既にラジオで流れてたり、ネットで試聴できたりしたので聞いたのですが、良いすな。キャラ的には余り好きではないのですが、曲は別。やはりというかClean版もありますね。曲はカットされてないのでビープ音入ってそう。2/10発売とのことなので、そろそろ探し始めよう。

paginate_simple plugin更新: back_and_forthプラグインのflavourへの対応に合わせて、paginate_simpleプラグインにもflavourへの対応を実装しました。こちらも見た目はまるで変わってませんね。プラグイン自体のコードはかなりすっきり。

back_and_forth plugin更新: 前々からやろうと思いつつおざなりにしていた、back_and_forthプラグインのflavourへの対応を実装しました。見た目まるで変わってませんね。てか、これでMovable Typeみたいな「« 前のエントリのタイトル | Main | 次のエントリのタイトル »」とかできるかなと思ったらそうは問屋がおろさない罠。できないことはないんですけど、空タグ出力せざるを得ないっぽいのがどうもイケてない。あの横にずらーっと長いのはおさまり悪くないですか? だからエントリを上下に挟んだ方が良いでしょ? とか苦しい言い訳をしてみる。

clevercactus feedexplorer: Share Your OPMLというサイトでOPMLを公開できるのは、ちょっと前に紹介した・・・と思ったら紹介してなかった罠。まーそういうサイトがあるんです。大雑把に言えば、いろいろな人に自分のOPMLファイルを公開してもらって、そのデータを集計していろいろしようという試み。起動時にURLからOPMLなRSSの購読リストを読み込んで同期してくれるRSSリーダー(RSS Banditとか)も出てきたので、それらとの連携も考えているんではないかなと思います。

PigeonholeとBlogRolling: PigeonholeはRSSの購読リストになっているOPMLファイルを編集するためのソフトウェアです。OPMLエディタではありません。ゆえにBlogRollingやBlogPeopleが吐くOPMLなどは考慮外です。これらに対応するつもりはまるでありません。読むこと自体は特に問題は無いかもしれませんが、それは偶然であり、意図しない動作です。

MyIE2: 海外の有名タブブラウザ、MyIE2はどうやらGoogle Toolbarをそのまま使えるみたいですね。これは良いかも。IEを起動するのは、Windows Updateの時とPageRankチェックの時だけという僕には良いかもしれない。

Comparator: ちょっと前に書いたエントリで紹介したMOZiEと同じくあるURLをMozillaとInternet Explorerで開く、Comparatorというソフトウェアを見つけました。MozillaのBookmarkを使えるのは結構良いかもしれません。その程度の差しかないんですが。.Netなので、さっと確認というわけにはいか無いのが使いづらい。MOZiEの方が良いですね。

search.cpan.orgにDiffとGrep機能が追加: search.cpan.orgにDiffとGrep機能が加わりました(via use Perl | Diff and Grep Now Available on search.cpan.org)。各モジュールのページに、Toolsというリンクが張られており、そのリンク先から利用できます。

WSH入門: 何気に便利なのに誰も使わないWindows Scriptですが、結構便利なんですけどね。@ITでWindows管理者のためのWindows Script Host入門と題して連載が始まっていたようです。

The Pixies再結成: カリスマからカリスマ視されていた伝説というか、The Pixiesが再結成される模様。ついでにライブ・アルバムとDVDを出すところが、最近のロック復権に便乗商売みたい・・・だけど、買う。VIBE-NETのThe Pixies USコーチュラ・フェスティバルでついに再結成!! より。

TrackBack導入: tb-standaloneを設置して、トップページその他、ほとんどのページにTrackBack Auto-discoveryを仕込みました。これによってAuto-discoveryを利用して自動的にTrackBackを送信するツールを使用している人がうちのサイトのどこかのページに言及した場合、TrackBackが送信されます。

Spursに勝った!: 勝ちました!うっほっほー! 4thQで逆転勝ち! Cassel良い!

Wolves地区首位!: 好調なTimberwolvesがついに地区首位を奪取しました。明日(現地時間14日)はSpursとの直接対決。なんとしても勝って欲しいところ。

Adobe Reader Speed-Up: Adobe Reader Speed-Upは、Adobe Readerの起動時に読み込まれるプラグインを制限することによって、妙に起動が遅くなったAdobe Readerの起動速度を改善するアプリケーションです。

Colored boxes: 以前、Floatutorialで紹介したMax Designから、フルCSSレイアウトを構築する手順をStep by Stepで解説するColored boxesが公開されました。完成するものは、ヘッダ + メニュー + 2カラム + フッタという非常に扱いやすいもの。あまりにも「blog」という感じが強いので、通常のサイトを構築する場合はそれなりにカスタマイズしなければなりませんが、概念自体ははっきりとわかるので、フルCSSレイアウトをやってみようという方にはかなりオススメなページでしょう。

CNet JapanとTrackBack: CNET Japanが各記事へのTrackBackを受け付けるようになったのは、方々で話題になったわけですが、どうやらTrackBackを一部フィルタしてるようですね。ココログなどからのTrackBackは反映されないそうです。

cookieでパスワードを保存するRssMemoの差分: RssMemoにcookieでパスワードを保存する機能を追加する差分をbricklife.*のoobaさんからいただきました。

writebackにcookieを仕込む: 毎回入力するのが自分で嫌になってきたので、writebackにcookieを読み書きする機能を仕込んで、名前とURL(orメール・アドレス)を復活させるようにしました。あえてcookiesプラグインを使わな買った理由は、put_formsとの兼ね合いです。ちなみに有効期限は3か月。

リニューアル失敗: ちょっとだけリニューアルしたら、失敗しました。Internet Explorerではスクロールが嫌になるほど重い。position:relative;がスクロールを重くすることがあるのは知っていたのですけれど、それほどでもないような気がしたのでやっちゃったのですが、大失敗。あ、あとposition:relative;のなかでfloatさせた画像が表示されないとか言う怪しげな挙動にも。

CSSの識別名にアンダースコアを使う: CSSの識別名(identifier)には、アンダースコア(_)が使えるわけですが、どうやらInternet Explorer 5以降には、これにまつわるちょっとしたバグがあるみたいです。そのバグというのは、「識別名の先頭にあるアンダースコアを無視する」というもの。CSS: The Underscore Hackで見つけました。

モジュール一覧をリストアップするCGI: インストール済みのモジュールを調べるCGIはいくつか公開されているのですけれど、単純明快に\w+\.pmというファイル名をリストアップすることでざっと調べてみました。

RssMemo更新 #2: ちょっと気持ち悪いバグを見つけたのと、フォームの再送信による二重投稿のチェックくらいはした方が良さげなのがありまして、RssMemoを1.2に更新しました。

RssMemoとMenuExt: RssMemoは、あるウェブ・ページの内容を*簡便*にメモすることを目的に作られたものです。RSSをデータ形式に採用した理由は流行ってるからとか、自分の中でRSSリーダーの利用頻度が高いからそういうことにすぎなくて、たいした意味はあまり無かったりします。キモはやはりInternet ExplorerのMenuExt (またはBookmarklet)からの投稿でして。

RssMemo更新: utf8プラグマを使わずに、Jcodeに文字コードの変換を任せる形にして、RssMemoを1.1に更新しました。その他、出力するJavaScriptファイルの文字コードだけは指定できるようにしたり、RSSのchannel要素の子であるtitle要素やdescription要素に入る文字列を指定できるようにしました。

Pigeonhole 1.1: Pigeonhole 1.1を公開しました。最近のOPMLのトレンドでは、title属性を使うことにあるらしく、title優先またはtitleしか出さないという出力をするRSSリーダーが結構あるので、それへの対応とバグを若干つぶしてみました。

RssMemo公開: RSSで保存するメモCGIとRSSで保存するメモCGIを使用開始してみるで言及したRssMemoを公開しました。いろいろなバグをつぶしたり、コードの整理をしたりして、初回パスワード設定がわかりにくい以外の点は、それなりに使えるスクリプトになったと思います。

ITmedia Open!: ITmediaがOpenしました。白いすな。ZeNetより見やすいかもしれない。ま、もともとそれほど見づらいというわけではなかったですが。

Wolves快勝!: TimberwolvesがGarnetとCassel、Sprewellの"BIG 3"の活躍により、L.A. Lakersを106-90で下しました! うほー! うほー! うっほっほー! すげーうれしい。

NewsGator Online Services: Outlookのアド・オンとして動作するRSSリーダー、NewsGatorのNewsによると、NewsGator Online Servicesというサービスを始めるそうです。Outlookに限らずいろいろなモノ(ウェブ・ブラウザや電子メール・クライアント、PDAなど)で一貫したRSS購読を提供するサービスみたいです。

RSSで保存するメモCGIを使用開始してみる: 昨日のエントリ、RSSで保存するメモCGIで作成し始めたCGIスクリプトに、簡単なパスワード・チェックを実装したので、とりあえず使用開始と共に公開してみる。単純にこのページでログをチェクしても良いですし、RSSをRSSリーダーに登録することによってチェックしても良いでしょう。HTMLに埋め込むためのJavaScriptファイルもあるので、それを適当なページに埋め込んでやるというのもアリ。

RSSで保存するメモCGI: あるウェブ・ページを開いている時、そこに書かれている内容の一部と共にそのウェブ・ページのタイトルとURLもメモしたいなということはありますよね? そういったようなアプリケーションはいくつかあるんじゃないかと思いますが、基本的にはユーザー専用で、それをそのユーザーのウェブ・ページに公開するなどということを意識して作られているものは少なそうです。で、BookmarkletやInternet ExplorerのMenuExtから、RSSでメモしていくCGIを作ってます。これならデータにある程度汎用性があるし、ウェブ・ページにも取り込みやすいんじゃないかなと思ったので。

MOZiE: あるURLをInternet ExplorerとMozillaで同時に閲覧する、MOZiEというブラウザを発見しました。日々のブラウジングを行うためのソフトウェアではなく、Webデザイナの人がInternet ExplorerとMozillaでの見た目の違いを把握するためのものと考えた方が良いですね。

FOAFの参照方法を変更: CommentやTrackBackでのポインタから、foaf:makerを使ってFOAFの参照を埋め込むようにしてみました。The Web KANZAKIのfoaf:makerとdc:creatorを参考にしました。てか、そのまんまとかいう。

RSSにFOAFの参照を追加: RSS 1.0のDublin Coreモジュールにcreatorというモデルがあるのですが、その内容にFOAFの参照をぶち込んでやろうという試み。Internet Alchemy WeblogのFOAF in My RSSというかなり古いエントリからネタを引っ張ってきてみました。

Bloglines checkerコンソール版: Bloglinesの未読記事数を得る方法をずいぶん前に発見したのですが、Windows版のNotifierの使い勝手が良いので、特にこれを利用して何かをやろうとは思わなかったんですよね。なんとなく気が向いたので、方法の公開と共に簡単なPerlスクリプトを組んでみました。

GoogleのPageRankをチェック: GoogleのPageRankTMを教えてくれるサイト、Estimate your PageRank without the Google toolbarを発見しました。URLをhttp://から入力すると、小数点以下二桁までPageRankを教えてくれます。調べたところ、4.25でした。Google Toolbarでは、5になっているので最新とは連動していないということなのかな?

はてなアンテナとBloglines: はてなアンテナには、登録したサイトの更新通知をメールで送る機能があります。一方、Bloglinesにはメール・アドレスを作成し、それ宛てのメールをMyBlogsに表示するEmail Subscriptionsという機能があります。この2つを組み合わせると、はてなアンテナの更新通知をBloglinesで購読できるようになります。

PLINK: FOAFのディレクトリ・サービス、PLINKというものをIRCで教えてもらいました。とりあえず登録してみる。

feed protocol URL: feed:で始まるURLをa要素のhref属性に記述することによって、RSSのsubscribeを行わせようという動きがマイナーながらも存在する(SeeAlso: feed and rss protocols format)わけですが、Bloglinesは対応してません(サービス側でどうにかできるわけではないので、やるとしたらBloglines Notifierによってだとは思いますが)。で、VBScriptで無理やり対応してみる。

お知らせ@040102: 移転の名残でBIGLOBEに残しておいたサイトはは、そろそろいいかなと思ったので削除しました。何もありません。未だにあちらからRSSを拾っている方がかなりいるみたいですが、ファイルが見つからない(404返さなそう)状態になると思われます。本当はmod_rewriteなどでredirectしてやれば親切なんですがね。ま、そうするとファイルが消えたことに気づきにくいという欠点もありますが。そもそも使えないので無意味な考察ですけれども。

ロック・バンドいくつか: チェック! ロック! チェック! バンド!

ITmedia: そういや1/8にZDNet Japanは、ITmediaにブランド名変更するんでしたっけね。デザインも変更になるということに、かなり期待しているのですが。今のZDNetのデザインも悪くはないと思うのですが、どうも本文が見づらいです。読み物サイトで幅固定もちと嫌。どんな風になるのでしょうか。

あけました: 今年のblogの推移を占ってみたいと思います。

暮れます: 暮れますね。今年はやはりblogという感じだとは思うのですが、blogで何かうれしいことって言うのはなかったような気がします。単に僕がblogサービスとかにあまり興味ないのが大きいのでしょうが。実際にうれしかったというか「おお~」とか思ったことは、blogに付随する事が多い技術、RSSやTrackBackだったんじゃないかと。

来年のRSSの展開: RSSは、とりあえず何かしらの更新情報を積み重ねていくものみたいな方向で固定されつつある(それだけじゃないとは思うのですが、まぁそれは置いておいて)ので、単なるニュース・ポータルやメール・マガジンの代替みたいな感じにみなされており、それ以外になにかあるの? みたいな。

Underneath / Hanson: 1stのイメージが強すぎて、あまり正当に評価されていないバンドHansonの新譜がアナウンスされました。タイトルはUnderneath。共演のメンツがすごいです。Matthew Sweet、Michell Branch、Semisonic、Ed Robertson(Barenaked Ladies)など。

The All-American Rejects / The All-American Rejects: The All-American Rejectsは、Foo FightersとFountains Of Wayneの中間、ややFoW寄りに位置する感じ。メロディーが非常に明快で素晴らしい。メジャー・デビューであるAll-American Rejectsはかなり前のアルバムなのですが、なんかの拍子に収録曲のMy Paper Heartsを聞いて、惚れました。

BloglinesのEmail subscription: Bloglinesの新機能、Email Subscriptionsはメールアドレスを作成する機能。作成したメールアドレス宛てのメールはBloglinesのMy Blogsに表示されるようになります。課にメーラーとして使うというのではなく、Bulknewsで言われているようにメールマガジンをnews feedとして扱えるのがポイントでしょう。

2003年12月の読書: 読んだ本のタイトルのメモをウェブに残してみる。感想なんていらない。各タイトルに張ってあるAmazonのリンクにあるから。

ヨット: この世の乗り物の中で一番気持ち良いものはヨットかもしれない。モーターボートやフェリーには乗ったことがあったのですが、ヨットは初体験。なんとも言えないものがありますね。

地区1位!: 接線の末114-109で今季好調のMavericksを下し、TimberwolvesがMidwestディビジョン1位に! すぐにSpursに抜かれたので、一瞬だけでしたが・・・。

Fastbuzz & myFeedster: Fastbuzzはサーバー・ベースのRSSリーダーで、閲覧はブラウザで行います。UIは2ペインですが、左には購読中のRSSの中から指定のものを入れるので、ちとメンドウ。デザイン的にも何というか、垢抜けていないというか。使いやすいならまだしも非常に使いにくいですしね。大幅に改善されるとはとても思えないので、あまり良さそうではないです。ただ、Fastbuzzには、指定の感覚で購読RSSの新着記事をまとめてメールで送ってくれる機能があります。こっちの方だけとかいう感じで利用する分には将来性ありそうです。今のところ、日本語は通りませんがね。

シングル2つ: Pearl JamがBig Fishという映画に提供した楽曲、Man Of The Hourが届きました。Pearl Jamがシングルをネット限定で発売で書いたように、オフィシャルサイト限定。っていってもサントラには入っているのですけど。所属レコード会社なしという状況から生まれた、稀なケースでしょうね。曲の方は、最近のPearl Jamから、更にスローな感じで、盛り上がりに欠けるのでイマイチとか思うかも。悪い曲ではないです。

BloglinesがAtom対応: Bloglinesが、まだPre Draftで、現状ではこれといって利点の無いAtomに対応したそうです。そこそこ名前も通ってきたような気がするので対応しとくかみたいな? 興味本位で配信するのはともかく、RSSリーダー側で対応するのは時期尚早な気がするのですが。

"standalone" and "server-based": RSS Aggregator(RSSリーダーではなくて)はサーバー上で動くのが良いのか、スタンドアローンで動くものが良いのかとかいう記事、Sunday Afternoon Thoughts on the Design of RSS Aggregatorsを読む。サーバー上で動く場合とスタンドアローンで動く場合の利点を中心に比較してますね。完璧といって良いほど利点については言及されていると思います。

blogの序列付けとか面倒というか、序列なんて意識して見てないし、適当に好きなblog羅列してTrackBackしあえば、そのうち誰かが集計してランキングになるんじゃないの? とか思ったので羅列してみよう!: ということで、好きなblogを5つ、アルファベット順に並べてみる。

Amazon Associates: うちのサイトではAmazonのAssociates(アソシエイト・プログラム)を利用したリンクは張ってません。なんとなくキャバクラの客引きみたいだなとか。訪問した人へ「へっへっへ、いい娘揃ってますよ、旦那」で、Amazonへは「上客ゲットしましたぜ! あっしにも分け前を・・・」みたいな。

ローマ人の物語: 年に一冊ずつリリースされている、塩野七生のローマ人の物語。全15巻(らしい)の第12巻が本屋に並んでいました。サブ・タイトルは迷走する帝国で、皇帝がポンポン死ぬあたりのお話ですね。実は別の本を買いにいったら見つけたとかいう。買いに行った別の本はバーティミアスでした。現金を4000円しか持ってなかったので、まだローマ人の物語は買ってないとかいう噂。噂じゃないけど。

Atom 0.3 Snapshot: Atomが0.3に更新されたようです。最近、再び盛り上がってきているようで、MLが異様に活発です。あるものをうまく利用していろいろ実現すれば良いんじゃないの? とかいう基本的に怠惰な僕には、いまいちAtomの有用性は見えてきません。チェックしてるのは単なる好奇心。それはともかく、0.2からの変更点は以下の通り。

Pito!: Pito!はいわゆるウィンドウを移動する際、デスクトップの辺や他のウィンドウとスナップさせるアプリケーションです。同様のアプリケーションはかなりあるのですが、補助的な機能の部分で愛用してます。

眠い: 眠さ爆発メッセで会話。

Sonic Youth Rush: 世界一アーティストに愛されている(勝手に推測)Sonic Youthが、ニュー・アルバムPeace Attack (仮)及び、Gooの再販、そしてDVDリリースとラッシュが続く模様。ネタ元はいつものようにVIBEのSonic Youth '04年はリリース・ラッシュ!?というニュースから。

リデザイン@2003/12/12: 進行中。プロトタイプというか構造まではほぼ完成。position:relative;のブロックにposition:absolute;をぶち込んだりとか、メニュー・カラムの幅を可変にしたりとか微妙に。しかし、どういう色にしようかまだ決まらない。なのでとりあえずは真っ白。渋い赤か、淡い緑が今のところ最有力。#CC3333とか#99CC66あたり。

RSS History: RSSの変遷が時系列順にずらっと並べてあるページ、Web RSS (Syndication) Historyを、The RSS Weblog経由で知りました。チェック。

Blog of the Yeah!のイベント: タダで招待されたので、Blog of the Yeah!のイベントに行きます。こういうお祭りは誘われても避ける傾向が強いのですが、貴公子とカリスマにお会いできるようなので、両人の竜顔を拝謁する栄誉を賜わりに行かせていただきたいと思います。

background-postionについて: 背景画像を右からxx%に並べる場合、CSSで単純には並べられないような気がするので、あーでもないこーでもないと考えてたらやり方わかりました。微妙に頭使いましたが、理解してみると単純明快で、「実は常識?」とか鬱になってみたり。CSSのコードよりも、画像の作り方がポイントだったので、なかなか思いつかなかったです。

header, 2 column and footer: ヘッダ+(メイン・カラム+メニュー・カラム)+フッタという構成にしようかと思ったので、CSSを書き換えはじめたのですが、なかなかうまいこといかなかったりする。

RadStat: RadStatというデスク・バンドなCPU/Memoryメーターを長らく愛用しているのですが、どうやらとっくの昔に配布サイトが死亡しているようなので、バックアップがてらミラーして置こうかなと。デスク・バンドなので、タスクバーに置いておけます。見やすいわりに邪魔にならず、良い感じ。

NewsMonster: XULアプリケーション(Java必須ですが)なRSSリーダー、NewsMonsterを久々にインストールしなおしてみました。数か月前にインストールした時から更新されたというわけではないのですが、なんとなく気が向いたので。

cosmos.pl: まー適度にまとまったスクリプトになったので、TechnoratiのLink CosmosをJavaScript includeできるようにJavaScriptファイルとして出力するスクリプトを晒してみる。正規表現ベースで"いべんとどりぶん"な方法でXMLをパースしてます。"いべんとどりぶん"って言うとカコイイ。

Technorati Link Cosmos: TechnoratiのAPIを利用して、最近ココにリンクを張ったblogを一覧でサイドバーに流し込んでみる。BlogRollingとかBlogPeopleのような能動的で固定のものはあってもあまりうれしくない、というかみんなやってるからやりたくないので、こんなんで。

writebackの?__mode=rss更新: 見た感じOKっぽいような・・・という適当実装だったので、各itemの順番を考慮していなかったのを修正しました。RSS 0.91だと時系列情報を内包できないので、上から下に新しいものから古いものへ並んでるべき(らしいということ)なので、そうなるようにしただけだったり。

filter: Internet Explorerの独自拡張であるCSSのfilterプロパティを使った遊びを教えてもらったので、いろいろ作ってみる。なんか効果が現れるのは、WindowsのInternet Explorer 5以降・・・だと思います。元ネタはこのあたり。とっても重くてデンジャラスだということを踏まえた上で踏んでください。

7行blosxom: 7行で書いたblosxomぽいCGI。カコイイ。

武王の門: 最近、北方謙三の小説にはまってます。いきなり何の話だよ。とはいっても、あのアレなハード・ボイルドの方ではなく、歴史モノの方ですが。ちょうど僕くらいの年齢だと北方謙三は、「あー試みの地平線の人だよね。いい年して恥ずかしくないのかねぇ(失笑」とか「徳大寺有恒と違いがよくわ(略」エライ酷いイメージを持たれてたりしますが、歴史モノの小説書かせるとかなり良い感じです。文体が特徴があるというかテンポが良いので、ノリノリで読めます。

Western - Midwest: Spursが勝ったので、全チーム勝ち越しになりました。Timberwolvesは勝ったり負けたりしながら貯金3。Overtimeの末にKingsを下したのはちょっと安心しましたが、イマイチ安定性に欠けてて、今年も良くてプレーオフ2回戦止まりくらいっぽい感じ。GarnetとSprewellが出ずっぱりでようやく貯金という感じなので、大きい期待は禁物と言い聞かせてますが・・・。今年はとてつもなく抜けているチームが無いのでチャンスなんだけどなぁ・・・。

code samp kbd var: CSSをちょっと追加。滅多に使わないからこそ意味がある・・・ということにしておく。

女は誰/どこだ!: 一般的にデザインとか芸術分野では女性の方が多いことが多かったりするのに、web standards周辺に女性が見当たらないとかいう話。StopdesignのWho/Where are the Women?より。

I'm Feeling Lucky: ネタが無いので。

Squeezebox: 無線LAN(イーサネット接続も可能)でPC接続し、PCに置いてあるMP3を再生することが出来る上、Internet Radioも聞けてしまうデバイス、Squeezeboxというものが・・・。これにはかなり物欲が刺激されました。

P_BLOGの配布サイトのRSS: P_BLOGの配布サイトのRSSは、channelやitemのlinkなど、ほとんどすべて相対URLで書かれてますね。RSS内の相対リンクを解釈するRSSリーダーはあるんですかね?

TrackBack Tracer: 先週の土曜日にTrackBackをなんかこうどうにか何かしたいとか話してたので、それの最初の一歩としてTrackBackを辿っていくTrackBack TracerというCGIを作ってみました。作ってから同種のものが腐るほど存在することに気づく罠。

RSS from ESPN: ESPNがRSSでニュースを配信し始めたようです。ほぼフル・コンテンツで画像付きという素晴らしさ。MLB/NBA/NFL/NHLマニアは必読。

今年よく聴いたCD: 本当は12/31あたりに書こうと思っていたのですが、miyagawaさんに先に書かれたので、取り急ぎ。

Lo-Fi for 1.5: Mozillaのskinの中で5本の指に入るほどの人気(と、勝手に推測)のLo-Fiが、どうやら1.5系への対応を開始したみたいです。制作者のGashuさんのサイトgashu.orgのSwitched to Moz 1.5というエントリがそう読めるってだけの話ですが。

輪ゴム機関銃: 僕と同世代の男ならば、子供の頃きっと作ったであろう輪ゴム鉄砲。それの機関銃バージョン(比較するのに無理アリ)。装填数12のバレルが12あるので、144連発!!!!! ネタ元は、No-sword sans frontieresのI want itというエントリ。

cronで配信RSSを生成 #1: 配信RSSの方は微妙にうまくいってないのですが、ブログblogを楽しむMLリンク集の方はうまくいったので、こちらはローカルで作ってFTPでアップロードからcronで定期的に生成に移行しました。RSSの方も同時にやってます。

cronで配信RSSを生成: XREAが有料サービス利用者のみにcronを開放したので、RSSの配信をそっちに任せようかなとか思ってます。標準出力や標準エラーの内容をメールで送ってくれるらしいので、ほとんどそのままで動かせそうな気がします。で、実験中。

Cocolog: ココログのサービスそれ自体はどうでもいい(ヒドイ)んですが、TypePadベースということなので、もしかしたらFOAFがデフォルトで提供されているかな? とか気になりました。実際に有効活用する方法が無い(正確には僕が知らない)ので、起爆剤になるかどうかは激しく疑問ですが、認知度は多少なりとも上がるかも。

Vnc2swf: VNCを利用してFlashで録画するVnc2swfというソフトウェアを発見。

Fahrner Image Replacement hacks: Fahrner Image Replacementという、ロゴに画像を使用しつつ、CSSが切られていたりCSS非対応なブラウザには相応のテキストを表示するCSSテクニックがあるんです。img要素のalt属性使えばいいじゃんとかそういうのはまぁ置いておいて(一応、上記URLで触れられているので、そちら参照)。コンセプト的にはかなりツボなのですが、このテクニックはあんまり意味のないマークアップを施さなきゃならない上に、このままではロゴにリンクを張るのは難しい(display:hidden;なのでポイントできない)、さらにはA List Apartでアクセシブルっぽく見えて実際にはアクセシブルじゃないよとかつっこまれているので、ちょっとどうかなとか思っていたのですが、うまいこと追加マークアップ無しで実現できたので、このテクニックを応用したものをタイトル・ロゴに導入してみました。

Big Me If You Can: こんなタイトルのアダルトありそうだなとか。下ネタか。

ircxom: IRCからblosxomのエントリをポストすることを可能にするircxomというPerlスクリプトのIRCボットを見つけました。開発止まってるみたいですが。

カテゴリを別名で: カテゴリの一文字目をキャピタライズへのコメントで、miyagawaさんに「RSSがRssでカコわるい。十年前の暴走族のセンスだ。ダッサーッ! プップクプー。」(捏造80%)とか言われたので、categoriesプラグインをガリガリに拡張して、別名カテゴリを実装しました。ついでにcategory_titleプラグインとplain_categoryプラグインの機能もまとめました。似たようなことをやってしまう羽目になるので。

SeesaaブログからのTrackBack: SeesaaブログからのTrackBackはexcerptでは、タグを削除したり、実体参照化してくれないみたいですね。RSSのdescriptionでは実体参照化してるのに。改善希望。受信側で対策するべきではあるでしょうが、送信側も気を使うべきな気がします。改行コードも削除した方が良いような気がする。

Monday Moduleについて: Monday Moduleは大げさなものではなく、基本はモジュールの使い方とか利用ケースのサンプルが勝手に溜まっていく感じで、あまり肩肘張らずに出来ればいいなぁとは思います。書いて楽しい、見て楽しい、うまくすれば・・・というような。

名前生成: Milano::Monologのプロジェクト名自動生成ツールというエントリを見て、プロジェクト名とかも困る(悩む)けど、ゲームやるときのキャラ名とかもっと困る(悩む)んだよなぁと。特に僕は洋モノRPG大好きなので、日本語で名前付けられないとかアリガチで、しかも6人パーティのRPGだったりしたらキャラ作るだけで果てしない時間が。

癒し系: カープの新井が癒し系ペット飼うとかのたまってます。

The Crystal Method / Legion Of Boom: チョイ好き程度なんですけど、ニュー・アルバムのLegion Of BoomにMilla Jovovichがボーカルのアレが入ってたりすることに飽きれてしまったので、ピックアップ。元Limp BizkitのWes BorlandとかKyuss・Sons Of Kyuss・KatzenjammerあたりでQueens Of The Stone AgeのJosh Hommeと絡んでたりするJohn Garcia(Bjorkとも仲良さげ)など、他に聞き所あるので要チェック。

藤原カムイ版鉄人28号: 藤原カムイが描いた鉄人28号が今日出るとかいう噂を聞いたんですが、それに関する情報が見つかりません。単行本ではなくて企画ものの雑誌っぽいんですが、誰か知ってる人いたら教えてください。出版社すらわからない。

RSSプレビュー: XMLスタイルシートを書けば済む話なのですが、XML::RSSモジュール使えるようになった喜びを端的に表現するために配信しているRSSファイルのプレビューCGIを設置してみました。マルチ・セレクトにして複数のRSSを一気にプレビューできればそれなりに良いかもしれない。

Through the eyes of a Mac browser: WindowsユーザーがSafariでサイトがどう見えているかを確認するのはかなり大変ですね。以前のエントリ、「Safariでどうなのさ?」で書いたようにエミュレータで確認するのが妥当といえば妥当なのですが、やはり面倒。とはいうものの他に良い方法も思いつかないので、稀にエミュレータで確認してたりしていたわけですが、Safariでのスクリーンショットを撮ってくれるThrough the eye of a Mac browserというサービスをhebig.org/blogのQuick Links, November 24で知りました。

Pigeonhole 1.0: Pigeonholeを1.0として公開しました。変更点は上書き保存時の不具合の修正とコードのメンテナンス。

カテゴリの一文字目をキャピタライズ: 小文字始まりのままでも良いのですけれど、大文字始まりの方がすっきりしてるような気がしたので、実装してみました。カテゴリ別名を実装すれば良いんじゃないの? とか言ってはいけません。

RSSについて: この文書は2004年頃に書かれたもので、かなりの部分が時代遅れな記述となっています。更にいくらか誤解や嘘も含まれますが、もう修正できません。

ティンバーウルブス、ロード4連勝: スーパー・ルーキー、リブロン・ジェームス擁するキャバリアーズを97-83で下して、ロード4連勝。今年は全般的に混戦模様(マジック以外)なので、ロードでそれなりに結果が出てるのは後々大きいかもしれない。ホームでそれなりに結果が出るのが前提ですけど。

BIGLOBEから301でこちらに: miyagawaさんのアイディアで、BIGLOBEにまだ放置してあるblosxomにアクセスがあった場合、301でこっちに飛ばしてやるようにしました(もちろん対応する場所に)。飛ぶまでに若干ラグがありますが、何事もなかったようにこちらへ移動できるようになりました。

生ログ: XREAに移転したのでApacheの生ログ見れるようになったので、眺めてニヤニヤしてるわけですが、やはり楽しいすね。特にRSSファイルへのアクセスを見てると、RSSリーダーがいろいろあって幸せな気分になります。変だな、私。多い順に、

Monday Moduleふたり: NDO::WeblogのnaoyaさんがMonday Module ひとり - HTML::LinkExtorというエントリでMonday Moduleの予行演習をやってらっしゃったので、言い出しっぺは僕だし、やはり面白いとは思うので僕もスクリプト作ってみました。

BlogPeopleあれこれ: Modern Syntaxの今日のBLOGPEOPLEによると、BlogPeopleが最近の更新状況のRSSなどを配信するようになったわけですが、これにはちょっと「んー???」という感じでして。なにが「んー???」かと言うと、miyagawaさんもおっしゃっているようにURLがclick.jsp経由のものになっているところ。URLがclick.jsp経由だと、仮にWeblogs.comやping.bloggers.jpがBlogPeopleの更新状況のRSSファイルを二次利用しようとすると、それぞれのURLにheadリクエストを投げて、リダイレクト先を調べるという手間がかかりそうです。それ以前にURLでどのサイトに飛ぶか理解できないのはやはりあまり気分が良いものではないような気はしますしね。

Stone Temple Pilots解散: 本日の深夜にStone Temple Pilots / Thank Youで、解散しないで・・・とか書いたんですが、VIBEによるとThe Stone Temple Pilots 解散を発表とのことで。

blosxomと404: blosxomは存在しないエントリにアクセスしようとした場合、headとfootのflavourをつなげたものを返すわけですが、これはちとアレなので、404のページを返してやりたいなぁと思ったら、blosxom MLにHow to generate a 404?というスレッドがありました。

カープ、2003年のドラフト: 例年の通り、非常にささやかなドラフトでしたね。内野手二人(比嘉と尾形)は即戦力とか評価してますが、それは言いすぎだろ。開幕一軍も怪しい。で、シーツは? ラロッカとかいらねーよ。ベイルはいるけど。

Stone Temple Pilots / Thank You: Stone Temple Pilotsの2年ぶりのアルバム、Thank Youはベスト・アルバム。曲順もさることながら、選曲自体もツボ。新曲は「All In The Suit That You Wear」だけですが、らしい曲で良かった。これでバラードだったりしたらCD叩き割るところでしたが。

移転しました: たいした理由もなく独自ドメインに移転しました。BIGLOBEでblosxomは重いなぁ・・・とか頻繁に思うようになったことくらいですね、理由。

Customize writeback plugin #7: writebackプラグインで気になってはいたけど、見なかったことにしていたことをざっと修正してみました。面倒なので出力HTMLをプラグインにそのまんま書くという手抜きっぷり。修正点は以下の通り。

FTP Wanderer: ウェブ・サイト更新時以外でのFTPクライアントはSmartFTPがメインなわけですが、機能には満足しているものの、あまり挙動が好きではないので、いろいろ探してみたりしてます。で、見つけたのがFTP Wandererというもの。

bk1がRSS配信開始: オンライン書店のbk1がRSSの配信を開始したようです(IRCで教えていただきました)。

EntryTree: blosxomのエントリを置くディレクトリを再帰的に検索して、エントリとカテゴリをリストアップする秀丸マクロをなんとなく作りかけてみる。起動すると、まずエントリがカテゴリ構造そのままにメニューでリストアップされます。次に、メニューのエントリをクリックすると、そのファイル名(拡張子なし)があらかじめ入力されたダイアログボックスが呼ばれます。最後に、そのダイアログボックスで適当に名前を指定すれば、同じカテゴリにエントリが保存される・・・というのを目指したものです。

空writeback対策: 最近、本文が空のコメントやTrackBackがたまに飛んできます。しかし、writebackプラグインにはそういったものを排除する機能は存在しません。ので、手動で消さざるを得ませんそろそろこの程度のことには対策しておいた方が良さそうなので、投げやりに対策して見ました。

GoogleがIRCをインデックス?: GoogleはIRCをクロールしようとしているらしいとかそんな噂を耳にしました。海外のIRCサーバーではかなり頻繁にeddie##(~Eddie@###-###-##-#.google.com)という名前で出たり入ったりしているそうで。既にGoogleに問い合わせ済みで、マジネタらしいです。まだログを取りはじめてはいないみたいですがね。

rss10プラグインをちょっとハック: rss10プラグインにほんの少し手を加えて、content:encodedの最後にコメント・フォームへのリンクを加えるようにしました。うちの場合はPermanent linkにコメント・フォームがあるので、スクロールする手間が少なくなる程度の利益しかありませんが、多くのblosxomのサイトはPermanent linkとwritebackのflavourが違うと思うので、こういうリンクを付け加えておくと、コメントの投稿に手間取らせずに済むかもしれないかもしれません。

CSS Vault: CSSでデザインされたサイトを紹介するgalleryとCSSデザインのテクニックを公開するresourcesの2つのセクションからなる、CSS Vaultというサイトを、hebig.org/blogのQuick Links, November 13経由で知りました。

Pigeonhole 1.0 b4: Pigeonholeを一般的なアプリケーション挙動の実装をメインにb4に更新。変更点は更新履歴を参照。機能はここらへんでフリーズで良さそうです。以降はバグ修正とコードメンテナンスをメインに。

blosxom.org: 日本人blosxomユーザーのためのポータル・サイト、blosxom.orgが運営開始されました。公式に登録されていない日本人作のプラグインの情報やblosxom MLの話題なんかを取り上げるものになると思います。

Pigeonhole 1.0 b3: Pigeonholeを更新。オプション設定を作成し、ウィンドウの位置・サイズを保存したり、確認ダイアログを表示させないようにしたりできるようにしました。

writebackプラグインについて #2: そのまま持っていってくれてもまるで問題ないです。が、メールで投稿通知の機能を手抜きで実装してあるので、送信先がソースの最後の方に素で書かれています。要は、使うときはその送信先をちゃんと書き換えてねっつーことです。

広島秋季キャンプ #1: いきなりこれですか。縁起が悪すぎですよ。ここはひとつ、監督を交代して厄払いを・・・。

Pigeonhole 1.0 b2: Pigeonholeの専用ページを作りました。右のメニューからも直接飛べます。以降、ダウンロードは専用ページの方で。今回からサンプルOPMLファイルを同梱することにしました。バグ潰しと挙動不審なところの調整を主に作業中です。更新点は以下の通り。

Pigeonhole 1.0 b1: 募集しても誰も考えてくれそうも無いので、「Pigeonhole」に決定。Life with RSSとして公開してきたBeta版は以降、Pigeonholeに引き継がれます(b1~b7のアーカイブは削除しました)。アイコンも描いて用意完了。単なる白い立方体のアイコンですが。特に何もイメージすることなく・・・。

Life with RSS開発 #7: 整ってきたようなそうでもないような・・・うーん。バグ取りとブラッシュ・アップをメインにいじってます。更新点は以下の通り。

notlong.com: notlong.comは、以前紹介したTinyURL.comと似たようなサービスですが、こちらは任意の名前を利用してURLを短くできます。ほとんどURL転送サービスみたいに扱えるので、TinyURL.comよりこちらの方が素晴らしいかも。

Pearl Jamがシングルをネット限定で発売: Pearl Jamが公式サイト限定でニュー・シングルを販売するそうです。曲名は「Man Of The Hour」とな。ネタ元はVIBEのニュース、「Pearl Jam ニュー・シングルをネット上で限定販売」です。

Life with RSS開発 #6: サクサク更新。UIの充実とRSSのchannel要素内からタイトルやリンクなどを取得できるようにしました。これで大体のところ自分の必要とする機能は実装し終わった気がします。追加機能などは以下の通り。

Life with RSS開発 #5: なんとなく作れちゃったので、アイテムのドラッグ・アンド・ドロップで移動を実装してみました。てか、ヘルプに書いてあった。

Life with RSS開発 #4: まだまだやる気があるらしい。Bulkfeedsのフロント・エンド的になってきました。んーまーRSSのディレクトリ・サービスと連携するという方向は、RSSリーダー補助アプリケーションとして間違ってないと思うので、良いと思うんですが。

Source Tree & IEDocMon: Source Tree & IEDocMon are *very* useful tools for web-developpers.

BlogPeopleへのping: BlogPeopleへ更新通知pingをローカルから発射すると弾かれる(多分登録されているURLから登録されているURLを送信しないとダメ?)ような気がするので、LWP::Simple使って直接更新通知URLを開いて通知してやることにしました。

Blosxom-Branded Knicknacks: Blosxom-Branded Knicknacks

Life with RSS開発 #3: なぜか異様にやる気が出てきた。このやる気があるうちにある程度まで作り上げないと放置するな、多分。追加した機能は以下の通り。

Life with RSS開発 #2: とりあえず読み込んだOPMLファイルの、各RSSのURLやタイトルなどの編集は出来るようにした。100行近くあったやっつけ編集コードが、16行で実装できたので。新しくRSSを追加したりとか、既にあるRSSを削除したりはまだ。ついでにAboutダイアログでバージョン情報を参照できるようにしておく。

Life with RSS開発 #1: シコシコ作ってます。まだ編集機能が完全ではないのですが、面白そうだったのでBulkfeedsのOPMLでの検索結果を表示できるようにしてみました。本筋からどんどん離れていってます。

床屋とコンタクト: 僕は目が悪いわけで、基本的にメガネなわけですが、床屋のときはコンタクトをつけてゆくのです。理由はメガネかけている人にはわかると思う。で、今日もコンタクトをつけていったわけですが、洗髪の時に落ちました。うっかり「あ、コンタクト落ちた」とか口が滑ったからさぁ大変。店員全員で探してくれましたよ。こういう時って居たたまれないですね。なんとなく。

Life with RSS: RSSの購読リストが羅列されてるOPML専用のエディタになるかもしれないけど、多分面倒になって放置そうなものをシコシコ作ってます。

Feedroll: FeedrollはRSSファイルを任意のウェブ・ページでJavaScript Includeできるようにしてくれるサービスです。rss-jp.netでも同じようなことをかなり前からやっていましたが、こちらはかなり細かくカスタマイズできるようです。

Console: Consoleは、ちっと前に紹介したConsole2のベースになっているオープンソースのcmd.exeのフロント・エンドというかなんと言うかよくわからないものです。エッライ軽くなってて素晴らしいのでこっちも紹介。

Online Status Indicator: MSN Messengerのログイン状況を画像で表示してくれるサービス、Online Status IndicatorがようやくMSNの新プロトコル(9だっけ?)に対応したようです。この画像をクリックしたらメンバの追加が出来るとかなら、それなりに利用価値は高そうな気がするんですが、どうこうできるわけではなさそう(Sending a message toとかいうページに飛びますが良くわからないっす)なのであんまり意味無いかもしれない。アクセサリみたいな。こんな感じで表示されます。

お誕生日: あーそういや父親の誕生日だなとか思って、家に帰って母親に「親父は?」って聞いたら「んー? スリランカ。」とか。

オワタ: <!-- 私信ココから -->

ふと: いのうさんとおしゃべりがしたいと思った。彼の頭の悪さを指摘してあげたい。とか、こんなんだからまるで話しかけてくれないんだよね。超猛省。

Nets 84, Timberwolves 61: ボコボコだよ・・・。スプリーウェル・・・もしかしてダメダメ? てか、FGM-Aが33.3%って酷いな・・・。

Internet Cache Cleaner: Internet Explorerのキャッシュは無駄なというか、謎なファイルが残ってたりして肥大化しがちなわけですが、時々ばっさり捨てるって言うのもなんだかなわけで。Internet Cache Cleanerはリンク切れのキャッシュファイルなんかを削除して(多分)綺麗にしてくれるものです。それなりに綺麗になってると思います。間、主導でやるよりかははるかにマシなので、僕みたいにキャッシュを多めに確保している人にはそれなりに便利かも。

tDiary互換flavour: 乗りかかった船というわけで、tDiary互換も作ってみる。tDiaryのデフォルトで吐くものがイマイチよくわからなかったので、かなり怪しげ。とりあえず、tDiary 1.5系のサイトをいくつか眺めつつ、手作業で作ってみました。構造は多分あってるような気がする。例では、比較的良く見るCloverテーマを利用させていただきました。

Movable Type互換flavour: blosxomをMovable Typeっぽくしてみようというわけで、いや違うな、blosxomの難点のひとつに、ある程度HTMLやCSSなどの知識がどうしても必要になることがあると思うので、それをすっぱりと無かったことにしてみる試みの一貫として、Movable TypeのCSSファイルを流用できるflavourを作ってみました。CSSファイルはMovable TypeのDefault Stylesから貰ったTrendyです。もちろん、互換と謳ってるわけですので、Default Stylesにある他のでもまったく問題ないです。

Bulkfeeds: 日帰り出張で思いっきり見逃してましたよ。Bulkfeedsとかすげえっすよ。OPML出力できるとかすげぇっすよ。小人がシコシコとパーステンプレートかいてくれるサービスとかもはじまるらしいっすよ。カテゴリ分けもしたら、Syndic8も真っ青! ・・・無理だな。

RSSとAtom、ESFを静的生成に: RSSなどを動的に取ってくるとなると、このサーバーの場合ちとアレな重さなので、静的に出力するようにしてみました。とはいうものの別にプラグインで実装したわけではなく、エントリをアップロードするついでにwgetで動的に生成したものを取ってきて、それをftpでアップロードとかいう、前時代的な手法で・・・。バッチファイルで行うので、wgetとftpの組み合わせになってます。それぞれのURLは以下の通り。

CDATA区間: ていうか、すべてのバージョンのRSSがXMLである以上は、descriptionやtitleにもCDATA区間が含まれる可能性はあるわけですね。ここんところ根本的に見落としてました。でもどうやって、CDATA区間が含まれるかどうかを判別するんだろ・・・。エンティティ化されてない"<"を見つけたらとかアナログな判別の仕方でいいんかな?

RSS Headline Mailer Each公開: content:encodedへの対応を実装できたので、いくつかのバグをつぶした上で、正式公開。content:encodedへの対応は、HTML::FormatTextにおまかせ。文字が壊れるのは、バグではなくUTF-8で渡すとダメ(なことがある)ということみたいでした。HTML::Parserの制限かも?

トップ・ページを開く速度の改善: トップ・ページに最近のエントリを表示で、JavaScriptのflavourを作成し、動的にトップ・ページにblogの最近のエントリを表示できるようにしたわけですが、毎回blosxom.cgi呼んでたので、トップ・ページの表示がエライ遅いわけで。そうではなく、エントリをアップロードするついでに、JavaScriptファイルを作ってやれば良いことに気づきました。

もうすぐNBAの03-04シーズンが開幕: プロ野球/メジャー終了から流れるようにNBAが開幕するわけで。相変わらずMinnesota Timberwolvesファンな僕ですが、今年はいける! なんか直前になって怪我人出てたけど気のせいだ、多分。誕生15年ときりのいい年だし! 強引だ。

Pearl Jam / Lost Dogs: 入荷のメールを貰って速攻でゲット! うーおー!!!Lost Dogsはシングルにのみ収録などのレア・トラック集です。ジャケット画像はPearl Jamっぽくないけど、カッコイイ。出来はさほど良くない。集めただけって感じだし。ですが!!!! Leaving HereとYellow Ledbetter、Dirty Frank、Last Kissこれだけでかなり垂涎ものと。多分だけど。

content:encodedへの対応: RSS Headline Mailer (Each)を、content:encodedに対応しようかなと思って格闘中。HTML::FormatTextモジュールで、大概の場合はOKっぽいんですが、稀に文字列が破壊されてしまって停滞中。

RSS Headline Grabber MLの停止: あんまり役に立ってなさそうなので、とりあえず停止。そのうち何かまた始めるかもしれないです。今度は記事ごとに配信にして、参加者でその記事に対する反応とか投稿できたりすると面白いかもなーとか。

RSS Headline Mailer Each: 某所や某氏に「新着記事ごとに一通メールが来るといいなー」とかそんな感じのことを言われたので、RSS Headline Mailer Eachという名前で作ってみました。設定ファイルなどはRSS Headline Mailerとほとんど共通です。詳しくは同梱のreadme.txtを参照してください(コピペなので内容怪しいですが)。

blacklist plugin: コメント・スパムの対策をそろそろしようかなとか。エントリのネタに困ったから、そういうことにしてみました。Movable Typeばかりかな? とか思ってたんですが、結構な数tDiaryやWikiなどにも件のコメント・スパムが投稿されている(らしい)ことを知ったことも理由のひとつです。ほら! エントリのネタに困っただけじゃないでしょ?

ウィルス対策サービス: Symantecとかはハードウェアでも出してましたっけね? ウィルス対策をエンド・ユーザー側でやるのはやはり至らないことが多々あるわけで、メールサーバー側で処理(プロバイダのサービスとかで)とかルータに中継メールサーバー機能つけて遮断とかそういうアプローチが主流になりそうではありますね。専門家じゃないので適当ですけど。

ナウ(中略)バー: 某N氏が某I氏が契約切れたナウ(中略)バーとかいうサーバー(なぜ伏せるのか良くわかんないけど伏せてみる)でblosxomを設置したのですが、速いっすね(本当はココでリンク張って晒してやろうとか思ったけど、殺されそうな気がするのでかろうじて踏みとどまる)。gzipも使えるみたいだし、これは確かに心がゆれるな。でもサブ・ドメインが気に入らないので、自分のドメイン欲しくならないと借りる気にまではなかなか。

Feedsterで全文検索: FeedsterというRSS検索エンジンがあるのですが、ここを使ってblog全文検索機能を作る方法を知りました。半分は思いつき、半分はインスピレーション。

Process Explorer 8.0: Process Explorerは、前に紹介したんですが、なかなか良い新機能が搭載されたので、再紹介。

aggregators & syndication ML: RSS周りの情報収集に素晴らしく良さげなML2つ。naoyaさんありがとう(真似。

BlogRolling checker: 前回のエントリを受けて、BlogRollingをチェックするPerlスクリプトを作ってみる。今回はクイック起動というか、デスクトップのツール バーで実装してみました。何はともあれ実行結果。

MSN Messengerのタブについて: いじれないわけではないみたいです。ただ、MSNの方に連絡を取って、利用する許可を貰って、その上でやらなきゃならないみたいです。6.1からはやり方も変わったとか何とか。某所で適当に聞き込んだ話ですので、正確なところは知りませんけどね。

SelectRoot: SelectRootという鶴亀マクロを必要に駆られて作りました。鶴亀メールで実装されて無い機能で、もっとも必要だと勝手に考えているものに「未読メールの読み進めをループする」というものがあります。未読メールの読み進めはSpaceキーにてやってるわけですが、見た目的に下の方の最後の未読メールを読み終わると、見た目的に上の方に未読メールが残っていても、そこにジャンプしてくれません。これがまた辛い。ので、単純明快に解決してみました。

K-Meleon 0.8 Beta Build 833: FileForum経由で、K-Meleon 0.8 Beta Build 833のリリースをキャッチ。個人的にはかなり好きです。Mozilla Firebirdよりも。

Atom 0.2 specを訳してみる: 寝付けなかったのでAtom 0.2 Spec日本語 HTML 版とか。

Atom 0.2 Spec日本語 HTML 版: (訳注) この文書は、dive into markのAtom 0.2 snapshotにある、Informal 0.2 specを日本語に意訳し、HTML化したものです。本ページは上記URLとは何の関係もないことをご了承した上でお読みください。

category_title plugin: カテゴリ単位での閲覧の時に、title要素やh2要素にそのカテゴリの名前を潜り込ませることが出来るように、category_titleというプラグインを作りました。月単位での閲覧の時は、list_title_at_monthで実装してるので、カテゴリ単位での閲覧の時にも実装しないのは片手落ちかなとか突然思い至ったので。

簡単な更新通知ping: BlogRollingに簡単に更新通知pingを送る方法などを・・・。BlogRollingは、更新通知ping送信機能が実装されていないとか、実装されていても利用できないサイトのために、手動で更新通知pingを送るフォームが用意されているんですが、いちいちブラウザを開いて更新通知pingを送るというのは非常にかったるいですね。

blosxomでTrackBack pingを送信: blosxomのwritebackプラグインは、TrackBack pingを受け取る(のとコメントを受け取る)だけのものなので、TrackBack pingの送信に関しては手動で行わなければなりません。手動で行うというのは、TrackBack ping送信用のフォームを書いたHTMLファイルを作成して、必要な情報(TrackBack ping送信先URLやTrackBack送信元のエントリの要約など)をコピペしてフォームを埋め、送信するということです。

Mime::Liteモジュール: Blog Developer's Cookbookのエントリ、RSS をメールで送信するで、MIME::Liteというモジュールのことが書かれてました。

Atomとか配信してみる: 名称も決定したようですし、休みで暇なので、Atomの配信も始めてみました。blosxomのPlugin Registryでnecho-flavourという名前でAtomを出力できるようになるプラグインが公開されているんですけど、なんとなくイマイチだったので、rss10を改造して自作してみました。

ALA 3.0: A List Apartのリニューアルがようやく完了し、再開されました。blogライクなデザインになってます。右にカテゴリーが出てたり、辿りやすいかなという感じではありますが、もっと雑誌っぽい感じでも良いんじゃないかなーとか。

Desktop Sidebar: Desktop Sidebarは、デスクトップにサイドバーを作り、そこにいろいろなもの(システムの状態とかカレンダー、天気予報とか)を表示するアプリケーションです(そのまんま)。

mozbm2opml: 誰も作るとは思えないので、mozbm2rsslistを拡張して、RSSリーダーのインポート・エクスポート用として、一般的なフォーマットに合わせたOPMLファイルを出力するスクリプトを作成。

XPde & XPwm: Windows XPのLook & Feelを再現したXPde & XPwmというLinuxのDesktop environmentとWindow managerを見つけました。

mozbm2rsslist: MozillaのBookmarkからRSSファイルのURLリストを生成するスクリプトを作ってみました。遅いし、このスクリプトで利用しているRSS Autodiscoveryという仕様(というか仕組みというか)自体がまだまだ浸透していないので、実用性はかなり低いですが。

gen_rss.cgi更新: 眠かったのですけど、布団に入ったところで、gen_rss.cgiで出力されるRSSファイルに、content:encoded付けようと考えてたことを思い出したので、速攻で付ける。

ESFで配信: ESFをかなり気に入ってしまったので、ESF仕様のココのエントリ一覧を配信し始めました。まぁシャレで。

リンクの色とか: MarkupDancingの人も激しく(かどうかは知らないですが)同意してくれてましたが、ちょっと前のエントリ、秋深しで書いたように、リンクの色は悩みますね。それの一風変わったアプローチを見つけました。

メールでwritebackへの投稿を受信: そういや付けました。結構前に。writeback notifyというプラグインがあったんですけど、配布サイト消えてたり。なので、sendmailで適当に組んでみました。writeback最後の方に以下を追加。

RSSMail: RSSMailという名前からして、RSSファイルの新着記事をメールで配信とかそういうアプリケーションかと思ったんですが、

View OPML Subscriptions: ねっとりと絡みつくようにRSS関連の情報を漁っていたら、結構な数のRSSリーダーで実装されている、購読しているRSSファイルのエクスポート機能で作成されるOPMLファイルのビューワー、View OPML Subscriptionsを見つけました。

ViewSourcEditor.vbs: Internet Explorerのソースの表示に使われるエディタを指定するには、レジストリの、

AllTheWeb: AllTheWebはうちのサイトを拾わないらしい。~付きのサイトを拾わないというわけでもないし、謎。

起きた。: 起きメモ。

おおっと: 1時間前後、404や500吐いてましたね、ここ。

Hep Message Server: RSSファイルの内容を、いろいろなアプリケーション(ブラウザやメーラー、IMなど)に渡すことを可能にするサーバー・アプリケーションであるHep Message Serverというものを見つけました。

Tori Amos, The Strokes, Iggy Pop & Stone Temple Pilots: もうすぐ出るのが楽しみでしょうがない。

ESF: RSSの派閥争いに嫌気がさして、テキストベースのsyndicationフォーマットを考えたのは、RSS 3.0だけではないみたいすね。ESFっつーのを見つけました。

Simplog: PHPなblogツール、Simplog (元MyPHPlog)は、blogツールというもののありがちな側面である、RSSとの関連性に注目しているような感じです。

Philter's RSS News Portal: FlashなRSSリーダー、Philter's RSS News Portal。これを実用的というのはちと苦しいような気がしますが、FlashはXMLをネイティブに扱えるので、Flashを利用したRSSリーダーは今後いろいろ出てきそうですね。ちょっとしたツールくらいにはなりそうだけど、実用的なものが出てくるのが僕には想像できないのは、僕がFlashは大の苦手だからです。いや、嫌いって意味じゃなくて、作るのが。

Dido: 「ダイド」って読むらしいっすよ。素で「ディード」かと思ってました。いや、別にどうでもいいんですが。

RSS Headline Grabberについて: RSS Headline GrabberでHTML出力して公開しているページは、そろそろ存在意義がなくなってきたような感じ(元々無いとか言わないで)。今から「RSSってなに?」というような人は、適当なRSSリーダー薦めれば良しみたいになったような。そんなこんなでRSSの利用例を更新して、RSSを利用できるソフトウェアとサービスについて簡単な説明を加えてみたり。どっかで見たような文章なのは秘密です。Bloglinesについて説明が一番長いのは、イチオシだからです。

MenuExt: MenuExtを雑然と公開してみる。インストール方法、機能の説明その他一切なしという手抜きっぷり。現在のソースを表示(注意:クリックするとJavaScriptエラーが出ます)は、ソースには表示されない(表示されていても見づらい)クライアント・サイドのスクリプトの実行結果が表示されるので、JavaScriptなどのデバッグに使えます。

Floatutorial: blogの隆盛以前から、floatによるレイアウトは一部の間でかなり突き詰められていたわけですが、多くのblogツールが(X)HTML+CSSなデザインを生成するため爆発的に広まってきたような感じはします。

High Pass & Mid Pass: CSSのブラウザごとの切り替えを、JavaScriptやSSIなどで行う場合、結局はブラウザが吐くUserAgent文字列に左右されてしまうので、正確性に欠きますね(書き換えることが可能なので)。最近のトレンドは実装を逆手にとって、本質的にブラウザを解析してやるアプローチなモノ。

School of Rock: Mr. Rock 'n' Roll (大嘘)、Jack Black主演のSchool of Rockは日本で上映するのかな? 激しく見たい・・・。AppleのMovie Trailersで、TrailerとMusic Videoが見れます。ウヒョ。

Subscribe with Bloglines更新: 12時間前に書いたSubscribe with Bloglinesが、RSSファイルへのリンクが画像に張ってあると、event.srcElement.tagNameがimgになるので、RSSファイルへのリンクが取得できないことに気づいた。とりあえず、親要素までを辿ってみることにする。単純に、その要素か親要素のtagNameが、Aだったらsubscribeするように。

Subscribe with Bloglines: Bloglinesでは、RSSファイルの登録方法としてBookmarkletが用意されているのですが、Bookmarkletは実は余り好きではないので、BloglinesのMy BlogsへRSSファイルを登録するMenuExtを書いてみました。大概のBookmarkletはMenuExtに書き直してしまう癖がどうも。

BlogRolling復活: サーバーを移行して、BlogRollingがパワーアップした模様です。

RSSファイルのdescriptionを調節: RSSファイルの各itemdescriptionとcontent:encodedが、両方ともエントリの内容そのまんまというのはどうも無駄な感じが否めないので、descriptionは最初の段落のみ、content:encodedはこれまで通りエントリの内容のフルコピーというようにしました。

Bloglines Notifier: Bloglinesの自分のアカウントの登録RSSファイルの更新をタスクトレイでお知らせしてくれる、Bloglines Notifierというソフトウェアが出ました。

自動TrackBackのテスト: とりあえず、完成したので実験してみる。

ファイルからURLを抽出し、そのURLからPing送信先を探してみる: 自動TrackBackスクリプトのためのサブルーチンを2つ書いてみました。

自動TrackBack実装ためのメモ: というか、既に作成済みの、FTPでアップロードしUpdate Pingを送るPublishスクリプトに付け加える形なんですが。

Console2: Console2はcmd.exeの代わりになるものです(どう表現したらいいのかわからない)。フロント・エンドというかなんというか。

Bloglines checker: しつこく引いてみる。

Karen Oがステージから転落?: VIBEのニュース、Yeah Yeah Yeahs カレン・Oがオーストラリアのギグでステージから転落し入院から。

フォント・ファミリをBitstream Veraに変更: Sun MicrosystemsがLGPL/SISSLのライセンスのもと、オープンソースとして公開・開発されているオフィスアプリケーション、OpenOffice.orgの1.1日本語版リリース記念に、プロポーショナル・フォントをBitstream Vera Sansに、モノスペース・フォントをBitstream Vera Sans Monoに変更してみる。

MSN Proxy: MSN ProxyはMSN Messengerの通信をフックして、MSN Messengerにいくつかの機能を付加する、プロクシ的なソフトウェアです。機能は、

自動TrackBack: rickdomからTrackBackが来て、はたと気づいたことが。

Bloglinesのススメ: 流行らせようと必死。

辞書が見つかりません: とかいうトラブルに。

flavourの整理: 昨日、writebackプラグインのflavourは.writeback固定ではないことに気づいたので、put_formsプラグインで埋め込んでやっているform要素のaction属性を、

Jenna and Jackson: Jenna Jameson Spices up the Jackson Logo!

Permanent linkのflavor: blog.bulknews.netのpermalink flavourで、

Virgin Radio RSS feeds: Virgin Radio - The Station - New Media - RSS feedsより。Virgin Radioに掲載されたインタビューやらライブ映像やらの動画リンクを含む、記事のRSSファイルを作成・公開し始めたそうです。

秋深し: いや、まだ深くないだろ。

put_forms plugin: put_comment_formプラグインだと、TrackBack Ping送付先URLはWriteBackのフレーバーでしか参照できないので、ひと手間多くかかってしまいます。この手間を減らすためにTrackBackのためのRDFをコメントとして埋め込んだり、TrackBack Ping送付先URLを埋め込んだりもする、put_formsプラグインを作りました。

FOAFファイルをとりあえず作ってみる: 今だ具体的な利用方法が生み出されて無いような気もする、FOAFですが、IRCとか自分のプロファイルをはっきりと示せない環境で、示したいなとか思った場合に有効に使えるかもとか思ったので作ってみました。本当は、なんとなく作ってみたかっただけとかいうのが本音だったりするわけですが。

月ごと閲覧の改善: liで並べていたんですけど、ちとごちゃごちゃしてわかりづらいし、月ごと閲覧の場合は日付けのポインタがわかりやすいように存在した方がいいと思ったので、dlで並べるようにしました。dlのdtに日付け、ddに対応するdtにある日付けのエントリのタイトルを並べてます。ついでにメインとは逆の順序、すなわち先頭から後尾に、古いエントリから新しいエントリへ並ぶようにしました。過去ログ的な閲覧方法である月ごとの閲覧の場合は、この方が良さそうだと思ったので。

印刷からPDF: 少し前に津波荘のDIARYに、PDFっていうがあったので、「おぉ! これは良いかも!」と、僕も試そうかと思ったんですが、バイナリ落としたところでめんどくさくなって放置。ちとインストールに苦労しますね。で、探してたらPDFCreatorっていうGhostscriptのインストールまでやってくれるものがありました。

RSS Headline Grabber MLへの参加: RSS Headline Grabber出力サンプル様々なRSSファイルの新着記事とRssRollingの新着エントリをそれぞれ4時間ごとにメールで送っているMLへの参加フォームです。いまいちどこから参加して貰ってよいものやら謎というか、わからなかったので、エントリに書いておくことにしました。

RssRolling via E-Mail: RssRollingのRSSファイルからdescriptionやら更新時刻も含め、定期的にまとめてメールで受信できるようにしてみたり。各記事は、

なぜかBTEパワープレイ中: 僕の中でBetter Than Ezraが来てます。前から好きだったんですが、最近になって加速してきました。

google.icq.com: ICQのサイトにある検索はGoogleベースなんですけど、独自にGirafaと組み合わせることによって、検索結果上位のサイトのスナップ・ショットも表示してくれるみたいです。

put_comment_form plugin: put_comment_formプラグインは、Parmanent linkからコメント投稿できるように、WriteBackの投稿フォームをParmanent linkのflavourに加えるプラグインです。これで、Parmanent linkからコメントを直接書けるようになるので、コメントつけたい人の手間が減るかも減らないかも。

秀丸エディタ Ver4.00β: PerlのWarningチェックの出力を、秀丸でタグジャンプできるように無理やり整形する秀丸マクロとか作ってました。拡張ダブルクリックとうまく組み合わせて、ダブルクリックでジャンプ。わーい。

あるflavourだけ$num_entriesの数を変える: Tadahilo's Diaryのindexというエントリより。

RSS Headline Mailer [sendmail版]公開: Naotoさん謹製のsendmailを利用してメール送信するバージョン。僕は関知しません。でも、僕に文句を言うと、100倍にしてNaotoさんに連絡されます。

RSS Headline Mailer更新 #2: 文字化けした文字列が紛れ込む可能性を見過ごしていました。Naotoさんが発見。さすが! 私専用人力デバッガ!

inside the house: MetaFilterのsydney opera house virtual tourより。

RSS Headline Mailer更新: やっつけで公開してしまったRSS Headline Mailerを更新しました。

Rock 'n' Roll Will Never Die: Tower Recordsの企画で、Rock 'n' Roll Will Never Dieっつーものやってます。ピック・アップされたアーティスト/バンドの作品は25% OFFというもの。Alice in Chainsが入ってる!!! こんなに評価高いんだ。かなり良いセレクションだ。

トップ・ページに最近のエントリを表示: トップ・ページにWeblogのエントリのヘッドラインを表示しようかなと思って、色々方法考えていたんですが、RSSから生成するとかの方法は、このサーバーにXML::RSSとかが無いので、その場しのぎ的なスクリプトを書くしかないので、どうしようかなと思っていたんですよ。で、何か良い方法ないかなぁと考えていたんですが、HTMLファイルに動的に挿入させるつもりなので、アプローチ的にはBlogRollingとかと一緒かなぁと。ということは、JavaScriptコードをblosxomのflavourで出力してやればいいんでないの? ということに思い至りました。

移行完了?: とりあえずBIGLOBEから容量増やす処理の完了メールは受け取りましたが。完了してるんだかしてないんだかはっきりわかりませんよ。ディスク移動するとか言ってたけど、パスが変わってない。移動するけどパスは変わらないとか?

RSS Headline Grabberの拡張中: 新着記事のあったRSSファイルを上に寄せるようにしました。Techとか見るとわかりやすいかな?

The Return of the King: Final Lord of the Rings traler is out!

perfection?: ウェブ雑誌+A4フリーペーパー(PDF)な雑誌、perfection?。ありそうでなかったこういうもの。Movable Typeでやってるみたいです。blogはパーソナル・パブリッシングの可能性を広げるっつーのは頭じゃわかってるんですけど、こう実際にやられると「おぉっ」とかちと思っちゃいますね。

リストの扱いの差: MozillaとIEはリストをレンダリングする時に、違う方法でアプローチしてます。デフォルトの状態だと多少インデントされる幅が違うだけで、たいした問題は無いのですが、CSSを使ってインデントされる幅をいじってやろうとか思うと、この違いに対応してやった方がすっきりしますね(気分的に)。

GDS Child Menu: 子供向けに分かりやすいデスクトップを構成できる、GDS Child Menu、こんな互換シェルもあるみたいです。

誤字: 誤字なんてするのは気合いと集中力が足らないからですよ。とか、言ってみる。

RSS Headline Mailer公開: RSSファイルから新着記事を一覧にして指定メールアドレスにメールで送信する、RSS Headline Mailerを公開しました。

ToEEクリア: ラスボスは造形はカコイイです。強さはそれほどでもなかった。その手前の必須でないエリアにいるBalor Guardianの方が性質悪かったような気がする。

さようなら: MSN Messenger 6.0のタブが復活する気配がまるで無いので、Tabbed RSS Headline Grabberは更新停止。

色々メモ: ゲームばっかりやってたら、一日以上開いてしまいました。

Skimmer (仮)開発 - 3: とりあえずは少しずつ進んでいて、数十のRSSファイルから新着記事をメールで送信とか出来るようになったんですが、いまいち。マルチ・スレッドで作ってなかったりして異様に時間がかかったりとか。日曜プログラマというか、まともに勉強していないことが足を引っ張ってるわけで。

ToEEメモ/完了クエスト: ToEEやってない人に無用の長物、やってる人にはネタバレ多すぎな、自分以外に何のメリットも無いエントリですね。

IMまわり: サード・パーティー遮断が流行っているっつーか、なるべくしてなったというか。僕は、携帯電話で他のキャリアと通話できないくらい不便なんじゃないかな? とか思ってしまう一方で、特に不自由を感じないわけで。

ToEEゲット: 早速、インストール。

JavaScriptの罠: 久々に一から書いたので、こんな罠に。

BIGLOBEホームページ容量拡大: で、罠があるわけですが。

アクセス解析を付けたり外したり: 付けたり、外したり。借りてみたり、設置してみたり。落ち着きなくてゴメンナサイ。とりあえず、機能的には素晴らしいのですが、blosxomのクールなURLに対応してくれないので、ココでは意味なさげなe-ACCESS解析は外しました。普通のページにはよろしいかと思われます。グラフは見やすいし、バナーは小さめだし、オススメではある。難点は解析のページ切り替えるのがめんどくさいとかそれくらい。

Customize writeback plugin #6: writebackプラグインを改造して、TrackBackとCommentを明示的に色分けするようにしました。

list_title_at_month plugin: 月単位での閲覧時に、すべてのエントリがずらーっとならんでてもしょうがない気がするので、各エントリのタイトルのみをliで並べるプラグイン作ってみました。

DialogMate: 起動中のアプリケーションをタスクトレイに最小化したり、コモン・ダイアログを拡張して良く使うフォルダにジャンプできるようにしたりするアプリケーションDialogMateが、ModZineで紹介されてました(VirtualPlasticでも)。

うぉ、5倍すか: BIGLOBEコース体系変更およびサービス強化のお知らせによると、BIGLOBEのホームページ容量が5倍の50MBになるみたい。増設も50MB単位と。あれ? 100MBになるのか? 相変わらずわかりにくい書き方するな、BIGLOBE。これで相当の間は大丈夫っぽいな。実は8MB近いので、そろそろ増設しようかとかレンタル鯖借りるかとか考えてたところだったので、うれしいです。

ToEEレビュー: ToEEのGameSpyによるレビューが(かなり前に)出てたみたいですね。とりあえず4ついていたので、酷い出来ではなさそうで一安心。

またタブ消えた: うちでは今日のまだ宵の内あたりからなんですが、MSN Messenger 6.0のタブ、また消えましたね。今度は読み取り属性つけても無駄っぽい。どうしようもなさそう。1週間くらい様子見して、復活気配なさそうだったらTabbed RSS Headline Grabberはお蔵入りさせよう。

オンラインでフォントを閲覧: Flashでフォントブラウザな、STC fontBROWSER。そこらのアプリケーションより便利かもしれない。インストール済みのものに限られますけど。

back_and_forth plugin: 前へ後ろへ。ムーブムーブ。

xplorer² alpha & Process Explorer: エントリ分けるのメンドクサイのでまとめて。

paginateプラグインの最古のページでのバグ: 総エントリー数が、一度に表示するエントリー数で割り切れる場合、最古のページが妙なことになるような。空ページが出力されないですか?

SEO #1: 日本語のページから"癪由美子"を検索しました。

使用中のプラグイン: ここのblosxomで使用しているプラグイン一覧です。

Flash MX 2004のCSSサポート: メモメモ。

Skip Navigation: (X)HTML+CSSで書いている場合は特にそうなんですが、HTMLでの要素の出現順序と見た感じの出現順序がずれているということは良くあることだと思います。floatやposition:absolute;を使用している場合などはありがちですね。

巷で話題の細長バナー: Kalsey Consulting GroupのButton Makerで生成するものらしいです。これで君もクールでキャッチーなウェッブ・マスター!!!

ネット坊: 正直、どうでもいいです、あなたの外見なんか。

__mode=rss: Movable Typeのmt-tb.cgiには、TrackBack pingを送りつけるURLに?__mode=rssというパラメータをつけると、RSS 0.91のフォーマットでTrackBack一覧を返してくれる機能があることを、日記やらblogやらwikiやらCMSやらの連携について議論するMLっていうMLで知りました。

inurlとsite: Googleでinurl:url.to/somebody/site/という形式で検索かけると、特定URLのページから検索できるのをちょっと前に知ったので、このサイトの全ページにこれを利用した検索ボックスをつけているわけなんですが、微妙に使いづらいですね。

flavour registry: blosxomのflavour registry(flavourリンク集)が出来たみたいです。プラグインをどう導入しているか、人によってかなりバラバラなので、そのまま使えるというわけではないと思いますが、こういうのあると良いですね。

paginateプラグインについて: リファラからゲット。棚からパルチャギの表示数を日単位にするプラグイン(名称未設定)とpaginate pluginの修正。ランダムにタイトルが変わるの面白いな・・・。リロードしまくり(ヤメナサイ。

WackGet: WackGet is a minimalist downloader.

ローカル? リモート?: RSSによる情報収集はデスクトップ・アプリケーションを使用してローカルでやるのが良いのか、ウェブ・ベース・アプリケーションを使用してリモートでやるのが良いのか。Lockergnome's RSS ResourceのLocal Versus Remote Aggregationに触発(受け身な人間なもので)されたので、そこらへんのことをタラタラと。

スパムの無いblogのための七つの知恵: Super Yoz Grahame Fighter 2 Turbo EXというサイトのSeven quick tips for a spam-free blogから。

paginateプラグインのカテゴリ/blogでのバグ: カテゴリ/blogで不具合が出たので、下記のように書き換えてみました。

カテゴリ単位で古いエントリを辿る: この機能は実現できたっぽいです。多分(ぉ。paginateプラグインのstartを、

ToDo - 03/09/09: いろいろやらなきゃならなそうなこと。

Re[2]: blogについて: blogサイト周りのありがちなこと。

Re: blogについて: で、Naotoさん、あなたはどれなのよ。INTO THE WORLD: blogについてに返信してみる。

paginateとentry_title: paginateというプラグインを改造して、古いエントリを辿るまたは新しいエントリへ戻るリンクを生成するようにしてみました。便利は便利かも。閲覧しているページによっては、変なことになることがあるのは気が付いているのでそのうち直します。トップページから辿っていく場合のみ、エントリを辿るリンクを出すようにしました。最初、$blosxom::path_infoが空のときのみ表示するようにしたら、月ごと表示とかの時にうまく辿れないリンクが出てくるのが回避できませんでした。blosxomの変数で他に使えそうな物がなかったので、$ENV{'PATH_INFO'}を見て、これが空の場合だけ表示するという方法にしました。

電子メールでエントリを投稿: Raelさん曰く、blosmailというCGIスクリプト(プラグインではなくて)で実現できるそうで。.procmailrc編集しろってことはProcmailでblosxomにクエリ送ってやるってことか。と、思ったらblosmailはクエリをパースしてエントリ作るだけのものみたいなので、別にProcmailじゃなくても構わないでしょうね。鶴亀メールのマクロから、クエリ送ってやるPerlスクリプトを起動してやるとかでも問題なさげ。

Skimmer (仮)開発 - 2: とりあえずHTTP経由までは作った。XMLパーサーは適当なものを使ってるんですが、内容の取得自体はほとんど自前でやってたりしたら、Slashdot JapanのRSSファイルでエラー吐いた。

UEFAサイト日本語版のRSSファイル: ウェファって読みにくいですよね。と、いうわけで要望があったのでjp.uefa.comのRSSファイルを作成してみました。

Safariでどうなのさ?: きわどいCSSを書いてると、Safariでどんな風に見えているか知りたくなるわけですよ。でも、わざわざ別のマシンのところに行くのもかったるいし、ていうか、Safari入れる気ないし。ある程度効率がよさげな方法を考えてて、KNOPPIXのVMWare版で、Konqerorにて見てみることにしました。

Skimmer (仮)開発 - 1: Skimmerって名前でRSS Aggregator作ってます。とりあえず、XMLをパースして文字列の動的多次元配列にぶち込むまでは出来た。現在の仕様は、

My Yahoo!がRSSを読めるように: My Yahoo!でRSSファイルをモジュールとして表示できるようになったそうです。本家での話ですが。ちと触ってみました。表示されません。むー? 巡回しに行くまで表示されないのかな?

夜想: 復刊だって! ゴス特集で。かなり今さら感あふれてますが。てか、Marilyn Mansonはゴスというイメージは無かった。言われてみりゃそうだな。

Abilon: AbilonというActiveRefreshのフリー版という位置付けっぽいRSS Aggregator兼blog投稿ツールを知りました。異様に軽く(今まで触った中で一番軽いかも)、使い勝手も素晴らしいです。あまり凝ったものが無いのも、リッチなAggregatorが増えてる中で好感が持てました。日本語がまるでダメなんですがね。UTF-8ですら。おしいなぁ・・・。かなりツボに来たのに・・・。

RSS Headline Grabber by Delphi: 暇つぶしにDelphiで作りかけてみる。

MYCOM PCWEBがRSS配信開始: RSSによるヘッドラインの配信についてということで、うちで配布してるのは用済みですな。短かった。

家族でblog: 家族でblogしてるススムココロというサイトがあるんですが、良いですね。あまり他に見ない(海外ではちょくちょくありますが)のも「おっ!」と思う要因ですけど、まさにPersonal Publishingって感じで。

Metro: Metroっつーシェルがあるんですが、基本的にはタスクバーとほとんど同じ(スクリーンショットはこんな感じ)なので、スキンが使えるExplorerみたいな。「こんなもの使って何が楽しいの?」とかLiteStep大好きな彼(誰?)は言うのですが、そりゃーまー人それぞれでしょう。僕はこんな感じの+α的なアプローチのシェルは好きかも。Carbon Lokaiとか。

ココのRSSファイルをヨコセ: ということで、「このサイトのRSSファイルが欲しい」とかありましたら、そのサイトのURLと簡単なそのサイトの説明をコメントしてください。

A List Apart: ウェブサイト制作周りの色々な投稿が読めるA List Apartというサイトを欠かさずチェックしているのですが、欠かさずチェックするのが面倒になってきたので、RSSファイルを取得することにしよう・・・と、思ったらRSSファイルを配信してなかった(少なくとも、見つけられなかった)。ので、作りました。

Heather Nova / Storm: Heather Novaの新譜、Stormが怪しげなCD屋にかなりフライング気味に置いてあったので、買いました。ドイツ版でした。UK版とかはまだ出てないっぽいです。

OPML仕様を訳してみる: RSS Headline Grabberの設定ファイルにOPMLを使おうかとか考えはじめたので、とりあえず仕様書を訳してみました。どう使うかは激しく未定。ただ、取得しているRSSファイルのリストがOPMLファイルだと、他のRSS Aggregatorに持っていくときに楽だなぁとか思っただけなのですよ。

OPML 1.0 Specificationの勝手な日本語訳: この文書はOPML 1.0 Specificationの勝手な日本語訳です。本文中の誤りはすべて勝手に日本語訳をしたKyo Nagashimaに責任がありそうです。かなり私的な解釈が混ざっている訳ですので、正確な情報を得たい方は原文を読んでください。

生活密着型スパム: このところのスパムはアダルト系のものより、もっとTVショッピング的な「痩せます!」とか「あなたの○○○が太く長く!」というようなそういう生活密着型スパム(勝手に言葉作ってみました)が多いような気がします。

Blog Tools: WebAttack.comにBlog Toolsというカテゴリが出来ていました。それだけ。目新しいものは特に無し。

RSSと広告の話: RSSが広まってくるにしたがって、当然それに広告を挿入したいという要望は出てくるでしょうね。それが広告効果があるかどうかはおいておいて。今のところは、先頭や最後にitemとしてGoogle広告ライクな内容をもぐりこませると言うものが中心なようです。

メールで新着記事を通知する機能: 新着記事をメールで送信する機能の追加は大体のところ終わりました。寝起きに書いてたりしたので、酷いコードになりつつ。あとはSMTP認証でのエラーとかの処理とか付け加えるくらいの模様。

W3C Markup Validation Service v0.6.5: The Web Standards Projectsのblogの記事、Validation just got betterによると、W3CのMarkup Validation ServiceのBeta版が出たそうです。

サーバーサイドなRSS Aggregator: Bloglinesは、オンラインでRSSを購読できるサービスです。アカウントを作って、ログインし、購読したいRSSファイルのURLを指定するだけです。OPMLファイルからインポートしたり、OPMLファイルにエクスポート(表示は文字化けしますがencodingをUTF-8に変えてやればOK)できます。カテゴリ分けも出来るし、カテゴリ内の新着をまとめて表示とかも出来ます。それなりに機能は揃っている印象ですね。RSSファイル限定のはてなアンテナみたいな感じでなかなか。

RSS Aggregatorリスト: とりあえずチェックしたクライアント側で動作するRSS Aggregatorsだけ、まとめようかなと。MacやLinuxでWebを徘徊することがほとんど無いので、Windowsで使えるものばかりになっているところは勘弁してください。

Webユーザビリティ評価ツール: WCAGをベースに日本独自の要素も盛り込んだWebユニバーサルデザインガイドラインなど、積極的にユーザビリティに関しての情報を提供している日立製作所より、Webユーザビリティを評価するツールが提供されるそうです。

Yahoo! NewsがRSS配信開始: といってもYahoo! JAPANじゃないですけれど。Yahoo!本家の方のお話です。配信の仕方がかなり徹底しているので、継続的にやってくれそうな気はします。ので、すぐにというわけにはいかないかもしれませんが、そのうちYahoo! Japanでも配信してくれそうな期待は持てますね。

小細工: 見た目は大して変わっていないわりに、CSSファイル内で小細工が多くなってきた気が。

消された: MSN Messenger 6.0のタブが、起動時など色々な時に消されるような・・・気が。06:54頃に消されたっぽいです。とりあえずConfigCache.xmlに読取専用属性つけておくと、消されないですが。えーと、これはこの機能を勝手に使うなって言うこと? それとも何か設定あるのかな?

RSSファイルのitem数: rss10プラグインで$blosxom::num_entriesを上書きすることによって、RSSのみ最近10件のエントリーを表示するようにしました。rss10プラグインはflavourがrssの時しかロードしないように書き換えているので、これで良いや。configプラグインってこういうときに使うんだろうな、とか思いつつ使わない。

RSSファイルからPOP3アカウントに記事をメール: いわゆるRSS Aggregatorもいいのですけれど、わざわざ常駐させるくらいなら、既に常駐させているメーラーでどうにか・・・と思うわけで。Windowsのものだとバルーンチップで新着お知らせというような機能があったりして便利と言えば便利ではあると思うんですけどね。ちょっと前に書いたRSSの更新情報をメールで貯め込むでもちょろっと言ってますが。

RSS情報集め: Lockergnome's RSS Resourceあたりが素晴らしいかもしれない。って、今日見つけたんですが。RSS関連の動きからニュース、ソフトウェアまで、かなり広範囲にわたってチェックできそうです。

URLをTinyに: 長いURLを短くしてくれるサービス、TinyURL.com。転送サービスとは一味違うのは、ログイン・登録不要であること。その分、任意の文字列を確保するとかは出来ないんですけど。とりあえずここもURL長いので作ってみました。

JScript RSS Reader: なんとなく思いついたのでJScript RSS Readerなるものを作ってみました。セキュリティの都合上、インターネット上では動かないと思われる(動かそうと思えば動かせるのですが)ので、ローカルにこのHTMLファイルと専用のXSL Stylesheetも一緒に保存して、動かしてください。Microsoft XML Parser 3.0 SP2かMicrosoft XML Core Services 4.0 SP1が必要だと思います。

MYCOM PC WEB: 僕はあまり見ないんですが、結構MYCOM PC WEBを見ている人多いみたいですね。ここのヘッドラインを抜き出したRSSファイルを作ってくれとか言われたので作ってみました。既に誰か生成して配信してても良さそうなのに・・・。

Blog will bring anything.: 昨日の昼頃にopenした、ブログblogを楽しむMLのグループログの自分の書いたエントリー、blogによってもたらされるものを引っ張ってきて、書いてみる。

久米宏降板: 後任は古舘伊知郎。朝日新聞によると来春で、<a href="http://www.nikkansports.com/ns/entertainment/p-et-tp0-030823-0005.html" title="久米宏氏が「ニュースステーション」降板

RSS Aggregatorの人気が急上昇: Wired Newsのニュースやブログを効率的に読める「アグリゲーター」の人気が上昇中という記事によると、RSS Aggregator(RSSファイルを斜め読みするためのソフトウェアの総称)が大人気とか。周りではほとんど流行ってないのですが。

ToEEはもうすぐ発売: 9/16と決定で、遅れることはまず無いと言うことらしいです。あと1か月無いですね。スクリーンショット見てると、ビホールダー出てくるみたい。とりあえず、戦闘システムはPoRと似た感じのようなので、あのエグイほどの敵の足の遅さがどうなってるかだけが心配です。製作会社違うし、散々叩かれたところだから改善していると思うのだけれど。

Nano98: Nano98というサイトの指示に従ってWindows98をカスタマイズすると、Windowsフォルダが、なんと4.38MB(UPXを使用しない場合は7MB)に! ヒマすぎる・・・。世の中には面白いこと考える人がいるもので。

あら: エントリの更新時刻でLast-Modified送ってるので、Comment/TrackBackがついてもキャッシュから読んでしまう。難しいな。どうやって反映させれば良いのか思いつかないので、一時解除。

CSS hacks: css filters (css hacks)という、ブラウザごとのセレクタその他の書き方の解釈の差をまとめたページを見つけました。これはすごい。ここのarchiveには、色々な誤魔化し方が書いてあって面白い。実際使うのはメンドクサイんですが。

あっはっは: 肝心のビデオデッキにS端子ケーブルが無くて

ポール・ダンサー・スーパーモデル: The White Stripes ニュー・ビデオでケイト・モスがポール・ダンスを披露

lastmodified_simple: entires_indexのデータからLast-Modifiedヘッダを出力すると、ちょっとしたエントリの修正とかがわからなくなるので、適当に最新記事のタイムスタンプを拾ってきて出力するようにしてみる。ついでに、entries_indexとは関係ないので、切り離しておく。ブラウザで見る分にはあんまり意味が無いんですけど。逆に、キャッシュから読んだりするので不便だったりするかもしれない。

CSSのみでタブナビゲーション: CSS Tabs

Brush Up: blosxomの設定を見直してみたり、プラグインで必要のないとかあっても機能してないようなものを削ったりしてみる。

Update Ping: 20行のPerlスクリプトで誤魔化す。いちいち手動で送るわけで。

the RSS Weather Service: the RSS Weather Serviceは、都市名と国を入力すると、週間天気予報のRSSファイルを生成してくれるサービスです。日本とか生成してくれるのかなとか思ったら、京都とか横浜はとおりました。Weather Undergroundから生成しているみたいなので、ここにある都市はOKってことだと思います。

Last-Modifiedヘッダ: Last-Modifiedヘッダをつけてやることにしてみました。公式のplugin registryにlastmodifiedというプラグインがあるんですけど、うまく機能させることができなかったので、あまり考えずにentries_indexの機能拡張という形でやってみた。timeからHTTPヘッダ用の時刻フォーマットへの変換は、HTTP::Dateのtime2strをパクった。

Customize writeback plugin #5: Jcode.pmだとout of memoryと怒られるので、省メモリとの噂のUnicode::Japanese使ってみました。試しにEUC-JPで送ってみたのですが、怒られること無しにうまくいっている模様。

FeedDemon試用: FeedDemon使ってみました。

$mo_num変数: Diary - laughing.stock - 日付日本語化プラグイン(date2ja)

Mozilla Firebird: From Internet Explorer to Firebirdっつー移行ガイドを見つけました。説得力あり。少なくとも、素のInternet Explorerを使うくらいならMozilla Firebirdの方が数段マシだと僕も思います。

配信しているRSSファイル一覧のOPMLファイル: グランド ウェブ!  ファンキー ヘタレ・ロードのウェブログ、スカンクワークスのアウトラインプロセッサーとXMLという記事読みました。で、RSSファイルの一覧をOPMLで提供すると、対応しているRSS AggregatorにRSSファイルを登録するのが非常に楽になる(らしい)ので、作ってみました。

blosxomのエントリを作成する秀丸マクロ: $entDir = "X:\\hogehoge\\blog\\put_entries_here";

PrintScreen Archive: 他人のデスクトップを見るのはけっこう面白いですね。で、PrintScreen Archiveというサイトを見つけました。

We're A Happy Family: Ramonesのトリビュートアルバム買いました。ずいぶん前に出ていたのは知っていたのですが、買うのを忘れていました。最近こういうの多い。Kiss・The Pretenders・Pete Yornあたりが良いです。コンピレーションアルバムにしては珍しくハズレがなかったです。

RollingStone.comがRSS提供開始: とりあえずRollingStone.comのメインニュースやCDレビューなどのRSSなどがあるみたいです。どこにあるのかわかりにくい。

Windows Messenger 5.0: Windows Messenger 5.0が出たみたいですね。MSN Messenger 6.0に比べて、会話ウィンドウを開く時やタスクトレイから復帰させる時の微妙なもたつきは少ないそうで。Windows 2000対応になっているので、とりあえず入れてみようかなとか思いつつ、セットアップファイルを落として放置。

Customize writeback plugin #4: Comment/TrackBackでURLが空欄で送られた場合、$writeback::urlが空になるので、リンク先が空のリンクを張っていたのですよ。あんまり考えずにflavourを作っていたので。flavour側でどうにかするのは無理そうなので、pluginを改造しました。

RSS Headline Grabberに不具合: 変換文字化け対策で目的としたことは成功したのですが、新着記事を判別するための文字列比較がうまくいってないみたいですね。ASCIIな文字列の比較ではうまくいってるようなので、違う文字コードの文字列同士で比べてるような。んー・・・。ついでにいじったところが悪さしてそうだ。

夕暮れ過ぎ: <!-- パクってつかんでココから -->

変換文字化け対策: $content = $j->set(\$content)->utf8;

大江戸温泉: 昨日は寒かったので大人気だったそうで。

元氣印ラスク フランス: 両親が旅行ツアーで一緒だった人からいただいたものなんですが、これはすごいです。ラスクっつーと甘ったるくて、サクサクというよりザックザックという感じのものだと思ってたのですが、これはふわ~んと甘くてサックサク。伊達に日本一は名乗ってないです。

変換文字化け: Jcode.pmの文字コード判別は失敗することがあるので、たまに文字化けしますね。短い文字列だとなおさらなわけで。なので、頻繁に変換文字化けが起こりやすい処理の仕方をしている、RSS Headline Grabberをちょっと練り直してたりする。

シーツ先生へ: あなたの来年の年俸が払えるか心配です。そういやハーストとか言う(以下略)。

Blosxomサイト日本語訳: Blosxomサイト日本語訳暫定公開

Customize writeback plugin #3: 暇に明かして更に拡張。

Atom: 名称決定してないのですが、めんどくさいのでこのサイトではAtomということで。

Customize writeback plugin #2: 変数を拡張して、WriteBackの数に応じて変化する$writeback::statusっつーものを作ってみる。

WebAttack.com: WebAttack.comというソフトウェアのディレクトリサイトがあるのですが、どうやらRSS Feed Readersというカテゴリが新設されたみたいです。このサイトはソフトウェアのディレクトリサイトの中では比較的新興のものですが、かなり評判は良いみたいです。

Moon Browser ver 0.50 A: バージョンアップへ向けてAlpha版リリース。およそ一年半ぶり? まぁ、挙動にかなり惚れてしまっているので、どうしようもなくなる(Internet Explorerのバージョンアップで動かなくなったとか)まで使いつづけるつもりでしたが。

Peace And Love: Fountains Of WayneというバンドのPeace And Loveという曲「だけ」欲しくなったので、Welcome Interstate Managers買いました。なかなか。以前に出してたアルバムも漁ってみよう。

ブログblogを楽しむML #2: ブログblogを楽しむMLのリンク集ができたそうです。

ping_weblogs_com_xmlrpc plugin: Weblogs.comをはじめとして、ping.bloggers.jpなど、pingを送ってもらって何かアクションを起こすサービスはけっこうありますよね。

03-04のティンバーウルブス: エライ面子が変わったので、強くなるかどうかはまったくわからないですね。どちらかというとトレードせざるを得ない状況なチーム同士で、似たようなプレーヤー同士を交換って感じなような。微妙に平均年齢は上がったかもしれないです。

RSS Headline Grabber更新 #4: RSS Headline Grabber更新中で触れた、RSSファイルごとのフッタでも特殊文字をいろいろ使えるようにしたのと、RSSファイルのパースエラーで触れた拙い処理の修正で更新しました。

RSS 0.91からRSS 1.0へ: ここのエントリのRSSファイルは、当初RSS 2.0だったんですが、なんかの理由でRSS 0.91にしていたんですよね(理由忘れた)。RSS 0.91だと、更新日時とか埋め込めないので、RSS 1.0に移行中です。今はとりあえずRSS 1.0って感じで、コアの部分しか出力してません。xmlns::dcとxmlns::trackbackだけ使おうかなと。そんなにいろいろあってもしゃーないし。

RSSファイルのパースエラー: PerlでRSSファイルをパースする時、

スクリプト書くのにはまると: スクリプト書くのにはまると、エントリを書かなくなる。

XHTML 1.1からXHTML 1.0に: そういや、XHTML 1.1なのにContent-Typeをtext/htmlで送ってるなぁと思ったので、text/xmlにしたんですよ。application/xhtml+xml使うとダウンロードダイアログ出てくるし。そうしたらIEのXMLパーサーがXHTML 1.1のDTDでパースエラーを吐くわけで(XMLパーサーのバージョンに依存するかもしれません)。なので、暫定的にContent-Typeを空にして送ってやるようにしたんです。

MSN Messengerから任意のブラウザを #2: 無茶なスクリプトを組んでみる。

MSN Messengerから任意のブラウザを: どっかの不定期更新インチキサイト管理人がおっしゃっているように、MSN Messengerから任意のブラウザを起動できるといいですね。で、適当にコマンドラインをそのままほかのブラウザに渡すアプリケーション作ってInternet Explorerのexeファイルと置き換えてみました。おお、立ち上がる!

Google in MSN Messenger 6.0: ぶち込んでみる。

impress INTERNET Watch: impress INTERNET Watchが微妙に変わっていたようで、RSSファイルが空で出力されていました。気づいたところで修正。次回の出力からはきちんと出力されると思います。

Tabbed RSS Headline Grabber #2: 普通にフレームとかでもOKなので、こんな感じに作ってみました。

コービー、法廷に: ポスト・ジョーダンの筆頭であるコービー・ブライアントの婦女暴行疑惑の法廷が開かれているみたいですね。暴行とみなされるものか合意とみなされるものかっつーのが焦点らしいです。

Googleで"~"検索: Googleで、「~Windows」とタイプして検索すると、Windowsと同義の語の検索結果も含めて表示してくれるんだそうです。はじめて知った。この例だとMicrosoftとかWin32とかも含まれるってことです。

RSSの次世代標準規格: 今年は鉄腕アトムが誕生したとされている年ですね。

Tabbed RSS Headline Grabber: ということで説明ページも作ってみました。まだ未完成ですが。個人的にかなりツボ。MSN Messenger 6.0最高!!

MSN Messenger 6.0のタブに: MSN Messenger 6.0のタブにRSS Headline Grabberで出力したHeadline (右のやつです)をまとめてぶち込んでみました。

blogと野外フェス: blogサイトの管理人って野外フェスが好きな人多くないですか? というか、単に洋楽好きな人かな? 異様に「(Fuji Rock Festival|Summer Sonic)に行ってきました!」というようなエントリが多いような気がするんですが。

Jane's Addiction / Strays: Jane's Addiction久々の新譜、Strays。買い忘れてたよ、ペリー。

ひたすらからむ: 俗に言う“記憶力のいい人”って、「三歳の頃見た場面を覚えてる」わけじゃなく、例えば、「六歳の頃思い出した三歳の頃の記憶」を覚えてるんだと思います。

トラックバックとか出来ません。: させろよ。いや、しろよ、か? どっちでもいいや。

msnmsgr: msnmsgrといってもMS謹製のやつじゃなくて、MozillaのXULアプリケーションなわけで。MSN Messengerの互換クライアントってことです。

ブログblogを楽しむML: "ブログblogを楽しむML"を開設。

美大出身者にはデザインで勝てない。: 「美大出身者にはデザインで勝てない。」とか無根拠なこと言われて、むぐぐ……となった。

FeedDemon: FeedDemonはFeedReaderなんかと同じ系統の、3ペインメーラー型RSSビューワー/アグリゲーター。RSS NEWS READER FOR WINDOWSというサブタイトルがついてます。見た感じ無難さがただよってます。使いにくいということはなさそうですね。CSSでプレビュー画面のデザインをいじったり出来るみたい。

行ったり来たり: こちょこちょ変わってます。いつもの通り、変だと思ったらリロード*3くらい。幾何学的にずれてるなと思ったら、間違いなくCSSファイルの内容が変わってます。そろそろ画像を使わないことに限界を感じてきました。多少は使うべき(当たり前)。

ECS: nhanced Color Systemということで、いわゆる画面のプロパティ→デザインで指定したりするWindows上の色を変更するアプリケーションです。コマンドラインに規定の書式に従って設定を記述したファイルを指定して起動すると変更してくれます。

preにoverflowを: pre要素についてで言ってたみたいに、かなりいい加減な回避策をしてたんですけど、どっちにしろ半角英数字 + 一部の記号の連続の場合ははみ出して、レイアウト崩れるわけで。floatを使ってると顕著ですね。

変な外人て: ping.bloggers.jpとか漁ってたら、in/fluxというとこで目が止まりました。デザインキレイだなぁとログ読みつつ。

HotWired JapanのRSSファイル: blog.bulknews.netのRSS on ZDNetで知ったのですが、いつのまにか提供されているみたいです。いつ頃からだろう・・・。つか、どこにあるのかわかりにく。正直、新たな機能を盛り込む前にデザインを見直して欲しいとか思う。

RSSファイルのitem->descriptionの内容: 基本的にはitem->linkにある文書の要約であるわけですよ。RSSとは(Rich/RDF) Site Summaryなわけですから。一方で、item->linkにある文書の要約ではなく完全なコピーであると、item->linkにある文書にアクセスしなくて済むので、微妙に便利だったりするわけですよ。特にRSS aggregatorと総称されるツールなんかの場合には、その恩恵を十分に受けられますね。

Customize plain_text_alt plugin: 改行を「/」に変換して、HTMLタグを削除するplain_text_altというプラグインをインストールしてるわけですが、このプラグインはflavourがrssの時しか使っていないのです。で、これ使って生成したRSSファイルが、読めないと言われまして。調べていたら、 がそのままあるとXMLパーサーでエラー起こすということみたいです。XMLの仕様書とか読んでたら、 は定義されていないようなことが書いてあったり。ということで を に変換して誤魔化してみました。

writebackプラグインについて #1: ていうか、<html>とか、HTMLタグを普通に書き込めるのね。怖。

MSN Messenger: 6.0がリリースされて、久々に常用し始めたので忘れていた。メンテナンス情報のダイアログ。何かと思ったよ。

Common Content: Common Contentは、Creative Commonsライセンスの元に公開されているサイトを集めたディレクトリサービスらしい。Lessig Blog : re-creativity continues(日本語版)に書いてあるようなことをガンガンやって欲しいのよって感じですかね? 違いそうな気がする・・・。まぁとにかく、一通り回ってみる気になった。

Blosxom and Trackbacks: It is the Japanese translation of the Rael's "Blosxom and Trackbacks" document.

Trackbackがしたいのですよ: 受け取れないんですが。

Blosxom Plugin Registry: blosxomのサイトはblosxomで構築されてるわけだし、RSSファイル取ってきてプラグインチェックしようかなとか。

Customize writeback plugin #1: 適当にやってたのであんまり問題を追及していませんでした。どうやらJcode.pmで文字コードを変換しない限りは、すんなり動くことがわかりました。ゆえにここらの処理を見直せばなんとかなりそうな。

RSS Headline Grabber更新 #3: 現在のデザインで出力しようかなと。そしたらスキンファイルの中で_%chmod%_という変数がチャンネルごとのフッタにあたる部分でも置換されてくれないと困るという羽目に陥りました。

parmanent linkの書き方: $url/$yr/$mo_num/$da#$fn

あなたはrecent entries必要ですか?: blogの左右にあったりする機能ですね。つけようかなとか思って、ローカルで使ってみたたんですけど、いまいち存在意義が良くわからない。

Install find plugin: メモリチェックで引っかかるかなと思ったけど、ちゃんと動いてるみたいです。

FOAF?: Web名刺とか、そんな感じ?

これで僕もblogger!!!: Yes! I am a blogger! Cool!

plain_text_alt plugin: plain_textプラグインを大幅に改造したというか、パクった。しかも、重要な部分のコードすらも、PerlメモのHTMLタグの正規表現からパクる。公開なんて出来ない。

書きながらログを移動: すげーややこしくなる。ローカルで.entries_index.index生成して、ローカルのフルパス部分をサーバーのフルパスに置換しただけで、そのままアップロードしてるだけなんですがね。時間とか超適当だし。覚えてないって。

Install plain_text plugin: やっぱりあった$bodyからHTMLタグを削除するプラグイン。HTML::Parser使っていました。

Install paginate plugin: これで過去ログを辿るリンクが生成できるみたいです。

ホーム・ページにいくつのエントリを表示させますか?: blosxom.cgiにて$num_entriesで一度に表示する記事数を指定できるんですけど、カテゴリ表示にも適用されるのはちと過去ログを参照し辛いような気がする。月表示では適用されないので、一気に見ることが出来るのに。

デタラメなHTML入門@朝日新聞土曜版: デタラメなHTML入門@朝日新聞土曜版

Creative Commons: 流行りものなので。

pre要素について: このサイトではベタテキストを書く場合、pre使う代わりにcodeで誤魔化しています。良くないことです。

Customize categories plugin: ValidなXHTML 1.1になるように出力をちょっとだけ変更。デフォルトの状態だと、ul直下にulが来ているので、そうならないようにしただけ。

Customize archives plugin: どうせ2階層しかありえないし、年まとめとかで閲覧しようなどという人は想像できないので、フラットに出力するようにしてみました。こっちの方が良いね。

RSS 2.0で出力することにしました: めんどくさいのでdescriptionの無いRSSを出力することにしました。解決っていやぁ、解決。

blosxomの出力するRSSファイル: ここの場合は、UTF-8なので文字コードの問題は無いですね。EUC-JPやShift-JISな人は、Perlに標準でインストールされているXMLパーサーにはそれらの文字コードのマッピングファイルが存在しなかったりするので、RSSファイルとしては問題なくても、他の人が読んでくれなかったりするかもしれないことは頭に入れとくと良いかも。

Install writeback plugin: こんなにややこしいものだったのか。使ったこと無かったからわかんなかった。テヘッ。

blosxomのエントリを作成する秀丸マクロ: 適当にマークアップしてくれるもの。実体参照にて記述した方が良いと思われる文字の変換もサポート。UTF-8で保存。カテゴリを指定できる優れもの。新規カテゴリの場合はフォルダまで作ってくれるぜ!

permanent link: このflavourではpermanent linkは各entryのタイトルの先頭にある文字にリンクを張って表示しています。すげーわかりにくい。改善すべき。

Install charset plugin: 実はWriteBackの文字化けのみにしか使ってないという・・・。content_type.{flavour}とかあるし、head.{flavour}にmetaタグ書く場合はベタに記述して特に問題ないし。

理解した!!!: entries_indexが上手く動いてないと思ったのは、ローカルでテストして作成された.entries_index.indexファイルをアップロードしたのにそれが反映されてないということだったのですが、これが大きな間違いで、.entries_index.indexファイルの内容はフルパスで各entryファイルを列記してあるので、ローカルとはフルパスが違うサーバー上では当然無視されてしまうということで・・・。

Install archives plugin: 滞りなく完了。

Install categories plugin: 特に問題も無くインストールできた。ルートが変だけど知らない。

Install entries_index plugin: なんか上手く動いてないし。

blosxom考察: とりあえず見た目動いてるらしい。generate staticとか鯖上でやってみたい衝動に駆られる。

RSSの更新情報をメールで貯め込む: 貯め込んでなにするの? とか言ってはいけませんよ。溜め込めることよりも、単にメーラーで記事チェックできたらイイナァとかそんな事の方が重要だったりするわけで。なかなか既存のサービスでは見つけられなかったので、自分で書いてみようと思い、ちょろっとかいてめんどくさすぎることに気づいたり。自作は危険かもなぁ・・・。既存のもので惜しかったのは、PopHeadlines。かなり理想に近いのですが、キッツイことに英語しか読めないです。期待をしつつ・・・。

Googleサイト検索: Googleを利用したサイト内検索を遊びで付けてみる。わーい、MovableTypeみたいだ。そのうち外すな、多分。いや、絶対。そういや、こういう時ってGoogleへのリンクだけじゃなくて、Googleのロゴも必須なのかな?

Sharing Your Site with RSS: HotWiredのWebmonkey(HotWired JapanのWebmonkeyで途中まで和訳あり)で、Sharing Your Site with RSSというコラムがありました。相変わらずくだけているというか適当この上ない文章ですが、わかりやすく正しい知識が得られるような気もする。概略つかむにはかなりいいような気がするので、参考にしてないけど参考資料に入れておこう。まぁ僕はRDFマンセーなわけですが。idealistsとか言われてる。

Game関連RSS: Gameとか作ってみる。いや、はいふぁっと!やGameSpotやらを見に行くのが面倒で。GameSpotのRSSファイル、はいふぁっと! のRSSファイル、SOFTBANK GAMESのRSSファイルはここで配信です。

RSS aggregator: 「RSSを集めるもの」というわけで、要はRSSを人間の頭で普通に理解できるようにものの総称。FeedReaderやKlipFolioをはじめ、結構な数あるので何を使って良いやら。クライアント側のものは、大きく分けてメーラー型のものとティッカー型のものに分けられると思います。FeedReaderが前者の例で、KlipFolioが後者の例ですね。個人的にメーラー型の方が使いやすく思うのですが、どうですか?

Rabbit Ticker: Rabbit Tickerというものが読兎で紹介されてました。いまさらですが。KlipFolioと同じような、ティッカータイプのものですね。どうなんだろう? 電車についてる電光掲示板みたいなもんで、常に傍らにある必要は無いような気がするんですよね。Rabbit Tickerは知りませんが、KlipFolioはとても人気があるみたいだし、僕が変なのでしょうか。

ウェブログ本: 届きました。ざぁっと読みましたが、こういう本は作るの難しそうだなと。Movable Typeの入門書としてはかなり良いものではないかと。ただ、詳しいことは参考URLまでアクセスしなきゃなかなかわかりづらいかなぁと。こういう本読んでると、本からハイパーリンクでウェブページに飛べたらイイナァとか思いますね。

エントロピー: エントロピー増大の法則っつーのがありますよね。温かいお茶は放っておくと冷めるけど、その逆は無いって奴。これは物理法則ではなくて経験則だそうです。で、この経験則を突き詰めて考察すると、そのうち宇宙は冷めきって、時間も糞も無い熱的死に到達するってことらしいです。

ホットスポット: 家の中が(一部)無線LAN化してたりするので、最近はPCカードの無線LANアダプタ持ち歩いて、ホットスポット見つけたらつないでみたりすることもあるんですが、「ホットスポットありマス」とか書いてないとわからないわけで。

RSSって: あれば便利。でも、積極的に使おうとは思えない。こんな感じでしょうか? それなりにいろいろニュースサイトはあるわけですし、ヘッドライン関連でRSSを広めるとかは無理っぽい気がする。

Liz Phair / Liz Phair: Liz Phairの新しいアルバム、Liz Phair良いです。微妙に下手な歌にさらに磨きがかかってます。最高。

爆弾: 「爆弾仕掛けてやる!」と思われるほど酷いイジメをしたのか。

市中引き回しの上、打ち首: スマイリー並みの毒だ。毒舌コメディアン/コメンテーターの方が向いてるんじゃないでしょうか?

コービー・ブライアント逮捕: コービー・ブライアント逮捕と同時に、カール・マローンがレイカーズへ移籍。にわかにオフ移籍騒動が活発化しそうな気配で。しかしジャズ一筋(性格的は大いに疑問がありますが、形的には)だったカール・マローンが引退を間近にして移籍は意外だったなぁ。

夢(2003年7月10日): Q : あなたの夢を教えてください

絶対に起きられる目覚まし: ちょっと欲しいとか思った。音が鳴らないというのが良いな。電子音の目覚ましだと起きないのよね。なのでアナログなジリジリジリジリと鳴るやつ(それとタイマーでCD)使ってるわけですが。

マジック: はーい シンちゃん パパだよ。

Liz Phair: 新しいアルバム出てた。今から買いに行ってきます。

行動の分析: 良質な情報のありかが簡単にわかるようになると、個々のウェブサイトへの滞留時間は短くなる。これは、オンライン情報システムにおいて人々がどのように行動を最適化しているかを分析した結果わかったことの一端である。

ヴァニラ: ヴァニラ・コークってうまくもないんだけど、まずくもなく、微妙に癖になるけど、わざわざ探してまで飲もうとも思えない代物ですね。

blog: blogって流行ってるというか、テキストサイトを閉めてしまった人達が、楽だしなんとなくかっこよさげとかそんな感じでやってるだけじゃねーの?

ライ麦畑でつかまえて: 昔に読んだんですけど、大して面白いとも思わなかったです。きっと訳が悪かったんだということで、鳴り物入りな某訳の方を読んでみました。結構前の話ですが。それなりに面白かったです。が、あれほどまでに名作/傑作と評価されているのが良くわからないのですよ。あれを読むくらいならリア王でも読みつづけてるほうがはるかにマシなような、とか。

書籍: 書籍に載るそうです。このサイトが。タダでくれるというので貰っておこう。どんな書籍なのかはお楽しみ。15日に発売だそうです。まぁ、まともなコンテンツが1つしかないわけで、どんな書籍に載るかは想像つきそうなもんですが。

続・嘘日記: 知ってますか? ピアスの穴から出てきた白い糸を抜いたら、実はそれモジュラーケーブルで、携帯電話は見えない何かでそれと接続して(以下略)。

嘘日記: ついに小指だけでタイピングできるキーボードが開発されたらしいですね。なかなかどうして指が釣りそうです。

ToEE: しつこく引きますが、ToEEはArcanumという、癖があるけど、実は傑作な近現代(スチームマンセー)RPGを作ったTroikaが作ってるので、非常に期待できます。Arcanumは秀逸ですよ。日本語版の出来がクズみたいなものなので日本じゃあまりにも人気でなかったですが。CAPCOMは洋ゲーの和訳をリリースするなと。

せっかく見に行ったのに: 盛り上がるところが多々ありながら、最後に。ま、8回に玉木出して負けたのだからしょうがないといえばしょうがないですが。

人多すぎ: 六本木の話ですが。夜に客引きしてるお姉さん方は駆逐したのかな? あっち(乃木坂歩いていく方面)の方もいろいろやってるみたいだし。Hardrock Cafeの方(十番に抜ける方面)とかはあんまり変わらんのね。微妙に良くわからない町になりつつあるような。怪しげな喫茶店とかおいしいことはおいしいけどオヤジが怖すぎる団子屋とか全部なくなってたなぁ。まー東横線からは行きやすいので、それなりに人集まり続きそうだ。新名所というほどのものにはならなそうな予感。テレビ朝日だし(酷い)。

発売日: The Temple of Elemental Evilは9月中旬、Shadow of Undrentideは6月17日ということらしいです。なんにせよ、楽しみ。

鯉の季節: などと言われるものの、綺麗に勝ちまくったことって記憶にないな。馬鹿のひとつ覚えのように言うのはマスコミだけ。

5割復帰: なんとか3失点で抑えた高橋、中継ぎの役目をしっかりと果たした澤崎、連打で浅井の使いどころを作った前田・シーツ、警戒される中盗塁を成功させチャンスを広げてプレッシャーをかけた福地、期待にこたえた浅井、2割を切る不振の中でサヨナラヒットを放った緒方。打線は不調であまり良いところが見られないですけど、今日はいい試合だった。

Shell Object Editor: Virtual Plasticより。Shell Object Editorという、My Computerやデスクトップにオブジェクトを作成するソフトウェア。ココによく使うフォルダを登録すれば、シェルのコンボボックスにでてくるので、コモンダイアログでアクセスしやすくなったりする。それ以外に利用価値は思いつかないけど。それなりに便利だと。それ以上にこういうこと思いつく柔軟な思考に萌え。

大型連休: そんなものは関係ない人もいるわけで。

負けてる: 負けてるように見えるけど、きっと何かの間違いだ。多分。頼むから間違いで。

さて: 5割に再挑戦な訳ですが。黒田はそれなりに試合を作ってくれそうなので、打線次第か。

Shadow of Undrentide: Neverwinter Nightsの拡張パックであるShadow of Undrentideは1か月後。すでに予約済みで入荷次第空輸される。友達から。同じBiowareから出されるStar Wars: Knights of the Old Republicもやってみたいな。ハックアンドスラッシュで気持ち良さそうな予感がするし、それなりにStar Wars好きだし。

The Temple of Elemental Evil: D&D 3rdなRPG、The Temple of Elemental EvilというPC用ゲーム。3人称なクォータービュー視点ということで、Baulder's GateやIcewind Daleと似たような形になるものだろうということで、激しく期待。6月らしいんですが、マジですか? 来年の6月かな?

RSS関連のサイト: 増えてきたような気がする。ニュース/ヘッドライン関連に偏ってるのは、現状ではそれら以外に利用価値が見出せないということなのでしょうか。といいつつ、自分自身もそれら以外に利用方法を見出せないのですけど。ごく一部のアプリケーションなどではRDFで設定を記録とかも出てきてはいるみたいですね。RSSとは関連性薄いですけど。

失敗: あー敏捷に振りすぎた。ライフが少なくて、リッチの稲妻で一撃で死ぬよ。必死に体力に降り始めてみる。ちなみにハンマー振り回す盗賊キャラです。そのうち歌う剣か混沌の剣が確実に手に入るので、両手剣になりそうな。

凍らせるの禁止: 凍らせると楽すぎるので、禁止とか決めてやってたら、最初の町から外に出たところに稀にいる重い豚(ヘビーオーク)にサクサク殺される罠。出てきそうなあたりでセーブして、周りの普通の豚(ウォリアーオーク)や弩豚(クロスボウオーク)を抹殺してから、弓で逃げながらチクチク。

5割は遠い: 果てしなく。このままシーズン終了まで貯金無しな予感。

手抜き: 日記が明らかに手抜きなのは、ゲームはじめたからです。英語版で5週くらいしたけど日本語版やりたくなったので。悪いところは死ぬほどあると思うけど、意外に面白いDivine Divinity。凍らせる→斬る→逃げる→凍らせる→斬る→逃げる(繰り返し)。

頭が: 眼鏡にまだ慣れていないため、ディスプレィを30分くらい眺めていると、すぐ頭が痛くなる。ちと、強くしすぎたかな。ちなみに、右が0.03→1.0と左が0.2→1.0ということで、ひどいガチャ目なのですよ。

眼鏡: 作りました。非球面レンズは高いなと。パソコン一台買える位の値段なことは内緒です。

今日の先発: 長谷川が体調不良で2軍落ち(ついでに小山田も)なので、明日の先発がいないですね。代わりに上がってきた酒井と天野は中継ぎだと思うので、中継ぎから一人まわすことになるのでしょう。とすると中継ぎではそこそこ安定で貴重な左腕ニューマンか調子は今ひとつどころじゃない澤崎、いまいち状態不明な河内ということになりますね。個人的には河内希望。でも、多分ニューマン。そして中継ぎ崩壊。

syslogd.exe: syslogd.exeで遊んでたりする。あーこれおもろいな。あんまり役に立たないのですが。

ハラハラドキドキ: というか、もう開いた口がふさがらないというか。理解に苦しむ采配だ。抑えは永川でいくんじゃなかったのか? 点差があるから小山田使ったのか? 小山田が明らかに調整失敗してるのは前回の登板で明らかじゃないですか? どっしりと構えてるといえば聞こえはいいが、投げやりに適当にやってるようにしかみえん。

Exec+公開: 強制再起動なMicrosoft謹製Hotfixとか当てる時、-zとか引数指定すると、再起動せずに済んだりするのですが、いちいち指定するのも面倒なわけで。で、引数指定して起動できるVBScript使ってたりしたんですが、なんとなくDelphiで作ってみる。ついでに作業フォルダや実行時のウィンドウ、優先度も指定できるように。使いどころがほとんど無いのが珠に傷。私的には、ごく稀にあって良かったと思うんですが。

逆転!!!!: 3ラン打たれた。林使え。

Carrier更新: マイ ネットワークってどんな構造になってるのかいまいちわからないのですよ。Explorerで扱う分には、たんなるフォルダとほぼ同一に扱えるので良いんですが、FTPとかをネットワーク プレイスとして置いてたりするとどうなるのか。というわけで、Carrierは対応してなかったのですが、Explorerの機能をそのまんま持ってきてるものなので、あんまり気にしないでも良いような気がしてきたため、対応ということにしておきました。あんまりトリッキーな使い方しないでください(ぉ。

連敗ストップ: 打順入れ替えが功を奏したというか、佐々岡がそれなりに踏ん張ったからなような。

無線LANルータ: 無線ルータを導入したので近くの公園とかからアクセスしてみる。繋がる繋がる。当たり前。マルチセッションにも対応しているし、グローバルIPを複数割り当てられるみたいだが、設定わかんね。つか、設定CGI使いにくい。せめてきちんとしたヘルプくらい付けてくれ。

釜揚げシラス丼: これ以上の何を望むというのか。

pserv.cpl: インストールされているサービスやデバイスの一覧をリストビューで見ることが出来るpserv.cpl。愛用。サービスの一覧とかmmcから見るのかったるくないですが? デバイスマネージャで非表示のデバイスとか見るのも。まぁカスタムで作っても良いんですけど。バージョンアップしてスタンドアローンなEXEになりました。

コンパクトデジカメ: DiMAGE XtとEXILIM EX-S3とOptio Sのどれを母親に買わせようかと悩み中。いや、スリムなデジカメ欲しいと言ってたので、Optio Sを薦めたんですが、他の2つもいいなぁと。320万画素あれば相当長い間つかえるだろうし。カタログ貰ってきて、デザインで選ばせることにしよう。個人的にはDiMAGE Xtに傾きつつ。

ぽかーん: Aクラスなんて夢のまた夢な試合内容だったなぁ・・・。夢も希望も粉々に砕けるような、そんな試合でした。

あっさりと: 負けました。黒田かわいそうに。しかし、「工藤、隔年で大活躍」説はいまだ健在なのか。恐ろしいピッチャーだ。

TurnFlash: TurnFlashつーのを発見。FlashをON/OFF手軽に切り替えるアプリケーション。Flashだけというところがミソ。ま、常にFlash OFFな人なのですが。効果的で見飽きないFlashって見たこと無いような気がする。大概、一回見れば良いやというものが。インタラクティブなアクションのあるJavaScriptもそうですが。しかし、Macromediaのサイトはすげーな。Flash OFFでもかなり美しい。いや、むしろOFFの方が美しいとさえ。

インストール済みのモジュール: BIGLOBEのサーバーのPerlに、どのモジュールが入っていて、どのモジュールが入っていないか良くわからないので、モジュールチェッカーを作ってみる。XML::Parser無いよ・・・無いよ・・・やっぱり無いよ・・・。

RSS Generatorのバグ: あんまり考えずにRSS Generatorを改造してたら、変数に格納されているものをリセットしてなかったようで、ガンガン追加されていく状態になってた。治ったような気がする。

Life with Microsoft: ということで異様に重くて、見るのがかったるい、マイクロソフト セキュリティ情報一覧とかRSSファイルにしてみる。お、ちょっと便利。ヘルプとサポートとか新着ダウンロードとかもあったら便利かもな。

林・玉木・永川: 勝ちゲームの中継ぎはこの3人で行くのかな。今のところそれなりにいけそうな気はする。永川良いな。キャラ的にはあまり好きではないんですが。

Mimicboard2にRSS生成機能を: つけた。ローカルでは完璧に動いた。が、Jcode.pmを何回か使っているため、どうもメモリ使用量制限にひっかかるようです。なので、サーバーでは動きません。チューンナップしろということですか、そうですか。

貧打: つか、貧打線だな・・・。シーツの守備は非常に安心してみてられて良いのだけれども、あそこまで打てないのを見るとちょっと・・・。

OASYS: OASYS 2002ってワープロソフトとしてもアウトラインエディタとしても優秀な気がする。いや、なんとなくですが。えらいキビキビした挙動に惚れかけた。

dc:date: RDFなRSSファイルの各itemにdc:dateがあると、便利といえば便利だとは思う。複数のRSSファイルをまとめて、時系列でソートするとか出来るし。が、日時以外に時分秒まで無いと意味が薄いわけで。普通の手作業なサイトでそれを書いておくのは億劫。

文学青年: なぜかロマン・ロランのジャン・クリストフを読み始める今日この頃。発行年月日が昭和37年とか書いてあった。丈夫な装丁の本だ。

これに尽きる: 黒田は神。

rdf:about: The {resource} URL of the channel element's rdf:about attribute must be unique with respect to any other rdf:about attributes in the RSS document and is a URI which identifies the channel. Most commonly, this is either the URL of the homepage being described or a URL where the RSS file can be found.

File FlashのRSSファイル: File FlashのRSSファイルからchannelのタイトルその他が取得できない。理由がわからない。怪しいところは、

開幕ですよ: 妄想の日々ともお別れです。これから厳しい現実に晒されることでしょう。しかし、きっと新井と福地と栗原は結果を出してくれます。先発陣は長谷川が出遅れたものの、それなりに数が揃ってるし、中継ぎは永川含めそれなり。抑えは小山田が前半くらいはもつでしょう。打線が・・・新井と福地、シーツにかかってるような気がする。激しく不安。今年は最下位でも山本浩二が首になるんだったらそれはそれでいいんだけど。うっかり上位に進出して長期政権とかになったら・・・。

汎用的にみえるRSS生成スクリプト: なんとなく汎用的にみえるRSS生成スクリプトが一応形になった。でも、明らかにダメな(切り出せない)サイトとか思いつくわけで。

最新10件の投稿を抜き出したRSSファイル: 暇そうだね、君。いや、自分のことですが。BBSの最新10件の投稿を抜き出したRSSファイルを配信してみる。別にMimicboard2にもぐりこませたわけではなく、ログを非常にエレガントに解析して・・・いや、「アフォか?」というくらいループさせて抜き出してるだけですが。激しく重い。普通にサイト開いた方が手っ取り早い罠。掲示板のログとかは綺麗に定型化されてるので、RSSファイルにするのは簡単。ループのさせ方さえ間違わなければ。

myRSS: 怒涛のように、というか細切れに更新してみる。myRSSは怪しげで面白い。コアな言葉をキーワードにGoogleで検索し、その結果のURLとかでRSS作ったりすると結構楽しいことに。osamaをキーワードにして検索した結果のRSSとかあるし。Syndic8.comは巨大すぎて訳がわからない。検索が重いのもちと辛い。けど、それなりにRSSファイル探しには使える。News Is Freeと違って、独自生成のはないのですが。

RSSを強調してみる: RSSというのはかなり使えるものでして。とか、いまさら強調してみる。ソースコードに一定のフォーマットでコメントを埋め込んでやり、それを抽出してRSSファイル化しておくとか(CVSは別な手法でそんな感じのが実現されてますが)。まーいわゆる時系列やら重要度やら順番が明確なものを基準として、フラットに並ぶような情報の整理には向いてるんじゃないかと。Sourceforge.netなんかは開発状況などをRSS 2.0またはで配信するようになってたりするし、爆発的に普及する可能性が高くなってきたような感じもする。

例外: モジュール側でわざわざ例外投げてくれるのだから、そのメッセージは表示してやったほうが良いだろうということで、Convert RSS to HTMLとConvert RSS to TXTを、パースエラーで停止した場合は例外メッセージを表示するように書き換えました。まあ大概の場合は「well-formedじゃねぇぞ、コラ」とか言われるだけなんですがね。

RSS内の実体参照: 「&」があるだけでパースできないRSSファイルの対策が、失敗しているような。いまいち挙動がつかめないな。成功してるようなしてないような。実際、加えた処理のおかげでパース出来るようになったのもあるんだけれども。あいも変わらずパースできないのもあったりして謎。つか、ちゃんと書けよ(結局これに尽きる)!!!

汎用的なRSS生成スクリプト: 抜き出しの定義とかは正規表現を指定してやれば何とかなるとして、問題は複数行にまたがってtitleにあたるものが書かれてたりする場合ですね。無理だろ・・・少なくとも効率的な方法が思いつかない。

RSS Headline Grabber更新 #2: RSS Headline Grabberの開発版で、実体参照使わないで「&」とか書いてあるRSSファイルを無理やり読めるようにしてみる。あんまり良くない。出来ることならきちんと書いて欲しいものだ。

The Donnas: LollapaloozaのLine-upをチェックしてたら、The Donnasというバンドが新たに加わってました。なんつーか、惚れた。いろんな意味でぶっ飛んでるバンドだ。

CompleteX 2.00: いろいろ機能を拡張したみたいなCompleteX 2.00がうまく動かない。うまく動かないので、良いものかどうか良くわからない。1.00 beta20をしばらく使うべきな気がする。遭遇したトラブルは、

文字コードセット: 結局はこの問題はUnicodeというものが完全に普及するまでは逃げられないんだろうなと。

RSSファイルの発行: 1行目のXML宣言部分がおかしいのかな? とりあえず一時停止。

Dreamweaver MX 6.1 アップデータ: マシンによっては設定ファイル壊れたり、よくわからない挙動するようになったりと結構大変だった。とりあえず設定ファイルを削除して、やり直すと大体問題ないみたいではある。黙々とキーカスタマイズしてたな・・・。

RSS Headline Grabber更新: RSS Headline Grabberでチェックしたときの最新記事を保存して、次回にそれを参照する機能をつけるように作業中。最初、Naotoさんがファイルサイズチェックで実装した(らしい)んですが、ま、どうせ取得してる(はず)なもの使ったほうが手っ取り早いだろうと。今のところ順調。

Perlのヘルプ: HTMLで困らないんですが、エディタからキーでカーソル位置の単語のヘルプを呼び出せる形だと楽なわけで。まともな日本語マニュアル見つけたのでコンパイルしたった。index作るのに2時間くらいかかった。メンドイよなぁ。

ユーザー スタイルシート: ユーザー スタイルシートに

メニュー出してジャンプマクロ: いろいろ出来そうな。

サブルーチンジャンプ: 秀丸のタグジャンプでPerlのサブルーチンをたどれるようにしようかと思ったけど、面白そうなのでマクロでサブルーチンの一覧メニューを出して、ジャンプできるマクロを作ってました。こんな感じ。

今年のカープ: いまだに内野手のメンツが決まってない今年のカープ。どうなるんだ・・・。まー先発ローテーションも決まってなさそうなんですが。河内で良いよ。いや、河内が良い。もう少しだ。それなりに楽しそうではあるシーズンっぽいので、楽しみ。

グレースケール: 結局、戻るのね。

Last-Modified in RSS: Last-ModifiedでRSSファイルの更新時刻を取得して表示という機能を、Naotoさんが付けてくれたんですが、諸事情によりお蔵入り。復活させようと画策するも、なかなか綺麗に出力されるようには出来そうにもないですね。あったら便利だとは思うんです。

RSS Headline Grabber公開: まとめるとこはまとめ、エラー処理もきちんとしたと思うので、よくわからないコメントの整理して、公開。Naotoさんが半分以上作ったような気がする。まーでもベースは僕が作った奴だから、僕が6割、Naotoさんが4割くらいか。僕ら二人しか使いそうも無い気がしますが、作ることに意義があるのですよ!

GeoShell: GeoShellの最新版が妙に安定しない。見た目的にはミニマリスト的なものだけど、内容的にミニマリスト的なものじゃなくなってるような気がしないでもない。やはりスキンは余計な機能だと思う。Pluginにでも分離して欲しいとか思う今日この頃。レジストリいじるのがめんどくさくなってきたし、bb4winの方に・・・。

ロキーンオン4月号: 「ロキーンオン」とネイティブ張りの発音を要求される、とある雑誌の最新号は、Dave Grohl(Foo Fighters)とChris Cornell(Audioslave)のインタビューにかなり満足。しかし、Chris Cornelは若いな・・・とても37には見えん。

Font Renamer: フォントはそれなりに必要だったりするわけですが、普段使わないのにインストールする必要はないわけで。で、一時的にフォントをインストールしたりするわけですが、その時にファイル名がフォント名になってると便利っていやぁ便利ですね。arialbbi.ttfとかよりもArial Black Bold Italic.ttfとかの方が。で、こんなツールを使ってたりします。

Naotoさん、お疲れ様です: ソース読みました。とりあえずコーディングスタイルがまるで違うのが判明しました。記事制限数は良いな。まとめてJcode.pmで文字コードコンバートしたら、たまにエラーでたような気がするんだよな。それで個々で処理するように戻した記憶が。引数解釈はかなり強引だ。まー僕もこんな感じで作っちゃいますが。調節して動かしてみよう。

EasyRGB: HEX値と色の関連性は、それなりの経験と頭があれば把握できるんですけど、ある色にうまくマッチする色をHEXで想像するとなると、けっこう慣れてても模索する必要があったりします。たまに追い詰められてて、想像力が枯渇してしまってるような時、EasyRGBで、適当にテーマとなる色からマッチしそうな色を探してたり。カラーピッカーなどのアプリケーションで、そういう機能を実装しているものもあるので、そういうのを使うのも良いでしょう。

CSSのお勉強: div {

サイトのお名前: 突然、変えたくなりますよね。これといった理由も無く「飽きた」とかそういう感じで。と、新しい名前を考え始める。

foobar2000: ツールバーとかシークバーとかが無いので、希望している人が多いみたいですね。が、API用意されてないので、サブクラス化して作ると「Hackすんな!」と。ま、はっきりとサブクラス化その他はダメと言ってるので、何も考えずに公開するのも問題だとは思いますが。開発者の意向とはいえ、その主張が妥当なものかどうかはまた別の話でしょうが。bb4winのmultiamp経由で使うと、foobar2000の軽快さと柔軟なタイトル書式は魅力。でも、なかなかApolloから離れられない。

Mettalicaのベーシスト: Metallicaの新しい(久々の)ベーシストは、元Suicidal TendenciesのRobert Trujilloだそうな。Ozzy Osbourneにもいたな。

ネタが無い: Foo Fighters謎の男と授賞スピーチ

K-Meleon: そういや、あったなと。初期のは文字コード切り替えができなくて、ISO-8859-1固定だったりいろいろと問題ありましたが、それなりに使いやすくなってるみたいですね。Pluginでかなりの部分を拡張できるみたいですし、Layerという形でタブ切り替えもできてます。でも、文字コードが・・・。ちゃんと指定してあるところの場合は、Geckoが解釈してくれますけど、指定していないところは妙な感じ。ここらへん改善されたら、使いたくなる。XULのワンテンポ置いて展開するメニューとかは僕には耐えられないです。

また喧嘩してるらしい: Osbourneファミリー(Ozzy)とBilly Corganが異様に仲が悪いのは結構有名なことなんですが、最近はBilly Corganがパッとしなかった(というか休養してた)ので、特に揉めてるとか言うネタもなかったんですが、Zwan結成して活動開始した途端、揉めることを期待して、インタビューで聞くとは性格悪い>マスコミ。それに対していくら嫌いだからって、きっちりと喧嘩売るコメントを返すSharon Osbourneもかなり性格悪い。ZwanがOzzFestに出ることはありえなそうだけど、今年の夏に開かれるフェスティバルのどれにも参加しないことは無いと思うので、Lollapaloozaに参加しないかな。

blog tool: Movable Typeもいいけど、blosxomに惚れそうだ。コンパクト。

Perl 5.8: 徐々に差し替えられていくのかなぁとか思いました。ま、現在は、実際に稼動させてるサーバ知らないのでどうでも良いんですけど。そろそろ違いとかをきちんと把握しとかないといけないか・・・。新しい言語を覚えるのは、苦痛ではないんですが、ある程度理解している言語のバージョンアップによる変更の把握はく通以外の何物でもない。だからこそブランチとかそういう仕組みを利用して開発するわけですが。

RSS Headline Grabberのバグ: RSS Headline Grabberが止まってたので、スクリプトをチェックしなおしたら、XMLパーサーのエラーで異常終了していました。evalでエラーメッセージをキャッチして、ループを次に進ませようとして、

休息中: ウェブサイトというのはやはり、結局のところ内容なので、それほどソースの綺麗さや、Validかどうかとかは必要以上に意識する必要はないと。ですが、音声ブラウザがよく引き合いに出されますが、他にもHTML::Parserモジュールとかを使ってPerl経由でウェブページをとか、機械的に拾っていく人がいるわけで、対象のHTML文書が怪しげな書き方だったりすると、その機械的なアプローチはそれなりに妥当なものなのに、きちっとそのウェブサイトにある情報が拾えないということになります。だから、ある程度きっちり書いてやらないと、ウェブサイトの利点のひとつである情報の共有が阻害されることになるでしょう。例えば、2ちゃんねるのログが板によってまちまちな方式で管理されてたり、ログ自体がタイピカルなものでないとしてみましょう。2ちゃんねるブラウザ全滅です。で、read.cgi経由でしか安定してアクセスできなくなり・・・と。まぁ、極端な例ですが、2ちゃんねるはインターネットというものをめちゃくちゃ小さくしたようなものな訳で、2ちゃんねるでの板は無数にある各サイト、ログはそれぞれのHTMLドキュメントになるような感じ。

あるサイトのRSS: RSS出力する時はちゃんと実体参照使えと。

RSSいろいろ: Convert RSS to HTMLとConvert RSS to TXTをローカルファイルからも変換できるようにした。ローカルファイルをパースする時は、parsefile()だということになかなか気づかなくて、放置していたので。

CoolMonとRSS: RSSのヘッドラインを表示するのにはCoolMon使うのが良いかもしれない。そのためだけに常駐させるのは馬鹿化てますが。

Blackbox for Windows #2: シェル変えなくても、起動するだけでそのまま使えることに気づいた。これはいいかもしれない。フリーなNextSTARTて感じ。

天気予報: 常には必要ないけど、ちょっとした時に週間予報がわかると良い。天気予報に限らず、必要な時にすぐ取り出せることが出来るとうれしい情報というのはありますね。いろいろな言語のリファレンスとかはその最たるものかと。中途半端なところで切ってみる。

Tori AmosのWhole Lotta Love: Tori Amosの歌ってるWhole Lotta Loveに感動してみた。そんな話をしてたら、Tori Amosと千堂あきほがそっくりだというバカな話を聞かされた。千堂あきほの顔を忘れかけてたので、Googleで調べてから、改めてTori Amosビデオを見てみると、、、似てるような似てないような。鼻の形はそっくりでした。

XHTML 1.1: なんとなくXHTML 1.1に。本当はUTF-8にしようかと思ったんだけど、へてむるクリエイタ~が対応していない罠。ez-HTMLが対応しているので乗り換えようと思ったけど、どうも肌に合わないぽ。

RSS少ない: 配布されているRSSとなると限界がありますね。html2rdf.plとか見つけたので、これをうまく使えば何とかできるかもしれない。Bulknewsのパクリか。

NirvanaのBleech: NirvanaのBleechがリマスターされて発売されるらしいです。リマスター版の儲けはいったいどこへ行くんでしょうか? そういや去年もベスト版みたいなアルバム出てたな。なんとなくロックが復活気配な感じもする。チャート見ててもそれなりに上位に出てきてるし。

pkColorPicker: カラーピッカーみたいなものはあると便利なアプリケーションですよね。いろいろあるとは思うんですが、最近見つけたpkColorPickerというのを僕は使ってます。一通りの機能が揃っていて、メイン画面がコンパクトというのが一番気に入っている点です。常駐させて使用するようになっているので、少々使いにくいですが、とくにこれといった欠点も無いので愛用。わかりにくいところも無いですしね。

Audioslave: Audioslaveは、SoundgardenのChris Cornellがボーカルということで、速攻でファンになったんですが、昨日までTim CommerfordとTom Morello、Brad WilkというRage Against The Machineのメンツが控えていることを知らなかった。あー凄い。凄い。凄い。復活するLollapaloozaに出るらしいですね。Queen Of The Stone AgeやJane's Addictionも出るみたいだし、行きたい。

RSSを探す: 取得するところを調節中。はっきりと書いてないところが多くて大変だ。rssやbackendとかをキーワードにして探してたりする。shinくんに「スクロールしなきゃならないのがメンドクサイね」とか言われて、もっともだとか思った。floatで3カラムにしてみたけど、いまいち。

RSSを読むPerlスクリプト: Feedreaderとかいろいろ試してみたんですが、どうもしっくり来ないので、RSSからHTMLファイルを捏造するPerlスクリプト書きました。XML::RSS使ってるのでサルでも書けるんですが。なので、それを動かすと同時にFTPでこのサイトにアップロードするバッチファイル書いて、PC起動してる時は定期的に動かそうかなと。捏造されたHTMLファイルはでかいな。半分くらいに減らすべきだな。HTMLファイルも出力できる、メーラーみたいな3ペインのRSSビューワ作りたくなったので、DelphiのRSSパーサーコンポーネントとか探してみよう。ハナから自分で作る気無い人。

タスクトレイを256色表示可能に: Windows 2000のExplorer.exeにパッチを当てて、タスクトレイを256色表示可能にしてみる。

Carbon Lokai: Carbon LokaiというExplorer互換シェルがあるそうな。あーこれは凄いかもしれない。いわゆるフローティングツールバー形式、もしくはデスクトップを右クリックでメニューを出す形式のシェルがほとんどな訳ですが、これはBeOSのDeskbarをエミュレートして、それにシステムトレイとタスクスイッチ機能を付け足したものです。いろんな意味で扱いやすいかもしれない。

I Am Mine: Pearl Jamの最新アルバム「Riot Act」からシングルカットされてるI Am MineのPVが作られていたことをようやく知った罠。観賞。Eddieさんが異様に爽やかです。カコイイ。

: 鼻水が。ティッシュが減りまくる。それ以上に寝てる時も、鼻が詰まった感じがして目が覚めてしまうので、眠りが浅い。

レコード屋で: Soundgardenのライブビデオ5本セットを500円でゲット。それなりに見れる画質だった。

Broken: 仕事おわんね。頭がボーッとし続けてるので、轟音で(ヘッドフォンですが)Nine Inch Nails聞きながら・・・・。

インフルエンザ: いまさらですが。喉にきた。タバコが吸えないのがつらい。

スパム: メールアドレスをサイトに載せていると、どうしてもスパムが増えてしまうわけですが、どうやらメールアドレスの一部を実体参照にしてやると、ロボットに拾われても、そのままでは使えない文字列(ブラウザ上なら大概きちんとデコードしてくれる)になるので結構有効らしいです。いまさら変えてもスパムが減ることはないでしょうが、増える速度は落ちるかもしれません。掲示板への書き込みなんかにも使うと良いかもしれない。最近、run.cha.toとかいう件名でスパム飛んでくる。

画像をウィンドウの中央に表示: 某氏がtableを使わずに画像をブラウザウィンドウの中央に表示する方法を考えているというようなことを言っていたので、暇があったので考えてみたんですが、結構簡単だったり。JavaScriptを使わずに出来ちゃったりする罠。ただ、この方法は、絶対配置で、かつ、画像の大きさによってCSSに手を加えなくてはならないので、あまり融通利くとは思えないですね。まぁ、経験的にウィンドウの中心に画像を配置したいなんて状況は、あまり頻繁に更新されるとは思えない扉ページでほぼ(ウィンドウの中心に配置したい)画像だけとかいう状況が大半だと思うので、これで十分なような気がしないでもないですけど。

Blackbox for Windows: 貝獣物語てゲームありましたね。ナムコの名作です。ま、それは置いておいて、Explorer互換シェルというものが存在するわけですが、Explorerがシェルであることを前提としたアプリケーションが多いので、結局は(本体内蔵かプラグインという形態で)そこらへんを補わなければならないわけで、あまりExplorerに対して速度的なメリットを享受できなくなってしまうわけで。が、そこが問題ではないのですよ。重要な点は必要のない機能をなかなかOFFにすることの出来ないExplorerに対して、そこらへんを柔軟に取捨選択出来ることではないかと。Blackbox for Windowsをいじってて、なんとなくそんなことを考えました。geOShellやSharpEも良いけど、BB4Winもなかなか。

eXtensible: i-modeもXHTMLに対応した端末出したそうですね。そろそろXHTMLで統一した方がいいですか? というか、application/xhtml+xmlは理解できるブラウザ多いのか? ていうか、DTD見たい。

Queens Of The Stone Age: Queens Of The Stone Ageという、Led Zeppelinまんまな味を賞味させてくれるバンドがあるんですが、微妙にドラムの音変わったなと思ったら、Dave Grohlに変わってた。彼のいたNirvanaにしろ、彼がすべてといっても過言ではないFoo Fightersにしろ、Led ZeppelinやBlack Sabbathをシンプルにミックスダウンしたような曲調なバンドなので、QOTSAにはマッチしてます。つか、VocalもScreaming TreesのMark Laneganに変わってて、Foo Fightersよりこっちの方が凄いですね。Daveったら歌下手だし(まぁ、あの抜けた声がまた、たまらなかったりするわけなんですが)。カコイイ。

どちらか一方: どちらか一方あれば何とかなるということは、よくあることです。が、何とかなるからといって、それで良いかといったらそうではないわけで。月みたいな反射鏡的存在は必要でしょうけど、それはあくまでも太陽のような強烈な光を飛ばしてくるものがあるからで、現状では太陽になりうる素質はあるものの強烈な光を飛ばすのに躊躇する人が大半な訳なので、意味のない存在になっちゃいますね。わかりにくい例えだ。

Zwan: ZwanというBilly Corganが「オレが凄いんだよ。オレが。わかる?」と必死になってるバンドがあるんですが、それはとりあえず置いておいて、彼の声はやはり独特で素晴らしいものではあるのですよ。1stアルバムはそこらへんが遺憾なく発揮されています。だからといって素晴らしいアルバムとは限らない罠。Billy Corganの声が大好きという人しか好きになれないそんな感じです。まぁ、僕は大好きなんですが。

2月な訳ですが: 暦なんていうものは、現在の実生活に沿ったものではないわけで、月が変わったからといって、特に何かあるというわけでもないのですが、なんとなく気分が刷新されたような気になります。なるだけですが。

はてなダイアリー: 某所を見てたら、どうやらはてなダイアリーというもののベータテストが始まってたそうで。Wiki+Weblogと評価されてますが、まさにそんな感じですね。これはこれで、簡易現代語辞典みたいな感じで、面白そうだけど、参加したくならないのはなぜだろう。どうしてもキーワードに趣向を凝らして、日記を書いてしまいそうな気がするからかな。想像力とかそういうものに裏打ちされていない作為的なものになっちゃいそうな気がする。まぁ、僕が書いたらと言うことですが。

Remover: Windows2000からアプリケーションの追加と削除がHTAになってますが、あれはちょっとダルイ。ので、ずいぶん前にエライ適当なアンインストール情報が格納されているレジストリのキーを読み出して、ボタンクリックでアンインストールとか言うのを作ったんですが、激しく手抜き仕様なので、

IDつけた要素の幅: Gecko系なら、offsetWidthで。サンプルの通り、きちんと取得できます。Opera 7でもらしきものは取得できるけど、ちと微妙。

CSV2HTML: var objArgs = WScript.Arguments;

最近: BIGLOBEのDNSサーバーがおかしいです。サーバー自体は死んでないのに、つながらないとか頻繁に。国内のサーバーには問題なさそうなんですが、海外のは調子悪い。

岩井俊二: 岩井俊二ごときとオノ・ヨーコが似てるなんて。ありえない。岩井俊二はしゃべりすぎだと。彼へのインタビューは、椎名林檎へのインタビュー並みに痛々しい。

Matrix: 映画史上、最高傑作とも噂されるMatrixの続編の予告編が出てました。320*144と、480*224、640*288のQuickTimeストリーミング。やはりこういうのにはQuickTimeの方が圧倒的に強いな。Realなんて話になってない。

i.Mage: どんなカテゴリのソフトウェアでも、大は小を兼ねるのですが、それと使い勝手が良いことというのは、往々にして相反するものです。で、ちょっとしたことにはそういう用途を対象に絞り込まれたものを使うわけなんですが、なかなか絞られた機能だけを持ったものが見つからないカテゴリと言うのはあります。グラフィックエディタなんかはそうですね。基本的にPhotoshopで事足りるわけなんですが、切抜きとかフルカラーから256色に落とし込むとかそういうことだけのために、起動するのはかったるいわけですよ。で、特化されたソフトウェアを探すんですが、本当に特化されているものばかりで(当たり前)、この時はこのソフトウェア、と使い分けをかなり細かくしなければならないわけです。それはそれでいいんですが、やはり不精なもので、ある程度機能の揃ったもので軽快なものがあれば良いなぁと思ってしまうわけですよ。軽快さを失わずに、ある程度の機能を備えているグラフィックエディタはいくつかありますね。国産だとPictBearとかPixia、LitePaintあたりでしょうか。これらで十分なんですが、なんとなく気に入らないところがちらほらあったりして、結局Photoshopを起動するという羽目に。ここまでが半年前の僕です(導入長いな)。ひょんなことから見つけたi.Mageというグラフィックエディタ。これがまぁ、非常に小回りが効くというか、一瞬でなじんでしまったというか。愛用してます。特筆すべき点が無いというのが、特筆するところでしょうか。エライ基本性能だけしっかりしてる。ちなみにGIFも普通に読み書きできます。

細かい: テキストファイルの末尾にEOFが付いてるとか、MP3ファイルにどうせ参照することなんてあるわけがないRiffMP3のタグ情報が付いてるとか、どうでもいいようなことが気になることってありますよね? ないですか? そうですか。

前田智徳: どこかのテレビ放送局の広島カープ・前田智徳インタビュー。

現在の内容: JavaScriptで動的に生成されたドキュメントの内容を知りたいと思ったことはないですか? 僕はあります。それを無理やり実現してみるテスト。

Arial Unicode MS: Arial Unicode MS

子セレクタ: どうでもいいことなんですが、右のメニューはMozillaだとposition:fixed;なので、常に右に表示されます。Mozilla使え。嘘です。Internet Explorerは、

CSSバグ@IE6: textarea: Internet Explorerでは、textareaでなにか文字入力したらにょいーんって拡大するよ。なんじゃこりゃぁ!

CSSバグ@Mozilla1.x: Mozilla 1.2.1で、first-letter擬似要素を適用している要素(またはそれに内包されているもの)に、hover擬似クラス適用すると、first-letter擬似要素の設定が解除されるのかな。左上にあるリンク付きh1なんかの場合だと、マウスを載せると文字が小さくなって異様に嫌な感じ。回避の仕方わからないので、誰か教えて。hoverの方でfont-sizeを指定してたりするなら、こういう挙動もやむを得ないでしょうが、この挙動はちょっと納得できない。Bugzillaにあった。Bugzillaは読みにくくて、読む気うせる・・・。

電車: 電車は嫌いな人は多いみたいですね。僕は乗り物だと、自転車が一番好きで、電車は自転車の次、バイクの前くらいに好きですが。だって凄いじゃないですか。電車の中でジャンプしても電車といっしょに動くんですよ! とか、くだらないボケはおいておいて、どうも車と言うのは好きではないのですよ。車は狭い空間なので、それぞれの持ち主特有の匂いみたいなのがあるじゃないですか? あれが耐えられない。たとえ気持ちのいいジャスミンのような匂いでも。なんというか、その持ち主の世界に侵入してる気がして。ぎゃくに自分の車に他人を乗せるのも好きじゃない。嫌が応にもその人と距離が近づいてしまうので。1m以内に他人が数人という状況は僕には耐えられません。電車みたいに、他人がいて当然と言うような空間なら良いんですけどね。それに加えて、運転しててもあまり面白くない。自転車やバイクとかは「俺がこの機械のすべてを握ってるんだ!」という満足感に浸れるほど、「運転操作 = 自転車・バイクの動き」ですけど、AT車だとそういう感じはしないし、マニュアル車はメンドクサイ。だいたい車なんて戦争並に性質が悪いですよ! 年に何人車の事故によって(以下略)。

いのう: kyo君は、知り合って四年目になるのに素性が謎過ぎるので、もっと生活に密着した日記を書いて下さい。

LFU: 日記更新の時とかは、HTMLエディタで編集→保存→FTPクライアントでアップロードとやるのはかったるいので、FTPサーバーにファイルを直接アップロードできるエディタ、Web Notepadを使ってたんですが、フォント指定できなかったり(FontLinkで何とかなるので、文字化けはしません)ちとつらい仕様(全体的には非常に出来は良いんですが)なので、やはり使い慣れた秀丸を使いたいなと。で、ftp.exe使ってみたんですが、あんまり美しくないやり方(ftp設定ファイルを毎回編集する方法)なのでコマンドラインから一気にアップロードできるものでもないかと思ったら、ありました。LFUというコマンドラインアプリケーションなんですが、こりゃ楽だ。ftp.exeと秀丸マクロでの場合と、やってることはほとんど同じだとは思うんですが(ファイルに書き出さないですけどね)、きちんと形になってると助かりますね。良いもの見つけた。

CompleteX: かなり感動してみた。CompleteXという単語補完秀丸マクロなんですが、リストボックスで候補が。使いやすいし、LF-Supplementよりも軽いように感じるので、乗り換え中。候補絞込みが、DelphiやVisualStudioなんかと違い、一文字遅れる感じなので、ちょっとだけ違和感ありますけど、メニューで単語補完するものより数段上に感じます。すばらしい。そのまんま使ったら、リストボックスが11ptのMS UI Gothicで候補数が6だったので、Resource HackerでDLLをいじり、補完候補リストボックスのサイズとフォント変えてます。

: 朝飯にしようと、ソーセージを焼きながら、パンにマスタードとバターを混ぜたものを塗り、同時にコーヒーを沸かしていました。パンをトースターに入れて、しばらく新聞を読みながらボーっとしてました。ソーセージと同時に焼きあがったので、パンにソーセージを挟もうとした、その時!!! コーヒーポットが!!! 焼き立てでおいしいはずのパンはコーヒーでびちゃびちゃに。最高の出だしの一日ですね。

CSSバグ@IE6: :first-letter: p.valid:first-letter {

dlとtable: 明示的に大きさの決まってないものをフロートさせると調整がメンドイし、揃ってそうで揃ってないので、フロートしないようにしてみる。フォームのレイアウトでのことです。

想像力0: ロゴ画像をこの背景色に合わせて作ったおかげで、スタイルシートをいじって色を大幅に変えるとかなり違和感が。戻しちゃる。

I Am Sam: I Am Samっつー映画は見てないんですが、Soundtrackのメンツとその選曲にかなり惚れました。以下はトラックリストです。

先走る: さて、また先走ってみたわけですが。これ以上はもう何も出来ない。「勝手に何かやってるよ」とか思われそうで、もう嫌です。なんかお見合いパーティーで主催者でもないのに仕切ってピンポンパンゲームとか始めるウザい奴みたいで、嫌すぎる。

childhood: 子どもの頃の事ってどれくらい覚えてますか?

アイタタタタ: 腕が痛いなと思ったら、バイクでこけた時にぶつけたところが痣になってました。そんなに痛くもないんだけど、なんかの拍子にぶつかったりすると痛い。そんなようなことを言ったら、「ファンデーション貸そうか?」だって。いや、痣を隠したいって話じゃなくて、痣になってて痛いって言う話なんですが。

どっちすか?: はっきりと物事が決まってない状態って嫌じゃないですか? 飲み会とかでも、「○○月××日にやろうか?」とかで最初は始まるわけですが、いざ何らかの事情(人が集まらないとか)で話が進まないとなると、「うまく人が集まらないので無理っぽい」とかそういうことも連絡されずに宙ぶらりんな状態。こういうのがたまらなく嫌なんですよ。なんていうか「はっきりしる!!!」とネクタイ(つけてるかどうか知りませんが)ひっつかんで、食べかけの弁当の三色ご飯の具を口から飛ばしながら問い詰めたいです(ひねりすぎ)。はっきりしてないと、とりあえずそのために時間を空けなければならないわけじゃないですか? それって非常に迷惑だとは思いませんか?

土曜日ですね: ウキウキ土曜日です。仕事じゃなければ。自分の能力以上の物を抱えるのは良くないです。「ごめんなさい。できませんでした。」とか言われても。できないことはできないのですよ。できないけどやってみたいというのは良いんですけどね。今度からは「できないかもしれないけど、やらせてください」とか・・・って、泣くなよ。ものすごく悪いことした気分になるじゃないか。

ずれ: 「薄い」と「ずれてる」という言葉は禁句になったようです。なぜかといえば、うちの社長がヅラ・・・ネタでした。

秀丸マクロ: $fExt = "";

某リング: について数十行の文章書いたんですが、ここに書くことでもなさそうなことなのでやーめた。結局、メールにIRCのこととかは書かなかったわけだな。掲示板のログを見れば・・・って、だらだらと書きそうな気がするので中途半端なところでバッサリと切り捨て。

Mike Shaver says: われわれは、Geckoが『小型でスリムな』目標を外し、その目標から遠ざかり、評価者とベンチマークは置き去りにしてきたことを知っている

最強のアルバム@2002: 最強とかつけるだけで2ちゃんねる風に感じてしまうのは、僕が2ちゃんねらだからですか?

SWEET SIXTEEN: アイリスと8人の女たちとどっち観ようか迷ったので、SWEET SIXTEEN観ました。僕は映画に限らず結構簡単に涙流します。純粋で、繊細で、感じやすく、ロマンティストですので。ごめんなさい、泣くのは本当ですが、それ以外は嘘です。全般的にアイロニックな感じがほほえましい、そんな映画でした。いままでのローチ作品にない単純さ(政治的な側面が背景に引っ込んでいると言うような意味で)があって、良い映画でした。そこらへんが脚本が評価されている理由ってことかな? アイリスはアメリカ他各国で大絶賛なのに、ハリーポッター(ポはダメ文字です、気をつけましょう)のおかげで上映館数エライ少ないですね。関東で2館て。まぁ、関内でやってるから、今度観に行こう。8人の女たちは地元でやってるからいつでも良いや。エマニュエル・べアールよりも、ファニー・アルダンが観たい。

反省: 正直、昨日の糾弾は書きすぎた。読み返してみて、しみじみとそう思った。

鉄は熱いうちに打て: 「鉄は熱いうちに打て」という言葉もあるように、やるべきときにやらないとなにもできなくなることは世の理。僕は、一番テンションが高かったときと比べて、今は75%ほどまで落ちています。グラフで書くなら、東証株式市場の平均株価の終り値のように順調な下降線。50%切ったらもうダメ。正直、何もないところからメール考えるならいざ知らず、まがりなりにも自分でまとめた文章がある上、他の人たちからの意見もいくつかあるのに、それをまとめて文章にするだけの内容のメールを書くのを、一週間もおざなりにしているというのは、幻滅ですよ。仮にあまり面識ない状態でこういうことになったら、確実に二度と付き合いたくないと思うだろう。「遅いですかねぇ?」とか、少しでもそう思うなら、やれ。とか、声高に糾弾してみる。

Phoenix: Phoenix常用しはじめましたという某所での日記を見て、常用しそうになった。年末あたりから、Moon BrowserとPhoenix 0.5を行ったり来たりしてますが。HTMLエディタでのプレビューには、起動が速いし、ブラウザのみなので、ずいぶん前からPhoenix使ってます。

モノクロカーソル: カーソルはモノクロに限ると思うんですがどうですか? なんかフルカラーのは、たまに邪魔に感じるような。てなわけで、長い間(多分2年近く)使いつづけていたカーソルを再掲。けっして、ネタがなかったからとかそういうんじゃ。

ez-HTML: ez-HTMLのアウトライン解析は良いな。バグも相当なくなってきたみたいだし、良さげではある。けど、ファイル切り替えのタブの位置が気に食わない。左にファイルビューやアウトライン解析などのサイドバー出してる状態で、かつ、ひとつしかファイル開いていない時とか、エディタ部分とファイル切り替えタブの位置が異様に離れてるように感じる。TTTEditorやへてむるクリエイタ~みたいにエディタ部分のすぐ上が良いな。あと、外部アプリケーション起動って、起動するだけかぃ。ファイル名も送ることが出来ないのかな? ファイル名さえ送ることが出来れば、WSH(別に何でも良いけど)使えばディレクトリを取得することが出来るので、いろいろ出来る。htmllint *.htmlとか。

書く: いろいろなサイトを巡回してから、エディタを起動し「さて、書こうかな?」と思うわけですが、そこで手が止まることってありますね。ま、そういうときには描かないのが一番なんですが、無理やり書くのもなかなか面白いもんです。

When the world keeps spinning round: My world's upside down

アクセス解析: ちっとKENT-WEBのAccess Report v3.0を改造して遊んでました。つか、GIFからPNGにしたのと、解析結果表示CGIをstrictっぽいHTMLを出力するようにしただけですけどね。くだらねー。いのうっちに「くだらないよ、アクセス解析」みたいなこと言われたのでつけたのさ。

Tori Amos: Aboutにはまったく書いていませんが、僕が好きで好きでたまらないミュージシャンにTori Amosという御大がいらっしゃいます。僕にとっては多分いままで聞いてきた中で最もすばらしいメロディーセンスと声を持っていると考えているわけで。なんでこんなことをわざわざ書いたかといえば、去年でたCD見逃してました。出先で時間がずれてしまったので、中古CD屋になんとなく入って漁ってたら見つけてしまった。そして普通の店に行って、輸入盤の新品を買ってみたりする、ファンとはこうあるべき(そうか?)な行動をしてみたりする。いや、良いアルバムです。

Safari: Slashdot.jp見るまでまるで知りませんでした、Safariを。とりあえず、会社のマシンにぶち込んでみる。速いな。たしかに実感できるほどChimeraより速い。K Desktop Environment(KDE)のいろいろ出来るよアプリケーションである、Konquerorベースらしいですので、ぶっちゃけGeckoということでOKでしょう。WEBデザイナからすると、UserAgent文字列からGeckoを消さないでいただけると有り難いな。ということで、これは意外な方面からMozillaの追い風になるかもしれませんね。バンドルして良いものかどうかはわかりませんが、Appleなら絶対バンドルするだろうし。そうすりゃあきらかにイメージアップではあるだろうし。まーオープンソースなことだし、10.2.xなMacなんて吹けば飛ぶような台数しか存在しない(うちのG4 Dualは10.1.5)わけだし、Internet Explorerみたいにバンドルにピリピリすることも無いか。でも、とりあえずわざわざタブ消すなと。

A process and a result: なにかしらの行動を起こすときっていうのは、大概は、なにかしらの目的があるわけなんですが、その行動自体が目的とほぼ同じだったりすることもあるわけで。

はずれ: 新年明けて買い物に行ったとき、いつものようにCD20枚くらいドッカリ買ったんですが、その内の10枚くらいジャケ買い・名前買いで、ほとんどはずれだったりする罠。唯一、Christina AguileraのStrippedはそれなりに良かったです。もろに好みの系統の音楽じゃないので、ガッツリはまったわけじゃないんですが、もうちょっとしてもたまに聞きたくなるんじゃないかなという感じです。最大の外れは、Avril LavigneのLet Goです。屑です。とりあえず、中古屋で流通させるのも癪に障るくらい屑なので、電子レンジでチンしました。

プチ告白: なんのことかわかんないよ! なんでもプチつけりゃいいってもんじゃないだろ! と、流行というものを認識すら出来なくなってきたので、開き直り始めたゆりかごと墓場のどっちかというと墓場の方が近くなってきて嫌な感じなkyoです。とりあえず、どこかの掲示板に書き込むようなノリで書き始めてみる。

ウェブデザインのためのドキュメント: いのうさんへクリティカルにプレゼント。The Document Object Model in MozillaにZipped HTMLでMozillaのDOMリファレンスが置いてあります。さっきバイトに教えてもらったよ。いや、かなりイケてる。

PR: 自分をPRできるというのは重要な才能ですよ。新年早々バイトの面接やってて、そんなことを考えました。ただ難しいもので、評価っていうのは絶対的に下すのはなかなか難しいんですよね。どうしても、他人との比較になってしまいがちです。ゆえに、PRというのもそれを念頭においたテクニックになりがちです。「自分には『他人に無い』こんな美点・長所・能力がある」ということを滑らかに主張するテクニック。如才ない人は、他人を貶めていることを感じさせずに、自分の美点・長所・能力をPRできますが、大概の人は、それにとどまらず少々えらぶった感じになってしまいがちです。難しいですね。

くだらない: 青春のヒトコマ。

SSI不要のテキストカウンタ: CGIのみで動作させられるテキストカウンタ見つけたので、つけてみる。JavaScriptが使えない状態だったりするとカウントアップしないけど、そこらへんはどうでもいいかなと。二・三日動かしてみて、大丈夫そうだったら古いのは外そうっと。

W3CがIEで見れない: W3C HTML Home Pageは、どうなんだろ。個人的にはウザいことこの上ないんですが。application/xhtml+xmlとか言ってんの。

スタイルシートを無効にするJavaScript: <script type="text/javascript" defer>

hr要素の代替: hrへのCSS適用ルールがあまりに互換性に欠けるので、代わりになるものを考え中なんですが、divと透過画像とか使い古された考えしか思いつかないよ。

おせちに飽きたらカレーもね: これは世の一般常識なんですか? その前に、飽きるほどおせちを作らなければいいと思うんですが。とか、そういう話を3時間くらい討論していました。新年早々馬鹿丸出しですよ。

お買い物: 160GB HDD

PNGの色ずれ: 色ずれ解消。つか、PhotoshopはPNG作るの向いてないな。勝手にフィルタかけるから、色ずれてるよ。ずれなくする方法わかったけど、単色の透過部分の画像なので、とりあえずBMPで作ってからBTJ32で変換で良いや。アルファチャンネルでの透過は捨てがたいけどな。表示されるされないは別として。ちなみに、画像ビューワーにはACDSee 3.1使ってるんですけど、まともに表示されませんよ! カウンターも変えるかな。

CSS Validatorをローカルで: CSS Validatorをローカルで動かしてみたり。CVSから最新版とってきたわけじゃなくて、CSS ValidatorをWindows 98/2000で動かすを見てそのまんまやっただけですけど。

鬼束ちひろの特番: 一月三日にNHKで鬼束ちひろの特番やるみたいですね。特番やるほどネタがある人物なのか、かなり謎なんですが。

お年玉ください: ま、いらないですけどね。

へてむるクリエイタ~: へてむるクリエイタ~を使ってみる。正直、かなり使いやすいかも。ツールバー多すぎだとか思ったけど、全部カスタマイズできるとか言ってんの。正直、よくこんなコード書く気になったなと。UTF-8さえ! とか思うけど、そのうち対応しそうな予感。XHTML書かせようとしてるし。HTMLエディタなのに、CSSファイルが色分けできない。そのわりになぜかC/C++はともかく、Delphiが色分けできるとか、微妙に良くわからない仕様なんですが、大概のことはカスタマイズできるし、よさげ。とりあえず、実体参照とCSS2のプロパティを登録タグにこれでもかと詰め込んでみた。あー楽だ、これ。でも、CSSに弱いのは否めない。どうしようもなさそうな予感。

クラッシュ: function changeCSS(uri){

ガッチャ!: コード補完その他、機能的に完璧に近いもの思い出しました。HomeSite。起動が遅いよ! しょうがないので、カリカリ秀丸マクロ書いてます。

ィヤ アハァ ィヤ アハァ ィヤ アハァ: タイトルはJennifer LopezのThis Is Me...Thenから。6曲目のJenny From The Block (featuring LL Cool J)です。いや、なんとなく面白かったので。なにがやりたいのかわからないシンガーだな。美人だとは思いますが。いや、好きなんですがね。

どうでもいいけど: コードはcodeでマークアップ。そのうち、abbrとかqとかいろいろ使いそうな自分がちょっと嫌。でも、こんな自分を誉めてやりたいです。

Delphi小ネタ: 日記書くネタが無いので。ロングファイルネームをショートファイルネームにするのは、ExtractShortPathName()で一発なんですが、逆が無かったりする。で、書くわけさ。

Monday (以下略: 左上に、Naotoさんの文章並みにセンスあふれるロゴを作ろうと躍起になってますが、出来ません。めんどくさいので、スマイリーで良いですか? はい、決定。

JavaScriptの小ネタ: elmで指定した要素のprmで指定したCSSプロパティをvalで指定した値に一括変換するコードです。getElementByTagNameで配列が取れるということを知ってさえいれば、誰でも思いつく程度のもの。

Naked Sunday: タイトルに特に意味は。Stone Temple Pilotsの1992年のアルバム、「Core」にある曲のタイトルです。

まだまだリニューアル中: 黒くした。灰色はネズミっぽい(ある意味、そのまんま)。なんとなく気分的に落ち着いた。やっぱり暗い色の方が好きらしい。本当は、ほんわか癒し系なブラウン系で色使いを考えてたなんてことはありません。ないってば。W3Cバナーを外したのは、暗い色背景だとなんか異様に浮いてるので。

でしょんが!: 流行らせます。2003年の流行語大賞になるくらいに。

部屋とタバコと私: ディレクトリにアクセスした時、index.cgiを参照してくれたりすると、TOPで困ることはなくなるような。どうでもいい日記を見せつけるようになってウザい上に、重かったりするという噂もあるけど。

思い出した: 標準モード:

Top Ten Web-Design Mistakes of 2002: Top Ten Web-Design Mistakes of 2002 (Alertbox Dec. 2002)

Waking Life: 「Waking Life」ですよ。いろんなところで話題にされてる(話題になってるかは知らない)と思いますけど、あーいうのはやったもんがちだなぁと痛切に思いますね。通常の実写映像とは、言葉では言い表せないような違いがあるような気がしますね。こーいうのはビットレート落としてもクオリティ保てそうなので、気軽にインターネットで配信出来そうだ。

表現力: 某所の前向きな提案に反応しようとするも、文章まとまらない罠。

: 甥っ子にクリスマスプレゼントを。何にしようかなと、いろいろ考えたんですが、とりあえず絵本でいいやと。で、三省堂をさまよってるとIan Falconer の OLIVIAを見つけたので、これにしました。

惑わされ、流される私: 全然決定じゃなかったりする罠。

Mozillaメモ: user_pref("network.protocol-handler.external.mailto", true);

ころころと: メニューを横方向に展開してみる。収まりが良い。良すぎる気も。どっちにするかなぁ・・・。

リニューアル中: Formもできた。もうちょっと。色使いがちょっと変だなぁ・・・。

落ち着いて考えると当たり前: BIGLOBEはsocket通信禁止されてました。ということはどうあがいても、リアルタイムでここにRSS表示させることは出来ないと。ちっ。

RSSに触れる: RSS読んでます。XML::RSS使わないでやるサンプルが見つかりません。ローカルで動かしてるだけでも面白いからまーいーやー。

やる気が: ここまでできた。最大の問題点である Form のレイアウトを決めていないので、完成度は 50% 程度か。

ふっふっふ: 俺、必死だな。

勝手に改造: BBSの返信を書くURIにアクセスする時、JavaScriptでリダイレクトするのではなく、たんなるリンクで飛ぶようにしてみる。書き込み結果を表示するURIからBBSに戻る時に、openerがあるかどうか調べてから処理しているので、別ウィンドウを開いて書き込んでも、不必要になる別ウィンドウを閉じて、再読み込みしてくれる・・・と思う。

Ghostzilla: Ghostzillaは、すごい便利そうで、そうでもないような気もする。面白いけど。

Dev-PHP: Dev-PHPというPHPエディタ、良いです。HTMLエディタとしても使えるかも。ワードラップさえあればメインにしたくなる。そういや海外のエディタはワードラップ無いのけっこう多いんですけど、外人はガリガリ改行するらしいです。

まともに戻ったような: Journalとして切り離してみる。前の状態に戻ったような気がするけど、忘れっぽいので覚えてません。昔のことだし。

iframe: いのうさんがiframe使おうかなとか言ってたときに、「あーキライですね。僕はProxomitronで殺しちゃってるので、僕は見れないですね。」とか、言ってたくせに、iframe使いたくなりました。

Dirkey: Dirkeyというソフトウェアを愛用してたりする。前にも言ったような予感(ぉ。歴史は繰り返す。忘れっぽいだけじゃん。

Mozillaってば、お茶目さん: Mozillaでのレンダリングがどうも変です。BBSとか見てみるとわかるんですが、枠としてつけてあるborderがところどころ消えてたりする。特に問題のあるところも見つからないので、とりあえず放置。再現性はあるのに、パターンがわからないので、どうしようもないんですが。