本日の更新(2017/05/09)
おはいおございます。微妙に寝坊。
— Yohichi Date (@Yohichi_Date) 2017年5月8日
昨晩は25時にゾルピデム*1を5mgとエバミールを服用して就寝するも眠れず。結局27時*2近くまで起きている羽目に。
そんなわけで今朝は8時前起床と寝坊モードでした。
朝から野暮用を片付けて昼をだいぶ過ぎてから病院へ。不眠と昼間の眠気対策で薬の処方を一部変更してもらうことに。ゾロ薬が減った関係で薬代がドカンと跳ね上がるorz
病院近くのコメダ珈琲がWi-fiを提供しているということで、試しにお出かけ。NTT系の回線ということで恐らく面妖なところには繋がらないと思われる*3けれども、1時間単位で一応つなぎ放題ということで、こもって作業するには悪くない環境ではないかと思う次第。ただ、コンセントが無いのが痛いところ。手持ちのCF-RZ4だと、恐らく3時間くらいでバッテリーがドロップしてしまうので。
まあ、タバコを吸いながらPCで作業が出来るのは非常に有り難いですね。このメリットはスターバックスには無いので。あとはコメダ珈琲がスターバックスより優れていると思うところは、座席の間のパーテーションですね。出入りしているスターバックスには大概これが無くて非常に気が散るんですが、コメダにはこれがあって非常に集中しやすいです。
ちなみに色々と苦戦していたPythonの環境導入ですが、以下のサイトの情報をもとに上手いこと構築できた……と思われます。正直、これで問題が無いのか? と言われると非常に不安ではありますが。
Python3の環境構築(Linux、Mac) - Python学習講座
qiita.com
順序的には「pyenvの導入」「virtualenvの導入」をやってから、欲しいPythonのバージョンをpyenv経由で導入という順序です。上記サイトのパクりではありますが、メモのためコマンドライン等を以下記述。ちなみにUbuntu 16.04 LTSの場合です。
# git のインストール(すでに入っていれば不要) sudo apt-get install -y git # Pythonインストール時に必要となるモジュール # (Make関係。入っているものもあった) sudo apt-get install -y make gcc sudo apt-get install -y make build-essential sudo apt-get install -y make libssl-dev sudo apt-get install -y make zlib1g-dev sudo apt-get install -y make libbz2-dev sudo apt-get install -y make libreadline-dev sudo apt-get install -y make libsqlite3-dev sudo apt-get install -y make wget sudo apt-get install -y make curl sudo apt-get install -y make llvm sudo apt-get install -y make libncurses5-dev sudo apt-get install -y make libncursesw5-dev sudo apt-get install -y make xz-utils
# ホームディレクトリに移動 cd ~/home # pyenvのclone git clone git://github.com/yyuu/pyenv.git ~/.pyenv # virtualenvのclone git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
# ホームディレクトリに移動(念の為) cd ~/home # ~/.bashrcに環境変数追記 vim ~/.bashrc # 以下を末尾に追記する。 # pyenv ini export PYENV_ROOT=$HOME/.pyenv export PATH=$PYENV_ROOT/bin:$PATH eval "$(pyenv init -)" # 追記したら :wq でvimを抜ける
# .bashrcの読み込み source ~/.bashrc
# pyenvからインストール可能なバージョンを調べる pyenv install -l # インストールコマンド # pyenv install 'バージョン番号'
# 同じバージョンの環境をコピーする # pyenv virtualenv '元のバージョン' '作成したい環境名'
# インストール済のバージョンと環境の一覧
pyenv versions
# マシン全体で利用するバージョンの設定 # (基本的には使わない方が無難) # pyenv global 'バージョンや環境名'
# 特定のディレクトリ配下のみ利用するバージョンや環境の設定 # (お遊び利用の場合こちらが無難) # cd '対象ディレクトリ' # pyenv local 'バージョンや環境名' mkdir test_env_dir cd test_env_dir pyenv local 3.5.1
最近、本当に記憶力が落ちていて色々とげんなりする。つい数分前に思いついたことがぱっと思い出せない。
— Yohichi Date (@Yohichi_Date) 2017年5月9日
ここ数年ですか、本当に記憶力の減退が著しいです。
つぶやきでも書きましたけど短期記憶が特に酷くてふと思いついたことや気になったことを、他のことをやっているとすぐ忘れてしまいます。
思いついた時点でメモをすればいいだけなんでしょうけど……
本日の更新(2017/05/07)
おはいおございます。大寝坊orz
— Yohichi Date (@Yohichi_Date) 2017年5月7日
昨晩は後述する事情により相当に夜更かしモード。25時半過ぎにゾルピデムを10mgとエバミールを服用して就寝。
そういったわけで今朝は大寝坊モードで、11時過ぎの起床でした。本当は朝からやることが山のようにあったのだけども、全て吹っ飛びましたorz
pyenvを入れるところで環境をふっ飛ばしてしまい、Ubuntuのインストールからやり直しorz
— Yohichi Date (@Yohichi_Date) 2017年5月6日
途中までだけどいい加減もう寝る。残りは明日やろう
で、何があったかというと、せっかく立てたUbuntu環境をふっ飛ばしてしまいました。
Pythonの環境分離用のアプリである「pyenv」を入れようとしたら、操作をミスったのか環境が吹っ飛びまして。えぇ、Vimすら立ち上がらないとか草も生えません。
昨晩なんとかOSの再インストールと基本的な設定関係をブチこんだんですが、途中で力尽きて就寝したら大寝坊ですよ。
今日は午前・午後と大分グダグダしてたけども、夕方くらいになってようやく重い腰を上げて残りを片付けました。
ちなみにインストール関係に関しては以下のサイトを参照。
Ubuntu 16.04 LTSをインストールした直後に行う設定 & インストールするソフト
UbuntuTips/Desktop/HowToSetCapsLockAsCtrl - Ubuntu Japanese Wiki
Python3の環境構築(Linux、Mac) - Python学習講座
万が一またふっ飛ばしたときようにインストール手順は作っておいた方がよさげですね。
本日の更新(2017/05/06)
おはいおございます。大寝坊orz
— Yohichi Date (@Yohichi_Date) 2017年5月6日
昨晩は中々眠れず25時半前の就寝。ゾルピデム*1を10mgとエバミール服用。
今朝は案の定大寝坊の10時半前起床orz
午後になってUbuntuマシンを持って外出。
昨日買った入門 Python 3を見ながらポチポチ触る。
久々にコードを書く*2と楽しい。
あとは長いこと懸案だったVimのパッケージ管理をNeoBundle.vimからdein.vimへ変更。一部仕様がわからなくてあまりスマートな書き方が出来ない部分があったけど、とりあえず動く状態にはなる。
以下(出来のよろしくない).vimrc
" ######################################## " Yohichi Date's vimrc " " update:2017/05/06 " ######################################## " unset vi compatible mode (set vim mode) if &compatible set nocompatible endif " Character Code & Line Feed Code set encoding=utf-8 " vim encoding setting scriptencoding utf-8 " Vim script file encoding setting set fileencodings=ucs-bom,iso-2022-jp-3,iso-2022-jp,eucjp-ms,euc-jisx0213,euc-jp,sjis,cp932,utf-8 " File encoding setting(reference: http://itcweb.cc.affrc.go.jp/affrit/faq/tips/vim-enc) set fileformats=unix,dos,mac " File line feed setting " ======================================== " dein.vim & plugin " reference: http://qiita.com/yoza/items/2f8bd33a18225754f346 " ======================================== " Shougo/dein.vim set runtimepath+=~/.vim/dein/repos/github.com/Shougo/dein.vim call dein#begin(expand('~/.vim/dein')) " Shougo/vimproc call dein#add('Shougo/vimproc.vim', {'build' : 'make'}) " Shougo/neocomplete & Shougo/neocomplcache if has('lua') call dein#add('Shougo/neocomplete') " neocomplete settings let g:acp_enableAtStartup = 0 " DISABLE Autocomplpop let g:neocomplete#enable_at_startup = 1 " USE neocomplete let g:neocomplete#enable_smart_case = 1 " USE smartcase let g:neocomplete#sources#syntax#min_keyword_length = 3 " SET minimum syntax keyword length let g:neocomplete#lock_buffer_name_pattern = '\*ku\*' " Define dictionary let g:neocomplete#sources#dictionary#dictionaries = { \ 'default' : '', \ 'vimshell' : $HOME.'.vimshell_hist', \ 'scheme' : $HOME.'/.gosh_completions' \ } " Define keyword if !exists('g:neocomplete#keyword_patterns') let g:neocomplete#keyword_patterns ={} endif " Plugin key-mappings inoremap <expr><C-g> neocomplete#undo_completion() inoremap <expr><C-l> neocomplete#complete_common_string() " Key-mappings " <CR>: close popup and save indent inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR> function! s:my_cr_function() return neocomplete#close_popup() . "\<CR>" " For no inserting <CR> key " return pumvisible() ? neocomplete#close_popup() * "\<CR>" endfunction " <TAB>: completion inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" " <C-h>, <BS>: close popup and delete backword char inoremap <expr><C-h> neocomplete#smart_close_popup()."\<C-h>" inoremap <expr><BS> neocomplete#smart_close_popup()."\<C-h>" inoremap <expr><C-y> neocomplete#close_popup() inoremap <expr><C-e> neocomplete#cancel_popup() " Close popup by <Space>. " inoremap <expr><Space> pumvisible() ? neocomplete#close_popup() : "\<Space>" " ENABLE omni completion autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS autocmd FileType python setlocal omnifunc=pythoncomplete#Complete autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags " Enable heavy omni completion. if !exists('g:neocomplete#sources#omni#input_patterns') let g:neocomplete#sources#omni#imput_patterns = {} endif else call dein#add('Shougo/neocomplcache') " neocomplcache settings let g:acp_enableAtStartup = 0 " Disable AutoComplPop. let g:neocomplcache_enable_at_startup = 1 " Use neocomplcache. let g:neocomplcache_enable_smart_case = 1 " Use smartcase. let g:neocomplcache_min_syntax_length = 3 " Set minimum syntax keyword length. let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*' " Define dictionary. let g:neocomplcache_dictionary_filetype_lists = { \ 'default' : '' \ } " Plugin key-mappings. inoremap <expr><C-g> neocomplcache#undo_completion() inoremap <expr><C-l> neocomplcache#complete_common_string() " Recommended key-mappings. " <CR>: close popup and save indent. inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR> function! s:my_cr_function() return neocomplcache#smart_close_popup() . "\<CR>" endfunction " <TAB>: completion. inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" " <C-h>, <BS>: close popup and delete backword char. inoremap <expr><C-h> neocomplcache#smart_close_popup()."\<C-h>" inoremap <expr><BS> neocomplcache#smart_close_popup()."\<C-h>" inoremap <expr><C-y> neocomplcache#close_popup() inoremap <expr><C-e> neocomplcache#cancel_popup() endif " Shougo/neosnippet call dein#add('Shougo/neosnippet') call dein#add('Shougo/neosnippet-snippets') " Shougo/unite.vim call dein#add('Shougo/unite.vim') " mattn/webapi-vim call dein#add('mattn/webapi-vim') "ctrlpvim/ctrlp.vim" call dein#add('ctrlpvim/ctrlp.vim') " thinca/vim-quickrun" call dein#add('thinca/vim-quickrun') " tomtom/tcomment_vim call dein#add('tomtom/tcomment_vim') " nathanaelkane/vim-indent-guides call dein#add('nathanaelkane/vim-indent-guides') " haya14busa/incsearch.vim call dein#add('haya14busa/incsearch.vim') " davidhalter/jedi-vim " reference: http://myenigma.hatenablog.com/entry/2015/12/28/091342 call dein#add('davidhalter/jedi-vim') " scrooloose/syntastic " reference: http://ton-up.net/technote/2013/11/26/vim-python-style-check-and-fix/ call dein#add('scrooloose/syntastic') let g:syntastic_python_checkers = ['pyflakes', 'pep8'] call dein#end() filetype plugin indent on " TO ENABLE the file type plugin / indent & detection of file type, including the plugin that has been read " ======================================== " Edit " ======================================== " Undo contine, before quit or reload Vim contine(7.3) if version >= 703 " Persistent undo & Save Undo Data set undofile "ENABLE Persistent undo(7.3) set undodir=~/.vimbackup "Save Undo Data(7.3) endif set clipboard+=unnamed " Share Clipboard from GUI Copy Text. set nrformats-=octal " DISABLE octal. <C-a> & <C-x> (incremental & decrement) is affected. set timeoutlen=3500 " Time to wait for the completion of the key code and mapped key sequence set hidden " It is NOT issued a warning when you open a new buffer from the buffer that does not save your edits set history=50 " The number of saved history set formatoptions+=mM " DO NOT enter a space when you connect the line of Japanese set virtualedit=block " ENABLE free cursor when Visual block mode set autoindent set backspace=start,eol,indent set whichwrap=b,s,[,],<,>,~ set mouse= set nowritebackup " DISABLE backup before UPDATE. set nobackup " DISABLE make backup files. And DELETE writebackup after success update. set noswapfile " DISABLE make swap files. set ambiwidth=double " To make sure 2bytes character. " ======================================== " KeyMap " ======================================== nmap <silent> <Tab> 15<Right> vmap <silent> <Tab> <C-o>15<Right> nmap <silent> <S-Tab> 15<Left> vmap <silent> <S-Tab> <C-o>15<Left> nmap <silent> <C-n> :update<CR>:bnext<CR> imap <silent> <C-n> <ESC>:update<CR>:bnext<CR> vmap <silent> <C-n> <ESC>:update<CR>:bnext<CR> cmap <silent> <C-n> <ESC>:update<CR>:bnext<CR> nnoremap Y y$ " ======================================== " Display " ======================================== set number " To display line number. """"""""""""""""""""""" " バックグラウンドが黒のときの色設定 """"""""""""""""""""""" highlight StatusLine ctermfg=black ctermbg=gray highlight CursorLine ctermfg=none ctermbg=darkgray cterm=none highlight MatchParen ctermfg=none ctermbg=darkgray highlight Comment ctermfg=DarkGreen ctermbg=NONE highlight Directory ctermfg=DarkGreen ctermbg=NONE set shortmess+=I " DISABLE splash(shortmessage) "エラー時の音とビジュアルベルの抑制(gvimは.gvimrcで設定) set noerrorbells set novisualbell set visualbell t_vb= "マクロ実行中などの画面再描画を行わない set lazyredraw "Windowsでディレクトリパスの区切り文字表示に / を使えるようにする set shellslash "括弧の対応表示時間 set showmatch matchtime=1 "タブを設定 set ts=4 sw=4 sts=4 "Cインデントの設定 set cinoptions+=:0 "タイトルを表示 set title "コマンドラインの高さ (gvimはgvimrcで指定) set cmdheight=2 set laststatus=2 "コマンドをステータス行に表示 set showcmd "画面最後の行をできる限り表示する set display=lastline "Tab、Space、行末の半角スペースを明示的に表示する set list set listchars=tab:>.,trail:_,extends:>,precedes:<,nbsp:% set display+=lastline """""""""""""""""""""""""""""" "ステータスラインに文字コードやBOM、16進表示等表示 "iconvが使用可能の場合、カーソル上の文字コードをエンコードに応じた表示にするFencB()を使用 "// TODO:reference書く """""""""""""""""""""""""""""" if has('iconv') set statusline=%<%F\ %m\ %r%h%w%{'['.(&fenc!=''?&fenc:&enc).(&bomb?':BOM':'').']['.&ff.']'}%=[0x%{FencB()}]\ (%v,%l)/%L%8P\_ else set statusline=%<%F\ %m\ %r%h%w%{'['.(&fenc!=''?&fenc:&enc).(&bomb?':BOM':'').']['.&ff.']'}%=\ (%v,%l)/%L%8P\_ endif function! FencB() let c = matchstr(getline('.'), '.', col('.') - 1) let c = iconv(c, &enc, &fenc) return s:Byte2hex(s:Str2byte(c)) endfunction function! s:Str2byte(str) return map(range(len(a:str)), 'char2nr(a:str[v:val])') endfunction function! s:Byte2hex(bytes) return join(map(copy(a:bytes), 'printf("%02X", v:val)'), '') endfunction set wildmenu wildmode=list:full " ハイライトを有効にする if &t_Co > 2 || has('gui_running') syntax on endif "色テーマ設定 "gvimの色テーマは.gvimrcで指定する syntax on let g:molokai_original = 1 let g:rehash256 = 1 set background=dark colorscheme molokai """""""""""""""""""""""""""""" "全角スペースを表示 " TODO: reference:書く """""""""""""""""""""""""""""" " デフォルトのZenkakuSpaceを定義 function! ZenkakuSpace() highlight ZenkakuSpace cterm=reverse ctermfg=darkMagenta gui=reverse guifg=darkMagenta endfunction if has('syntax') augroup ZenkakuSpace autocmd! " ZenkakuSpaceをカラーファイルで設定するなら次の行は削除 autocmd ColorScheme * call ZenkakuSpace() " 全角スペースのハイライト指定 autocmd VimEnter,WinEnter * match ZenkakuSpace / / augroup END call ZenkakuSpace() endif """""""""""""""""""""""""""""" "挿入モード時、ステータスラインの色を変更 "TODO:reference書く """""""""""""""""""""""""""""" let g:hi_insert = 'highlight StatusLine guifg=darkblue guibg=darkyellow gui=none ctermfg=blue ctermbg=yellow cterm=none' if has('syntax') augroup InsertHook autocmd! autocmd InsertEnter * call s:StatusLine('Enter') autocmd InsertLeave * call s:StatusLine('Leave') augroup END endif if has('unix') && !has('gui_running') " ESCでキー入力待ちになる対策 inoremap <silent> <ESC> <ESC> endif let s:slhlcmd = '' function! s:StatusLine(mode) if a:mode == 'Enter' silent! let s:slhlcmd = 'highlight ' . s:GetHighlight('StatusLine') silent exec g:hi_insert else highlight clear StatusLine silent exec s:slhlcmd redraw endif endfunction function! s:GetHighlight(hi) redir => hl exec 'highlight '.a:hi redir END let hl = substitute(hl, '[\r\n]', '', 'g') let hl = substitute(hl, 'xxx', '', '') return hl endfunction " ======================================== " Search " ======================================== " 検索時にハイライトを解除する set nohlsearch "検索の時に大文字小文字を区別しない "ただし大文字小文字の両方が含まれている場合は大文字小文字を区別する set ignorecase set smartcase "検索時にファイルの最後まで行ったら最初に戻る set wrapscan "インクリメンタルサーチ set incsearch "検索文字の強調表示 set hlsearch "w,bの移動で認識する文字 set iskeyword=a-z,A-Z,48-57,_,.,-,> "vimgrep をデフォルトのgrepとする場合internal "set grepprg=internal " ======================================== " Plugin Settings " ======================================== " ---------------------------------------- " neosnippet " ---------------------------------------- " Plugin key-mappings. imap <C-k> <Plug>(neosnippet_expand_or_jump) smap <C-k> <Plug>(neosnippet_expand_or_jump) xmap <C-k> <Plug>(neosnippet_expand_target) " SuperTab like snippets behavior. imap <expr><TAB> neosnippet#expandable_or_jumpable() ? \ "\<Plug>(neosnippet_expand_or_jump)" \: pumvisible() ? "\<C-n>" : "\<TAB>" smap <expr><TAB> neosnippet#expandable_or_jumpable() ? \ "\<Plug>(neosnippet_expand_or_jump)" \: "\<TAB>" " For snippet_complete marker. if has('conceal') set conceallevel=2 concealcursor=i endif " ---------------------------------------- " unite " ---------------------------------------- " STARTING at INSERT MODE " 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> " レジスタ一覧 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> ,ua :<C-u>UniteWithBufferDir -buffer-name=files buffer file_mru bookmark file<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 au FileType unite inoremap <silent> <buffer> <ESC><ESC> <ESC>q " ---------------------------------------- " ctrlp " ---------------------------------------- " Prefix: s nnoremap s <Nop> nnoremap sa :<C-u>CtrlP<Space> nnoremap sb :<C-u>CtrlPBuffer<CR> nnoremap sd :<C-u>CtrlPDir<CR> nnoremap sf :<C-u>CtrlP<CR> nnoremap sl :<C-u>CtrlPLine<CR> nnoremap sm :<C-u>CtrlPMRUFiles<CR> nnoremap sq :<C-u>CtrlPQuickfix<CR> nnoremap ss :<C-u>CtrlPMixed<CR> nnoremap st :<C-u>CtrlPTag<CR> let g:ctrlp_map = '<Nop>' " Guess vcs root dir let g:ctrlp_working_path_mode = 'ra' " Open new file in current window let g:ctrlp_open_new_file = 'r' " let g:ctrlp_extensions = ['tag', 'quickfix', 'dir', 'line', 'mixed'] let g:ctrlp_match_window = 'bottom,order:btt,min:1,max:18' " ---------------------------------------- " vim-indent-guides " ---------------------------------------- let g:indent_guides_enable_on_vim_startup = 1 " ---------------------------------------- " incsearch.vim " ---------------------------------------- map / <Plug>(incsearch-forward) map ? <Plug>(incsearch-backward) map g/ <Plug>(incsearch-stay)
ちなみに電源コードは持っていかずバッテリのみ運用だったけども、実質2時間強フルにPCを使ってどうにかバッテリーが保ったので、まあ数年落ちウルトラブックとしては許容範囲かな。
本日の更新(2017/05/05)
おはいおございます。比較的スムーズな起床。
— Yohichi Date (@Yohichi_Date) 2017年5月4日
昨晩は24時半過ぎにゾルピデム*1を10mgとエバミールを服用して就寝…… のはずが、不眠モード。結局寝たのは25時半過ぎくらいか。
今朝はそれでも7時過ぎに起床。そこそこしゃっきりしていたので、まずまずな感じですね。
とりあえず、Ubuntu 16.04 LTSの導入程度は完了。Vimだのそのあたりは明日以降かな。
— Yohichi Date (@Yohichi_Date) 2017年5月4日
昨晩、ブログを更新してからCF-RZ4にUbuntu 16.04 LTSを導入。最初は手順を考えて色々進めようと思ってたんですが、とりあえず入れてみて試行錯誤してみようということで急転直下の導入作業です。
とりあえず、Ubuntuを突っ込んでチョコチョコ設定を直したりしながら程度を進めてます。
で、明けて今日、Vimを突っ込んでほぼほぼ出先であれこれ出来るような状態になりました。これで長らく滞っていたFDの企画もしっかり進められると良いんですが。
Ubuntuを入れたCF-RZ4を持ちだして、本日は外出。
— Yohichi Date (@Yohichi_Date) 2017年5月5日
午前中、布団を干したりする関係もあって自宅にこもってUbuntuマシンを弄っていたんですが、午後になって外出。図書館へ立ち寄ってから行きつけの喫茶店でWi-Fiに繋いで遊んでました。
ヘビー・スモーカーの類なもので、タバコが吸えない店は基本的に避けている*2こともあって、Wi-Fiが使えてタバコが吸えるこの店は大変貴重なものです。
それにしても毎回エラい量の資料を担いで出かけているもので、体中がバキバキになりますね。どうしても資料が無いと話にならないようなことをやっているので仕方がないんですが。
夕食を済ませて外出より帰宅。出先でも見てたけど、コンピュータ将棋選手権、クジラちゃん大健闘の4位だったそうで。
— Yohichi Date (@Yohichi_Date) 2017年5月5日
おめでとうございます。
そんなわけで出先から追っかけていました>世界コンピュータ将棋選手権
自宅のマシンで大合神クジラちゃんのクライアントを走らせていたこともあって気になっていたんですが、堂々の4位でした。比較的プリミティブな評価関数と物量勝負なクラスタリングでここまで戦えたのはかなり面白い結果だと思います。
今回優勝したelmoですが、以下の記事を見ると評価関数と定跡のみで実行バイナリ自体にはそれほど独自性があるわけじゃないんですよね。これも非常に面白いところで、ディープラーニングのような手法で進化させているPonanzaとはある意味で別ベクトルを向いているようにも見えます。
ritomath-shogi.hatenablog.com
私自身は相当なヘボ将棋だからそこまでレベルの高いプログラム自体、触りたいという気持ちは無いのだけども、技術的には非常に興味深いところですね。
ちなみに、Ubuntuマシンはほぼほぼ環境構築が落ち着いたので早速Pythonを始めるためにオライリーの「入門 Python 3」を購入した。https://t.co/y6z9RWFC63
— Yohichi Date (@Yohichi_Date) 2017年5月5日
上述の通りUbuntuマシンの環境設定がほぼ終わったこともあって、早速Pythonの入門書を買っちゃいました。
つくづく「オライリー高ェ」と思ってならないわけですが、まあそこはしゃあないということで。