This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
動くコードを書く楽しさと、美しいコードを書く楽しさがある。両立できるように精進したい。 #dtp
突然ですが、キセキ食堂。
孤独のグルメSeason7にて登場した、我らが上尾のトンカツ屋であります。残念ながらまだ食べたことありません。
キセキ食堂の隣に床屋があるんですが、昔からそこに通っておりまして、放送前から、撮影時の様子などを聞いていたので楽しみにしておりました。(床屋もちらっと映ってますw)
放送直後は人で溢れて大変だったようです。一時よりはマシのようですが、まだ大勢人が並んでいたりするとのこと。
もちろん、途中で映っていた(スルーされていた)上尾飯店とか恵比寿亭も、上尾ではよく知られたお店です。 #dtp
This account is not set to public on notestock.
AdobeフォーラムのIllustratorの質問だけど、これ良い質問だよね。
面白いので、 @monokano @yamo と私とで食いついてるw
レタッチャーとか、編集者とか、DTPオペレーターとか、裏方の専門家が担保している部分の話。
この分野は一般の方のみならず、経験がなければグラフィックデザイナーでもよくわからないハズなので、専門家と協力してコトにあたって欲しいなと思うところです。
素人が着の身着のまま登山してしまうようなもので、それはそれは恐ろしい……。
--
画像の拡大縮小は元の大きさの70%~130%までのなぜ?
https://forums.adobe.com/thread/2515864 #dtp
やっぱAPIは自分でいじってみないと挙動がわからん。
PC-9800シリーズ テクニカルデータブック、UNDOCUMENTED 9801/9821を抱えてBIOS叩いてたあのころと、なんもかわらん……。 #dtp
This account is not set to public on notestock.
@keizou まだちゃんと公開準備できてないのですw
https://github.com/noellabo/gianism-mastodon
現状のモノはこっそりここにおいておきます。
https://www.dropbox.com/s/1zsql013fqlr3x1/gianism_mastodon.zip?dl=0 #dtp
り畳まれていると都合が良いということがあるかもしれません。
また、アカウントを作成してログインしている本人の投稿ということで、WordPress上ではコメントの承認が必要となる場合がありますが、連動投稿については承認されなくても自動投稿されるようになっています。
長文投稿対策としては他に、デフォルトで500文字を超えた場合に、分割してリプライで繋げて投稿する仕組みになっています。
以上、長文投稿テストw… (2/2)
gianism-mastodonのコメント連動投稿機能のテスト投稿です。ついては、当コメントと元記事の内容は一切関係ありません。
gianism-mastodonは、WordPressへマストドンアカウントで新規アカウントを作成したり、既存のユーザーにマストドンアカウントを接続して、マストドンログインを実現するプラグインです。
Gianismの機能を拡張するかたちで実装されているので、本プラグインの導入にはGianismが必要です。
また、WordPressのコメント投稿を投稿者のマストドンアカウントで連動して行いたいという要請を受けて、コメント連動投稿を行う機能が同居しています。(将来的に分離する予定です)
ネタバレ防止用に、デフォルトでCW投稿となるようにするテンプレートを設定できます。コメントの自動投稿なので長文になることは少ないと思いますが、運用形態によってはコメントがメインコンテンツになる構成も考えられるため、CWによ… (1/2)
Mastodon、開発が活発でコミュニティも元気なので、毎日更新を追っかけていれば簡単だけど、あとから参入したりたまにしか見なかったりすると、今の状況や経緯を確認するの大変だよね。
「最近、マストドンってどうなの?」「なんもわからん」
になりがち。 #dtp
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
イワテドン一周年は忙しすぎて何もできませんでしたが、個人事業主になって約5年、ねんがんの アーロンチェアをてにいれたぞ!
This account is not set to public on notestock.
コーヒー豆、とりあえずそんなにスゴイのじゃなくていい、っていう向きには @nelsoncoffeeroaster さんとこのミケランジェロがお薦め。安いけど、これ美味しいよ。
1kgがお得だけど、最初はこっちの500gがいいと思う。飲みきるまで時間かかっても、美味しい状態が長持ちするよ。
https://ncr.official.ec/items/12101051 #dtp
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
もっとこうしたらいいんじゃね? という、仕組みの改善を考えるのが好きで、実際に実行して結果を確かめるのも好きで、それを趣味にしたり仕事にしていたりする。
思い通りにいくこともあるし、見立て(前提の捉え方)が間違っていることに気付くこともあるし、よりシンプルな解法があったのに複雑にしすぎて失敗したり、運用が負担になる持続性のない不自然な形を作ってしまうこともある。
なるべく苦労せずに済むように答えを探すのは勿論だが、上手くいかなかった時が一番力を試されるし、血肉になる。
プログラミングはこうした目的には非常に適していて、それを知った時からこれまでずっと興味が尽きないし、それゆえに勝手に身につけてきた。
なにより、低コストで素早く沢山失敗できるのが良い。また、一人でやれる範囲が広い。さらに、同じように取り組む仲間が沢山いて、技術を共有する文化があり、容赦ない欠点の指摘をポジティブに受け入れる希な世界でもある。
自分の生まれた時代に発展した新しい分野で非常に幸運と言うしかない。 #dtp
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
よし、BASEから注文だ。
シマダ農園他、注文いれるよー!
@nelsoncoffeeroaster #dtp
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
なんかこう、音楽が延々と頭のなかに流れ続けてとまらないヤツあるじゃないですか。言葉とか概念もまた、延々と繰り返したりするんですよね。 #dtp
最近、バーチャルユーチュー鳩 ダヴ沢の「これをみろよ」ってタイトルが自分の中でジワジワと評価を上げていて、そうだよなぁ、我々がMastodonで画像をアップしたりエピソードを紹介したりするのって、もう「これをみろよ」以外の何モノでもないよなぁ。なんでこんなにぴったりくる言葉を選べるんだろう。などとぐるぐると頭の中で反芻している。素晴らしいタイトルです。何か、人の業を一言であわらしたような……(以下、ずっとループ) #dtp
This account is not set to public on notestock.
Mastodonの管理に便利なツールが用意されています。一覧はこちら。
https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/List-of-Rake-tasks.md
Mastodonユーザーで、Mastodonが配置されているディレクトリ(変更していなければ ~/live )に移動し、
RAILS_ENV=production bundle exec rake タスク名
で実行します。
オプションを指定するものもあります。
たとえば、外部のインスタンスから取得したメディアファイルを削除するタスクは、何日前のものを削除するかを指定する NUM_DAYS というオプションがあり、指定しないと7日前となります。これを14日前にするには、
NUM_DAYS=14 RAILS_ENV=production bundle exec rake mastodon:media:remove_remote
と指定します。
注意点として、多くのタスクが、Mastodon本体と同様に、Workerを通じて非同期に実行されるようになっています。即座に結果が反映されないのでご注意ください。 #dtp
Mastodonの管理に便利な、ちょっとしたツールが用意されています。一覧はこちら。
https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/List-of-Rake-tasks.md
Mastodonユーザーで、Mastodonが配置されているディレクトリ(変更していなければ ~/live )に移動し、
RAILS_ENV=production bundle exec rake タスク名
で実行します。
オプションを指定するものもあります。
たとえば、外部のインスタンスから取得したメディアファイルを削除するタスクは、何日前のものを削除するかを指定する NUM_DAYS というオプションがあり、指定しないと7日前となります。これを14日前にするには、
NUM_DAYS=14 RAILS_ENV=production bundle exec rake mastodon:media:remove_remote
と指定します。
注意点として、多くのタスクが、Mastodon本体と同様に、Workerを通じて非同期に実行されるようになっています。即座に結果が反映されないのでご注意ください。
最近あまり活用されていないMastodon日本語メタフォーラムですが、こちらのトピックも参考になるので掘り起こしておきます。
インスタンスの容量の節約のアイデア
https://discourse.mstdn.jp/t/topic/181
#relay考
QT:[https://dtp-mstdn.jp/@noellabo/100386583641342200]
This account is not set to public on notestock.
@Yohei_Zuho 何歳とか、Mastodonやってると関係なくコミュニケーションとれてるよね! きっと知らないだけで、凄くいろんな年齢層の人達が、普通に混じり合ってやりとりしてるよ!
嬉しければ「ありがとう」っていうし、失敗したり迷惑かけたら「ごめんなさい」っていうし、楽しいことがあれば一緒に笑い合えるし、普通に一緒に過ごせる。
実年齢が邪魔しない。
本当に自由でいいなーと思う。
というわけで、年齢は気にしないでOK。一緒にプログラミングしましょうw #dtp
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
インスタンスのDBやメディアの保存容量圧縮について
リレーによるトラフィック増大を受けて、マジで考えなくてはいけなくなってきた件。
ちょうど今 @Gargron さんがpostした内容がぴったりです。
https://mastodon.social/@Gargron/100386555690511875
こちらのissueです。
https://github.com/tootsuite/mastodon/issues/1554
問題は認識されています。
掃除する基準、それを実行するsidekiqタスクが膨大になる件、など、相応に難しい問題だということですが、解決したいですねー。 #relay考
@toneji さん管理の箕面どんで、ディスク容量不足によるダウンがありました。
リレーによる急激なトラフィック増大が、直接または間接的な原因と考えられます。
@theoria さんが指摘していた通りのことがストレートに起きた感じです。
https://wug.fun/@theoria/100379745939116761
俳句検出Bot @find575 も、自鯖におかないようにしているそうですw
https://wug.fun/@theoria/100384460903755520
@theoria さっそく起きましたぜ、リレーによる急激な負荷増大が原因と思われるディスク容量不足事故。
https://minohdon.jp/@toneji/100385205968199407
@toneji そうでしたか……。かえってご迷惑をおかけしました。でも復旧してよかった!
鯖缶勢として、ディスク容量不足は通過儀礼みたいなものですがw
あと、何かあったことにこちらで気付いても連絡手段ないねって話をしておりました。
@kedama さんが箕面どんが落ちてるって教えてくれました。
https://foresdon.jp/@kedama/100382660058734952
https://foresdon.jp/@kedama/100383638936317360 #dtp
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
relayの裏でwakinさんのsimple_apをずっといじってる。
なんか例外吐いてるっぽいところがあるんだけど、どうデバッグしていいかわからない。Pythonも頑張らねば……。 #dtp
This account is not set to public on notestock.
@mochi_roc たとえば、視覚デザイン研究所のVDLロゴGって書体ありますよね。
これ、本家のライセンスこんな感じです。
http://www.vdl.co.jp/license/index.html
Typekitのはこちら。
https://helpx.adobe.com/jp/typekit/using/font-licensing.html
もちろっくさんはマジで見ておいた方がいいですよ。追加料金なしで利用できる範囲が全然違います。 #dtp
Typekitの本当の凄さは、本家とはライセンス(許諾範囲)が異なることかな。
……DTP勢の詳しい人を呼んでこないと説明できないけどw #dtp
This account is not set to public on notestock.
@centumix botバッチが設定されているアカウントのトゥートを、インスタンス側で投げないようにしました > DTP-Mstdn.jp
commitおいておきます。誰でもできる簡単なお仕事です……
https://github.com/dtp-mstdn-jp/mastodon/commit/84ba276d980e28306f756dc546315c4e4d8c8550
インスタンスでルール化しているなら、Mastodon側でBotアカウントの公開トゥートを強制的にunlistedにしてもいいような気がします。 #relay考 #dtp
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
Mastodonは、連合があるから、どこのインスタンスに登録しても同じだよ!
……というのは今のところ情報強者の理屈でして、
よくわかんないけど、たしかにそうだね
って状況を自然に実現する方法は、もう少し智惠を絞っておいた方が良いと思います。
リレーがうまく機能すれば、その一助になると思いますが、この観点からはどうでしょう?
リレーされる情報を、無作為に減らして、一定量以上はリレーしないようにする、という乱暴な実装も考えられる。負荷軽減策。
1toot/秒以上は受け取らないとか、100toot/日をlimitにするとか。
pub-relayの実装も、全ての情報を確実に伝えることは意図していない(リトライしない)し、まぁ賑わえば歯抜けでもいいんじゃね🤔
リレーによる機能の実現
・リレーに送信するが、受信しないインスタンスを認める(inboxに投げるだけでフォローしなければOK)
・特定の条件を満たす情報のみリレーする機能(タグ、キーワード、インスタンスなど)
・リレーをリレーする機能(ループしないよう、経路情報やTTLのような情報が必要?)
・経路情報やキーワードマッチ結果などの付加情報を持たせる機能(元情報をペイロードとするガワをつくる等)
リレーの倫理
・利用目的の明示(目的外利用の禁止:検索インデックス作成、トップランキング、ワーストランキング等)
・検閲・情報統制への利用を防ぐとともに、スパム・迷惑行為への対処をどう実現するか
リレー+インスタンス側のフィルタによる機能の実現(クライアントによっても実現できる)
リモートタイムライン(指定インスタンスのトゥートだけを選択的に表示するTL)
・リレー供給を受けていれば、自インスタンスに居ながらにして別のインスタンスのTLが再現できる
インタレストフィルタ(被ブースト・お気に入り・リプライ数によって表示可否を設定)
・リレーによって流入したトゥートを非表示にする(ユーザーが選択)
・誰もインタラクションしていないトゥートを非表示にする(ユーザーが選択)
インタレストフィルタの考察
・インスタンス内の誰かが関心を持っている外部の情報、というこれまでのインスタンス毎の連合タイムラインの意味を再確認し、その方向を強化するためのフィルタ
・当初フィルタされていたトゥートがあとから表示する条件を満たした時に、どのような挙動となるのが理想か(ひょっこりその場に現れるべきか、何らかの基準でageられるべきか)
大規模インスタンス
・大規模なインスタンスは、既に十分なユーザーを抱えていて、基本的に自己充足している
・ユーザーのリモートフォロー・リプライ・ブースト等により、連合タイムラインに他のインスタンスのトゥートが十分に流入している
・他のインスタンスのLTLから無条件の供給を受ける必要はない
・網羅的な情報が有用なので、タグTLの供給は受けてもよい
・最小限の負荷であれば、LTLを供出してもよい
中小インスタンス
・少ないリソースで運用しなければならないため、身の丈を超えた流入は受け入れられない
・負荷軽減のため、流入量に制限を設けたい
・特定のタグの情報は欲しい
・特定のキーワードなど、内容により選別されたトゥートは欲しい
お一人様インスタンス
・あらゆる戦略が考えられるが、他のインスタンスのアカウントを必要とせず、自インスタンスに居ながらにして最大限Fediverseを活用するという目的であれば、興味のあるインスタンスの情報は受け取りたい
・情報を絞り込む戦術など、その他の事情は、中小インスタンスと共通
#relay考
This account is not set to public on notestock.
@toneji Mastodon以外のサーバでどんな機能追加が必要になるかまではわかりませんが、仕組みが単純なので、簡単に実装できるハズです。
--
リレーですが、フォローBotを不要にしたいという議論と、Diasporaのリレーの仕組みを参考に議論がはじまっています。
他の連合する機能を持ったシステムがこうした問題にどう取り組んでいるのか、先行する仕組みに寄せた方が良いのか、独自に発展した方がよいのか、互換性のあるものを目指すべきなのか……。
人任せにしていても、Mastodonの開発をリードするEugenさんと主要開発者、関連のIssueでの議論を中心に出来上がっていくと思いますが、我々も理想の姿について色々と考えて議論し、勝手にヘンなもの作ったり膨大なトラフィックを送り込んで怒られたりしながらw、何らかの形で参加していった方が良いのではないかと思います。
だいたい、ヘンなものができて押しつけられてから「どうしてこうなったの!?」とか思うワケですが、結局は任せきりにして意見しなかったことが原因です。どうせなら最初から参加しちゃいましょう。 #dtp
@toneji Mastodon以外のサーバでどんな機能追加が必要になるかまではわかりませんが、仕組みが単純なので、簡単に実装できるハズです。
--
リレーですが、フォローBotを不要にしたいという議論と、Diasporaのリレーの仕組みを参考に議論がはじまっています。
他の連合する機能を持ったシステムがこうした問題にどう取り組んでいるのか、先行する仕組みに寄せた方が良いのか、独自に発展した方がよいのか、互換性のあるものを目指すべきなのか……。
人任せにしていても、Mastodonの開発をリードするEugenさんと主要開発者、関連のIssueでの議論を中心に出来上がっていくと思いますが、我々も理想の姿について色々と考えて議論し、勝手にヘンなもの作ったり膨大なトラフィックを送り込んで怒られたりしながらw、何らかの形で参加していった方が良いのではないかと思います。
だいたい、ヘンなものができて押しつけられてから「どうしてこうなったの!?」とか思うワケですが、結局は任せきりにして意見しなかったことが原因です。どうせなら最初から参加しちゃいましょう。 #dtp
自分でリレーサーバのコードを書いたみたいな実装の説明をしましたが、単に読んで説明しただけです。読み違えていたらご容赦ください。
このあたりを踏まえておくと、リレーってどうよ、という話をする際に、実装を知らずに話すより生産的な議論ができるのではないかと思います。
リレーサーバの実装の話。
現在のリレーサーバ実装(pub-relay)は、登録インスタンスのリスト(ドメインとinboxのアドレス)と、登録を拒否(ブロック)するドメインのリストだけをデータベースに持っています。
relay@リレーサーバ というアカウントが直接生えているので、各インスタンスはこれとやりとりしています。
登録インスタンスがrelayのinboxに投稿を投げてよこしたら、全登録インスタンスのinboxにそれを投げ直します(パススルー)。
relayへのフォローリクエストの体で、リレーに登録し、フォロー取り消しで削除。
sidekiqでProcessWorkerとDeliverWorkerが走っていて、ProcessWorkerがrelayに対するリクエストの処理、DeliverWorkerが各インスタンスへトゥートを配信する処理を行います。
sidekiqのキューはdefaultのみ、リトライは行いません。
登録インスタンス一覧と、ブロックの登録・削除を行う、シンプルなコマンドラインツールがついています。
実に美しく読みやすい。
※個人の感想です #dtp
リレー、動かしてみて良いところをみつけたり、問題点をあぶり出したりする段階なので、たくさん話題になるといいな。 #dtp
箕面どんの鯖缶 @toneji さんが、v2.4.3にリレーの機能だけをcherry-pickして動かし始めました。
https://relay.dtp-mstdn.jp をリレーに登録し、参加いただいています。こちらは現在11のインスタンスが登録しています。
@h3zjp によると、現在下記のリレーが観測されているようです。
https://m.中二病.jp/@h3zjp/100379360586852696
※ リレーはオプション機能で、全文検索機能のように、Mastodonに必ず必要なものではありません。また、まだ最初の実装が提供されて日の浅い、極めて実験的なものです。皆さんに積極的におすすめするものではありません。
いち早く体験し、どういうものが導入されようとしているのか、自ら確認してみたい!という人はやってみてもいいんじゃないかな、という程度です。
※ もともとがオプションということもあり、導入しても具合が悪ければすぐにリレー登録を止められるので、過度な心配は不要です。
※ cherry-pick:自分の気に入ったものだけをつまみ食いする、の意。gitで、特定の変更だけを取り入れるときに使う機能 #dtp
@toneji リレーから他のインスタンスの投稿がFTLに流れてきていれば成功です。
https://mstdn01.noellabo.jp この臨時インスタンスのFTLと同じものが来ているハズです! #dtp
migrateは、データベースに変更が必要な箇所をソースコードから見つけ出して、追加・変更のためのマイグレーションコード(rubyのプログラム)を生成します。
生成したmigrate用のコードは~/live/db/migrate/ に増えていきます。ここをチェックすると、データベースにいつどのような変更をしてきたのか、履歴がたどれます。
生成したコードを実行して、データベースに実際の変更を行います。
このコード生成と実行を行うのが、いつもやっている
RAILS_ENV=production bundle exec rails db:migrate
です。
(まれにmigrateに失敗して、アップデートが立ち往生することがあります。そのときに、問題を起こしているファイルを削除てやりなおしたり、コードに手を入れる場合があります)
Mastodon本体のプログラムは開発者達が修正してくれますが、自分のインスタンスの状態は自分で面倒をみなければならないので、覚えておきましょう!
@theoria まず、すごい勢いでリモートアカウントが増えていきますw
joinmastodonのリレーに登録した日にゃ、これまで接点がなかったアカウントがバンバン登録されています!
ここんとこマジメなことばかり言っていたから、少しくだらないことをいって中和せねば(いらない #dtp