Ubuntu 16.04でSATySFi環境構築&コンパイル
2017/02/12時点の情報です. まだSATySFiは絶賛開発途中であり,特に今インストール周りが改善中のようですので,うまくいかない場合はgithubのページを追ってください.
↓ココらへんを参考にした.
SATySFi
型づけがしっかりしていて,エラーメッセージのわかりやすい組版システム(を目指しているらしい). texのように文章の構造や装飾をマークアップして記述する. 未踏に採択されて先日成果発表会が行われた.
依存関係をインストール
$ sudo apt-get update
$ sudo apt-get install opam autoconf
opam構築
.profileを読んでくれないので,.bashrcに直接書き込んだ
$ cd
$ opam init
$ echo "¥n. /home/satysfi/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true" >> $HOME/.bashrc
$ opam switch 4.05.0
$ eval `opam config env`
SATySFi構築
$ cd
$ git clone https://github.com/gfngfn/SATySFi.git
$ cd $HOME/SATySFi
$ git submodule update -i
$ opam pin add satysfi .
$ opam install satysfi
$ satysfi --help
-o Specify output file
--output Specify output file
-v Print version
--version Print version
--full-path Display paths in full-path style
-help Display this list of options
--help Display this list of options
demo/demo.satyをコンパイル
フォントや画像が足りないので用意する
$ cd $HOME/SATySFi/demo
ArnoPro-Regular.otfを用意
$ wget https://www.wfonts.com/download/data/2014/12/28/arno-pro/ArnoPro-Regular.otf -P $HOME/.satysfi/dist/fonts/
$ wget https://ipafont.ipa.go.jp/old/ipaexfont/ipaexm00201.php -P /tmp
$ unzip -d /tmp /tmp/ipaexm00201.php
$ cp /tmp/ipaexm00201/ipaexm.ttf $HOME/.satysfi/dist/fonts/
Osaka.ttf
ttc→ttfに変換するために,unitettcをインストールする
$ wget http://yozvox.web.fc2.com/unitettc.zip -P /tmp
$ unzip -d /tmp /tmp/unitettc.zip
$ chmod +x /tmp/unitettc/unitettc64
$ wget http://osaka.is.land.to/files/Osaka.zip -P /tmp
$ unzip -d /tmp /tmp/Osaka.zip
$ /tmp/unitettc/unitettc64 /tmp/Osaka.ttc
$ cp /tmp/Osaka001.ttf $HOME/.satysfi/dist/fonts/Osaka.ttf
satysfi-logo.png
png→jpgに変換するために,imagemagickをインストールする
$ sudo apt-get install imagemagick
$ wget https://raw.githubusercontent.com/wiki/gfngfn/SATySFi/img/satysfi-logo.png -P /tmp
$ convert /tmp/satysfi-logo.png satysfi-logo.jpg
コンパイル
$ make
$ file demo.pdf
demo.pdf: PDF document, version 1.7
C:¥windows¥installerの容量が大きすぎる
Cドライブの容量がいっぱいになっていた.
ちなみに実家パソコン
WinDirStatで見たらC:¥windows¥installerが20GB以上食っていた.
Windows Updateのインストーラが入ってるらしい
PatchCleanerでWindows Updateのインストーラを削除した.
PatchCleanerを使うと,いらないインストーラだけ削除してくれる
直った.
よかった
httpstatを使ってみた
近況報告
かろうじて生きています。
cicleciでWarning: Git is not installed in the image. Falling back to CircleCI's native git client but this is still an experiment feature. We highly recommend using an image that has official Git installed. worktree is not clean
circleci 2.0でcheckoutするとタイトルみたいなエラーが出るんだよね。使ってるdocker imageにgitが入っていないので、gitを入れましょ。
apt-get install -y git
circleciでx509: failed to load system roots and no roots provided
circleci 2.0でrestore_cacheやsave_cacheするとタイトルみたいなエラーが出るんだよね。 証明書が古いっぽい?ので更新しましょ。
apt-get install -y ca-certificates
買い切り型VPS CloudAtCostを使ってみた感想
要約
クソ安いけど、障害起きまくりなので、冗長化や自動化の勉強になる。
CloudAtCostって何
Cloud At Cost - You don't have to pay sky high prices to be in the Cloud.
カナダの企業のクラウドサービスで、VPSとかWebHostingなどの機能を提供している。 特徴は、"買い切り型"で、多くのVPSサービスでは普通使用量が月額課金であるのに対して、なんとここでは契約時に1回払えばそれ以降は払わなくていいのである。 一瞬耳を疑うような話であり、ビジネスモデルはどうなっているんだとという気もするが、とりあえずクレイジーでカオスなサービスなので是非契約しよう。 詳しいことは下記のページを読もう。
メリット
- 安い。 → 1CPU/512MB MEM/10GB SSDが$17.5(2017/03現在定価$35の50%OFF)
- VMの性能毎にプランが用意されているように見えるが、基本的にはリソースを買って、あとからコントロールパネルでVM必要なリソースを割り当てる形式になっている
- 2chやtwitterで阿鼻叫喚している人を観察できる
- ドジっ子ちゃんぽさがあって可愛い/微笑ましい
デメリット
- CPUの性能は良くない
- DISK IOの性能は良くない
- webコンソールが平文
- 特にセール中・後(80%OFFなど)下記の状況が頻発する
- セール中・後でなくてもそれなりに下記の状況が頻発する
- VMが作れない
- ログインできなくなる/IP到達性がなくなる → 根気よく待ちましょう/根気よくrestart掛けましょう/webコンソールからアクセスしてみましょう
- webコンソールからアクセスできなくなる → 根気よく待ちましょう/根気よくrestart掛けましょう
- diskがreadonlyになる → 根気よくrestart掛けましょう
- 他のVMとIPが被ってる疑惑
- 他のユーザと同じVMが割り当てられてる疑惑
- APIがあるが、一部のAPIにおいて仕様どおりでない明らかに内部のエラーが返ってくる
tips
基本的に上記の対策。
- VMの作成に成功したら、すぐログインして、OSアップデート・各種設定をする
- diskがreadonlyになるのは、IOがタイムアウトになるのが原因らしいので、タイムアウトを伸ばす下記のコマンドを/etc/rc.localあたりに仕込む(2chより)
- echo 600 > /sys/block/sda/device/timeout
- echo 600 > /sys/block/sr0/device/timeout
- diskがreadonlyになってしまったらもうどうしようもないので、下記のような自動で再起動するcronを仕込む
- 0 * * * * touch /tmp/write_test || /sbin/reboot
- IP unreachableになってしまったら再起動する下記のようなcronを仕込む