brand new note

Be water, my friend.

ストリーミングサービスが作りたい

音楽が好きなら音楽と配信技術を掛け合わせた研究をしなよ。

そう恩師に言われたことがあります。

当時の僕は出来っこないと思って、手を出しませんでした。当時の環境に融合させられる研究テーマを自分でひねり出して、周りの活動に見劣りしないクオリティの論文を書いたり、技術をモノにしていく自信はなかったからです。何年か経ち、AIエージェントが普及し、何となくその時のことを思い出す日が増えるようになりました。

今年はなんだかんだで、色々それらしきものを作るようになっていました。

ekp jazz spreads

open.spotify.com

現行ジャズを普及したい思いで作ったラジオがspotify対応し、それなりにweb上で聴けるようになりました。ですがニッチ過ぎて日本では誰も聴いてくれません。一方ラジオ友達はできて、遠隔から結婚祝いをしたり、海外掲示板のジャズオタクと繋がって、番組で紹介したアーティストの友人と話したり出来るようになりました。

STILL Player

Windows用の音楽プレーヤーを自作し、楽曲生成AIで作ったBGMをcloudfrare R2に入れて流せるようにしました。システム的にはローカルのファイル読み出しもできるので、あなたがお持ちの音源も全て再生できます(この機能はまだ追加していませんが、ストリーミングの機能はもう別のマーケットで販売しています)。

それはそれで思い入れのあるプロダクトになりましたが、今回ほんとうにご報告したいのはそれではなくて、3つ目のプロダクトです。 hatenablogという僕の大好きなブログで解説するには、これが一番似合うかなと思ったからです。

Yekipod

https://t-bfny.github.io/yekipod/

僕のハンドルネームから取って名付けました。

Google Driveと連携して使うことができます。シングルサインオンを使ってお手持ちのGoogleアカウントに「Driveを編集・読込権限」を初回ログイン時に許可し、Drive内に「music」「music/artwork」フォルダの2つを作れば動きます。

なぜつくったか

サブスクに僕の聴きたいジャズが置いてないからです。

ここ最近はそんなこともなく(というか数種類のサブスクを漁ると大体は見つかる時代になりました)わりかし快適ですが、CDやレコードでしか聴けない音源は基本的に買うしかありません。そういうことで過去数年でいくつか買ったCDがあるのですが、スマホで聴く習慣が出来てしまったのでどうにかして行動様式を合わせたいわけです(高いコンポが買えたらゆったりCDを部屋で聴くというのもやりたいですが)。

理由はもう1個あって、ドラムの練習用です。

こっちが本命で、僕がジャズを聴く理由はリスナーとして楽しみたいからというだけでなく、楽器の上達とか作曲のインスピレーションを得る為でもあります。今のところCDとYoutubeしか統合できていませんが、僕が聴いている音源のソースの大部分を統合して、音楽活動をやりたくなったらここにアクセスすればいいというような間口を作りたかったのです。

後は、windows media playerが連続再生に向いてないとか、ウォークマンを売ってしまった上に販売元のソフトウェアもメジャーアップデートがここ数年は途絶えているとか、VLCのUIが気に入らないとか、他の人に使ってもらえる方向性に持っていけたら面白そうとか、ローカルのディスク領域を圧迫したくないとか、スマホでもPCでも屋内外から聴きたいとか、色々あります。

機能

  1. fav機能:★マークをアルバムにつけると上にあるFavorite Albumsリストに入ります。枚数が増えてきたら左右に自動スクロールすることもできます(PC版のみ)。

  2. 翻訳機能:かんたんですが日本語と英語を切り替えることが出来ます。

  3. Youtube再生リスト管理:GoogleログインできるということはYoutubeとDriveを同時に処理できるということです。非公開再生リストはセキュリティの都合上取得できませんが、公開と限定公開のリストは引っ張ってこれます。

  4. アップロード機能:手作業でGoogle Driveのmusicフォルダ内にアルバムを作るのが面倒なので、画像と楽曲をアプリ内でアップロードできるようにしました。ネットでDL・購入した音源をそのまま放り込めます。

要はデータを取得して表示しかやってないわけですが、僕はジャズのCDとジャズの再生リストしか持っていないので現状こういう運用ができています。

つまり、人によってはビジネス用のポッドキャストとか瞑想用の音源を集約することもできますし、同人ASMR作品の集約みたいなこともできます。何も考えずに使い始めるとジャンルはごっちゃになるので見た目が良くなるかはあなた次第ですが、要は制作者の僕はあなたが何を聴こうが知る由もないということです。

まあ、好きなようにしてください。

所感とか

こだわりとしては、スクロールバーや再生時のシークバー等のデザインを設計して世界観を統一したところとか、fav albumsを回転させてレコードっぽくしたところとかになります。詰まったポイントは、chrome拡張のlanguage reactor(youtubeの英語字幕にリアルタイムで母語の字幕を被せて英語学習できる)をONにしたまま使うと、iframeの処理がおかしくなって動画再生時に周辺ボタンが出せなくなる現象を見つけたとかですね。

でもまあAIに言えば治るのであんまり苦労してないです(おい)。

今後の予定

先に紹介したSTILL Playerに統合すると、「ローカル再生」「Cloudflare R2(外部ストリームサーバ)」「Google Drive(私用クラウド)」の3種類で経験値としてはストリーミング自体は出来たことになり、だいぶニーズに合わせた使い勝手のいい何かに近づけると思っています(UIはどちらも好きなので片方がお蔵入りするのは悩ましい)。

あと、これは元々CDなので、ジャケット画像は現状だと自力で紐づけています。ネットから自動で取得するような機能はどうすると実装できるのか想像が出来ていないのでここは手つかずです(版権が絡む可能性があると個人開発レベルでできないのでは、とも思っています)。

歌詞については、音源を自動文字起こしシステムを内蔵したサーバに投げれば96%くらいは表示できそうですが、Google Driveからどこかのサーバを中継するとなると、再生までのRTTが伸びそうですよね。ローカル音源であっても、再生までに一度インターネットに出ないといけないのは筋が悪いです。一番大事な部分の品質に関わるのでここはコスト面を検討していきます。

あとは認証部分ですね。現状Googleログインする時には「得体のしれないアプリなので危険」みたいな通告をこちら側で無視していかないと動きません。人に使ってもらうのにセキュリティのリサーチが甘いのでは良くないので、もう少し調べていきます。あるいは有識者の方がいればコメントをもらえると助かります。

Spotify連携は現状考えていません。

そんなことをするならSpotifyで聴いた方がいいです。

連絡先

Xは @yekiponk でDMしてください。投げ銭は下からどうぞ!

https://buymeacoffee.com/yekipo

ポートフォリオを更新しました

お久しぶりです。

一応車に轢かれたりしましたが元気にやっています。

1年前、実家に帰省したタイミングでAIを使い込み、かねてから夢だったプログラミングが自分でもそこそこ可能になり、色々作って公開していました。あれから色々あって読書会に登壇したり、イベントネットワークの設営をしたりとご縁が広がったのですが、結果的には車に乗る技量もないし引っ越す金もないよね、ということで、地元から在宅で出来る仕事を探してちまちま頑張っています。

その流れもあり、今週ようやく財布の紐をこじ開けてClaude Codeに課金しました。AIは動向を追ってるつもりではあるんですが、どうしても耳学問になりがちだったのです。Obsidianをセカンドブレインにして無料版のClaudeで壁打ちしたり、色々内省が捗るようになってからは幸福度も高いのですが、まだ自分がリモートで稼ぐ為のコア技術が成熟してるわけではないですからね。

で話を戻すと、結論課金して良かったなと。

VSCodeの使い方、Claude Codeの使い方、複数ファイルの(フロント、バックの概念を用いた)プログラムへの慣れ、デザインセンス、英語慣れ、WSLとホストOSの使い分け、過去のプロジェクト管理、ウィジェットをはじめとするデスクトップアプリ開発の作法など、思いつけば思いつくほど様々な経験を自分の知力でも獲得できる。とても感動しています。もちろんその道の人が見たら「よく読んでないのに進めるな」とか「デザインの勉強してないのにイキるな」とか言うんでしょうけども。

frazz.hatenablog.jp

frazz.hatenablog.jp

で、一年前に作ったカード式ポートフォリオと、何かよくわからんが和むブラウザ画面の両方を改修して、1ターンでどこまで行けるか試すことにしました。

とりあえずデザインのダサさを改善するために日本語を極力排除し、水の属性によく似合う軽くて明るいボタンをSVGにして作成しました。先日時計のウィジェットを作った所、だいぶ良かった為、時計のデザインも改修しました。

今の段階ではポートフォリオを見に来てくれた方も、別にそこまで僕の制作物に期待して見に来てくれているわけではないと思います。なので訪問してくれた方には、最初、一目見た段階では僕の業務内容や作品群にはリーチできないようにしました。まずはこのサイトで遊んでほしかったのです。

スクロールすると、現段階でお気に入りのプロダクトと、これまで使っていたパネル式の旧ポートフォリオが閲覧できるようになっています。ここに僕の活動を大体散りばめておこうと思っていて、悲しくも2軍落ちしてしまったプロダクトについては、今後も旧ポートフォリオで一覧できるようにしておく予定です。クソゲーとかもそのうち増えていくと思います。

その他色々改修ポイントとまだ残るバグはありますが、一つ一つの知見をこのようなブログに書かずとも経験値が貯まっていくほど体験の質とスピードが向上したことは、既に言える事実だと思います。ただ一方で、AIでしょーもないものを量産するな、というお灸もそこら中に出回っていますので、自分もそうならないように出来るだけ得意領域にはリソースを投下して、広く浅くにならないようプロダクトを改善していきたいですね。

サイトについては変わらずサイドバーのportforioから閲覧できます。ご興味あればぜひ遊びに来てください。

SlackにNewsbotを実装する

新卒の頃にできてたかったなあとは思いつつ。

経緯

youtu.be

これを見て感化されました。

Agent-Skillsについては全くの無知なので(大丈夫か)今の自分でもギリギリ理解できる方法で実装します。

作ったもの

技術スタックとして積んでおきたいジャンルのニュースを毎朝9時にお届けしてくれるbotを作りました。

概要

Slackのincoming Webhookを使います。

Incoming Webhooks | Slack Developer Docs

マニュアルは色々書いてありますが読めなくても特に問題ありません(ほんとか)。

設定画面でどのチャンネルに通知を飛ばしたいのか等を記入してください。

次にgithubでプライベートリポジトリを作成します。

github Actionsを使うと.github/workflow配下に作成したymlファイルをvmが読み込んで実行してくれます。これを毎朝9時に定期実行しています。

無課金だと順番待ちが発生する為cronの実行から通知までには1時間~1時間半程度かかります。これを見越して定期実行の時刻を早めるといったライフハックが存在します。

yamlの作成例は下記です。

name: Daily Tech News
on:
  schedule:
    - cron: "0 0 * * *"
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: "3.12"
      - name: Install dependencies
        run: pip install requests feedparser
      - name: Run script
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
        run: python post_news.py

Slackから提供されているIncoming webhookのURLは必ずハードコーディングせず変数として扱ってください。そのままURLを記入するとコードを入手した悪意ある第三者にチャンネルのメッセージ通知を乗っ取られてしまいます。

次にリポジトリにメインとなるプログラムを配置していきます。

requirements.txtは以下です。

requests
feedparser

メインプログラムは以下です。

import os
import requests
import feedparser
from datetime import datetime, timezone, timedelta

SLACK_WEBHOOK_URL = os.environ.get("SLACK_WEBHOOK_URL")
JST = timezone(timedelta(hours=9))
today = datetime.now(JST).strftime("%Y/%m/%d")

FEEDS = {  
    "はてブ (IT)": "https://b.hatena.ne.jp/hotentry/it.rss",
    "Hacker News": "https://news.ycombinator.com/rss",
    "Qiita (AI)": "https://qiita.com/tags/ai/feed",
}

def fetch_news():
    messages = []
    for name, url in FEEDS.items():
        try:
            feed = feedparser.parse(url)
            for entry in feed.entries[:2]:
                messages.append(f"• <{entry.link}|{entry.title}> ({name})")
        except:
            pass
    return messages[:24]

def post_to_slack(news_list):
    if not news_list:
        return
    payload = {"text": f"📅 *{today} のテックニュースまとめ*\n\n" + "\n".join(news_list),
               "username": "Newsbot", "icon_emoji": ":emoji:"}
    requests.post(SLACK_WEBHOOK_URL, json=payload).raise_for_status()

if __name__ == "__main__":
    news = fetch_news()
    post_to_slack(news)

FEEDSの中に取り込みたいRSSのURLを書き込みます。

for entry in feed.entries[:2]: :

ここで1RSSの中から何件新着記事を取ってくるかを設定することが出来ます。

return messages[:24] :

全体の最大記事数を設定できます。3:2程のウィンドウなら個人的には16~24記事程度がおススメです。このくらいあると、毎日見ているうちに自分にとって必要な記事と不要な記事の棲み分けが分かってきます。

タイムゾーンをJSTにしていること、メッセージ通知をslackのincoming webhookのアイコンで飛ばさないようにbot用の絵文字を割り当てていることに注意してください。slack内で絵文字を追加する方法は以下です。

ワークスペースにカスタム絵文字とエイリアスを追加する | Slack

完成

これで毎日自分でやる気を出してブラウジングする手間が省けました。

IWNOC25に参加しました

こっぱずかしいのですが備忘録として。

internetweek.jp

先日はInternet Week 2025 "挑戦 x 経験 x 世代 フルスタックで "不確実" の先へ" にお越し頂きありがとうございました。実は1週間(準備期間から含めると2ヵ月弱になります)、会場の両国KFCホールならびにJPNIC神田オフィスにて設営業務を担当させて頂きました。

経緯

Xでとある方のツイートを拝見し、本イベントの開催およびNOCの募集を知りました。

NOCは初で、自分のやってきたことがどの程度外の世界で通用するか分からなかったのですが、あれだけ学生時代に苦労して何も報われないのも困る…ということで思い切って応募。これがなんと通ってしまいました。

L2、L3チームは優秀なメンバの応募が多数あり、私はcableチームに配属。頼られると嬉しいもので、正直また配線ができる!と内心意気込んでいました。

当時はwanna be(加えて守秘義務の程度を模索する最中)でしたし、このブログで特に大学の研究関連の記事はオープンにしておりません。実は音響、IP-SDI、NFV(あまり並べ立てると知識不足を叩かれそうなのでこのへんにしておきます)あたりを専攻しており、社会人になってからも微力ながら学生さんへの教育支援を担当させて頂いてました。おそらくその経験が買われ、今回の採択に至ったのかと。采配としては結果的に最適配置だったんじゃないかと思います(当日の論理構成は追えばわかる程度でしたし、優秀な学生さんに具体を詰めて頂いてほんとに助かりました)。

所感

先日の記事からもわかるとおり今年は少しずつ過去の清算といいますか、自分のやってきたことが何だったのか、ないしバーンアウトの後処理に追われてきました。今後の為にもプレッシャーに負けず外に出ていかないとダメだという思いもあり、ブログに書いてきた通り今年は様々な勉強会にもお邪魔してきました。今回のNOC運営はその最たる戦果だったのかなと思います。

これまでの研究を通して個人的には、技術的に自分がやり残したこと、わかりたいけれどわからないまま過ぎ去ってしまったことが、かなり多かったように思います。加えて学生指導の立場に上がってからも後進の学生さんたちが予想以上に優秀で、自信をもって指導できるものがなかったことなどもあり、かなり翻弄された20代だったと思います(話が逸れますがそれもあってここ2年は別業界で食い繋いできました笑)。そんな中、NOCメンバの皆さん、機材提供でご一緒させて頂いたアリスタネットワークスジャパンさん、運営支援に回って頂いたNTTドコモビジネスさん等々、学生時代から憧れの面々に久々にお会いし、当時とは別のご縁で自分から関わりに行けたことが非常に印象的でした。未だに自分が学生みたいな気持ちなのに、気づけば全国から集まったほんとの学生さんにケーブリングを指導していました。まあ、これもこれで絆の繋ぎ直しという感じがしてよかったです。

会場設営は4部屋(受付、ホール、10F、控室)あり、各部屋にインターネットを生やしてきました。ケーブルは差すだけと言えば差すだけですが、長さの仮決めから工具を使ったカシメまで行い、イベントならではの空気で設営に臨みました(300m巻きのUTPケーブルは私の職場でも買ったことがなかったと思います)。設営後のデバッグポイントとしては、人の出入りが激しいところのテープ補強、APのリンクアップ確認など。10Fのセミナールームで初日に1台のAPがいつまで経ってもリンクアップせず、テスタで確認したら芯線の1本が死んでいた、なんてこともありました。修繕後、こういうこともあるんだよという話をチームでできたのは楽しかったですね。最終日のBoFでもその話をしたり、あとは新卒時お世話になった会社の代表がそのセミナールームで司会をされているのを席で眺めたりもして、私個人としても非常に胸に来るものがありました。

こうしてまとめてみると人との繋がりを再確認するようで、尚も得るものがあるのですが、何はともあれ無事に大きなトラブルもなく運営が終了してくれて良かったです。私の意向により宿は取っていませんでしたが、会場近辺を探訪したり、寝泊まりの間に色々な方に人生相談できたのも、非常に楽しかったですね。こうして関係性の正しい距離感を再測定していく営みそのものが、わたしにとっても今後関わる(関われるとうれしい!)皆さんにとっても重要なことなんだと思います。

いやーみなさん素敵な方々ばかりでした!

今後ともなにかあればよろしくお願いします。

おまけ - 技術書典19にも参戦

記事を分けるとボリュームが落ちちゃうのでこちらで供養。

大宮でやってたので準備期間中に行ってきました。

awsも興味が湧いてるうちに自分の理解できそうな所を食っておかないとと思い、リベンジしてきました。S3本とひよこネットワークさんの本を買って、ちまちま読んでいます。大学時代、秋葉原の技術書典を見てきたときは知らないおじさんにホイホイついてったら宗教勧誘で、その日は勤行させられて22時半まで帰れなかったとかいう黒歴史があるので…笑、今回は安全に参加できて良かったです。あの頃と違い、戦々恐々とせずフレンドリーにXやyoutubeの技術者の方々のご尊顔を拝みに行けたというのは、ほんとにメンタルによかったですね。なんだかんだ色んな人に会ってみたけど私はやっぱりオタクがすきなのかもしれません。

わたしもいつかzineのひとつでも出してみたいものです。

人生で初めてXがバズった話

経緯

今年から対外的にエンジニアと出会ってお話をするということを少しずつ始めており、先日通称「挫折LT」という勉強会に偶然行けることになりました。それで土地についてはFindyさんとかさくらインターネットさんのオフィスにお邪魔できるようになったのですが、後者については個人的に別のプロジェクトを今やっているので、落ち着いたらその時にお話しします。

挫折LTで偶然大学のかなり近いところで活動していたエンジニアの先輩にお会いし、その方に長年閉塞感のあった部分を人生相談しました。その結果、クラウドエンジニアとして再起するのがよさそう、という話になり、いまは休職中ですがAWSの勉強をしています。夏からUdemyで少しずつやっていたんですがもう少し温度がこころの中で上がってきた感じです。ネットワークがそんなにわかるなら最初から勉強し始める人に比べても素養は相当あるのでは、と。インポスター症候群のきらいもあるかもしれない、みたいな話も。

思い切り不器用な私としては、センスの良い人、尊敬できる人を身近に置いておき人間性だけでもそこを目指す、というのが重要で、それは精神安定の為にも成長の為にもなのですが。技術力は追いつかずともそういう動機があるのとないのとでは人生の軸の強さが全く違ってくるんです。人はひとりでは弱い。

なぜAWSなのか

それで、LTでお会いした素晴らしい方々に応援されて第2の人生を始めようとしているのですが、その核になるのがAWSになるのかなと感じています。

理由はいくつかあって、一つはプログラミング能力の問題。作りたいものが生まれてこないとか私の力ではソフトウェア開発は難しいとかあるのですが、時間がない中でヤマを張るとしたら下のレイヤの方がいいかなと。

もう一つはコミュニティの問題。同じネットワーク・クラウド領域と言えども今までやってきたこととは相当畑が違います。閉塞感や孤独感を感じる場所で行き詰まるという経験をもうしたくないというのが気持ちとして大きい。その中で大きな市場規模を持った、つまり仲間の多い技術領域で力を伸ばすというのは、キャリアで失敗する確率を下げるのに大事なんじゃないかと。有識者が多ければその中の一人としてトップまで上り詰めなくても飯くらいは食っていけるんじゃないかという想定です。もちろんやっつけ仕事はできませんし、リスペクトは重要ですよ。

加えて、第3に地域性の問題。先の話と絡んできますが、日本全国に本来点在しているエンジニアとかかわりを持つための共通言語が欲しい。東京でITをやっていくつもりでしたが、地元に帰って地域振興するのも悪くない。生活コストも下がりますし、家庭の事情も大きい。これは30歳を目前にしたから言える(言わざるを得ない所もありますが)重要な視点です。JAWS-UG埼玉支部の方ともつながったので、ご挨拶に行きたいし、なんなら群馬に支部があってもいい。移住拠点として今後伸びていくふるさとを活性化するという意味でも未来を賭ける価値がある。

最後にキャリアの問題。一気に15冠とかの方々とオンラインオフライン問わず話ができるようになったのですが、業務しながらモチベーションを持つにあたっては、やってもやりきれない程のやり込み要素がある方がいい。他方で身体を壊したのもそれが主な理由ですが、とはいえいくらでも知的探検ができるという理由でコンピュータをやっています。できるだけ自分の見ている世界は広大にしておきたい。未来の選択肢が増えるからです。まあ、いずれもまだ妄想にすぎませんが。

バズって変化したこと

今まで東京神奈川からほとんど出ずに社会人をやってきて、日々大きく課題に感じていたのは自分の認知特性と開放性の部分でした。広大な世界を見るには人間と機能が多ければ多い程良い、という考えで回遊していましたが、それでも自分の「見たものしか理解できない」「大人が何をしているかよくわからない、人が怖い」「納得するまでものを見つめ続けたい」という自分自身の核は、良くも悪くも変わることはありませんでした。

まだ自分の技術者としての核になるものは正直ありません。修論書いても主観の上ではないんです。それは、世界の一部しか自分には見えていない、何か自分のやってきたことが世界のどこと繋がってるのかわからない、自分のやっていることの真の価値が理解できない、という閉塞感から来るものです。

単純労働も他業種の仕事もいったん経験し、一般のIT企業の方とも何社か面談させていただく中で、そのあたまの中の極端な世界地図が、均衡を取り戻し始めました。加えてかねてより課題に感じていた読解力もおかげさまで毎日少しずつ伸び始め、10年前に見ていた社会人エンジニアのタイムラインと同程度の情報発信を、自分のXアカウントでもようやく再現できるようになってきました。

資格勉強の進捗を言えば、実際全く方法論も確立していませんし馬力もありません。正直Xアカウントの発言のコレクションはまだハッタリで、内実が伴っていないし、手を動かす量も足りていない。ストレス耐性も戻っていないし、職業エンジニアのそれには足りていないと感じます。つまり全体的に微妙。しかしそれでもちょっとの時間があれば理解できることは、できるだけ広く浅く手をつけて素地を身につけておきたい。バズった投稿が偶然できたのもそのアンテナを張っていたからかなと思います。


実際に通知欄を追っていると、趣味垢から企業垢から様々なパーソナリティのエンジニアさんに興味を持っていただき、非常に世界が拓けた感覚がありました。バズった理由の分析はAIに任せておくとして、こんなに全国に素晴らしい方が点在しているんだ、頑張ってる学生さんや事業家、自治体の方がいるんだ、その方々が間接的にでも私の発信に興味を持ってくれているんだという喜びがすごくて。こういった体験は人生にそう多く来るものではありません。人生のパーソナルな問題やキャリア、収入、技術領域の問題など、今私が悩んでいるそれらが全て私だけの問題ではないと直感できたことは、非常に心強いものがありましたし、これから全うな大人になるための希望でもあると感じました。

また、地元の土を踏んでいる間にこの体験をできたことも相まって、世界はどこまでも地続きで循環しているんだという直感も生まれました。そうすると、自分がやってきたことが世界と切り離されているような疎外感や足りない理解も、7割方なくなった。大事なのは、キャリアがどうというのはあくまでどこまでも利己的な話で、社会情勢とかこの国、ひいては世界の未来がどうなってほしいかを考えた時に、自分がやるべき仕事は地続きになってそこに映し出される。美辞麗句を並べ立てたキャリアパスはお膳立てしてくれた世界の誰かの善意にすぎず、それに甘んじているようでは本質的な善にこの手で辿り着くことはできない。そう気が付きました。


ちなみに安宅和人先生の「自分が重さを感じられない言葉を使うのは生涯嫌になった」という話は私も同調できる部分があり、これがこの人生の難易度を跳ね上げていると感じています。最近は風の谷の話にもちょっと影響されている節があり、エンジニアリングになるかどうかはともかく私の今後の仕事に生かしたいなとも。


ともかく、今回バズったことで長年の孤独が消え、新しい世界が拓け、企業のエンジニアと私もお話できるんだという自信が芽吹き、頭の中の歪んだ世界地図が均衡を取り戻し、心身がひとつ健康になったのです。これから私がやることは、人と手を取り合って生きていくこと。大げさかもしれませんが、腹の底からそれを理解したような気がしました。とはいえ自分の距離感も大事にしなくてはならないのですが、それでもやるべきことは多少はクリアになりました。

今後の予定

東京に戻るのか、地元に根差すのかについてはまだ考え中で、生活コストとかいろんな面から生々しい話をしていかなくてはなりません。それと並行して、身辺整理。それとAWSはcloud practitioner、業務の最低レベルであるsolution architectまでは取りたい。re:inventとfreecodecampでとにかく英語を浴びる生活をしており、インド英語にも触れています(噂には聞いていました)。TOEIC340点で大学院を出た恥にそろそろ報いたいと考えています。普通に海外も行きたいですし、コンタクトを取りたいクリエイターも海外に若干いるんですよね。

自分の人生の相当な部分が労働で左右されちゃうので、なかなか全く違う仕事で合間の小遣い稼ぎをするという判断には至れません。なにぶん地元はスキマバイトがないのです。vtuberのサポートとか、何か面白そうな仕事があれば紹介してくれると助かります。治療法面では、東畑開人さんのカウンセリングとは何かとか、佐久間宣之さんのごきげんになる技術とか、すずきゆうさんの無とかを読みつつ、漢方を飲んだりしています。佐久間さんの考え方はサラリーマンとして私の10段も20段も上の発想をされているので、非常に重たいのですが、ゆっくり進めています。

YUMEMI.grow 読書シェア会 vol.8 に登壇しました

先日、単身としては初めて社会人技術者のLT会で登壇させて頂きました。

経緯

Xでポストを見たのがきっかけです。

ゆめみさんはM&Aの件が今年かなり賑わってますが、5月頃わたしがAIプログラミングと就活でごにょごにょしていた時に初めて勉強会を聴講させてもらったのです。そこから登壇されていた方とは相互になりまして、ちょっとロールモデルに近いのではと感じているところ。ただこれは本決まりではない。

yumemi.connpass.com

なんかもうこの数の勉強会があるのだとすると、恥ずかしがらずにどんどん参加していいのかも、みたいな気持ちになりますね。

出たのはこちら(リンク先からyoutubeに飛べます)。

yumemi.connpass.com

所感

音楽関係の用事があったためネカフェから参加したのですが、小声で申し訳なさそうにやってたのがバレないといいなと思いつつそわそわしていました。回線速度は流石に良かったです(席も偶然部屋の隅でした)。

割と心のもちゃもちゃした部分の所為で長話にならないようにかなり気を付けました。自分の経歴も周りの皆さんに箔を付けてもらった部分が多く、実務や社会人経験の中では不安なことも沢山あった中で、またこうして技術者の方と同じ土俵に立てるようになったのが一番の心の変化だったと思います。

紹介したのは技術書ではなく一般書籍ですが、発表会の敷居自体はわりと何でもありのゆるいものだったので、登壇練習として最適だなと感じました。主催のAkatsukiさん、ありがとうございました。それに、自分の中の思考体系というか知恵というか、そこが関連するとは業務上では思わないようなものも私の脳内では繋がってるように感じてしまって(そのくらい網羅的に知的でありたいという理想論によるものですが)、どうにかこうにか技術者の皆さんとも関係があることなんだよ、というのを伝えられるような構成にできるよう頑張りました。内容自体は現代人の社会問題を扱っており、私自身の過去とも絡んでくる部分が多かったので、熱意をもってある程度お話しできるかなあと思ったところです。

実務的な部分としては、やっとオンライン会議の背景ぼかしとかをビビらず使いこなせるようになりました。officeのライセンスが買えない状況なのでgoogle slideに移行し、これを機に技術用のgoogle driveもちゃんと管理して使うようになりました。目下、100GBの制限がパンパンでメールが届かなくなりそうなのでこれをどうにかしないといかんのですが…

今後も何かしらお話しできることがあれば顔を出す予定です。今まで以上に人のつながりを大事にしていきたいと思います。

資料

speakerdeck.com

DIGITAL STANCE - 発売記念イベントに参加しました

今朝方トークセッションがあったので聴講してきました。

DIGITAL STANCE - テクノロジーとの「健全な距離感」を見つける - by ピョートル・フェリクス・グジバチ | YOUTRUST

ピョートル氏はポーランド料理屋さん。ではなく、企業経営者です。
もともとモルガンスタンレーとgoogleにいたそうで、今回のDIGITAL STANCEの著者です。明るく素敵な人格者、という感じでした。

今回は、その参加メモです。

デジタルスタンスについて

「包丁は台所で持てばいいけど外で持つと逮捕されますよね。スマホも包丁みたいに使い方を意識して大切に扱ってほしい」。

冒頭、氏は参加者に下記の質問を投げかけました。

  • 何の為にスマホを開くか意識してますか?:してないかも

  • よく見るコンテンツは価値観や目標と一致していますか?:そこそこ?

  • 自分のスクロール行動はどのように企業にマネタイズされてるか知ってますか?:googleとかmetaとか。

  • SNSやニュースのあと、感情や身体感覚に意識を向けてますか?:結構持ってかれて自分の意見言ったり思ったりしたあと疲れるかも。

SNSは広告収益モデル。できるだけ無意識に長時間使うように研究されているのです。

キャプトロジーとは

人間の無意識を追跡する工学。
スマホの一日使用時間:平均4.8時間。なんと現代人は1年の2カ月をスクロールに使っているのです。おそろしいですよね。

うまくスマホと付き合うには下記の3つが重要だそうです。

  • 使う:戦略的に自分にとって必要な情報を手に入れる。
  • 離れる:気分が悪くなったら見るのを辞める。
  • 調整する:いる通知いらない通知をコントロール。

また選択と集中は収入だけでなく自己効力感の醸成にも繋がるとのこと。

「企業に自分のプライベートの時間と写真と思い出と思考を渡している。これはもはや外でクレカを振り回してるのと一緒です」とピョートル氏。
「SNSを利用する中で、不要にライバルとの比較をしに行って心がざわざわすることがあるんじゃないかと思った」と主催の井上さん。私も音楽活動してるとすごくそういうことを感じることがあります。

FOMO:取り残されるのが怖いという本能を操作するのもキャプトロジー。

「あなたは何者なんですか?」

自分の価値観を理解し、そのために戦略的にスマートフォン並びにSNSを使っていますか?SNSは大都市と同じ。片っ端から通行人に話しかけていたら人生を使い果たしてしまう。本能のままに反応していてはいくら時間があっても自分のキャリアに主体性を持つことが出来ない。完全に切り離すことはできないとしても、このデジタル社会に向き合うスタンスを自分の中にしっかりと持つことが大切だといいます。

主催の井上さんは「ご機嫌でありたい」と回答。早寝早起きを信念としているそうです。
ピョートル氏は「自由を何よりも大事にしている」だから会社員でなく独立を選んだ、とのこと。この柔和さはそこから来ているのかも。

私はこの問いに「知の旅人です」と心の中で回答したのですが(かっこいい)、それってただ情報を浪費してるだけなのでは?とも。つまり自己の在り方に関してはそれで良いのですが、その価値観は何か社会的価値のあるものに変換できているかというと、ちょっと疑問でした。今回のテーマのとおり、私はスマホに使われているだけなのでは?とも。

最後にトークテーマは"スマホと人間関係"に移ります。

スマホと人間関係

そもそも人間関係とは何かという問いに始まり、「人間関係とは尊敬と信頼の構築」とピョートルさん。どちらかが片方が無いこともある。だからお互いにどちらもある状態を目指すのがよろしいと話します。

さらに、関係性≒役割。すごくドライだけど、この社会であなたは自身の価値観を表現するために誰とどんな関係性を作る?どんな関係性をなくしていく?万人に時間は割り振れないのだから、それを戦略的に考えて仕事と向き合うべきだ、と続きます。

SNSは大都市。スマホを持つことは東京で生きることと一緒。自分を守るために自分を理解し、価値観、信念、希望をアイデンティティとして構築しよう。でないと詐欺にあって死んでしまう(比喩)。だから目の前にいる自分に必要な人間に適切な関係を作ることから、まずは集中しよう。
なんで生まれたの?なんで死ぬの?じゃあ死ぬまでに私たちは、誰に触れて誰に信念を示し、誰と関係性を作るの?

テクノロジーと白い嘘

white lie:社会的関係性を守るための嘘。元気なフリなどがこれにあたる。

イベントや思い出があっても、本人にとってそれが楽しかったかどうかが本来最も重要なのに、SNS投稿や記録の方が重要視され、さらにはそれが社会的な関係の維持にまで利用される、いわばwhite lieにテクノロジーが使われる時代になっている。本来体験と体感が人間にとって最も大切なのに、テクノロジーがそれを奪い、現代人がその感覚を失ってしまうことに警鐘を鳴らします。

セッションの最後に、参加者からの「デジタルデトックスについては何が有効か」という質問が。これに対してはダイビング、お寺、神社、お茶などがよいと回答。静けさ、上品さがこの国の自然にはあるのだから、そうした場所と繋がるのがよいでしょうとのことでした。スマホを家において散歩するだけです、とも。たしかに。

所感

ここ数日、地元の図書館や美術館を巡ってこれからどうしようか考えており、そこで手にした「スマホ時代の哲学」を読んで、別のブログにそれを書いたところ、著者の谷川さんにいいねされたばかりでした。
つまりは、この書籍と地元の自然と今回のイベント参加を通して、これまでの人生で情報過多になった自己をデフラグし、次のキャリアに向けて迷わず意識を集中させるためにどう立ち回ればいいか考えようと思ったのです。

情報の選択と集中に関しては同時に読んでいる「イシューからはじめよ」も大変参考になるのですが、今回のイベントに参加した意義を一つ作るとするならば、私の場合は特に「あなたは何者?」という問いに対して一定の回答を出すことであるのかな、と。

少し逸れますが、私は今回のお話を聞いて「自分が強くなることと人の役に立つことはイコールではないのだ」と気付きました。いつもスマホで情報収集ばっかりしているからです。技術的にしろ趣味的にしろ、いくら情報を吸収しても発信しなければ、そこに価値も関係性も生まれません。受信100のモードで生活することも発信100のモードで生活することも自分の判断次第で思い通りにできますから、この利便性を戦略的に活用し、相互作用と関係性を創り出せるコミュニケーションを増やすことが大切なのだと思いました。

ということで、今回の問いの回答として私は、世界の美しい知をより吸収し、楽しみ、また目の前でこれを読んでいるあなたときっとより良い関係になるために、思考や知見、信念、感動した美しさを伝え、応援し、少しでも元気を配っていきたいなと思います。

余談

www.animrumru.tokyo

ちなみにピョートル氏、冒頭で書いたポーランド料理屋さんを実際に経営し始めたのだそう。「料理を通して誰かと素敵な関係性を作ってほしい」という願いが込められているそうです。今回のトークセッションの核心にも迫る、いいお話ですよね。