futabooo blog

色々手をつけすぎてすぐに忘れるので備忘録

Choco60 rev.2でレイヤーを使ったキーマップを使ってみる

だいぶ左右分割にもなれてきて、最近はホームポジションからの移動やトラックボールへの手の移動を何とかさせたいなーと思うようになってきました。 標準のキーレイアウトから離れるのはあまり気乗りしないものの、ほぼ家で自分のキーボードしか触らないのでやることにしました。

Choco60 rev.2はviaを使ったキーマップの変更に対応しておりブラウザでポチポチするだけでレイヤーへのキーの設定を追加することができました。

www.caniusevia.com

設定した内容は一旦ホームポジションからの移動が激しい端っこにあるキーを別のレイヤーに設定してみるやつで始めてみようと思います。

レイヤ−0

右手親指のスベース左にあるキーには短く押すとエンター、押しっぱなしにするとレイヤー2への切り替えとなるようにAnyキーを割り当てました。

他のレイヤーに当てたキーを無くすのはまだ怖くてやってないですがレイヤー切り替えになれ始めたら消そうと思います。

レイヤー1

数字キーや記号を集めたレイヤー カッコの左右を手の左右にすることができるのわかりやすそう

レイヤー2

もともとfnキー押しながらやっていたようなキーをここに設定した

60%分割キーボードのChoco60 rev.2を組み立てた

Choco60 rev.2を1年ほど前に購入していましたが、これをつい最近組み立てたので部品選びやキーボード沼のことについてメモを残しておきます。

keys.recompile.net

60%分割キーボードを買った理由

もともとHHKBをメインのキーボードとして使っていたところで単純に見た目かっこいいなーと思って分割キーボードをいつか使ってみたいと思っていたものの、いきなり触ったことのないキー配列のものだとちゃんと使えるか心配だったのでいざとなれば元の状態に戻れるような60%分割キーボードである Choco60 rev.2を購入しました。

部品選び

キースイッチ

キースイッチはKailh Box Silentの茶色を使っています。

キースイッチの種類がめちゃめちゃたくさんあるということを自分で探してみて初めて知りました。正直webで検索しただけでどれかを選ぶのは無理でしたので遊舎工房さんで変買えるテスターでいくつか気になったものを実際に触ってみて検討しました。

キースイッチテスター 18個タイプ

キースイッチ選びでは下記のページにもお世話になりました。最終的には、Rebuild.fmでも紹介されていたスイッチに決めました。

shop.yushakobo.jp

rebuild.fm

キーキャップ

キーキャップにも種類がたくさんあり、キーの形がまず違います。HHKBに最も近い形はOEMらしいです。

https://fantechworld.com/wp-content/uploads/2022/06/keycap.jpg

このキーキャップのプロファイルがあるということを買うまで知らずに、見た目重視でzfrontierでSAプロファイルのキーキャップを購入しましたが使い始めて2日でやめました。

[In Stock] Domikey SA Aqua ABS Doubleshot Keyset – zFrontier

今はxvxというプロファイルのものを使っています。Amazonでも買えて手が出しやすいのに結構使いやすくて気に入っています。キーの種類が足りないので一部別のキーを付けてるのだけが何点ですがタイプしてるときは気にならないです。自分が買った白緑はすでにAmazonには在庫がなかったので公式のリンク貼っておきます。

XVX Forest Double Shot PBT Keycap Set (189-Key) – xvxchannel

TRRSケーブル

左右に分割されたキーボードを繋げるケーブルも沼です。

nillpo.hatenablog.com

自分はここにはまだこだわりが生まれていないのでDaily Craft Keyboardさんで買ったものを使っています。

TRRSケーブル 50cm | 自作キーボードの店 Daily Craft Keyboard

組み立て

はんだ付けを家でやりました!道具を一式揃えて高校生ぶりぐらいにハンダゴテつかってつけました。ちゃんとできるか心配でしたが動画でやり方を見てからやることで無事すべてのキーが動くように一発でつけることができました。

keys.recompile.net

salicylic-acid3.hatenablog.com

はんだ付けのコツ - YouTube

無線化

基盤に取り付ける形での無線化もできるようですが手っ取り早くUSB2BTという商品を使って無線化しました。しかしこの商品自体給電のために電源につなぐ必要がありPCについていたコードが電源に向くようになっただけで無線化とは?という気持ちです。モバイルバッテリーにつないでキーボードの下に隠したりするとそれっぽくなるようですので今後トライしてみたいです。

USB2BTは3台までペアリングして切替可能なので仕事PCと私物PCの切り替えが少し楽になったのと、有線のときはMacのスリープから復帰するとキー入力を受け付けてくれなかったので線を外して付けてという作業をしていたのがなぜか必要なくなったのでまぁ買ってよかったです。

おわりに

分割キーボードを使うようになるとモニターとキーボードの間に大きなスペースができるようになったのでデバッグ端末や本をそこのおいて作業ができるようになったのも副産物として嬉しかったです。

またキーボードへの熱が上がり、他の分割キーボードへもトライしてみたくなっています。普段トラックボール使いなので今気になっているのは下記のあたりです。

Keyball61 – Shirogane Lab

NAYA - Modular Keyboard – Naya

自動化ツールMake(旧Integromat)を使ってTwitterに#FitBoxing2の投稿をしたらPOST requestを作成する

FitBoxing2の記録をつけたいなーと思いZapierで最初やろうと思ったけどPOST requestするのに月2千円は払えないなぁと思ってしまったのでMake(旧Integromat)を使ってやってみました。

全体像

今の所運用してるワークフローはこんな感じ。

大まかな流れ

  1. 15分に1度5件ツイートを取得する
  2. #FitBoxing2のハッシュタグがあるツイートは次のステップへ進む
  3. ツイートIDがData storeに保存されていなかったら次のステップへ進む
  4. Routerで処理を2つに分岐させる
  5. 1つはData storeへツイートIDを保存する、もう一つはPOST requestを発行する

ツイートの取得

Zapierのようにツイートするごとにトリガーするようなものが無いので時間間隔を設定したり、特定の時間を指定したりしてトリガーを設定できます。

今回は15分に一回5件のツイートを取得するようなトリガーを設定しました。

またモジュール(Makeでは、丸いのがモジュール)間の点はフィルターが設定することができるので、次のステップへ進むのは画像つきで#FitBoxing2のハッシュタグ付きツイートだけというフィルターを設定しました。

Date storeにツイートIDが保存済みかどうか確認する

画像つきで#FitBoxing2ありのツイートだけ すでにPOST requestを作成したトリガーとなったツイートIDは最後にData storeへ保存しているので、そのIDが存在するかを確認しています。

ツイートIDが存在しなければ次のステップへ進みます。

Routerで処理を2つに分ける

未処理のツイートだったらData storeへのID保存をPOST requestの作成をやるようにRouterで処理を2つに分岐させています。

POST requestする

ツイートの画像URLとツイートした日時を特定のURLにPOSTします。 受け口はCloudRunを用意していてそこではCloudVisionAPIを使って消費消費カロリーを抽出、pxelaへPOSTして記録するという流れを実装しています。

pixe.la

おわりに

これでフィットボクシングしたらSwitchからツイートすることで消費カロリーの草を生やすことができるようになりました。

https://pixe.la/v1/users/futabooo/graphs/fitboxing2-kcal

それにしてもMake(旧Integromat)ってなんて検索しづらいんだ、、、ほとんど日本語の情報出てこないですね。

2022年の振り返り

年が明けて仕事も始まってしまいましたが昨年2022年の振り返りです。

これまでの振り返りはこちらです。 何年かTwitterのタイムラインで振り返ることをやってましたが、これはそんなに頭使わないでやれるので今年は普通に書いていきます。

2021年の振り返り - futabooo blog

2020年の振り返り - futabooo blog

2019年の振り返り - futabooo blog

2018年の振り返り - futabooo blog

仕事

Stailerの新規導入開発

引き続き10Xでソフトウェアエンジニアとして働いています。パートナーローンチチームに所属し新しくStailerを導入するパートナーの開発を主にやっていました。

振り返ってみると1年で6社のパートナーのローンチに関わっていました。2ヶ月に1社のペース!!(実際は仕込み期間がそれぞれあるのでもうちょいかかってる)

北陸エリアNo.1スーパー「アルビス」がStailer導入。店舗受け取り型ネットスーパーを2/21より開始 | 株式会社10X

中部電力ミライズコネクトが10XのStailerを導入。中部地域初!コストコ商品が買える買い物代行サービスを開始 | 株式会社10X

ドラッグストア「クリエイトエス・ディー」が ネットで注文、店頭・車上で受取可能な買い物サービス 「REMO CART」(リモカート)を提供開始 | 株式会社10X

大手ドラッグストア「スギ薬局」がStailer導入。アプリで商品注文、店頭・車上で受け取り可能に | 株式会社10X

長野のスーパー「デリシア」がStailer導入。 「デリシア ネットスーパー」アプリを9月30日より提供開始 | 株式会社10X

近畿・北陸・東海に展開する総合スーパー「平和堂」がStailerを導入 「平和堂ネットスーパー」を12月9日より提供開始 | 株式会社10X

Stailerはプラットフォームとして成長しているのでこれだけの短期間でのローンチができました。一方成長痛みたいのも発生してきているので、リファクタリングなどの守り?の動きも活発化してきています。

輪読会

輪読会を開催しました。 チームトポロジーの輪読会は以前も書きましたが、アジャイルな見積もりと計画づくりも輪読会を行いました。どちらも定期的に手にとって読み直したい本です。

futabooo.hatenablog.com

しばらく間を空けてしまっているので次の本の輪読会を計画したいです。

オンボーディング

新入社員向けのオンボーディングでアジャイル開発とは?」というような内容の話をする機会を作ってもらいました。人に向けて説明することで自分の中でも整理されていくのでやってよかったと思います。一方ですでにスクラムを経験してきていたり、アジャイル開発について学んだことがある方もたくさんいたので2パターンのオンボーディングに作り変えるのを今年に入ってからやろうと思っています。

新しい技術にふれる

10XではGCPのプロダクトをたくさんつかっています。これまでAndroidしかやってこなかった僕ですが、10Xに入社してからはServerSideの開発をすることも多く、GCPもちょこちょこさわるようになりました。とはいえすでに環境として用意されているものを運用でさわる程度で0から構築するようなことはやったことがありませんでした。またFlutterを触る機会も実際のところそんなになく、まだ雰囲気でWidgetを書いてる状況です。

2023年ははもうちょっとFlutter書きたい。

プライベート

個人参加フットサル

プライベートで一番の変化は個人参加フットサルに行くようになったことです。3月に前職の同僚をソサイチをやった時に身体の動かなさに失望してから体力向上のために通うようになりました。去年の回数を数えたら27回参加していたので月に2,3回はやってたことになります。最近は前職の同僚とのソサイチに参加した時に見てわかるレベルで動きが良くなったと言ってもらえました。

素振り活動

あんまりできてないです。今年の素振りはこのあたり。

GitHubPrjectsでストリーポイントの合計を表示する拡張

GitHub - futabooo/chrome-extension-github-project-beta-story-point

ストアのレビューをSlackに投稿するOSSのバグ修正

fix fetch app store info by futabooo · Pull Request #52 · TradeMe/ReviewMe · GitHub

ドキュメントのtypo修正

docs(graphql): fix typo by futabooo · Pull Request #1042 · zino-hofmann/graphql-flutter · GitHub

もうちょっと素振り活動を増やしていきたい。

総括

全体としてはこなすという年だったと思います。2023年はさばく年にしたいと思います。

2022年に買ってよかったもの

今年買ってよかったものをまとめてみます。 昨年のリンクも置いておこうかと思ったのですが、昨年は書いてませんでしたorz

家電

popIn Aladdin 2

天井のシーリングにつけるタイプのプロジェクターです。。リビング横のスペースに設置しています。 僕が買ったタイプはもう買えないっぽいですね。2Plusっていうのが後継機みたい。

子供がお気に入りの動画を流しておいて、動画に集中してる間に掃除や洗い物をする時間が作れるので買ってよかったです。

Aladdin Connector

popin AladdinのワイヤレスHDMI接続機です。 Switchの画面やFireTVで見れる動画の画面をpoppin Aladdinでうつすのにつかっています。 Switchの画面映す場合遅延が気になるのでタイミングが重要なゲームはおすすめしません。僕はフィットボクシングをやってみたら全然タイミング合わなくてしんどかったです。 poppin Aladdinが未対応の動画サイトを見るのに重宝しています。

EH-NA0J-A

これまでドライヤーは乾かせればいいやろぐらいで数千円のものを使っていたんですが、家族で使うようになったしなんかいいの買ってみるかということで購入しました。 使ったあとの髪が潤いを取り戻したようになるので買ってよかったです。 顔に風を当てるモードも付いていてこれも顔がツルツルモチモチになる気がします。

WH-1000XM5

マンションの大規模修繕工事の音がすごくて家で仕事するどころではなくなっていた時に買いました。ノイズキャンセリングのおかげで無事に工事を乗り切ることができました。

MATECH BrightBar Remote

モニターライトです。手元が暗くなることもなくいい感じにモニターだけを照らしてくれるので目の疲れが軽減した気がします(個人差)

SOGU 9°ブックストッパー

本立て?というか本の下に引いて本立がなくても本を押さえられる代物です。デスクの上で数冊だけ置いてある本を固定するのに使っています。普通のスタンドだとでかいので。

キッチン用品

ティファール フライパン

もともとティファールのフライパンを使っていたのですが、長い間使っていたので何も考えずに同じティファールのシリーズを購入しました。以前使っていたものよりもめちゃめちゃ軽いので料理や洗い物が楽になりました。進化していますね。

育児用品

グスケット

子供が歩くようになって抱っこひもが荷物として持ってる時間が増えてきたので買いました。使うのにちょっとコツが要りますが散歩や買い物に行くときはこれを持っていっておけば突然あるきたくないとダダを捏ねられても片手で支えられるぐらいの重さに感じることができるようになります。

チェアベル

12/29日に買ってこのリストに入ってくるぐらい買ってよかったものです。子連れで外食するとなるとお子様椅子が必須です。勝手に降りようとしたり手を伸ばして何かを取って行ったりするので椅子に固定できるタイプがよいです。このチェアベルトはお子様椅子がないお店でも椅子につけて固定することができるようになります。外食の選択肢が増えて最高です。

Raycastを使い始めて見た感想メモ

はじめに

こんにちは!こんにちは! 最近は会社からの貸与PCがM1になってバ美肉に精を出しています。

さて、これまで僕はMacのランチャーアプリはSpotlightしか使ったことなかったのですがRaycastに手を出してみました。

Raycastとは

高機能ランチャーアプリです。LPにはこんな感じで書いてあります。

Raycast is a blazingly fast, totally extendable launcher. It lets you complete tasks, calculate, share common links, and much more.

www.raycast.com

似たようなのだとAlfredとか結構前からあります。

Alfred - Productivity App for macOS

よく使う機能

Create Database Page | Notion

Notionの特定のDBに新規ページを追加できるextensionです。

こんな感じでNotionのDBに入ってきます。

My Schedule

スケジュール管理のためのextensionです。Raycastのチュートリアルを進めると入れることになるのですが、便利なので入れてよかったです。

見たまんま予定の一覧が表示されたり、meetのURLがある予定ならここから参加できたりします。(加工したかったので画像で🙏) 今回のキャプチャにはないんですが、予定の直前でRaycastを呼び出すとすべての項目の一番上にその予定が表示されるのでmeetに参加したいときとかシュッといけます。

Clipboard History

名前の通りクリップボードの履歴を呼び出せます。snippetに保存とかもできます。

Search Project Manager | Visual Studio Code

VSCodeのProjectManagerというextensionと連携されるextensionです。VSCode側にもextensionを入れておくと、そのextensionに登録したプロジェクトをRaycastから開けます。devcontainerがうまい開けないのでやり方知ってたら教えてほしいです。

marketplace.visualstudio.com

おわりに

Spotlightでできることは当然できるので計算とかもできます。

まだ自分は使えてないのですがaliasやhotkeyの機能もあるのでRaycastのWindowをすっ飛ばして目的のことができるようにもなりそうです。

今の所無料ですが今後どうなるかわからないですが、その時は課金しても使い続けるかもなーという所感です。

会社でチームトポロジーの輪読会をした

最近話題(出遅れてる?)のチートポ本のオンライン輪読会を10X社内でやりました。

輪読会とは

wikipediaには読書会の一つの形式として書かれていました。

輪読会式: 特定のテキストを一区切りずつ読んでいく方式

読書会 - Wikipedia

(読んでみたら自分たちがやってたのは輪読会ではないのかもしれない。。)

今回我々は事前に指定した範囲は各自読んでくる、輪読会当日は読んできた内容を元にディスカッションするというような形式を取りました。

進め方のところで詳細を記載します。

Why 輪読会

10Xは人が増え、自分が入社した2年前から4xぐらいの人数になっています。人数が増えればチームが増えるので今後の組織を考える時期に来ています。そこで輪読会でチートポのチームタイプやインタラクションを学ぶことで共通認識をつくり、組織の話のコンテキストを合わせて議論をスムーズにしたいという狙いがありました。

輪読会の進め方

大きな流れは下記のように進めました。

  1. 事前に対象範囲を各自読んでおく
  2. 当日はジグソー法を使って対象範囲の要約を参加したメンバーで作る
  3. 会自体のふりかえりをする

事前に対象範囲を各自読んでおく

実は輪読会1回目は集まってその場で対象範囲を読むという方法でやってみたのですが、ふりかえりで事前に読んできたほうが時間を有効に使えそうということで2回目から各自事前に読んでくる方法に変更しました。

ある程度個人への負荷が増えてしまうんですが、これがいい塩梅の緊張感になって参加メンバーには好評だったので以降事前に対象範囲を読んでおく方式で進めました。

当日はジグソー法を使って対象範囲の要約を参加したメンバーで作る

ジグソー法とは、協同学習を促すためにアロンソンによって編み出された方法である。 1つの長い文章を3つの部分に切って、それぞれを3人グループの1人ずつが受け持って勉強する。 それを持ち寄って互いに自分が勉強したところを紹介しあって、ジグソーパズルを解くように全体像を協力して浮かび上がらせる手法。

ジグソー法

ジグソーパズルを解くように全体像を浮かび上がらせることからジグソー法という名前がついたようです。

流れは下記のように進めます。

  1. ジグソーグループと呼ばれるグループを複数作り、コンテンツを分割して担当を分ける
  2. 同じ部分を担当する別のジグソーグループの人と集まってエキスパートグループを作る
  3. エキスパートグループで読み込みと議論を行い、理解を深め合う
  4. ジグソーグループに戻り自分の担当する部分を説明する

図で表すとこんな感じです。最終的にいくつかのグループでの要約が作成されます。

ジグソー法

CoREFプロジェクト推進部門 知識構成型ジグソー法

余談ですが学生の学習法としてジグソー法での学習と宿題では学習成果に5x程度の差があるようです。(画像上の方の赤い枠がジグソー法、下の方の赤い枠が宿題)

visible-learning.org

会自体の振り返りをする

輪読会の最後には5分程度もっと会自体をよくするためにはどうするのがよいかふりかえりを必ずしていました。会を進めるごとに改善された内容をいくつか紹介します。

  • 当日集まって読むのをやめて事前に読む方式に変えたことで議論に時間をたくさん使えるようになった
  • GoogleMeetのブレイクアウトルームを使ってジグソーグループを作っていたが録画できず参加できなかった人が議論を見れないので事前にジグソーグループ用とエキスパートグループ用のURLを発行しておいて各自分かれるスタイルにしたことで録画できるようになった
  • カレンダーの招待をしていても開催時間が朝で突然予定が入ってこれないなどがあったのでリマインダーを設定することで人数を事前に把握できるようになった

輪読会をやってみて

オンラインでの輪読会は初めての試みだったのでうまくいくか不安でしたが、参加者のOwnershipにも助けられて会を重ねるごとにロジが洗礼されていき良い形の輪読会が作れたと思います。また、チートポ本を題材に選んだことで10Xの場合は〜というように議論が発生したので当初の目論見であったコンテキストを合わせるということもできたと思います。

アウトプットの一部を紹介します。既存の組織間のインタラクションモードのAsIsとToBeみたいな整理がされていて各インタラクションモードは共通認識としてどういったインターフェースでやりとりするのかをメンバーは理解しています。(ほぼモザイクですがw)

一方で参加してない人には本の中の言葉はスッと入ってくるものではない(参加者もカタカナにやられ気味だった)ので10X内部で使う用語に落とし込めるといいよねというようなふりかえりもありました。

共通認識をつくるための輪読会、おすすめです。