詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Fork me on GitHub

ポケモンタイプ相性チェッカをSvelteで作り直した

タイプ相性チェッカとは昔作ったこれ。 ポケモンタイプ相性チェッカ(SV対応) なのだけど前回の記事が2014年で大昔だった。このあととくにメンテもせず、「サンムーン対応」、「剣盾対応」……などと新タイトルにあわせて title タグだけ更新する日々を送って…

GPT-2でブログ記事のタイトルをTogetterまとめ風にする「面白いのでやってみて」

オレ定義だけど Togetter まとめ風というのはこういうやつ。 散歩で急にシロクマと会っても食べるのは肉だけにしたほうがいい「肝臓1gに含まれるビタミンAが致死量を超える」 - Togetter まとめタイトルの終わりに誰かのツイートの引用を挿入する、という形…

自作したRISC-V向けCコンパイラでセルフホストまでこぎつけた

低レイヤを知りたい人のためのCコンパイラ作成入門 まさに低レイヤのことが分かっておらず、以前から気になっていたこの本。取り掛かってみたところ思いのほかスイスイ進められて、勢いに乗ってセルフホスト(自分が書いたコンパイラで自分自身をコンパイル…

Chrome仕事術

いろいろ工夫した結果、最近 Chrome さばきが良くなってきた気がするので、やっていることを書いておく。 タブが必要になる時刻でグループ化しておく 忙しい一日の予定を立てる際に、あらかじめ必要な資料・会場をタブで開いて時刻を打っておくと便利。終わ…

今年の進捗プログレスバーSVG

個人的に一年の様子を Scrapbox に書いているのだけど、今年もけっこう終わりに近づいたなってことを視覚的に知りたいので SVG でプログレスバーを提供することにした( /daiiz/今日 のような感じ )。以下のような感じで今年の進捗が見えてくる。@year_prog…

Baba Is You をクリアした

追加レベルパックはまだですが……。ルール改変型倉庫番パズルの Baba Is You の全ステージをクリアした。一晩やっても進捗がでない日もある、非常に難しいパズルだった。買ってからいちおうのエンディング(スタッフロールを見る)まで休み休み1年、そこから…

コードレビューのときに見ているところ

あるときコードレビューするときにどういうところ見てるんですか? と訊かれてたしかに自分でもあまり言語化したことはなかったな、と気づいたので簡単に書いておく。 変更意図が要求に沿っているか そもそも実現しようとしていることが、ユーザやプロダクト…

gotest.tools でテストスナップショットをインラインに記録する

テキストや何らかのデータ構造(プログラムを含む)を生成するタイプのコードを書いているときはスナップショットテストが便利で、 とりあえず一度スナップショットを生成してみる 生成されたものを人間が検分する 以降はスナップショットが壊れないように・…

SlackのログをBigQueryにインポートする(手動)

Admin 限定技だけど、Slack にはデータのエクスポートという機能があって、ワークスペースのパブリックチャンネルの会話データを zip でダウンロードすることができる。これがまあまあ便利な代物で、通常なら API を叩きまくらないと得られない諸々の情報を…

graph-gophers/dataloaderはv7でgenericsに対応している

GraphQL における N+1 問題の解決の機構として Dataloder と呼ばれるものがあるが、Go でこれを行うときは gqlgen + graph-gophers/dataloader という組み合わせがよく使われるようだ。後者は gqlgen の公式ドキュメントからも参照されているので、gqlgen を…

Domain Modeling Made Functional を読んだ

最近フロントエンドに限らず TypeScript を書くことが多くなって、これでそれなりの規模のサーバサイドアプリケーションを書くときどうなるんだろう、と気になって読んでみた。いわゆる普通のオブジェクト指向ではなく関数指向な書き方でいきたいとき、どう…

Scrapboxで行頭にアスタリスクを挿入したら見出しにする

Scrapboxで見出しのようなものがほしいときには [** ほげほげ] と文字装飾を重ねて作るのが常套手段だけど、議事録などすばやくドキュメントを取りたい際にはこの「文字を囲んで装飾する」という手順にモタツキが生じてしまう。文字列を選択して * にしろ、[…

Stable Diffusion を Colab で Web アプリ化する

Stable Diffusion が来てるねってことで貧者の GPU であるところの Colaboratory でいろいろ試したいのだけどノートブック上で Python のコードをこまごまいじりながら試行錯誤するのは微妙に体験が悪い。 ちょっとしたウェブサービスとして立てて実行できる…

Colaboratoryでワードクラウドを生成する

任意の文章に対してワードクラウドを生成したい要件があるとき、非エンジニアでも行えるようにするには、ウェブアプリケーションとして提供するのもよいが、この程度のちょっとしたスクリプトのような用途であれば Google Colaboratory でもいいんじゃね、と…

Google Apps ScriptでSlackのプロフィールカードを作る

オンラインで直接顔を突き合わせずに仕事ができるようになったり、会社が大きくなってきたりすると、たまの飲み会で顔を突き合わせてもあれこの人どこの誰だっけ、となることもしばしば。 物理的な会なら名札を配るところ。オンラインでの会なら、バーチャル…

投稿短歌カレンダー

短歌、いま流行ってるそうです。電源もWi-Fiも歳時記もいらない、趣味としては最高にポータブルな部類でしょう。 現代ではウェブで短歌の投稿を受けつけているメディアもたくさんあって、はがきを送るようなことをしなくてもよいのはデジタルネイティブにも…

ISUCON12予選敗戦記(からあげネイティブ、3899点)

今回のISUCON12は惨敗だったのであまり記憶も残ってない……。 songmu、toricls、motemen のメンバーでの挑戦も3度目となり、いよいよ優勝したい、そのために当然予選突破はしたい、という年だった。 今回も自分が構築、他の2人が作戦と実装、という役割分担。…

Chrome 拡張のポップアップが表示されるタイミングは onload っぽい

Chrome 拡張のポップアップがどのタイミングで表示されるのか、ちょっとググった限りでは分からなかったので調べた。 掲題の通りで、結論としてはまあそりゃそうだ、とはなるが、ポップアップ内で img や iframe により外部リソースを読み込んでるようなとき…

ページ内のテキストを読めなくするChrome拡張を作った

世はまさにハイパーメディア時代。何をするにも視覚的なキャッチがないとやっていけない時代です。ブラウザのスクリーンショットを撮ることも多いでしょう。しかしプライベートな内容もそこに映り込んでしまうこともありがち。かといって画像をいちいち加工…

Googleカレンダーをターミナルからキーボードで操作する

全部キーボードで済ませたいシリーズです。 多忙な現代人の一日はその日の予定チェックから始まるわけです。普段であれば定期的な間隔で組まれたミーティングのリズムに身を委ねればいいわけですが、そこに非定型的なミーティングが紛れ込んでくる。これは採…

YouTube 動画を字幕によるナビゲーションつきで埋め込める Web Component を書いた

前の記事 でそうしていたんだけど、YouTube には字幕をつけられるので、ページに埋め込んだ際にその字幕までテキストとして表示してやれば親切である。ついでにそこまで早送りしてくれるとなおいい。 前回はべたっと書き下したものを、再利用性に期待して we…

3Dアバターに話を聞いてもらう

近年、世間ではリモートでスピーチをする機会が増加している。人前で喋ったことがあると経験があるのではないかと思うけど、テレビ会議ごしに話をすると目線が合わない、そもそも顔が見えないなどで反応がものすごく薄い。だんだんと慣れてきた感もあるけど…

Bubble Tea でリッチなターミナルアプリケーションを作る #Go

近年、普段の作業をマウスでやりたくない気持ちが高まっている(デスク周りが散らかってきたせいだという説が有力です)。メールは結局ターミナルでメールを読むことにしたため問題なく過ごせているが、その他のタスクをキーボードだけでやるには、ターミナ…

新しくリポジトリを作るまでもないコードは motemen/go-nuts に置いている #Go

OAuth2 のよくあるフローを何回も書きたくない #Go - 詩と創作・思索のひろばgolang.org/x みたいに、独立させるまでもないけど再利用したいパッケージを go-nuts レポジトリにまとめるのいいな。真似しようかな(名前もかわいい)2022/06/06 12:04golang.or…

OAuth2 のよくあるフローを何回も書きたくない #Go

よくあるフローってのは Google の API ドキュメントを読んでたらよくでてくるやつ(Calendar API の例)。つまり: 前回のアクセストークンが保存されていたらそれを使い、なかったら localhost にサーバを立て、redirect_uri をそこに設定した認可のための …

集中するためにやっていること2022

リモートワークにシフトしてから2年くらい経って、自分の中でもペースができてきたと思う。たまに出社すると時間が全然わからなくなることに気がついた。自宅で仕事しているときはほぼずっと PC の前にいて、右上をみると時間と次の予定がわかるようになって…

コマンドラインでメールの内容に基づいた処理をするツールを書いた: letterknife

メールに対する jq みたいなやつ……というと強力すぎるけど、そういう感じにメールを入力に受け取って何かしらの処理をした上で出力してくれるツールです。ここでいうメールとは MIME 形式のメール全体。Gmail なら "Show original" で見られるようなもの。 …

結局ターミナルでメールを読むことにした

最近は集中力を高める活動をしていて手をキーボードから離したくないんだけど、Gmail のウェブビューは Tab でフォーカスしにくいんじゃ~! メール上でやりとりすることってあんまりなくて、アップデートとして送られてきたメール中のリンクをたどりたいこ…

ターミナルからTickTickのタスクを確認する

TickTick はまだ使ってるぞよ! しかし新年の高揚感もとうに果てて、なんとか新鮮新奇さを演出してモチベーションを維持しようとしている状態。またできるだけタスクを確認するためのコストをゼロに近づけていく必要がある。最近はやっぱなんでもキーボード…

Puppeteerでファイルをダウンロードする2022

Puppeteer ってソラで書けますか? ぼくは書けないので pptr.dev にアクセスしてコピペしてます。 Puppeetteer でファイルをダウンロードする方法はわかりやすい API としては提供されておらず、Stackoverflow を毎回見てる。これも古い方法が出回ったままだ…

はてなで一緒に働きませんか?