@ledsun blog

無味の味は佳境に入らざればすなわち知れず

透過pngを作る 2

透過pngを作る - @ledsun blog の続きです。 手元にあるツールで、背景色の透明化を試しましたが上手く行きませんでした。 新しツールをインストールしてみます。 フリーの画像編集ソフトといえばGIMPがあります。 最近はMicrosoft Storeからインストール出…

KPTでトライ狙いすぎ問題

KPTは「チームの力で問題を見つけるふるまい」の養成ギブスです。 ふるまいに慣ていない間は違和感があります。 たとえば次のような問題が起きます。 トライ狙いすぎ問題 KPTの「改善活動」の面に強く期待しすぎて生じる問題です。 無意識に、KPTの成功指標…

WebAssembly text formatからwasmバイナリをつくる環境を整える

wasmバイナリのカスタムセクションを書いてみる - @ledsun blog でプリアンブルとセクションを持つwasmバイナリを書き出せるようになりました。 最低限のwasmバイナリファイルの構造を理解したといえます。 お題 Writingの次はReadingです。 シンプルなwasm…

wasmバイナリのカスタムセクションを書いてみる

最小限のWebAssemblyのバイナリファイルを書く - @ledsun blog でwasmバイナリのプリアンブルの書き出しに成功しました。 続いてセクションを書き出してみます。 Modules — WebAssembly 2.0 (Draft 2023-07-24) によると セクションの定義 1バイトのID、4バ…

最小限のWebAssemblyのバイナリファイルを書く

仕様 WebAssemblyのバイナリファイルはModuleと呼ばれます。 Modules — WebAssembly 2.0 (Draft 2023-07-24) に仕様があります。 プリアンブル セクション に分かれています。セクションは空でも良いです。 つまり、最小限のWebAssemblyモジュールはプリアン…

推測するな、計測せよ

Rob Pike先生は「推測」は否定していないのでは? 「推測するな、計測せよ」はミスリードと言う話 - aki33524’s blog Rob Pikeが批判しているのは「合理的な根拠なしに決めつけてハックをすること」であって、「推測」すること自体ではない。 「推測」の否定…

ニトリのオフィスチェア

同僚にニトリのオフィスチェアがお値段以上だと聞きました。 店舗に試しに行きました。 OC701 メッシュだと39,900円。脅威のお値段です。 リクライニングがかなり倒れる。押し返す力は弱め アームレストが前後、向きも変えられる アームレストが71cmくらいま…

RubyKaigi向け発表資料づくり その2

RubyKaigi向け発表資料づくり - @ledsun blogの続きです。 何度か練習してみた結果30分の枠に収まりそうです。 プレゼンテーション資料の作成に取りかかります。 最近はGoogleスライドでプレゼンテーション資料を作っていました。 今回はオフラインでも動く…

Ubuntuで自動的にapt upgradeするには?

WSL上のUbuntuでsudo apt update && sudo apt upgradeするのが日課です。 自動化していい気がしてきました。 ChatGPTに相談します。 ChatGPTの回答 sudo apt install unattended-upgrades sudo dpkg-reconfigure --priority=low unattended-upgrades してみ…

RubyKaigi向け発表資料づくり

RubyKaigi 2023 に登壇します。 - @ledsun blog の続きです。 文字起こしが書けたので、手書きのコンテを書き起こしました。 コンテ1枚目 これが8枚あります。 スライドにすると48枚です。 30分の枠に収まらない可能性が出てきました。 トピックを削る必要が…

RubyKaigi 2023 に登壇します。

RubyKaigi 2023 3日目のタイムテーブル 右下に居ます。 ここ数ヶ月、仕事もプライベートも慌ただしく、なかなか時間がとれずに、ふええって思いながら準備をしています。 僕は次の手順で発表資料を作っています。 スマートフォンに時間分しゃべる 内容が固ま…

ChatGPTの答えをプログラムで処理しやすくする

ChatGPTに質問をなげて、その結果に反応するプログラムを書こうと思いました。 ChatGPTは自然言語で回答するので、プログラムでパースしにくそうと思っていました。 回答形式を指定すれば良かったんですね。

ChatGPTをレビューコメントの社会性フィルターとしてつかう

例えば、ソースコードレビューをしていて、アレを使うと便利ですと指摘したときです。 LINQでRxのTakeUntilみたいな操作をしたいときに、レビューコメントで「LINQにRxのTakeUntilみたいなのないの?あったらそれ使ってほしい」って書くと、乱暴な感じがしま…

NUnitをつかってテストコードを書くときのテストメソッド名の命名規則

NUnitのテストの命名規則をどうするとわかりやすくなるのか悩ましいのでまとめてみます。 describe と context がない NUnitにはRSpecとちがいdescribeとcontextに相当する機能がありません。 NUnitの公式のサンプルコードを見てみましょう。 https://github…

ErgoDox EZをカスタマイズする その4

ErgoDox EZをカスタマイズする その3 - @ledsun blog レイヤーを使っていないことがわかりました。 おもにカーソル移動にレイヤーを使うことにしました。 左にマウス移動。右にカーソル移動を設定。 その結果、レイヤー1のカーソルに割り当てていた列が空き…

環境変数で大きなスタックサイズを指定したらrequire_relativeが動いた

ruby.wasmでrequire_relativeするやつの進捗状況 - @ledsun blogでSystemStackErrorがでると書きました。 ruby.wasmのリポジトリのissueで次の情報を見つけました。 https://github.com/ruby/ruby.wasm/issues/133#issuecomment-1365825417 evalAsync intern…

ErgoDox EZをカスタマイズする その3

ErgoDox EZをカスタマイズする その2 - @ledsun blog の続きです。 使いながらちまちまカスタマイズを続けています。 レイヤー1 https://configure.zsa.io/ergodox-ez/layouts/9RAoN/latest/0 レイヤー1のキーレイアウト カーソルの位置を左にずらしました。…

ruby.wasmでrequire_relativeするやつの進捗状況

今は、ruby.wasmでrequire_relativeを使えるようにしたい - Qiitaからそんなに状況は変わっていません。 少し違うのは、このときは 2回呼ぶとPromiseの完了待ちが無限にブロックされます でした。 いま*1は SystemStackErrorがでます。 requrie_relativeは再…

rbenvをsudoしたい

ratにファーストチャレンジ - @ledsun blog で、ratの実行にroot権限が必要そうなことがわかりました。 rbenvをユーザーアカウントにインストールしています。 単にsudoをつけて実行するとrubyが見つかりません。 ledsun@MSI:~/rat►sudo ruby rat.rb sudo: r…

ratにファーストチャレンジ

プログラミング言語Ruby30周年記念イベント を軽い気持ちで見ていました。 奥一穂さんの発表がめちゃすごかったです。 さっそくGitHub - kazuho/rat: NAT written in pure rubyを読んでみます。 https://github.com/kazuho/rat/blob/3efd4d47aa0e2eb44768d28…

デメテルの法則を詳しく

デメテルの法則 - @ledsun blogでは原典に当たりませんでした。 原典に当たります。 デメテルの法則は次の文章で提唱されました。 https://www2.ccs.neu.edu/research/demeter/papers/law-of-demeter/oopsla88-law-of-demeter.pdf 定義 次のように定義されて…

ErgoDox EZをカスタマイズする その2

ErgoDox EZをカスタマイズする - @ledsun blog の続きです。 キーがたくさんあると使い方で悩みます。 ひとまず重複無しのシンプルなキー配置を組んでみました。 https://configure.zsa.io/ergodox-ez/layouts/j6MZw/latest/0 キー配置 アルファベットキーの…

ErgoDox EZをカスタマイズする

MoonLander Mark I - @ledsun blog にて、ErgoDox EZをカスタマイズすることにしました。 まずはカスタマイズ方法を調べます。 【2021年度版】もう一度ErgoDox EZを設定する - zuckey blog を参考にしました。 キーマップの書き込み ErgoDox EZにキーマップ…

デメテルの法則

DDDなどが話題になるたびに「オブジェクト指向プログラミングってTell, Don't AskしたいだけでDDDでもデザインパターンでもクリーンアーキテクチャでもその実現手段なのではないかなあ?」などと思うことがあります。 ところでTell, Don't Askってなんでした…

マルチタスク

マルチタスクはよくないです。 本当ですよ? プレイヤーとして コンテキストスイッチ タスクの切り替えにはコンテキストスイッチが必要です。CPUと同じですね。 タスクに必要な情報をメモリからキャッシュに持ってこないと高速に処理できません。 キャッシュ…

バグ修正、リファクタリング、機能追加

順序はいつでも、バグ修正、リファクタリング、機能追加だ!— ぎゃばん@手洗い (@ledsun) July 12, 2012 10年前と同じことを言います。 必ずでなくてもいいけど、お得な順番があります。 機能追加する前に考えなきゃいけないことを減らします。 機能追加する…

MoonLander Mark I

www.ergonomics.co.jp Kinesis Advantage 360が気になっております。 いかんせん税込み7万円超えのお値段と入手難易度の高さに逡巡しております。 Review: Kinesis Advantage 360 Pro — split ergo mechanical keyboard – Ben Frain 未練がましくレビュー記…

LaravelのConvertEmptyStringsToNullミドルウェア

LaravelでとあるAPIサーバーを開発しております。 とあるバグの調査をしていた同僚がConvertEmptyStringsToNullミドルウェアが原因だと突き止めてくれました。 空文字の入ったパラメータをNullに置き換えるミドルウェアです。 Laravelでは標準です。 HTTPリ…

elasticsearch-rails 7.2.1について

elasticsearch-rails gemの最新バージョンは7.2.1です。 elasticsearch gemの最新バージョンは8.6.0です。 バージョンがズレています。 こういうものなのでしょうか? 状況はちょっとややこしいです。 elasticsearch-railsのリポジトリには次のissueがありま…

Ruby on RailsはRack 3をサポートしていますか?

budle outdated コマンドを実行するとrackの新しいバージョンが出ていることを教えてくれます。 Gem Current Latest Requested Groups rack 2.2.6.2 3.0.4.1 さて、Ruby on RailsはRack 3に対応しているのでしょうか? いいえ、していません。 下記のプルリ…