プログラミングなんてわからないんですけど〜

元プログラマによるプライベートでのプログラミング日記。1/3のつもりだけどソフト関連はここがメイン

AMD APUでのDLNAアプリは「PC TV Plus」しかなさそうだ

ファイルサーバーを置き換えたため、ThinkCentre M75q-1 Tinyを再びメインのデスクトップPCにしました。普通のソフトは問題ないんですが、1つだけ問題のあるソフトが。「DiXiM Play」です。AMD APUの内蔵グラフィックスを使っていると動かない、対処方法が…

fediversesearchのクローラーを開発しています

fediversesearchは、基本となるサーバー部とWebUIに関してはほぼ完成しました。クローラーに関しては初期に作成したコードがあり「クロールする」という点では動いていたのですが、運用する場合に「どこがボトルネックになっているのか調査しにくい」構造に…

NFC非接触式カードリーダーでLinuxのログイン認証をしてみる

この前、接触式カードリーダーでLinuxのログイン認証を試しました。 www.kaias1jp.com まあ、上手く行ったのですがやはり非接触式が欲しいと思い、「ADVANCED CARD SYSTEM ACR1251U-A1 スマートカードリーダー」を購入しました。 www.popnja.com Linuxでも使…

IFTTTとOneDrive、Gmail APIなどで自動化をしてみる

先日、ポメラのDM200を購入しました。 DM200には、「アップロード」という名のメール送信機能があります。これを使ってまずはDM200からOneDriveにファイルを登録します。そのために、IFTTTを使いました。 「Email」と「OneDrive」を組み合わせています。DM20…

Arch Linuxでマイナンバーカードでのログイン認証をしてみる

時間があるので、マイナンバーカードのPAM認証をArch Linuxでやってみました。 今回の環境は、ThinkPad X201で構築しています。まずは参考文献から。 www.osstech.co.jp www.osstech.co.jp www.r-cnct.com今回使用するのは「SCR80」という接触式カードリーダ…

fediversesearch APIの使用例を紹介します(TheDesk)

Cutls氏が開発している「TheDesk」というデスクトップアプリがあります。このアプリは、Windows/Mac/Linuxのデスクトップで動くマストドン・misskeyなどなどのクライアントアプリです。thedesk.top 1m.cutls.com実は、fediversearchを公開した時に「APIあっ…

mastodonの全文検索インデックスの定期更新をしてみた

mastodonの全文検索ですが、オリジナルのソースコードを使用している場合はインデックスの更新は適宜行われます。 ただし、私のように公開タイムラインのトゥートまで検索対象にしている場合は、ソースコードのかなり深いところまで手を入れないと更新されま…

fediversesearch.comのnginxにオンメモリcacheを設定しました

前段をcloudflareにしているんですが、いまいち反応が鈍い。そういえばnginxにcacheを設定していなかったなと思い色々調べたところ、tmpfsにcacheを持たせられるらしいことがわかったので試してみました。arakoki70.comblog.katsubemakito.netblog.splout.co…

fediversesearchのソースコードを公開しました

fediversesearchですが、オプトアウトによる検索対象除外処理を実装できたのでクローラーを除くソースコードをひとまず公開しました。github.comgithub.comフロントエンドとバックエンドを分離しているのは、単に趣味なだけです。DBからむ実装とWeb系は分離…

mastodonで使用しているS3の設定とかを変えてみた

実は「パス形式での S3 API リクエスト」はいつかできなくなるかもしれないという話がありました。dev.classmethod.jpaws.amazon.comで、うちのサーバはバケット名にドット(.)を使用しているので完全にあかんのですね。なので、新規にバケットを作成しても…

fediversesearchの検索条件にサーバーのソフトウェア種別を追加しました

DBに格納されているURIに対してクロールを実行し終わり、有効なURIのうちサーバーのソフトウェア種別が取得できるものはある程度種類を絞り込んだうえでDBに保存しました。ソフトウェア種別に関してはどう取得したらいいか悩んでいたのですが、分散SNSのフォ…

fediversesearchのモバイル画面を修正しました

fediversesearchのモバイル画面ですが、いままでは「ひとまずスマホの画面に収まるぐらいのサイズで」という感じで検索結果を出していました。 今のところ取得できるサーバの情報もほぼ取得し終わりましたので、もう少しまともな画面に直しました。まずは、…

fediversesearchでロケール未指定の場合自動判別するようにしました

ロケール指定がない場合、デフォルト言語であるenを表示するようにしていましたが、さすがに不便だろうと思いましてロケール指定がされていない場合にブラウザの優先使用言語を取得して自動的に切り替えるようにしました。pisuke-code.comまずはパラメータ指…

fediversesearchのDBにデータがINSERTできなくなっていた

新しいデータのクロールをいい加減にしていたので気づかなかったのですが、セカンダリDBを昇格させたあとからINSERTに失敗していたようです。全文検索はできていたので問題が起きているとは気づかなかった。なぜ気づいたかというと、つい先日フォロアーが新…

fediversesearchに「登録可能」チェックボックスを追加しました

複数キーワードによるAND検索ができるようになったfediversesearchですが、できればユーザ登録可能なサーバーをサッと見たいですよね。ということで、「登録可能」チェックボックスを追加して、ユーザ登録できるサーバーを先に絞り込めるようにしました。デ…

fediversesearchの検索エンジンをPGroongaに変更しました

分散SNS専用の検索エンジンとして開発したfediversesearchは、まずはリリースすることを優先して検索機能は簡単にILIKEで実現していました。 この方法だと、複数キーワードでの絞り込みなどができないので、調べたうえでPGroongaを採用しました。採用理由と…

fediversesearchのAPIを公開します

www.fediversesearch.comで使用している検索APIを公開します。WebAPIですので、インターネットに接続できる環境であればどなたでもご利用になれます。URL: https://www.fediversesearch.com/search/ パラメータ: 「?keyword=キーワード」。キーワードには日…

fediversesearchにPGroongaを導入しました

fediversesearchですが、まずは検索できることが先だったのでILIKE指定によるキーワード1つの検索だけできるようになっていました。 先ほど、PGroongaを導入して複数キーワード指定での検索をできるようにしました。 導入方法は以下を参照しました。pgroong…

fediversesearchにmobile layoutを導入しました

分散SNSサーバの検索サービスであるfediversesearchですが、さきほどmobile layoutを導入しました。まあ、スマホとかの時は項目を削っただけなんですけどね。こういうのがこうなります。DBへの検索は変更していませんので単純に表示だけ違います。 サイトは…

分散SNSのサーバ・インスタンスを検索できるサービスを立ち上げました

分散SNSの投稿を検索できるサービスはあるのですが、サーバを検索するサービスが無いようなので作ってみました。www.fediversesearch.com今のところ、私のサーバ(popon.pptdn.jp)・mstdn.jp・mastodon.social・pawoo・fedibird.comの /api/v1/instance/pee…

mastodonを連合許可モード(旧:ホワイトリストモード)で立ち上げてみた

ちょっと実験も兼ねて、mastodonを連合許可モード(旧:ホワイトリストモード)で立ち上げてみました。ひとまず、ドメインとVPSを確保します。今回は、lightsailの2GBメモリモデル(月$10)を使用しています。OSはUbuntu 20.04です。 VPSが出来たらsshでログ…

Elasticsearchでたまに起きるエラーに対処する

mastodonでchewy:deployしているとたまにtimeout以外のエラーになることがあります。サーバ側のエラーを見てみると、このようなエラーが出ています。/var/log/elasticsearch/elasticsearch.log already closed by tragic event on the index writer java.lan…

自鯖に流れてきたtootを全文検索するのは面倒だなあ

mastodonの全文検索は標準ならElasticsearchを使います。今回はこの仕組みを使う上でのお話です。「DBを直接読めばいいやんけ」という人は頑張ってください。さて、この全文検索ですがいろいろ制限というか面倒な話があります。 標準のソースコードでは検索…

UTCのLinuxサーバで現在の日本時間を知る方法

ロケールがないから「env LANG=ja_JP.UTF-8 date」は使えない環境。ではどうするかというとこうすればいいようだ。 env TZ=JST-9 date 個人的にこれを知って少し楽になった。

自宅内のLinuxサーバにmDNSでsshする

まずはsshをインストールする。 sudo pacman -S openssh 次にavahi-daemonとnss-mdnsをインストールする。 sudo pacman -S avahi nss-mdns sudo systemctl enable avahi-daemon sudo systemctl start avahi-daemon qiita.commdnsを参照しに行くように設定す…

仮想コンソールで画像を表示してみた

w3mでmastodonが見れるようになった。が、実は画像が表示できない。仮想コンソールではw3mimgdisplayは動かないのだ。 simplehtmlclientはテキストブラウザ向けにはaltとか指定しているので、w3mでは画像はひとまずリンク付き文字列として表示される。いろい…

KMSCONのフォント周りを替えてみた

kmsconを使うようになって「あー楽しー」になりつつあるのだが、w3mでWebを見ると豆腐に出くわす。あのTofuである。「まあ絵文字とか表示できないよねー」とは思ったが、ふと「noto fonts指定すれば行けるんじゃね?」。ということでやってみた。まずはフォ…

Arch Linuxのコンソールで日本語環境を作る

ThinkPad X201にArch Linuxをインストールしたが、ひとまず最低限のシステムだけなのでこれから日本語環境を作っていく。 GUIを入れれば楽だがX201の狭い画面でGUIはいまさら使いたくないので、コンソールを日本語対応にする。まずはrootになってから作業。…

ThinkPad X201にArch Linuxをインストールしてみた

ThinkPad X201が遊んでいるので、Arch Linuxをインストールしてみた。wiki.archlinux.org起動用のUSBメモリはWin32DiskImagerを使用。電源投入直後にF12キーを押すと起動ドライブの選択画面になる。USBメモリを選んでboot。X201、CPUがCore iだからUEFIだと…

マストドン(mastodon)の全文検索系(Elasticsearch+sudachi)のコードに手を入れてみた(v3.3.0対応)

あけましておめでとうございます。本年もよろしくお願いします。昨年末からmastodon(マストドン)のElasticsearchを使った全文検索系のコードに対して、いままで対応してきた方のコードを見ながら自分なりに使いやすいコードに改造していました。ひとまず、…