Promiseに出来てasync/awaitに出来ないこと (JavaScriptを例として)

JavaScriptで非同期処理をasync/awaitを使って同期的なスタイルで書いていると、すべてのコードをそのスタイルで統一して書きたくなる。なので非同期処理を開始して実行を明け渡したいときはもちろんawaitを使うし、非同期処理に失敗したときはtry-catch構文…

Noto Emojiにコントリビュートし縦書きできるようにした話

こんにちは、株式会社ミクシィのグループ会社の株式会社ノハナでエンジニアをしている @tacke_jp です。この記事はmixiグループ Advent Calendar 2017の24日目の投稿です。今日は少しばかりマニアックな話題になりますが、縦書きの絵文字の話をしたいと思い…

私たちが奴隷ではなく自由人になるためには一週間でどのくらい自由な時間が必要か

ニーチェは著作「人間的な、あまりに人間的な」の中で次のような格言を残している。 『あらゆる人間は、いかなる時代におけるのと同じく、現在でも奴隷と自由人に分かれる。自分の一日の三分の二を自己のために持っていない者は奴隷である。』 現代日本の被…

プログラミングができると何ができるようになるのか (またはプログラミングに飽きてきたら読み返す文章)

この前、とあるプログラマではない人に「プログラムが書けると何ができるようになる?」と聞かれた。 その時は、やろうと思えばなんでもできる答えたが、その後ちょっと考えて、但し無限の時間と無限の計算機資源があればと付け加えた。 チューリング完全な…

PostgreSQL9.5の強力なJSON関数で、ネストした構造を持つJSONを自在に組み立てる

(この記事はmixi advent calendar5日目の投稿です。) 年内にリリース予定のPostgreSQL9.5ではjsonb型のデータを操作する関数が拡充され、より自由自在にJSONを扱うことが可能となります。この記事ではPostgreSQL9.5を用い、REST APIのJSON生成部分を SQLのみ…

Raspberry PiとUSB-DACを組み合わせて格安で便利なAVアンプを作った

なにこれ? Raspberry PiにUSB-DACを接続して、持っていたアンプで鳴らしてみたら思った以上にいい音が出た。 AirPlayサーバー化すると、iPhoneに入っている曲やYoutubeやニコ動の作業用BGMを飛ばして聴ける。 VLCをインストールすると、ネットラジオを聴い…