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

  • Scala-CLIを使うとScalaをいきなりバイナリに変換できてすごいので紹介したい - Lambdaカクテル

    Scala-CLIをいじっていたらかなり良さそうな機能を見付けたので紹介する。 Scala-CLI あらかじめ説明しておくと、Scala-CLIとはScalaをLLライクに扱うための便利ツールチェイン。REPLでコードを試したり、スクリプトを実行できたりする。 scala-cli.virtuslab.org 1ファイルで完結したスクリプトを書くと、依存性解決から実行まで全部やってくれるというのが非常にありがたい。RubyPythonなどといったLLのように、強力な型安全性はそのまま、Scalaを書くことができる。 tanishiking24.hatenablog.com 当にこれは革命的ツールチェインだ。 インストールも簡単で、JVMが動く環境でシェルで1行書けばよい。 $ curl -sSLf https://virtuslab.github.io/scala-cli-package

    Scala-CLIを使うとScalaをいきなりバイナリに変換できてすごいので紹介したい - Lambdaカクテル
    t_f_m
    t_f_m 2023/09/14
  • ActivityPubサーバを実装したかったのでまとめWikiを作ったら人々が集いつつある - Lambdaカクテル

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

    ActivityPubサーバを実装したかったのでまとめWikiを作ったら人々が集いつつある - Lambdaカクテル
    t_f_m
    t_f_m 2023/07/06
    "なんとなく、Twitterが勃興して変なbotが作られたりサーバが過負荷でぶっ倒れたりしていた時代の雰囲気を思い出して、暖かい気持ちになった。自由なプロトコルで、色々なツールを作れるのだ"
  • 畳み込みの視点から見たforall(every)とexists(some): 空集合に対するforallは常にtrueになる - Lambdaカクテル

    こういうツイートが話題になっていた。 「配列のすべての要素が条件を満たすならtrueを返す」関数を定義するとき、空の配列を渡したらfalseを返すかtrueを返すかが、良いプログラマかどうかの一つの境目だ— ふみ (DJ Monad) (@fumieval) 2023年5月29日 つまりScalaで言うと次のようなコードが何になるか、というものである。 val xs = Seq.empty[Int] xs.forall(_ == 42) 結論から言うと、このような関数は常にtrueを返す。 なぜだろう?その理由をこれから説明する。 ちなみに他に以下のような意見があった: 仕様による 例外を投げるべき いずれもまぁありえなくはないが、やめておいたほうが良いと思う。もし仮にfalseを返すような仕様があった場合、それは数学から乖離しているのでいずれ仕様内部で矛盾する可能性が高いし*1、最終的に

    畳み込みの視点から見たforall(every)とexists(some): 空集合に対するforallは常にtrueになる - Lambdaカクテル
    t_f_m
    t_f_m 2023/05/31
  • JSONをMessagePackにしてから圧縮するとどのくらい短くできるか(1/3になった) - Lambdaカクテル

    追記: 最近はMessagePackを派生したCBORがRFCとして標準化されているようです blog.3qe.us こういう記事を読んだ。 blog.utgw.net URLにデータを載っける発想は面白い。せっかくなのでMessagePackにしたついでにzstdとかで圧縮してからBase64エンコードしたほうが小さくなるのではないかと思った。 また、最初からJSONを圧縮したほうが小さくなる可能性もあるので、つまり以下のパターンを考えられる。 JSONをBase64エンコードする JSONをMessagePackに変換してからBase64エンコードする JSONをzstdなどで圧縮してからBase64エンコードする JSONをMessagePackに変換してからzstdなどで圧縮してからBase64エンコードする せっかくなのでマトリックステストしよう。 元データ 元記事からデータを拝

    JSONをMessagePackにしてから圧縮するとどのくらい短くできるか(1/3になった) - Lambdaカクテル
    t_f_m
    t_f_m 2023/05/08
  • ゴチャッと必要な情報が詰め込まれた標示に萌える - Lambdaカクテル

    産業機械とか大型機械といった、相応に注意しながら操作しなければならないモノとかに貼り付けられている、ゴチャッとした、しかし必要な情報が詰め込まれたフォーマットが好きで、発見すると画像を集めてしまう。 萌えは死語っぽくなってないか?と思うけど、この感情を表現するために一番適切な言葉は萌えだと思う。 石油ストーブの横 特にワクワクするような内容は書かれていないのだが、なぜか読んでいるとワクワクする。 ボイラーがある職場 実家ではボイラーといえば湯沸かし器のことだったのだが、都会に出てくると誰もボイラーと言ってなかった思い出。ボイラーと言っている家庭があれば教えてください。 MRI 医療系は命にかかわるのでゴチャッとしているが、誰にでも分かる必要があるので派手になっている。 艦艇広報で艦内に入る機会があればこちらの記号にも出会うので熟読して覚えておくとフムフム納得Σ(・ω・ノ)ノだよ! お疲れ様

    ゴチャッと必要な情報が詰め込まれた標示に萌える - Lambdaカクテル
    t_f_m
    t_f_m 2023/04/15
  • Twitterが直球の言論統制を開始しつつある件に関して 兼 避難所アカウントのお知らせ - Lambdaカクテル

    3行で Twitterが特定アカウントのツイートをRTできなくした。一線を踏み越えたと考えている これは言論の統制であるし、このまま加速度的に濫用されると考えている 悪いことは言わないから今すぐ別のSNS、マストドンとかにアカウントを作りなさい 統制 今日ごろから、Substackという 記者クラブ/ 通信社的性格の ジャーナリスト多めの(追記1)コンテンツプラットフォーム 組織(noteみたいな感じ?)のツイートがRTできなくなっているたが、現在はできるように戻された(追記3)。 A statement from our founders: Any platform that benefits from writers’ and creators’ work but doesn’t give them control over their relationships will inevi

    Twitterが直球の言論統制を開始しつつある件に関して 兼 避難所アカウントのお知らせ - Lambdaカクテル
    t_f_m
    t_f_m 2023/04/09
  • マストドンのシェアボタンを自作した(追記あり)(今日から使えます) - Lambdaカクテル

    自分でマストドンのシェアボタンを作ってみた。 <a href="#" class="js-mstdn-share-button">Share: {title} {}</a> <script defer src="https://github.com/windymelt/mastodon-share-button-scalajs/releases/latest/download/mstdn-share.js"></script> このコードを貼り付けるとテンプレートが展開されてシェアボタンになる。Share: {title} {}としている箇所は文言のテンプレートで、{}がURLで、{title}がタイトルで置換される。 初めてクリックするとポップアップが出てきて、自分のインスタンスがどこなのか教える必要があるけれど、一度使ったらLocalStorageに覚えてもらうようにした。一度設定した

    マストドンのシェアボタンを自作した(追記あり)(今日から使えます) - Lambdaカクテル
    t_f_m
    t_f_m 2023/02/01
  • はてなブログに見出しにid属性付けてくれって言ったらつけてもらえた - Lambdaカクテル

    うれしすぎるンゴ〜〜〜 あらまし 自分は技術記事をよく書いているのだけれど、そういう記事は基的に構造化して書くから、必然的に見出しの量も多くなる。そして、構造化されているがゆえに、「この節の部分にリンクしたい」ということがあるものである。 そして、hタグにはid属性を付与することができ、それを使うと特定の節へのリンクを作ることは可能なのだ。 だが、はてなブログではそうはなっていなかったので、人間が<h2 id="">とか書かなくてはならなかった。 そこで、いちおう書いておくかと思って問い合わせフォームから実装してほしいンゴ〜〜〜という旨のことをもう少し丁寧に書いておき、そのまま忘れていた。 すると・・・ staff.hatenablog.com うれしすぎるンゴ〜〜〜 ところで、こういう話題もある。 masawada.hatenablog.jp まさわだくんプロダクトの便利なツールを使う

    はてなブログに見出しにid属性付けてくれって言ったらつけてもらえた - Lambdaカクテル
    t_f_m
    t_f_m 2022/08/19
  • 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カクテル
    t_f_m
    t_f_m 2022/07/12
  • 洗い物のインターフェイスを統一して全部食洗機に投入できるようにするといい - Lambdaカクテル

    先日食洗機を買ったけれど、フライパンだけは取っ手が食洗機に収まりきらずに洗えないという問題があった。仕方がないのでフライパンだけ手で洗っていたけれど、手で洗うためにはスポンジや通常洗剤を常時シンクに露出させておく必要があるがために、プログラミングで言うとフライパンのためだけに各種実装が行われているという不健全な状態になっていた。統一的に洗い物ができないのであれば、食洗機を導入したメリットが半減してしまう。 この問題を解消するためには、フライパンの大きさを小さくするか、取っ手が外せるフライパンを導入するしかない。今回は後者のアプローチをとることにした。 取っ手が取れるフライパン 最強 取っ手が取れるフライパンといってもいろいろなメーカーがある。例えばアイリスオーヤマも出している。一般に知名度でいえばティファールのフライパンが有名。 どう選ぶか。とりあえず一番知名度が高いということは、ユーザの

    洗い物のインターフェイスを統一して全部食洗機に投入できるようにするといい - Lambdaカクテル
    t_f_m
    t_f_m 2021/11/12
  • 朝日新聞社の長文要約生成APIを使ってブログの要約を自動生成する仕組みを構築した - Lambdaカクテル

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

    朝日新聞社の長文要約生成APIを使ってブログの要約を自動生成する仕組みを構築した - Lambdaカクテル
    t_f_m
    t_f_m 2021/04/11
  • 1