データバインディング可能なマークアップ言語を作ろうとしてやめた話

最近、Google Apps Script(GAS)でSlackのBOTを作るのにハマっています。*1
基本的には何らかのAPIやウェブページから取得したデータを整形してメッセージを投稿するBOTなのですが、ソースコードをいじらなくてもメッセージの文面を変えられるようにするために、テンプレートをもとにメッセージを生成する仕組みにしています。
当初は特定の文字列を実際のデータの値に置換するだけの単純な仕組みで実装していましたが、「特定の値があるときにのみこの文字列を出力したい」といったケースに対応できないため、条件分岐や繰り返しなどのロジック処理を行なえるような構文を定め、言語として規格化しようと考えました。

*1:Google Apps Script(GAS)でSlackのBOTを作る方法は、そのうち記事にします。

続きを読む

iPhone用にQi対応ワイヤレス充電器を買ったら最高だった

f:id:munieru_jp:20180510225155j:plain

iPhone 8/iPhone Xでは、ワイヤレス給電の国際標準規格であるQi(チー)に対応したことで、夢のワイヤレス充電が可能になりました。*1
Apple純正のワイヤレス充電器であるAirPowerの発売も予定されていますが、一足先にサードパーティ製のQi対応ワイヤレス充電器を買ったら最高でした。

続きを読む

Macでダウンロードした画像のファイル名を、自動でMD5ハッシュ値にリネームして重複を防ぐ

f:id:munieru_jp:20180311201831p:plain

僕はGoogleで癒し画像を収集するのが趣味なのですが、ネット上からダウンロードした画像をそのまま保存すると、ファイル名が被ってしまうことがあります。
また、同じ画像でもサイトによってファイル名が違う場合、中身が同じファイルを重複して保存してしまうかもしれません。
そこで、Macでダウンロードした画像のファイル名を、自動でMD5ハッシュ値にリネームして重複を防ぐことにしました。

続きを読む

こんなスライドはやめろ!プレゼン資料のアンチパターン

大学の講義や技術イベント、社内の説明会など、プレゼンテーションを聴講する機会はなにかと多いものです。
ところが、なかには見るに耐えないようなスライドを使用している人がいます。
そんなスライドを衆目に晒さないためにも、プレゼン資料のアンチパターンとその解決策を示します。

続きを読む