mimikun's blog

みみくんメモ

この記事は、

mimikun Advent Calendar 2019 5日目

の記事です。

#みみくんメモ

環境はmacOS, Endeavour OSです。

やりたいこと

こういうファイルがあったとする

test.txt:

# I am mimikun. I'm
# deaf. I interest Disri
# buted Social Network.

ほしい結果:

I am mimikun. I'm deaf. I interest Disributed Social Network.
  1. 先頭の#を取る
  2. 最終行の改行を削除し、空白に置き換える
  3. ペーストボードに貼り付ける
  4. (できれば)Google翻訳APIに送る

以下試行錯誤の記録

これはsedを使えばできそう

僕は雰囲気でLinux(と, macOS)を使っているためsedの使い方がわからなかった。 とりあえずman sedしてもmanがありませんと出てくるだけだった。 macOSだと出ない, Linuxだと出る(Arch Linuxで確認)

調べたところinfo sedすれば出てくるらしい。 情報元: https://linux.die.net/man/1/sed

infoコマンドはemacsライクな操作感覚となる。 情報元: http://x68000.q-e-d.net/~68user/unix/pickup?info#prgmemo-info-basic

僕はvimmerなのでviライクに操作したいと考えた。

info --vi-keys でviライクに操作できるらしい。

manが効かないのは, macOSはBSD派生なので, それ関係だろう…

> sed 's/# //' test.yaml
I am mimikun. I'm
deaf. I interest Disri
buted Social Network.

いい感じ。

次は改行を取る。

改行はawk {printf $0}で削除できる。

情報元: <https://it-ojisan.tokyo/awk-delete-newline-code/

> cat test.yaml | awk {printf $0}
# I am mimikun. I'm# deaf. I interest Disri# buted Social Network.

いい感じ。

> cat test.yaml  | awk '{printf $0}' | sed 's/# //' 
I am mimikun. I'm# deaf. I interest Disri# buted Social Network.

先頭行の#s/xxx//でいいが, ほかはそうもいかない。どうしたものか…

試行錯誤1:

> cat test.yaml  | sed 's/# //g' | awk '{printf $0}'
I am mimikun. I'mdeaf. I interest Disributed Social Network.

試行錯誤2:

> cat test.yaml  | sed 's/# //' | sed 's/$/ /' |awk '{printf $0}'
I am mimikun. I'm deaf. I interest Disri buted Social Network.

試行錯誤3:

> gsed -e 's/\. /\n/g' test.yaml
# I am mimikun
I'm
# deaf
I interest Disri
# buted Social Network.

結局どうしたか

試行錯誤2をベースに手でシコシコ直していくことにしました…

> brew install gnu-sed		# gnu-sedを使う
> cat test.yaml  | gsed 's/# //' | gsed 's/$/ /' | awk '{printf $0}'
I am mimikun. I'm deaf. I interest Disri buted Social Network.

手でシコシコ直すのはここでいうとDisri butedの部分です。

この問題をいい感じに解決してくれる方法をご存知のかたは@[email protected],jpに伝えてくれると嬉しいです。

#みみくんメモ #みみくんサウナ日記

サウナブームということで実に10年ぶりのサウナに行ってきた。

結論、全然整えなかった。こんなに熱い&冷たいと思わなかった。

完全に舐めてた。サウナ、厳しすぎる。

ウェルビー名駅にはミストサウナ, 森のサウナ, 遠赤サウナの3種類があったので、とりあえず全部試した。

まず一番温度低そうだと感じた森のサウナへ。これが間違いであった。

森という言葉から連想されるような環境ではない。アレは正に、熱帯のジャングルというべきモノであった。

匂いは最高なのだが、熱が凄い。(そもそもサウナは熱い)

次にミストサウナに入った。こいつもメチャクチャ熱い。

タオルをメンポ(訳注: 面頬。鼻から下を覆うなんか)のように巻き、その上でもう一枚のタオルを使って頭を覆うようにしなければ呼吸すらままならないレベルである。

流石にキツかったので5分くらいで出てしまった。

最後に、遠赤。当初は「なんかメチャクチャ熱そう」と思っていたので入る気はあまり起きなかった。

後にこれは間違いであったと理解するのだが…

ここはテレビもあるし、それなりの広さがある。

更に、ストレッチロウリュやアウフグースをやってくれる。(意味は各自しらべて)

僕はサウナ初心者であるため、今回はアウフグースを体験しなかった。

事前調査が全然できていなかったので全然整えなかったと考える。

試行錯誤を積み重ね、自分にとって最適な組み合わせを見つけると整えるのだろう…(多分)

P.S.

1回だけ頭がフラフラしてちょっとだけ気持ちいい時があったけど、アレなんなんだろうな?貧血?

#みみくんメモ #writefreely

・ Dark mode by qwazix · Pull Request #188 · writeas/writefreely https://github.com/writeas/writefreely/pull/188

流行りのダークモードに対応させられるようにするPR。 prefers-color-schemeを使って実現させているらしい

詳しくは: prefers-color-scheme – CSS: Cascading Style Sheets | MDN

#みみくんメモ #writefreely

・update IsJSON to check for Accept header by robjloranger · Pull Request #185 · writeas/writefreely https://github.com/writeas/writefreely/pull/185

IsJSONヘルパーが文字列ではなくリクエストを受け取るようになる。 複数のヘッダーをチェックできる。

#みみくんメモ #writefreely

・ remove gogs/gogs/pkg/tool dependency by robjloranger · Pull Request #182 · writeas/writefreely https://github.com/writeas/writefreely/pull/182

gogs/gogs/pkg/toolの依存関係を削除するPR.

・ Mathjax in binaries by robjloranger · Pull Request #181 · writeas/writefreely https://github.com/writeas/writefreely/pull/181

これまではsubmoduleとして含めていたがそれを削除してまるまる一個のファイルにしたPR.

#みみくんメモ #writefreely

・ Add Cache-Control headers on AP endpoints by thebaer · Pull Request #180 · writeas/writefreely https://github.com/writeas/writefreely/pull/180

ActivityPubエンドポイントにCache-Controlヘッダを加えるPR。 これにより将来的にVarnishをWritefreelyの前に置けるようになる。

負荷を抑えるのがいい感じにできるようになりそう…

#みみくんメモ #writefreely

・ set a default pad tempate on all pad renders by robjloranger · Pull Request #179 · writeas/writefreely https://github.com/writeas/writefreely/pull/179

pad(投稿入力画面のこと?)のテンプレートのバグを修正するPR.

今日のはちょっと自信ない…

#みみくんメモ #writefreely

・Retrieve a Collection API endpoint uses request content-type instead of accept header · Issue #178 · writeas/writefreely https://github.com/writeas/writefreely/issues/178

Acceptヘッダーにapplication/jsonをセットしてAPI叩いたのにtext/htmlが返ってくるバグを報告している。

#みみくんメモ #writefreely

今日の更新はissueが2件だけです。

・Rendering issues in MathJax when nested with markdown symbols (*, _) · Issue #177 · writeas/writefreely https://github.com/writeas/writefreely/issues/177

記号が$でネストされている場合またはmathと同じ行で使われている場合MathJaxが適切にレンダリングしてくれなくなる現象があるらしい。

・v0.10.0 release binaries for linux ships without MathJax · Issue #176 · writeas/writefreely https://github.com/writeas/writefreely/issues/176

v0.10.0のバイナリリリースのmathjaxディレクトリが空っぽになっていて、MathJaxが利用できなくなっているらしい。

v0.9のバイナリリリースのtarball落としてきて調べてみたら確かにv0.10は空っぽだった。

$ ls writefreely-010/static/js/mathjax/
$ ls writefreely-09/static/js/mathjax/
MathJax.js config     extensions jax

#みみくんメモ #writefreely

・add update checks by robjloranger · Pull Request #175 · writeas/writefreely https://github.com/writeas/writefreely/pull/175

更新があるかどうか確認してくれる機能のPRが来ていた。 いちいち確認しに行くのはめんどいのでこういうのあるといいね。

・Add account suspension features by robjloranger · Pull Request #174 · writeas/writefreely https://github.com/writeas/writefreely/pull/174

アカウント停止機能追加のPRが来ていた。 停止中はユーザーは投稿、コレクションの作成ができなくなる。 Adminだけが見られる管理画面からアカウント停止操作をするらしい。