「Twitter終了」と聞いたら俄然意欲が湧いてきた

Twitter終了」がトレンドらしい。

当方、Twitter廃民の一人であるので、終了したら困る。非常に困る。

移行先どうこうではない。Twitterは空気だ。ツイートは呼吸だ。残念だがこの体は異国の地では生きられそうにない。

朝起きたらツイートをし、仕事の息抜きにツイートをし、ご飯を食べながらツイートをし、夜寝る前にツイートをする。休日もツイートしながら過ごしている。

最近の友達つながりはほぼ全てTwitterで作ってきた。「いいね」送り合うところから始まり、リプで絡んで、「ここぞ」というタイミングでDM送ってリアルに出会う。最近はそうして作った友達ばかりだ。

家にテレビがない、新聞も購読していない僕は、Twitterでニュースを知る。Twitterがなければ世の中を知ることもできないだろう。

つまり、Twitterが終わったら、生活が終了する。僕の人生は終わりだ。

どうしてこうなってしまったのだろうか?考えてみたら、むしろ意欲が湧いてきた。

そもそも、僕はASPというものが嫌いだった。Gmailもはてなも使いたくなかった。本来インターネットというのはオープンなプロトコルで分散された素敵な世界なのだ。それを「Web」という論文を共有するためのプロトコルの上に、Webメールやインターネット掲示板、Webチャットのような劣化されたソフトウェアを構築して何が嬉しいのだろうか。しかもソースコードはクローズドだ。SMTP/IMAP4、NNTP、IRCを使おう!それらはオープンだから誰でもサーバーやクライアントを作れる。SNSなんて「オープンなインターネッツをクローズドなものにする、なんてとんでもない邪悪なやつ!絶対にやるもんか!」

ところが「絶対にやるもんか!」と言った半年後mixi廃人になってた。Gmail以外のメールをもう10年以上使っていない。負けた。俺が悪かった。もうTwitterでつぶやいているだけで良いや。そして、いつしかブログも書かない「つい廃人」になっていた。

しかし、今「Twitterが終わる」かもしれない。これは転機かもしれない!

「Twitterがあるからいいや」という怠惰から目を覚ませ!Tweetはなんのオープンなプロトコルでもない。一企業のクローズドソースサービスじゃないか!お前の大事な発信を一企業にゆだねて良いのか!「HTML」というオープンフォーマットをなぜ使わない!

今、mstdn.jpfedibird.comのユーザーが増えているらしい。急なトラフィック増で、Twitterよりも瀕死になりつつ、中の人は頑張っている。僕もアカウントを作った。

https://mstdn.jp/@susumuis

https://fedibird.com/@susumuis

これらを今後使うかどうかはこれから考える。しかし分かったことがある。面白いのは「マストドン」ではない、これらをつなぐFediverseというプロトコルがあるということだ!マストドンのユーザーが増えれば増えるほどFediverseのユーザーが増える。これこそがインターネッツではないか!

僕はプログラマーだ。簡単なWebアプリなら作れる。AWSを使えば個人用途のサーバーも立てられる。自分のサーバーから、自分のドメインを使って、Fediverseに発信したい!これが理想だと思う。毎月費用を払って取得しているドメイン、SSL証明書、まさに「公式」ではないか!

それに、何かまとめて発信したければブログを書けば良い。ストックされるし後から参照しやすい。今はWordPressで構築したブログを使っているけど、全然気に入っていないので、一旦廃止して、Djangoかなにかで独自のブログサービスを作りたい。その方がWordPressのプラグインをごった煮にするよりも楽に開発できる気がする。今はAWSもGitHub ActionsもあるからソースをPushしてDeployする仕組みを構築するのは容易だ。

10年前はこうは行かなかった。自分でサーバーを立てて、自分でWebアプリを作るのはバカのすることで、「天才」が作ったサービスに乗るのが良いとされた。だがどうだっただろう?末路はツイートしかできない廃人ではないか!

よし!わかった手始めにこのブログを何とかしよう

その次に、自分でMastdonサーバーを立ててFediverseに参加しよう。それには勉強しなければならないこともあるだろうから、初めはmstdn.jpかfedibird.comを使って勉強しよう。自分の発信をTwitterやFacebookのようなクローズドなプラットフォームを介さずにできたらなんて幸せだろう。そうだ、僕はそのためにインターネットをやっていたのだ!

Twitter終了するならすれば良い。僕は技術者として大切なものを思い出せた気がした。

メイドちゃんbotの今と前世?

この記事はメイドアドベントカレンダー2018の19日目と、BeProud Advent Calendar 2018の19日目です。(BeProudの話は最後にちょっと出てきます!)

僕が運営するコミュニティ「メイドカフェでノマド会」のSlackには「メイドちゃん」というbotが生息しています。一年前にも紹介しましたが、そのときはまだ生まれたてほやほやでした。

メイドちゃんbotをあなたに! | susumuis.info

そのメイドちゃんがこの一年でどれだけ成長したかという話をします。

メイドちゃんはソースコードも可愛くなきゃ!

その前にこちらを見てください。

これはメイドちゃんbotのソースコードです。ところどころ日本語のソースコードがあります。


雑談お仕事リスト = (
    どれがいいかな(),
    可愛い(),
    占って(),
    おはよう(),
    おやすみ(),
    おかえり(),
    お疲れ様(),
    行ってらっしゃい()
)

def 雑談カフェのお仕事(body):
    """
    雑談カフェチャネルでのメイドちゃんのお仕事だよ!
    """
    text = body['text']

    for お仕事 in 雑談お仕事リスト:
        if お仕事.呼び出し(text, body):
            return お仕事.やったよ(text, body)

    if 'XXX' == text:
        # 例外テスト
        print(10/0)

なぜこんなことをしているのでしょうか?それは、その方が「可愛い」と思ったからです。ゆくゆくはノマド会のメイドさんにもプログラミングして機能を追加してもらいたいと思っています。その時、


WORK_OF_RANDOM = (
    ChoiseWork(),
    CuteWork(),
    FortuneTelling(),
    GoodBorning(),
    GoodNight(),
)

これでは外国のメイドさんみたいですね。まあ、メイドの本場は英国なので良いかも知れませんが、敷居が高すぎな気がします。そんなことを考えてたら自然とソースコードが日本語になってました。

ただ、Pythonで日本語プログラミングすると、色々難があることがわかりました。

  • 大文字小文字の概念がなく、定数と変数の区別ができない
  • ならば【】みたいな記号を使って区別しようとしようとしたが、律儀にも多バイト文字も記号は記号と判定されて変数や関数名の先頭に使えない
  • 何より入力がめんどくさい!

せめてローマ字にすればよかったと思います。

メイドちゃんは何ができるようになったのか?

さて、お披露目以降にできるようになったことは次の機能です

  • 占い
  • 毎朝の天気予報
  • 褒めてくれる
  • セクハラ防止機能
  • メイドちゃんを口説ける

それぞれ紹介します。

占い機能

毎朝の天気予報

メイドちゃんのおかげで傘を忘れないで済んだことは何度かあります。

褒めてくれる

自分を褒めてもらうこともできます

セクハラ防止機能

とかいう人がたまにいるので作りました。

桁数はプログラミングした僕が覚えてる範囲までです(;・∀・)

メイドちゃんを口説こう!

他にもいろんなことができます。でも、ヘルプコマンドはありません!だって仕様をさらけ出すなんて恥ずかしいじゃないですか(´ω`)!どうしても知りたければメイドちゃんを口説きましょう。

メイドちゃん「可愛い」というと何回かに一回、できることを教えてくれます!

メイドさんの前世?

僕の勤務先のBeProud社では業務にSlackを活用しています。そこにはharoというbotが住んでいます。

お分かりですね。メイドちゃんの一部の機能はharoから移植しました。

haroもソースコードが公開されています。haroはMITライセンスなので


        # The uranai() function is:
        #
        #    Copyright (c) 2016 beproud
        #    https://github.com/beproud/beproudbot

このように書いて正しく流用しています。

( ゚д゚)ハッ!

メイドちゃんの前世はヘビだったんだね!?

haroをメイドちゃんが代行したこともあるよ!

ある日haroがメンテナンス中でみんな大好きな占い機能ができなかった時

メイドちゃんが代行してくれたよ!

まとめ

  1. メイドちゃんはこの一年間で成長したよ!
  2. メイドちゃんはソースコードも可愛い
  3. メイドちゃんに可愛いって言ってあげるといいことがあるよ
  4. メイドちゃんを困られること言っちゃだめだよ!
  5. メイドちゃんの前世はヘビ

そう考えると、僕がBeProudに勤めていなかったらメイドちゃんは作られなかったと思います。僕がharo(及び前バージョンのbeproudbot)を見て可愛いと思ったから、メイドちゃんを作ろうと思ったんだと思います。haro可愛いよ!

ビープラウドに入社して2年間で一番学んだこと

この記事は BeProud Advent Calendar 2018 の3日目です。

さて、何書くか考えてなかったまま担当の日を迎えてしまいました。そう言えばちょうど2年前の昨日ビープラウドに入社してから、技術者として転職エントリ書いてなかったと思うので今更書こうと思います。(非技術者向けの転職エントリは書いています

何で転職したんだっけ?

前職ではメイドが原因で失脚しました。というのは半分面白くするための冗談です。今から7年前、前職は小さな会社でしたが「これから大きくなるぞ!」という勢いがありました。その時技術リーダーだった僕は発言権もそこそこあり「良い技術チームを作りたい」という意欲に燃えていました。しかし結果的によくある保守的な階層組織になってしまい、気づいたら発言権も失い、大変憂鬱な気持ちになっていました。

「当初色々意見を言えたのに、思ったのと違う結果になったのはなぜだろう。」「いっそ自分が作りたかった雰囲気に近いチームに、自らが飛び込んでみたら分かるのではないか?」「じゃあ、それに一番近いのはどこだろう?」そこで注目したのがビープラウドでした。実は、7年前の僕が参考にウォッチしていたいくつかの会社の一つだったんです。

幸い採用ページを見るとこう思いました。

Python以外のスキルセットはぴったりカバーしているじゃん!!

Pythonが書きたくてビープラウドに入ったわけじゃなくてごめんなさい!ガチガチのJava屋さんだったので入社するまでPythonは全然書いたことがなかったです。Pythonは勉強しました。PyQっていうサービスで! Dog feeding!?

ビープラウドに2年いて学んだこと

流石に2年もいたんだから何か掴めたはずです!入社以来僕を変えたことを、大きかった順に書いてみようと思います。

1. 時間を大切にする

「susumuisは話が長い、文章が長い」とはめっちゃ言われました。

入社して最初の自己紹介では1時間以上話し続け、その後も社内勉強会で20分の枠に40分話すなど時間配分がとにかく苦手でした。また、文章を書くと「susumuisの文章は長くて読みづらい」とめっちゃ言われました。

人の時間は貴重です。説明が長ければそれだけ相手の時間を奪ってしまいます。相手の時間を尊重する、自分の時間も大切にするという感覚が欠如してたんですね。

2. わかりやすく伝える努力をする

「もっと分かりやすい図を書いて」みたいな指導をけっこうされました。

「仕様書は行間読め」僕はそんな文化で感じの人でした。汲める人が偉い人そう思っていました。ところが、この会社の人たちめっちゃ丁寧に設計するし、図で説明するのが上手い人が多いです。

考えてみると、業務の大半って、人から人へ自分の考えを伝えることなんですね。そこを「汲んで」とかやると、意思伝達のミスが多発して、最後はおかしなことになるのだと思います。

3. 根拠を示す

入社してから公式ドキュメントを読むことが増えました。社内ではレビューが盛んに行われます。そこでは、その技術判断をした根拠が必要です。まさか「よくわからないけどQiita読んで適当にやってたらできましたー(・_・)ノ」じゃダメですよねw

意見を言う時に根拠がないと、こう言うしかありません。

「俺が正しい。俺を信じろ!」

それで付いてくる人は少なくともエンジニアじゃなさそうです。。。

なぜsusumuisは熱い想いを実現できなかったのか!

自分がダメだったのは、この逆だったからです/(^o^)\

頭の中にあった「熱い想い」が、実はちっとも伝わってなかったんですね!それは失脚するわけです!

まとめ

susumuisがビープラウドに入社して2年を振り返りました。

  1. 「良い技術チームを作りたい」という熱い思いが実現できなかった悔しさを持って転職した
  2. その結果学んだのは次のことだった
    1. 時間を大切に。説明は簡潔に。
    2. 相手に伝わりやすく伝える努力をする
    3. 根拠を示して説明する
  3. たとえ熱い想いがあっても伝える努力をしなければちっとも伝わらない

もっと技術的な記事になるかと思ったけど、意外な結果だったなと思います。もちろん技術も学びました。Pythonは不安なく書けるようになったし、機械学習も学びました。でも技術は前提として、致命的な問題によってそれが活かせてなかったのかもしれません。

BeProudコミュニケーションガイド

現在社内でライフスタイル・コミュニケーションを作成中です。まだ策定中のβ版ですが、リポジトリは公開されています: beproud-guide 。読んでみると結構この記事で書いたことと近いことが書かれていると思います。