私が歌川です

@utgwkk が書いている

西荻窪の桜と鳩羽つぐちゃん

東京に来たついでに,鳩羽つぐちゃんに関する漠然とした何かを探しに西荻窪に来てみた. 西荻窪という地名は1970年に廃止されたらしいが,今でも駅名に残っているため,私はその周辺のことを西荻窪と呼ぶことにしている.

www.youtube.com

そもそも西荻窪という土地のことを知ったのは,鳩羽つぐちゃんの動画からである. そこが都区内フリーきっぷの範囲に含まれること,そして杉並区の西の端であるということは,東京に行ってから知った.

西荻窪に住んでいるとされる鳩羽つぐちゃんに関する情報は,結論から言うと,何も得ることができなかった. 数十分という時間ではそれが限界なのかもしれないし,あるいはそもそも初めからそこには何もなかったのかもしれない. 街ではおまわりさんが自転車でパトロールをしており,八百屋では新鮮な野菜が売っていた. ここが杉並区であるということを,ときおり見かける放置自転車の注意書きが思い出させてくれる.

動画をアップロードするという発信行為によって,自らの命を,視聴者の記憶に残りつづける永遠のものとすることに成功してしまったのだろうな,とふと思った. そこでは結論は語られておらず,あらゆる可能性はまだ収束していない. 人々は,行為に対する適切な解釈を用意することによって鳩羽つぐちゃんを理解しようとしており,そして私もその1人に過ぎないのである.

www.instagram.com

桜がもうだいぶ咲いていた. 4月を待たずに葉桜になってしまうかもしれない.

MySQL5.7のN-gramインデックスを用いた全文検索で絵文字単体が検索できない

LIKEによるマッチングには引っかかるけど,MATCHによる全文検索では引っかからないケースがある. ずっと困っているので,正しいクエリの書き方とか設定とかあったら教えてください.助けてくれ…….

mysql> set names 'utf8mb4' collate 'utf8mb4_bin';
Query OK, 0 rows affected (0.00 sec)

mysql> select * from test_table;
+----+-----------+--------------------------------------------------+
| id | title     | description                                      |
+----+-----------+--------------------------------------------------+
|  1 | test      | test data.                                       |
|  2 | 日本語    | これは日本語のデータです                         |
|  3 | emojis    | there are various emojis such as 😇, 🙆 etc.         |
+----+-----------+--------------------------------------------------+
3 rows in set (0.00 sec)

mysql> select * from test_table where match (description) against ('😇*' in boolean mode);
Empty set (0.00 sec)

mysql> select * from test_table where description like '%😇%';
+----+--------+--------------------------------------------------+
| id | title  | description                                      |
+----+--------+--------------------------------------------------+
|  3 | emojis | there are various emojis such as 😇, 🙆 etc.         |
+----+--------+--------------------------------------------------+
1 row in set (0.00 sec)

mysql> select * from test_table where match (description) against ('😇,' in natural language mode);
+----+--------+--------------------------------------------------+
| id | title  | description                                      |
+----+--------+--------------------------------------------------+
|  3 | emojis | there are various emojis such as 😇, 🙆 etc.         |
+----+--------+--------------------------------------------------+
1 row in set (0.00 sec)

mysql>

my.cnf の内容です.

[mysqld]
character-set-server = utf8mb4
innodb_ft_min_token_size = 1
innodb_ft_enable_stopword = off
ngram_token_size = 2

query_cache_type = 1
query_cache_size = 64M
query_cache_limit = 8M

innodb_buffer_pool_size = 256M
innodb_flush_log_at_trx_commit = 0
innodb_flush_method=O_DIRECT
innodb_log_buffer_size = 8M
innodb_log_file_size = 128M

table_open_cache = 32
max_connections = 128

[client]

再現用のmysqldumpです.

gist.github.com

スライドをスライド共有サービスに置くのをやめることにした

いろいろな発表スライドを共有するためにSlideShareやSpeakerDeckなどのサービスを使っている人が多いと思うし,私も使っていたけど,以下の点が気にくわないのでこれからは自分のVPSマシン上にPDFを置くことにした. SlideShareやSpeakerDeckなどのサービスが潰れてほしいとはまったく思っておらず,サービスの方向性が私と合わなかっただけのことだと思う. 他のサービスは使ったことがないのでわからない.

  • SlideShare
    • スライド読もうとしてページを送るとページの再読み込みが走ることがある
    • LinkedInのアカウントと紐づいているので,油断すると本名と結びついてしまう
    • 自分でスライドのURLを制御できない
    • MacKeynoteで作ったスライドのフォントが正しく表示されない
      • これはフォント埋め込み設定ができていないからという気がするが検証してない
  • SpeakerDeck
    • 日本語を含むタイトルに対してのURLの生成方法が狂ってて,油断するとURLがめちゃくちゃ長くなる
      • 英語のタイトルを添えるなどでいちおう対策はできるが……
    • 自分でURLを制御する方法がスライドのタイトルしかない
    • スライドのタイトルを変更したらURLが変わることがある(!?)

そもそも何のためにスライド共有サービスを使っているのかよく考えてみたが,使う必要はないという判断になった. 別にページ送りができればいいし,モダンなブラウザやPDFビューワならそういった機能ぐらいは備わっているだろう*1し各自でPDFを見てもらえばいいと思う. SNS的側面*2は私個人にとってはノイズでしかないし,管理するアカウントが1つ増えてしまうのでむしろ大変. 必要なのはスライドの設置場所だけだったのではないか.

今後は私が公開するスライドは https://sugarheart.utgw.net/static/pdf/ に置いていくことにする. utgw.net というドメインは私が最低限の文化的生活を営めている限りは保持していくと決めているし,置き場所が変わろうともURLは変えないつもりである. また,先述したサービスが終了しない限りはそこにあるスライドも(法的な問題が発生しない限りは)消さずに残しておく.

*1:EdgeでPDFを開いたときに,左右キーでページ送りできないのは許していない.

*2:スターや閲覧数.