ノエルギャラガーの新作「Chasing Yesterday」

Chasing Yesterday (Deluxe)

Chasing Yesterday (Deluxe)

買いました。

前作同様、捨て曲なんて無くてどの曲も本当に良い。

特にこの曲とか。

Noel Gallagher's High Flying Birds - Ballad Of The ...

BeadyEyeが解散してしまった今、Oasisの再結成はノエル次第なのかなぁなんて思ったりしていた。
でもノエルはノエルでソロとしてスゴいアルバムを作っていたわけで、あえてOasisというバンドにまた戻るってのは勿体無い気がしてならない。です。

virtualenvで入れたモジュールをjedi.vimが補完する方法

方法と言っても、よく分からないままにやっていたら出来たくらいの内容をメモしておくだけですが…

結論から言えば…

  • vim-virtualenvvimにインストールする
    • ちなみに、僕はguiなMacVimを使ってます
    • NeoBundleでよしなにしよう

virtualenvwrapperに頼らずに、virtualenvだけで運用したいと思ったりもしたんですが、結局のところwrapperの方をサッサと入れてしまうのが正解でした。むしろvim-virtualenvがwrapperをインストールしてあることを前提に動いている気がします。

上のリンクのとおりにvirtualenvwrapperをインストールしたならば、~/.virtualenvsに仮想環境が作成されていくと思います。で、vim-virtualenvは、デフォルトでこのディレクトリを見に行ってくれるので、特に設定は必要ありませんでした。

vim-virtualenvをインストールしたら、

:VirtualEnvList

とすれば、vim-virtualenvの見ているディレクトリ下に存在する仮想環境が一覧で表示されます。
f:id:h_nitoliam:20150222234054g:plain

また、

:VirtualEnvActivate hogehoge

で任意の仮想環境を有効化できます。有効化した仮想環境内のモジュールは、その後jedi.vimで保管できるというわけですね。
f:id:h_nitoliam:20150222234310g:plain
ちなみにtabで保管できるので、別にlistで出す必要は特にない気もします。ガンガンtabキー押しましょう。
ステキ感溢れますね。

それでは

Macbook Pro Retina 15inch (Mid 2014)買った

Mid2014って表記で合ってるよね?よく分かんねー。

これまでメインで使ってきた15inchなMacbook Pro (Mid 2010)がそろそろ限界を迎えつつあって、バッテリーは持たないしHDDにアクセスがある度にレインボーカーソルが回りまくるといった状況だった。*1

買い換えるにはなんとなく良いタイミングの気もしたので、Retinaな15inchに乗り換えることにした。AppleStoreに行ったら学割も効いてそれなりに安くなりました。それなりにはね。

USキーボードが欲しい場合には自動的にAppleStore一択になりますな。家電量販店で吊るしのモデルでUSってのはほとんどないみたいですし(いちおうヨドバシでも確認した)

で、「やっぱ最新機種ははえーなースゲーなー」とか「Retina Pero Pero」とか感想はいろいろあるんだけど、ほどほどにして、買ってからやったことのメモ。

なにはともあれ、クリーンインストール

多分ぼくが神経質すぎるかつ物好きなだけだけど、とりあえずクリーンインストールした。旧ProのほうでUSBにインストールディスクを作っておいて、そこから。買ったままだと、使いもしないiWorkのアプリとか旧iLifeなアプリとかがガッツリ入ってて残念な気持ちになるので…(普通に消せよって話)

Command+Rを押しながら起動して、ディスクユーティリティでMacなディスクを空っぽにしてからOSXを再インストールするだけの簡単なお仕事です。 気分も爽やかですね。

もろもろのアプリの設定

System Preferences系

  • システムの言語は英語
  • TrackpadでTap to Clickをオン
  • Three finger DragとLook upは両方オフ(BetterTouchToolsと競合するので)
  • AccessibilityからMouse&Trackpadに行って、Optionからドラッグロックをオンにする

事前準備系

  • なにはともあれXcode!
  • Xcode入れたらxcode-select --installしてCommand Line Tools入れる
  • Homebrewも入れる

Homebrew経由系

Pythonはなんかpipも自動で入る
Vimは後でKaoriyaなまくびむ入れる

Cask系

$ brew install caskroom/cask/brew-cask

zshの設定

黙ってoh-my-zshを入れる それ以上は分からん

### Exports ###
export LANG=ja_JP.UTF-8
export PYTHONPATH=/Users/hoge/usr/local/lib/python2.7/site-packages
export EDITOR=/Applications/MacVim.app/Contents/MacOS/Vim
export PATH="$PATH:$HOME/bin" #自作コマンド

### Oh My Zsh Configuration ###
# Path to your oh-my-zsh installation.
export ZSH=$HOME/.oh-my-zsh
ZSH_THEME="ys"
 ENABLE_CORRECTION="true"
plugins=(git)
source $ZSH/oh-my-zsh.sh
DISABLE_UPDATE_PROMPT=true #shut up and update

### Alias ###
#alias vi='env LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim "$@"'
#alias vim='env LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim "$@"'
alias mvim="reattach-to-user-namespace mvim --remote-tab-silent " #reattach~しないとtmuxからの起動でコピペが効かずにブチ切れる羽目になる
alias vim="reattach-to-user-namespace mvim --remote-tab-silent "
alias vi="reattach-to-user-namespace mvim --remote-tab-silent "
alias py='python'
alias ipy='ipython'
alias ssh='nocorrect ssh'
alias -g L='| less'
alias -g H='| head'
alias -g T='| tail'

###Plugin settings ###
#cdr - cd history
autoload -Uz add-zsh-hook
autoload -Uz chpwd_recent_dirs cdr
add-zsh-hook chpwd chpwd_recent_dirs
### Some random settings ###
#PythonでPATHを通す設定 よくわからん
# 重複パスを登録しない
typeset -U path cdpath fpath manpath
# sudo用のpathを設定
typeset -xT SUDO_PATH sudo_path
typeset -U sudo_path
sudo_path=({/usr/local,/usr,}/sbin(N-/))
path=(~/bin(N-/) /usr/local/bin(N-/) ${path})

#save zsh history
HISTFILE=~/.zsh_history
HISTSIZE=100000
SAVEHIST=100000

#notify zsh via notification-center
source ~/.zsh/zsh-notify/notify.plugin.zsh
export SYS_NOTIFIER="/usr/local/bin/terminal-notifier"

#zsh-completions
if [ -e /usr/local/share/zsh-completions ]; then
	fpath=(/usr/local/share/zsh-completions(N-/) $fpath)
fi
  • zsh-notifyもgithubから入れておこう

Vimの設定

macvim-kaoriya - MacVim KaoriYa - Google Project Hostingから落とす!
.vimrcは以下

set nocompatible
filetype off
"---------------------------
" Start Neobundle Settings.
"---------------------------
" bundleで管理するディレクトリを指定
set runtimepath+=~/.vim/bundle/neobundle.vim/

" Required:
call neobundle#begin(expand('~/.vim/bundle/'))

" neobundle自体をneobundleで管理
NeoBundleFetch 'Shougo/neobundle.vim'
"NeoBundle 'scrooloose/nerdtree'
NeoBundle 'itchyny/lightline.vim'
NeoBundle 'jeffreyiacono/vim-colors-wombat'
NeoBundle 'nathanaelkane/vim-indent-guides'
	" vim-indent-guides
	let g:indent_guides_enable_on_vim_startup=1
	let g:indent_guides_guide_size=1
NeoBundle 'Shougo/unite.vim'
	" 入力モードで開始する
	"let g:unite_enable_start_insert=1
	" バッファ一覧
	nnoremap <silent> ,ub :<C-u>Unite buffer<CR>
	" ファイル一覧
	nnoremap <silent> ,uf :<C-u>UniteWithBufferDir -buffer-name=files file<CR>
	" レジスタ一u
	nnoremap <silent> ,ur :<C-u>Unite -buffer-name=register register<CR>
	" 最近使用したファイル一覧
	nnoremap <silent> ,um :<C-u>Unite file_mru<CR>
	" 常用セット
	nnoremap <silent> ,uu :<C-u>Unite buffer file_mru<CR>
	" 全部乗せ
	nnoremap <silent> ,uo :<C-u>Unite bookmark<CR>
	let g:unite_source_history_yank_enable = 1
	nnoremap <silent> ,uy :<C-u>Unite history/yank<CR>	
	" ウィンドウを分割して開く
	au FileType unite nnoremap <silent> <buffer> <expr> <C-j> unite#do_action('split')
	au FileType unite inoremap <silent> <buffer> <expr> <C-j> unite#do_action('split')
	" ウィンドウを縦に分割して開く
	au FileType unite nnoremap <silent> <buffer> <expr> <C-l> unite#do_action('vsplit')
	au FileType unite inoremap <silent> <buffer> <expr> <C-l> unite#do_action('vsplit')
	" ESCキーを2回押すと終了する
	au FileType unite nnoremap <silent> <buffer> <ESC><ESC> :q<CR>
	au FileType unite inoremap <silent> <buffer> <ESC><ESC> <ESC>:q<CR>
NeoBundle 'Shougo/neomru.vim'
NeoBundle 'Shougo/vimfiler'
	"Settings for vimfiler
	"vimfilerをデフォルトのファイラーとして使う
	let g:vimfiler_as_default_explorer = 1
	"現在開いているバッファのディレクトリを開く
	nnoremap <silent> <Leader>fe :<C-u>VimFilerBufferDir -quit<CR>
	"現在開いているバッファをIDE風に開く
	nnoremap <silent> <Leader>fi :<C-u>VimFilerBufferDir -split -simple -winwidth=35 -no-quit<CR>
	"Safe Modeは要らんですよ
	let g:vimfiler_safe_mode_by_default = 0

NeoBundle 'davidhalter/jedi-vim'
	"docstringは表示しない
    autocmd FileType python setlocal completeopt-=preview
NeoBundle 'vim-scripts/YankRing.vim'
	let g:yankring_history_dir = '~/Documents'
NeoBundle 'scrooloose/syntastic' "文法確認 よくない
NeoBundle 'mhinz/vim-startify'
	let g:startify_bookmarks = [
	 \ '~/.vimrc',
	 \ '~/.gvimrc',
	 \ '~/.zshrc',
	 \ ]
NeoBundle 'tyru/caw.vim.git'
	nmap <C-K> <Plug>(caw:i:toggle)
	vmap <C-K> <Plug>(caw:i:toggle)

call neobundle#end()

" Required:
filetype plugin indent on

" 未インストールのプラグインがある場合、インストールするかどうかを尋ねてくれるようにする設定
" 毎回聞かれると邪魔な場合もあるので、この設定は任意。
NeoBundleCheck

"-------------------------
" End Neobundle Settings.
"-------------------------

"-------------------------
"Start Lightline.vim settings
"-------------------------
set laststatus=2
set t_Co=256
let g:lightline = {
      \ 'colorscheme': 'wombat',
      \ 'component': {
      \   'readonly': '%{&readonly?"⭤":""}',
      \ },
      \ 'separator': { 'left': '⮀', 'right': '⮂' },
      \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
      \ }
"--------------------------
"End Lightline.vim settings
"--------------------------

"--------------------------
"Start Vim settings
"--------------------------
syntax on
set encoding=utf8
set fileencoding=utf-8
"スクロールするときに下が見えるようにする
set scrolloff =5
" .swapファイルを作らない
set noswapfile
" バックアップファイルを作らない
set nowritebackup
" バックアップをしない
set nobackup
" バックスペースで各種消せるようにする
set backspace=indent,eol,start
" ビープ音を消す
set vb t_vb=
set novisualbell
" OSのクリップボードを使う
set clipboard+=unnamed
set clipboard=unnamed
set clipboard+=autoselect
" 不可視文字を表示
set list
" 行番号を表示
set number
" 右下に表示される行・列の番号を表示する
set ruler
" compatibleオプションをオフにする
set nocompatible
" 移動コマンドを使ったとき、行頭に移動しない
set nostartofline
" 対応括弧に<と>のペアを追加
set matchpairs& matchpairs+=<:>
" 対応括弧をハイライト表示する
set showmatch
" 対応括弧の表示秒数を3秒にする
set matchtime=3
" ウィンドウの幅より長い行は折り返され、次の行に続けて表示される
set wrap
" 入力されているテキストの最大幅を無効にする
set textwidth=0
" 不可視文字を表示
set listchars=tab:»-,trail:-,extends:»,precedes:«,nbsp:%,eol:" インデントをshiftwidthの倍数に丸める
set shiftround
" 補完の際の大文字小文字の区別しない
set infercase
" 小文字の検索でも大文字も見つかるようにする
set ignorecase
" ただし大文字も含めた検索の場合はその通りに検索する
set smartcase
" インクリメンタルサーチを行う
set incsearch
" 検索結果をハイライト表示
set hlsearch
" コマンド、検索パターンを10000個まで履歴に残す
set history=10000
" マウスモード有効
set mouse=a
" コマンドを画面最下部に表示する
set showcmd
" 新しく開く代わりにすでに開いてあるバッファを開く
set switchbuf=useopen
" バッファを閉じる代わりに隠す
set hidden
" 0埋めの文字でCtrl+aする際に10進数も認識させる
set nf=
" 画面に表示されるタブ幅
set tabstop=4
" タブをスペース展開
set expandtab
" インデント時のスペース数
set shiftwidth=4
" タブが押された場合にtabstopでなく、shiftwidthの数だけインデントする
set smarttab
" 自動インデント
set autoindent
"--------------------------
"End vim settings
"--------------------------

"--------------------------
"KEY BINDINGS
"--------------------------
" 入力モード中に素早くjjと入力した場合はESCとみなす
inoremap jj <Esc>
" ESCを二回押すことでハイライトを消す
nmap <silent> <Esc><Esc> :nohlsearch<CR>
" TABにて対応ペアにジャンプ
nnoremap <Tab> %
vnoremap <Tab> %
" 表示行単位で上下移動するように
nnoremap j gj
nnoremap k gk
nnoremap <Down> gj
nnoremap <Up>   gk
" 逆に普通の行単位で移動したい時のために逆の map も設定しておく
nnoremap gj j
nnoremap gk k
" Ctrl + hjkl でウィンドウ間を移動
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
"インサートモードでも移動
inoremap <c-j> <down>
inoremap <c-k> <up>
inoremap <c-h> <left>
inoremap <c-l> <right>

"--------------------------
"SETTINGS FOR PYTHON
"--------------------------
autocmd FileType python setl autoindent
autocmd FileType python setl smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
autocmd FileType python setl tabstop=8 expandtab shiftwidth=4 softtabstop=4
autocmd BufNewFile *.py 0r $HOME/.vim/template/python.txt
"--------------------------
"SETTINGS FOR PYTHON ENDS HERE
"--------------------------

コピペの産物ともいう
以上がんばると
f:id:h_nitoliam:20141103215201p:plain
すごくかっこいい

まあ大体こんな感じ。

*1:恐らくDropboxやBoxなどのクライアントアプリが、同期を取る際にHDDにアクセスしまくるのも一因

ドイツでVodafoneのデータSIMカードを使ってみた感想

所要で3週間ほどドイツに行ったのだけど、その時にVodafoneのデータSIMカードを使う機会があった。

 

事前に少々調べてから行ったのだけど、T-MobileのTriple-Xtraがオススメとのことだった。どうやらT-Mobileがドイツではシェアが一番らしくて、エリア的にも日本のdocomoに該当するらしい。

ただこのプラン、データ通信に加えて通話とかSMSのプランも一緒になっているということで、データ通信だけできればいい僕にとっては微妙だなーという感じであった。

 

実際に現地に着いてから色んなショップを回った限りでは、VodafoneのWebsSessionsというプランが一番良い感じであったので、契約することにした。

Vodafone Websessions: Prepaid Internet - mobil mit Laptop und Tablet surfen

VodafoneのWebSessionsがオススメの理由

  • 純粋にデータ通信のみのプランで、わかりやすい
  • 200MB、1GB、3GB、5GBなど用途に合わせて様々なデータ容量が選べる
  • Normal、Micro、Nanoのサイズが揃っているので、SIMカッターなどが不要
  • 有効期間は一月と、短期の滞在には十分。
  • スーパー等で買うMVNOのSIMと違って、店員さんがAPN等含めて全ての設定をやってくれる

 

僕はVodafoneの直営店に直接行って契約した。その際、滞在先のホテルの住所が必要だったので注意。

Vodafoneの電波自体は可もなく不可もなく…と言った感じ。町中では3Gレベルの高速通信ができるけど(ほとんど不満なく使える速さ)、電車内や高速道路などではほとんど電波を掴まなかった。まあ、日本でも田舎ではそんな感じだと思いますが。

 

ちなみに、もしも容量を使いきってしまった場合は、SIMに紐つけられた番号にチャージが可能で(iTunesカード的なシステム)、そのチャージからまた容量を買うことができる。チャージ自体は、直営店でもできるし、キオスクやガソリンスタンドでも可能(ドイツ語がわからないなら直営店に行くのがオススメ)

 

参考までに、使った端末はauのLGL22(isai)のSIMロックを解除したもの。挿したら使えたので、周波数帯とかの難しい話はよく分かりません。

 

 

あと、ドイツマジオススメなのでみんな行くべき。

「幸福な生活」読んだ

 

幸福な生活 (祥伝社文庫)

幸福な生活 (祥伝社文庫)

 

 最後のページにオチの一行だけを持ってくる構成は面白かった。

ただ、オチが読めてしまったり、オチ自体がしっくりときていない作品が多かった印象。

良かったのは「母の記憶」と「夜の訪問者」だろうか。

プリズンブレイクを観終わった感想

プリズンブレイクをシーズン1~4まで全部観終わった。

以下、感想とツッコミを箇条書きで書いておく。ネタバレ。

  • アブルッチ殺すの早すぎ。悪役キャラを早く葬ったせいでシーズン2はティーバッグぐらいしか見どころがなくなった。
  • シーズン2以降、マイケルがサラサラうるさい。冷静沈着キャラがサラのせいで台無しになってる感。あとスキュラ集める任務中なのに避妊もしないとかバカなの?
  • なんで最後マイケル殺すの?なんやかんやあって自由を手に入れて幸せに余生を過ごした設定じゃだめなの?脳腫瘍で殺すんだったらなんで手術やら術中の回想シーン入れたの?
  • ベロニカのことを全部忘れてソフィアに速攻で惚れ込んじゃうリンクさん…
  • 肺を打たれてるのに病院にも連れて行ってもらえずあちこち引きずり回されるリンクさん かわいそう そして不死身
  • あれだけパムパム言っておきながら最終的にラングと付き合うマホーンは何考えてるの?
  • クリスティーナさんはマイケルを生かすのか殺すのかハッキリさせてください
  • クリスティーナが最後に自分で銃を握って突入してくるシーンはギャグかと思いました。直前に爆風に巻き込まれてるはずなのにピンピンしてるし、そもそも自分が突入する必要ないでしょ?
  • 最終話で唐突にFBIがゴチャゴチャ介入してくるのが萎えた 引っ込んでろ
  • 銃を構える→電話がかかってくる→銃を下ろす展開が多すぎ 早く打っちまえよな
  • 将軍が盗聴を気にしてる設定が消し飛んでいる。最終的に屋外でも気にせず喚き散らすただのクソジジイ化していた。
  • ベリックが唐突に良いキャラになりすぎ。お前は映画版ジャイアンかよ。でもカッコイイ死に様だったと思います。多分全キャラの内で一番。
  • グレッチェンはどこに行ったんですかね?
  • 必死の思いで助けたウィスラーさんを何故アッサリ殺すのか
  • スキュラのコピーぐらいさっさと作れよ
  • カードの番人が6人…引き伸ばし乙
  • 最終的に全員を免責にした機関はなんだったの?

もう疲れた。寝る。

シーズン1が神クラスに面白かったのでダラダラとシーズン4まで観てしまった。今ではシーズン2までで終わらせておけば超名作だったのではないかと思っている。

オンラインストレージのSugarSyncが全面有料化することについて

SugarSync Transitions to Paid-Only Service Model

…ということで、オンラインストレージ界隈では割と古参なイメージのあるSugarSyncがフリーミアムモデルを辞めて、Paid-Onlyなサービスに移行するらしい。

4~5年前はまだSkyDriveも(今のような形では)存在してなくて、Googleドライブも無かった。Dropbox、ZumoDrive、そしてSugarSyncとかのサービスを比べてあーだこーだ言っていた気がする。ZumoDriveが今年の五月に死に、SugarSyncが有料化したことで、当時と同じように無料サービスを提供しているのはDropboxだけになってしまった…。オンラインストレージ界隈の栄枯盛衰の流れは本当に激しいなあと感じる。

 

現在のところ存在するオンラインストレージサービスには、大きく分けて二種類あると思う。

  1. 豊富な容量を無料で提供して、大容量ファイルを抱えるユーザーを取り込むサービス
  2. API周りを整備して、デベロッパーと彼らのソフトウェアのユーザーを取り込むサービス

1をやっているのはSkyDrive、Googleドライブ、そして(使ったこと無いけど)Copyとかだ。1みたいなサービスの多くは、追加容量がもらえる紹介システムを採用してネズミ講にユーザーを増やしていくことが多い。

そして2をやっているのがDropboxだ。Dropboxは初期容量が(確か)2GBとかなり小さいのだけど、APIを整備してデベロッパーが利用しやすくしている。あと、ファイルの共有もかなり簡単に済むようになってる。

 

SugarSyncはそれなりの容量を無料ユーザーに開放していたことから、1の方向性を目指したのではないかと思う。確かに、当時はまだ競合サービスも少なかったわけだし、判断としては間違ってなかっただろう。

だけど時がたち、MicrosoftがSkyDrive、GoogleGoogleドライブの提供を始めてしまった。彼らのような大手に同じことをやられたら、全く勝負にならないのは見えている。サーバーリソースも桁違いだし、そもそもの知名度からして差がつきすぎている。

そんな事情もあって、SugarSyncビジネスユーザー向けの全面有料化に踏み切ったのではないだろうか。

 

ちなみに、CopyってサービスもいずれSugarSyncと同じような運命を辿るのではないかと勝手に思っている。さて、どうなるだろうか。