herokuがgit push heroku masterしても一向に動いてくれなかった件
githubのフィードをtwitterに投げ続けるだけのbotをherokuで作った
Procfileは↓というだけの簡単なもので、構成もGemfileとProcfileとbot.rbだけのシンプルなもの
cat Procfile worker: bundle exec ruby bot.rb
herokuにログイン
https://dashboard.heroku.com/apps からサクッとアプリをひとつ作って、herokuコマンドでリポジトリを追加。
heroku git:remote -a xxxxxbot
あとは
git push heroku master
で動くはずだった。
が!一向に動かない
logを仕込んでみたりheroku run
でコマンド実行してみたりしてもうあくいかないし、プロセスを確認すると動いている様子はない
なんでー
と思ってダッシュボード見なおしてみると、dynoの割り当てが0!
なるほど!そりゃ動かんわ!
というわけで、ダッシュボードからdynoの割り当てを1にしたら無事動いた
influxdbでテーブル(?)とかそのカラム(?)を調べる
メモ
テーブルは
list series
カラムはぱっと見つかったのだとこれ
influxdb does not list all column names · Issue #514 · influxdb/influxdb · GitHub
select * from /.*/ limit 1
とか
vagrantで立ち上げたvmがどこにあったかわからなくなっちゃう
Macというのはダメな奴なので、ubuntuとかが欲しくなる。
というわけでとりあえず作業用にVMを立ち上げたりよくするんだけど、適当にVagrantfileを作って起動するものだから、しばらくするとどこで立ち上げたやつだかわからなくなる。 Vagrantfileどこだっけ・・みたいな
ちゃんと管理しとけな話なんだけどそういうことがちょいちょいあるので、全部VM見れるようなのはないんだろうか。
と思ったらあった
fgrehm/vagrant-global-status · GitHub
と思ったらもうDEPRECATEDだ
Centralized machine index by mitchellh · Pull Request #3225 · mitchellh/vagrant · GitHub
と思ったらもうvagrant本家に取り込まれてるじゃん
vagrant global-status - Command-Line Interface - Vagrant Documentation
vagrant global-status
でいいのね。いいじゃん。
--prune
でゾンビを消すこともできるんだ。便利
cabal install conduitに失敗してた
環境とか色々忘れたけどmacでcabalでconduit入れようとしたら失敗した。
The Glasgow Haskell Compiler (GHC) on OS X 10.9...
これ参考にやっていけた
以上
ついでにすごいHaskell学ぼう!
Coq入門 - 4.1
https://coq.inria.fr/を見ていたら、Documentationのところにこんなものがあった。
https://cel.archives-ouvertes.fr/file/index/docid/459139/filename/coq-hurry.pdf
ここにSearchのことが少し書いてあって、SearchRewrite
で望むものが出てこない理由がわかった。
The command SearchRewrite is similar, but it only looks for rewriting theorems, that is, theorems where the proved predicate is an equality.
なるほど、rewrite
っていうのは確かにそういうことか。
apply
とは別ね。
apply
しか使ってなくてよく分かっていなかった。
このドキュメントを読む感じだとSearch
やSearchPattern
を使うべきっぽいが、emacsのcoq mode(かproof-general?)のコマンドにはそれらはない。
あるのは
- SearchRewrite
- SearchAbout
- SearchConstant
- Searchregexp
- SearchIsos
のようだ。
RewriteとAboutは解説があるが、他は・・・?
特にemacsコマンドにドキュメントは書かれていないようだ
ただ、SearchIsos
がC-c C-a C-o
にProofGeneralでバインドされていて、使う頻度が高そう。
使ってみるとエコーエリア?に
SearchPattern (parenthesis mandatory), ex: (?X1 + _ = _ + ?X1) (default nil):
なんかSearchPattern
と書いてあるし、クエリの例も求めているものっぽい。
使ってみると望み通りっぽい結果が出てきている。
これを使って進めてみよう。というメモ
Coq入門 - 4
進捗あまりない。
update · 702639b · totem3/coq-prac · GitHub
全然わからんのでもうImportしたのを使って証明せずに進めているw
できるところはそこまでにでてきた定理を使って証明して、まぁなんとなく感覚はわかってきたようなきていないような。
こうなってくると、今後まともにやっていくうえで大事なのはSearch
を使いこなすことのような気がしてくるんだけど、不等号系が全然SearchRewrite
とか使っても出てこない
このあたりがよくわからない。次使いこなすべきはSearch
かなと思った
n <= m -> ~ m < n
とかFalse
の証明がでてきたけど、これがやっぱりわからない。
Search
を使いこなせるようになるのと、矛盾を示せるようになりたい
Coq入門 - 3
Coq入門 - 2.1 - エンジニアですよ! に追記したが、Lemma le_n_0_eq
が証明できた
あと補完が効くようになったらなぜか.
を押すだけでC-c C-n
相当の部分まで進むようになった。
False_ind
やFalse
の証明の仕方が少しわかった。
しかし、その後も証明ははかどらない。
ムリ
Coqの使い方とかtacticがどうこう、というより単に証明するだけの頭脳が私にないような気がしてきた
もしくは自然数の証明は難しいのではないのか?
そんなことはないか
ペアノの公理は数学ガールで読んだことがあるというくらいの知識はあるんだがw
高校でも大学受験でも証明はすごい苦手だったなぁ
さて戻って、証明の続きをしてる。
全然証明進まないし、答え(標準ライブラリのコード)を見ても全然わからないんで飛ばす。
Arith
とかImportしてるんで証明は進む。intuition
だけで進むw
intuition
だけで進まなくなったle_elim_rel
を証明してみようと思って取り組んでみる
さっぱりわからーん。
induction
とdestruct
しか使えるものがないので全然進まない
2日ほど悩んでライブラリを読んでみると、なんだろうね
auto with arith
とかやってるので自動で証明できるくらい些細な事なんだろうな。
わからんけどね。
でもelim
っていうのもあるので、使ってみたら証明できた。
auto
を使っていないところ以外はまるっきりライブラリ通り。
intros
で名前を渡すところとか、できる気がしない・・・
intros
で名前を特に渡さずにやると、進まなくなる。
具体的には、この部分。
Lemma le_elim_rel : forall P:nat -> nat -> Prop, (forall p, P 0 p) -> (forall p (q:nat), p <= q -> P p q -> P (S p) (S q)) -> forall n m, n <= m -> P n m. intros P H0 HS. induction n; trivial. intros m Le. elim Le. apply HS. intuition. |
2 subgoals, subgoal 1 (ID 97) P : nat -> nat -> Prop H0 : forall p : nat, P 0 p HS : forall p q : nat, p <= q -> P p q -> P (S p) (S q) n : nat IHn : forall m : nat, n <= m -> P n m m : nat Le : S n <= m ============================ P n n |
ここで、名前を付けずに進めていると、 IHn : forall m : nat, n <= m -> P n m
この部分がforall m : nat
が付いてないものになってしまい、P n n
にapply
できなくて進まない。
証明ができない! こんなときにもgeneralize
しないと進まないことあるよ、みたいに書いてあるからやってみたけどそれでも進まん。
まぁとりあえずintros
するときには名前を付けると何が違うのかと、elim
について学ぼうと思う
ここがとても詳しいので、ここを読む。