Kinesisキーボード設定

会社で、他の方の利用していないKinesisを一ヶ月程度利用した。

使いやすかったので、自分で購入しました。自分の初回設定をメモする


## キーボードの電子音off

`Program + -` と `Program + \`

前者がCapsLock時などの切替音、後者はタイプ音

## mac モードへの切替

`= + m` でmac modeへ切替

エディタなどを開いて下記コマンドで、現在のモードを確認。

`= + s`


macモードであれば `v3.2[]` というように表示される

## Remap

`Program + F12` で切替、真ん中のランプが点滅するので、`Remapしたいキー`、`そのキーをRemapする箇所`という順番で入力。

その後、再度 `Program + F12` で終了。

### Remapしたキー

  • Commandキー to Delete
  • Ctrl to Backspace
  • Esc to RightCtrl

AWSのSecurityGrouopのroleを当てられるcapistranoプラグインcapistrano-ec2group

awscapistrano

通常capistranoでroleを定義する際には下記のように記述するわけですが、インスタンス数に変更があった場合
追加したり削除したりがめんどくさいです。

set :app,  "app-ip-address"
set :web, "web-ip-address"

上記のような問題を解決するプラグインcapistrano-ec2groupです。

GitHub - logandk/capistrano-ec2group: Capistrano plugin for deploying to Amazon EC2 instances by security groups

インストール

gem install capistrano-ec2group

コード

deploy.rbに以下の様に追記します。
このように指定するだけで、"web"roleには"securitygroup1"に所属するインスタンス
"app"roleには"securitygroup2"に所属するインスタンスが対象となります。

require 'capistrano/ec2group'

set :aws_access_key_id, 'your_access_key'
set :aws_secret_access_key, 'your_secret_access_key'

set :aws_pvt_dns, true # capistranoをec2インスタンスから実行する場合に設定します
set :aws_params, :region => 'ap-northeast-1'

group :securitygroup1, :web
group :securitygroup2, :app

Vagrant+Ansible触ってみた

vagrantansible

chefが余りにも取っ付きにくかったため、下記エントリを読み、Ansibleを触ってみることにしました。

Chefがつらい人のためのAnsibleのはなし - ゆううきブログ

Vagrant準備

Vagrantのお作法もよくわかってないですが、二つディレクトリを作成し、それぞれのディレクトリでVagrantfileを作成した。
VMIPアドレスをセットする場合は、Vagrantfileに下記のように追記します。

  config.vm.network :private_network, ip: "192.168.50.10"

二つVMを立ち上げ、片方からもう片方にssh接続できるようにします。
片方VMで鍵作成してもう片方のVMの~/.ssh/authorized_keyに公開鍵を突っ込みます

$ssh-keygen -t rsa
$cat ~/.ssh/id_rsa.pub # これを適当にコピる

Ansibleインストール

$sudo apt-get update
$sudo apt-get install ansible

Ansibleで対象ホストを指定する

ANSIBLE_HOSTSに指定されたファイルを見に行くため、パスを通す

export ANSIBLE_HOSTS=~/hosts

ファイル自体の中身はこんな感じに書きます。webserverというグループにVMを追加するイメージです。
~/hosts

[webserver]
vm-ip-address

適当なyamlを書いてみる

redisをインストールするだけのyamlです。
VMはUbuntu12.10なのですが、12.10の場合、redisのバージョンが2.4と古いため、
最新のredisをインストールできるようにします。
さらにUbuntu12.10には初期状態では"apt-add-repository"コマンドがないため、
それを利用するために"software-properties-common"をインストールします。

http://www.ansibleworks.com/docs/modules.html#packaging

~/test.yml

- hosts: webserver
  user: vagrant
  sudo: yes
  tasks:
    - name: install software-properties-common for apt-add-repository
      apt: pkg=software-properties-common update_cache=yes
    - name: add repo for redis
      apt_repository: repo='deb http://ppa.launchpad.net/chris-lea/redis-server/ubuntu quantal main' state=present
    - name: add repo for redis2
      apt_repository: repo='deb-src http://ppa.launchpad.net/chris-lea/redis-server/ubuntu quantal main' state=present
    - name: apt-get update
      apt: update_cache=yes
    - name: install redis
      apt: pkg=redis-server update_cache=yes

実行します。

$ansible-playbook test.yml

対象VMでredisが正しくインストールされたか確認

vagrant@quantal64:~$ redis-server -v
Redis server v=2.6.14 sha=00000000:0 malloc=jemalloc-3.4.0 bits=64

yamlの書き方とか正しいのかよくわからないけどできてた!!

なんかVagrantからAnsibleを使うのがあるらしいね!!
Ansible - Provisioning - Vagrant by HashiCorp

Unityでタップとかスワイプとかを簡単に実装できてしまうFingerGestures買った

unity

http://fingergestures.fatalfrog.com/

タイトルの通りAssetStoreでFingerGesturesを買いました。$55です。
Unity iOS/Androidが無償化されてもAssetStoreに課金しています。
そう。まるでソーシャルゲームのように。

上下左右のスワイプイベントを受け取るサンプルを作成したので手順を紹介致します。

HierarchyにFingerGesturesプレハブを配置


FingerGesturesをimportするとAssets/Plugins/FingerGestures/Prefabs以下にFingerGesturesという名前のプレハブがあるのでそれを突っ込みます

スワイプイベントを起こしたいオブジェクトを作成する


適当にオブジェクトを作成します。NGUIばかり使ってる私はSpriteを作成しました。
そのオブジェクトに対して、"Swipe Recognizer"と"Screen Raycaster"というコンポーネントを追加します。
ScreenRaycasterの要素である"Cameras->Size"を1に変更し、"Cameras->Element 0"に対して、Hierarchyに存在する"Camera"オブジェクトをD&Dで持ってきます。


これで後はSwipeを受け取った時の処理を書くだけです。

Swipeイベントを受け取った際の処理を記述する


今回は上下左右のスワイプイベントを処理するため、以下のようなコードを書きました。

SimpleSwipe.cs

上記で作成したオブジェクトに追加します。
"swipeReceiver"は下記の"SwipeReceiverImpl.cs"を追加したオブジェクトを指定します。
今回であれば、作成したオブジェクトです。

using UnityEngine;
using System.Collections;

public class SimpleSwipe : MonoBehaviour {

    public GameObject swipeReceiver;

    void OnSwipe(SwipeGesture gesture) {
        FingerGestures.SwipeDirection direction = gesture.Direction;
        switch(direction) {
            case FingerGestures.SwipeDirection.Right:
                swipeReceiver.SendMessage("RightSwipe");
                break;
            case FingerGestures.SwipeDirection.Left:
                swipeReceiver.SendMessage("LeftSwipe");
                break;
            case FingerGestures.SwipeDirection.Up:
                swipeReceiver.SendMessage("UpSwipe");
                break;
            case FingerGestures.SwipeDirection.Down:
                swipeReceiver.SendMessage("DownSwipe");
                break;
            default:
                break;
        }
    }

}
ISwipeReciever.cs
using UnityEngine;
using System.Collections;

public class ISwipeReceiver : MonoBehaviour {

    public virtual void LeftSwipe() {}
    public virtual void RightSwipe() {}
    public virtual void UpSwipe() {}
    public virtual void DownSwipe() {}

}
SwipeReceiverImpl.cs

これも上記で作成したオブジェクトに追加します。

using UnityEngine;
using System.Collections;

public class SwipeReceiverImpl : ISwipeReceiver {

    public override void LeftSwipe() {
        print("left swipe");
    }

    public override void RightSwipe() {
        print("right swipe");
    }

    public override void UpSwipe() {
        print("up swipe");
    }
    public override void DownSwipe() {
        print("down swipe");
    }

}


たったこれだけで単純なスワイプイベントの処理が可能になります。

俺もUnityでアプリ作って猫にまっしぐらされたい

unity


zusaar.com -&nbspzusaar リソースおよび情報


ぐわー!!俺も猫に囲まれながら猫のためにアプリつくりたいよぉぉぉおおおお!!!
猫好きのためのUnityハンズオンってないんですかね。


ただ猫触るだけでもいいです。猫カフェ行きます。

homebrewでvimを入れる際、+pythonを有効にする

vimhomebrewmac

OmniSharpを使う前段階として+pythonが有効なvimが必要だった。
しかし、homebrewで入れたvimを確認したら有効ではなかった。

$brew uninstall vim # 既存のやつをuninstallして
$brew install vim --enable-interp=python,python3,ruby # オプションつけて実行

以上

GoogleReaderからの移行先はReeder、君に決めた

rssreeder

今数十分前にGoogleReaderが明日お亡くなりになってしまうことに気付いたのでReederに移行しました。
自分の求める要件としては以下三点です。

  • シンプルなやつ
  • Instapaperと連携できるやつ
  • キーボードショートカットで良い感じにできるやつ


Feedlyはなんかデザインが好みでなく、diggreaderはinstapaperに突っ込む設定が見つからないので移行先要件にマッチしてなかったのでやめました。他のサービスは見ておりません。

ダウンロードする

★reeder


Android版がないですが、PC上で見るのが一番高速に閲覧できるはずなので気にしません。
今日までMac版、iPad版が無料なので使わなくてもダウンロードしておきましょう。

GoogleReaderのインポート

インポートします。二段階認証プロセスつかってる人はアプリ固有のパスワードを発行してそれで認証します。

ショートカット設定する

Mac版を使う際のキーボードショートカットを設定する
既存のショートカットとして


j : 次の記事
k : 前の記事
v : 記事をReeder上で閲覧する
b : 記事をブラウザで開く


というのがすでにあります。
Reeder->Preferences->ServicesタブからInstapaperを選択し、"Click to record shortcut"と書かれたフォームで"i"を押すと、"i"で記事をInstapaperに飛ばせるようになります。

とりあえずこれでGoogleReaderから移行できました。