MySQL30周年&ユーザ会25周年記念イベント

2025/3/25 に「MySQL30周年&ユーザ会25周年記念イベント」が開催された。めでたい。 mysql.connpass.com オラクル青山センターに行くの久々すぎて外苑前駅の出口を間違えてしまった。 入口で三角形の布(何?)といつものイルカのヌイグルミの30周年特別版…

Bluesky に投稿するよくんを作ったよ

Bluesky に投稿できる「Blueksy に投稿するよ」というページを ruby.wasm で作った。 https://tmtms.net/bluesky/ 「ねとらぼ」みたいなシフトJISのページの URL を貼るとカード情報が文字化けしたり、旧Twitter の URL を貼ってもカード情報が表示されない…

Ruby の STDOUT と $stdout

ちょっと前の Ruby-dev office hour で STDOUT と $stdout について話題になってたので書いてみる。 発端は Ractor で $stdout は使えるけど STDOUT は使えないというものだったようだけど、まあ Ractor についてはよくわからないんで置いておく。 Ruby には…

2024年振り返り

あけましておめでとうございます。2025年になりました。 2024年を振り返ってみる。 仕事 11月で現職丸3年になった。 Railsにはかなり慣れたけど、ActiveRecord はやはり好きになれない。 2024年は16回出社した。会社の制度変更もあり2025年の出社はかなり減…

RubyWorld Conference 2024 に行ってきた

これは Ruby Advent Calendar 2024 の15日目の記事です。 qiita.com RubyWorld Conference 2024 に行ってきた。今回は9年ぶりに登壇した。 2024.rubyworld-conf.org RubyWorld Conference は「Ruby の World Conference」じゃなくて「RubyWorld の Conferenc…

macOSのソートがアホで困る

macOS のソートが文字のコードを無視して文字数だけで並んでるように見える。使い物にならない。macOS アホすぎる。

X でアクティブウィンドウの上にあるウィンドウだけを半透明化する

Kubuntu でアクティブウィンドウの上にあるウィンドウだけを半透明化することができなかったので Ruby で作ってみた

JSrb - ruby.wasm の JS を Ruby ぽく使えるようにする

ruby.wasm の JS ライブラリは JavaScript に対する薄いラッパーなので、そのままだと Ruby では使いにくいことがあるので、最近は JS を Ruby らしく使えるようにするためのライブラリを作ってそれを使ってる。 github.com 使い方 <html> <script src="https://cdn.jsdelivr.net/npm/@ruby/3.3-wasm-wasi@2.6.2/dist/browser.script.iife.js"></script> </html>

Kubuntu

十数年ぶりにデスクトップ環境を Kubuntu にしてみた。 インストール sudo apt install kubuntu-desktop 起動時スプラッシュ画像を変更 sudo update-alternatives --config default.plymouth /usr/share/plymouth/themes/kubuntu-logo/kubuntu-logo.plymouth…

Ruby on Browser

ruby.wasm で作ったやつの紹介と ruby.wasm の使い方

Ruby の CSV が nil を返さないようにする

Ruby の CSV ライブラリはとても便利なんだけど、ひとつだけ問題があって、CSV をパースしたときに nil を返すことがある。 つぎのような CSV をパースすると2番目のカラムが nil になる。4番目のカラムは空文字になるのに! hoge,,fuga,"",piyo require 'cs…

MySQL Parameters で SQL 構文の差分を確認できるようにした

MySQLのバージョン間のいろんな差分を見れる MySQL Parameters というのがあるんだけど、SQL 構文の差分を見れるようにしてみた。 たとえば、8.0 の最初のリリースの 8.0.11 と最後のリリースの 8.0.37 の構文の差分はここから見れる。 https://mysql-params…

RubyKaigi 2024

2024-05-15〜17 と RubyKaigi 2024 が沖縄で開催されて行ってきたのでその記録。今月中に書いた。えらい! 0日目 ESM Night Cruise at RubyKaigi 2024 1日目 Writing Weird Code Namespace, What and Why An adventure of Happy Eyeballs RubyKaigi 2024 Off…

[追記あり]Mac のここがダメ

Mac

追記したよ! 注意 Mac にもいいところはあるけど書いてない Windows の方がいいとは言ってない ハード / MacBook Pro 14インチ 会社から貸与されているのは MacBook Pro 14インチなのでそれについて。他のは知らない。 JIS キーボード キーボードは US でも…

2023年振り返り

2024年になったので2023年を振り返ってみる。 仕事 11月で現職丸2年になった。 目標設定は2年経っても苦手。というか、前職で目標管理制度が30年くらい前に導入されてからずっと苦手なのでまあ仕方ない。 2年経ったけどやっぱり Mac は使いづらい。 2022年は…

KeePass を使う

パスワード管理はずっと Firefox のを使ってたんだけど、9月頃から KeePassXC を使い始めた。しばらく使ってみてそれなりに使えてるのでメモ。なお KeePass と KeePassXC の違いはよくわかってない。 KeePassXC はデータベースを開くためにパスワードだけじ…

LSP ルーターを作った

最近は Emacs の LSP クライアント機能である Eglot を使って Ruby を書いたり読んだりしてる。 ruby-mode では LSP サーバーはデフォルトで Solargraph が使われてる。 半年くらい前に rubocop に LSP サーバー機能が搭載されたらしいんで使ってみた。 (add…

文字ときどきRuby

これはRubyアドベントカレンダーとSmartHRアドベントカレンダーの17日目の記事です。 qiita.com qiita.com 12/9 に nagano.rb で文字について発表して、同じのを 12/15 に SmartHR 社内で LT しました。 スライドはこちら speakerdeck.com 同じ文字? この2…

net-smtp 0.4.0

Ruby の SMTP ライブラリ net-smtp の 0.4.0 をリリースしたので変更内容を書いておく。 認証用のクラスを分離 今まで Net::SMTP クラス中に全部の認証用のメソッドが用意されていたんだけど、新しい認証方式に対応するたびに Net::SMTP 本体に手を入れるの…

Ruby から Bluesky に投稿してみる

Ruby から Bluesky に投稿してみようとあれこれやってみたのでメモ。 Gem Bluesky のプロトコルについて何もわかってないので Gem を探す。 bluesky という gem が見つかったけど、これは違うやつっぽい。 bskyrb というのがあったので使ってみる。 atproto …

roda-sequel-stack を使ってみた

Ruby で ActiveRecord じゃなくて Sequel を使いたい場合のウェブフレームワークは何がいいかなぁ。Hanami かな。まあ Rails で Sequel 使ってもいいんだけども。— とみたまさひろ (@tmtms) 2023年5月27日 Ruby で ActiveRecord じゃなくて Sequel を使いた…

RubyKaigi 2023

2023-05-11〜13と RubyKaigi 2023 が松本で開催されて、行ってきたのでその記録。一ヶ月以内に書いた!えらい! 松本開催 RubyKaigi は 2016年から地方都市で開催されてる。地方に行くには大都会発着だとそれなりに便利なんだけど、地方地方間の移動は結構大…

ruby.wasm で await を使う

最近はずっと ruby.wasm で遊んでます。 2023/5/19 に ruby.wasm 2.0 が出ました。 ruby.wasm 1.0 では await がうまく動かないことがあったけど、2.0 でちゃんと動くようになったんで、記念に前の記事以降にやったこと等をまとめてみた。 await ruby.wasm …

Rabbit on Firefox

Rabbit というプレゼンツールがある。画面の下の方でウサギとカメが追いかけっこをしてるプレゼンツールで、Ruby で作られててまつもとさんがよく使ってる。 www.youtube.com PDF 表示時にもこれと同じようなウサギとカメを表示できないかなーと思っていろい…

ruby.wasm で MySQL Parameters を作り直した

プライベートでは基本的に誰の役にも立たないプログラムを作ってるんだけど、たまにうっかり MySQL Parameters みたいな役に立つものを作ってしまう。 MySQL Parameters は5年くらい前に Vue.js の勉強のために作ってみたんだけど、結局そのまま Vue.js は触…

ThinkPad T14 Gen3 + Xubuntu 22.10 をハイバネートできるようにしてみた

ハイバネート Ubuntu 22.04でのハイバネーション - Journal InTime(2023-01-03) を見て、自分の ThinkPad T14 Gen3 はそんなでもないけどサスペンド時にまあまあバッテリーが減るので、自分もハイバネートしようかと思ってやってみた。 ハイバネートの設定手…

2022年振り返り

2023年になったので2022年を振り返ってみる。 仕事 2021年11月に転職したので、2022年が実質1年目だった。 仕事でバリバリ Ruby が書ける環境は良いね。 プロダクトの機能開発以外は、テスト周りとかデータベース周りをやってた気がする。 フロントエンド難…

Ruby: SSL_CTX_load_verify_file: system lib (OpenSSL::SSL::SSLError)

OpenSSL まわりでちょっとハマったのでメモ。 こんな Ruby のコードを動かすと環境によって warning になったりエラーになったりする。 require 'faraday' ssl_opts = {ca_file: OpenSSL::X509::DEFAULT_CERT_FILE} Faraday::Connection.new('https://tmtms.…

3.2 rc1 以降の変更

Ruby 3.2 アドベントカレンダーの最終日記事です。 qiita.com 3.2 rc1 以降の変更 今年も 12/25 に無事 Ruby 3.2.0 がリリースされた ということで、3.2 rc1 以降の変更を、3.2.0-rc1 の NEWS.md と 3.2.0 リリースの NEWS.md の差分からピックアップ。 3.2…

Ruby 3.2 - Fiber

Ruby 3.2 アドベントカレンダーの24日目の記事です。 qiita.com Fiber Fiber[], Fiber[]=, Fiber#storage 追加 Feature #19078: Introduce Fiber#storage for inheritable fiber-scoped variables. - Ruby master - Ruby Issue Tracking System Fiber ストレ…