タグ

ブックマーク / blog.sushi.money (66)

  • gh copilotにgit diffの入力を渡して、git stashの説明文を作ってもらう - hitode909の日記

    GitHub CopilotにはCLIがあるのを思い出して、コマンドの実行結果をそのままプロンプトに渡すと、文脈に沿った仕事をお願いしやすいんじゃないか、と思って、試してみた。 git stashをよく使うのだけど、一覧になっていると、何がstashされているかわからないので、stashの保存時に、内容を要約してもらう、というタスクを試してみる。 なんらかのCLIにdry-run機能をつけている途中で、git stashしたいとする。 index f1f5a2f..dd70bf5 100755 --- a/cli.js +++ b/cli.js @@ -19,6 +19,10 @@ command } else { command.help(); } + }) + .arguments(['dry-run']) + .action(async(file) => { + console.lo

    gh copilotにgit diffの入力を渡して、git stashの説明文を作ってもらう - hitode909の日記
  • AI元年なのでAIに絵のテーマを考えてもらいそのままAIに作画してもらってデスクトップの壁紙に設定する - hitode909の日記

    AI元年なのでデスクトップ壁紙もAIに描いてもらおうと思い立った。 最新ニュースを1枚の画像にしたい 世相を反映したらいいと思ったので、最新のニュースをテーマにした画像を作ってもらおうと思った。 いきなりプログラムを書く前に、Chat GPTに聞いてアウトプットを観察してみる。 「NHKニュースから最新のニュースを要約して1枚の画像に変換して」とか聞いてみたら、Bingで検索して結果、震災の画像を作ろうとして、危険、暴力な画像なので、と断られてしまった。 「NHKニュースから最新のニュースを取得して、一番平和なニュースを選んで、1枚の画像に変換して」の結果がこれ。 何の画像か全然分からないけど、NHK短歌のコーナーを表現しているらしい。 AIが決めたお題をAIが描く 世相反映は不確実で手に負えないのであきらめて、お題もAIが決めるし、自分で決めたお題をもとに作画する、くらいをゴールにしてみ

    AI元年なのでAIに絵のテーマを考えてもらいそのままAIに作画してもらってデスクトップの壁紙に設定する - hitode909の日記
    hush_in
    hush_in 2024/01/21
  • Macで毎分スクリーンショットを撮って手元に貯めておくスクリプト - hitode909の日記

    書いてたテキストエリアがどっかいく、みたいなことがたびたびあって、スクショを定期的に取っていればこんなことにならないのに…と思っていた。 先日、Redash用に、がんばって書いたSQLがどっかいってしまい、ものすごく悲しい、という出来事があったのであ、あまりに悲しさに、重い腰を上げてスクリプトを書いた。 きのうがんばって書いたRedashクエリを保存せずに消してしまった悲しみから、Macの画面のスクリーンショットを撮り続けるスクリプトを書いて、xbar経由で毎分実行してキャプチャし続けている。Macに入ってるOCR機能も呼び出して検索できるようにしたい https://t.co/ibVVCLZszg— 趣味はマリンスポーツです (@hitode909) 2023年11月30日 やっていること 画面全体のスクショを撮って、デスクトップ内のフォルダに置いていく 複数ディスプレイを使ってる場合も

    Macで毎分スクリーンショットを撮って手元に貯めておくスクリプト - hitode909の日記
    hush_in
    hush_in 2023/12/04
  • ささいなことに、わざわざ「良いと思います!」って言うようにしている - hitode909の日記

    いろんな人の相談役をやっているのだけど、ささいなことに、わざわざ「良いと思います!」って言うようにしている。 この調子でいいと思います!ってわざわざ言う 言われた方からは、迷うことなく進めたら良いのだな、ということが伝わる 意見を言えるチャンスがあったら「この調子でよさそうだけど、ゆくゆくはこんな問題に直面しそうですね」とか、ちょっと意見をはさんでおく 頭出ししておいたら考えてもらえるかもしれないし、想定と違ったら、えっそんなことはないんですけど…と早めに変なことに気づけるかもしれない シニアっぽいロールの人物としては、聞かれてもないのに、良いと思います!って言っておくのが大事。 やってみてもらって、うまくいかなかったら、想定と違ってうまくいかなかったんですけど、って声をかけてもらえる。 最初の段階で黙っていたら、どういうスタンスだったのか不明で、相談しにいくときに、まず、どう思いますか?

    ささいなことに、わざわざ「良いと思います!」って言うようにしている - hitode909の日記
    hush_in
    hush_in 2023/06/17
  • 自分のはてなブログをChat GPTにつないだ - hitode909の日記

    id:nishiohirokazuさん作のScrapboxの情報をChat GPTに流し込んで対話するスクリプトがおもしろそうだったので動かして遊んでみていた。 自分のScrapboxChatGPTにつないだ - 西尾泰和のScrapbox 自分のScrapboxからおすすめサウナを案内してもらえた。おもしろい。自分のはてなブログとも対話したい。 https://t.co/7L51YPVURe pic.twitter.com/ijVXEFDXGl— 趣味はマリンスポーツです (@hitode909) 2023年3月10日 自分はScrapboxよりはてなブログのほうをよく書いてるので、当然はてなブログと対話してみたい。 はてなブログのMT形式のエクスポート結果をScrapboxのエクスポート結果のJSONっぽく乱暴に書き換えるスクリプトを用意して、はてなブログのデータを使ってチャットでき

    自分のはてなブログをChat GPTにつないだ - hitode909の日記
  • 未知の道に突入せず、まずは半分知ってるくらいの状態になる - hitode909の日記

    Perl製アプリケーションからGraphQLを喋ってみたい、ということがあって昨年末に2週間くらいでプロトタイピングしていた。 CPANにGraphQLというライブラリが公開されていて、社内の利用実績もあるので、これをいきなり使ってみても良かったのだけど、自分はGraphQLについては、耳では知っていて、GitHubAPIを呼び出したことがある、くらいで、実際に実装したことはなかった。 このような状態で突き進むと、問題に遭遇したときに2パターンの怪しさが出てきて、切り分けていくことになる。未知のものが多すぎて、プロジェクトXの、トンネルを掘るだけで難しいのに現地の言葉はわからない、みたいな回をイメージしてください。 GraphQL自体への理解が間違っているパターン スキーマ、クエリの書き方が悪い、概念を勘違いしている、など PerlでのGraphQLライブラリの使い方が間違っているパター

    未知の道に突入せず、まずは半分知ってるくらいの状態になる - hitode909の日記
    hush_in
    hush_in 2022/05/01
  • いいマイクアームを買った - hitode909の日記

    でかくて良いマイクを買ったところ、でかさゆえに、机が狭くなってしまっていた。 でかい以外は便利で、音がとぎれとぎれです!って言われる機会も減って、ミーティングのストレスも軽減された。 blog.sushi.money 解決策としては、マイクアームを買うという解決策が一般的なのだけど、しかしこういうカメラの三脚みたいな物体のが顔面の前に飛び出ているのは邪魔そう。 ヴォーカルのレコーディングならこれでいいけど、文字を読み書きしながら喋りたいので、視界を遮られるのは困る。 調べれば調べるほど、ElgatoのWave Mic Arm LPがよさそうに思えてきていた。上に貼ったアームと比べると、下から支持してくれるので視界に入りづらい、という製品。 しかしAmazonでは3万円で取引されていたり、5月末に発送だったりする。 寝る前にベッドでtwitter検索して利用者の声を眺めたり(最近は、Goog

    いいマイクアームを買った - hitode909の日記
    hush_in
    hush_in 2022/02/22
  • コンビニでコーヒーを買うときに思うこと - hitode909の日記

    コンビニでコーヒーを買うと、機械がコーヒーを淹れてくれて、「おいしいコーヒーが出来上がりました」って表示されたりする。 そのたびに、これは絶対におかしい!!と思って、なぜなら、おいしいかどうかは顧客が決めることであって、コーヒーマシンが決めることではない、と感じる。 その直後に、このように、文言を一言一句読んで、この文章は文面通りに読み取るとおかしい、みたいなことを考えているのもおかしいな、と思って嫌な気持ちになる。 ここまでが1セットで、これをコーヒーを1杯ずつ買うたびに毎回思っている。 もうひとつ思ったのは、今日、保育園を見学に行ったら、水槽に「ガラスを叩くと、魚はどう感じるかな?」みたいなことが書いてあって、これも文面通りに読んで、経験主義的なアプローチを適用すると、とりあえずガラスをバシバシ叩いて魚の様子を見ることになりそうだな、と思った。 そういうことを思うたびに、人としての心が

    コンビニでコーヒーを買うときに思うこと - hitode909の日記
    hush_in
    hush_in 2021/10/09
  • 育休を取得してから復帰するまでのまとめ - hitode909の日記

    4〜6月まで、育休を取得していた。こまごまとした出来事があったので、育休を取得して復帰するまでのことをまとめておく。 育休について 育児休業は国の制度で、会社の制度ではない。よく、何ヶ月か休むんです、と言うと、いいですね、うちの会社にはそういうのがなくて、と返されたりするけど、国の制度なので、まともな会社なら、ないことはないはず。ないように見えているとしたら、制度としてはあるけど雰囲気的に取りにくいか、当に違法な状態で制度がない、ということらしい。 もう一つ、あまり知られていないこととしては、育児休暇ではなくて育児休業である、ということ。僕もしばらく知らなくて途中で気づいた。 前提 職業や労働環境が違うとぜんぜん違う話になりそうなので最初に書いておくと、Webアプリケーションエンジニアをしていて、ここ一年ほどは自宅からリモートワークしていた。 採用情報はこちら。全員応募してください。 h

    育休を取得してから復帰するまでのまとめ - hitode909の日記
    hush_in
    hush_in 2021/07/23
  • 子の泣いてる時間を観察したくてM5StickCで泣き声モニタを作った - hitode909の日記

    深夜に絶叫する子を抱っこしていると、いつから泣いてるのか、いつまで泣いてるのか、など考えてしまって精神的に参ってくる。 実際のところどれくらいのペースで泣いてるのか可視化したくなって、M5StickCで可視化するグッズを作った。 作りたいもの 常時マイク入力がオンになっていて、直近しばらくの音量の履歴が可視化されたら便利そうだと考えた。 可視化によって子が泣き止むわけではなくても、「しばらく泣いてる気がしたけどまだ3分くらいだ」とか、「10分間に渡って静かにしていて偉い」とか数値を見て客観的な考察をできるようになりたい。 M5StickC M5StickCは小型のM5Stack。 小さくて邪魔にならなさそうなのと、マイクがついているので買ってみた。 3000円以下で買ってきて書いたコードが動いて画面に表示もできるのでおもしろいと思う。 www.switch-science.com 実装する

    子の泣いてる時間を観察したくてM5StickCで泣き声モニタを作った - hitode909の日記
    hush_in
    hush_in 2021/05/08
  • アウトプットの品質を下げておくと気軽に書けるようになる - hitode909の日記

    12月であるし、アドベントカレンダーが回っていたりして、よくできた興味深いブログの記事を目にすることが多い。 よくできた記事ばかり見ていると、自分もちゃんとしたものを出さなければ、となってしまうことがありそう。しかしちょっと待ってほしい。 ブログ記事、といっても、プロの編集の手が入ったお金のかかった記事、一人で頑張って書いた大作、チョロっと書いて出てきた日記まで様々なものがある。 100文字くらいで終わっているものもあれば10万文字くらい書かれているものもあるので、文量に1000倍の差がある。 映像の世界で1000倍の差を出そうとすると、2時間すなわち7000秒の映画と、スマホで撮った7秒の動画、くらいの差がある。 2時間で観れるすばらしい映画がなにかあるとして、 Amazon.co.jp: フォレスト・ガンプ/一期一会 (字幕版)を観る | Prime Video これの1000分の1の

    アウトプットの品質を下げておくと気軽に書けるようになる - hitode909の日記
    hush_in
    hush_in 2020/12/11
  • JavaScript 長いループ 分割 - hitode909の日記

    ブラウザで長いループや、重い処理をともなうループを回したいとき、同期的にJavaScriptを実行するとメインスレッドがブロックしてしまうので、ちょっとずつ細切れに分割して実行したい、ということがある。 昨日久しぶりに書いたら新たなパターンと出会ったので、これまでにどう書いてて今回どうなったかメモ。 setTimeoutする 以前(10年前とか)はこんなのをよく書いていた。 itemsがでかいArrayで、console.logがすごく重い処理だとして読んでください。 function iterateHeavyTask(items) { const startAt = new Date(); while (items.length > 0 && new Date().getTime() - startAt < 10) { console.log(items.shift()); } if (

    JavaScript 長いループ 分割 - hitode909の日記
  • 今週は技術的な選択の仕方について考えることが多かった - hitode909の日記

    今週は技術的な選択の仕方について考えることが多かった。 どうやって決めるか、というだけでなくて、どこに決めポイントがあるか、というところの見極めも難しい。 何も決めずに進んでいって、あとで見返すとすごいことになってしまい、ここをもうちょっと考えておけると良かったね、ということもあるし、考えすぎて重厚に作りすぎだったので、あとからシンプルな形に直していく、ということもある。 個人的には、ふだんはこのように考えています、という手順を書いておくと、 実現方法を考えるだけでなくて、他に取れる作戦がないか考えていく よさそうな方針が、他の作戦と比べてこれが一番良い、という確証を得る 確証が得られないときは、考えて決める 昼休みにプールに行って泳いでいると、これだけ考え続けて何も出てこないということはこれで行くしかない!と決められることが多かった というような形でやっていると思う。これでできるのでこれ

    今週は技術的な選択の仕方について考えることが多かった - hitode909の日記
  • Perlの依存モジュールのアップデートを自動化するためのCLIツールを作った。GitHub Actions上で動かしてPull Requestも送れる - hitode909の日記

    近年のソフトウェア開発では、RenovateやDependabotといった依存関係更新のためのツールが普及していて、ツールの支援を借りながら依存ライブラリを更新していく開発フローが広まってきている。 これらのツールは、package.jsonで管理されているライブラリだったり、Dockerfileで指定しているイメージだったりを自動的に最新版に更新してPull Requestを出してくれるので、人間は内容を確認してマージボタンを押すか、変なところがあったら手直ししてからマージしていくだけでよい。 はてなでの開発フローでも使い倒していて、先月くらいにも、社内で共有して使ってる設定を公開したりしていた。今ではRenovateのない暮らしに戻ることは考えられないくらいに広まっている。 developer.hatenastaff.com 普段、仕事ではPerlTypeScriptを書いていて、T

    Perlの依存モジュールのアップデートを自動化するためのCLIツールを作った。GitHub Actions上で動かしてPull Requestも送れる - hitode909の日記
  • チーム開発で活躍するために、自分の庭を作れると良い - hitode909の日記

    チームでどうやって活躍するか、まだイメージがついてない、振られた仕事をやっているだけで、仕事をしている間は忙しいけど、確認待ちになるとすぐ暇になってしまう、というメンバーの悩みを聞いていた。 巨大なチーム、巨大なプロダクトだと、すぐに全容を把握するのは難しい。その中で、この範囲なら触れています、任せてください、という庭を作るとよいのでは、という話をした。 思いつきで話したわりには意外といいことを言ってるなと思ったので掘り下げて書いてみます。 庭とは 現代では、庭のある家に住んでる人は少ないかもしれない。うちは実家が田舎だったので庭があって、ボールを蹴って回ったり、石をめくってアリを観察したり、隣の家の庭との境界もゆるくて、冒険と言って隣の家の庭で遊んだりしていた。 大人になってからの庭というと、池袋で遊んでた人が「池袋は俺の庭」と言ったり、JR新宿駅の東口を出たら椎名林檎の庭があることが知

    チーム開発で活躍するために、自分の庭を作れると良い - hitode909の日記
  • チームのScrapbox3000ページくらいを見返して整理した - hitode909の日記

    会社でScrapboxを使っている。チームごとやプロジェクトごと、話題や趣味ごとにプロジェクトを作っていて、うちのチームは1年3ヶ月くらい使って3000ページほどに達している。 どんどん書いていたのだけど、最近、どこに何があるかわからなくなってきていた。同僚に、ここの仕様はどうでしたっけ、って何度も聞いてしまうことがあったので、これはまずいと思ってちょっと整理していた。 表記揺れを直す One Fact in One Placeということで、どんどんページをマージしていった。ページを同名にリネームするとマージボタンが出現して押すだけなので楽。 よくみるとスペースの有無によって同じ話題のページが2ページに分かれていたり、略称と正式名称と、「(正式名称)まとめ」の3つにわかれたりしていた。情報を探しているときにはどんどんマージしたりしないので、今回マージするぞと見返せてよかった。 サポート担当

    チームのScrapbox3000ページくらいを見返して整理した - hitode909の日記
  • コードを書くには連続した2時間が必要 - hitode909の日記

    ある日の午後のスケジュールは、30分ミーティングx2→30分自由時間→そして1.5時間ミーティング、その後は30分自由時間と30分ミーティングを繰り返して定時を迎える…みたいな様子だった。案の定、自由時間で意味ある仕事を進めることはできなかった。 自由な時間が30分あれば、チャットを読んだり、コードレビューしたり、グループウェアを見て回ったり、とかはできる。コードを書くにしても、ここをこう変えれば良いことがわかっていて、書くだけ、とか、ライブラリのバージョンアップ、くらいなら30分で書いてpushしておいて、次の30分でテストが落ちたら直したりして、と進められる。 しかし、そういうことより難しいことをしようとすると、30分だと、さて、問題がどういうものかは分かってきたので、どうしようかな、というあたりで時間切れになってしまう。1時間あれば、ようやくコードを書き始められるかな、というところで

    コードを書くには連続した2時間が必要 - hitode909の日記
    hush_in
    hush_in 2020/05/17
  • ImageMagickでSlackのカスタム絵文字のダークモード対応する - hitode909の日記

    こういうSlackのカスタム絵文字があるとして、背景が透過されているのでダークモードを使っていると黒背景に黒文字になってしまい見えない。 透過部分に白いシャドウを入れられるとよくて、ImageMagickを使うと1コマンドでシャドウを入れることができる。 convert original.png \ \( +clone -background white -shadow 100x8+0+0 \) \ -background none -compose DstOver -flatten -compose Over \ out.pngドキュメント的にはこのあたり。暇なときにImageMagickのUsageをひたすら見ておくと、これImageMagickのUsageで見たやつだと進研ゼミ的に思い出せて便利。 Bluring and Sharpening -- IM v6 Examples 白い

    ImageMagickでSlackのカスタム絵文字のダークモード対応する - hitode909の日記
  • TypeScript Compiler APIとmdn-browser-compat-dataとbrowserslistを使ってサポートされていない呼び出しを見つける - hitode909の日記

    IE11で動かしたいコードでelement.prepend()してたら怒ってほしい ライブラリを使っていたらブラウザ間の差異を気にする必要があまりないけど、最近開発しているプロダクトではDOMのAPIを直接触っているので、このメソッドIEにもあるんだっけ、呼んでいいんだっけ、というのをレビューで確認したりしていて苦労していた。 過去にうっかり呼んでしまったメソッドについてはpolyfillが入っていたりして、appendのpolyfillは入ってるけどprependのpolyfillは入っていないためにIE11でエラーになる、ということが起き得る。 ブラウザ間の差異をlintしてくれるグッズとして、eslint-plugin-compatというeslint pluginがあって、fetch使えませんよ、とか発見してエラーとして報告してくれる。 便利なのだけど、たとえばelement.pre

    TypeScript Compiler APIとmdn-browser-compat-dataとbrowserslistを使ってサポートされていない呼び出しを見つける - hitode909の日記
  • ScrapboxでVJするためのChrome拡張を作った - hitode909の日記

    1月のKyoto.JSの休憩時間にMIDIコントローラとWeb MIDI APIでVJできるとよさそうって話になったので買ってみて、ちょっとずつ触ってみた。過去に作ったツールをMIDI対応する、とか、MIDIの入力に応じて絵を出す、という使いみちに加えて、既存のページにコードを差し込んでエフェクトをかけるのを作ってみた。 Scrapboxにエフェクトをかける Scrapboxプロジェクトのトップページには四角いカードが並んでいるので、これをパーティクルとみなして毎フレーム見た目を書き換えると愉快なビジュアルを出せると考えた。 MIDIコントローラで操作するために、動きのパターンを座標、大きさ、色、背景、ページ全体の変形、などチャンネルがいくつかに整理して、縦フェーダーでエフェクトの種類がかわり、各チャンネルに対応するつまみでエフェクトの掛かり具合が変わるようにした。 こういう構造があって

    ScrapboxでVJするためのChrome拡張を作った - hitode909の日記