- 投稿日:
ここ数年、誰かと話をしたりしているときに話のネタ元を探すのに苦労することが増えた。恐らく昔は根拠なく話していたことが、今は根拠を求められたり、必要になるケースが増えたからだと思う。相手を納得させる話には説得力が必要で、それには根拠があると捗るためだ。
例えば、「以前ほげほげで見た話なのですが~」と切り出したときに「ほげほげ」がどこだったかというところだ。私は大抵の情報をWebから得ているので話の元には大抵URLがあるのだが、これを失念していると根拠が出せないうえに記憶が壊れているケースもあり、誤った情報を話してしまうことがある。しかしこんなのを普通にブックマークしていても探すのが大変だし、ブックマークもすごいことになってしまう。そこで、記憶のインデックスとしてソーシャルブックマークを使うのはどうかと、ふと思いついたのだ。
最初はdeliciousを使おうと考えたのだが、これはサービスを終了していた。Diggも頭の中を過ぎ去ったが、今ひとつパッとしなかった。そこで行き着いたのがはてなブックマークだ。
ここはインターネット黎明期のころにインターネットをしていた人たちにとってお馴染みのサービスだろう。私も黎明期にはよく使っていたが、その時は特に理由もなく、流行で楽しいからという理由だったと思う。
しかしある時を境に私は利用をやめてしまった。理由はホッテントリの存在である。控えめに言わずとも荒れているし、スパムも多い。これは別に最近に始まったことではなく、以前からこうだった。最近はより酷くなってきている気さえする。しかし別にホッテントリを見ずに純粋に自分だけのブックマークとして使えばいいのではないか?そういう部分に気づいたのである。他者を気にせずに使う分にはストレスがない。そう思い使い始めることにした。
取り合えず今は思い出したときに、過去に見つけた有益情報をブックマークしていっているところだ。きっといつか情報を引き出す時に役に立ってくれることだろう。そう思い今は登録するフェーズにいる。勿論、過去だけではなく、現在見つけた情報についても関心があるものはブックマークしていっているが、どちらかというと過去を引き出したい側面の方が今は強い。
現在私のブックマークは技術的なものや地域の話題のようなものが多い。特に技術の話については引き出しから出したときに中身が抜け落ちていることが多々あるので、これをインデックスの一つにして、すぐに引き出せるようにしておきたい。
ここからは余談だが、実は久々にはてブを使うにあたり、IDの再登録をした。これは過去に、はてなというサービスに失望してこのIDを消してしまったところに所以する。
悲しいことはIDがアッパーケースで登録できなかったところだ。今のIDはlycoliaであって、Lycoliaではない。過去のIDが再び取れたら最高だったのだが、まぁ昨今のサービスだとなかなかないだろう。大昔はよくあったものだが。
まぁ、世の中には小文字しか使えないサービスもあるので、それと同じだと思えばいい。正直大文字が使えるサービスでも小文字で登録しまっている例があるので、深く気にするだけ負けだ。中には過去にアカウントを作ったが消してしまったので、既に使えないサービスもいくつかある。今後はIDを不用意に消さないようにしていきたいものだ。(とはいえIDが多いと管理コストもかかるので難しいところではあるが)
- 投稿日:
Athenaクエリ周りのメモ。
Athena前提知識
Amazon Athena とはによると、次のようにあるが、癖があることは覚えていた方が良い。
Amazon Athena は、標準的な SQL を使用して Amazon Simple Storage Service (Amazon S3) 内のデータを直接分析することを容易にするインタラクティブなクエリサービスです。
関数についてはAmazon Athena の関数を見るとよいのだが、Prestoのサイトを見たほうが多分早い。
UTCのISO日付書式文字列をJSTロケールのtimestampに変換する
SELECT
date_parse('2020-01-05T23:21:00.53Z', '%Y-%m-%dT%H:%i:%s.%fZ') AT TIME ZONE 'Asia/Tokyo' AS jst
timestampをdate型に変換する
SELECT
CAST(TBL.TSTMP AS date)
FROM (
SELECT timestamp '2020-11-20 01:00:00' AS TSTMP
) TBL
TO_DATEはtimestampを受け付けないので役に立たない。TO_CHARはドキュメント上扱えるように見えるがフォーマット文字でエラーになる。
以下の様にしてもサポート外の数値型が渡る様で上手くいかない
TO_CHAR(year(TBL.TSTMP)) || '-' || TO_CHAR(month(TBL.TSTMP)) || '-' || TO_CHAR(day_of_month(TBL.TSTMP))
date型をWHEREで比較
date YYYY-MM-DD
として、型を明示しないと上手くいかない
SELECT
*
FROM
TBL
WHERE
TBL.createAt = date '2023-11-22'
- 投稿日:
この書式で行ける
from:@hoge with:@piyo is:スレッド
- 投稿日:
タイトルの通りさくらのレンタルサーバーにTiny Tiny RSSを構築する話。いつの間にかDockerコンテナにされてたが本体は単純なPHPのままなのできちんと設定してやるとDocker環境がなくとも動く。
確認環境
Env | Ver |
---|---|
Tiny Tiny RSS | dc25a9cf6816b756cb38490eab93f02589c44a10 |
手順
以降Tiny Tiny RSSをTTRSS表記とする。
- さくらのコンパネからTTRSSで利用するDBを作る
- 以下のセットアップスクリプトを適宜書き換えて実行する
git clone https://git.tt-rss.org/fox/tt-rss.git
cd tt-rss/
cat <<'EOF' | > config.php
<?php
# This file can be used to customize global defaults if environment method is not available (i.e. no Docker).
#
# Use the following syntax to override defaults (options are declared in classes/config.php, prefixed by TTRSS_):
#
# putenv('TTRSS_SELF_URL_PATH=http://example.com/tt-rss');
#
# Plugin-required constants also go here, using define():
#
# define('LEGACY_CONSTANT', 'value');
#
# See this page for more information: https://tt-rss.org/wiki/GlobalConfig
putenv('TTRSS_PHP_EXECUTABLE=/usr/local/bin/php');
# Sets admin user access level to this value.
# Valid values:
# -2 - forbidden to login
# -1 - readonly
# 0 - default user
# 10 - admin
putenv('ADMIN_USER_ACCESS_LEVEL=10');
# Database
putenv('TTRSS_DB_TYPE=mysql');
putenv('TTRSS_DB_HOST=database.example.com');
putenv('TTRSS_DB_PORT=3306');
putenv('TTRSS_DB_USER=hoge');
putenv('TTRSS_DB_NAME=piyo');
putenv('TTRSS_DB_PASS=fuga');
# You will likely need to set this to the correct value, see README.md
# for more information.
putenv('TTRSS_SELF_URL_PATH=https://example.com/');
EOF
php update.php --update-schema
- TTRSSを設置したURLにアクセスする
- ID:
admin
, PW:password
でログインする - ログインパスワードを変更する
- 適当にフィードを登録する
php update.php --feeds
を流す- TTRSSの画面でフィードが取得できることを確認する
- cronに以下のコマンドを適当に登録する
/usr/local/bin/php /home/<USER>/www/tt-rss/update.php --feeds --quiet 1> /dev/null
トラブルシューティング
TTRSS画面を開くとエラーが出る:Exception while creating PDO object:could not find driver
.env
に設定を書いても読み込まれないのでconfig.php
に書く
TTRSS画面上にRSSの取得失敗エラーが出る:Update process failed with exit code: 127 ()
以下のコマンドを実行したときにエラーが出る筈なので、それを見て対処する
php update.php --force-update
php update.php --feeds
phpのパスが見つからないと言われた場合はconfig.php
にputenv('TTRSS_PHP_EXECUTABLE=<PHP_PATH>');
を追加して、phpのパスを設定すれば直る
フィードを追加しても更新されない
勝手に更新されることはないのでCRONが走るのを待つか以下のコマンドを流す
php update.php --feeds
Androidアプリが欲しい
Google Playにはなく、公式サイトからapkを落としてくる必要がある。
昔は有料だったが今は地味に無料化されている。
参考情報
- Tiny Tiny RSS
- 公式サイト
- Installing on a host machine
- ホストマシンへのインストール方法に関する公式資料
- 投稿日:
2023-05-04現在、無料枠では利用できない可能性があります。
Google ColaboratoryでStable Diffusionを動かす場合、無料と有料でどの程度変わるのか試してみたのでその結果。ざっくり4倍ほど変わるのかなというのが体感です。
レンダリング条件
今回は以下の設定で回した結果を比較します。
ベースとなるNotebookは以下を使っています。
https://gist.github.com/Lycolia/cb432ad1b1ce083482b5487c131b5d12/80a059931c538b10d55cf9fcbf82220f24e64653
設定値は以下です。ほぼデフォです。
設定 | 値 |
---|---|
Propmpt | (illustration:1.0), masterpiece, best quality, 1girl, solo, happy, smile, theater, (perspective:1.3), from below, (looking away:1.2), (from side:1.0), {{shot_hair}}, smile, bangs, shaggy, (brown hair:1.1), swept_bangs, thick_eyebrows, skin_fang, closed mouth, {{purple eyes}}, gray {{jacket}}, white shirt, glasses, {{small breasts}}, |
Negative Prompt | nsfw, (worst quality, low quality:1.4), (depth of field, blurry, bokeh:1.5), (greyscale, monochrome:1.0), multiple views, text, title, logo, signature, (tooth, lip, nose, 3d, realistic:1.0), dutch angle,(cropped:1.4), text, title, signature, logo, (loli:1.2), school satchel, pink, school bag, school uniform, from behind |
Model | AOM3A1B |
VAE | orangemix.vae.pt |
Sampleing method | Euler a |
Sampleing steps | 20 |
Width | 512px |
Height | 512px |
Batch count | 1 |
Batch size | 1 |
CFG Scale | 7 |
Seed | -1 |
比較結果
レンダリング時間はTotal progressの時間を書いてます。
\ | Colab無料枠 | Colab Pro |
---|---|---|
GPUクラス | 標準 | プレミアム |
メモリ | 標準 | ハイメモリ |
GPU | Tesla T4 | A100 |
システムRAM | 12.7 GB | 83.5 GB |
GPU RAM | 15.0 GB | 40.0GB |
ディスク | 166.8 GB | 166.8 GB |
レンダリング時間 | 8秒 | 2秒 |
セットアップ時間はどちらも5分ほど。
スペック情報参考
無料枠
Golab Proで標準GPUにしても同じです。
Tue Apr 11 12:50:30 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.12 Driver Version: 525.85.12 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |
| N/A 70C P8 33W / 70W | 0MiB / 15360MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
total used free shared buff/cache available
Mem: 12Gi 628Mi 7.4Gi 5.0Mi 4.6Gi 11Gi
Swap: 0B 0B 0B
Colab Pro
Pay As You Goで有料枠買ってもGPUは同じです。
Tue Apr 11 12:55:03 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.12 Driver Version: 525.85.12 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA A100-SXM... Off | 00000000:00:04.0 Off | 0 |
| N/A 39C P0 46W / 400W | 0MiB / 40960MiB | 0% Default |
| | | Disabled |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
total used free shared buff/cache available
Mem: 83Gi 756Mi 79Gi 1.0Mi 3.3Gi 82Gi
Swap: 0B 0B 0B
おまけの成果物
そこそこちゃんとした絵は頑張ってプロンプト練ったり、ひたすら回したり、i2iを繰り返したりしないと、やっぱ出てこないですね。まぁモデルによっては楽に出せたりしますが、権利関係が怪しかったりするのでここには出せないです…w
あとがき
時間帯によってUIが異様に重くなることがあり、GPUの処理速度も時間帯によっては1秒未満で終わることがあった気もするので、この不安定さはクラウドユースの欠点だなぁと思いました。とは言え、GPUを買うことに比べれば手軽に利用できるのは、やはりメリットかなと思います。
よく使う人はグラボ買ったほうがストレスとかから開放される可能性はあるかもしれません。私はRTX2060なのでどう転んでもColabの方がマシなのが悲しいところ…。4070Ti買うか地味に迷いますね。