Mac keyhacでキーバインドの変更

mac

MacBookProを使っているが、つくづく、コントロールキーとコマンドキーが統合されていればいいのにと思う。Ctrl-aとCmd-aを使い分けるシーンなんてないし。しばらく前からKeyHacを使って、アプリケーションごとにコントロールキーとコマンドキーの入れ替えを…

Emacsのansi-term

いままで、/etc/passwdなどを編集するときはmacのターミナルを起動してそこでviしていたが、普段使っているemacsでM-x ansi-termすると、この中でviを使うことができる。これでターミナル不要になった。ありがたい。

起業

7月末に無事、起業。時間はあったのに、あまり準備をせず、そろそろしなきゃとなったら結果、開業freeeのいうがまま。それでもさっくり起業できた。これから銀行の法人口座を作る。楽天銀行かジャパンネットバンクかという感じだけど、楽天のほうが必要書類…

Datastoreをcsvでエクスポート

gae

Google App Engineでよく使うDatastoreのデータをディープラーニングで使うためにcsvにしようとした。簡単なことと思ったら以外になかなかできず、結局以下の方法で実現できた。Datastoreのバックアップ BigQueryにインポート 必要なカラムをselectして、Dow…

Pythonの日時表示

日本の日時を表示するには、import time import osos.environ['TZ'] = 'Japan' time.tzset() time.strftime('%Y/%m/%d %H:%M:%S %Z')とすると'2018/03/05 17:24:54 JST'となる。もうちょっといい方法はないかな。

AWS linuxのディスクを拡張する

aws

AWSコンソールで当該EBSのサイズを拡張する。 ボリュームの状態が、しばらくすると「in-use - completed (100%)」となる。$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 10G 0 disk └─xvda1 202:1 0 8G 0 part /$ df -h /dev/xvda1 7.8G 7.…

国民年金・失業保険

思うところあって、2017年末に25年以上勤めた会社を早期退職した。これからどうするかなど、たいしたプランもないなかで、とりあえず必要なことをしていく。まずは、厚生年金を国民年金にスイッチ。このまま受給日まで国民年金で行った場合、厚生年金と合わ…

My First Lambda

def checkio(data): return filter(lambda x: 1 if __name__ == "__main__": #These "asserts" using only for self-checking and not necessary for auto-testing assert list(checkio([1, 2, 3, 1, 3])) == [1, 3, 1, 3], "1st example" assert list(check…

psqlのデリミタを変更する

$ psql -A -F $'\t' xxxxxxで出力のデリミタをタブに変更できる。

EC2 インスタンスのタイムゾーンを変更する

EC2のLinuxインスタンスは作りたてだとタイムゾーンがJSTではないので、これを変更$ sudo mv localtime localtime.20170204 $ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo localtime $ date Sat Feb 4 14:48:14 JST 2017 $

dockerでcommitせずにコンテナを終わらせてしまったとき

dockerを使い始めて間もないので、よくcommitせずにコンテナを終了させてしまいます。次に起動すると、前回の状態が保持されていないのでびっくり。またやり直すのかと思うけど、方法がありました。$ docker ps -aでコンテナのIDを特定し、$ docker commit 1…

dockerのよく使うコマンド

イメージを取り寄せる$ docker pull ubuntuイメージの一覧$ docker imagesイメージの起動$ docker run -it ubuntu bashポートを指定して起動 コンテナの8889ポートがホストOSの8888にリダイレクトされる。$ docker run -it -p 8889:8888 ubuntu bashコンテナ…

trampでポートを指定する

CTL-x CTL-fで#を使ってポートを指定する。/scpx:myid@foo.bar.com#225225:~/zoo.txt

クローンしたVMのファイル名を変更する

vmwareのVMをクローンすると、.vmdkファイルの名称が変更されてしまう。たとえば、backupVMというVMをクローンすると、# ls backupVM_2-ctk.vmdk backupVM.nvram backupVM.vmsd backupVM.vmxf backupVM_2-flat.vmdk backupVM_2.vmdk backupVM.vmx vmware.log…

keyhac

mac

Macをsierraにアップグレードしたらkarabinerが使えなくなったので、かわりにkeyhacを試してみる。keyhacはkarabinerとちがって、コントロールキーとコマンドキーを交換という定義ができず、常にkeymap["Ctrl-a"] = "Cmd-a"というふうにメインキーとの組み合…

sshセッションのタイムアウトを防止する

最近AWSを使うことが多くなって、EC2のインスタンスにsshで接続して作業するが、なにかというとタイムアウトするので不便。ちょっと調べたら サーバの/etc/ssh/sshd_configにClientAliveInterval 60を設定する ~/.ssh/configにServerAliveInterval 60を設定…

EntityManager#createNativeQueryで一部のデータを取り出すとき

EJBのEntityManagerでテーブルをselectしてそのテーブルのエンティティを返すのは普通にやることだが、group byしてキーだけ取り出したい、などのときは以下のようにObjectの配列のリストとして扱う。 val keys = em.createNativeQuery("select t1.key1, t1.…

pythonで正規表現を使った結果の判定

pythonで文字列に数字が含まれているかどうかを判定したいとき、import re def hantei(v): return re.search(\d, v)とすると、re.search()がBooleanではなく、re.MatchObjectを返すので使えない。こういうときは、 return re.search(\d, v) is not Noneとす…

オブジェクトの値をコピーする

case class Foo(key:Int, key2:String, key3:Int)のクラスからオブジェクトを生成し、それを他のオブジェクトにコピーしたいとき、scalaではcopyメソッドが使える。val foo = Foo(100, "test", 200)val zoo = foo.copy(key = 300)とすると、keyは300がセット…

scalaでxmlのCDATAを扱う

普通にval naiyo = あいうえお x var nodes = Queue.empty[Node] nodes :+= {naiyo}みたいなことを書くと、x < yに変換されてしまう。これをしないように、CDATAを使うには{scala.xml.PCData(naiyo)}とすればよい。

KarabinerでEclipseのキーバインドを変更

eclipse-4.4を使ってみる。Cntl+SPACEでいつものように補完をさせようとするとしなくなった。調べると、Karaibnerがeclipse-4.2と4.4を別に識別しているらしい。~/Library/Application Support/Karabiner/private.xmlを修正する。eclipse-4.2はなにもしない…

Yosemite

OSを10.10.1Yosemiteにアップグレードしたところ、eclipse-4.2-junoが起動しなくなった。古いjavaが削除されたらしい。JavaForOSX2014-001.dmgをダウンロードしてインストールしたら起動。しかし、ビルドパスに問題があって、QTJava.zipがないとのこと。こち…

scala-2.9のscala.reflect.BeanPropertyが2.11ではscala.beans.BeanPropertyに変更されていた

表記の件で、システムのscala-libraryを2.11にあげようとすると、importを変更しなければならない。そこで、 package foo.bar class BeanPropery extends scala.reflect.BeanPropertyというクラスを作って、徐々にこれに切り替えておき、2.11に移行するとき…

play frameworkのアプリケーションを本番で運用するときに注意すること

開発中はhttp://localhost:9000/fooなどのURLで動作確認するが、開発が終わって本番で稼働するとき、http://liveserver.boo.com/fooなどのURLでアプリケーションにアクセスするようにhttpdの設定をして動かしてみると、なぜか動かない。よくみると、javascri…

イメージファイルの圧縮

kvm

kvmでゲストOSをqcow2で運用していると、だんだんとイメージファイルのサイズが大きくなってくる。これをqemu-imgで圧縮するのだが、70G程度あるイメージファイルを圧縮するのに2時間弱かかる。この間ゲストOSを止めておくことができないばあいは、以下の手…

play-2.2.3を使用。セッションを使ってコントローラからビューへ値を渡す。sessionの受け渡しを追加し、その内容を.withSessionに入れる。コントローラ側 Ok(views.html.index("")(session)).withSession("foo"->"FOOO", "bar"->"BAR")ビュー側 @(message: S…

ファイルのアップロード

画像ファイルをアップロードするページで、画像を保存するフォルダはplayの外にあり、public/imagesにシンボリックリンクしている場合、アップロードされた画像がページ上に反映されない。これは、実際の画像ファイルを./target/scala-2.10/classes/public/i…

スナップショット作成でエラーになったとき

kvmのqcow2からvmwareのvmdkへコンバートした仮想マシンをvmwareで起動して、とりあえずスナップショットを取ろう、と実行すると、「.....vmsn」を保存中にエラーが発生しました。」というエラーでパワーオフまでいってしまう。ディレクトリをみると、xxxVM-…

vmdkの圧縮

# du -h liveVM20140813/ 269.6G liveVM20140813/ #このシステムを圧縮。実際には50Gくらい。# date; time vmkfstools --punc hzero liveVM20140813/liveVM20140813.vmdk; date Wed Aug 13 13:02:13 UTC 2014 vmfsDisk: 1, rdmDisk: 0, blockSize: 1048576 H…

qcow2からvmdkへ変換するとき

-rw-r--r-- 1 root root 28G 8月 5 17:37 zabbixVM.imgのファイルをvmdkに変換するとき、圧縮してから変換したほうがvmdkのサイズが小さくなるかと以下のように実行。$ time sudo qemu-img convert -c -p -f qcow2 -O qcow2 zabbixVM.img zabbixVM.compact.i…