2015-08-03

重複したキーを探すワンライナー

キーと値を = でつないだファイル keys.txt があって

"key_name_with_underscore" = "value";

重複したキーがないかチェックするのにワンライナーを書いたのでメモ。

$ awk '{print $1}' keys.txt | sort | uniq -d
  • awk コマンドで 1 列目だけ (ここではキー部分) を出力
  • sort コマンドでソート
  • uniq コマンドに -d オプションを付けて重複しているものだけ出力

久しぶりに awk コマンドを使ってみた。書き方忘れててネットで調べた。

2015-07-31

Gist のコード貼り付けと noscript

プログラムのソースコードを貼り付けるのに Gist のコード埋め込みを使い始めた。メリットは 2 つ。

  • コードハイライトが行なわれる
  • 行番号を表示できる

Blogger はコードハイライトをするのが一手間二手間かかる。その面倒臭さに、clmemo@aka でもコードハイライトは見送っていた。Gist を使うとその手間がなくなるのでありがたい。

Gist を使うデメリットもある。

  1. Gist を一度経由する手間
  2. Feedly などのフィードリーダーに Gist コードが表示されない
  3. コードが検索の対象にならない

1. の手間については、何らか手段を構じたいところ。

2. と 3. のコードが表示されない・検索されない件については、<noscript> を使うと解決しそう。このタグは JavaScript が ON にならない環境 (フィードリーダーとか検索とか) でのみ、その中身を表示する。

まとめると、こんな感じのコードを書けば良さそう。

<script src="https://gist.github.com/ataka/aa8feb023c1dcc5183e3.js"></script>
<noscript>
<pre><code>func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
   // (snip)
}</code></pre>
</noscript>

このやり方、少し続けてみよう。

2015-07-29

Notification 用の deviceToken をコンソールに表示する (Swift)

Push Notification 用の deviceToken をコンソールに表示するコードを書いてみた。

NSData 型の変数 deviceToken を文字列に変えるのに deviceToken.description で十分だったのがびっくり。

deviceToken.description は 「<スペース区切りのトークン>」な形式なので、stringByTrimmingChaaractersInSet で「<>」を削り、stringByReplacingOccurencesOfString でスペースを削ってる。

2015-07-24

iPod Touch が届くまで...

iPod Touch 第 6 世代が昨夜届いた。

(書き途中)

到着までの流れ

  • 2015-07-18 11:36 上海支店 (中国) 海外荷物受付
  • 2015-07-19 17:11 上海支店 (中国) 海外発送
  • 2015-07-22 10:04 ADSC 支店 荷物受付
  • 2015-07-22 10:04 ADSC 支店 発送
  • 2015-07-22 18:40 羽田クロノゲートベース 作業店通過
  • 2015-07-23 01:33 東京ベース店 作業店通過
  • 2015-07-23 07:34 台東松が谷センター 配達店到着
  • 2015-07-23 12:48 台東松が谷センター 持戻 (不在)

2015-07-22

ROK Coffee Grinder、出荷遅れて 8/11 に日本へ発送予定

英 ROK 社のコーヒー・グラインダー (コーヒー・ミル)。その出荷時期について悪いニュースと良いニュースが 1 つずつ。

悪いニュースは、出荷が更に遅れるということ。

良いニュースは、「日本」への発送日が分かったこと。2015-08-11 (火) に発送を予定している。前回のお知らせではイギリス・オーストラリア・香港に発送される日付は記述されていたものの、その他の国 (日本を含む) については、ぼくの英語力不足もあって良く分からなかった。今回入ったお知らせには、アメリカとカナダが 7/28。イギリス、EU 各国、オーストラリア、ニュージーランド、それ以外の国々は 8/11。と分かりやすく書いてあった。荷は船便で送られるため、発送から到着まで 4 週間は見て欲しいとのこと。組み立てが、もし中国なら、8 月中には届くか、な?

今回の遅延は「新しい機構」を取り付けたことによるもの。既に 1000 個のパック詰めが終わっていたのに、それをまた開けて「新機構」を取り付けたらしい。「クリック」をセットすることで、コーヒーのグラインド・サイズ (ひきの粗さ) を設定し、簡単にこの設定値に戻せる... というような解説があるけれど、、、文章じゃよく分からない。実物を見るまでの楽しみにしよう。

週刊アスキーの立川シネマシティ「極上爆音上映」の記事が面白い!

週刊アスキーに 1 万文字に及ぶ長編で東京・立川のシネコン「シネマシティ」の記事が載った。1994 年に日本で最も「音が良い」映画館として「シネマシティ」をオープン。2004 年には更なる音の高みを目指した 2 号館「シネマ・ツー」をオープン。音にこだわったシネコンとして有名。記事は遠山武志企画室長へのインタビューとして構成されていて、シネマシティのこだわりや企画を紹介している。

シネマシティは好きな映画館だけれども、ぼくの知らないエピソードも多く紹介されていた。「THIS IS IT」の「ライブスタイル上映」で終演後、灯かりを消して「SMILE」(チャップリン作曲、マイケル・ジャクソンによるカバーが「HISTORY」に収録されている) を流したとか、シネコン系の作品 (ギレルモ・デル・トロの「パンズ・ラビリンス」!) を時代に先がけて積極的に上映したとか。知ってたら、その上映にも行きたかった!!

あとは、一番小さな劇場のレンタル料が 15,000 円 (一万五千円) とか、Amazon を参考にしてウェブ予約のキャンセルを簡単に出来るようにしたとか。知らなかったなぁ。

井出祐昭

記事中、「シネマ・ツー」の「KIC リアルサウンド」の紹介ビデオに「著名な音響家」として井出祐昭氏が登場している。井出氏の名前は表立って出てこないけれど、記事中にある専門家・音響家は井出氏のことを指しているんじゃないかな?

過去記事でも取り上げたけど、井出氏がシネマ・ツーに手を倍した事案は、氏自身の著作「見えないデザイン」(pp.132-147) に詳しい。シネマ・ツーのスピーカー配置、吸音のさせ方、スピーカーの選択などが本記事より少し詳しく書かれている。興味があれば、こちらもどうぞ。

そういえば最近映画館に足を運んでいない。行きたいなぁ!

2015-07-21

git add をキャンセルする方法

時々、git add するつもりじゃなかったファイルを git add して困ることがある。その度に元に戻す方法をネットを探すハメになるので、ブログに書いておく。

foo.txt を誤って git add してしまった場合の対処法。

$ git reset HEAD foo.txt

いつも忘れちゃうんだよね〜。

ref

2015-07-19

チャットワーク公式活用ガイドブック 8/6 発売

ぼくが働いてる ChatWork 株式会社の主力サービス「チャットワーク」の解説本が Amazon で予約可能になっている。書名は「チャットワーク【公式】活用ガイド」。発売予定日は 2015-08-06。定価は 1,620 円。

チャットワークの解説本は、公式・非公式含めて初めてと思う。本の著者は ChatWork Academy。ChatWork 社のグループ会社。ちなみに、ぼくはまだその本の内容を知らない (ので発売されて初めて読む)。

2015-07-18

iPod Touch 第 6 世代を注文した!

先日、いきなり Apple が発売を開始した iPod Touch 第 6 世代。その第 6 世代を、昨夜、Apple Store で注文した。

himag さんが書いているのと同様に、17 に注文・刻印入りで到着は 7/24 (金) と案内が来ている。Apple のことだから、少し遅めの到着日を案内している可能性もなきにしもあらず。早めの到着を少し期待。iPod Touch が届いたら、しょうこりもなく開封の儀を行なうと思う。

さて、iPod Touch。実はウォークマン系ガジェットを購入するのは初めて! イヤホンというやつが苦手で、外で「も」音楽を聴こうというモチベーションがなかった。

モチベーション変化のきっかけは、水面下でいろいろあった。

  • Bluetooth レシーバーを導入したことで、家のオーディオからもネットワーク経由の音楽を鳴らせる環境が整ったこと
  • 車のオーディオも Bluetooth 対応して、スマホ/タブレット/iPod Touch の中の音楽を鳴らす環境が整ったこと
  • Parrot Zik 2.0 のような Bluetooth 接続かつノイズ・キャンセリングに対応した「比較的高音質な」ヘッドホンが現れたこと

こういった周辺環境の変化が家で、車内で、室外で音楽を聞く下地になっている。

それなら iPhone や iPad で良いのでは? という気もする。大いにする。iPod Touch が iPhone や iPad より勝る点を挙げると 2 点。バッテリーを iPhone/iPad から分離できること。サイズ・重量が小さいこと。

iPod Touch のメリットに対して、デメリットは iPhone と iPod Touch、または iPad と iPod Touch の二機種を持ち運ぶ面倒臭さ。これは実際使ってみて考えるしかないかな? と見切り発車で購入を決意した。

最後に iPod Touch 購入を後押ししたのは Apple Music の存在! Wi-Fi さえあればどこでも音楽聴き放題。外に出る時は端末内に予めダウンロードも可能。この利便性はイイ! 家には数千枚の CD があるけれど、家から出るとこのコレクションを持ち運ぶ術がないのには困っていた。車内で、新幹線の中で、出張先で、音楽を聴く「ガジェット」として iPod Touch を「欲しい」と思った。

Apple Music がスタートしていなかったら、ぼくは、iPod Touch に食指を動かすことはなかったと思う。

2015-07-17

行数の多いファイル、トップ 10 を出力するワンライナー

この前、カレント・フォルダーにあるファイルで一番行数の多いファイルは何か? という話が出て、その場で書いたワンライナー。

$ wc -l * | sort -n -r | head -10

wc-l オプションを付けて、行数をカウント。

そのままじゃ、ファイル名順に並ぶので sort コマンド。-n オプションで行数を文字列じゃなく、数字として扱わせて、-r オプションで多い順にする。

最後に head コマンドで最初の 10 行を取り出した。

この方法だと、wc が出力した全てのファイルの「トータル行数」が一番上に出る。ああ、そうか。すると、トップ 9 になっちゃう。トップ 10 を出すなら、head の引数を 11 にしなくちゃいけない。

もしくは、tail コマンドを使って、一番上の行を削るかな。

$ wc -l * | sort -n -r | tail -n +2 | head -10

ワンライナー。サクッと書けるようになると楽しい。