詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Fork me on GitHub

Scrapboxで行頭にアスタリスクを挿入したら見出しにする

Scrapboxで見出しのようなものがほしいときには [** ほげほげ] と文字装飾を重ねて作るのが常套手段だけど、議事録などすばやくドキュメントを取りたい際にはこの「文字を囲んで装飾する」という手順にモタツキが生じてしまう。文字列を選択して * にしろ、[** と入力して ] にしろ、2工程かかるイメージ。Markdown(#) とか Google Docs(Opt+Cmd+1) だと1工程なので Scrapbox でもそうやりたい。

id:gurrium による 見出しのレベルを変更するショートカット は Docs パターンで、キーボードショートカットで見出し化するというもの。これを重宝していたけれど、どうやら自分のメンタルモデル的には Markdown 風に見出しを作れるほうがあっている模様だった。ということ自分用に、行頭に * を挿入したら見出し化する、という UserScript を書いた。先人の仕事に感謝。

行頭に*で見出しを作る - Scrapboxカスタマイズコレクション

  • 新しい行に * と書くと [* ] に変換される。
  • 既存の行の頭に * と書くと [* および ] でその行が囲まれる。
  • 同様に2レベル以上の見出しも作れる。

という感じ。Scrapbox ではカーソル位置を取るのが難しく、見出しレベルを下げたり見出しを解除するのはちょっと実装できていない。まあとりあえずこれで暮らしてみようと思う。

Stable Diffusion を Colab で Web アプリ化する

Stable Diffusion が来てるねってことで貧者の GPU であるところの Colaboratory でいろいろ試したいのだけどノートブック上で Python のコードをこまごまいじりながら試行錯誤するのは微妙に体験が悪い。

ちょっとしたウェブサービスとして立てて実行できるとよいけれど、なかなかクラウドサービスも帯に短し襷に長しという感じで GPU を気軽に借りられるところはなさそうだ……と思ったら、Colab 上に HTTP サーバを立てられることを知ったので、その方法でやってみることにする。

やってみたソースは以下。

GitHub - motemen/stablediffusion-server-on-colab

README にあるノートブックを開いて Huggingface のトークンを埋め、GPU を選択して実行するとサーバが起動する。サーバが起動する前のセルに表示される https://localhost:5000 のようなリンクをクリックすると、簡単なウェブアプリケーションが起動して、入力した prompt から生成した画像を表示してくれる。画像をクリックすると prompt をファイル名とした画像をダウンロードできるので、ここから気に入ったやつだけ保存しておけばよい。

Colab の HTTP プロキシ機能は当該のリンクをクリックしたノートブックのユーザのみに見られるようにしているようなので、不用意にリロードしたりプロキシしたり他のユーザに見せたりすると 403 になってしまうのに注意。そうなってしまったら、port を変えて再実行するとよさそうである。手元で開発してたときに API だけサーバにプロキシしてたら突然 403 になってしまってハマった。

性質上、ノートブックを開いてる間しか使えません。取り急ぎ作ったものなので、ロード中の進捗表示やステップ数の調整機能くらいはつけたいですね。

Colaboratoryでワードクラウドを生成する

任意の文章に対してワードクラウドを生成したい要件があるとき、非エンジニアでも行えるようにするには、ウェブアプリケーションとして提供するのもよいが、この程度のちょっとしたスクリプトのような用途であれば Google Colaboratory でもいいんじゃね、となったのでやってみた。結果できた。

日本語の文章を入力として、分かち書きした出現頻度をもとにワードクラウドを生成する。

日本語WordCloud

走れメロス』でこんな感じになります。

Colaboratory には変数のもつデータをフォームで指定させる方法があるので、なんとなく使い方がわかるはず。複数行入力できそうな見た目のフォームはなかったけど……。

形態素解析器には Janome を利用した。pip だけでインストールできるので非常に簡単だった。

はてなで一緒に働きませんか?