TOPVALUE MERLOT RESERVE

カテゴリー:  Dining  タグ:  foods and drink

イオン津田沼店に行った時、ステーキに使う赤ワインをと物色していたところ、このワインを見つけました。

ワインについて

LE CEP D'OR MERLOT RESERVE 2012

フランス:ラングドック・ルーシヨン地方:I.G.P.ペイ・ドック
アルコール度:13%
ブドウ品種:メルロー

香りは、カシスやブルーベリーの香りと、チョコレートなどの甘い香りが混じったもので、しっかり感じることができます。

味の方は、ドライではっきりした味でタンニンも強めで、スパイシーな味が余韻として残ります。嫌いな味じゃありません。メルローの芳醇な香りと強さがよく出ていると思います。

ナッツや癖のあるチーズと合います。私は強烈なブルーチーズと合わせましたが、力強いですが単調なこのワインとよく合いました。

調理酒でなければ買わない印象ですが、飲んでみると意外にいけます。冷やして飲んでも良いでしょう。

この値段であれば、またリピートありかな。

g.o.a.t サービス、来た!

カテゴリー:  Tech  タグ:  web/tech

KDDIコミュニケーションズのビジュアルブログサービス g.o.a.tのアカウントの登録が可能となりました。

2、3か月前に開発遅延の案内が来ましたが、やっとサービスインしたのですね。

試しにサイトを作ってみました。

Toshiyuki Yoshida's BLOG

ビジュアルなのかわかりませんが、まだまだ管理画面は洗練されておらず、機能も足りない。

できたブログは一見見てくれは良いければ、個人的には多分スルーする系のデザインでした。

なんでこんなものを今頃出してきたんでしょう。

ブログサーバーのタイムゾーンの設定変更

カテゴリー:  Tech  タグ:  blogging ghost web/tech

自分への備忘録です。

Ghostはタイムゾーンの設定がない

Movable Typeなどは、CMSとしてタイムゾーンの設定があるのですが、Ghost v0.8.0にはタイムゾーンの設定がなく、サーバーのタイムゾーンが使われるようです。

記事の日時についても、特にタイムゾーンの考慮がないようです。

このため、私は日本時間で記事を書いていますが、明示的にGhostはタイムゾーンを意識しないため、私が利用している DigitalOceanのホスティングをしているニューヨークのEDTで解釈されるようです。

問題は、日付も記事のURLに含めるようにしていることです。先日改変した記事検索機能が時間帯によってはURLが正しく作れないことに気づきました。

DigitalOceanのタイムゾーンを変更する。

面倒なので、サーバーのタイムゾーンの設定を変更しました。DigitalOceanでGhostのホスティングをDropletから作るとUbuntuでホスティングされるようです。

管理コンソールに入って、以下のコマンドで変更できます。

root@ubuntu:~# timedatectl set-timezone Asia/Tokyo

DigitalOceanのホスティングは こちらから。

Coverite のボディカバーを

カテゴリー:  Automotive  タグ:  car wrx

うちの駐車場の隣のNSXなのですが、大事に乗られているようで平日はCoveriteのボディカバーをつけていらっしゃいます。

うちも真似してつけてみました。

Coveriteとは

COVERITE(カバーライト)社製ボディカバーは、世界シェアNO.1なのだそうです。

日本で売られているのは最も高級なPRESTIGE(プレステージ)です。

このPRESTIGEカバーは5層構造で裏起毛になっています。さらにカバー全体のつなぎ目は特殊技術により縫い目がない特殊な縫製がしてあります。

そのため、昔のビニールのカバーのように風に煽られて摩擦でボディを傷つけることもないそうな。

外部の水を通しにくく、尚且つ通気性を良くする為の特殊フィルムが使われているため、湿気がこもることもないそうです。

効果

一番効果があるのは、紫外線でしょう。青空駐車だと、カバーをするだけで色褪せなどの対策になると思います。うちは屋根付きなので、あまり関係ないですけど。

一番の期待は、埃です。屋根付きとはいえ、海が近く風も強い地域なので、洗車しても一週間で薄くチリが積もっています。二週目には、ウォッシャーでフロントガラスを洗いたくなるくらい汚れています。この状態で雨にもで当たると本当に汚い状態になります。

これをつけることで、少しでも洗車の手間を減らしたいというのが願いです。

もう一つは、防犯上の効果。

カバーで覆われている車は、外すのも手間ですし何より外す行為が目立ちます。また、カバーがあることで車種が特定できず、狙われにくくなるのでないかと思っています。

Coverite

ただ、実際にカバーをつけてみると、うちと隣のNSXだけが屋根付き駐車場でカバーがかかっており、ある種異様な目立ち方をしています。逆効果だったか。

カバーのかけ方、外し方

初回はかけ方がわからず、手間取りました。

一度四苦八苦しながらかけたのですが、まずは外し方から。

  1. ベルトが前後で二本あるので、外しておきます。
  2. 右側フロントのゴムを車体から外し、ボンネットの上にきれいにたたみます。Tシャツなんかと同じ要領です。
  3. 右側サイドも外して、ルーフの上にたくし上げます。車の後部は特にゴムが入っていないのでそのまま一緒にたくし上げることができます。先ほど畳んだフロント部分からきれいにつながるように畳んでいきます。
  4. 左フロントのゴム外し、同様にボンネットの上にたたみます。
  5. 左サイドも同様にルーフにあげてたたみます。
  6. 後部から3分の1くらいの部分で左右ともルーフ中央に向けておりこみます。
  7. フロント側から同じく3分のの1くらいのところからルーフに向けて織り込んでいきます。これで、全体が3つ折りになっている状態です。
  8. これをさらに前後に三つ折りにします。
  9. これを左右に三つ折りにすると、付属のカバーになんとか収まるようになるはずです。

では、かけ方です。

上記の状態で畳めば、この逆をやれば簡単です。

ベルトは道具があったほうが楽かもしれません。うちの駐車場は床がツルツルなので、プラスチック部分の重みを利用して左側から車の下に投げると右側まで滑っていくので道具は使っていません。

かけたり外したりで1〜2分程度かかるので手間といえば手間ですが、まぁ、それも楽しです。

Ghost Theme: Purus v2.0.0 の検索機能を修正

カテゴリー:  Tech  タグ:  blogging ghost web/tech

先日更新されたこのブログで使用しているテーマ Purusですが、検索機能がうまく働かないので修正しました。

修正点

先日書いたよう、問題はPurusの新しい検索機能が日付を記事のURLに含める設定("Include the date in your post URLs" オプション)を有効にしていると、検索機能で生成するURLにうまく反映されないという問題でした。

開発元の修正が時間がかかりそうな予感がしたので、自分で修正することにしました。

修正のポイントとしては、検索機能の中で発効日("published_at")をAPIで取得しておきます。

以下のように page-search.hbsの中を修正して、ghost.url.api()slugtitleの他にpublished_atを取得するようにします。

 $.get(ghost.url.api('posts', {limit: "all", fields: "slug,title,published_at"})).done(function(data) {

published_atはISO-8601形式のようですから、そのままパースしてDateオブジェクトに変換します1

月と日を二桁にフォーマットし直して文字列として連結して、URLの”YYYY/MM/DD"の部分を作って @blog_urlslugの間に連結します。

suggestion: function(data) {
  // added by yostos
  var published_date = new Date(Date.parse(data.published_at));
  var published_date_part = published_date.getFullYear() + '/' +
                            ('0' + (published_date.getMonth() + 1)).slice(-2) + '/' + 
                            ('0' + published_date.getDate()).slice(-2) ;
  return '<a href="{{@blog.url}}/' + published_date_part + '/' + data.slug + '"><h2>' + data.title + '</h2></a>';
  // end of added by yostos
  // removed by yostos
  //return '<a href="{{@blog.url}}/' + data.slug + '"><h2>' + data.title + '</h2></a>';
}

関連リンク


  1. あるあるですが、Date.parse()が整数しか返さないことをすっかり忘れて、Dateオブジェクトを返してくれると思い込んでいて、しばし悩みました。 

Ghost Theme : Purus v2.0.0

カテゴリー:  Tech  タグ:  blogging ghost web/tech

このサイトで使用しているGhostのテーマ「Purus」が Ghost v0.8.0 に対応して version 2になったので導入してみました。

Purus v2.0.0の主な変更点

  • Added: New featured posts on front page

これは、固定ページで "Featured Post"とすると、トップページに表示するものです。

上のオレンジ枠で括った部分のようにサムネイルでカッコよく表示されています。うちではまだ使っていませんが。

  • Added: Email subscription - beta.

これもまだ使っていないな

  • Added: Facebook and Twitter icons for Authors

これは今まで自分でテンプレートを修正していたいので、うれしい変更です。

  • Updated: New and better search engine.

これぞ、待ちに待った修正です。

Ghost v0.8.0以前はAPIがサポートされていなかったので、無理やり作ったGhosthunter.jsなるJavaScriptが出回っていました。

Purusでも使用していましたが、直近の15記事しか見ないとか、日本語は通さないとかいろいろ問題がありました。

今回は、Ghost APIを叩くようになったようです。

  • Change: For edditing your social media icons/links, now use social-media.hbs file in partials folder (formerly: subscribe.hbs)

ファイル名が変わっただけで、内容は変わっていないようです。

Twitterなどのリンクも手動で変更するようになっています。せっかく、Ghost v0.8.0でAPIがサポートされたのですから、以下のように書いて欲しかったです。

<a href="{{twitter_url @blog.twitter}}"><i class="fa fa-twitter"></i><span class="hidden_purus">Twitter</span></a>
<a href="{{facebook_url @blog.facebook}}"><i class="fa fa-facebook"></i><span class="hidden_purus">Facebook</span></a>

少なくとも、Twitter/Facebookは設定画面でアカウント設定すればテンプレートの編集が不要になります。

  • Removed: meta.hbs file no longer exist. Note: recommendation for implementing custom code is now Code Injection in Ghost Settings

これはもっともな対応ですね。

一番楽しみにしていたSearchですが、検索はうまくいくのですが、リンクがうまく作られていないようです。

うちでは記事の重複を防ぐため、Include the date in your post URLsというオプションを有効にしています。こうすることで、記事タイトルから生成されたURL1の前に日付がついて、https://your.blog.name/YYYY/MM/DD/atricle-title/ のようなURLとなります。

しかし、新しいSearchのコードを見てみると、

$.get(ghost.url.api('posts', {limit: "all", fields: "slug,title"})).done(function(data) {

とAPIから取得してるのは、Slugとタイトルのみです。

URLを生成している部分を見ると、以下のようになっています。

return '<a href="{{@blog.url}}/' + data.slug + '"><h2>' + data.title +  '</h2></a>';

ふむ、これじゃ、Include the date in your post URLsというオプションを有効にしてるとリンクがちゃんとできんじゃないか。

APIからpublished_atを持ってきて、タイムスタンプ形式からフォルダ構造のようにYYYY/MM/DD形式に変換してURLに入れないといけない。

とりあえず、Golem.ioに投げてみて、直してくれないようなら自分でやりますか。それまで Googleのサイトサーチを使っておきます。


関連リンク


  1. まぁ、日本語のタイトルを使うと、ローマ字にしたような妙なURLになります。Movable Typeのようにpost1.htmlとかやられるよりはマシですが、たいていの場合は自分で設定し直しているんです。 

もうプログラム書いちゃえ!

カテゴリー:  Tech  タグ:  software

プログラムでも書くか

今時 Excelでvlookupなんて使ってないよね?」でも書いたように、仕事で大量にデータ検証をする羽目に陥っていました。

しかも別のベンダーの尻拭いで先週契約も終わり、私たちは引き上げることになりました。協業してきて残るベンダーさんが検証とか、特にEXCELとかの処理が苦手。明らかに私たちがいなくなることに動揺していました。

Rubyが得意そうだったので、見よう見まねで書いたEXCELと同じデータ検証を行うRuby プログラムを残してきました。

いや、しかし、RubyのCSVクラスの便利さには感動するわ。

植物の魔法 ボタニカルコロン 「オーデ ラブ」

カテゴリー:  Gadget  タグ:  gadget

こうも毎日暑いと、妙齢のおじさんなので「加齢臭」なんて言葉が頭をよぎりまして、適当にコロンを買ってみました。

クヴォン・デ・ミニムとは

クヴォン・デ・ミニム(ミニム修道院)という奇妙な名前のブランです。

もともと南フランスの小さな村にある修道院であった場所で、今は五つ星のスパのあるリゾートホテルになっているのだそうです。

修道院では、修道僧たちは段々畑を耕し、何百種類もの植物を植え、ボタニカル(植物学)ケアを発展させてきたとされています。ホテルでも、伝統的なボタニカルケアに感銘を受けて自然の植物素材を使ったケア製品を提供したのがきっかけだそうです。

「自然の植物素材」ってなんとなく控えめな感じと、あんまり人と被らないだろうというので選んでみました。

オーデ ラブ

妙齢のおじさんとしては、「小悪魔の香り、<オーデラブ>」などというキャッチフレーズのついたこのコロンを買うつもりは毛頭なく、オーデマティンでもと思っていたのです。

まぁ、悪魔の悪戯か、注文を間違えたらしく、届いたのは「小悪魔の香り、<オーデラブ>」です。

成分を見てみると、

  • オレンジブロッサム (ビターオレンジ花エキス)
  • ベルガモット(ベルガモット果実油)
  • マンダリン(マンダリンオレンジ葉油)
  • ワイルドローズ(カニナバラ花エキス)
  • キンレンカ(ノウゼンハレンエキス)
  • プチグレン(ビターオレンジ葉/枝油)

ボトルにはスプレーも付いているので、セットして一吹きしてみます。

クーッ、参りました。

オレンジの強い香りと、ヴァニラのような強烈な甘い香りがします。海外の香りの強いお菓子のようにとんでもなく、甘く人工的な香りに感じられました。

正直、失敗だったなと思いました。

そのまま出勤したんですが、30分ほどすると香りが落ち着いてきました。

甘い香りはかすかに香りますが、ベルガモットを中心とした爽やかだけれどスパイシーさのある柑橘系の香りになります。暑い朝でも、涼しげで爽やかな気分になれます。

香り持ちも良く、夕方になってもまだかなり香りが残っています。

ただ、気がつくと柑橘系の香りが少し弱まり、その分キンレンカのジャスミンのような香り、フローラルなローズの香りが入り混じった、なんとも上品な気持ちよい香りになります。

この香りの持ちが良いです。 深夜の帰宅してシャツを脱ぐ時間まで、かなり香りが残っています。

最初香りを嗅いだ時は全く失敗と捨てようかと思いましたが、1日使ってみると大変気に入っています。男性が使っても、それほど違和感はない香りになっています。

まだ、あまり扱っているお店がありませんが、クヴォン・デ・ミニムの通販サイトで購入できますので、是非おためしください。

今時 Excelでvlookupなんて使ってないよね?

カテゴリー:  Tech  タグ:  software

テストで大量のEXCELデータを捌く必要がったので、ちょっと研究してみました。

vlookup の問題

ある表上にある項目をキーにして別の表から項目を引っ張ってきたいシーンってのは意外によくあります。

今回私が必要だったのは、数万人の会員の一覧があり、別途会費決済のデータがあり、つじつまが合ってることの確認でした。普通ならプログラムを書くのですが、そのプログラムの検証であったことと時間がなかったのでEXCELで実施しました。

普通に会員一覧の会員IDをキーに決済データの支払いステータスを全員分引っ張ってきました。もちろん vlookupを使って。

ここで問題が発生です。

  1. 決済データは支払ステータスが会員IDより前の列だったために、そのままでは使えない。(vlookupでは検索キーが一番先頭列でなければならない)
  2. 遅い

前者は列を並び替えてしまえばよいのですが、動作の遅さは耐えられないものでした。

index と match を使って見る

まず、検索列の位置にとらわれないように index と matchの組み合わせを使います。面倒なので決済データは「決済」というテーブルにしてしまいます。

すると会員一覧に埋め込む式は以下のようになります。A列に会員IDが入っていると想定しています。

=index(決済[ステータス],match(A2,決済[会員ID],0))

これで、検索キーと取得したい項目の位置関係がどうであっても、自由に検索して値を取り出すことができるようになりました。

速度の改善

しかし、vlookupを index/matchに変えたところでほとんど速度は変わりません。

ここで matchの3つ目のパラメータに注目です。0 を指定していますが、この場合は値が一致しなければEXCELは答えを返しません。値がない場合は #N/Aが返ってきます。

このパラメータに1-1をセットすると近似値が返ってくるのですが、この近似値を返す方が圧倒的にパフォーマンスがよいらしいのです。問題は、「近似値じゃ困る」ってところです。

しからば、以下のようにするとと考えました。

=if(index(決済[会員ID],match(A2,決済[会員ID],1))=A2,index(決済[ステータス],match(A2,決済[会員ID],1)))

一度、検索キー自体を取り出し検索キーと比べることで、近似値の検索であっても一致していることを確認しています。確認できた場合のみ、値をと出すという形にしています。

実際に数万件のデータで試しましたが、2回検索がかかることになりますがそれでも圧倒的に普通にvlookup や matchをかけるより速いです。

なんか、EXCELerになっていく予感。

悪魔の取り分

カテゴリー:  Dining  タグ:  dring whiskey

新しいジムビームのシリーズを見かけたので買ってみました。

悪魔の取り分

「エンジェル・シェア(天使の取り分)」というのは聞いたことがある方が多いと思います。ウィスキーを樽で熟成させる際蒸発してしまう水分のことをそのように呼ぶそうです。

このほかに樽に染み込み吸収されてしまうものもあり、それを「デビルズ・カット(悪魔の取り分)」と呼ぶそうです。特にバーボンの場合は新樽を使うので、吸収される量も多かったのでしょう。

このジムビーム・デビルズカットは、その染み込んだ原酒を独自の製法で取り出し、通常の原酒にブレンドしたものだそうです。

そのお味は?

香りは通常のジムビームよりかなり強めのオーク香です。若干アルコール臭も高いです。

口に含むと、オーク香とバニラ、ナッツ、タンニンなどパンチのある複雑な香りが一気に抜けていきます。味も香味成分が効いているのか、力強くビターです。

しばらく口の中で味わい喉に流していくと、深いコクとかすかな甘みを感じます。

香りは長く楽しめるタイプで、飲んだ後もしばらくオーク香を楽しめます。

これは人気になりそうな予感がします