| @旅行/散歩

Hikiyama at Karatsu kunchi

こんにちは。僕は福岡県の博多市に住んでおりまして、最近九州の中小規模の都市に行って面白いなと思うことが度々ありました。今回、大分県の別府について書こうかと思っていたのですが、よくよく記録を見直してみると別府に行ってたのは去年の年末で今年ではありませんでした。とにかく別府最高で、別府最高という記事を書く気満々だったのでちょっと困っていますが、かわりに先日行って良かった唐津について書きます。

唐津は佐賀県ですが、呼子という漁業の街が近く、イカを食べることができます。

DSC_0689.NEF

活け作りを食べて残ったげそをこのようにイカ天にしてもらうことも可能です。これがすこぶるうまい。

DSC_0694.NEF

先日行ったときにはイカは食べませんでした。唐津くんちというお祭りを見に行きました。こういうの。

Karatsu kunchi

Hikiyama at Karatsu kunchi

なんかユネスコの文化遺産になったっぽいです。僕は配偶者が長崎出身でくんちと言えば長崎という感じなのですが、長崎のくんちとは違った趣があって大変よいと思いました。小さな街が年に一度フィーバーする感じがあるのです。長崎の場合は県庁所在地ですし九州を代表する観光地ですので年柄年中お祭りをやっているような感じがあるのですが、唐津の場合はハレとケと言いますか、くんちに非日常感があるのです。一年間取っておいたパワーがこのときに発散されるような感覚を味わえます。

Drinking on the street

唐津の街は城下町で、街並みもなかなかよいです。うらぶれた地方都市のような感じは確かにあるのですが、商店街を歩いてまわると洒落た喫茶店や食べ物屋さんがありますし、唐津なので焼き物の店もあったりして散策しても非常に楽しいところです。

An alley at Karatsu

DSC_1761

唐津の焼き物でカレーを食べたりピタパンを食べたりコーヒーを飲んだりすることができるカフェもあります。

DSC_0050

DSC_0053

DSC_0060

お酒を出すお店もありますから、車で行くのも良いのですが、福岡から電車に乗って行って飲んで帰ってくるってのもなかなかよいです。電車に乗ってこういう景色を見てたら着いてしまいます。

糸島の海

城下町から少し離れますが、唐津には虹の松原というキラーコンテンツもあります(画像は Wikipedia から)。

鏡山からの景色

Nijinomatsubara in Karatsu

どうですか、唐津に行ってみたくなったでしょう? 福岡に旅行に来て一日予定が空いたときに行ってみる価値が十分にあります(福岡は住むにはよいところですが観光するところは意外とない)。福岡市中心部の天神駅から一時間ちょいです。

皆様のお越しをお待ちしております。


この記事は今年行った場所 Advent Calendar 2016 - Adventarの一日目の記事ですが間に合わずちょっと遅れて書いています。次は train_sanda さんです。

| @散財

SONY の MDR-1RBT

SONY の MDR-1RBT を使っているけど、最近イヤーパッドが破れてきて黒い破片が耳の周りにまとわりつくようになっていた。 SONY の純正品は片方 2000 円で、両方交換すると 4000 円もするとのこと。 Amazon で探したら互換品があったので買って交換してみた。両耳セットで 1700 円くらい。

付くには付いたけど結構小さくて、取り付けるときに結構引き延ばしたのでイヤーパッドがダメージを受けてしまった。あと割とすぐ外れる。音楽を聞くことに関しては問題ないけどそのうちまたすぐイヤーパッドがぼろぼろになって交換することになってしまいそう。

交換中によく見てみたら頭に触れる部分の裏側も表面の生地が剥がれ始めていた。こちらも交換できるのだろうか。性能には問題がないのに外側の破損で利用に支障をきたすのは残念。もっと頑丈な作りにして欲しい。

修理前

修理中にも破れてしまった

| @散財

morygonzalezさん(@morygonza1ez)が投稿した写真 -

無職の頃に買って背表紙が外れかけてテープで補強したりしてた満身創痍状態のモレスキンノートに革のカバーをかけて使うことにした。

モレスキンのノート、無職時代に買ってどうでも良いポエム(ポエム警察に怒られそうなので予めあやまっておきます)を綴ったりしてたんだけど、鞄の中に突っ込んだりしてるうちに背表紙が破れてはがれそうになってきた。普通の人はこんな風になる前に書き終わってしまうんだろうけど、持ってるだけで満足して書くということをあんまりしないのでなかなか使い終わらず、ページはまだ半分くらい残っている。このままにしておくのはもったいないのでレザーのカバーをかけて使うことにした。

ネット通販の革製品屋さんで4000円くらいで買った。2週間くらいで届いた。革カバーが付いてこれ以上ダメージが進む恐れがないのでまた持ち歩いていろいろ書いてみようと思う。iPhone でメモは取れるけど、肝心なときに電池が切れてしまっていることだってあるし、電話しながらメモをとるときはどうしても紙のメモ帳がいる。絵を描くのに使うのも良いかもしれない。

| @雑談

風呂 Kindle

Kindleまた水没した - hitode909の日記

風呂 Kindle 、たまにやるけど水没させたことない。前はジップロックに入れてたけど最近は入れなくなった。ジップロック、繰り返し使ってると角から破れて水が入ってることあるし、脱衣所に置いておくといつの間にかなくなってる。風呂 Kindle で水没を防ぐためには風呂蓋が肝要な気がする。蓋があればそこに手を置いて使えるので、手が疲れたり眠くなったりして湯船に落とすの避けられる。蓋の上にはバスタオルを敷いて、 Kindle 使うときは必ず手を拭いてから使うとより良い。ちなみに僕は4年前に 7800 円で買った初代ペーパーホワイトをまだ使っています。最近のは高すぎて水没させても買い換えられないので緊張感が生まれているのだと思う。

風呂蓋が分厚すぎて手を乗せると腕が肩の位置より少し高くなり結構疲れるのが最近の悩みです。

| @技術/プログラミング

糸島の海

自作の Lokka プラグインに Amazon の Product Advertising API に問い合わせてアフィリエイトリンク付きの商品画像を返すやつがある。 Amazon 上の商品管理番号を <!-- ASIN=XXXXXXXX --> みたいな感じで本文中に書いとくと良い感じに小銭を稼げるかたちのリンクにして画像を表示してくれるという便利なやつ。

Amazon の規約上、 Amazon Product Advertising API に対しては一秒間に一リクエストしか送ってはいけないことになってるので、データを取得する度に 1 秒 sleep するようにしていたけど、一ページ内で複数のリンクがあるときにキャッシュがエクスパイアして Amazon の API を叩くとめっちゃレスポンス遅くなってださかったので非同期で取るようにした。ページコンテンツ本体はサクッと返して、商品情報などの取得はページがレンダリングされたあとに JavaScript で行う。 Amazon から JSON を取ってくる処理自体は Ruby にやらせる。

+----------+            +----------------+             +--------------------------------+
|          | +--------> |                | +---------> |                                |
|  client  |            |  Ruby (Lokka)  |             | Amazon Product Advertising API |
|          | <--------+ |                | <---------+ |                                |
+----------+            +----------------+             +--------------------------------+

最初は雑に body の innerHTML を正規表現で replace したりしてたんだけど、そうすると Twitter のウィジェットなど本文内に埋め込んである script タグが動かなくなる問題に気がついた。 HTML 5 の仕様で、 innerHTML = で挿入されたコンテンツの script タグは無視されるらしい。なるほど〜。

ということでもうちょい調べたら DOM には Node.nodeType というプロパティがあって、COMMENT_NODE など type を持っているらしい。

<!-- ASIN=XXXXXXXX -->COMMENT_NODE として扱われるので、こいつの後ろに document.createElementして JavaScript で動的に生成された要素を突っ込むようにした。 Promise を使ってナウでヤングな感じに書いた。

let promise = new Promise(function(resolve, reject) {
  request.open('GET', url);
  request.onreadystatechange = function() {
    if (request.readyState != 4) {
      // リクエスト中
    } else if (request.status != 200) {
      // 失敗
      reject(request.response);
    } else {
      // 取得成功
      let formatter = new Formatter(request.response);
      let result = formatter.formatItem();
      resolve(result);
    }
  };
  request.send();
});
promise.then(function(result) {
  let previous = node.previousSibling;
  let parent = node.parentNode;
  let d = document.createElement('div');
  d.className = 'amazon';
  d.innerHTML = result;
  parent.insertBefore(d, previous.nextSibling);
}).catch(function(error) {
  console.log(error);
});
return promise;

意地でも jQuery 使うまいと思ってやってみたけど意外と大丈夫だった。楽をせずに素の JavaScript を書いていると精神が浄化されるような感覚があってよい。写経に通じるものがある。写経やったことないけど。

| @技術/プログラミング

むかしやってた映画のブログ( WordPress )のデータをこのブログに取り込もうとしたら、 mysqldump しといたデータが文字化けして読めなかった。 映画ブログのデータベースの文字コードは utf-8 にしてたけど、 Dreamhost の MySQL サーバーの defualt-character-set がおそらく latin1 になっていたと考えられ、 mysqldump するときに utf8 のデータが latin1 として export されてしまい文字化けを起こしていたっぽい。

vim で開いて e ++enc=utf8 してみたり、 nkr で変換しようと試みたり、ググって出てきた Perl のスクリプトで変換しようと試してみたけど直らなかった。この変換は MySQL 自身にやらせないとダメなのではと思い、以下を試したがダメ。

  • [x] latin1 で DB 作成し latin1 で import 、 utf8 で export
  • [x] latin1 で DB 作成し utf8 で import 、 utf8 で export

結局、 Stack Overflow にあった以下の方法で解決できた。

一旦文字化けしたまま utf-8 の文字列として import し、以下の SQL を流す。

UPDATE [table_name] SET [column_name] = CONVERT(BINARY CONVERT([column_name] USING latin1) USING utf8);

やっぱり MySQL で化けたデータは MySQL で直すしかないみたいだった。

| @散財

先日買った Weber コンパクトケトル の感想。

ワンタッチケトルと勘違いしてコンパクトグリルの方を購入してしまっていた。

簡単なバーベキューをする分には問題ないが、グリルの深さが浅いため空気の量が不足し、温度はあまり上がらないみたい。ステーキ肉を焼いてみた限りだと火力に不足はなかったが、コストコで売ってるような巨大な塊肉をローストするのには向かないっぽい。

見た目に関しても、リンゴのような丸みのワンタッチケトルの方がエレガントに見える。近所のバーベキュー屋や金持ちの家にあるのはそれで、買ったけど何かださいなぁ、思ってたのと違うなぁと感じてたけど、似た別の製品を買っていたということだった。

加えてなによりも大きいのが灰を掻き出すシステムの違いだ。こちらは排出フィンの取っ手が本体下部に付いているため、開け閉め時に耐熱手袋をつけなければならない(初めて使ったとき勝手がわからず手を火傷してしまった)。ワンタッチケトルの方は長さのあるレバーが付いていて素手でもフィンの切り替えができる。便利極まりなさそう。

さらにフィンの形状がコンパクトケトルに比べてより積極的に灰を掻き出すような構造になっており、ただ穴が開いたり閉じたりするだけのコンパクトケトルとは構造が異なる。穴が空いているだけだと底に溜まった灰を掻き出すことが難しい。掻き出し機構とセットになっているフィンは相当便利だと思う。

コンパクトグリルは名称にコンパクトと付いているが結構大きく保存場所はとるし、組み立ててしまった後では解体は難しくキャンプに持ち出せるようなメリットもない。値段もほとんど差がないのでどうせ買うならワンタッチケトルの方がよいと思う。自分はヨドバシでワンタッチケトルより少し安く売られているためコンパクトケトルを買ってしまったけど、 Amazon だったらワンタッチケトルでも同じくらいの値段で買える。