git config parser行き詰まった

git config –list のparserをつくろうとした。
ドットで階層にしていけば余裕だろっておもった。
こんなのparseできねえ。自分でgit config再実装するほうがひょっとして楽なんじゃないか。

$ git config --name-only -l
core.excludesfile
url.git@gist.github.com:.pushinsteadof
url.git://github.com/.insteadof
url.git@github.com:.pushinsteadof
url.git@github.com:.pushinsteadof
alias.permission-reset
core.bare
core.repositoryformatversion
core.filemode
core.logallrefupdates
remote.upstream.url
remote.upstream.fetch
branch.master.remote
branch.master.merge
branch.chore/use-try.remote
branch.chore/use-try.merge
branch.chore/foo.bar.baz.remote
branch.chore/foo.bar.baz.merge

https://git-scm.com/docs/git-config#FILES
これみて、たどって、include sectionを解決するだけでしょ??

もとい、最初のドット、最後のドット、その間、でいけるのか?
セパレータを変える方法ないんだろうか

広告

scaffold tools

2年前ぐらいにもうyeomanはオワコン感でていたし、なによりつくったgeneratorがメンテ不能になる問題があった。しばらくscaffold tool要らなかったので見てなかった。

slashやらplopやら、ながめてるけど、やっぱりまだyeomanでやるのがよさそう。マジカヨ。

メンテ不能になるのは、jsonやjsのテンプレートにif-elseみたいな制御構造が入ってくる結果、シンタックスハイライトも補完も効かなければ、シンタックスエラーすら実行してみないとよくわからんものになるのが多分原因。sindreさんの動向見てくるか。boilerplate +alpha かなあ。

Plop — a micro-generator to ease your daily life | @nicoespeon
slushjs/slush: The streaming scaffolding system – Gulp as a replacement for Yeoman

crate under_score hy-phen

crateはunder_score区切りで命名するようだ。

https://doc.rust-lang.org/1.0.0/style/style/naming/README.html#general-conventions-%5Brfc-#430%5D

なおhyphenのcrateも多い。どっちか迷ってpyphenでつけてしまったので、renameしようとした。できない。
古い方全部yankして、たぶんしなくていいんだけど、新しい方にcargo publishした。ところが最後のuploadでこける。

   Uploading text_to_checkstyle_cli v0.0.5 (file:///mnt/623D90F735FA5D47/sanemat/data/src/github.com/packsaddle/rust-text_to_checkstyle_cli)
error: api errors: crate was previously named `text-to-checkstyle-cli`

前はこの名前でした、って知っとるわ。
crateでpyphenで入力して、underscoreじゃないですか、ってもしかして出たので、内部では同じに持ってるのかな。まじかよ。設計ミスぽい。helpにメールしたので、反応待ち。手作業で何か解決するのかな。

better shell

ベターシェル

私がほしいのって
– みんなでちょっとずつ作ったものが
– ワンバイナリにコンパイルできる
– ベターシェル

人が有象無象山盛りいるのが必須条件。
なので、nodejsで書いたアプリが1MBぐらいに縮んでくれると一番良い。
次にgolangでライブラリパッケージシステムが発展するのが次にいい。
どっちも期待薄なのでrustですかね。前者2つに比べちゃうと人が足りない。
rustの良し悪しはよくわからないですがcargoとcratesが最高便利。

fmtやlintは設定項目ないのがいいですね
gofmt最高
eslintイマイチ prettier最高
rstfmtイマイチ?
rubocopイマイチ

メタデータ設定項目はプログラムかけないのがいいですね
json最高
tomlイマイチ?
yamlイマイチ

jsのpower assert最高

rustのバイナリをgithub releasesに送る仕組み

なんで各言語ごとに作りこみたがるんだろう。バカなのかな? って思いたくもなるけど、自分含めてそうしないとまともに扱うのは無理なのかなと思ってしまう。

コレはやり過ぎだから、自分でわかる範囲で探すかと、cross compileのしくみを探していて結局
japaric/trust: Travis CI and AppVeyor template to test your Rust crate on 5 architectures and publish binary releases of it for Linux, macOS and Windows
コレに戻ってきた話です。

追記
伝わらない気もして追記すると、わたしは、クロスコンパイル環境作るくんと、クロスコンパイルするくんと、パッケージするくんと、ghr でやるほうが正しいと思うんですね。glue codeはnodejsで書くかなあ。一ミリもeasyじゃないが。

rubymineで編集中のファイルだけ、プロジェクトの.rubocop.ymlを無視してrubocop -aする

いろいろな事情の結果、rubocopでほとんど制限しないルールにしたのだけど、自分だけはrubocop -aでよしなに整形したい。rubymineで。

external toolsにこんなのを登録する。

bin/rubocop -c /mnt/623D90F735FA5D47/sanemat/data/src/github.com/sanemat/dotfiles2016/rubocop-2-3.yml -a $targetFile

危険な兆候だけ消して、あとは動けばいいので。gofmt最高。そして項目を設定できてはいけない。

spam recruiter

aiでスパムリクルートメールを打つ人材サービスを使っちゃうとリスクありそうだなーと思った。

====
Kenichi Murahashi 様
※お名前の漢字が分からなかったので、失礼ながらアルファベット表記とさせていただきました。

突然のご連絡失礼致します。
株式会社xxx人事のxxxと申します。
GitHubに掲載中のメールアドレスからご連絡しております。

弊社は、スモールビジネスに携わる方向けのクラウド会計ソフトを作っている会社で、現在80万人以上の方々に利用されています。
社内で行っているプロジェクトに関しては下記を御覧ください。
(url snip)
起業や独立に伴う「難しいこと・面倒なこと・大変なこと」を自動化し、人々が創造的な活動に集中できるサービスづくりに取り組んでいます。

そんな中、現在
・プロダクトおよびフィーチャーの企画・設計・実装・テスト・計測・改善(xxxのエンジニアは企画から開発、リリースまで、エンジニアが自分たちで考え、実行に移しています)
・新規技術、コア技術に関する研究開発・調査
・新規機能企画開発、自動化のアルゴリズム改善、UX改善、新規プロダクト企画開発等
などのような業務を、Ruby / Rails を使って行なうエンジニアチームの向上を図っております。

上記のプロジェクトの一環として行っている試みなのですが、Murahashi様のような現場で活躍されている外部の優秀なエンジニアの方を実際に弊社オフィスにお招きして、弊社のサービスやエンジニア・オフィスをご紹介して、気軽にディスカッションをする、ということをしています。

誠に勝手ながら、Murahashi様のGitHubやブログの記事を拝見しました。GitHubのリポジトリのTachikomaを拝見しまして、依存するgemのバージョンを最新に保つことができるTachikomaは開発コストを削減できる非常に優れたOSSであると感銘を受けました。RubyやRailsを使うプログラマーの定形作業を減らすという点が評価されて、TachikomaはHEROKU賞を受賞されているとのこと、高い技術力が多くのエンジニアの方々からも評価されていることに敬服しました。弊社では最新技術を積極的に取り入れており、Murahashi様のように新規技術、コア技術に関する研究に携わっているエンジニアの方と是非技術的なお話しをさせていただければと思っています。

よろしければ一度お時間をいただき、30分-1時間程度で結構ですので五反田の弊社オフィスにて、お話をさせていただけないでしょうか。
もしご興味があれば、こちらのアドレス(snip) まで返信をよろしくお願いいたします。

ご返信をお待ちしております。
それでは失礼致します。

【xxxについて】
エンジニアブログ
(url snip)
弊社の機械学習への取り組み
(url snip)

N度目のGolang挑戦やってる

書いてる最中と書き終わった瞬間はNode.jsが一番楽しい。一個一個npm moduleにしてるときは、ウヒョーてなる。
もしかしたら誰かが再利用してくれるかも、という期待が一番持てるのもNode.js。
なお、あとから使う人、自分も含む、のことなぞ知らん。毎日使うもの以外はきびしい

これだとやっぱり後でうれしくないので、自分が使いたいツールをgolangで書き始めた。
golangってgolang標準添付以外のライブラリに現実的には再利用性なくてキライ
cliとライブラリでパッケージ分けてないの多くてキライ というかcli側はmainになっちゃう
なぜmakefile?? golangで書こうよって思うからキライ
gofmtとgoimportで書き方一つになるのすごく好き
適当にクロスコンパイルしとけば、シングルバイナリになって、どこでも動くものがボコボコっと作れる、全キライを吹き飛ばすほど好き

というわけでyak shavingからはじめた。github releasesまわり。ここがいければあとはテンション高く書いていけるはず。はず。