生涯未熟

生涯未熟

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

Karabiner-Elementsで特定のキーボードでだけComplex Modificationsを有効にする

Karabiner-Elementsってこんなことが出来たんだ!と感動したので書き残しておく。

前提

まず前提として、筆者がどのような状況でKarabiner-Elementsを使っていたかについて言及する。

仕事机ではKeyball61を、MTGをする際には別部屋のMTG机にてMac内蔵キーボードを利用するというキーボードを使い分けるという生活をしている。
が、困ったことにKeyball61ではKarabiner-ElementsのComplex Modificationsを使って1キーで"日本語/英数入力"をトグル切り替えるようにしていますが、その設定のままだとMac内蔵キーボードにある左右の"英数", "かな"キーを押下した時にも"日本語/英数入力"がトグル切り替えされてしまいます。

それぞれのキーボードでプロファイルを作成し、利用するキーボードによってプロファイルを切り替えていましたが切り替え忘れなどがあると非常にストレスです。
キーボードの種別によってプロファイルが自動で切り替わればいいんですが、Karabiner-Elementsではその機能はないようです。

github.com

対策

困ったもんだなぁと思いつつも、手動で切り替えながら使っていたのですが、先程のISSUEに気になるコメントが1年前投稿されてました。

github.com

リンク先のISSUEには回避方法などが書き込まれていたのですが、その中で「device_if, device_unless, device_exists_if, device_exists_unlessを使ったComplex Modificationsの有効/無効の切り替え」というのがありました!これは使える!!!

karabiner-elements.pqrs.org

要は、VIDとPIDを指定するとそれに合う場合にのみComplex Modificationsが有効になったり、無効にしたりできるといったものです。知らなかった・・・

やってみる

早速試してみましょう!!

今まで使っていたComplex Modificationsは以下のようなものです。

これに device_if を利用してみる形に修正しましょう。
その前にまずはVID/PIDを調べるのですが、Linuxだと lsusbMacだと system_profiler SPUSBDataType で調べることができます。
で、判明したVID/PIDを反映してみましょう。

こんな感じですね!これでプロファイルを切り替えずともComplex Modificationsをキーボードによって有効/無効にすることができました!
ちゃんとマニュアルは読まないとダメですね・・・同じような悩みを抱えてる人は是非お試しを!🙇‍♂️

MIXI, CTOオフィスアワー公開してるってよ

中の人の一人なのですが、最近やってることに気付いてそんなに広まってないの勿体ないな〜と思ったので、こんなんやってるよという紹介をしてく。

CTOによるオフィスアワーをYouTubeで配信している

元々、社内でCTOがオフィスアワーを開いていて、社員が「上のレイヤーの人ってどういうこと考えて〇〇やってるの?」「▢▢についてはどう考えてるの?」みたいな疑問を気軽にぶつけにいく場が用意されていました。
それを体裁整えて配信しようぜ!ってのをやってたりします。

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

今までに4回やっていて、内容的には幅広くかなり面白いものになってるじゃないかなと個人的には思っております。
勉強会などで会社内での活動を一方的に話す場合と違って、CTOが気になるところをツッコむ感じになっているので、また違った面白さがあるんじゃないかなーと。

新卒研修だけじゃないんだぜ!

弊社、新卒研修が結構取り上げられることが多いんですが、その裏で動画コンテンツもかなり豊富に用意していたりします。

※ 調べたら200本以上アップロードされてた。めちゃある。

こういう感じで、YouTubeに動画あげまくってるIT企業も珍しいんじゃないかな?と。
多種多様な動画あるので、気になったのがあったら是非見てみてください。

宣伝大事

こういう取り組みって人に見られなかったら正直あまり意味がないっちゃないので、やっぱり宣伝大事だなと改めて思ったり。
所属してる会社が面白いことやってるな〜〜〜と思ったら、軽くでもいいので紹介してみたりするのもいいんじゃないですかね。しらんけど。
今回のYouTubeみたいに、あまり知られないまま腐らせるの勿体ないと思ったので紹介してみました。またなんかあったら紹介するかも。

SRE NEXT 2024をふりかえって 〜学びをもとにした取り組み事例紹介〜 に登壇しました

2024/10/30に開催された「SRE NEXT 2024をふりかえって 〜学びをもとにした取り組み事例紹介〜」に登壇しました。

layerx.connpass.com

speakerdeck.com

初めてこういうカンファレンスを振り返るようなイベントに登壇させていただきましたが、登壇にあたって改めてSRE NEXTを参加して思ったこと・感じたことを棚卸しするいい機会となり非常に良かったです。

発表内容について

SRE NEXT 2024において、非常に印象に残って参考にさせていただいている以下のセッションをもとに発表させていただきました。

speakerdeck.com

SREを進めていくにあたって兎角問題になるところは「どう広めていくか?」だと個人的には思っています。「SREチームだけがSREを実践して、他のチームはそれに従ってね!」と強権的に進めることは出来るんでしょうが、どうしてもチーム間に凝りが残ってしまいます。
納得感を持って組織全体がSREに取り組みためには、SRE Trail Mapのような「この山の登り方はこうこうで、他のチームもこうやって登ってるよ?」と道を指し示して、SREチーム・その他のチームがお互いに肩を組み合いながら山を登ることが大事だと思います。
そういった意味で、このセッションに感銘を受けたわけです。

ただ、難しいところがこのマップが組織・チームによって変わってくるものなので、道筋を調整したり社内事例を集めたりが骨が折れるところでしょう。
そこらへんをこれから頑張っていきたいなという発表をさせていただいたわけです。

QAセッションについて

QAセッションがありまして、壇上で色々とお話させていただきました。
私に対してのご質問も有り難いことにありまして、「他のチーム(ex.開発チーム)へSREを広めるためにやられていることはありますか?」といったような内容だったと記憶しています。(間違ってたらすいません)
個人的にはSREのみならず、この手の話は全て「信頼貯金」の話だと思っています。

自分は言いやすいので信頼貯金と読んでますが、「7つの習慣」内だと「信頼残高」と呼ばれていますね。これは他者から自分に向けての信頼度合いを貯金・残高のような金融資産と同義に扱ったもので、心理学的にはラポールの考え方とほぼ同じと考えています。
めちゃくちゃざっくり言うと「相手に対して誠実であり、相手を理解する」ことで貯金は増えていき、それに反する行動で貯金は減るわけです。

エンジニア的にはこれに加えて「相手に対してのメリットを提示する」ということが必要になってきます。例えばSRE的な話をすると「開発チームがめちゃくちゃ気を揉んでいるトイルを解消してあげる」といったようなことでも、あなたへの信頼貯金は増えていくでしょう。
これはほんの一例ですが、まずは自分に対しての信頼貯金を貯めていただくためにも現場感をキチンと読み取り、現場がクリティカルに困っているところからメスを入れていくわけです。
こうして貯めた信頼貯金を、今度は自分たちが推進したいけど開発側にちょっと負担いただくことに対して貯金を使っていくわけです。

他にも飛び道具的にこのような方法はあります。

個人的にはあまり好きな方法ではないですが(ex. 推進を進める"意志の有る人間"が育ちにくい)、このような方法も一つとしてはあると思います。各々のやり方を見つけていきましょう。

さいごに

非常に楽しいイベントでした!運営頂いた方々、ありがとうございました。

ゆるSRE勉強会は1周年を迎えました🎉

先日、8月30日にゆるSRE勉強会の1周年記念回を行いました。
会場お貸しいただきましたファインディ株式会社様、本当にありがとうございました!最高でした!

yuru-sre.connpass.com

有り難いことに今までに参加してくださった皆様や、会場提供していただいた企業様のおかげで大きなトラブルもなく1周年を迎えることができました。
今後も末永く続けてまいりますので、よろしくお願いいたします。

やってみて思ったこと

以前にも軽く半年経った感想を書きましたが、

sizu.me

そこからさらに半年経って、色々と感じることがありました。

"勉強会"は狭い界隈じゃなくなった

自分は勉強会というものに初めて参加したのが、かれこれ10年以上前になります。
たしか"PHP勉強会@東京"に行ったのが最初だったかなと記憶しているのですが、PHPerのみなさんと懇親会でお酒を飲みながら、発売されたばかりのワンナイト人狼やったのを今でも覚えています。(なので、2012~2013くらい?)

phpstudy.connpass.com

あの当時は会社の同僚とかに勉強会行ってくると話すと「え?なんでわざわざ仕事の延長線上みたいなエンジニアリングの話聞きに行くんですか・・・?」みたいな反応が返ってきてました。ただ、そこから年月が経つごとに勉強会やカンファレンスなどに興味を持つエンジニアが年々増えていって、コロナ禍でのオンライン勉強会の増加がさらにその傾向を強めたような気がしています。
なんというか良いサイクルだとは思うんですよね。「勉強会に人が増える」→「良い発表が増える」→「後から発表資料を見た人が勉強会に参加してくれる」のループが上手いこと出来てるというか。

そういったサイクルができるようになったのも、勉強会を昔から長く続けていたり、新しくやり始める方がいるおかげですね。正直、勉強会やカンファレンスの主催ってお金もらえたりするわけじゃなく、完全に善意で成り立っているものなので、参加者の方は関係者の方には素直に感謝を伝えるといいと思います。

周りの協力が得られやすい世の中になった

例えば「勉強会やりたい!」ってなった時に一番最初に考えるべきことは何でしょう?思いつくのは「会場」ですね。
これも昔から考えると、物凄く見つけやすくなりました。昔は自社に頼み込んで、会議室を一室借りて・・・みたいなやり方が多かったと思いますが、最近は会場をお貸しいただける企業様が本当に増えて有り難い限りです。

また、企業によってはDevRelポジションがあり、勉強会を開催する場合には手厚くサポートしていただけることもあるので(場合によってはオンライン配信も!)、本当に運営側にとっては開催しやすい世の中になったなーとひしひしと感じます。

もっと面白いフォーマットも見つけたい

そういった良い面もあれど、個人的にはフォーマットが画一化されつつあるなという感想も持っています。自分が参加していた頃のPHP勉強会では一人一人の参加者の自己紹介という牧歌的な和気藹々としたアイスブレイクがありました。なんかそういった「この勉強会ならでは!」というものが無くなったのかなとか思ったりしています。(そんなに多くの勉強会に参加してるわけではないので、的外れだったらすいません)

そういったように、この勉強会だから"これ!"がある、といった勉強会らしさ・個性がこのゆるSRE勉強会で出していけたらなと薄ぼんやり考えています。

皆でゆる〜く楽しみたい

そんなこんなで昔と比べて勉強会ってどんなものに変容したんだろう?を高々10年ちょっとの期間で比較してみたことを書いてみました。昔の記憶を引っ張り出すために、自分のブログを読んでいましたがPHPカンファレンス2013,2014に行った時の話とかが出てきて、懐かしさでエモくなりました。
よく、「ブログ書くまでがカンファレンス!」と言いますが、あれは過去の楽しい思い出をいつでも追体験できるといったことにも繋がりますので、是非カンファレンスや勉強会に参加される方はブログ記事として、その時感じた気持ちを書き連ねると良いと思います。

まぁ勉強会はその名の通り「勉強」をする会なのですが、そこだけに閉じていなくて「楽しい!」という気持ちを参加者の皆さんと共有する会だとも思っています。なので、そんな気持ちを今後もゆるSRE勉強会でゆる〜く楽しんでいけたらなと。

最後に発起人のかたいなかさん、運営のずんだまるさん。いつもありがとうございます。今後とも楽しくやっていきましょうね!✌(直接伝えるのは気恥ずかしいので最後に添えておく)

SRE NEXT 2024に参加しました!

今年もSRE NEXTの夏がやってきましたね。ということで8/3, 8/4の両日をオフライン参加させていただいたので、参加レポを書いていきます。

sre-next.dev

会場のチル空間が良かった!

今回はスポンサーブースに囲まれる形で机と椅子が並んだチル空間があったのですが、個人的にここがめちゃくちゃ良かったです・・・!
カンファレンスは自然発生的に会話が発生しますが(所謂、カンファレンスの廊下現象)、その時に「ちょっと座って話しますかー」が出来るし、コーヒーの提供もあったのでちょっと疲れたらコーヒー飲みつつチルするみたいな感じで体験としては凄く良かったです!

スポンサーブースのコンテンツが面白い!

カンファレンスの醍醐味の一つといえばスポンサー様が展開されているスポンサーブース!ということでコンプリートを目指して回っていましたが、残念ながら残り2つのところで終わってしまいました😭

スポンサーブースの中で特に面白かったのはSMSさんのブースと、RIZAPさんのブースでした。

SMSブースでは事前にこのような募集をされていて、

これはいい取り組み!と思い、申し込みさせていただきましたー。
前々から自分のアイコンの缶バッジほしいなと思っていたのでめちゃくちゃ嬉しかったです!

RIZAPブースはノベルティがとにかく気合はいっててすごかったです!
特にメモパッドがあったのですが、これは日常使いできる感じで軽く既存のアーキテクチャ図書きたいなとか実装のイメージ作るために図を書きたいなって時に使えそうでありがたやありがたや・・・🙏

他にもサイバーエージェントさんのブースではソシャゲのバックエンド運用あるあるの話で盛り上がったり、オープンロジさんのブースでは過去のヤバいやらかしの話をペタリさせていただいたりとおもしろ体験でした!

ちなみに所属社でもブースを出していたので、最後に皆でパシャリと写真を撮ったりしました。

懇親会会場がクラブ!?

これびっくりしたのですが今回は懇親会会場がクラブでした!パーリーピーポーだ!

ここでは様々な初めましての方とお話させていただいたり、顔見知りの方と話したりでずっと喋りっぱなしの最高の時間でした!BGM大きかったので結構声張って喋っていて喉が死んだりしましたが、なんとか翌日には引きずりませんでした。喉の回復力!

CloudbaseさんのIPAも配っていたのですが、これがまためちゃくちゃ美味くて2本目を取りに行ったときには既に完売済みでした。また飲みたーい!

流れるように2次会へ・・・!

懇親会も終わったな〜と思っていたところ、なんとなく2次会の雰囲気を感じ取って待機していたらTAKA_0411さん先導のもと2次会に参加できました〜
2次会ではIwaminさんやmekkaさんとお話しながら楽しく過ごすことができました!感謝感謝🙏

最高のセッション

今年も最高のセッションばかりでどれを聴講するか毎回悩んでいましたw
とりあえずマストで聴かなきゃ!と思っていたオフライン限定のパネルディスカッション「Becoming SRE - SREって何から始めればいいの?」「SREの技術トレンド2024」はどちらも立ち見が出るほどの大盛況ぶり!
内容も最高で、SREの技術トレンド2024の方は7割くらいAIに関するお話でSRE × AIで何かしら出来ないか自分も模索してみないといけないなと感じさせられるような内容でした。がんばるぞ。

あと印象に残ったのは「オブザーバビリティのマクロからミクロまで〜あるいはなぜ技術書を翻訳するのか」「Enabling SRE by Guide Maps」の2つですね。

「オブザーバビリティのマクロからミクロまで〜あるいはなぜ技術書を翻訳するのか」は、さすが安定と信頼のymotongpooさんといった感じで、分かりやすくかつ新たな洞察を授けてくれるような内容で今まさにオブザーバビリティに取り組んでいる自分にはうってつけの内容でした。効率的なGo買います!
この前日に懇親会でkatzchangさんと有り難いことにお話させていただいたのですが、そこでもフロントエンドとバックエンドで見たい視点がそもそも違うのでこうした方がいいのでは?のようなアドバイスを頂いたりして、まだまだオブザーバビリティについて分かってないことばかりだなぁと反省・・・精進します。

speakerdeck.com

「Enabling SRE by Guide Maps」は横断組織としてのSREチームが、全体のSREingの浸透具合の把握と各チームが自律的に進められるように用意したSRE Trail Mapというガイドラインについてのお話でした。
今いるところでは特にこういったガイドラインはないのですが、やっぱりこういうのがあった方が新しくSREを実践したい!って人にはありがたいですよね👀 ちょっと土台だけでもいいので拵えてみようかなと思ったりしました。
あとグッドポイントとして、DORA Core Modelのドキュメントについて言及されていて、Four keysの文脈でテクニカルケイパビリティを引き合いに出す人は多いですが、このドキュメントについてはスルーしている人ばかりだったのでちゃんとそこも含めてやろうとしているというのが印象的でした。

speakerdeck.com

最後に

最近はゆるSRE勉強会にSRE KaigiやSRE Magazineなど色々動いているせいか、SRE NEXT 2023に参加したとき以上に様々な方に声をかけていただきました。自分からなかなか話しかけられない性質なので、本当に皆様に感謝です🙏

また、毎年このようなSREに対しての気付きを与えてくれる場を作っていただいている運営の方々や、登壇者の方、スポンサーの方などにも改めて感謝です。ありがとうございます!!

来年はプロポーザル出せるように頑張りますので、今度はどんなカンファレンスになるか今から期待しております!🙇