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
通常capistranoでroleを定義する際には下記のように記述するわけですが、インスタンス数に変更があった場合
追加したり削除したりがめんどくさいです。
set :app, "app-ip-address" set :web, "web-ip-address"
上記のような問題を解決するプラグインがcapistrano-ec2groupです。
インストール
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触ってみた
chefが余りにも取っ付きにくかったため、下記エントリを読み、Ansibleを触ってみることにしました。
Chefがつらい人のためのAnsibleのはなし - ゆううきブログ
Vagrant準備
Vagrantのお作法もよくわかってないですが、二つディレクトリを作成し、それぞれのディレクトリでVagrantfileを作成した。
VMにIPアドレスをセットする場合は、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買った
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でアプリ作って猫にまっしぐらされたい
zusaar.com - zusaar リソースおよび情報
ぐわー!!俺も猫に囲まれながら猫のためにアプリつくりたいよぉぉぉおおおお!!!
猫好きのためのUnityハンズオンってないんですかね。
ただ猫触るだけでもいいです。猫カフェ行きます。
GoogleReaderからの移行先はReeder、君に決めた
今数十分前にGoogleReaderが明日お亡くなりになってしまうことに気付いたのでReederに移行しました。
自分の求める要件としては以下三点です。
- シンプルなやつ
- Instapaperと連携できるやつ
- キーボードショートカットで良い感じにできるやつ
Feedlyはなんかデザインが好みでなく、diggreaderはinstapaperに突っ込む設定が見つからないので移行先要件にマッチしてなかったのでやめました。他のサービスは見ておりません。
GoogleReaderのインポート
インポートします。二段階認証プロセスつかってる人はアプリ固有のパスワードを発行してそれで認証します。
ショートカット設定する
Mac版を使う際のキーボードショートカットを設定する
既存のショートカットとして
j : 次の記事
k : 前の記事
v : 記事をReeder上で閲覧する
b : 記事をブラウザで開く
というのがすでにあります。
Reeder->Preferences->ServicesタブからInstapaperを選択し、"Click to record shortcut"と書かれたフォームで"i"を押すと、"i"で記事をInstapaperに飛ばせるようになります。
とりあえずこれでGoogleReaderから移行できました。