キーリマップの観点から見たErgodox EZ

ErgodoxEZを6月中頃に発注してから、3週間後くらいに届いて、1ヶ月半ほど使用したので、 主に、キーリマップの観点からErgodox EZのメリットとデメリットを書いていきたいと思います。

[2017/09/02 10:04 追記 ここから]

初出の記事タイトルで「キーリマップに関してのメリット、デメリット」という趣旨にしていましたが、キーリマップに関してのデメリットがなかったので、その部分をタイトルから削除しました。

[2017/09/02 10:04 追記 ここまで]

f:id:uitspitss:20170902032743j:plain

続きを読む

Mac(Sierra)でのキーリマップ

今月、以下2台のMacのSierraでキーリマップを見直してちゃんとしました。

  • MBA(2014Early) - JISキー配列
  • MBP(2016Late) - JISキー配列
続きを読む

openFrameworksでドーム映像制作

[2017/05/18追記]

  • 3つ目の動画で使用している楽曲の使用許可をいただけたので、音ありに変更。
  • その他のスナップショットに追加。

今回は、ドーム状のスクリーンに投影する映像を作った話です。 ドーム映像の業界では、ドームマスターと言われている、円型にレンダリングされた形式の映像を投影しています。 (参考:ORIHALCON Project: 全天周映像(ドーム映像)の作り方)

私がやっていたのは2015年の頃で、openFrameworksを使ってドームマスター形式の映像を作ってました。 以前は、ドームマスター形式の映像はAfterEffectsのプラグインなどで制作されることも多かったみたいですが、 最近では、Unityなどを使って制作することもできるようです。
Unityによるインタラクティブドームコンテンツ作成 | 株式会社オリハルコンテクノロジーズ | ORIHALCON Technologies, Inc.

今やるなら、断然 Unity でやりたいですね!

続きを読む

retryするデコレータ

失敗してもretryするデコレータを書いてたら、頭の体操みたいなコードができました。 機能要件は、試行の最大回数と試行の時間間隔をデコレートするときに指定できるように…

それから、下記のコードはf文字列を使っているので python3.6+です。

from functools import wraps
from time import sleep, time

def retry(count=0, delay=0):
    def _retry(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            _delay = delay
            _time = time()
            for c in range(count):
                print(f'time: {time()-_time:.1f}')
                success = func(*args, **kwargs)
                if success or c == count-1:
                    break
                sleep(_delay)
                _delay *= delay
            return success
        return wrapper
    return _retry

try_count = 0
@retry(count=3, delay=1.5)
def unstable_func(threshold):
    global try_count
    try_count += 1
    print(f'try count: {try_count}')
    return True if try_count > threshold else False

if __name__ == '__main__':
    print(f'unstable_func is {"succeeded" if unstable_func(3) else "failed"}')
    print()
    print(f'unstable_func is {"succeeded" if unstable_func(3) else "failed"}')

実行結果は

time: 0.0
try count: 1
time: 1.5
try count: 2
time: 3.8
try count: 3
unstable_func is failed

time: 0.0
try count: 4
unstable_func is succeeded

実際に使うときは、ちゃんとしたライブラリを使いましょう!

株式会社はてなに入社しました

株式会社はてなに入社しました

株式会社はてなに入社しました - hitode909の日記