Vimconf2017に行ってきたんだよ
Vimconf2017に参加してきました
VimConf 2017 - An international Vim Conference
場所は秋葉原の富士ソフト アキバホール.めっちゃでかい会場だった.
到着したらVimconfTシャツを貰ったりしてた.
— ちゃっく@IQ1エバンジェリスト (@chakku_000) 2017年11月4日
発表
@haya14busa さんの発表
Vim,Me and Communityという発表.
EasyMotionの話とかIncsearch.vimの話とかこれまでのはやぶささんとvimの話を特に検索,移動周りの話を中心にしていた.
スライドに入っているいらすとやの絵が選択がうまかった...
I just published my talk at #vimconf2017 "Vim, Me and Community" / https://t.co/ZxTA8dxvBm
— はやぶさ (@haya14busa) 2017年11月4日
@fatih さんの発表
vim-goの発表.
vim-goを使うためにgo言語をやりたいと思わせてくれる素晴らしい発表だった.
Thank you all! It was great to talk at #VimConf2017. Here are my slides of my talk: "The Past and Future of Vim-go" https://t.co/UPPJ4SU0Na
— Fatih Arslan (@fatih) 2017年11月4日
vim鼎談
@mattn_jpさん@kaoriyaさん@k-takataさんの話.
@mattn_jpさんを初めて見たけど服を着ていた.
spell checkを使うべきだと言ったりしていた.
(ただ,これを聞いてspell checkを使用してみたが意図的なものまでエラーとしてでてしまうのでgitのコミットとかくらいになら...って感じがする)
あとlanguage server(vim-lsp)とかの話も出てきた.これらは全く知らなかったので少し調べたい.
@cocoponさんの発表
Creating Your Lovely Color Schemeという発表
Iceberg.vimを作った人によるcolorschemeの作り方講座.
「コンセプトを決めて色はコンセプトにそって決める」や「主なカラーパレッドをまず作る」「カラーパレットは最初に1色決めてあとは色相の変化で」など,素晴らしい知見が得られた.
直後にカラースキーム弄り始めてしまった.
Thank you for listening my talk! Here is the presentation: https://t.co/wKWeUO4wmh #vimconf2017
— cocopon (@cocopon) 2017年11月4日
@t9mdさんの発表
vmpの発表
ATOMのvimプラグインについての発表
Mutationとかの話
My slide for vim-mode-plus at #vimconf2017. https://t.co/eMrzTIyZaI
— t9md (@t9md) 2017年11月4日
@senopenさんの発表
Vim and Compatibilityという発表
どこでも動くvimrcを作るみたいな話.キーワードはWrite .vimrc Once Wrok Vim Anytime/Anywhere.
POSIX原理主義の方だった.Vimの歴史とかも語られる.
確かにどこでも動くvimrcは魅力ではあるが,それを作るための労力は大きそう.とくにエンコーディングにも詳しく語っていた.
どこでも動くvimrcを書きたいならこのスライドは見るべき.そうでなくとも1度は見ておくべきって感じの発表だった.
#vimconf2017 my talk.https://t.co/MN3Dboeer6
— せのお (@senopen) 2017年11月4日
@ShougoMatsuさんの発表
暗黒美夢王ことShougoさんの発表
正直この方の発表を目当てにvimconfに参加したみたいなところがある.
発表内容はNeosnippet.vim + Deoppet.nvim
Deoppet.nvimを使うなら来年まで待つべきらしい.
Deoppet.nvimにはExtended markというものが使用される.
といった内容.そしてdeopleteがVim8に対応したらしい.Windowsだとプロセス間通信が非常に遅いらしい.
発表を公開しました!https://t.co/V3d5OLK3cI#vimconf2017
— 暗黒美無王 dark Vim (@ShougoMatsu) 2017年11月4日
@dice_zuさんの発表
How ordinary Vim user contributed to Vimという発表
Vimのコントリビュータになるためにはみたいな話.「毎日Vimをビルドして使っていると」とか「ある朝Vimをビルドして起動してみると」とか言ってて笑った.
先ほどの資料です。 #vimconf2017
— daisuzu (@dice_zu) 2017年11月4日
How ordinary Vim user contributed to Vim https://t.co/y7g2OK2uG8
@p_ck_さんの発表
The new syntax highlighter for vimという発表
vimのsyntaxは正規表現を使っているが,正規表現は人間には早すぎるので, iro.vimを作ったみたいな話.
iro.vimはパフォーマンスが良いらしい.
The new syntax highlighter for Vimhttps://t.co/ulbKVtddGi
— Pocke(ぽっけ) (@p_ck_) 2017年11月4日
次の発表のスライドです #vimconf2017
@lambdalisueさんの発表
gina.vimの紹介
Vimanという言葉が出てきた.どうもVimを使いやすくしようとする人々のことであるらしい.
gina.vimはGitを扱えるVimのプラグインらしく,いまVimでgitを扱うならこれなのかな
発表を聞いてこのプラグインを入れてみたくなった.
Slide (w extra content)https://t.co/v1k0c1KyLD
— Λlisue@満員電車絶対避けるマン (@lambdalisue) 2017年11月4日
The pluginhttps://t.co/DjXsxO7bXb#vimconf2017
感想
どの方の発表も素晴らしかった.個人的にはcocoponさんとfatihさんの発表が好きだった.
英語での発表者もいたが,同時通訳してくれていて嬉しい(同時通訳自体が1つのコンテンツだった)
お昼ごはん凄く美味しかった
お弁当すごい!!#vimconf2017 pic.twitter.com/crVS3aMS8F
— ちゃっく@IQ1エバンジェリスト (@chakku_000) 2017年11月4日
Vim coffee
vimconf coffeeを手に入れた#vimconf2017 pic.twitter.com/Rny70S4aw5
— ちゃっく@IQ1エバンジェリスト (@chakku_000) 2017年11月4日
コップにステータスラインあるの気が付かなかった!#vimconf2017 pic.twitter.com/bZ6sHSAcNm
— ちゃっく@IQ1エバンジェリスト (@chakku_000) 2017年11月4日
懇親会
Shougoさんと話すことが出来た.neoincludeがdeopleteに対応してるとかの話を聞けた.
aiya000さんのLT. Either Monadをvitalに入れた話とか.
koturnさんとryunixさんとも会うことができた.
Vimconfとても楽しかったです.
発表者の方々,発表お疲れ様です.
スタッフの方々,企画運営ありがとうございました.
json4sを使ってみた
用意したjsonは
gist.github.com
pythonで生成したら日本語が...
とりあえずjson4sを使うためにbuild.sbtに
libraryDependencies += "org.json4s" %% "json4s-jackson" % "3.5.0"
とした.
URLからjsonを取ってきてjson4sでパースし,shigureに対応する要素を出力ということをしてみた
import scala.io.Source import org.json4s._ import org.json4s.jackson.JsonMethods._ object Main{ def main(args:Array[String])={ val url = "https://gist.githubusercontent.com/chakku000/ea3bce545c397b2bbc3f211e074847d1/raw/fc0744f530bf993a5c059254a8101adc650d11ec/poi.json" val source : scala.io.BufferedSource = scala.io.Source.fromURL(url) val contents : String = source.mkString val json = parse(contents) // JsonのAST表現 val maps = json.values.asInstanceOf[Map[String,Any]] // JsonのAstをMapに変換 val shigure = getFromOption(maps.get("shigure")) println(shigure) } def getFromOption(v : Option[Any]) : String = { v match{ case Some(s) => s.asInstanceOf[String] case None => "" } } }
となった.
いくつかわからないことがあった.
一つは json.values.getClassとするとscala.collection.immutable.Mapとでるのでgetができるかと思ったが,json.values.getとするとjson.Valuesのメンバじゃないと怒られてしまう.なんでだろう?
感想
Scalaを初めてみたが,コップ本も詰んであるままなので読まないと....
質問できる人がほしい...
追記1
json.Valueにgetメンバがないと怒られるのは,json.valuesの型が静的にはMapして解釈できないのでは?という指摘を受けた.asInstanceOfで明示的に型を指定すれば静的にMap型として解釈できるのではというものである.
追記2
上のコードはもう少し簡単にできるらしいです.こんな感じで
import scala.io.Source import org.json4s._ import org.json4s.jackson.JsonMethods._ object Main{ def main(args:Array[String])={ val url = "https://gist.githubusercontent.com/chakku000/ea3bce545c397b2bbc3f211e074847d1/raw/fc0744f530bf993a5c059254a8101adc650d11ec/poi.json" val source : scala.io.BufferedSource = scala.io.Source.fromURL(url) val contents : String = source.mkString val json = parse(contents) // JsonのAST表現 //val maps = json.values.asInstanceOf[Map[String,Any]] // JsonのAstをMapに変換 implicit val formats = DefaultFormats val shi : String = (json \ "shigure").extract[String] println(shi) } }
tmux-256colorで<ctrl-l>が正常に動作しない場合
tmux 2.6
tmuxを使用している場合,.tmux.confに
set -g default-terminal "tmux-256color"
と書いている.
しかし,これが書かれた.tmux.confを読み込みtmuxを起動すると
これは,恐らくtmux-256colorがないのでinstallする必要がある.
インストールは
sudo apt-get install ncurses-term
でできる.
macだとncurses-termの入れ方がわからなかった...ncurses入れてもtmux-256colorがない....
どうやってtmux-256color入れればいいんだろう...?
疑問
なんでncurses-termにtmux-256colorがあるのだろうか?
ご存知の方がいたらおしえてください(._.)
tmux 2: Productive Mouse-Free Development
- 作者: Brian P. Hogan
- 出版社/メーカー: Pragmatic Bookshelf
- 発売日: 2016/12/13
- メディア: Kindle版
- この商品を含むブログを見る
JAG夏合宿2017に参加してきました
9/22 ~ 9/24にオリンピック記念青少年総合センターで開催されたJAGの夏合宿に参加しました
チームIQ1は全員参加できたので前日IQ1メンバーででました.
Day0まで研究室の合宿に行ってて睡眠時間が異常に減ってたので3日間とも睡魔と戦ってた...
Day1
僕はA問題を解いてあとは座ってた.Aはn文字のものは26^n個使い切れる証明がわからなかったけど出してみたら通った.
チームでは7完してるので実質お茶汲み.
この日のIQ1はなぜか全員pythonだった
Day2
吹雪ちゃんが刻印有HHKBのUS配列を持ってくる.
9時集合10時開始なのに9:56とかに到着した.
B問題をバグらせて通せなかった.重複したパターンも数えてしまっていた.(ことが翌日判明した)
この日はすごくて5時間座ってただけだった.完全にお茶汲み要員.
夜のcodefes予選Aは「予選は通れないけどレートくらいは上がるだろう」みたいな見積もりで出たら大失敗してレートを下げるはめになった
Day3
この日はIQ1の吹雪ちゃんが無刻印USキーボードを持ってきた.(夕立と睦月ちゃんはいつもJISなんだけど!!!)
IQ1は夕立と睦月ちゃんがUS配列つかえないのに吹雪ちゃんが今日持ってきたキーボードがこちらです pic.twitter.com/bF8MC4V3lE
— 卒論だしたよ!褒めて褒めてー (@chakku_000) 2017年9月24日
記号がどこにあるかわからなくてキー全探索してたら吹雪ちゃん笑ってた
A,B,Cを解いただけ.実はB,Cでバグらせてて戦犯感がある....事実上のお茶汲み要員
全体で22位.
D問題の考察をしたがbitDPだろうという予測しかたたずだめ.
G問題は何をしても微妙な計算量になりそうで考察が明後日の方向に吹き飛ぶ.
A,B,Cはホントは3人が並列に解くのが正しいんだけど,僕がA読む→解けるな→B読む→解けるな→C読む→解けるなって感じで解けそうならときに行くみたいなスタイルをしてしまった.
どこに簡単な問題があるかわからないからこの辺どうするかチームで固めたい.
全体を通して
チームコンテスト,ほとんど無いからこういう機会にできるとめっちゃ楽しい!!!
3日間US配列を使って気がついたことはなれない配列だとライブラリを写すのさえめちゃくちゃ面倒くさく感じる.
基本的に3日間ともチームに貢献できていないのでお茶汲み係としての腕を磨くしか無い.
オリンピックセンターのご飯は割と美味しかった.サラダが取り放題で睦月ちゃんが異常量サラダ食べてた.
チーム内での役割が完全に自明問題を片付ける人になってるのでそろそろ修行しないと迷惑かけそう...
目指せ!プログラミング世界一―大学対抗プログラミングコンテストICPCへの挑戦
- 作者: 筧捷彦
- 出版社/メーカー: 近代科学社
- 発売日: 2009/07/01
- メディア: 単行本
- 購入: 8人 クリック: 129回
- この商品を含むブログ (8件) を見る
インターンに参加してきたんだよ!
8月の最終週にいい生活という会社のインターンに参加しました。期間は5日間でLINEのチャットボットを作成するというものでした。
やったこと
1日目
指定の時間に会社に来たらインターン生ぽい人が2人すでに来ていてスーツを着ててやらかしたかと思ったがあとに来た人たちが私服だったので安心した。
この日は講義をうけて作るもの班で決めるみたいな内容だった。あとは環境構築とか。
2日目
午前は実装を始めた。
お昼前に偉い人のお話を聞いてお寿司を食べた。
static 🍣🍣 pic.twitter.com/Y8X5NEvtxj
— ちゃっく@IQ1エバンジェリスト (@chakku_000) 2017年8月29日
美味しかった。
午後も実装してたら進捗が良かったので明日くらいには終わるかなみたいな気持ちになってた。
夜はメンターの人たちと肉食べた。めっちゃおいしかった。
高い🍖 pic.twitter.com/4RTAZ3LBf4
— ちゃっく@IQ1エバンジェリスト (@chakku_000) 2017年8月29日
帰ったら劇場版艦これが届いてて嬉しかった
3日目
キーボードが合わないので持ち込んだ。
この日も実装してた。
班員とのコードの結合が大変だった。返り値のオブジェクトについて話し合いの時点で齟齬が生じてたのが原因。身体が型を求め始めた。
環境がWindowsだったのでmintty上でうまく行かなくpythonでstdin=io.TextIOWrapperとかしてたせいでログが出なくなって原因特定に時間がかかった。
4日目
実装がだいたい終わって細かいバグ潰しと追加機能を実装してた
5日目
午前は実装で午後は発表をした。その後懇親会はこれから。
感想
めっちゃ楽しかった!
1日目に講義があって安心できる。
メンターの人たちはslackで質問したらすぐ答えてもらえて心強いし定期的に進捗確認に来てくれてありがたかった!
いい生活でいい生活を送ってきた!
一番辛かったのは朝の通勤。学生時間に生きてると社会人時間は辛かった。
一応許可は貰ってるのでやばいことは書いてないはず。。。
IntelのPinでSegmentationFaultが発生した
問題
Intel Pinのサンプルを動かす際に
make all TARGET=intel64
でサンプルをビルドして
../../../pin -t obj-intel64/inscount0.so -- /bin/ls
で動作させた場合にプログラムが落ちて
A: Source/pin/injector_nonmac/auxvector.cpp: CopyAux: 291: unexpected AUX VEC type 26 NO STACK TRACE AVAILABLE Detach Service Count: 1 Pin 3.2 Copyright (c) 2003-2016, Intel Corporation. All rights reserved. @CHARM-VERSION: $Rev: 81201 $ C: Injector exited with signal 6 E: Wait for injector failed: No child processes zsh: segmentation fault (core dumped) ../../../pin -t obj-intel64/inscount0.so -- /bin/ls
と表示された.
解決法
どうやらkernelが4.10以上の場合Pinのバージョンによっては対応していないらしく
オプション -ifeelluckyを付けることで対応できるらしい
../../../pin -ifeellucky -t obj-intel64/inscount0.so -- /bin/ls
とすれば動作した