Yubikey終章 YubikeyでLinuxのディスク暗号化を開錠する

最近、8年ぶりぐらいに社用のノートPCを新調しました。 主に緊急時のオンコールとかカンファレンス時のTwitter用とかなので、そんなに大したデータを入れるつもりではないが、持ち歩くことは持ち歩くのでちゃんとディスクの暗号化ぐらいはしておかねばならな…

Yubikey続編 GPG鍵もYubikeyに入れたがその時にハマったgnupg内蔵CCIDの非互換問題

昔、Gitのコミット署名用に作ったGPG鍵があったんだけど、大分古くなってたしRSAだしってことで作り直すついでにYubikeyに入れることにした。 管理方針は以下の記事の内容に納得がいったので、そのまま採用。主鍵と暗号化鍵をYubikeyに入れてsignature用の副…

Yubikeyを買ったのでLinuxのログインや1passwordのロック解除が出来るようにしてみた

最近、認証情報を整理してファイルにベタ書きしているデータを撲滅し1passwordに寄せたら、やたら1passwordの認証が要求される様になってしまったのでYubikeyをポチった。 予定通りLinuxでも無事設定できたのでまとめておく。 ちなみに、今回買ったのはこれ…

Omarchyの裏側にあるuwsmについての解説

(自分はOmarchyに全く興味ないので、タイトルに入れてるのはこう書いといた方が見てくれる人居るかなーという雑な理由によるもので、Omarchyの話はほぼありません。) 最近のモダンなWaylandデスクトップの裏側にはuwsm - Universal Wayland Session Manager…

Kaigi on Rails 2025で登壇してきました

今回のKaigi on Rails 2025で登壇の機会を頂いたので、話をしてきました。 トーク内容は今改めてServiceクラスについて考える 〜あるRails開発者の10年〜です。 speakerdeck.com ちなみに真面目にインデックス作るの面倒臭いのでURL直じゃないと参照できない…

RubyKaigi 2025 参加記録

愛媛県松山市で開催されたRubyKaigi 2025に参加してきました。 今回は、近くに道後温泉があったことやカンファレンス自体が水・木・金開催だったこともあり、月曜日に道後温泉に一泊したりしたので、余裕をもって観光が出来たかなと思います。 沖縄の時はな…

オブザーバビリティ入門: OpenTelemetryについて知っておくべきこと

自分が在籍している会社でKafkaを利用したマイクロサービスが増えてきているので、昔からオブザーバビリティの向上というものにちゃんと着手したかったのだが、最近になってやっと手を動かせる所まで優先度を上げられた。 という訳で、ここしばらくは社内に…

最近のLinuxのHDR事情とゲーム画面をキャプチャする方法について

去年末にLinuxでHDR表示を有効にしてゲームをする方法について記事を書いたんですが、年明けでまた状況が変わってきたので追加の記事を書いておこうと思う。 HyprlandのHDR対応 元々、KDE PlazmaデスクトップだけHDR表示に対応しているという状況だったのが…

LinuxでDisplay HDRを有効にしてゲームをプレイする方法

PS5やWindows PCの様にLinuxでHDR対応コンテンツを楽しめるのかですが、結論から言えば、一応可能です。 ただ、そんなにお手軽かというとそうではないし、それなりに制約があります。また、自分の目ではちゃんとなっている様に見えますが本当に想定された色…

大阪Ruby会議04でRustでRubyGemを書く話をしてきました

8/24に開催された大阪Ruby会議04に参加してました。 自分は地元が関西なのもあって相性が良いのか、大阪で開かれた地域Ruby会議ではよく登壇する機会があって、今回もそうなることができて良かったなと思っています。 今回の大阪Ruby会議はチーフオーガナイ…

RubyKaigi 2024に参加できて本当に良かった

RubyKaigi 2024に参加してきました。 今回参加までに紆余曲折あったので、一時は参加を諦めていたんですが、何とか無事参加することが出来ました。 2011年に初参加して以来休まず参加していたので、ついに連続参加が途絶えるのかと思ってましたが、無事連続…

偏りに満ちたWayland時代のLinux Desktopおすすめアプリ 2024

最近、wayland移行も大分安定して、デスクトップで利用するアプリも多少変化したので、最近利用しているものをまとめておこうと思う。 基本的にGNONEやKDE Plasmaみたいな重厚なデスクトップ環境は使わないタイプなので、そういうラインナップになっている。…

20年Rubyを触ってきて初めて踏んだattr_readerのケツカンマ問題、あるいはdefの返り値がシンボルであることの問題

今日Rubyを書いていて、なんじゃこれと思った動作があった。 試しに以下のコードを実行してみて欲しい。 class Foo attr_reader :hoge, :fuga, def initialize(a, b) p a p b end end Foo.new 実行してみると分かるが、これには例外が出ない。 initializeで…

バルダーズゲート3が素晴らしかったのでオススメポイントを書く

年末からプレイしていたバルダーズゲート3をようやくクリアした。大体130〜140時間ぐらいかかったと思う。最近のゲーム体験としては、トップクラスに入る神ゲーだった。ここ数年だとOuter Wildsに匹敵するレベル。ゲーム史に残るRPGと言っても過言ではない。…

tree-sitter-rbsのサポートがnvim-treesitterにマージされました

先々週ぐらいからちょっとづつ作業してテストケースを追加したりしていたtree-sitter-rbsの実装が一段落して、普通に使う分には大抵のrbsはパースできるだろう、というところまで出来たかなと思ったので、nvim-treesitterにパーサー追加のプルリクを出しまし…

rbsのtree-sitterパーサを書いて、neovimのシンタックスハイライトに利用する

皆さん型書いてますか?私はそもそもRubyを書いていません! とはいえ、最近Kaigi on RailsやRubyWorldとカンファレンスが続いていたので、ちょっとやる気を出してrbsを書くためのエコシステムに貢献しようと思い、rbs用のtree-sitterパーサを書いてみました…

Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより)

先日のKaigi on Rails中の雑談として @ima1zumi さんから、RDBに対して秒間1000コミットぐらいで処理が詰まってる場合ってどうするのが良いのか、という質問を受けまして、雑談の中で色々答えてたんですが、せっかくだから記事にまとめておこうと思います。 …

Linux(SteamDeck)でWin用のゲームメモリ改造系ツールを動かす方法

Steam版のFinal Fantasy Pixel Remasterにはブーストモードが無い FF5ピクリマのゲーム自体は結構前に買ってたんだけど、プレイし始めたのは最近で、Steam版にはブーストモードを含めたPS4/Switch版のアップデートが入ってないことを先週知ったところ。 まあ…

Wayland環境に移行してHyprlandを使ってみて3日程度経ったので感想を書く

ふと思い立って(テスト前に掃除したくなるやつ)、一度試して挫折したwayland環境移行を試してみようと再度やってみたら、割と使えそうな感じだったので常用目指して真面目に設定してみた。 今回はi3ベースのswayじゃなくてHyprlandというどっちかというとAwe…

RubyKaigi 2023 参加報告とちょっとエモい話

RubyKaigi 2023に参加してきました。 今回は長野県の松本での開催でした。 全体的な感想 今回は、会場のスポンサーブースの数や来場者が去年より格段に多く、かつてのRubyKaigiが戻ってきたことを強く感じました。 4, 5年ぶりぐらいに会う人も沢山居て、会う…

RubyでBigQueryのStorage Write APIを利用するまでの流れ

自分がググった限りではネット上に記事が皆無で無限の知識のAI様に聞いてもウソしか教えてくれなかったので、ここにまとめておく。 多分、fluent-plugin-bigqueryのメンテをやっている自分ぐらいにしか需要が無いのだろうと思う……。 とりあえず、1日かけて格…

rubygem開発でSteepを使って型を書く時の現状のオススメ設定 (2023年3月版)

Rails(というかActiveRecord)に型を付けるのは大変だが、Railsが絡まないrubygemにはそんなに苦労なく型が書けるので、これからgemを書く時には型を書きたいという人向けに今のところオススメの設定を紹介します。 というか自分が忘れるのでまとめておきます…

ソフトウェアエンジニアとしての能力を高める方法について考えてみた

早朝の寝る前ぐらいの時間にぼやっと下記の様なツイートしたらちょっと反応を貰ったので、取り留めは無いが自分なりに考えていることを書いてみる。 人を育てるのも仕事の内というのは完全にその通りなんだが、そこにドキュメントや本があるから読みます、触…

BigQueryのStorage Write APIにおけるexactly onceの仕組みとエラーハンドリングについてまとめる

2021年の年末ぐらいから、BigQueryにはStorage Write APIというものが使える様になっている。 これは旧来のStreaming Insert APIに代わるもので、gRPCを利用してより高いスループットでデータ投入が出来る様になっている。Streaming Insertは全体で秒間1GBま…

LinuxやSteamDeckでSteamゲームをプレイする時の必須ツール「steamtinkerlaunch」の紹介

自分はGentoo Linuxで大体何でもやる様にしているので、PCゲームも大体はそのままGentooでやってます。 LinuxでSteamを遊ぶ時にはsteamtinkerlaunchというツールがとても便利なので、これを入れておきましょう。 Linuxでゲームをする人間にとっては結構有名…

今日からneovimでRubyの型(RBS)を書き始める方法 + 実際に書いてみた感想

しばらくRubyをあんま触ってない日々が続いてたんですが、オフラインでRubyKaigiに参加したKaigiEffectということでやる気が甦ってきたので、型を真面目に書くための準備を整えようと色々とやってました。 RubyKaigiでモダンなRubyの開発体験のデモをいくつ…

RubyKaigi 2022に現地参加してきた

今回、3年ぶりにオフライン開催されたRubyKaigi 2022に参加するために津まで行ってきました。今回はスポンサーでもスピーカーでもなく完全な一般参加者です。 (自分のTwitterは飯テロの画像なども含むため、センシティブなものを含む可能性があるチェックを…

neovimの棚卸をして、LSP対応やらファインダーの変更やら色々やった

最近Javaばかり書いてるもんでInteliJしか触ってなくて、neovimを放置してたのだが、やっと重い腰を上げて今風なエディタにするべく、全プラグインを見直しつつ設定を刷新した。 init.lua化 まず、普通のvimと共通の設定を作るのを諦めて、設定ファイルをini…

Kafka入門 第2回 「Kafka Streamsを使ったストリーム処理アプリケーション開発」

以前にAWS Summitで似た様な話をしているので、こちらのブログとかも参考にしてください。 https://dev.classmethod.jp/articles/aws-summit-online-2020-cus-47/ 今回の内容も、公式のドキュメントを全部読むなら大体書いてあることなので、既にある程度知…

Kafka入門 第1回 「そもそもKafkaとはなにか」

これは社内向けに書いた、Kafkaってそもそも何やねん、ということをメンバーに解説するための記事を一部編集して公開できる様にしたものです。 第2回以降では、Kafkaを利用したアプリケーション開発のノウハウについて解説していく予定です。そちらも社内の…