@ledsun blog

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

WebAssembly用語集

ruby.wasmのソースコードを読んでいるとWebAssemblyに関する用語が出てきます。用語を間違って読みとるとソースコードも間違って読んでしまいます。ソースコードを読むのに無駄に時間がかかります。そういうわけで、ソースコードを読みながら調べた用語をこ…

とちぎRubyの勉強会 拡大版で発表しました

とちぎRubyの勉強会 拡大版 で発表しました。 発表資料はこちらです。 自分がプルリクエストをつくるときの手順を例にハッキングの仕方を整理しました。我ながら、現時点のruby.wasmのハッキングの仕方の説明としてなかなか上手くできたと思います。 先週のT…

TokyuRuby会議14にてLTをした

TokyuRuby会議14 - Regional RubyKaigi でLTをしました。 speakerdeck.com ruby.wasmを使ったブラウザアプリケーションをつくった話とその途中で見つけたruby.wasmの改善点のプルリクエストをつくった話です。 当時の朝にマージされたプルリクエストを含む2.…

誰にも出来る殺人/棺の中の悦楽

誰にも出来る殺人/棺の中の悦楽 山田風太郎ベストコレクション (角川文庫)作者:山田 風太郎KADOKAWAAmazon 4年ぶりに読み直しました。 ミステリーですが、トリック寄りの本格でなくて、ホラー的に「ほげーっ」てなる感じでした。 よくもまあこんなプロットが…

ruby.wasmの構成図を書いている

何度やってもruby.wasmのどこからどこまでがWebAssemblyでどこからがJavaScriptなのかわからなくなります。 あらためて絵を描いてみることにしました。 ruby.wasmの構成図 第1段 これだと、Rubyスクリプトがどう関わるのかわからないんですよね。 登場人物を…

JS::Object#new PR感想戦

ruby.wasmでJavaScriptのオブジェクトをnewメソッドで初期化する - @ledsun blogで、JS::Object#newを実装しました。 これを Create a JavaScript object with the new method. by ledsun · Pull Request #246 · ruby/ruby.wasm · GitHub にしました。 マー…

ruby.wasmにto_bを実装するには?

ruby.wasmでクエリ文字列を扱おうとしたら - @ledsun blog で、JavaScriptのオブジェクトの返す真理値が真か確認するために if searchParams.has('phrase') == JS.eval('return true;') と書きました。 if searchParams.has('phrase').to_b と書きたいです。…

ruby.wasmのJS::Objectをハックするときのテクニック

ruby.wasmでJavaScriptのオブジェクトをnewメソッドで初期化する - @ledsun blogでnewメソッドを試作しました。 せっかくなので、ruby.wasm本体に組み込みたいです。 で、ためしていて気が付きました。 ruby.wasmのJS::Objectをハックしてみる - @ledsun blo…

ruby.wasmでJavaScriptのオブジェクトをnewメソッドで初期化する

ruby.wasmでクエリ文字列を扱おうとしたら - @ledsun blogで JS.global.URLSearchParams.newと書きたい と書きました。 ためしに実装してみました。 class JS::Object def method_missing(sym, *args, &block) if sym == :new # new で呼び出されたら、コン…

ruby.wasmでクエリ文字列を扱おうとしたら

URLSearchParamsを使うと、こんなかんじになりました。 searchParams = JS.eval 'return new URLSearchParams(location.search)' if searchParams.has('phrase') == JS.eval('return true;') phrase = searchParams.get('phrase').to_s set phrase, template…

悪役令嬢漫画

2020年から、悪役令嬢漫画を読むようになりました。 読んだ物を記録しておきます。 順番に意味は無いです。刊行順でも読んだ順でも好きな順でもありません、記録が見つかった順です。 悪役令嬢だけでものすごい数があるので、追放令嬢は別枠にしておきますね…

ruby.wasmの最新版を試す その1

ruby.wasmでrequire_relativeを使えるようにしたい - Qiita の続きです。 2回呼ぶとPromiseの完了待ちが無限にブロックされます と言う状況でした。 ruby/ruby.wasm側でコミットが進んでいるので、ここにリベースしてみます。 ですがmainブランチの最新はコ…

ruby.wasmのJS::Objectをハックしてみる

ruby.wasmでJavaScriptのオブジェクトのプロパティの操作を工夫する - @ledsun blog で考えたJS::Objectに対するパッチをいれてビルドしてみます。 まずテストコードを探しました。 https://github.com/ruby/ruby.wasm/blob/394841d142fabc2287e7f918a605c70…

ruby.wasmをビルドする

ruby.wasmをブラウザで動かす時に https://cdn.jsdelivr.net/npm/ruby-head-wasm-wasi@2.0.0/dist/browser.script.iife.js を使います。 このJavaScriptをハックして少し便利にしたいときには次の手順でビルドしています。 ビルド git clone git@github.com:…

ニトリのオフィスチェア

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

ruby.wasmでJavaScriptのオブジェクトのプロパティの操作を工夫する

いまruby.wasmでブラウザ向けプログラミングするために <script src="https://cdn.jsdelivr.net/npm/ruby-head-wasm-wasi@2.0.0/dist/browser.script.iife.js"></script> を使うとプロパティを参照しようとすると次のように書きます。 require 'js' documetnt = JS.global[:document] これを次のように書きたいです。 require 'js' documetnt = JS.global.document 次のモ…

悪役令嬢の中の人

悪役令嬢の中の人~断罪された転生者のため嘘つきヒロインに復讐いたします~: 1【イラスト特典付】 (comic LAKE)作者:白梅 ナズナ,まきぶろ,紫 真依一迅社Amazon キャラクター設定は悪役令嬢だけど、物語の構造は「モンテ・クリスト伯」です。 「追放ざまあ…

新しい分割キーボードをみつくろう

ErgoDoxを使っています。 しばらくつかってみて不満が出てきました。 親指キーが左右で6個ずつ、12個あります。 しかし、親指キーでは打ち分けられません。 せいぜい横に並んだ3キーしか打ち分けられません。 使えないキーがあるのはなんとなく損した気分が…

RubyKaigi 2023 に参加した

僕のRubyKaigiを終わらせるために、参加者としての日記を書きます。 一日目 新宿駅からあずさで松本へ向かいました。 研鑽Rubyを読んだり、車窓を楽しんだりしました。 私も研鑽します pic.twitter.com/NLdrgWloic— ぎゃばん@手洗い (@ledsun) 2023年5月10日…

夢小説 急成長した組織で新参者が「自発的な提案」をするには

自社開発メガベンチャーをわずか半年で鬱退職した雑魚エンジニアの話|JoanOfArc を読みました。 著者はハードスキル不足と表現しています、ソフトスキル不足に見えました。 ここでは、この記事をモデルとした架空の組織ボウケンカンパニーを例にしてソフト…

RubyKaigi 2023 で登壇をした話に書き足りなかったこと

RubyKaigi 2023 でLoad gem from browserというタイトルで発表しました。 - @ledsun blog を、書いた後で書き忘れに気が付きました。 日記、書いた後で、書き忘れを思いついた- 前日はノンアルコールで発表準備頑張った- 屋上が野良で発表練習するのによかっ…

RubyKaigi 2023 でLoad gem from browserというタイトルで発表しました。

発表資料です。 RubyKaigiでの発表は2018年のLT以来です。当時の日記です。 #rubykaigi 2018でLTしました - @ledsun blog 5年掛けて本編デビューしました。 import-mapsの説明の下りはkaigi_on_railsでのLTの使い回しです。kaigion_rails_newにてライトニン…

RubyKaigi 2023 誰も撮ってなさそうな松本の写真

どうも流行っているみたいです。 誰も撮ってなさそうな松本の写真 pic.twitter.com/NjM7Y4Ujjt— (@neko314_) 2023年5月14日 誰も撮ってなさそうな写真…スナック 知らないわよ ですかねフォントもいい感じで好き! pic.twitter.com/3MSMPFpbxF— かわ (@kaeru…

RubyKaigi 2023 2x2 autographs results

RubyKaigi 2023に参加するに当たって、強いRuby力(るびーちからと読みます)を得るためにひとつの大きな目標を立てました。 2x2 autographs です。 目標 Matzのサイン入りRuby 30th TシャツにさらにMatzのサインをもらう。サインが2つです。これがひとつ目…

RubyKaigi 2023に向けた名札の準備

RubyKaigiには参加者の名札があります。 通常は受付後に、手で名前を書きます。 できれば綺麗な字がいいです。 また、アイコンもあると認識しやすそうです。 そこでグーグルスライドで作ってみました。 RubyKaigi2023の名札画像 - Google スライド 寸法はよ…

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

タイムモアのコーヒーミルを買った

良いものだと聞いていたのでAmzonのセールに乗っかって買いました。 TIMEMORE コーヒーミル 手動 タイムモア C3 Max 新しいより大きな容量30グラム 粗さ調整可能 軽量 省力性 携帯 お手入れ簡単 ステンレス製コーヒーミル ブラック (ブラシ付き)TIMEMOREAmaz…