kumamotone’s blog

iOS/Android アプリエンジニアです https://twitter.com/kumamo_tone

退職しました

2023年4月に、株式会社メルカリ(メルペイ)を退職しました。3年と4ヶ月ほど在籍させていただきました。

個人的な振り返りも兼ねて、簡単にどんな感じだったか書き残しておければと思います。

入社

2019年の11月に新卒で入社したヤフーを退社して、アプリ(iOS)のエンジニアとして同年12月に入社しました。

入社を決めたきっかけなどは、書き残してなかったというのもあり、もう記憶がおぼろげですが、以下のような感じだったと思います。

  • メルカリのバリューが、当時自分がありたいと思っていた像とかなり合っていると感じた
  • ペイメント事業に関わってみたいと思っていた
    • 当時WeChatとAlipayが使いたいという理由で2度中国に行くほどモバイル決済のオタクだったし、モバイル決済に可能性を感じていた
  • 勉強会などで会って印象が良かった人たちが多数在籍していた

この頃は我ながら気合が入っていて、オフィスから近いという理由で背伸びしてちょっと家賃14万の狭い1Kに引っ越し、堅実に実績や経験を貯めながら効率性を極めて、とにかくやるぞという気持ちに溢れていました。

COVID-19 の流行

ところが、2020年に入ってすぐCOVID-19が流行しはじめ、具体的な時期はうろ覚えなのですが、メルペイはかなり早い段階でフルリモートの環境に移行しました。

個人的には当時はリモートワークはうまく活用していければいいなと思っている派でした。実際、前職ヤフーのときは結構リモートワークの制度を使って家から仕事をしていたりもしました。しかし、いざ仕事をやっていくぞとなると、コミュニケーションの取りづらさや、仕事が終わった後も常に気が張り続けているのか睡眠などに影響が出てきたりして、色々な問題に直面しました。

また以前は、頻繁に技術勉強会に参加したり、技術カンファレンスの運営などにも関わっていて、それらに参加したり発表したりするためにいい仕事をするぞみたいなモチベーションがあったりとか、参加すること自体が良い息抜きになっていました。しかし、それらも(ある意味)なくなったことにより、ますます仕事との向き合い方というのがよくわからなくなっていました。

適応障害と休職

極めつけは、はじめて大きめのプロジェクトのTech Leadにアサインしてもらったタイミングでした。

アプリ開発者としてはあんまりもう技術力的なところを突き詰めてもしょうがないなと思っていた時期だったので、ありがたいアサインで、結構気合を入れて臨みました。

一方で、チャレンジングなことが多すぎる状態というのもあり、フルリモートでうまく周りのサポートを得ることも難しく、その頃の仕事に関しては一定評価してもらえたものの、ストレスからか体調不良が無視できなくなってきたため、適応障害ということで休職することになりました。

ここには詳細は書きづらいですが、前々から抱えていたプライベートな悩みも重なり、まあもう生きてくのは割に合わないなという感じにはなったりし、他にも数々のやらかしを経て、ふわっと言って復職後含めて結構良くない状態でした(今はほぼ寛解しました)。この時期にご迷惑をお掛けした方には改めてお詫び申し上げたいと思います。

自分は基本的に心配性で、キャリア的には綺麗な経歴だけが売りみたいなところがあったので、これらの部分については基本的にネットとかではぼやかし続けてきており、今回も書くかどうか迷ったのですが、どうせこの時期の話をする上では避けて通れないですし、できるだけ誤魔化さずにやっていこうと思うようになりました。

違和感に対する気付き

このあたりからフルリモートのやりづらさに加えて、

  • 提供しているサービスと、自分の価値観とのズレ
    • いわゆるリボ払いのようなものを提供していて、かなりの収益を上げていた*1
    • 世の中で言われている悪い側面だけでないことや、 evil になりすぎないように努力している人がいるのも感じたが、考えても違和感は残った *2
    • もっと決済や送金のUXに関わるプロジェクトにも参加できるのではないかと思っていたのだが、そうならなかった
  • この規模の組織で仕事をやっていくということ
    • 関わったプロダクトで、自分が作り上げたという気持ちになるのが難しかった
  • iOS のエンジニアとしてやっていくことに対しての疑問
    • ほとんどの仕事でネイティブのコードを書く必要性を感じられないジレンマ

などにも悩むようになりました。

転職

ある程度悩み尽くしたあたりで、転職サイトや Twitter DM などで何社かお話を聞く機会があり、最終的に YOUTRUST 経由でメッセージをいただいた会社に入社させてもらえることになりました。

決め手としては、

  • フルリモートではなく週3回の物理出社と週2回のリモートワークのハイブリッド型(2023年5月現在)
  • 規模が(主観的に見て)(現職ほどは)大きすぎない
  • Flutterというクロスプラットフォームフレームワークを使っている

あたりでした。関わってくれた人たちの雰囲気が良いと思ったというのもありました。

よかったこと

うまくいかなかったことも色々ありましたが、自分が関わった範囲では職場環境はかなりホワイトという感じで、給与水準も高く(と思います)、入社当時はアプリエンジニアには iMac Pro が支給されていたり、イベント運営や、採用会食する機会などもありましたが、そういうときにも全体的に羽振りが良いと感じました。

エンジニアに割り振られるタスクの量も自分が観測する範囲ではあまり多くなく、そのような余裕もあってか、困っていることがあったときにSlackに書くと、親身になって即レスしてくれるナイスな人も多かったです。カンファレンスでよく登壇しているとか本を書いてるとかデカいイベントの運営をやっているとか、自分がそうなりたいなと思っていた方向性で活躍している人もいたし、やっぱりお金や時間に余裕があるからか親切だと感じる人が多かった。

あと、人の悪口とかをしたり聞いたりするのが嫌なのですが、日本語が喋れないメンバーもいるチームでカタコトな英語でコミュニケーションしていたというのもあってか、そういうのとも比較的無縁でいられたというのも良かったです。

上達すると期待していた英語は、実感としては思ったより上達せず、会議はおろか日常会話ですらかなり怪しく、最後まで文章を書くときはDeepL Proを使い倒していました。というか振り返ると一時期は体調が悪すぎて日本語もうまく発話できてませんでした。ただ、退職時のマネージャーは入社時よりうまくなってるとも言ってくれていたので、もしかするとある程度うまくなっていたのかもしれません(DeepLに慣れて、見かけ上の文章力が上がっていた説あり)。

リモートワークについて

うまくいかなかったことの原因を、結構コロナ禍とフルリモートのせいにしてしまいましたが、世の中の状況や現時点の自分のライフスタイル(独身独居で孤立していた)などが現時点でたまたまうまく噛み合わなかっただけで、リモートワーク自体はとてもありがたい制度だと思います。

どこからでも仕事ができるということで広がる可能性はたくさんあると思いますし、都市圏の高い家賃を払い続けるのはアホくさいです。

というか本来、ステレオタイプな感覚で言ったら僕は内向的で、一人の時間が長くて、基本的に日がな一日パソコンに向かって作業しているわけなので、うまく使えば比較的相性がいいはずでもあるとも思います。

ただこのあたりは同じような性格やライフスタイルの人が体調を崩していたり、現在進行系で悩んだりしているのも見るので、現時点ではまだ自分の中で結論が出しづらいです。

おわりに

多くのWeb系の企業がリストラや採用ストップを掛けている中、安定した環境を離れて転職というのは不安な部分もあるのですが、次の職場にも楽しみな部分はたくさんあり、前向きにやっていきたいと思います!いつかそんなこともあったねって笑って話せるようになるといいな。

追記:会社や中にいる人に感謝こそすれ批判したい意図などはまったくないので、ブコメ等での、中にいる人が嫌な思いをする可能性のあるサービス等に対する批判はお控えくださると幸いです。

*1:このあたりは決算資料 で公開されているので、機密な情報ではないと思います

*2:当時自分の中でいい感じの納得ができていなかったという話であって、悪いと言いたいわけではないです。

エアロバイクを100日漕いでみた感想

エアロバイクを年始から100日連続で漕いでいた。ので良かったこと微妙だったことなど軽く振り返る。

良かったこと① アドレナリンの起点になる

何かやる気がない作業があったときに、とりあえずノートパソコンを台に置いてペダルを漕ぎ始めちゃうことで作業の取っ掛かりを作ることが意外とできることに気づいた。

やる気はやるから出てくるんや、みたいな話は何万回も聞いて飽き飽きしてるが結構本当の話っぽい。

良かったこと② 気分が良くなる

長期的な気分の落ち込みにどれほど効くかどうかについては色々な要因があるので実感できてないが、少なくとも即時的なストレス解消効果はあると思う。

ただ20分ぐらいだと全然駄目で、40分〜1時間、それも結構心拍数に関しては丁寧にキープしながら真面目に漕がないと汗もかかないしすっきりもしない、

微妙だったこと① 体感できる良さの割に時間が持っていかれる

とりあえず30分〜1時間漕いでから何かのアクションをするぞとなると、結構可処分時間が圧縮される。正直忙しい時期にどのくらい有酸素運動に割くメリットがあるかというと微妙な気持ちになる。

見たい映像とかを流しながらやると時間を持っていかれたという気持ちにはならないので、逆に普段はエアロバイク漕いでいるときしか動画見ちゃ駄目みたいな制限にしてもいいかもしれない。

微妙だったこと② 別に痩せはしない

ちょっと減量しようかなというモチベーションもあったのだが、これに関しては体感全然関係なかった。

実際有酸素運動で消費できるカロリーというのは本当に微々たるもので、1時間真剣に漕いで100kCalとか200kCalとからしい。

あと非アルコール性脂肪性肝炎になっていて、それが改善されることも期待してたのだが、定期検診で微減の傾向がありつつも、これがどのくらい効いているかはなかなか判断しづらい感じだった。

微妙だったこと③ デカくて邪魔

購入したFITBOXというエアロバイクはそこまで大きな機械ではないが、それでも東京都心クソ狭ハウスに置くとかなりの存在感がある。スペースに余裕がないので普通に邪魔。これは明確にデメリットなので置いて得られるメリットがどのくらいあるのかはちゃんと天秤にかけるべきだと思う。

その他雑多な振り返り

習慣化について

2週間ぐらい続けた後は、本当に習慣化したといっていい状態になっていて、自然と忘れずやるようになっていた。がTwitterに毎日投稿するのはタイムラインを圧迫するからあんまりよくないかな、と数日おきに投稿にしたりとかすると、あんまり見られてない感じがして漕ぎ方とかが適当になったりしていた。

本当はTwitterに書く以外で何かいい方法があるといいのだけど、とにかく毎日Twitterに投稿しながらやるというのは、習慣化に効くことがわかった。必要性の高いことで他にベターな方法が思いつかないときは使っていこうと思う。

ちょっとだけ漕ぐのはたぶんあんまり意味ない

本当にちょこっとだけ漕ぐのに関しては、部屋から一歩も出てない日なんかに関しては多少いいんじゃないかと思いつつ、目に見える効能としてはスッキリもしないし痩せもしないし何も現れない。ただ漕がない日があると一気に習慣化しづらくなると思うので、ここらへんはどうするか悩ましい。

100日使ったら故障した

100日使ったあたりで、ちょうどペダルを漕いだときにキュルキュル異音がする状態になった。

Googleで検索していると同様に返品交換してもらった人のブログが出てきたので、そこを参考にメールを送ったところ、結構迅速に対応してもらえた。

sakuchoman-blog.com

梱包用のダンボールは送ってもらえるし送料は負担してもらえるが、分解の仕方を調べるために説明書を探したり、そもそもかなりの重量感のあるものなので、梱包するのも結構大変だったので、なんでそういう状態になってしまったのかは分からずにちょっともやもやはしている。

アニメ見ながらはかなり良い

家のエアロバイクで革命的なのが中央スペースにiPad置いて、そのままiPadのスピーカーで映像が見れることだと思う。これがジムならイヤホンが必要だしわざわざ持っていくのも面倒くさい。

イヤホンしていても、当時見ていたアニメでいうと「機動戦士ガンダム 水星の魔女」とかはまだ良いとして、「ひぐらしのなく頃に卒」なんかはジムで見るのは結構はばかられる。「お兄ちゃんはおしまい! 」なんかは更に厳しかったと思う。

25分のを2話見てエンディングを流し切って終えると気分もいい。

Special Thanks

色々な方が反応してくれたり応援してくれたりしましたが、100日通してメッセージ送ってくれたりいいねつけたりしてくださった @koux2 さんにはマジで感謝です!!ありがとうございました。

まとめ・これから

とりあえず真面目に毎日Twitterに報告しながら取り組むとある程度習慣になることがわかってよかった。

健康効果がどのくらい出ているかはっきりと実感できるできていないが、ちょっとだけ健康になった気もする。

膝を壊したりしない限りはベッドでゴロゴロしているよりはたいてい有用な気がするので、しばらく気が向いたときベースで漕げるときは漕いで、体調等トラッキングしていければと思う。

ソースコードを書くなど単純な作業は外部に委託するなど

ソースコードを書くなど単純な作業は外部に委託するなど” という表現がちょい燃えしていた

この件がどうなのかは分からないが、こういうことを嫌な感じで耳にすることは全然よくあって、やはり作業者としては結構もんにょりした気持ちになる

「○○するだけ」って言って作業渡してくる人、全然○○するだけじゃないことの方が多い 普通に解決しても当然のように流される上に問題が起きると「○○するだけなのに何で進まないのか?」って感じを出してくるからどう転んでも本当に疲れる

最近コーディングに限らず、仕事って目に見えない創意工夫や善意によって成り立っていると感じる 発注者が本当にきめ細かく要件が定義できていて問題ないこともあるが、現実的には言ったとおりに機械的に作業したらうまくいかないことは多い

プレイヤーとして作業の工程の想像ができてしまう場合は特に言ってしまいがちだと思う 自分も過去に人にタスク渡すときに「○○をやるだけだと思います」みたいなこと言っちゃったことある気がするんだけどマジで気をつけようと思う

(翻訳) Announcing Flutter 2.8

medium.com

by Tim Sneath 12月9日 読むのに7分

このアップデートは、モバイルやウェブの開発者の皆様の使い勝手を向上させ、デスクトップの安定したサポートに近づけるための新機能や改善点を多数含んでいます。

Flutterは、アプリケーションの作り方を変えることを目的としています。Flutterは、モバイル、ウェブ、デスクトップ、組み込み機器の開発を単一のツールキットに統合します。開発者は、どのプラットフォームをターゲットにするかではなく、まず何を作りたいかに集中し、高性能で生産性の高いフレームワークを提供することで、開発者のインナーループを短縮し、1つのコードベースで複数のプラットフォームやフォームファクタをターゲットにすることができます。

新機能と改良:より速く、より生産的に

今回のリリースでは、モバイルパフォーマンスに重点を置いています。優れたパフォーマンスは無償で提供されるのが理想ですが、実際には、複雑なアプリケーションであっても、基盤となるハードウェアやライブラリをうまく利用するための最適化が必要です。これには、ネットワークの帯域幅やその他の初期化コストによって制約を受ける起動時のパフォーマンス、特にメモリに制約のあるデバイスでのメモリ使用量、グラフィックスレンダリングなどが含まれます。私たちは、Google Payなどの大規模なGoogleアプリでの経験を活かして、Flutter自体のパフォーマンスを向上させるとともに、お客様のアプリのプロファイリングや最適化を支援するツールを充実させています。Flutter 2.8にアップグレードするだけで、アプリの起動が速くなり、メモリ使用量も少なくなります。

最新のアップデートでは、FirebaseやGoogle Cloudなどのバックエンドサービスにアプリを接続することがこれまで以上に容易になりました。また、Google Adsの本番環境への対応や、カメラおよび埋め込みWebプラグインの大幅なアップグレードも行われています。また、Dart 2.15も含まれており、並行処理の大幅な改善、コンストラクタのティアオフや列挙の強化などの言語機能の追加、メモリ使用量を10%削減する最適化などが行われています。

今回のリリースのもう一つの大きなテーマは、開発者の生産性をさらに向上させることです。ステートフルホットリロードなどの機能により、私たちは常に開発者のためにタイトなインナーループを作ることに注力してきました。今回のリリースでは、開発者がより迅速に作業を進めることができるよう、より高度な抽象化を目指しています。例えば、今回のリリースでは、Firebaseを使って認証を処理するサインイン・ウィジェットを追加しています。このウィジェットがあれば、二要素認証やパスワードリセットなどのサインインのエッジケースや、認証プロバイダとしてのGoogleAppleTwitterFacebookのサポートの複雑さを気にする必要はありません。このような機能は、Flutterの中核的な基盤の上に構築されており、ローコードソリューションの開発スピードと完全なUIフレームワークの柔軟性とパワーを組み合わせることで、開発者のアプリケーション構築方法を変える可能性を秘めています。

Dart 2.15は現在公開されており、新しい機能強化についての詳細を記したテクニカル・ブログ・ポストを用意しておりますので、ぜひご覧ください。Flutter 2.8の公開プロセスを開始したところですが、2時間以内には公開され、詳細なブログ記事が掲載される予定です。公開され次第、ここにあるリンクを更新します。

Flameによるカジュアルゲーム開発

ほとんどの開発者にとって、Flutterはアプリのフレームワークです。しかし、Flutterが提供するハードウェアアクセラレーションによるグラフィックスサポートを利用した、カジュアルゲーム開発のエコシステムも成長しています。

本日、Flutterの上に構築されたモジュール式の2DゲームエンジンであるFlameの1.0リリースを記念して、私たちは興奮しています。Flameは、ゲームループだけでなく、コンポーネントシステム、アニメーション化されたスプライトやイメージ、衝突検知、ワールドカメラ、エフェクトシステム、ジェスチャーや入力のサポートなど、ゲームを素早く構築するために必要なものを備えています。

例えば、Rive(アニメーション)、audioplayers(音楽とサウンドエフェクト)、Forge2D(Box2Dスタイルの物理エンジン)、Tiled(タイルマップエディタ)、Fire Atlas(スプライトシートとアニメーションエディタ)などがあり、Flameはモジュール式で、他のライブラリとの統合を提供するパッケージで拡張できます。Flameと幅広いエコシステムは、カジュアルゲームや2Dゲームの開発者に強力なサービスを提供しています。

Flameは、FlutterやDartオープンソースパッケージやプラグインの作成に注力しているコントリビューターのグループ、Blue Fireによって作成されています。ゲーム開発に興味のある方は、ぜひFlameをチェックしてみてください。

勢いのあるFlutter

Flutterは、コアフレームワークの上に構築されたアプリケーションやツールのエコシステムを繁栄させながら、急速に成長し続けていることに驚かされています。今年のGoogle I/Oイベントでは、Flutterで構築されたアプリがPlay Storeですでに20万本以上提供されていることを紹介しました。そのイベントからわずか半年余りで、Flutterアプリの数はほぼ倍増し、現在Playストアには375,000本以上のFlutterアプリが登録されています。

(Flutterは、AndroidiOS、iPadOS、Web、WindowsmacOSLinuxをサポートしているので、異なるデバイスフォームファクタをターゲットにするためにアプリを書き直す必要はありません。)

もちろん、Flutterが使われているのはAndroidだけではありません。独立系モバイルアナリスト企業のAppAnnieによると、iOSでFlutterを使用しているアプリには、BMW、eBay、WeChat、SHEIN、Philips Hue、Norton、trip.com、Greggsなどのトップブランドやアプリが含まれています。ウェブ上では、Flutterはアプリのエクスペリエンスに適しており、FlutterFlowやRiveなどのデザインツールの恩恵を受けています。デスクトップでは、Ubuntuのエンジニアリングチームが、新しいインストーラーやファームウェアアップデータなど、Flutterを使ったさまざまな新しい体験を構築し続けています。PUBGのようなゲームでも、FlutterがUI画面に最適であることがわかってきました。

エコシステムの構築には長い時間がかかりますが、Statista、JetBrains、SlashData、Stack Overflowが独自に測定した結果、Flutterは今や最も人気のあるマルチプラットフォームのツールキットとなっています。私たちはそれを当然のことだとは思っていませんが、Flutterの人気の高まりは、それをサポートするパッケージやツールのエコシステムがますます広がっていくことにつながります。

2021年を振り返って、2022年に向けて

この困難な昨年の間に、私たちのエンジニアリングチームは多忙を極めました。Flutter 2.8の機能だけでなく、開発者向けツールの書き換え、null safetyとWebサポートのリリース、ネイティブコード統合のためのFFIの完成、Material Youの初期サポートの追加、そしてパフォーマンスと品質の向上のために懸命に取り組んできました。合計で約2万件の問題を解決しました。Flutterをよりよく紹介するために、スマートな新しいウェブサイトを作成しました。また、エンジニアの生産性を向上させ、テストを拡大するために、この数ヶ月間、エンジニアリングインフラの見直しにかなりの労力を費やしてきました。

2022年に向けて、私たちは何人かの方と直接お会いできることを願っています。私たちは、言語の強化、ドキュメントの更新、Flutterで洗練されたアプリケーションを簡単に構築するための高レベルの抽象化など、開発者の体験の中核となる部分にさらなる投資を行う予定です。安定したデスクトップのサポートを完成させ、ウェブでの作業をさらに拡大する予定です。また、他のプラットフォームとの相互運用性や、新しいターゲットへの移植性を高めることも計画しています。私たちはまだ始まったばかりなのです!

このFlutter 2.8のリリースを、ちょうど一週間前に亡くなったVery Good Venturesの開発者、Kevin Grayに捧げたいと思います。Kevinは初期の頃からFlutterの成功に重要な貢献をしてきました。彼は初期のFlutterのデモの多くの開発者であり、その中には注目を集めた最初のお客様の獲得、デスクトップでの初めてのFlutterのデモ、そしてGoogle I/Oの基調講演で取り上げられた最初のFlutterのデモなどが含まれます。彼は、才能があり、思いやりがあり、面白くて、親切な人でした。彼を知る人は、彼がぽっかりと穴を開けてしまったことにすぐに同意するでしょう。悲しみに暮れながらも、彼の人生を祝福し、彼の影響力をすべての人に知ってもらうために、公に彼を偲びます。彼がいなければ、今のFlutterはありません。

ケビン、あなたがいなくて寂しいです。Flutterのためにしてくれたこと、そして友情に感謝します。ケビンの家族と友人には、私たちの愛を送ります。

また、Flutterの開発者と支援者の幅広いコミュニティにも、私たちはあなたに感謝しています。私たちは、Flutter 2.8が皆さんにたくさんの探求心を与えてくれることを願っています。まだFlutterを学んだことがない方は、1月初旬まで誰でも無料で入手できるFlutter Apprenticeの本を読んでいる約4万人の開発者の仲間入りをしてください。皆様が楽しく安全なホリデーシーズンを過ごされることをお祈りいたします。

Michael Thomsen氏に感謝します。

(CC BY 4.0)

FlutterKaigi 2021 Day 1 #FlutterKaigi

YouTubeアーカイブがある(神)

www.youtube.com

一通り見たが以下の2本がとくに参考になった。

  • FlutterでのMaterial You対応の状況と今後の展望
  • Flutterにおける過不足のないセキュリティの実装

FlutterでのMaterial You対応の状況と今後の展望

speakerdeck.com

  • Material Design 2と3の違い
    • 2はブランドごと、3はユーザーごとのカスタマイズが可能になった(Material You)

Color Schemeがどう変わったか

f:id:kumamotone:20211129224806p:plain

大変そうだがKey Colorsだけ5色とりあえず決めてそこから機械的に生成すれば良い

f:id:kumamotone:20211129225235p:plain

Key Colorを決めて

f:id:kumamotone:20211129231214p:plain

ユーザーが設定している壁紙から5つのKey Colorsを抽出できる(特定のメーカーのAndroid 12端末のみ)

アプリ全体に適用する必要はなく、プロフィール画面やアカウント画面など、部分的に適用するのもアリ

f:id:kumamotone:20211129231452p:plain

Buttonに新しいタイプが加わり、形もちょっと変わった

f:id:kumamotone:20211129231535p:plain

FABがかわいくなった うれしい

f:id:kumamotone:20211129231615p:plain

2021年11月29日現在、stableにまだ全然取り込まれてない←Oh....

ThemeDataにMaterial3をOptinするためのフラグuseMaterial3は追加されていて、これをtrueにすると、Material3対応が完了しているものは3になる

f:id:kumamotone:20211129231924p:plain

Material2のものがMaterial3になるとどうなるかというのは決められているので、予め3の想定で作っておけば、dart fixコマンドであとで一括修正できる予定

色の生成にはmaterial-theme-builderが使える Androidxml ではすでに出力できる Flutter もできると嬉しい

material-foundation.github.io

Flutterにおける過不足のないセキュリティの実装

これ使えばKeyStoreに保存してくれるっぽい

pub.dev

Windows. Linux, macOS, Web の実装もある すご

若干ややこしいpath_providerの使い方も説明してくれている

apkの難読化は以下打てばできる

f:id:kumamotone:20211129231006p:plain

M1 Mac(Big Sur)にHoRNDISをインストールする

MacAndroid のUSBテザリングを使うために必要なカーネル拡張HoRNDISをインストールするのに、GitHubのissueに書いてある方法を色々試しに試し再起動に再起動を重ね、時間を食ってしまった。うまくいった方法だけここに書き残しておく。

github.com

結論からいうと thpryrchn 氏の方法でインストールできた。

1. リカバリモードに入る

リカバリモードに入る方法は、起動時にcmd+Rを押しっぱなしにする方法ではなく、Touch IDを長押しする方法に変わったっぽい。表面にふれるだけじゃなくてガッツリ押し込む必要がある。

終了している最中に電源ボタン長押しは不安になるので再起動じゃなくてシステム終了にしたほうがいい。

2. カーネル拡張を無効にする

リカバリモードに入ったら optionsを選択して、メニューバーのユーティリティからターミナルを起動する。

csrutil enable --without kext

そのままrebootと打ち込んで再起動する。

3. HoRNDISをインストール

git clone https://github.com/thpryrchn/HoRNDIS.git -b BigSur

thpryrchn氏のリポジトリからソースコードを取得して make する。

build/pkg に HoRNDIS-kext.pkg ができるのでダブルクリックしてインストールする。

このタイミングでセキュリティとプライバシーが何かダイアログを出してきたらうまくいっている。そこから再起動して、テザリングする端末を繋げば、自動的に接続されている。

f:id:kumamotone:20210724103809p:plain

Wi-Fiアクセスポイントの方はエコのため切っておくと良さそう。USBテザリングのすぐ上のメニューから変更できる。

Skebの中途採用に「求める条件」の感想

Skebの中途採用に関するツイートを見かけた。

自分はSkebに対しては素晴らしいサービスだと思っていて、クリエイターさんを支援したいという気持ちから生まれたという話も聞いたことがあったので、その点共感していて応援している。

ただ主にこの「推しのVTuberやクリエイターが「いない」方」という部分に関して、文脈的には「アイドルのマネージャーにオタクを採用しない方がトラブルにならなくて良い」みたいな話で、意味のある意図が想像できる一方、クリエイターが好きなエンジニアとして、かなりもやっとしてしまった。

まず1つ目に、クリエイターを支援したいという気持ちから生まれたサービスなのであれば、Skebはクリエイターが好きな、クリエイターを応援したい人を仲間に募集しています、という呼びかけが妥当なのでは?好条件とはいえ、そこまでドライに採用者をただの作業者扱いするようなところで働きたいか?

2つ目に、宗教などと同じで、採用で特定の思想を差別的に扱うのは社会的にNGなのでは?なぜクリエイターのファンというだけで犯罪者予備軍のような扱いを受けなければならないのか?

Skebアカウントはユーザー向けのアカウントで、クリエイターさんが基本的にはお客さんだというところ、また、エッジの効いた文章を入れたことによって拡散されるので、炎上前提の告知としては上手なのかもしれないが、ただ単にあんまり深く考えてないような気もする。