トップ 最新 追記 RSS

両B面


2025年06月15日

_ [tDiary] tdiary建立

お、ようやく立てられた 4時間くらいかかったので詰まったとこ書こうと思ったけど、腹減ったから後でまとめるか

_ [tDiary] tdiary建立で詰まったのでまとめておくか

tDiaryをrackで動作させつつ、サブディレクトリで動作させる方法がドキュメントになくて困ったので、困ったところを重点的に書いておこうかと思う。

要件は以下である:

  • サブディレクトリに置きたかった(マスト)
  • git cloneで構築できる(できれば)

tdiary.confに以下を書いておく(なおbase_urlの中身は各々の事情によって書換えること)。

@base_url = '/~eniehack/diary/'

nginxには以下のように書く。ただ、proxy_set_headerディレクティブは参考程度である。nginxはlocationディレクティブの優先順位がややこしいので要注意。 https://renoretriever.github.io/docs/nginx-location

location ^~ /~eniehack/diary/ {
        proxy_pass http://localhost:9292/~eniehack/diary/;
        proxy_redirect      off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
}

tdiary-coreをgit cloneしてrack経由で起動するには、cloneしてきて、bundle installののち、bundle exec rackupでよい。 自分はここにomniauthとGFM対応を入れたかったので、Gemfile.localを編集してomniauthとtdiary-style-gfmを入れてやればよい。 omniauthの設定はこのあたりにある。

ちなみに、markdown対応styleは古いのか、そのままでは動かなかった。のでGFMを使うことにした。


2025年06月16日

_ [tDiary] スパム対応等々

ツッコミ機能があるからか、スパムフィルタとか結構充実してる感じだけど、流石に今の時代突破されたりしないんかな 。hCaptchaとか対応したほうがいいんだろうか、と思いつつ、誰も見にこなさそうな場所にそんな武装してもなあと思うのであった

_ 「天気読み」

小沢健二の「天気読み」、いいな

_ [tech] systemdのserviceが吐くstdoutをファイルに吐きたい

planet-eniehackというWebページをかれこれ半年くらいやっている。

これは各種SNSの更新などを収集してお手製static site generatorでHTMLを吐いているページである。 原始的にcronで収集とhtmlの生成をやっていたけど、いろいろあってsystemd-timerに移行しようとおもって、.service.timerを雑に書いて、これでよし、と思っていたら、journalにHTMLが吐き出されていてびっくりした。

なにやらsystemdのserviceは標準出力はデフォルトだとjournalに吐き出されるらしいとかなんとか。

検索したらStandardOutput=file:/tmp/test.logなどと書いてやる必要があるらしい。

https://jyn.jp/systemd-log-to-file/

_ 地下鉄の路線図エディタみたいなのに感動している

redditのTransitDiagramsというサブレも見ていたら地下鉄の路線図を作るエディタが有志によって作られていて、すげーとなってた

https://tennessine.co.uk/metro/ とか https://railmapgen.github.io/ とか

_ 個人サイトにあこがれて

マイクロブログ的に更新できるのがtDiaryの好きなポイントという感じだけど、このままだと憧れている個人サイト的な感じとは離れてしまって難しいな~

そもそも長文を書くのはあまり向いてないんだよな、重い腰を上げないといけないから。


2025年06月17日

_ [tech] planet-eniehackを書き換えているが……

Golangでtagged unionを素直に実装できないのがつらい。GPTがいうことも的外れだしな~。Rustで書きなおすかCrystalで書きなおすか思いきってLLで書きなおすかという感じになってしまう

……と思ったんだけど、自分のミスだったな


2025年06月18日

_ [tech] synctrayzorがarchivedされてた

syncthingをWindowsで動かすのにsynctrayzorを使っている。というのも起動時にsyncthingを立ち上げるのが面倒だったので、アプリとして動いてくれたほうが嬉しかったからだ。

synctrayzorはsyncthingも含まれているために1つで環境が整うので便利だな~と思っていたのだけど、そういえばsyncthingのアプデしてなかったなー、syncthingだけアプデする方法ってどうするんだろう、と思って検索したら、archiveされていた( https://github.com/canton7/SyncTrayzor )。

archiveされていたリポジトリのREADMEに代わりとして紹介されていたsyncthingtray( https://github.com/Martchus/syncthingtray )をインストールしてみた。 Qtで作られていて、Linux/Windows等々マルチプラットフォームなアプリケーションらしい。

また、syncthingtrayではsyncthing自体は別にinstallしておく必要があるらしく、別にインストールするのはいいんだけど、移行するの面倒だなーと思いつつもインストール。新しくインストールしたsyncthingを試しに立ち上げてみたら、データが引き継がれていて感動した。APPDATAに全部データは保管されていたらしい。

ちなみに、syncthingtrayが起動したら同時にsyncthingを実行するように設定することも可能らしく、ありがたい機能だなと使わせてもらっている。

_ [tDiary] いろいろ修正

いろいろプラグインがあることは知っていたんだけど、立てるのに精いっぱいだったのと立てた後の感慨とプラグインのドキュメントページ数がおおくて、放置してた。ので、とりあえずカテゴリとアンカーを有効にしてみた。 kw.rbの使いかたがよくわかんなかったけど、RSSへのリンクも出せたからまあこれでよし。

_ glanceの構築

glanceというiGoogle的なものをみつけてウキウキしてしまったので、さっさと構築した。 dockerに馴れてない人間だから適当にtar連れてきて、解凍して、configとsystemdのunit書いて、と手数は多いけどまそこまで難しくなくローカルで構築できた。

firefoxの新規タブをこのページにしようと思ったら、今ってデフォルトでは新規タブをWebサイトにするには「new tab override」というaddonが必要なのかーとなってちょっと詰まった。

マーケットの情報が出せるというから、TOPIXの上がり下がりでも出すかと思ったら、アメリカのyahoo financeにはなさそうだったので、あきらめて日経平均を出してみた。

glanceのページ

_ [geo] 函館駅と頭端式

函館駅のあたりをOSMで見ていておーターミナル(頭端式)だ、地形からそうなったのかな?とずっと思っていた。 ところが、最近になって国鉄が青函連絡船をやっていたと聞き、高松駅が原義的なターミナル駅だったのは宇高連絡船の名残りだみたいな話を思い出して、もしかして?!と思い、青森駅を見てみたら、やはりターミナル駅だと思いテンションが高くなってた


2025年06月19日

_ あつすぎて

最近は日中が30度を越えることが当たり前になってきた。梅雨のつの字もないような天気である。

そんな天気だから、前はやっていた散歩も自然にやらなくなっていた。 そんなこんなでインドアに1週間以上生活していたら、夜に眠気を全然感じなくなり、昨日は29時(翌5時ともいう)にも寝つけなくなっていた。まあYouTubeをずっと見ていたら機を逃がしたという話もあるけど。

寝不足で胃腸がやられたのか、今日は身体の調子がうっすらとよくなかった。 そういえば最近散歩してなかったなーと思って、30~40分散歩したらちょうどいい疲労感。 今日はよく寝られそうだ。

_ [tech] firefoxのcontainerとurlの紐付けにregexを使いたい

firefoxにはcontainerというプライバシー保護の仕組みがある。containerはFirefox Multi-Account Containersという拡張機能によって提供されている。このcontainerという機能では、おそらくcookieやlocalstorageなどがcontainerによって別々に管理されるという処理が行われているのだろう。

containerにも弊害はある。cookieやlocalstorageを使って管理されるログイン情報がどのcontainerに保管されているかというのを覚えておく必要が出てくることがその一例である。

containerにはその簡易的な対応策も用意している。このサイトでは常にこのcontainerに開かせるといった設定が簡単にできるのである。

しかし、このサイトを丸々containerと紐付けることはあまりやりたくない。 というのも、このtdiaryはサブディレクトリにインストールされており、認証にOAuthを使っている。 さらに、この上のディレクトリではまったく関係がないHTMLが置かれているのである。

となると、regexでurlを指定し、コンテナを紐付ける機能がほしくなる。

perplexityに聞いたところ、そのような機能を提供していて更新もされていそうなものとして、Conductorがあるらしく、使ってみている。

_ [geo] ひなたGIS

ひなたGISすごいな。これが宮崎県のサイトから公開されているところも含めておもしろい。

それとは別に、戦後に米軍が全国の主要都市の地図を作ってたんだ!この都市のチョイスはどういうことなんだ?みたいなおもしろさもある


2025年06月20日

_ お腹が痛い

へその左下あたりが痛い。 昨日から痛いのはおかしいけど原因がわからん。 月曜に医者にかかるか……

_ 「社会性ポイント」

もしも「社会性ポイント」があるとするならば、たぶんそれはRPGのHPのように回復するまで減少するだけ、というのに加え、ちゃんとレベルという概念があると思う。レベルが上がればHPの上限も上がる。

しかし、レベルは上がることも下がることもある。

……自分のペラい人生経験から思うに。今となっては、文化祭の実行委員会で各所とのコミュニケーションがちゃんと取れていたのが嘘みたいだ。


2025年06月26日

_ Google Photoの容量を圧縮した

半年前くらいからGoogle Driveから15GBそろそろ使い果たすからな~という通知が来ていた。通知をつっついてやると、サブスク契約すれば100GB!今ならお得です!と出てくる。けど、気乗りしなかったのでケチって、Google Photoのバックアップだけ切って放置。それからはNextcloudに写真を上げるようにしていた。

が、流石はGoogleのサービスなだけあってGoogle Photo便利なのである。友人と共有のアルバムを作ったりとかできるとか。旅の記録が付けられるとか。もちろんnextcloudでもできる。 しかし、nextcloudではなんか気分が乗らないのである。

なんとかGoogle使えないかなーと思っていたら、容量が圧縮できるらしい。試してみると、92%あった容量が半分以下になっていて感動した

_ [golang] golangでtagged unionなyamlの読み書きを実装する

数日前から、生成AI様と顔付き合わせて相談しながら、ああでもないこうでもないといいながら、ClaudeとGPTをとっかえひっかえもしつつ、golangでtagged unionなyamlを読み書きできないもんかな~と思って格闘していた。

yamlをparseしたのち、再度io.Readerなり[]byteなりに変換して、またunionな部分のyamlをparseするという方法で実装できはしたのだが。釈然としない。なんとか二度parseするのは避けられないもんかねえ


2025年06月27日

_ stay free 第3期

またstay freeを導入した。

stay freeというはSNSの見過ぎを防ぐアプリである。あらかじめ「Twiterは1日1時間」と設定しておくと、超過したときに警告を出し、その日は一切開けなくなる、というものである。いわゆる「デジタルデトックス」「デジタルウェルビーイング」を支援するものである。こういうアプリは世に数多あるのだが(タバコのJTも似たものを出していてびっくりした)、stay freeの特徴は、PCにも対応していること、SNSの特定の機能(YouTube Short、Twitterの探索タブ)をブロックできること、制限の掛けかたにバリエーションを持たせられること、にあるのかなーと思っている。

導入しようと思ったのは、研究や仕事をしている友人よりTwitterの炎上事に詳しくなってきたことや、自分宛に来たメッセージを打ち返すことがめんどうになってきたこと、積読を消化したくなってきたことなどが挙げられる。

_ 数日ぶりのTwitter

さっきTwitterをひさびさに開いた。おすすめ久々に見たら人々が言い争いをしているツイートをみかけてしまって、たいへんにげんなりさせられた

……のだが、twitterをやめられた試しがないので、この調子はさていつまで続くことやら……

_ [geo] transitousというプロジェクトを知った

友人とのRSS消化会(RSSリーダーの未読を減らす会)にて読んだ週間OSMにtransitousというプロジェクトが紹介されていた。これはGTFSなどを使ってOSMでは放置されてきた公共交通機関を使った経路案内をやろうという話っぽくて、おお~となってる


2025年06月28日

_ [geo][tech] 空想地図をleafletに載せた

友人が作っている空想地図に若干噛ませてもらっているのだが、モチベーションが出たのでleafletに載せてみたくなった。

ネットで適当に調べると、ちゃんと先駆者がいて感動した。leafletにCRS.Simpleというのがあったのか。全然知らなかった。 https://lendl.sakura.ne.jp/journals/leaflet-image-overlay/

先駆者とは違う形で地図が書かれていたので、どうタイル画像を生成するのかは微妙に悩んだ。 先駆者はGIMPで書いていたためにGIMPのプラグインを自作していた。 一方、友人はinkscapeでsvgを編集していたのでプラグインは使えなかった。 inkscapeのプラグインを書くのはdocsが少なさそうなので却下。 svgやpdfをcropするのは同様に面倒そうだった。

いろいろ考えたが、svgをpngとして吐き出してからcropしようかなと思った。 AIに聞いたらpillowで結構簡単にできた。

_ [geo] transitousにデータを追加したくて

transitousに登録されている日本のデータはどうなっているんだろうと思ったら、対応している事業者は広電と都営バスくらいだった。

じゃあデータ追加したろ~と思い、docs( https://transitous.org/doc/#adding-a-region )をみたら、Mobility Database( https://mobilitydatabase.org )かTransitland( https://www.transit.land/ )にGTFSのデータが登録されていれば、簡単にデータを追加できますよ~とあった。こんなサイトがあるんだ~ということを初めて知った。

Transitlandのほうが https://github.com/tshimada291/gtfs-jp-list をクロールしてGTFS staticのエンドポイントを登録しているみたいで、(新しいデータ除き)ある程度は登録できているみたいである。


2025年06月30日

_ 山田五郎について

耳がさみしく、いいラジオ番組が放送されている時間でもなかったので、podcastを開拓するかとなって聞いた「みうら五郎」というpodcast。 山田五郎がみうらじゅんと同年代なことにびっくりした。

https://open.spotify.com/episode/26baVEbqPCofpEr4wJcNk4