MANA-DOT

PIXEL ART, PROGRAMING, ETC.

海外版Surface Laptopで一部の日本語アプリケーションが文字化けする + おまけでSurface Laptopの感想

surface-laptop

家電量販店で触っていい感じだったので、Surface Laptopを購入してしまいました(一か月くらい前に)。 英字キーボードが使いたかったこと、日本で未発売のcore i7+メモリ16GBモデルが欲しかったことから、海外版を米Amazonで購入しました。

Amazon.com: Microsoft Surface Laptop (Intel Core i7, 16GB RAM, 512GB) - Platinum: Computers & Accessories

購入自体は発送に時間はかかったものの、きちんと手元に届き、ACアダプタなども問題なく利用できています。

海外版のWindowsを使うにあたって一部の日本語アプリケーションの日本語文字が文字化けてしまうという問題があったため、紹介します。

続きを読む

Nexus6の電池交換をした

2年以上使ってるNexus6の様子が最近おかしく、ソシャゲのFate/Grand Orderをプレイしてたり 、Google Mapを起動していたりすると突然電源が落ちてしまうようになりました。 あまりに不便で困っていたのですが、スマホを電源につないでいるときはこの現象は発生せず、 電池の劣化が原因かな?と思ったため、自分で電池の交換をしてみました。

手順については、 こちら の記事および、 こちら の動画の通りにやっただけなので、 実際に購入したものや、交換時に困ったことについてまとめます。

続きを読む

Node.js8になって util.promisify が利用できるようになったのでメモ

先日Node.js8 がリリースされました (参考) 。 追加機能の中に util.promisify というものがあります。これは、すでに bluebirdes6-promisify といったパッケージで提供されていた、 コールバック関数を伴う非同期関数を、Promiseを返す関数化するユーティリティ関数ですが、今回のリリースでNode本体に含まれるようになったようです。

続きを読む

Slackのstatusをtaskerを使って自分の居場所によって自動変更する

slack status

先日、slackで 名前の横に自分のステータスを表示する機能 がリリースされました。 これはDMを送ろうとしたときの入力欄などにも表示されるため、適切に設定すれば「まだ出社してないのにメンション飛ばされた」「有給休暇中なのにDM送られた」みたいな気まずい悲劇を回避するのに役立ちそうです。

slack status

ただ、有給休暇などの特別なイベントならともかく、毎日出社時・退社時にslackのstatusをマメに変更するのは少々面倒です。そこで、Androidアプリの Tasker を使い、Android端末の位置情報から自動でslackのstatusを更新できるようにしてみました。

続きを読む

Hubotでasync functionを使う

Hubotでasync functionを使う

最近(と言っても一ヶ月前ですが・・・)node7.6.0がリリースされ--harmony-async-await をつけなくても async/await が利用可能となりました。 これにより、非同期処理を行うスクリプティングがより行いやすくなった(スクリプティング以上の用途ならばどうせ babel を使うためそこまで影響はない)と感じています。

hubotなどのbotプログラミングも 定常タスクを楽にするためのスクリプティングの一種であり、用途上連携サービスのAPIをたくさん叩くため、 恩寵を存分に得ることができます。この記事ではhubotで async/await を使う例を紹介します。

続きを読む

すべてのリポジトリでGithubのpull requestをfetchする設定

すべてのリポジトリでgithubのpull requestをfetchする設定

githubのプルリクエストのコミットをローカルにfetchする方法はよく知らてていますが (知らない人は是非設定をオススメします。特にコードレビューでレビュー相手がfork先からプルリクエストを出している場合でも対象コミットを取得できるため便利です)、 この方法はリポジトリごとに毎回設定する必要があり多少面倒です。

そこでこの設定を、

git config --global --add remote.origin.fetch '+refs/pull/*:refs/remotes/pr/*'

としてグローバルに設定してみたところ、普通に動きすべてのローカルリポジトリでプルリクエストをfetchしてくれるようになりました。

便利です。

気になること

remoteの設定をglobalに記述するのはあまり聞いたことがなく若干の不安はあります。 この状態でリポジトリの remote.origin.fetch の値を取ると、

>> git config --get-all remote.origin.fetch
+refs/pull/*:refs/remotes/pr/*
+refs/heads/*:refs/remotes/origin/*

となっており、リポジトリのconfigに記述した時と同じになっているため、問題ないのかな?とは思います。 今のところはGithub以外のリポジトリへのfetchも問題なく快適です。

もし詳しい方がいれば、補足していただけると助かります。

参考リンク