生涯未熟

生涯未熟

プログラミングをちょこちょこと。

keyball61を使い始めて半年経った

自作キーボード沼に憧れて早数年、やっとこさ意を決して半年前に沼に足先を浸ける決心をしました。

自作キーボードはパーツの自由度がウリですが、初めて手を出す人間からすると本当に何を買ったらいいのか選ぶところからめちゃくちゃ時間がかかりました・・・!
keyball61を買うことはトラックボーラーの自分からするとマストで、そこからどう作り上げていけばいいのかは遊舎工房さんのハウトゥーや、keyball61のビルドガイドにも何が必要でどういったものを選べばいいのかのヒントがあり、非常に助けになったのを覚えています🙏

shop.yushakobo.jp

github.com

で、最初に揃えたのはこちら☟

キーボードのスコスコ感大好き丸なので、とりあえず赤軸で攻めてみました!ロープロファイルもどのくらいの打鍵感がベストなのかが全く未知だったので、一旦赤軸統一で。
あとはキーキャップもプロファイルとやらがあるというのを初めて知り、なんか変わった感じのが欲しいな〜と思っていたところ XVX がなんか良い感じな印象受けたので一目惚れで決めました。
トラックボールはちょうど故障したM570のトラックボールが余っていて、径もちょうどピッタリ合ったのでこちらを使うことに。リユース!✌

で、肝心の制作なのですが、先程のkeyball61ビルドガイドにめちゃくちゃ丁寧に組み方が書かれていたので、ほぼ迷わずに作ることが出来ました!とはいえ、完全にスムーズかと言われるとそうではなく、粗方組み終わった後にテストで動かしていたところ左のキーボードの上から3段目の全てのキーが反応しない!という現象が😇
めちゃくちゃ焦ったのですが、キーソケットが少し浮いているところがあり、ひとまず全部のソケットのはんだ付けをやり直すことで事なきを得ました。ぴったり接点させるようにしつこいくらいはんだを付けた方が良いですな。


こうして完成したkeyball61ですが、やはりマウス操作するために一旦右手をホームポジションから離すことがないというのはめちゃくちゃに爽快です・・・!

ただし、作って一ヶ月経つとやはり「ここはこうしたい!」という改善点がちょこちょこ出まして、まずは 赤軸がスコスコ過ぎる! でした。やっぱりちょっとは引っ掛かりがないとむっちゃミスタイプしますね・・・ということで、Cherry MX互換の茶軸にしました。これが丁度いいスコスコ感!

あとは、ロープロファイルのキーキャップがちょっと難点がありまして、親指でタイプするのですがキャップの縁の部分が親指の肉に食い込んで長時間使っていると痛みが出るように🤔

キーキャップの縁を削ったりしてみたのですがあまり改善せず、代替品を探していると最高のキーキャップを発見しました。

Gravity Keycaps Choc - 親指キーshop.dailycraft.jp

これがもう本当に最高で、どれだけ長時間使っても全く親指が痛くなく、質感も柔らかめなためめちゃくちゃタイプしやすいです。親指のロープロファイルキーキャップはもうこれ以外考えられない・・・オススメです。


この時点でもう自分の中の最高のキーボードが完成したのですが、どうせならもっと高みを目指してみようということで、 テンティング にもトライしてみることに。
調べるまで知らなかったのですが、キーボードに角度をつけることで最適な手首の角度でタイピングができるというのがテンティングで、人によっては50度とか角度をつけてタイピングしてらっしゃいます(すごい)

note.com

で、このテンティングをケースからやると3Dプリンタやろうぜ!と無限に沼にハマってしまうので、とりあえずは↑の記事にもあるスマホスタンドを使ってテンティングすることに。

この時は正直しっくり来てなくて、何故かというと 手首が辛い!! 。変に手首が浮くことで余計疲れる・・・なので、さらにリストレストも追加して結果こうなりました!

これで手首の痛みも改善!リストレスト大事!

ここまで来たら持ち運び用のケースも欲しい!ってなわけで、keyball61が入ってかつ衝撃に強いケースを探していました。するとアクションカメラケースが良いという情報を目にして試してみることに。

これが超ぴったり!!ケーブル入れる収納場所もあるし、スポンジで衝撃吸収されるしで持ち運びもこれでOK!👌


そんなこんなで快適なキーボード生活も半年経ちましたが、つい先日衝撃的な出来事が・・・

😭😭😭

何が起きたのかというと、朝に慌てて仕事に取り掛かろうとして、うっかりキーボードを落としてしまいPro microのType-C接続端子がキレイにモゲてしまいました・・・😇
調べてみると界隈でもモゲることはよくあることらしく、それがついに来たのだなと。で、結局右側のPro microを左側に移植することで直すことは出来たのですが、Remapで設定していたキーマッピングを保存しておらず、吹っ飛んでしまい泣く泣く1時間かけて戻しました😭

このような悲劇を繰り返すわけにはいかない!ということで、モゲ対策にこちらを買いました。

そう!マグネットケーブル!
これで落下してもモゲる前にケーブルがペロッと外れてくれる仕組みですね☟

モゲもこれで安心!(多分


というわけでkeyball61のおかげで快適な生活を送っています。トラブルがあったり、しっくり来ないことがあっても対応できるのが自作キーボードの本当に良いところですね。
次は暇ができたらBLE Micro Proを使ってBLE化してみたいな〜とか考えてます。チャタリングするのか?とか調べ切れてないですが、その辺の調査もコミコミで楽しんでやっていきます!💪
ビバ自作キーボードライフ!!

Road to SRE NEXT@京都に登壇しました

地元の関西に帰りがてら、SRE NEXTさんが地方開催しているRoad to SRE NEXTにお伺いしてきました。

sre-lounge.connpass.com

初めてマネーフォワードさんの京都支社に来たのですが、入口からめちゃくちゃ雰囲気あって良い会場でした〜

イベントでは初めましての弊社の方とお会いできたり、Twitterで数年フォロー・フォロワーだった方と初めてお会いできたり、関西のエンジニアの方と交流できたり、弊社を来週面接する方と出会ったり、飛び入りLTがあったりめちゃくちゃ面白かったです!

※ luccaさんありがとうございます〜!

こういう地方開催は地元に帰る良いキッカケになったりするので、是非とも来年も地方開催やって欲しいなぁと思ったりする次第です。ともあれ運営の方、参加者の方、ありがとうございました!🙏

ちなみにこんな登壇をしました。

speakerdeck.com

技術領域で本当に出来ないなんてことは少ないので、リソースとの折り合いをつけつつ対話して解決方法を探っていこうね、というのが伝えたいことでした。

有り難いことにiwaminさんから感想いただけましたが、たしかにCustom Providerで実現できそうなんですよね。ただ、パイプラインでゴニョっとやる方が手慣れてるし早いかなーという感じでやっちゃいました。もう少し時間が取れたらCustom Providerにトライしてみたい。

京都・大阪旅行

せっかく地元に帰ってきたので、色々行ったことのないところ行ってきました。

大阪と京都の豊国神社に参拝できたので満足感ありました。ちなみに大阪の方が「ほうこく」神社で、京都の方が「とよくに」神社らしいです。不思議。

めちゃくちゃ日焼けしましたが、良い旅でした。またフラッと地方の勉強会行って旅行したいな〜

開発生産性カンファレンス 2024に行ってきた

Findy社が開催していた開発生産性カンファレンス 2024に6/28, 6/29の両日行ってきました。

dev-productivity-con.findy-code.io

最近、Four keysなど開発生産性に関する情報が巷に増えてきて、開発生産性とはなんぞや?と改めて考えるようになりまして、何かの助けになることを期待して参加させていただきました。

スポンサーブースいっぱい!たのしい!

最初にスポンサーブースをちらと覗いてからセッション聞きに行くかーと、スポンサーブースの部屋を覗いてみたらあらビックリ、もの凄い数のスポンサーブースでした・・・!
総勢37社のスポンサーブースが展開されていたということで、それだけで圧倒されてしまいました。

また、スポンサーブースのスタンプラリーがあり、スタンプを集めることで最大3回回せる巨大ガチャもあり、そういった様子を見てるだけでもワクワクするような催しもやっていました。私も一回分のガチャ権が溜まったのでやってみましたが、残念ながら参加賞😭

各社スポンサーブースも興味深く、多種多様なノベルティや聴き応えのある事業説明など、休憩時間が足りないよ〜〜〜となるようなボリュームでした。

kongさんのゴーゴーカレーゴーゴーカレー好きしては見逃せなかったので、速攻貰いに行ったのを覚えています!
これ以外にも食べログさんではキーキャップを配っておられたり、カケハシさんのお箸やスリーシェイクさんの技術書などなど・・・どれもありがたいものばかりでした🙏

事業説明で印象に残っているのはGOさんでした。旅行先でのタクシーの手配でよく使わせていただいているだけに、どのような仕組みを工夫されているのか?を聞きに行ったのですが、サーバーサイドの説明をかなりガッツリしていただき、めちゃくちゃありがたかったです。
説明していただいた上に、GOで使える2000円分クーポンもいただけたり至れり尽くせり・・・!

運営スタッフの方々が素晴らしい👏

Findyの運営スタッフの方々のご案内や、進行などスムーズで一参加者として困り事が一切なかったです。
あとは会場側のスタッフの方も、自分がコーヒーをこぼしてしまった時に温かい対応をしていただき、アワアワしてる中とても助かりました🙇‍♀

また、コーヒーコーナー横にアンケートボードがあったのですが、そこでもFindyのスタッフの方に物凄く丁寧にエスコートしていただいて、人見知りな自分としてはとても嬉しかったです!

また、Findyが設立して間もない頃(2017年だったかな?)にお話させていただいた社員の方ともお会いする機会があり、Findyさんめちゃくちゃ大きい会社になられて凄いッス!と正直な感想を伝えることもできたので満足でした🙏

学びのあるセッション

肝心のセッションは、気になるセッションを狙い撃ちしにいく感じで聞きに行きましたが、おぉ〜と感じたのは「「開発生産性を上げる改善」って儲かるの?に答えられるようにする」 のセッションでした。

開発生産性指標をキチンとお金などレイヤーごとの最大の関心事に紐づけていくことで、説明責任も果たせる意味のある指標になるよね?といった内容でしたが、確かに確かにと思わせられることの連続で物凄く聴き応えがありました。

speakerdeck.com

他にも色々と聞きに行きましたが、どれも学びのあるセッションばかりでした!(生で徳丸先生と、及川さんを見れたのも最高👀

たまたま来ていらっしゃった弊社の方とFour keysについて議論していたのですが、来年はもう少し変化球として「Four keysやめました」みたいなマイナスな内容も聞いてみたいですねという会話をしてました。
やはり、ポジティブな内容もやる気を現場に持ち帰ることができて良いのですが、「こういったことをしたら使い物にならなかった」のようなネガティブフィードバックも聞いてみたい気持ちが湧きました。
来年はそういった内容があるとより面白そうですね!

ちょびっと気になったところ

とはいえ全部が全部最高だ!というわけでもなく、気になるところはアンケートに書かせていただきましたので、何卒目を通していただきますよう🙏

ここに書けそうなめちゃくちゃ小さい気になり事としては、スポンサーブース横の廊下にもう少し机を配置していただきたかった・・・
スポンサーブースで頂いたノベルティを整理する場所がなかったので、なかなか大変でした😇

しかしながら、感想としては最高!というのは変わらないので、来年も開催されればお伺いしたいと思います!

運営の方々、登壇された方々、本当にありがとうございました!!🙇‍♀

リポジトリの可視性によってGitHub ActionsのReusable workflowsは参照できない

つい最近GitHub Actionsをいじっていた時のお話です。

GitHub ActionsにはReusable workflowsと呼ばれる再利用可能なワークフローの仕組みがあります。

docs.github.com

例えば複数のリポジトリで同じワークフローを実装している場合に、何かを修正する必要が出てくると全てのリポジトリに修正の手を入れるのは面倒ですよね。
そんな時にReusable workflowsを利用して同じ処理を再利用可能な形にしていれば、それぞれのリポジトリが参照している一つのワークフローを修正するだけで済むようになります。楽チンです。

そのように依存関係を整理できる便利なReusable workflowsですが、つい先日お仕事で新しいリポジトリを用意してReusable workflowsの一つに参照したところ、以下のように怒られました。

つまりは呼び出そうとしたworkflowが見つからなかったと言っているわけですね。他の参照できているリポジトリと同じ実装にしているため、そんな見つからないなんてことは・・・とかなり四苦八苦しておりました。

で、色々と調査しているうちに他のリポジトリとの決定的な違いを見つけました。
呼び出しが成功しているリポジトリと、Reusable workflowsが存在する呼び出される側のリポジトリとのリポジトリの可視性は以下のような関係性でした。

Private Repository → Private Repository

対して、呼び出しに失敗していたリポジトリの関係性はというと

Internal Repository → Private Repository

となっていました。Internal RepositoryとはGitHub Enterpriseで利用することのできるリポジトリの可視性で、詳しくは以下になります。

docs.github.com

で、このInternalからPrivateの参照ではReusable workflowsの参照ができないのでは?という仮説を立ててみました。

そうしましたら、公式ドキュメントにこんな項目が👀

docs.github.com

これだ〜〜〜〜
呼び出し元がInternalではInternalかPublicのReusable workflowsしか呼び出せないのですね・・・知らなかった。

これに気付くまでに数時間溶かしたのですが、何故そうなったかというとこの可視性について分かりやすく書いてくれてるのが英語版のドキュメントにしかないんですよね・・・
公式ドキュメントあるあるの英語版にしか書いてないというトラップに久々に引っかかってしまいました。

結局、InternalからPrivateに変更しても問題ないリポジトリでしたので、戻すことで無事Reusable workflowsに参照することができました。めでたしめでたし。

というわけで、Reusable workflowsを利用していてGitHub Enterpriseな方はお気を付けください〜〜〜〜〜

DevOpsDays Tokyoに初参加してDevOpsの祖を見た

先日開催されたDevOpsDays Tokyo 2024に参加しました!DevOpsDays Tokyo自体の参加が初めてで、琴線に触れるところが色々あったので書き留めていこうと思います。

参加前

自分の不勉強で申し訳ないのですがDevOpsDays Tokyoの存在を今まで知らず、Four keysについて調べていた時に以下のツイートを見つけて気になり参加を決めました。

こちらのセッション目的ではあったのですが、タイムテーブルを眺めて他の登壇される方を見ていると「おぉ・・・こんな豪華なカンファレンスを今まで見逃してたのか・・・」という後悔に近い気持ちを抱えつつ、速攻チケットを買った覚えがあります。

あとはDevOpsDaysを立ち上げて、DevOpsの祖と言えるPatrick Debois氏が講演されるということで、更に期待大でした。

聴講

事前に聴講スケジュールを立てたのですが、Four keysなどのメトリクスに関するセッションを中心に組み立てました。これは私が今SREとして取り組んでいることに直接関係するもので、すぐに現場に反映できる何かが得られると良いな〜という気持ちからでした。

ここでは聴講した中から幾つかピックアップして、烏滸がましいですが聞いた感想を書いていきたいと思います。

From Pilot to Transformation: Embracing the Reality of GenAI at Scale

Patrick Debois氏の講演で、AI × DevOpsについてのお話でした。

それぞれBuild・Delivery PIpeline・Operate・Business as usualの4つに分けた構成で、AIについての知識が殆どない私でも聞ける内容でAI特有のDevOpsにおける問題などのお話をされていました。

「様々なモデルが提供されている世の中だが、応答内容に実はジェンダーなどの属性におけるバイアスがかかっていないか?を気を付けよう」、「ユーザーに対してAIへの入力インターフェイスを設けても、キーワード検索に慣れてしまっているため"質問"を入れることに不慣れ」などのAIならではのお話。 「従来テストと違い、"結果との突き合わせ"を行うことができない。別のLLMに正しい答えか?をテストするやり方」、「一般的なサービスと同様、o11yについても気を払う必要がある」といったDevOpsとの兼ね合いの話をされていて、ほぇ〜・・・と声を上げることしか出来ませんでした。

※ o11yの文脈で紹介されていた www.langchain.com

AIは今後確実にコモディティ化していく領域だが、尖ったプロダクトは危険性を孕んでいて開発者・利用者として注意が必要ではあるといったことも仰られていたのが印象的でした。(画面上の全ての挙動を記録するAIソリューションを例に挙げて、セキュリティやプライバシーは大丈夫?といったことを言われていた)

自分が今後エンジニアとして従事していく中で確実にAI領域は触ることになるので(もう今ですらだけど)、少しずつキャッチアップしていきたいなと改めて思うセッションでした。

## DevOpsを体感!?DevOps大仮面の組織カルチャーお悩み相談室!

speakerdeck.com

DevOps大仮面のビジュアルにただただ圧倒されました・・・🤔(ビジュアルは中の人の記事を参照

takusamar.hatenablog.com

内容自体は組織カルチャーのあるあるお悩みに答えていくといったテイストなのですが、「サピエンス全史」を引き合いに出した回答をされていて、人間と人間の集合体はいつになっても過去の人間史に学ぶことができるな〜と楽しみながら聞いてました。

人類は突然変異による変革を中心に進化してきたが、それをサピエンス以後は「振る舞いによる変革」を行えるようになり、それが認知革命。そのため、"フィクション"を信じることで国籍・人種を超えた見知らぬ人同士でも協力が可能となったことから、組織の文化浸透もナラティブを有効に利用することが出来るというお話をされていました。
これは自分としても「たしかに!」と思う話で、理路整然としている提案内容であったとしても人は「それをすると一体どうなるの?」という不安に駆られてしまいます。それを払拭するために、他の方が実践して成功したという「成功譚」として吟遊詩人よろしく語ることも一つの変革をスムーズに行う手法でしょう。(ややもすると権威主義になっていまいますが・・・)

そんなこんなことを考えながら聞いていたら、最後に奥義フェニックスのポーズが始まって笑いながら聴講してましたw

SPI原点回帰論:事業課題とFour Keysの結節点を見出す実践的ソフトウェアプロセス改善

speakerdeck.com

こちらが冒頭でも紹介させていただいた参加のきっかけになったセッションです。

もうこの発表を聞くと生産性なんて言葉は簡単には吐けないな・・・ってくらいのボリュームで取り組まれているというお話で、アウトプットよりアウトカムという変遷が世の中的にも生まれているということが分かりつつも、「んじゃアウトカムってどう測ればいいの?」といった疑問が自分の中にありました。
その疑問への回答として「SODA構想」といったアーキテクチャを考え出し、その中で以下のようなレベルでメトリクスを取得し観測することでアウトカムを可視化できるといったことを仰られていました。

※スライド P.47より引用

これを見るとFour keysなんてほんの一部のメトリクスといった感じで、ビジネス側にまで踏み込んだメトリクスを取らないと真に生産性を測るなんてこと無理ですよね、というふわっと思っていたことを実践されていて素直に「スゲー!」と思いました。

後半はFour keysにより主眼を置いた話で、んじゃアウトプットは蔑ろにしていいのか?と湧いた疑問については「ロケットにおける推力とミッション」といった例えで答えられていました。
チームにとってアウトプットの推力がないと、そもそものアウトカムなんて得られようがありません。そんな大前提のアウトプットを測るためにFour keysは存在しますよねといった論調で、勿論Four keysで測った結果としてValue Stream Mappingを使ったさらなる掘り下げをされている話など測った後のNext Actionも含んだめちゃくちゃ身になるセッションでした!

サービス運用はボールを落とさない競技 : 2009年DevOpsDays の誕生と私の身の回りの話

speakerdeck.com

kawagutiさんによるDevOpsDaysを中心としたDevOps周辺の歴史をまとめたお話。
御本人も話されていましたが、これをDay1の基調講演にしていただきたかった内容でしたw

この中で、DevOpsDaysからDevOpsというものが端を発していったというのが存じ上げなかったので、話にあったアジャイルマニフェストのような最初に定義ありきのものかと思っていた自分にとっては驚きでした。
「コミュニティから生まれた実践者の概念である」といったものがDevOpsで、生まれた時から時代が進み、クラウドプラットフォームが当たり前の今の時代にとってはDevとOpsの境界線もより曖昧になりつつあると思います。

また、Flickrにおけるツールと文化の話も非常にSREと同じコンテクストでスッと理解することができました。こういう時代背景から継承され、発展してきた概念なんだなぁ・・・と。

最後に大事な言葉として仰られていた「相手が異なるスキルを持つことを尊敬する。相手を信頼して、ノブとレバーを渡す」は本当にその通りだと思うし、改めてこの身に刻みつけておかないとな、と思う言葉でした。

まとめ

長くなってきたのでセッション毎のまとめはこのあたりで〆。他にもカケハシ社さんの立ち上げ期から組織としてのより成長を促すための仕組み作りや、Google Cloud Japanの方のセッションでの「SREとはGoogleでのDevOpsの実践のことを指します」といった言葉だったり、Patrick Debois氏のインタビューセッションでの「DevOpsとは"組織の対立を解決する"こと全てに対しての取り組みのことです」といった言葉などバッシバシ心に刺さるセッションが多くありました。

来年も参加したいなと思うカンファレンスでした!運営に携わった方、スポンサーの方、登壇された方、全てに感謝🙏🙏🙏