感情的ドリル

Ruby県から飛び出して関東にきたオタク

川を見ている - day 3

学生時代に打ち込んでいたスポーツで捻挫癖がつき、ヒールに対して異様に警戒をしていた炬燵です。こたつと読みます。
つい最近近所の百貨店にクロックスで押しかけ、良い感じのブーツを買いました。多分ヒールは3センチくらいです。

この記事は川見てる Advent Calendar 2020 3日目の記事です。

adventar.org


川です。
これはNEWSのコンサートを見に行くために札幌に行った際に撮影した写真。

f:id:ayakufe:20201201130005j:plain
2017.4.x

まったく記憶が無いのですが川の写真があったので載せておきます。

f:id:ayakufe:20201201130419j:plain
2017.02.x

個人事業主として生きているのですが、屋号は「路地ラボ」としています。「路地uラボ」にするか悩みましたが、まあそんな感じで路地裏が好きです。

f:id:ayakufe:20201201130511j:plain
2017.4.x

いい塩梅のアーケード街も好きです。大都会岡山の座駆動LT大会でEXILEと関連グループの分布について話に行ったときの写真な気がする。

f:id:ayakufe:20201201130728j:plain
2017.7

これは高校時代に一番気に入っていた通学路にある路地です。行き先が見えないのが愛おしい。

f:id:ayakufe:20201201130755j:plain
2017.8

多分RubyKaigiで博多で撮った道です。光が飛んでる感じが好き。多分こういうパースの構図が好きなんでしょうね。

f:id:ayakufe:20201201130859j:plain
2017.9

地元の温泉、玉造温泉に川があります。これは橋の下から見える世界。

f:id:ayakufe:20201201130830j:plain
2017.8

川を見ている。

#つくりおき スープ編

>>一生食べれるスープ<<  
>>ダイエットに最適<<  

みたいな話、たまにバズりますよね。その中で「オッ」と思ったので最近作り置きしているスープについて書きます。炬燵です。こたつと読みます。どうぞよろしく。
この記事はつくりおき Advent Calendar 2020 2日目の記事です。

adventar.org


あ~やってこ~やってこ~すればできる、みたいな感覚派の調理しかしないので、レシピや分量は以下を参考にして下さい。

AKBはいわゆる初期メン1~3期生推しでして、神7とは総選挙上位7名ではなく、初代2代目の上位7名であるあの7人のことを指すと考えているタイプのオタクなんですが、もっちー、いつのまにグラドルなっとったん……というのが一番の衝撃でした。まあ様々なポテンシャルすばらだったしなあ。

理論派の方は上記を参考にしていただくとして。私の作り方はこんな感じです。

  1. 白だしどばー
  2. ブイヨンとコンソメどーん
  3. 水だばー
  4. 着火
  5. 玉葱とトマトと舞茸とキャベツを切って鍋にぶちこむ
  6. 煮立って気分がフィーバーしたら火を止めて冷ます
  7. でっかいタッパーに入れる

個人的に芯を失い存在意義を見失ったレタスやキャベツが好きなので問答無用でぶち込んでいます。芯まで入れると圧政できて良いです。
肝なのは玉葱とトマトと調味料類なんだから嵩ましに何か入れても良くない?はい。

多分動画を撮って編集します。
しました。書き出しに編集以上の時間がかかって1時間遅刻しました。許せ。

お写真がこちら。
f:id:ayakufe:20201201124135p:plain
動画があったら、「それではつくりおきしたものがこちら!\デデンッ/」してるやつです。(動画撮って編集するか分からない)(あります)
コーンが無造作に増えているのは、出前館で頼んだファミレスのハンバーグについていて、食べるのが面倒だったからです。コーン自体は好き。箸で食べるのが面倒。
舞茸がないのは、これを作ったときに舞茸がなかったからです。

ここからスープマグなりどんぶりなりに適当に入れて適当にチーズかけてレンチンします。チンしすぎると爆発するので要注意です。 f:id:ayakufe:20201201124143p:plain

あればパセリを振ります。
f:id:ayakufe:20201201124153p:plain

明日は多分誰かが書くと思います。多分moznion氏です。

この記事はつくりおきしたスープを食べながら書きました。

ひと

Twitterから引用

他人のことどうでも良いのかも知れない 下書きから発掘したやつ

人質とクオリティ

プロジェクト管理とかそういうのの話だと思った?違います。にじさんじの話です。
趣味の話、面倒なのでブログ一緒にしようかな~みたいなことを考えながら特に統合作業はしてません。する必要も感じていない。放置します。


本日の本題
www.ichikara.co.jp

にじさんじのカバーアルバムが発売されてちょっと経った。既に買った人は買ったと思うので買った体で話を進めます。
町田ちまの「My Dearest」は買いでしょ。
町田ちまの「oblivious」は人質でしょ。オフィシャル予約特典にします。
レヴィでサビ前まで引っ張る構成の「檄! 帝国華撃団」やばすぎでしょ。
ggrks歌ってたときに思ったけどやっぱりドーラ様歌がうまいな。GigaPでちゃんと感情乗せて歌うタイプの人ヤバいな。


以上です。アルバムを聴きながら書きました。

何をやっても使う開発環境

なにするひと?

Railsを中心にRubyで開発をする人です。普通の人間。
2ヶ月〜半年スパンで案件が変わりつづけて6年目、決まり切った開発環境があるので晒す。きっかけはこれ。

開発周り

一番最初に入れるもの

zsh

bashより馴染んだコマンドシェル。ここは個人の自由だと思うけどzshrc(設定ファイル)の例がアホほど転がっているので便利だと思う。多分魚(fish)も便利だと思うけど知らない。最近Macのデフォルトがzshになったのでzsh公用語なのでは?適当言ってます。
ディレクトリ名でcdできたりブランチ名の表示がなんかあったりとか便利なので便利だと思います。

gitの一番新しいやつ

大抵「開発環境のOSはなんでもいいです」って言われて「じゃあCentosいれますね〜」ってやるのでyum install -y gitしてその後新しいgitを入れ直す。手順に関しては毎回ggrか自分の構築ログ見てやる。
数年前作った構築ログはQiitaにある。

peco

ちょ〜〜〜〜〜便利なやつなんですけど正式名称? 分類は知らない。上司が最初のbox(開発環境をVagrantで作ってboxにして配布する現場にいた)にしれっと入れていたので知った。適当なショートカットにインタラクティブサーチ的ななにがしをブチ込めるので便利。最後の方に汚いコードを晒す。

そのほか

案件によってDB入れたりRuby入れたりgemいれたりする。rails sが無事に動いてrails dbでDB見れてrails cでレコード操作できるようになったらもうなんでもいい。

設定周り

設定ファイル

.zshrc

デフォルトは少し凝ったzshrcでdifffにつっこんで出てきた設定はこれ。

# 好きな見た目にする
export LSCOLORS=cxfxcxdxbxegedabagac

# 覚えてないし何をしているのかも知らない(上司が突っ込んだ説がある)
autoload -Uz history-search-end
zle -N history-beginning-search-backward-end history-search-end
bindkey "^o" history-beginning-search-backward-end

# set rbenv for ruby(まあないと死ぬので)
export PATH="$HOME/.rbenv/shims:$PATH"
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init - zsh)"

# キーバインド
typeset -fuz zkbd

if [[ -f ~/.zkbd/$TERM-${DISPLAY:-$VENDOR-$OSTYPE} ]]; then
  source ~/.zkbd/$TERM-${DISPLAY:-$VENDOR-$OSTYPE}
    [[ -n ${key[Left]} ]] && bindkey "${key[Left]}" backward-char
    [[ -n ${key[Right]} ]] && bindkey "${key[Right]}" forward-char
else
  echo "Key definition not found."
fi
[[ -n "${key[Home]}"   ]] && bindkey "${key[Home]}"   beginning-of-line
[[ -n "${key[End]}"    ]] && bindkey "${key[End]}"    end-of-line
[[ -n "${key[Insert]}" ]] && bindkey "${key[Insert]}" overwrite-mode
[[ -n "${key[Delete]}" ]] && bindkey "${key[Delete]}" delete-char

# 起動した瞬間からRailsのプロジェクトに移動する
cd ~/xxxxxxxxx

zshがなんかいい感じにdelete認識してくれなくてストレスなのでキーバインドの設定をしている。
その他pecoの設定がわんさかある。後述。

alias

alias edit="vi ~/.zshrc"
alias update="source ~/.zshrc"

alias rails="bundle exec rails "
alias rake="bundle exec rake "
alias migrate="bundle exec rake db:migrate "
alias rs="rails s"
alias bi="bundle install"
alias pj="cd ~/xxxxxxx"
alias be="bundle exec "
alias rspec="bundle exec rspec "

be全然使ってないな。けそう。pjは~/.sshとかに行って迷子になった時にシュッとプロジェクトのディレクトリに飛ぶ時に使うけどほとんど使ってないです。
editとupdateは散々設定ファイルをいじくりまわしている時に最終的に気が触れて設定したalias。
ちなみにaliasコマンドで今現在のaliasの設定が見れます。便利。

function

function setcom(){
  if [[ -n "$*" ]]; then
    eval "__precmd_for_subsh() { print -z '$* ' }"
  else
    eval "__precmd_for_subsh() { print -z '' }"
  fi

  autoload -Uz add-zsh-hook
  add-zsh-hook precmd "__precmd_for_subsh"
}

これはどこかでみた必ずgitが入るって言うやつの派生系でプロセスに限り必ず冒頭になんかをセットするって言うやつです。
何をやってもgitが入る。これはひたすらbundle exec ...とかgit cherry-pickする時とかにも使う。便利。
名前がクソなのは自分で作ったからです。これは自分で環境を作って配布する時にしれっと入れるけど同僚が一回しか使ってくれなかった。でも便利です。
git専用のターミナルとかを作る人には便利です。便利でしょ?stとかaliasはる必要なくなるから便利でしょ?

.gitconfig

[alias]
    st = status
    ls = status
    dd = diff upstream/master HEAD
    fu = remote update
    d = diff
    co = checkout
    git = !git
    ds = diff --staged
    l = log --oneline --decorate -15
    po = push origin HEAD
    cb = checkout -b
    re = rebase upstream/master
    bals = reset --hard HEAD
    coa = commit --amend
    pof = push origin +HEAD
    pop = stash pop
    rollback = reset --soft HEAD~
    m = checkout master
    save = commit -m 'save'
    br = branch
    ref = reflog --oneline
    bn = branch --no-merged
    fixup = commit --fixup
[pager]
    log = diff-highlight | less
    show = diff-highlight | less
    diff = diff-highlight | less
[interactive]
    diffFilter = diff-highlight
[diff]
    compactionHeuristic = true

変なやつについて解説すると以下。

  • git dd
    リモートのmasterブランチとのdiffをとる。便利。
  • git ls
    ひたすらsetcom gitした後にlsを打ってしまう時期があって、無駄すぎたのでstatusを見れるようにしたらgit stをつかわなくなった。git lsを見ています。
  • git fu
    fetch upstreamが面倒になってfuにしてた時期があったけど複数remoteをfetchする必要が出てきてあ〜〜〜〜ってなってremote updateに中身を変えた。
  • git po, git pof
    push origin HEADをいちいちやりたくなかったので略した。
  • git bals
    バルス!!!!!!!する
  • git save, rollback
    ゲームのデータみたいにsave してrollbackしたかった。
  • git !git
    setcom gitの副作用で必ずgitが含まれてしまうので、丁寧にgit statusとか打つ時にgit git statusとかみたいになってバグるのを回避するやつ。日本語が変。
  • git fixup, git pop
    頻出サブコマンドをaliasシリーズ

  • diff-highlight
    使ってないの?便利だよ?文字単位でdiffがハイライトされます。
    私の説明よりこちらが詳しい。diff-highlightでGitのdiffを見やすくする
    最近はそのまま使えるわけではないのでこちらを参照してなんかいい感じにコンパイルしてほしい。 Ubuntu 18.04 で git diff-highlight へのパスを通す(リンク)

peco(.zshrc)

ヒストリ

pecoの王道の用途。ヒストリをいい感じにするやつ。

function peco-select-history() {
    local tac
    if which tac > /dev/null; then
        tac="tac"
    else
        tac="tail -r"
    fi

    BUFFER=$(\history -n 1 | \
        eval $tac | \
        peco --query "$LBUFFER")
    CURSOR=$#BUFFER
    zle clear-screen
}
zle -N peco-select-history
bindkey '^r' peco-select-history

cd

なんかディレクトリとかに移動できるやつ。上司が作って上司が設置して上司しか使っていなかったのがかわいそうで消していない。

########################################
# Peco with find file or cd
# http://hotolab.net/blog/peco_select_path/
export EDITOR=vim # 好きなエディタ

function peco-path() {
  local filepath="$(find . | grep -v '/\.' | peco --prompt 'PATH>')"
  [ -z "$filepath" ] && return
  if [ -n "$LBUFFER" ]; then
    BUFFER="$LBUFFER$filepath"
  else
    if [ -d "$filepath" ]; then
      BUFFER="cd $filepath"
    elif [ -f "$filepath" ]; then
      BUFFER="$EDITOR $filepath"
    fi
  fi
  CURSOR=$#BUFFER
}

zle -N peco-path
bindkey '^o' peco-path # Ctrl+o で起動

+ git コミットハッシュをシュッととる

git fixupする時に使う。Ctrl+gで現在のブランチのコミットハッシュをシュッと取れるので便利。(fixupの良し悪しについては不問)

function peco-git-hash() {
    local commit_hash="$(git log --oneline | peco | awk '{print $1}')"
    BUFFER="$LBUFFER $commit_hash"
    CURSOR=$#BUFFER
}

zle -N peco-git-hash
bindkey '^g' peco-git-hash # Ctrl+o で起動

+git ブランチ名を取得するやつ

ブランチをいい感じに取得するやつ、自分で適当に書き直しているので辛い。
いい感じにcheckoutできます。便利。

# https://qiita.com/sachaos/items/34946c0085e4e391628c
function peco-git-branch() {
    local branch="$(git branch --no-merged | peco | tr -d ' ' | tr -d '*')"
    if [ -n "$branch" ]; then
      if [ -n "$LBUFFER" ]; then
        local flbuffer=$(echo $LBUFFER | sed -e 's/[ \t]*$//' | sed -e "s/.*/'&'/g")
        if [ ${flbuffer} = "'git'" ]; then
          local new_left="${LBUFFER%\ } co $branch"
        else
          local new_left="${LBUFFER%\ } $branch"
        fi
      else
        local new_left="$branch"
      fi
      BUFFER=${new_left}${RBUFFER}
      CURSOR=${#new_left}
    fi
}
zle -N peco-git-branch
bindkey '^B' peco-git-branch # Ctrl+o で起動

ルーチン

3つくらいvagrant sshして1つ目にsetcom git, (git )fu、2つ目にrs、3つ目は放置って感じにする。
こうするとgit専用、rails server専用、遊撃手(必要な時にrails cする)が生まれて便利。

10歳の少年が、ずぅっと俺の中に住んでるんだよ

この記事はSHIROBAKO Advent Calendar2019の11日目の記事です。なんとなく選んだら去年と同じ日付になりました。
なんだかんだ参加は三回目です。一昨年は「個人的なことですが転職を考えていて」としれっと書いていたのですが、ようやく転職しました。
立場的には平岡くんです。

全体 adventar.org

始めに

f:id:ayakufe:20191203140104j:plain
先輩を頼る後輩に見えるただのペンギン

なんかペンギンさんみたいについてくる後輩たちに、先輩だって悩んでるんだぞ〜〜!!!って話とか「左利きのエレン」と絡めた話とか書こうと思ってたんですけど、どうしてもだめだった。まあ私にしかかけない事だから良しとしてほしい。

どうしてアニメを作るんですか?

SHIROBAKOには、主要キャラクターのアニメを作る理由を、それぞれに語るシーンがある。
毎度「あ〜それ(キャラ)っぽいなあ」みたいな気持ちで見てたけど、大倉工房の絶対アナログ主義没落絵描きこと大倉さんが「10歳の少年がずぅっと俺の中に住んでるんだよ」と酒を飲みながら言うのを見て、突然ぐっさりと刺さってしまった。

5歳の野球少年

2018年の春に見た「Take me out 2018」という舞台には、自らを取り巻く環境に苦しみながら、それでも「5歳の頃、父親とキャッチボールをした思い出」にすがって野球を続けるプロリーガーたちがいた。
泣きながら見た日もあったし、呆然として何も考えられない日もあった。私にも、縋っている「10歳の私」がいるからだ。
チームメンバーの不仲、言語の違い、成績低迷による暗い雰囲気、エースプレイヤーの性的嗜好の告白とピッチャーの爆弾発言、それから、デッドボールが招いた相手チームのエースの死。
様々な悲劇に見舞われながらも、彼らは野球を辞めない。絶対に辞めない。
私はスローモーションで切ない音楽がかかる中、ただキャッチボールをする人々を見ていた。 果たして「5歳の頃、父親とキャッチボールをした思い出」に縋り続けてプロリーガーになったのは正解だったのだろうか。きっと彼らは正解だったと言い張るに違いない。

10歳の私

私は、とあるスポーツを10歳から始めた。16くらいにだめになって、18の春に選手を引退した。
それからずるずる、大会役員だとかお手伝いとかをしている。正確には過去形になりつつある。引っ越してしまったので、元の環境で同じことができなくなって、大会役員もなにもやっていない。大きな大会の時は手伝いに戻るけれど、それくらいだ。
今年で24なので、選手生活8年、裏方生活6年ということになる。

選手の頃は楽しかった。出来ることが増える度にやる気が出たし、派手な技の練習も楽しかった。地道に土台を固める必要があることに気づいて、じっくり土台を作っていくうちに練習する姿勢を認められるようになって、一回だけ地方大会で優勝して、もうほんっとうに楽しかった。
怪我が増えて、怪我を理由にやる気がなくなって、あとから入ってきた選手達にどんどん追い抜かされているのにも嫌気が差して、目標としていた資格の一つ手前で挫折して選手をやめた。すっぱりやめられなくて意地汚く裏方に入り込んで、経験者だからわかることとか、2年ごとに入れ替わる保護者に大会運営のいろはを伝えて手伝ってもらったりと、それなりに役に立ってはいたと思う。

裏方に入り込むと同時に、選手の指導に入ることが増えた。
たかが二十歳やそこらの、ろくに全国大会に出たこともないしまともな成績一つ残せていない人間に「先生!」と駆け寄ってくる選手もいれば、取り入ってこようとする保護者もいて、いや小娘取り入ってどうすんのとか思いながらものすっごくしんどくなって、教えているけれど、ずっと「これでいいのかな」とばかり思っていた。
テレビの中継も録画しなくなったし、ちゃんと勉強することもなくなった。
それなのに人に教えたり、人を判定したりする資格なんてあるんだろうか。

何もわからないなあ、と思うたびに、ふと10歳の頃やのびのびと怪我しようとも楽しくやっていたころを思い出しては泣きたくなる。 あの頃の私は楽しそうで、「できないと思ったらできなくなるし、そう言っちゃったら本当にできなくなるよ」*1なんて後輩に偉そうに説教していて、本当に羨ましい。

大好きだったはずのスポーツに呪われていて離れられない、なんてことを考える日もあった。引っ越して離れたけど、それまではずるずる離れられなくて、呪われているんだと思っていないとやっていられなかった。
結局のところ呪っていたのは自分自身で、自分でダメになったくせに縋り続けている、無様な格好だったと思う。
今でも酒を飲めば管を巻く。

今も正直、惰性で関わり続けている。*2
もちろん裏方には裏方の楽しさがあって、煩わしいことだって人間相手なのでたくさんあるのだけど、周囲の大人たちが「どうしてこちら側に来たの?」「すっぱり辞めてよかったんだよ」「でも若い子が入ってきてくれて嬉しい、ぜひ続けてね」と褒めちぎってくれるしそれで自分は喜んでいるので、まあ、政治の絡むような範囲に行かなければ幸せにやっていけそうな気もする。

小学校の卒業作文で私は「選手を引退したら裏方で頑張りたい」と宣言していたし、当時から先生たちに「いつか私も先生になる」と伝えていたらしい。
私はきっと、10歳の私に負けないでって足首を掴まれていて、12歳の私の夢を叶えてしまったのだと思う。もう記憶はないけれど、楽しかった記憶だけはしっかりある。
誰にでもきっと「10歳の自分」がいて、あの頃の嬉しかったことや楽しかったことが胸に残っていて、知らないうちに足を取られている。 せめてあの頃の自分に恥じないくらいにはちゃんとした裏方さんになって報いたい。
やるからには最後までがんばりマスタング! よし! 以上です! 

ちなみに、落合さんの好きなところはどこでも淡々と自分のやることと周囲のフォローができるところです。クソ忙しいのに電話出てくれるところ好き。

f:id:ayakufe:20191203162711p:plain
旅先で見つけた落合達也さん

旅先で見つけた落合達也さん(トラックドライバー)置いておきますね。

*1:これは何かの台詞だった気がするけど思い出せない、BLEACHD.Gray-manだと思う

*2:呪いという言葉に甘えるのはやめた

Vagrant upでNS_ERROR_SOCKET_FAIL (0xC1F30200)

vagrantなんですぐ壊れるん?わからん。何もわからん。

$ vagrant up

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["showvminfo", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]

Stderr: VBoxManage: error: Failed to create the VirtualBox object!
VBoxManage: error: Code NS_ERROR_SOCKET_FAIL (0xC1F30200) - IPC daemon socket error (extended info not available)
VBoxManage: error: Most likely, the VirtualBox COM server is not running or failed to start.

あーはいはいいつものやつねーって思いながらVirtualBoxを立ち上げたらこれ。

f:id:ayakufe:20191119100311p:plain
NS_ERROR_SOCKET_FAIL (0xC1F30200)

えっvagrant upが死ぬ時ってVirtualBox立ち上がるもんじゃないっけ、と思いながらエラーメッセージを確認する。

tmpが悪いんですか?確認します。

ls -la /tmp
lrwxr-xr-x@ 1 root  wheel  11  7 15 17:18 /tmp -> private/tmp

private/tmpですか。VirtualBoxもなんかそういうエラー吐いてましたね。

ls -la /private/tmp
# なにかあるファイル

.vbox-*-ipc 的なファイルは存在してないですねー。じゃあtmpの権限ですかねー。何が正しいんですかねー。と調べつつ ターミナルでvagrant upの実行ができない。VirtualBoxを起動しようとするとVirtualBox COMオブジェクトの確保に失敗しましたと出る。ドンピシャなQAにたどり着く。

$ sudo chmod 1777 /tmp

無事解決。