タグ

ブックマーク / blog.3qe.us (13)

  • ActivityPubサーバを実装したかったのでまとめWikiを作ったら人々が集いつつある - Lambdaカクテル

    最近のTwitterの荒れ具合と、Fediverseへの流入がいちじるしい。そんな中自分は、Fediverseという愉快な電網の共通語であるActivityPubの上で、botを動かそうと練習を重ねている。 blog.3qe.us この情報を自分のアカウントで発信していると、ActivityPubの実装をしたり、知見を持っている人がちらほら現れだして、互いに繋がるようになった。知らなかった実装の名前を知ったり、既存の実装の特徴を教えてもらったりした。 一方、そういった人々の知見は個々の実装の内側に閉じてしまっているように感じていた。自分はActivityPubの初心者だが、日語で書かれた情報を探すのにも苦労しているし、英語の情報を選別するのも負担に感じていた。日語のActivityPubの実装に関する「知の高速道路」が無いという課題感があった。 そこで、Scrapboxにまとめサイトを

    ActivityPubサーバを実装したかったのでまとめWikiを作ったら人々が集いつつある - Lambdaカクテル
  • 自分のはてなブックマークをChatGPTにつないだ - Lambdaカクテル

    scrapbox.io から派生して、 blog.sushi.money こういうことが可能だとわかった。 はてなブックマークはAtom形式でのエクスポートが可能なので、 はてブにAtomを吐き出させる AtomをJSONに変換する あとは同じ というプロセスで、自分のはてブのコメントを知っている状態のChatGPTのモデルを作ってみた。 コード 一番元々の記事ではPythonで書かれていたコードが、 id:hitode909 のコードではRubyになり、自分のコードだとScala3になっていて面白い。 #!/usr/bin/env -S scala-cli shebang -S 3 // usage: batom2json.scala.sc ~/Downloads/Windymelt.bookmarks.atom > from_bookmark/Windymelt.json // You

    自分のはてなブックマークをChatGPTにつないだ - Lambdaカクテル
  • 淡々と暮らす - Lambdaカクテル

    天皇誕生日ということで祝日である。自分のような平民にも休みが与えられてありがたい話だが、だからといって何かをやるというわけでもないので寝ていたら、注文していた荷物が午前に到着してしまったので中途半端なタイミングで起きてしまった。朝にも昼にも似つかわしくない時分に目が覚めてしまい、しかもやや眠い。注文していたのは自動で動くゴミ箱なのだが、その話はまたそのうちすると思う。 先日、爲末大 氏のツイートを見た(強調は筆者による)。 私の父親は道がんで亡くなったのですがステージ4と告知された時母親はかなり動揺しました。あのタイミングっていろんな人が声をかけてくれるみたいで、その中には宗教的なやつもあれば、トンデモ医療みたいなのものから誘われたりするのですが、母は「そんなわけがない」と標準治療を選びました。 後から聞いてみると、同じ状況で親族が〇〇にハマって、〇〇に傾倒して、という話をたくさん聞

    淡々と暮らす - Lambdaカクテル
  • CloudFront+S3構成だった自分のサイトをCloudflare+R2に移行した - Lambdaカクテル

    自分のウェブサイト( http://www.3qe.us/ )をCloudFront+S3構成からCloudflareを使った構成に乗り換えたので、ひっかかった点やつまづいた点などをメモしておく。 結論としては普通に移行できたが、メールとの兼ね合いでDNSまわりでちょっと配慮が必要な部分があるかも、といった具合。試したいときは全部読んでからチャレンジしよう。 ウェブサイトの静的配信にCloudFrontとS3を使っていた モチベーション: ALBのコストが高い Cloudflare 構成 Cloudflare Pages Cloudflare+ Denoflare + R2 修正 R2のstatic hosting機能を直接使う 手順 Webサイト追加 R2バケット作成 APIトークン作成 Denoflareでworkerをデプロイする 完了 まとめ オチ 参考文献 ウェブサイトの静的配信

    CloudFront+S3構成だった自分のサイトをCloudflare+R2に移行した - Lambdaカクテル
  • 忙しい人に判断を仰ぎたいときは松竹梅プランを作ってチェックボックスを埋めてメンションしてもらうようにすると合理的で便利 - Lambdaカクテル

    普段の暮らしにおいて、実装の仕様をエンジニア単独では決められないことがあって、そういうときにはマネージャーとかディレクターといった意思決定可能な立場の人の判断を仰ぐことになるのだけれど、そういう立場にある人は無限にミーティングをしていたり、無限に同じような意思決定を続けなければならないので、とにかく多忙だ。 そこで、ちょっと判断を仰ぎたいのですが、といったシチュエーションでは、GitHubのIssueなどの非同期なコミュニケーションチャンネルを使って、非同期に通知が飛ぶようにメンションしつつ、以下のことをすると良い。 松竹梅で候補をあらかじめ立てておく 松はハイコストだけれど理想に近い 梅は激安プラン夜行バスといった雰囲気 GitHubはリストの冒頭にチェックリストを入れることができて、しかもチーム内だったら勝手にいじれるはず - [ ] 松プラン: DBを1000xlargeにする (費

    忙しい人に判断を仰ぎたいときは松竹梅プランを作ってチェックボックスを埋めてメンションしてもらうようにすると合理的で便利 - Lambdaカクテル
  • ちょっとしたデータファイルのフォーマットにJSON Linesを使うと便利 - Lambdaカクテル

    データ構造が決まるとアルゴリズムも自ずから定まる、みたいな話もあるように、ソフトウェアエンジニアリングの文脈では「どうデータを持つか」が重要だ。これはちょっとしたシェルスクリプトでも同様。 自分はUNIX哲学が好きで、なんかちょっとしたツールを作るときは基的に1行1データのテキスト形式を喋るように作成する。そのほうが適用できるツールが多くなるからだ。shellscriptを使うときはwhile read文を使えば1行1コマンドを実行する処理をすぐ書けるし、sedを使えば基的な加工ができる(互換性の問題があるから基的にgsedを使うけど)。開発や運用にLinuxを使っている以上、こういう形式を採用しておくと取り回しやすくなる。 その一方、1行1データのテキスト形式はそれ自体では構造化されていないという問題がある。ちょっとでも複雑な形式で書こうとすると、CSVやTSVにしようとか、:でセ

    ちょっとしたデータファイルのフォーマットにJSON Linesを使うと便利 - Lambdaカクテル
  • GitHub Actionのジョブ実行画面からPull Requestを辿れるようにした - Lambdaカクテル

    こういうのを作りました。 ジョブに紐付いたPull Requestへのリンクが表示される 行ったこと: リンクを生成するジョブを1つ生やした 綺麗な表示はStep Summary機能 (後述) の力を借りている ジョブ実行画面からPull-Reqに戻りたい GitHub Actionsのジョブ実行画面には、その実行元となったPull Requestへのリンクが存在しないため、困っていた。 よくあるシチュエーション: Pull Requestを見るとジョブがコケていた 様子を見に行くうちに履歴がどんどん深くなる -- ジョブ画面内での遷移はどんどんヒストリが積まれる Pull Requestに戻れなくなってしまう この話を同僚にしたところ共感の嵐だった。したがって隠れた需要がありそうだということが判明し、うまくやる方法を考えることにした。 結果、GitHub Action上でPull-Req

    GitHub Actionのジョブ実行画面からPull Requestを辿れるようにした - Lambdaカクテル
  • 追われたり追われなかったりする人生と、巨大テック企業 - Lambdaカクテル

    id:kiryuanzu のTweetをたまたま見て、うなってしまった。 学生時代、前半で単位が取れなかったり後期は就活のために色々やったりで何かに追われるような感覚が常にあったように思うけど、社会人になってからはそういった感覚がなく穏やかな精神で保ち続けていることにやっと自覚し始めたのでその心持ちでどう人生をやっていくかを考えた方が良さそうに思う— 桐生あんず (@anzu_mmm) 2022年4月28日 たしかに自分も単位に追われる大学時代を送っていた。キャンパスには、浮世離れした悠長な感覚もフワフワ漂っていたし、それとは別に就活の名のもとに暗い光が外から差し込んできて、卒業する頃には社会という黒い太陽が登りはじめ、あたり一面を染め上げていくような不穏さも同時に存在していたのが、今となっては懐かしい。さきほど目の検査をしに大学病院に行ったけれど、そこもなんだか悠長な感じがしてキャンパス

    追われたり追われなかったりする人生と、巨大テック企業 - Lambdaカクテル
  • 朝日新聞社の長文要約生成APIを使ってブログの要約を自動生成する仕組みを構築した - Lambdaカクテル

    先日朝日新聞社によって長文要約APIがリリースされました。要約をAPIで取得できるという点が面白いと感じたので、このブログ(blog.3qe.us)の記事を閲覧したときに自動的に要約を見られるような仕組みを作ってみようと思い、1週間ちょっとかかってしまいましたが動くものができたので紹介します。 www.itmedia.co.jp 記事冒頭に要約コーナーを出現させる この仕組みによって、記事の冒頭に要約コーナーが勝手に出現して要約を表示します。 こんな感じで要約が表示されます いくつかの記事では既に生成ができていますが、API自体は1日に20回までの制限があるので、全ての記事にはまだ行き渡っていません。 まだ要約が生成されていない記事にはpreparing abstractという文言が表示されます。 キューに入った状態 句読点の問題かちょっと要約が怪しいところもありますが、おおむね正しい要約

    朝日新聞社の長文要約生成APIを使ってブログの要約を自動生成する仕組みを構築した - Lambdaカクテル
  • チルダ(~)はどうしてホームディレクトリになるのか - Lambdaカクテル

    たまに忘れてコケたり,周りでも困っている人がいるようだったのでメモ. 追記(2020-09-06T11:25+09:00) この記事では仕組みのほうについて記述しており,由来については書いてなかったのですが,ブコメでホームディレクトリがチルダで表記されるようになった由来について幾人かの識者にご指摘いただきました. unix.stackexchange.com ちょうどHOMEキーと同じ場所にチルダキーがあったんですね.ありがとうございました. tl;dr ~/は$HOME/と同義である ~/が$HOME/に,ひいては実際の$HOME/の中身に展開されるのはシェル(e.g. bash, zsh, etc...)の拡張機能 シェルを使わなければその機能は使えないので,手で展開する必要がある シェルを使わない状況: プログラム中からパスをいじるような場合,DockerfileのCMDなど ~--

    チルダ(~)はどうしてホームディレクトリになるのか - Lambdaカクテル
  • プログラマ大航海時代、YAPC::Tokyo 2019に行って希望をもらってきた - Lambdaカクテル

    今年のYAPCはちゃんとPerlの話をしてて良い,みたいな話があってめっちゃ笑ってしまった.普段どうなってんだ・・・ はい,はてなという会社でWebアプリケーションエンジニアとしてPerlメインで仕事をしているめるくんです.普段は会社に近い京都に住んでるけどYAPCに合わせて東京オフィスに出張し,そのままYAPCに参加したよ.会社は表参道にあるのでそこから前夜祭会場に移動したのだがちょうど帰宅ラッシュに飲み込まれてしまい,二度と東京の電車になんか乗らねえ・・・と思った.でも前夜祭で面白いLTを聴きながらビールを飲んでいると不思議と元気になってきて,YAPC番の朝はめちゃくちゃ元気になっていた.これから祭が始まるんだ・・・!という興奮がなによりのカンフル剤なのだった. というわけでYAPC::Tokyo 2019の独断による参加レポート,というか感想はじまるよ〜 個々のトークの感想は他の誰

    プログラマ大航海時代、YAPC::Tokyo 2019に行って希望をもらってきた - Lambdaカクテル
  • Common LispのWebフレームワーク「Caveman2」のリクエスト処理を眺める - Lambdaカクテル

    Common LispのWebフレームワークであるCaveman 2で遊んでいる. 今日は,リクエストの前後に処理を挿入し,レスポンスヘッダをいじったりしてみるお話. ある程度Common Lispが分かりますよ,というくらいのレベル感です.僕のレベルは,マクロが書けてうれしいね,とかいうレベルです. 全てのエンドポイントで,リクエストハンドラを処理する前・後ろに一定の共通処理を行いたい,というのは実によくある話だ.例えば認証処理を行いたければリクエストハンドラに到達する前に処理を行う必要があるし,ベンチマークのための特別なヘッダを付与するためにリクエストハンドラを通った後で処理を行いたいこともある.こういった処理は頻繁に使われるが,それらがいかに実現されているかについて運用開始後に知る機会はあまりないのが現状だ. 最近Caveman 2で自分用のアプリケーションを開発していて,そこで1か

    Common LispのWebフレームワーク「Caveman2」のリクエスト処理を眺める - Lambdaカクテル
  • アウトプットに対する苦手意識について - Lambdaカクテル

    思った事とか勉強したことをまとめて書き出したり表現したりする、つまりアウトプットを、なかなか書けない時とするする書ける時というのがある。その違いは何なのかとか、アウトプットがうまくいかないときに、それを妨げている心理的障害は何なのかを掘り下げていくうちに、これ自体が一つのアウトプットになった。つまり今回は成功だ。 だいたい僕はアウトラインの途中らへんまでを構成して、そしてそれを半分くらい文章として肉付けしているあたりで厭になって辞めてしまうことが多いのだった。ブログの下書きにはそういった文書が積み重なっていて圧巻だ。 なんで途中で辞めてしまうのか。それはやはり劣等感と遠くでつながっている話であるようだった。僕はまず辞めてしまうタイミングに着目して、その時どういうふうに感じているか、自分と向き合ってみた。すると、僕がアウトプットの中途で書くのをやめてしまうのは、「大したことをやっているように

    アウトプットに対する苦手意識について - Lambdaカクテル
  • 1