人生100年!生涯エンジニア人生!

楽しいエンジニア人生!

その招待大丈夫ですか?Clubhouseに関する4つの懸念点を確認する(招待枠を使い切っても招待が勝手に発動する仕組みも解説)

話題のSNS Clubhouse

エンジニア界隈で流行り始めた話題のSNS、小嶋 陽菜さんや、サンプラザ中野くんなどもやっている話題のSNS、それがClubhouseです。

今はiPhoneアプリのみで、しかも、参加しているユーザーから招待されないと参加できないと言うプレミアムな体験でメルカリでも招待枠が売買される状況です。

www.itmedia.co.jp

Clubhouseには、これから述べる4つの懸念点があります。

  1. 招待方法の懸念
  2. 勝手に招待を送る疑惑
  3. 連絡先(電話帳)から電話番号をClubhouseにアップロード
  4. リアル世界に貴方の匿名がバレる

順に説明していきます。

※アプリ名は「連絡先」(contacts)で、連絡帳や電話帳ではないのです。

招待方法の懸念

ツイッターなどのSNSでは招待をほしがるツイートを多数見かけております。
気軽に招待することには懸念があります。
懸念を説明する前に招待方法を下に記載します。

  1. 招待には携帯電話の電話番号が必要です。
  2. 招待する電話番号を「連絡先」(電話帳)に追加する。
  3. Clubhouseから連絡先(電話帳)を呼んでSMSを送信する。
  4. 招待される側は受信したSMSから電話番号認証を行う。
  5. 招待される側はClubhouseが使用できるようになる。

このことから、見ず知らずの人を招待すると、招待を行った側の「電話番号」が知られてしまいます。
面倒なことになりたくないなら招待は知り合いだけにしましょう。

ツイッターなどでは、「女性アイコン」のみにリプライする人を多数見かけましたので、そういう人を見かけても放置推奨です。
見てて滑稽だったのは、招待依頼を求める対象が、男性の方なのですが「女性アイコン」にしている人にリプライをしているのを見かけております!

また「3000円ほどお支払い頂けたら優先的に招待します。」とか「フォロー&リツイートしていただいた方の中から抽選でClubhouse招待します!残り1000枠あります!」など、電話番号を搾取する目的のツイートも観測しております。
このようなツイートに絶対に関わってはいけません、カモにされるだけです。

勝手に招待を送る疑惑

それからClubhouseは勝手に招待SMSを送るんじゃないか?と疑惑があります。
その疑惑をひもといて行きましょう。

まず、Clubhouseはアカウント名を確保するという目的で、招待されていなくても、アプリを起動してアカウントまでは準備できます。
アカウントを準備するときは電話番号による認証が必要です。

ここで勘がはたらくの人なら気付きましたね。

Clubhouseは連絡先(電話帳)をアクセスするので、Clubhouseを使用している人の連絡先(電話帳)に、Clubhouseのアカウント名の確保をした人が居ると、その方を招待するアクションが発動します。
Clubhouseは数多くの通知があり、すべて英語なので多くの人は、この招待アクションを読まずにLet them inをタップしている可能性が高いです。

このアクションは招待枠を使い切っても発動します。

なお、私は、この通知を見ているのですが、スクショ取るの失敗しました・・・。

追記、知り合いの「なべくらさん」がスクショを取ってくれました。
このような通知で青いボタンをタップすると招待アクションが発動するようです。

f:id:hideaki_kawahara:20210130151525j:plain:w320

通知内容の英文は、こんな感じです。

○○ is on the waitlist to join Clubhouse. You will get credit on their profile for adding them, without using up an invite. Let them in?

適当に翻訳すると、こんな感じです。

○○はクラブハウスに入会するための順番待ちリストに載っています。 あなたは招待を使い切ることなく、それらを追加するために彼らのプロフィールにクレジットを得るでしょう。 それらを入れますか?

英文を読むと意味がわかりますね。

上記補足

勝手に招待を送るのは連絡先(電話帳)を連携すると発動しますが、常に発動するわけではないです。
連絡先(電話帳)は1日に1回アクセスしてきますが、2021年1月下旬はユーザーが激増しているため、アクセスに失敗しているのを確認しています。
2021年2月に入ってから安定し始めているっぽいです。

対処方法

勝手に招待を送る疑惑には対処方法があります。
連絡先(電話帳)はメンテンスしてない人が多いので、もう連絡を取っていない人を招待するのは嫌な人が多いと思います、連絡先(電話帳)から削除する方法もありますが、Clubhouseから連絡先(電話帳)のアクセスと停止すれば良いのです。

方法1 設定からClubhouseを選択して連絡先(電話帳)のアクセスを停止します。
f:id:hideaki_kawahara:20210130002052j:plain:w320

方法2 設定からプライバシーの連絡先(電話帳)を選択してClubhouseを停止します。
f:id:hideaki_kawahara:20210130002059j:plain:w320

設定が完了するとClubhouseから招待を選ぶとAuthorize contactsのポップアップが出ます。
Not nowをタップしておいてください。
f:id:hideaki_kawahara:20210130002106j:plain:w320

これで勝手に招待を送ることは無くなります。

逆に連絡先(電話帳)を、この逆のことを行うことで連携するので、招待ができない方は、この設定を見直してください。

連絡先(電話帳)から電話番号をClubhouseにアップロード

Clubhouseで招待を行うとき、数字を気にした方は居ますか?
↓この数字です。

f:id:hideaki_kawahara:20210130022219j:plain:w320

このリストの1番上の電話番号は某IT企業の代表番号です。

ここで勘がはたらくの人なら気付きましたね。(2回目)

答えは対象電話番号を連絡先(電話帳)に入れている人で、Clubhouseを利用している数です。
このことからClubhouseは電話番号をサーバーに送ります
対象の電話番号を送信した人が何人居るのかが、Clubhouse側にはわかるようになっています。
Clubhouseの招待は連絡先(電話帳)連携が必須なので、こういうのが嫌いな方はClubhouseは使うことを控えてください。

Clubhouseは複数アカウントでの利用を抑止するために、電話番号で招待という手法を取りました。
そして、そこから個人が所有する電話番号をアップロードすることにより、その個人の特性を判定しているかと思います。
ここから、マネタイズする方法がありますが、今回はここまでとしたいです。(いつか書きます)

リアル世界に貴方の匿名がバレる

Clubhouseで本名を使っていて、ツイッターのリンクなどを貼っていない人は関係ないです。
Clubhouseでツイッター名を使っていて、ツイッターのリンクを貼っている人はご注意ください。
理由説明します。

連絡先(電話帳)をClubhouseにアップロードするので、色々な通知が英文で流れてきます。
例えば、こんな通知です。

f:id:hideaki_kawahara:20210131153213j:plain:w320

通知内容の英文は、こんな感じです。

○○ just signend up for Clubhouse. Follow them.

雑に和訳するとこんな感じです。

○○はクラブハウスにサインアップしたばかりです。 それらに従う。

Clubhouseは連絡先(電話帳)をアップロードするので、自分が招待をしてない人でも、別の人が招待してClubhouseに入ることがあります。
そうすると、この通知が来るのですが、招待アクションは発動しませんが、気を付けないといけません。

青いボタンをタップするとフォローしてしまいますので、旧知の仲でも色々あって距離を置いて居る人とは、Clubhouseでつながりたいは思わないので、闇雲に青いボタンをタップのは気を付けましょう!

この通知が来たら、この人にはClubhouseを使用していることがバレている可能性が高いです
※電話番号を交換していても相手が電話番号を削除してたらバレていません。

フォローしていなくても、Clubhouseでのユーザー名ぐらいは確認するでしょうから、ここからツイッター名やツイッターアカウントがバレます
勝手にフォローした!と騒ぐ人が居ますが、フォローしたのは、これが原因です。

これについて対策方法は3つあります。

  1. Clubhouseでツイッター名を使用しない。
  2. Clubhouseでツイッターなどのリンクを貼らない。
  3. 別の電話番号を用意して、それからClubhouseアカウント名を作る。

まとめ

話題のSNS Clubhouseを楽しむために気を付けなければいけないことを書きました。
見ず知らずの人を招待することなどは、情報リテラシーとしては基本的なことですが、この熱狂で見落としがちなので気を付けていただきたいですね。

2021年2月1日現在は特に話題にはなっていませんが、連絡先(電話帳)のアップロードなどはBYOD(私的デバイスの持ち込み)では禁止になる可能性もあることを認識してClubhouseを楽しんでいきましょう。

f:id:hideaki_kawahara:20210201124110j:plain:w0

PythonからDockerコンテナを起動する。

docker-compose.ymlでも良いのですが・・・

Scrapyの技術同人誌を書いたとき、Dockerの起動はdocker-compose.ymlを書いて起動するようにしました。
kawahara-ci.hatenablog.com

これをPythonのDockerモジュールを使って起動する方法もあるよねと思いました。
pip install dockerをやってから早速やってみました。

コンテナの状態

プログラムからDockerのコンテナを起動するとき、コンテナは3つの状態が考えられます。

  1. 該当のコンテナが起動済み。
  2. 該当のコンテナがあるが起動してない。
  3. 該当コンテナが存在しない。

この3つの状態を理解して作っていきましょう。

コンテナが起動済み

docker.from_env()でDockerのオブジェクトを取得しておき、そのオブジェクトから、コンテナリスト(containers.list())を調べて、コンテナ名と一致していたら、コンテナが起動しているので、何もしないで終わります。

コンテナがあるが起動してない

コンテナリスト(containers.list())のデフォルトは起動しているコンテナを取得しますが、パラメータにall=Trueを追加するとすべての状態のコンテナリストを取得します。

最初に起動しているかを確認しているので、このときに取得できたコンテナリストとコンテナ名が一致したら、起動していないコンテナがあることになります。

そのときはcontainer.restart()でコンテナを再起動します。

コンテナが存在しない

最後は、コンテナが存在しない状態なのでcontainers.runでDockerイメージをpullしてコンテナを起動してしまいます。
なお、Dockerイメージが既にpull済みのときは、コンテナの起動だけをします。

containers.run('scrapinghub/splash', name='splash', ports={'8050/tcp': 8050}, detach=True)このような感じでコンテナを起動します。

ここで重要なのはnameパラメータです。
コンテナを起動するとき名前を設定しないと、Dockerは良きに計らえということで適当な名前を付けてしまいます。
そうなると、コンテナの存在を確認しにくいので、コンテナの名前を付けて起動するようにします。

完成形

以上のことを踏まえて作ると、以下のようになります。
3つの状態を判別してコンテナが起動できるようになりました。

import sys
import docker

container_name = 'splash'
client = docker.from_env()

container_exists = False
for container in client.containers.list():
    if container_name == container.name:
        container_exists = True
        print('Container is up.')

if container_exists == False:
    for container in client.containers.list(all=True):
        if container_name == container.name:
            container.restart()
            print('Container restartup.')
            sys.exit()

    container = client.containers.run('scrapinghub/splash', name=container_name, ports={'8050/tcp': 8050}, detach=True)
    print('Container startup.')

【妄想】Suicaなど交通系ICカードが駅の入場券になるために変更したこと

Suicaなど交通系ICカードが駅の入場券になる

Suicaなど交通系ICカードが、JR東日本 Suica エリア(首都圏・仙台圏・新潟圏)の当社各駅在来線改札内で開始します。

「タッチでエキナカ」2021 年3月13日(土)初電より開始!

https://www.jreast.co.jp/press/2020/20210119_ho02.pdf

Suicaなど交通系ICカードが入場券にしてほしい需要は昔から存在しており、ついに対応したことになります。

なぜ、ここまで時間がかかったのだろうか?と誰もが思いますよね?

会計規則が関係する話

自動改札は乗車券として徴収しているので、入場券のような雑収入として計上できないので、単なる会計上の問題だよねーと旅客規則大好きな人なら昔から認識してます。
そうなのです、Suicaなどの交通系ICカードで入場券扱いができないのは有名な話なのです!!

そして妄想ですが、今回の改修は入場時に収入扱いを未定にして、出場時に収入扱いを決めるという方法じゃないかと思います。
これなら、入場券の2時間ルールも対応できますね。

ちなみに、この会計規則上の問題について早速記事が出ておりました。

www.itmedia.co.jp

JR東日本では会計規則上、乗車券からの収入を「運輸収入」、入場券からの収入を「旅客雑収入」と区別している。

ここにある通り、会計規則の話が書いてあります。

新宿駅通り抜け

もう1つ面倒な事象があり、それが2020年7月19日(日)から無くなりました。

新宿駅のことです。

2020年7月18日(土)まで、JR新宿駅のJR中央東改札は京王線小田急線の新宿駅として機能し、通り抜けであるならば料金を徴収しないという扱いをしておりました。

この機能を実現するために、JR東日本のJR中央東改札から入場すると、初乗り運賃として運輸収入を徴収しますが、その後、京王線小田急線に入場すると、JR東日本から運輸収入を渡す処理にしていたと思われます。

ここに今回の交通系ICカードで入場券扱いができる機能にしてしまうと、JR新宿駅から入り、京王線小田急線に入場するときは、同じ駅なので入場券扱いなのですが、そこを運輸収入に切り替えての特例処理を入れる必要があります。
雑収入を私鉄他社に渡すことは契約上していないだろうし、会計上おかしくなると推測されるので、特例処理を入れるのは必須でしょう。

また、京王線小田急線から出場するときは、出場すると同時に、JR新宿駅に入場して、そのままJR新宿駅を出場することになり、同じ駅での入場出場となりますので、ここでも入場券として徴収したのを、運輸収入に切り替える特例処理を入れる必要があります。

このような、JR新宿駅だけに特例処理を入れるのは少々面倒なのではないかと推測されます。

ただ、2020年7月19日(日)から、JR新宿駅は通り抜けができなくなりましたので、この特例処理を入れる必要は無くなりました。

今回のSuicaなどの交通系ICカードでの入場券扱いが遅くなった要因の1つに、JR新宿駅の特殊なルールが影響していたのではないかと?妄想が広がります。

おまけの話、定期券のとき

おまけの話、定期券のときは、どのような扱いになるのか?その辺りが気になりますよね?

定期券?関係します?と思われると思いますが、意外と、このことは知られていませんが、定期券は乗車券の扱いなので、駅へ入場目的で入ることはできないのです。

エキナカを利用するだけで定期券で入場することはできません。

もう一度、JR東日本ニュースリリースを見てみましょう。

https://www.jreast.co.jp/press/2020/20210119_ho02.pdf

Suica 定期券区間内の駅および IC 企画券の有効区間内の駅では本サービスはご利用いただくことができません。

定期券の利用できないことが書いてありますね。

少々面倒ですが、定期券は下のような使い方をするしかないですね。
駅に入る→エキナカを利用する→列車を利用し移動する→別の駅で下車する。

そのままかもしれませんが、今後は定期券で同じ駅に入場してから出場すると、出場するときにエラーになることが予想されるので、この辺りはサービス開始時の2021年3月13日(土)に注目したいですね。

ふるさと納税でワンストップ特例制度の提出期限の話

結論

ワンストップ特例制度は1月10日が提出期限ですが、1月8日に気付いて間に合わないと思っても郵便局に持っていき速達などを利用して、1月10日までに間に合わせようとすれば、優しい自治体なら受理してくれるときがあります。

受理されないときもありますが、そこで怒らないでください、提出が遅いのが悪いと自覚しましょう。

説明

確定申告が不要になるワンストップ特例制度、これには提出期限があります。
ふるさと納税は決済した日時で納税する年が決まります。
例をあげると 2020年1月1日 0:00から2020年12月31日 23:59 までに決済したら、ワンストップ特例制度の申請書類は、2021年1月10日までに書類が自治体に到着した分までが有効になります。

そのため12月中旬頃から申請書類が間に合わない恐れがあるので、自治体によってはワンストップ特例制度の申請書類が送られてこない事があります。

12月中旬頃に、ふるさと納税のワンストップ特例制度を利用する人は、総務省のページから申請書類をダウンロードして印刷して提出しましょう!
https://www.soumu.go.jp/main_content/000397109.pdf

なお、郵送料金は自己負担で行いましょう。

間に合わないとき

1月10日必着できないときは、ワンストップ特例制度は使えなくなるので、確定申告をしてください。
間に合わなくても、自治体に文句言うのはやめましょう。

ギリギリなら速達郵便で申請書類を提出しましょう!

まとめ

  • 12月中旬頃からワンストップ特例制度の申請書類は郵送されてこないので、申請書類を印刷して、郵送料金を自己負担で提出する。
  • 1月10日に間に合わないなら確定申告をしましょう。
  • 1月10日の3日前ぐらいなら速達郵便で提出しましょう。

個人的には、この書類もオンラインでできるのがいちばん良いのですけどねー。

技術書典10新刊「PythonとScrapyを使ったWebスクレイピング実践編〜あのサイトをスクレイピングするまで!〜」のご紹介

技術書典10新刊

技術書典10に新刊を出しました、はい、2020年12月31日にです!

タイトルは「PythonとScrapyを使ったWebスクレイピング実践編〜あのサイトをスクレイピングするまで!〜」です。
techbookfest.org

え?迷惑メールのネタじゃないの?
たまには、違うのを出そうと思いましたので、Pythonの書籍です。

Pythonを使ったWebスクレイピングに関することです。

よろしくかったら是非ともお買い上げください。
それでは、みなさま良いお年をお迎えください。
そして、2021年はコロナが消滅している良い年であることを願っています。

更新内容

2020年12月31日4時半に審査依頼出しました、技術書典のスタッフの方、よろしくおねがいします。
2020年12月31日 10時半、販売開始しました!