名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

UxPlayをUbuntuで動かしてiPhoneの画面をシェアして遊ぶ

しばらく前から DMM 版のウマ娘Windows で起動しなくなってしまった(イベントログを見ている限り ntdll.dll が原因のようだが、アップデートしても直らず、自環境の問題っぽい)。 しぶしぶ iPhone でやっているものの、人と通話しながらだとたまに手元に移して育成状態をシェアしたいものである。

Uxplay を使うと iPhone の画面がシェアできるようなので試してみた。 ちなみに家に常に起動している Ubuntu があるので今回はそれを使った。

公式

FDH2/UxPlay: AirPlay Unix mirroring server

参考にした記事

インストール

  • 公式から Git Repository をクローン
  • 依存パッケージをインストール
    • 依存パッケージが多く、いろいろやっていたが、結局 gstreamer あたりのものを一通り入れることにした
  • cmake でビルド
  • インストール

動かしてみる

  • デスクトップモードが有効になっていないと起動でこけてしまう
  • リモートデスクトップ接続で Windows -> Ubuntu にアクセス
  • Ubuntu で UxPlay を起動
  • iPhone で画面シェアを探すと、 UxPlay@PC名称 みたいな感じで表示されるのでそこにつなぐ
  • つながると、画面が表示される

いろいろ

  • リモートデスクトップの問題なのか、UxPlay の問題なのか音が出ない
    • 設定周りをまじめにいじっていないからだと思う
    • 多分出す方法はある
    • iPhone から音が出なくなったので、オーディオ系も含めて通信できているとは思う
    • Ubuntu の PC にスピーカーをつないでいないことも原因の可能性があり、可能性の切り分けがまずは必要
  • 最初画面が起動しなくて困った
    • gstreamer 周りのパッケージが足りていなかった
    • いくつか入れていったが全然起動しないので、適当に調べてまとめて入れたら動いた
  • WSL で試してみたほうがいいかも
    • ただ WSL から GUI アプリ起動するのどうも微妙な印象があり、そもそも UxPlay が動くかどうかもわからない
    • apt でインストールできるバージョンがなぜか出てこなかったこともあり、WSL で試すのは見送った
  • Ubuntu がすぐロック画面になる
    • (セキュリティ意識が高い)
    • 一時的に設定を変更するなどが必要かも?
  • iPhone 上と色味、解像度が異なってそう

実際つないだもの

まとめ

技術的には面白いなと思っており、思ったより簡単につながったのも経験がよかったです。 オーディオ回りなど自分の環境での問題はもろもろありますが、少しづつ解決していきたいと思います。

JTCを本気で変えるエンジニア開発組織づくりと技術戦略の全貌 | AEON TECH HUB #1 に参加しました

2つ目の途中くらいから聞きましたが、とても面白かったです。

勉強会URL

JTCを本気で変えるエンジニア開発組織づくりと技術戦略の全貌 | AEON TECH HUB #1 https://aeon.connpass.com/event/308065/

ハッシュタグは #aeon_tech_hub でした。

このイベントを機に X を解説されていて、きれいにまとめていらっしゃるので感動しました。 https://twitter.com/aeontechhub

また資料に関しても connpass に上がっていました((結構内容が濃かったのでスライド長かった印象なんですが、公開版になっていたりする?(これは自分の記憶違いの可能性もあるので何とも)) Speaker Deck にもいくつか取り組みが上がっていたので後日追ってみようかなと思います。

メモ

  • 「エンジニアが事業を創る、事業会社イオンネクストの開発組織」
    • プラットフォームづくりが必要になったため、デジタル前提のサービスづくりが必要となった
      • デジタルへの必然的なシフト
    • トップダウンボトムアップ両面からのDX
      • 経営の現場目線と、現場の経営目線
      • どちらも考えていくことが大事
      • 事業KPIへのコミットも求められ始めている
        • (一方で、WEB開発やアジャイルやっている会社にいたためか、この感覚自身はわかるものの、自分の中では結構前に通り過ぎた感覚で、色々大変なのかもと思った。変革が進んで見えてきた視線なのかな、と思いつつ…)
    • エンジニアリングと事業の両輪での改善が今後につながっていく
  • 「56万人一丸のDXに向け イオンデジタルアカデミーが目指す開かれた学びの場」
    • JTC がそもそも何だったのか?
      • まず目先の仕事を何とかしよう、新技術の採用は投資対効果が見える状態にしなければいけないと慎重
      • 一方で過去多くの成功をしてきて、生き残っている会社
    • 一方で、現在の環境の変化速度が速い時代では一人一人が環境に対応していくことが求められる
      • プロトタイプ作成トレーニングが誕生
        • 現場メンバー(青果部門・鮮魚部門)の人たちが自分たちでプロトタイプを作って、リサーチ・ユーザーテスト
        • アウトプットも note とかで行ってもらう
        • (本当に変わっていこうという意志が強いなと感じた、驚愕)
      • 使っている技術も割と最新のノーコード・ローコードで実現できるものを選んでいる
        • (システマティックな意識を持ってもらうため? コードは本質ではなくて概念的に組み合わせで変えられるものをうまく選んでいるなと思った)
  • 「AEON TECH HUBで目指すもの」
    • (テックブログやりましょうからのスピード感がすごい)
    • 小さく早くという感じで、zenn の organization 機能、Speaker Deck の活用
    • ポータルや自社メディア、自社イベントまで
      • (これを数か月でやっているの本当にすごい…)
    • 情報発信インフラを整えていく大切さ
  • QA(面白かったもののみ)
    • 上位レイヤをどう巻き込むか?
      • メリットを伝え続け、小さく動いてもらう
      • ゼロイチならば試せるが、昔からあるものはしっかりとコミュニケーションをして泥臭く努力する
      • 上位レイヤの人も実際に実践してもらう
        • 小さいプロジェクトのやり方を変えてみるとか
        • 実際に販売現場や契約現場に行ってもらうこともある
    • 変革意識をどう持ってもらうか?
      • 最初からみんな少しづつもっているので、それをうまくつなげていくことが大事
      • 海外の人が上位レイヤーにいることで、国内のサービス以外も使う機会がある
      • そういった雰囲気を作っていくのも大事
      • また今までいなかった人を採用して上位レイヤに入ってもらうのも変革の一つ(CTO の採用など)

他も X のほうで Q&A の続きがあったので、そのうち読みます…。

まとめ

去年から登壇や、テックブログでイオングループの名前を見るようになり、え?となっていたものの、内部でのすごい変革や取り組みがあるんだなということがわかって非常に面白かったです。

またボトムアップトップダウンの両方から DX を考えるというのもよく、アジャイルを上位レイヤの人に実践してもらうとか、非エンジニアの人にノーコードでプロトタイプを作ってもらうとか、言葉だけでなく実際の経験を非常に大事にしているのも興味深かったです。

これだけ大きい会社が変わっていけるのだから、自分がかかわるところでももっと早く変化していかなければですね…。 そういう意味で衝撃が大きい良い勉強会でした。

pythonからmisskeyに投稿してみる

将来的に misskey へ適当にアクティビティを通知できないかなと思い、軽く動かしてみるなど。

  • APIのアクセスポイントは存在しているが、さすがに一から作るのはめんどいなと思ったので、ライブラリを探す
    • とりあえず自分が適当に書いてすぐ動かせる python でやってみることにする
  • 今回はポストだけがクリアできれば良しとした
    • Botのような機能は不要
    • 添付画像も使わない
  • 適当に調べて Misskey.py というのを見つけた
  • とりあえず、Misskey.py でポストするだけのコードを書いてみる

ほぼ公式ドキュメント通りのコード。 ただフォローされてる人に見えれば十分なので、visibility=NoteVisibility.HOME にしている。

from misskey import Misskey, NoteVisibility
import os

MISSKEY_API_TOKEN = os.environ.get("MISSKEY_API_TOKEN")
MISSKEY_URL = os.environ.get("MISSKEY_URL")

# Create a Misskey instance
m = Misskey(address=MISSKEY_URL, i=MISSKEY_API_TOKEN)

# Post a message
message = "Pythonからこんぺこ~"
m.notes_create(text=message, visibility=NoteVisibility.HOME)

ざっくりこんなかんじで。

ライブラリによってよしあしがありそうなのと、開発体制のこともありそうなので、もう少しライブラリについては調べるつもり。 ローカルでも misskey インスタンスを立ててテストしたほうがいいかも。そのうち考える。 ちなみにインスタンスを立てることがあっても、たぶん自分がサーバー主として公開することはないです。管理は自分がビジネスでかかわっているサービスでおなかいっぱいな感じなので別のことがしたい。

個人的に bot を作って何かをしたいというよりは、適当に統計情報をまとめてノート・ポスト?投稿?する機能があれば個人的にはうれしいかなくらい。 あとは自分の投稿をいい感じに保管する仕組みとかもいいのかなと思っていたり。コストなどが許せば S3 とかに入れて遊んでみるとかもしたい。

そんな感じでただやってみた的なメモになったけど終わり。