ブランクーシ(アーティゾン美術館): ミニマル・アートにつながる作品を残すことになったブランクーシの展覧会を京橋のアーティゾン美術館まで見に行く。アーティゾン美術館は2回目だ。ブランクーシは名前くらいしか知らなかったが、2年前に見に行ったポンポン展で興味を持ち、主役の展覧会が行われたら見たいと考えていた。ついでに日本橋から新橋まで散歩する。

vim-css3-syntax v2.3.0: vim-css3-syntaxのv2.3.0を公開する。新しくAnchor Positioningという仕様が追加されており、マイナー番号が上がる。他はいつも通り変更点は少ないものの、色関係でlight-dark()関数やcontrast-color()関数という重要なものが仕様にも反映され、そろそろ使い方を考えても良さそうだ。

墓参り(2024-04-01): 前日に見た天気予報が外れ、朝から雨だ。甲府も降っていたようだが、雨雲レーダーでは止んでいるように見えるので、諦めて行く。なんとか降られずに済み、天に感謝したい。霊園内を通る道沿いの桜も5から8分咲きで、なかなか見ごたえがあった。

揺り戻し(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で入る予定の文字列関数の使い道を色々考えているけど、まったく「