スクリプト類とメニューボタン

トップ ソフト 雑記 日記 リンク
ラベル 公開ソフトウェア の投稿を表示しています。 すべての投稿を表示
ラベル 公開ソフトウェア の投稿を表示しています。 すべての投稿を表示

2020/12/01

アンケートに答えたくない?答えたいよね?答えて欲しいよね?

これを書いているのは12月4日なのですが、Fediverse (4) Advent Calendar 2020の1日目です。
Fediverse Advent Calendarを読んでいたら説明のところにnotestockと書いてあり、これは招集が掛かっているのか(?)と思ったのですが、もうカレンダーはいっぱいだったので、まあいいかと安堵したものの、4本目のカレンダーが作成されたので、なんか書いてみようとした次第です。

notestockとはなんだ?というのは、もうサービスが始まって2年も経つので、サイトを見てもらえばわかるかと思います。
今日は、その上で動く別サービスについての宣伝です。

分散SNS、まだ大きく広まって4年ぐらいでしょうか。GNU Socialから含めるともっと長いですね。
意外と歴史のある分散SNS界隈でも、人口はまだまだ少ないです。
SNS人口というのは雪だるま式に増えていくもので、雪だるまを作る核となる部分が小さく、回す人達も少ないとなかなか転がっていきませんし、大きくなりません。
人が居るから人が増える。人が居るから何か反応がある。
やはり人間、ある程度承認欲求は必要なもので、フォロワーが全然増えなくて壁打ちを続けるのが辛いとか、アンケートを投げたのに全然回答がないとか、なんかこう打てば響く感じが欲しい時があります。

そう、アンケートを投げたのに全然回答がない!
これ、意外と寂しいんですよね。
回答が集まって欲しいから、回答までの期間を長く取ってみたりしても、結局TLに流れるのは投稿した瞬間だけで、誰かの目にとまって共有されないと投稿の渦に飲まれてしまう。
いくら人口が少ないと言えども、SNS廃人みたいな人達が集まっている分散SNSではすぐに埋もれてしまいます。
また回答までの期間が長いと結局投稿した本人ですら忘れてしまって、気が付いたら受け付け終了の通知で思い出すという。

分散SNS界隈で広く広まっているサーバ種別であるMastodonは、立ち上げたEugen Rochko氏の思想もあって、あまり投稿が広まりすぎないような仕様を目指しているところがあります。
アンケートって、広く意見を聞きたいのに、投稿が広まらない。
これって相反する考えだよなぁと思い、辿り着いたのが、「アンケートだけ共有するアカウントがあれば、それをフォローしてもらうとアンケートだけは広く読まれるのでは」でした。
「みんながフォローすれば」、これもなかなか分散SNSの敵ともされる中央集権的な考えです。

そこでできたアカウントがvoteguideです。
notestockそのものは、わたしが作っているActivityPubをしゃべれるサーバになっていて、MastodonやMisskeyやPleromaと同じようにフォローすることで他のサーバからデータを受け取っています。
つまり、色々なアカウントを生やしてフォローすることで、他のサービスを作ることができるようになっています。
仕様についてはvoteguideのページにあるように、notestockのサーバに流れ込んできたPublicな投稿を共有するようになっています。UnlistedやPrivateは共有しません。連合TLに流すというのは、やはり広く届いて欲しいからですよね、という考えです。
また終了15分前にもう一度共有、これによって「いつの間にか終わっていた」が少なくなれば良いなと。

ということで、notestockのサブプロジェクト的な投票共有サービス「voteguide」の宣伝でした。
フォローは、お使いの分散SNSから「https://notestock.osa-p.net/users/voteguide」を検索すると出てくるかと思います。


2018/04/06

フォローリンクに機能追加しました

今年初のブログ記事です。
一応更新などはしているのですが、SNSをやり始めるとどうしてもそちらに投げるのが楽で、まとめて記事にしておくのがおろそかになりますね。

以前発表(ITmedia記事この日記の記事)した、マストドンでのフォロー状態を表示する「フォローリンク」ですが、新しい機能が追加されています。
まず、マストドンというのはSNSですが、特定の取り決めがあって、他のSNSとも接続できるのですね。このあたりは、マストドンについて調べてもらうと、他の人が書いている記事の解説がわかりやすいでしょう。
簡単に説明すると、マストドン以外にも、マストドンの元祖とも言えるGNU Socialや、新しく出てきたPleromaなどもあり、これらは互いに意識することなくフォローしあえるのです。これらは製品の名前であって、それぞれ各自が好きなように場(インスタンス)を作れます。Twitterみたいなのがいっぱいあると思ってもらえばいいでしょう。そしてお互いにやり取りできるので、それぞれにアカウントを作る必要はなく、どこか一カ所(のインスタンス)にアカウントをつくって、他の人をフォローすれば、他のインスタンスの人でもタイムラインに投稿が流れてくるので、便利です。

で、話を戻して、最初に描いたフォローリンクがこのフォロー状態を表示するのですが、新機能の1点目として、今までマストドンにしか対応していなかったものが、GNU SocialとPleromaにも対応しました。
より完璧に近いフォロー状態が表示できるようになりました。

2点目は、この機能を使って、フォロー状態をバックアップするツールを作りました。
マストドンではフォロー状態のインポート・エクスポート機能があるので、それを使って移動ができるのですが、インスタンスのトラブルなどで接続できなくなってしまうことがあるかもしれません。
このバックアップツールを使っておくと、定期的にフォロー状態を取り込んでおくので、いざというときにこのツールからフォロー状態のリストを取り出すことができます。

3点目は、これらの取り込んだ情報から、お勧めユーザーを紹介する機能です。
フォローをしてタイムラインにその人が居るということは、少なくとも見たくないユーザーではないと言うことです。そのユーザーがフォローしている人も同様だと考えると、「フォローしている人のフォローしている人」 もフォローしちゃって良いのでは?と言うことでお勧めとして紹介します。
インスタンスが離れていると、好みのユーザーを見つけにくいというのが現在GNU Socialをはじめとする分散SNSの問題ではないかと、わたしの観測範囲では言われているのですが、その解決に一つになれば良いなと思います。
もうちょっと精度を上げる方法も有るだろうと考えているのですが、まだデータ収集が十分ではないので、そのあたりを変えていけたらなと思っています。

そんなわけで、現在わたしはマストドンをメインに活動しています。
よろしければフォローしてみてください。
https://mstdn.nere9.help/@osapon

2017/12/02

マストドンのフォロー状態可視化ツール「フォローリンク」

Mastodon 2 Advent Calendar 2017の2日目です。
昨日はナツキさんのマストポータルについてでした。

トゥートでの発表はしていたのですが、自分のブログでは書いていなかったので、改めて紹介します。
マストドンでのフォロー・被フォロー状態を可視化するツール「フォローリンク」を作りました。



昔、mixiGraphという友達状態を表示するソフトが有り、あれはWindowsやMac上で動作するソフトでしたが、こちらはブラウザ上で動作します。
ただし、ひたすらに重たいです。
画面上に表示されるアカウントが1000アカウントを越えるぐらいから重たくなってくるかと思います。

表示するアカウントの関係として
  • 相互フォローだけ見る
  • フォローだけ見る
  • 被フォローだけ見る
  • フォローだけ見る(相互フォローを除く)
  • 被フォローだけ見る (相互フォローを除く)
  • フォロー・被フォローを見る
が有りますので、フォローしていない被フォローの中から、新しくフォローしてみたい人を探すという使い方も可能です。


内部的な話もしておきましょう。
フォローリンクの表示処理自体はJavaScriptでSVGを操作して行っています。D3.jsのForceグラフ機能を使って座標計算を行っています。この処理がCPUを使い切って重たいのです。
計算処理部分だけをWeb Workerとして切り出し、ブラウザのUIスレッドと分けることでフリーズしたような重さを避けることができるのですが・・・。フォローリンクでは、随時表示アカウントの追加などが行われます。
その他ドラッグしてアカウントの表示場所を移動させたり、何かと計算中でも外部からの変更が行われます。
このため、計算用スレッドとのやり取りが多くなり、現状の処理をちょろっと書き換えただけでWeb Workerに切り出すのは難しそうだという考えになりました。
たぶん、Web Workerで計算部分だけ切り出すなら、WebGLとかでGPUに計算させた方がもっと効率よさそうだな、とか。

そしてサーバ側。フォロー情報については、フォローリンクのサーバでキャッシュをしています。これは複数の人が同じアカウントの情報を見ようとしたときに、個別にマストドンインスタンスへフォロー情報を取りに行くとインスタンス側へ負荷をかけてしまうため、その対策としてキャッシュを持っています。
マストドンのフォローページをjson形式で要求することで、ブラウザに表示するHTML形式より少ない転送量で、またプログラムで処理しやすい形式として取得することができます。フォロー情報は少しずつ変わっていくと思いますので、24時間キャッシュが残るようにしています。
このjson形式での取得がGNU SocialやPleromaが現在対応していないため、マストドンだけの対応となっています。

他にも便利そうな機能があれば追加したいと思っていますので、なにか要望があれば @osapon@mstdn.nere9.help まで連絡ください!

追伸1 ITmediaにも記事にしていただきました。
マストドンのフォロー状態を可視化する「フォローリンク」

追伸2 他のマストドンアドベントカレンダーも楽しみですね。
Mastodon Advent Calendar 2017(Adventar)
Mastodon 2 Advent Calendar 2017(これ)
Mastodon Advent Calendar 2017(Qiita)
mstdn.jp Advent Calendar 2017
knzk.me Advent Calendar 2017
nico.friends Advent Calendar 2017
ますとどんちほーりれーマンガ Advent Calendar 2017

2016/05/12

Tumblrの一括タグ付けツールを作った

ネタ帳」なんて名前のTumblrをしている割に、ポストに全然タグを付けていなくて、ベストタイミングでネタを繰り出せないという大変辛い思いをしていました。
ときどき、公式の複数投稿編集ツールを使ってタグ付けしてみたりしたのですが、複数投稿編集ツールは既に付けてあるタグが見えない。とても使いづらい。
ということで、タグ付けに特化したツールを作ってみました。

Tumbtag

書き込み権限を要求しますが、タグ付けのために必要です。投稿自体は行いません。

ひとまず自分で使うように作りつつ、良い感じだったので公開します。サーバ代ぐらい稼げたら良いなという思いで広告を貼り付けています。
Issueにも既に登録していますが、いくつかまだ使いにくいなと思う点があるので、修正していこうと思います。

2009/03/09

読書情報管理サイト「りーろぐ」を公開しました

「りーろぐ」なるサービスを公開してみました。
読書情報を管理するサービスです。
まあ似たようなサービスがいくつかありますが、微妙に理想のものと合わなくてしっくり来なかったりしたので、作ってみるかと。
ひとまず公開できそうな所までこぎ着けました。
あとはまだ色々と構想があるので、ぼちぼち実装していこうと思っています。

(追記)
公開終了しました。
いろいろ他のサイトよりも先駆けて機能を追加したつもりだったのですが、やっぱり宣伝がうまくできないとだめですね。
作成依頼を受けて一緒に仕様を考えた嫁にまで使ってもらえ無いとなると。

2009/03/07

アマゾンから豊中市立図書館へリンクを張るスクリプト

と、いうことで、アマゾンから豊中市立図書館へリンクを張るスクリプトを公開しました。
新しいシステムに変わってから、ちょこちょこ試してみたのですが、よくなった部分と悪くなった部分と、まあいろいろ。
完全に機能追加だけなら、よい部分だけになるんでしょうけど、リプレースだとしょうがないですね。
仕事で作るシステムでも、予算の都合上カットされる機能もときどきあります。

今回のスクリプトで苦労したのは、検索結果を表示するために、一度cookieを貰っておかないといけないという点。
何に使ってるのかわかりませんが、ログインしてないときは別にいいんじゃね?と思うのだけど。
なにより、他の人にリンクだけ渡しても、検索結果が見られないってのは、どうよと。
せめてクエリーに条件付けてるんだから、検索条件の画面に最初からセットしておいてくれたらいいのに。

あと、検索結果のページでAuto Pagerizeが動くようにSITEINFOを登録しておきました。

(追記)
公開終了しました。豊中から引っ越しして、動作確認が出来なくなっちゃったので。

2009/01/10

URL Relayバージョンアップ

URL Relayを更新しました。
報告を受けていた不具合修正と、アプリケーションに関連づけるURLの正規表現に対応しました。

ただし、1点問題があります。
前バージョンのコードにミスがあり、そのままインストールのリンクをクリックしてバージョンアップすると、データが消えてしまいます。

設定ファイルを拡張機能のフォルダに保存していたのが原因で、このフォルダはバージョンアップ時に引き継がれず、一度削除されて、新しいバージョンのフォルダが作成されてしまいます。

そのためバージョンアップ前に、データファイルをプロファイルフォルダへコピーする必要があります。
詳しくは、ソフトウェアページに書いていますので参照ください。

いやー、何で設定が引き継がれないのか、かなりはまりました。
バージョンアップ時のフォルダを監視していると、新しい拡張機能のフォルダが作られて、firefoxが再起動。
このとき古い拡張機能が切り離されてフォルダ全消し、新しいフォルダを組み込んでfirefoxが起動してくるんですね。
firefoxが再起動してくる時点で気がつけよって話ですが。
あと、行儀良くしようと思って、設定ファイルは拡張機能フォルダが良いと思ったんですよ。
拡張機能でsqliteを使うサンプルがそんな風になってた気が。と、責任転嫁。

次のバージョンからは面倒なことはないはずです。
あと、自動バージョンアップにも対応させました。
今回だけお手数ですが、よろしくです。

2008/12/14

chaitter公開

chaitter(ちぇいったー)を公開しました。
twitterでのフォロー状態を相関図に表します。
本当は「片想い状態」も表したいんですが、使用したFlashのライブラリでは実現できませんでした。
改造したらなんとかなるのかもしれません。

chaitterのページにも書いていますが、いろいろと制限があります。
followとfollowerを取得するために、1IDあたり2回のAPI呼び出しを行います。1時間あたり100回までしか呼び出せないので、50ID分しか試せません。
もし残り呼び出し数が無かった場合は、しばらく後でお試しください。

mixiGraph並の軽さなら良かったのですが、なかなか難しいようです。
この辺は今後の課題ということで。
chaitterを作成するにあたって、GraphGearを使用しています。一部改造しましたので、そのソースについてはchaitterのページに公開しています。またtwitterからデータを取得する部分についても欲しい方がおられましたらソースを公開いたします。PEARのライブラリを使ってXMLを分解してデータベースに放り込んでいるだけなので、見て面白い部分は全くありませんが。

chaitterにするかjoitter(じょいったー)にするか迷ったのですが、joinは結びつきが強すぎる気がした(なんとなく)ので、chainの方にしました。

(追記)
公開終了しました。やっぱり重すぎる。

2008/07/13

URL Relayバージョンアップ

わたしが作るプログラムって、大体やりたいことが最初から決まっているというか、対して高望みしない機能しか持っていないので、さくっと作れてしまうような物しか作っていません。
昔は壮大な計画を持ったプログラムとか作っていましたけど。

今、手を入れているURL Relayは、もともと自分が使うために開発したFirefox拡張機能だったので、これも大した機能はありません。
「クリックしたリンクのURLに含まれている文字列によって、アプリケーションを起動する。」
なんと簡単な。

そこでMDC(mozilla developer center)で、拡張機能からの外部アプリ起動方法のドキュメントを調べて作ってみたのでした。

しかし世の中はそう単純には行かないもので、googleやYahoo!の検索結果のURLはクリック率を調査するために単純なリンクではなくなっているし、検索エンジンのキャッシュなども特殊なリンクなんですよね。
とくに検索エンジンのキャッシュはそのままのファイルではないので、アプリケーションに渡しても処理できないのが一般的です。

そこで、無視条件やフィルタを設定してURLの置換などをするわけですが、世の中には数え切れないぐらいのサイト・サービスがあるわけで…。
最初の数個は拡張機能側でも吸収できるかと思いましたが、数が増えてくると管理しきれない&速度が遅くなるということで、無視条件とフィルタ条件もユーザが設定できるように変更しました。
内部的にも、データの記録はsqliteを使うようにしてみたり、かなりの変更でした。

というわけで、いつもは不具合修正などでちまちまとバージョン番号を上げていくだけだったのですが、久々に大きくバージョン番号を上げてみました。

2008/06/28

URL Relay修正

どうやらfirefox拡張機能スレで取り上げていただいたようで、陽が昇ってからのアクセスが伸びています。
早速スレの方をのぞいて、上手く動かないパターンが有るようだったので修正。
あと、URL RelayだったりUrlRelayだったり表記がそろっていなかったのも修正。
「Ctrl+クリック」や「target="_blank"」タイプのリンクなど、新しいタブで開く処理は内部的にキャンセルする命令を出していて、開かないはずなんですが…。何か別の拡張と干渉してるのかなぁ。

Googleのキャッシュも奪い取るのは…対処できるな。合わせて作業すればよかった。
やっぱり正規表現に対応した方がいいかな。どうせならURLを加工して渡せるようにしたいなぁ。

2008/06/20

datファイルインデックス作成プラグイン

datファイルから探し物をしようかと思ったんだけど、50Gぐらいあるんだよねー/(;^_^)
いつ完了するのかわからん。どうせならインデックスを作成して検索してくれたらいいんだけど、と思っていたらそういうソフトがあるらしい。
でも、せっかくだからGoogleデスクトップから検索できたらうれしいなぁと思って、勢いで作りました。
たぶんちゃんと動いてるはず。
Googleデスクトップはアイドル中しかインデックスを作成してくれないから、まだ全部のdatファイルを走査していません。
一応検索できるので、大丈夫だろう…と。

2008/06/15

URL Relay公開

昨日、新聞のテレビ欄の解説を見たら古畑任三郎の中学生時代のドラマ、その名も「古畑中学生」が放映されると載っていました。導入部分に古畑任三郎も登場するらしい。
きっと9時からの2時間ドラマ枠だろうと思い、時間まで別のことをしていようと計画を立て、以前から悩んでいた「コイン洗車場で車を洗うと、水分が乾いてしまって余計に汚れがこびりつく」という問題について、「陽が落ちてから洗うとよい」という書き込みを見つけたので、コイン洗車場で車を洗車してきました。
洗車から戻って午後8時40分。それから晩ご飯を食べ、少し時間が遅れて午後9時10分からテレビをつける。
松嶋菜々子が出ていました。
これは確か、古畑のラスト作品に作家役で出ていたよな、ということを思い出し、この作家が古畑中学生を書いたという設定か!とわくわくしながら見ていたら、なんか知ってるシーンばかり展開していきますよ…。
改めてテレビ欄をみてみたら、がーん、古畑中学生は7時からでした。
どうせなら、ラスト3作の1本目のやつ(今、甦る死)を放送してくれたらよかったのに…と思いつつ、いまwikipediaを調べたら先週の6日に再放送されていたらしい。
とことんついてないわー。


ということで、よく分からない接続ですがfirefox用の拡張機能「URL Relay」を公開しました。
これはfirefoxでクリックしたリンクのURLにしたがって、別のアプリケーションにURLを渡すという拡張機能です。

最近はgoogle readerに登録した2NN+のRSSから、わたしが愛用していたfirefox用2ちゃんねるブラウザ「bbs2chreader」でスレを開くというのが日常の使い方だったのですが、bbs2chreaderがfirefox3には対応しないと宣言されてしまいました。
そのため以前使っていたLive2chに戻ろうかと思ったのですが、膨大なスレの中から面白そうなスレを見つけるのにはやはり、まとめサイトや2NN+のような存在は欠かせないなぁと思っています。
そこで何かしら連携機能が必要だろ…と思い拡張機能を探してみたのですが見つけられず、じゃあ作るかとなった次第です。
firefox3も18日早朝(日本時間)からダウンロード開始です。firefoxとアプリケーションの連携にはURL Relayをぜひどうぞ!

2008/05/25

PEARって、PHP4向けなのかな

写真今日は昼から図書館のサーバが落ちたままなので、サイトで公開しているスクリプト群がエラーを吐いていた。
図書館サーバから情報を引っ張ってくるのは、PHPの標準で使えるfile_get_contents()を使っていたんだけど、エラーのトラップが出来ないのね。
んで、PEARのHTTP_Requestを使うことにする。
早速変更してみたら、エラーでまくり。
PHP5でワーニング扱いになるオブジェクトの生成参照とか、静的宣言されてない関数を静的に使おうとするとかあたりが引っかかるっぽい。
スクリプトは弊社製PHPフレームワーク上で動いているので、そのへんの警告も全部トラップされてしまって、全然動かない。

結局、一時的にSTRICTは無視するようにしたりして回避。
PEARの中でも、両対応の物もあったりするんだけど、まだまだPHP4向けのままなのかねぇ。
もうPHP4もサポート終わってるし、PHP5も5.2まで出てるというのに。
開発者の方には頑張って欲しいと他力本願(自分で開発に加わるほどリソース空いてないっす)。

2008/04/13

nav-u用マーク編集ツール

Google Map から nav-u XMLファイルを作成するツールを作ってみた。
年明けにポータブルナビを買ったんだけど、いまいちパソコンとの連携があと一歩という気がする。
付属のパソコン用ツールでは、マークの編集は直接緯度経度を入力させる方式で絶対素人には登録できない。
どうせなら、本体の地図をパソコン側で表示させたら登録しやすいだろうに…と思う。

内部の解析とかしてないので(Linuxだというのは分かってるんだけど)、とりあえず外部からちょっとでも楽になるかなぁと。

しかしPetaMapからの出力は、なんでガイドブックにしか対応しないのだろう?
マークリストを出してくれたら、一気に解決すると思うのだが。

1999/11/28

バイト先で、入力とは別の仕事もやらせてもらっています。
でも、その仕事。やってることは単純で割はいいのですが、数が多くて閉口してしまいます。
わたしがプログラムを作ってだいぶマシにはなったのですが、まだまだ。
ということで、今日一日で、最終工程「フロッピー約850枚のコピーとチェック」をしてしまうプログラムを作りました。
久しぶりに再帰のプログラムを書きました /(;^_^)
最近ずっと、ひとつのプロジェクトしかしていなかったので、久しぶりに一から書くと新鮮ですね。
そうそう、クリスマスイブ発売のDOS/V POWER REPORT 2000年2月号にマスコットウィンドウが掲載されます。
バージョンは1.4e。バージョン2をやりたいと思いながらなかなか時間がとれない…。

広告