trailertrash.vimをやめてALE組み込みのfixerを使うようにした

csexton/trailertrash.vim というvimプラグインがある。これは名前の通り、行末の余分な空白を視覚化したり(自動で)消したりすることができるもので長らく愛用していた。

最近、pythonやgoを読み書きする機会が増えてきたので(昨年比)環境を見直していたところ、dense-analysis/ale の組み込みのfixerで行末空白を削除してくれるやつがあることに気付いた。

設定はALEのREADMEにある設定例のままで、全ファイルに2つのfixerを設定するといいかんじに動いてくれた。

さらにおまけとして、let g:ale_fix_on_save = 1907th/vim-auto-save、各言語のlintツールのfixerを全部有効にすると、書いてるそばからどんどんfixされてこれが令和時代の開発…という気持ちになったのであった。

台風一過

まだ大変な地域はあると思うけど、家の周りは何事もなく、いつもの休日という感じ。

今回準備したものなどをメモしておく。

ソーラーチャージャー

今回新たに導入したアイテムがこちら。

RAVPower ソーラーチャージャー 21W

この手の製品(?)はAnkerとRAVPowerしか買わないという制約を設けているので、一番手頃な価格のこれにした。電気の復旧が遅れたら使うかなと言う程度。

パックのおかゆ

我が家にはカセットコンロ的なものがないので、電気とガスが両方止まるとお湯がわかせない。なので「お湯がある=普通に料理ができる」状況なので買っても意味がないのだ。

とはいえ、1日程度は両方止まっても生きていけるように、なにもし なくて食べれそうなものを物色した結果、「おかゆ」がよさそうということになった。

おわりに

いつか買おうと思って買ってなかった防災リュック、平時に買っとかないと意味がないので落ち着いたら買おう…

EC事業部共有会が神回だった

EC事業部では、四半期毎に業績やトピックを共有する会をやっている。今年は、部長が話す会と各マネージャ・リーダーが話す会を交互にやっていて、今回は部長のターンだったのだけど、過去最高の神回だった。

顧客の抱えている問題と、自分達がどうやってそれを解決しようとしているのか、さらに種蒔きをしている具体的な施策の話まで、短い時間の中でポイントを抑えながら話している部長の姿は最高だった〜

次回は自分のパートもある回なので、神回を越えられるようにがんばるぞ〜

シェルのプロンプトをstarshipにしている & cargo-ebuildがすごい

fishを使いはじめた | けんちゃんくんさんのWeb日記 にあるように、プロンプトは独自のものを作って使っていたのだけど、少し前から starship/starship: ☄🌌️ The cross-shell prompt for astronauts. というやつを使っていた。

しばらくデフォルトで使っていたのだけど、いろいろカスマイズできるところが増えてきたので、順番をかえたりいらないモジュールをオフったりしてみたりした。

設定はこちら https://github.com/kenchan/dotfiles/blob/master/config/starship.toml

また、gentooでstarshipを使おうと思うとoverlayに1つだけメンテされてそうなebuildがあるのだけど、せっかくなので自分で作ったりしている。

kenchan/portage-overlay: My Personal Portage Overlay

Rustのeclassって、必要なライブラリを依存するものも含めて全部をバージョン込みで記載する必要があって、このフォーマットがCargo.lockとも微妙に違うので、awkを使って掃き出させたりしていたんだけど、cardoe/cargo-ebuild っていうはちゃめちゃ便利そうなやつを見つけて興奮したりした。cargo-debみたいなのもあるらしく、Rustすごいなぁ。

ちなみに、awkのワンライナーはこんなかんじ。苦しい。

grep checksum Cargo.lock | grep -o -E " \S+ \S+ " | awk -F' ' '{print $1 "-" $2}'

irbrcを整理した

同僚の @ryuchan_00 から 「おまえのirbrcに書いてる require は必要なのか?」ということ言われ、たしかにもういらんなーと思ってばっさり消した。歴史的にはこれらが必要だったころもあったのじゃ…

all libraries required by default · kenchan/dotfiles@f4c7f28

irb/ext/save-history は手元(2.7.0-preview1)で試したところでは、 IRB.conf[:SAVE_HISTORY] に値がはいっていたら機能が有効になるようだった。

ついでに、@hsbtから janlelis/irbtools: Improvements for Ruby's IRB console 💎︎ というのを教えてもらって、 copy_inputcopy_output は便利そうだなーと思って眺めてた。

git switch、restoreの補完がfishで効かないのでmasterからcompletionsをもってくる

先週からgitの新しいサブコマンドを使うようにaliasを変更したり、手で打つときに意識したりしていたのだけど、fishだとブランチ名の補完が効かないことに気付いてしまった。

幸いにも、masterには対応したものがあったので( fish-shell/git.fish at master · fish-shell/fish-shell )、これをまるっとcloneしてきて

cp share/completions/git.fish ~/.config/fish/completions/ 

をして一旦おしまい。3.10のリリースまでこれでやっていきましょう。

2019/09/25 追記

fish_update_completions というコマンドを教えてもらった!これはman(1)からcompletionsを生成してくれる。 しかし、 git switch <tab> のようなサブコマンドの補完はmanでは表現できないので、上のようにfishが独自に拡張してくているのだ!(man(1) では git-switchといったコマンドになっている)

東亜フィヨルド飯店

東亜飯店にフィヨルドのお二人をお招きして、

  • フィヨルドブートキャンプ、256インターン
  • ポケモン、スマブラ、モンハン、人間の方のドラクエ
  • Mugen Pazdora
  • 棟梁と派閥
  • ナッツの蜂蜜漬け

などについて話しました。

カラーミーアプリ開発Week2日目

今日は午前中から30分ドライバー交代モブプロをやりながら、ゴールデンパスを通すところまでやった。その後はこの後やることや、やったほうがいいことをリストアップしておしまい。

モブ(ペア)プロは各自のPCをディスプレイに繋げてやってるんだけど、ドライバー切り替えのときに bin/update で時間がかかったり失敗したりして時間をロスすることがあるから、一つのPCでやったほうがそういう部分の課題は解決するんだろうな。

一方で、各自の環境をみながら改善点とか自分はこうやってるというのを休憩時間にわいわいするのも好きなので、今回は今のスタイルでやってみようと思う。

明日は、大量データへの対応やテストといったところを整備する予定。

カラーミーアプリ開発Weekをやってる(1日目)

今日から、EC事業部内のエンジニア半分くらいを動員して、カラーミーアプリ開発Weekというのをやっている。

カラーミーショップでは5月にカラーミーショップアプリストアというやつをリリースしている。これは、ペパボ以外の企業や開発者がカラーミーショップの利用者にむけてアプリを開発・公開し、さらに収益を上げられるようにするという枠組みである。(似たようなものは各EC事業者にも当然ある)

今回は、このアプリ上で動作するペパボの公式アプリ(以後ファーストパーティアプリ)を増やそうという企画。アプリストアという枠組み自体は社外に向けたものではあるんだけど、盛り上がってる感をだすためには数を増やすということも必要だし、またドッグフーディングによってアプリ開発の過程における課題を明かにして改善したい、というのが今回の取り組みの意図となっている。

自分のチームは、@hrysd@ryuchan_00の3人チームで、中規模ショップオーナー向けのアプリを開発している。

せっかくなので、初日にやったことや流れをメモしておく。

簡易インセプションデッキ

簡易インセプションデッキとして「我々はなぜここにいるのか」「エレベーターピッチ」「やらないことリスト」をやった。アプリ開発Weekの狙いや、このアプリの要件は自分が一番よく知っているので、それらを話しながら、疑問点をつっこんでもらって、ここにいる意味を理解してもらった後、それを踏まえて今回のプロダクトのエレベーターピッチを各自で書いて、それをネタにチームで一つのエレベータピッチをつくった。

今回は1週間ということもあり、「やらないことリスト」は決めておいたほうがいいかなとおもってやってみたけど、それほど凝ったアプリでもない都合上、意見が割れたり疑問がでたりすることはあまりなかった。まぁ意識をあわせられたからヨシとしよう。

だいたいここまでで1時間。

ペーパーモックとタスクリスト作成

自分が別件の差し込みがあったので暫くはなれているうちに、二人でペーパーモックとタスクリストの作成をすすめてくれていた。ペーパーモックを元に、「これをやって、これをやって……これでおわり!」くらいのざっくりとしたタスクリストを作ることができた。

これがだいたいこれが2~3時間くらい

開発!!1

アプリストアのアプリを作るのは全員初めてだったけど、事前に開発キットのアルファ版を@tsuchikazukymmt90が作ってくれていたので、それを使ってローカルでカラーミーショップのアカウントでログインしてショップ情報を取得するところまでモブプロでガンガンすすめた。30分でドライバーを交代して、2コマか3コマしたら休憩というサイクルで3時間くらい。

疲労困憊

久々に合宿スタイルの開発でハチャメチャにつかれた…でも、久々にモブプロでめっちゃ楽しかった。明日もがんばるぞ!

emergeしたら草を生やす Part2

前回の emergeしたら草を生やす | けんちゃんくんさんのWeb日記 で紹介した方法は致命的な問題があってしばらく使うのをやめていた。

それは、インストールするパッケージ側で pkg_postinst 関数が定義されていた場合、 /etc/portage/bashrc が上書きしてしまうというもので、普段使いするパッケージの中では gentoo-sourcessymlink useフラグの処理がこの関数で実装されている。

というわけで、あらためてドキュメントを読み直して EBUILD_PHASEという環境変数で分岐することができるとわかったので、そのように変更した。 /etc/portage/bashrc の内容は以下の通り。

if [ "${EBUILD_PHASE}" == "postinst" ]; then
  curl -X PUT https://pixe.la/v1/users/kenchan/graphs/emerge-count/increment -H 'X-USER-TOKEN:{ひみつのトークン}' -H 'Content-Length:0'
fi

これで草生やし放題againですね。よかったよかった。

terminalのvimをTrueColor対応した

カラースキーマいじりをしていたところ、スクショの色見とだいぶ違うと気付いてしまった。原因はTrueColorがでていないことだったので、以下のコミットで修正した。

[vim] True Color Support · kenchan/dotfiles@cda8f17

自分の環境では、set termguicolors したら色が無になってしまったので調べていたら、 set t_Co=256 を消したらいいかんじになったのでこれで。

termの変更はべつにいらなかったけどコミットしてしまった。失敗。

カラースキーマは Nord というやつにした。わりと今っぽくて(?)満足。

生誕祭 2019

こんばんは。手足口病です。みなさんは手足なに病ですか?

本日6/21は、ミッフィーとウィリアム王子と私と息子の誕生日ですね!ちなみにウィリアム王子と私は同い年で、17歳と240ヶ月になりました。

今年はさすがに体調がアレなので外出はせずに在宅勤務をしながら、Google MeetのミーティングIDを「kunsan-birthday」にして誰にも気付かれなかったり、来週100億レコードくらいのデータを消す計画をたてたりしていました。

息子と奥さんは夕方からポケセンに遊びに行って、帰りにいろいろ買ってきてくれたのでそれをいただいて今に至ります。

この投稿をInstagramで見る

今年もありがとう!

Kenichi TAKAHASHIさん(@_kenchan)がシェアした投稿 -

35を過ぎてからいろいろまずいなと思うことも多々あり、これからも気をひきしめてやっていこうと思います。

それではいつものやつを置いておきますね。

https://amzn.to/kenchan-wl

手足口病の疑い

たぶん人生初「手足口病」と思われる症状で2日ほど死んでいた。

国立感染症研究所の 手足口病とは によると、原因となるウィルスは複数らしく、症状から病名が付いているようだ。特効薬のようなものはなく、ひどいときは痛み止めで耐えるしかないみたい。

ニュースでは九州を中心に流行の気配らしく、我が家はいち早く流行を取り入れていたことになる!(自分の前に奥さんに同じ症状がでており、もっというとその前に息子と自分が一度体調をくずしている…)

健康だけが取り柄で36年生きてきたので、発疹がでるのはおそらく30年ぶりくらい。なれない違和感と痛みで生活に支障がでているが、在宅でできる範囲で今日から社会復帰している。

体温報告に心配のリプライをくれたみなさん、ありがとうございました。

父の日

まったく頭になかったのですが、奥さんと息子からプレゼントを頂きました。ありがたや。

この投稿をInstagramで見る

ありがた〜

Kenichi TAKAHASHIさん(@_kenchan)がシェアした投稿 -

pepabo_east 第1回を開催した

GMOペパボのメンバーが東京の東側に集まってもくもくする会「pepabo_east」の記念すべき第1回を錦糸町で開催しました。

開催の動機は2つあって、オフィスが渋谷ということもあって、東京の西側ではけっこうイベントがあるんですが、東側ではあまりないのでやってみたかったのが一つ。あとは福岡メンバーは休みの日の誰かの家にあつまってわいわいやっているのが羨しかったというのが一つ。

会場は スペースマーケット で、10人くらい入れてWifiと電源、ホワイトボードがあるといった条件で探しました。(なぜかいきなりハッシュタグを間違えている私…)

参加者は @june29 夫妻からエンジニア出身マネージャ、新卒氏などなど、10人は無理でしたがみんな遊びに(?)きてくれてよかったです。各仕事っぽいことから趣味の開発、技術書を読むなど思い思いに過ごしてもらえたようでなにより。もうちょいコラボレーションの仕組みとか用意したほうがよかったかもしれない。

自分は所用で夕方離脱したのですが、夜は粉物で親睦を深めていた模様です。よかった。

気のおけない仲間と休日にあつまってもくもくするだけでも楽しかったので、月一くらいでやれたらいいなと思っています。次回はエンジニアだけじゃなくて他職種の人にも声をかけてわいわいしたいぞ!

GW4日目: さらば平成

少し雨がぱらついていたのでずっと家でだらだらしていた。

息子がピカブイで詰まっているので知らべたり、自分はFF12 TZAでリドルアナの地下と闘神をおわらせたりしていた。これでモブハントおわったのでオメガやらやっていこう。

晩御飯の準備をしている間に、息子がなにやらだるそうにしているので熱をはからせたら38度オーバー。平成最後の発熱となったのであった。ばたり。

GW3日目: 掃除とかいろいろ

平成の汚れ平成のうちに、ということで掃除とかいろいろしていた。本当は掃除よりも引越しのダンボールをぜんぶなんとかしたほうがいいのだが…(まだ何個か残っている…)

夜は #やんちゃハウス のお土産をあけたりしていた。これも平成のうちに飲んでしまいたかったけど、先週は破滅していたのでしかたない。

View this post on Instagram

#やんちゃハウス はまだ終わっていないのだ

Kenichi TAKAHASHIさん(@_kenchan)がシェアした投稿 -

GW2日目: tmuxを2.9にした

息子が近くのカードショップでポケカのジムバトルに出ている間、ドトールでtmux 2.9ではいった非互換な変更の対応をしてた。

いわゆる *-bg*- fg*-attr あたりが軒並消滅していて、かわりに *-style を使えというやつ。

Tmux 2.8.X to 2.9.X migration · Issue #1689 · tmux/tmux や、ここからリンクされているwikiをみると完全理解できるのでおすすめ。

あわせて man tmux をながめていたら、実は色指定は256色が使えるってことを知ったので、こんなふうにしてみた。

set -g status-style "bg=colour23 fg=white"

正直、256色パレットの23番目っていわれても全然わからないから悩ましいところではあるけど、色見がよければそれでよしということで。

ついでに、設定の棚卸もしてだいぶすっきりしたのでよかったよかった。

dotfiles/tmux.conf at 5c24b3a54b072f4137a85cd7d7547403d3f76360 · kenchan/dotfiles

GW1日目「ケムリクサ」を見た

息子が部活にいってる間に、Prime Videoで全話一気にみていた。

わかりやすく(?)、きれいに終わる「けものフレンズ」という印象だけど、単に「たつき監督」という前提知識があるからわかりやすいだけだったかもしれない。

お昼をたべて昼寝をしたら夜になっていた。4月最終週はいろいろあって疲労がやばいのでまずは睡眠量を確保するところから。

平成最後の散髪

平成最後の散髪に息子といってきた。

予約を9時にしてしまったので、久しぶりに朝から活動したのだけど、朝早くおきると一日が長い!便利!

Apple Watch用のモバイルバッテリーを買った

まだ @hsbt から譲ってもらったiPhone SEを使っている都合上、Apple Watchが使えないとsuicaが使えない、すなわち定期券が使えないということなのだ。

家では隙間時間に充電しているものの、寝ている間もつけてる都合上、どうしても充電がたりなくなるときがある。

幸運にも、今までバッテリーが切れたのは会社にいるときだけだったので、同僚に充電器を借りたりしていたが、今月はRubyKaigiで長期出張もあるのでこの機会にと思ってモバイルバッテリーを買った。

価格帯は2000~5000とかなり幅があったが、2000円台のものは評価が全体的にイマイチだったのでやむなく高めのやつにしたのだった。

技術書典6でM5Stackの本を頒布します

こんにちは、こんばんは、おはようございます。utf8mb4です。嘘です。EUC-JPです。

4/14に開催される技術書典6で、会社の同僚たちと書いたM5Stackの本を頒布します。

@tichiseを始めとする強者から、私のような超入門者まで、いろいろなレベルの人たちが執筆に関わっています。なお、私のパートでは、Webアプリケーションエンジニアが電子工作を身近なものと感じるきっかけになるといいなと思い、M5Stackから Pixela のAPIを利用する方法を紹介しています。

当日のブースには、表紙イラスト+組版の@kumak1と@tichiseがいますので、ぜひお立ち寄りください。

サークル詳細 | PB Make部 | 技術書典

体調不良が続いている

今月に入ってから2回目の体調不良で倒れていた。たまたま花粉症の薬がなくなったタイミングで、しかも症状がほぼ花粉症だったので鼻炎薬を飲んで寝たのだけど全く良くならず…結局2日寝たらかなり改善したので、花粉症ではなく風邪だったようだ。

Rails DMも行きたかったけど流石に無理っぽかったのでお休み。あとでゆっくりスライドやコードを読もう!

GoghでTerminalのカラースキーマを色々試す

みなさんはカラースキーマが好きですか?私は好きです。

Mayccoll/Gogh というTerminalのカラースキーマを追加してくれるツールがあり、これをつかっていろいろなカラースキーマを試している。

READMEなどにはgnome-terminalやelementary terminalが対応と書いてあるけど、実際に実行してみるとiTerm2にも対応してそうなのでMacOSの人でも使えるかもしれない。

カラースキーマの追加処理は、環境変数$TERMINALを見ているようなので、tmuxなどのターミナルマルチプレクサで環境だと失敗することがある。

なお失敗したときのメッセージは以下の通りで、ここでiTerm2も使えそうというのを見つけたのだった。

Supported terminals:
   mintty and deriviates
   guake
   iTerm2
   elementary terminal (pantheon/elementary)
   mate-terminal
   gnome-terminal
   tilix

Github Pages にあるサイト Gogh - Color Scheme ではカラースキーマ毎のスクリーンショットがたくさんあるので、ここを眺めるだけでも楽しいかもしれない。

去年まではlightなテーマを全体的に使っていたんだけど、そろそろ目を労わったほうがいいとも思い、darkなテーマをたまに変えながら使っている。

今のお気に入りは「Google Dark」で、なんとなくみなれた配色なのが安心感があってよいw

Gentoo&gnome-lightでGNOME3標準のスクリーンキャストは動かなかった回

GNOME3には Ctrl+Alt+Shift+r で起動するスクリーンキャスト(レコーダー)があるんだけど、これがうまく動いていなかったので調べていた。

うんともすんとも言わないので困っていたのだけど、journalctl -f しながら上記コマンドを実行すると以下のようなログがでていた。

gnome-shell[4509]: ShellRecorder: failed to parse pipeline: no element "vp9enc"
gnome-shell[4509]: shell_recorder_close: assertion 'recorder->state != RECORDER_STATE_CLOSED' failed

vp9encmedia-plugins/gst-plugins-vpx に含まれているものらしいので、こいつをemergeしたら録画されるようになった。よかったよかった。