Life is Game!

アメリカのミシガン州デトロイト郊外に移住しました。人生いろいろあるけれど、ゲームとしてやってみたら少しは面白くなるかも...

2019年の年間目標とその結果

こんにちは。MK42です。

 

年始に今年の目標をSNSに書いていたのですが、文字数制限があることをすっかり忘れていたので、こちらに移します。

 

作ったのは年間目標と月間目標です。

遠い目標を作って、そこに至るまでのステップを玄関目標に落とし込む形にしました。

1年先のことは分からないし、忙しい時期と暇な時期では使える時間が大きく変わるので、月間目標は月初めに決めることにしました。

 

どんな感じで進むか予想できませんが、とりあえずやってみます。

 

2019年の年間目標:アプリを1個作る

1月の目標:Progateで15レッスンやる → OK

2月の目標:15レッスンを3回リピートする → OK

3月の目標:Webスクレイピングを完成させる → OK

 

Windows10でUbuntu仮想環境を設定し、Python3でスクレイピングするまでの手順

こんにちは。MK42です。

 

まっさらなWindows10でUbuntuを入れてPython3でウェブをスクレイピングする手順が整理できました。

しばらく使ってると何んとなしに色んなものをインストールしてしまっているので、どんな構成になっているか自分で分からなくなってたりします。

それで一旦工場出荷状態まで復元して、それから手順を確認しながら以下のようにメモしました。

ウェブのスクレイピングというものにどれだけのニーズがあるかわかりませんが、自分の忘備録として残しておきます。

----------------------------------------------------------------------------------

 

 

  • PowerShell を管理者として以下を実行
  • mkdir $env:userprofile\vagrant\ubuntu64_16
  • cd $env:userprofile\vagrant\ubuntu64_16

 

 

 

  • 以下で仮想的な PC 上にインストールされた Ubuntu を起動
  • vagrant up

 

  • 以下で構築した Ubuntu 環境に接続するための情報を表示
  • vagrant ssh-config

 

  • RLogin をインストール
  • RLogin を起動し、以下に設定
  • エントリー : vagrant
    プロトコル : ssh
    ホスト名(サーバー IP アドレス): localhost
    TCP ポート : 先ほど表示されていた 2222 や 2200 などのポート番号
    ログインユーザー名 : 先ほど表示されていた ubuntuvagrant などのユーザ名
    SSH 認証鍵 : %USERPROFILE%\vagrant\ubuntu64_16\.vagrant\machines\default\virtualbox\private_key
    デフォルト文字セット : UTF-8
  • 「開く」「OK」「接続する」をクリック

 

  • RLogin 上で以下を実行し Ubuntu に Python3 と pip をインストール
  • sudo apt install python3
  • sudo apt install python3-pip

 

  • 以下で作業フォルダーを作成
  • cd $env:userprofile\vagrant\ubuntu64_16
  • mkdir workspace

 

  • 以下を実行し、Vagrantfile が置いてあるフォルダの workspace フォルダを、 Ubuntu 内の workspace ディレクトリとの間で同期するよう設定
  • VS Codeで以下を開き編集
  • %USERPROFILE%\vagrant\ubuntu64_16\Vagrantfile
  • # -*- mode: ruby -*-
    # vi: set ft=ruby :
    # All Vagrant configuration is done below. The "2" in Vagrant.configure
    # configures the configuration version (we support older styles for
    # backwards compatibility). Please don't change it unless you know what
    # you're doing.
    Vagrant.configure(2) do |config|
    # The most common configuration options are documented and commented below.
    # For a complete reference, please see the online documentation at
    # https://docs.vagrantup.com.
    # Every Vagrant development environment requires a box. You can search for
    # boxes at https://atlas.hashicorp.com/search.
    config.vm.box = "vagrant/xenial64"
    # Disable automatic box update checking. If you disable this, then
    # boxes will only be checked for updates when the user runs
    # `vagrant box outdated`. This is not recommended.
    # config.vm.box_check_update = false
    # Create a forwarded port mapping which allows access to a specific port
    # within the machine from a port on the host machine. In the example below,
    # accessing "localhost:8080" will access port 80 on the guest machine.
    # config.vm.network "forwarded_port", guest: 80, host: 8080
    # Create a private network, which allows host-only access to the machine
    # using a specific IP.
    # config.vm.network "private_network", ip: "192.168.33.10"
    # Create a public network, which generally matched to bridged network.
    # Bridged networks make the machine appear as another physical device on
    # your network.
    # config.vm.network "public_network"
    # Share an additional folder to the guest VM. The first argument is
    # the path on the host to the actual folder. The second argument is
    # the path on the guest to mount the folder. And the optional third
    # argument is a set of non-required options.
    # config.vm.synced_folder "../data", "/vagrant_data"
    config.vm.synced_folder "./workspace", "/home/vagrant/workspace"
    config.vm.provider :virtualbox do |vb|
    vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate//home/vagrant/workspace","1"]
    end
    # Provider-specific configuration so you can fine-tune various
    # backing providers for Vagrant. These expose provider-specific options.
    # Example for VirtualBox:
    #
    config.vm.provider "virtualbox" do |vb|
    # # Display the VirtualBox GUI when booting the machine
    # vb.gui = true
    #
    # # Customize the amount of memory on the VM:
    vb.memory = "1024"
    end
    #
    # View the documentation for the provider you are using for more
    # information on available options.
    # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
    # such as FTP and Heroku are also available. See the documentation at
    # https://docs.vagrantup.com/v2/push/atlas.html for more information.
    # config.push.define "atlas" do |push|
    # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
    # end
    # Enable provisioning with a shell script. Additional provisioners such as
    # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
    # documentation for more information about their specific syntax and use.
    # config.vm.provision "shell", inline: <<-SHELL
    # sudo apt-get update
    # sudo apt-get install -y apache2
    # SHELL
    end
  • Vagrant を再起動
  • 以下を実行
  • fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
    cd $env:userprofile\vagrant\ubuntu64_16
    vagrant reload --provision

 

  • RLoginで以下を実行
  • vagrant@ubuntu-xenial:~$ cd ~
  • vagrant@ubuntu-xenial:~$ mkdir workspace/
  • vagrant@ubuntu-xenial:~$ cd workspace
  • VS Codeで以下のフォルダを指定
  • C:\Users\masah\vagrant\ubuntu64_16\workspace
  • wokspace フォルダ内になにかファイルを作り、RLoginとVS Code間で共有されているかを確認

 

  • 以下を RLoginで実行し pip と bs4 をインストール
  • vagrant@ubuntu-xenial:~$ sudo apt-get update
  • vagrant@ubuntu-xenial:~$ sudo apt install python3-pip
  • vagrant@ubuntu-xenial:~$ pip3 install bs4

 

----------------------------------------------------------------------

以上

Windows10でUbuntu仮想環境を設定し、Python3とBeautifulSoupをインストールするまでの手順

こんにちは。MK42です。

 

ここ数ヶ月プログラミングをやっているのですが、この分野は日進月歩ですね。

プロが書いた本の内容が一部古くなっていたので、自分で調べた部分をメモしておきます。

 

独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

 

問題となるのは、18章の「パッケージ管理」(UbuntuPythonのインストール)と、第20章の「知識をまとめる」(BeautifulSoupのインストール)。

UbuntuはWindows10だとMicrosoft Storeからインストールできる、と紹介されているのですが、その方法だとUbuntuに入っているのがPython2でPython3ではなく、バージョンが古い。

Python2と3だとやり方が少し異なってくるので、UbuntuにPython3をインストールしてBeautifulSoupをインストールする方法までを書きます。

 

Windows10でPython3.7.2をインストール。

Microsoft StoreからUbuntsuをインストール。

Ubuntsuを起動して以下を実行。

sudo apt-get install git

sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev zlib1g-dev libsqlite3-dev tk-dev libssl-dev openssl libbz2-dev libreadline-dev

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile

echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile

echo 'eval "$(pyenv init -)"' >> ~/.profile

source ~/.profile

pyenv install 3.7.2

ここまででPython3.7.2をインストール。

 

ここからはデフォルト設定をPython2.7からPython3.7.2に変更。

$ pyenv global 3.7.2

$ pyenv local 3.7.2

$ pyenv global system 3.7.2

$ sudo rm /usr/bin/python

$ sudo ln -s /usr/bin/python3.7.2 /usr/bin/python

$ ls -l /usr/bin/python

-> lrwxrwxrwx 1 root root 20 Feb 18 22:00 /usr/bin/python -> /usr/bin/python3.7.2

 

Python3のpipをインストール

$ sudo apt-get install python3-pip

 

Python3のBeautifulSoupをインストール

$ pip install beautifulsoup4==4.6.0

 

 

 

2018年のベストバイはWH-1000XM2

こんにちは。MK42です。

 

他の人のブログを読んでたら結構2018年買ってよかったものについて書いてるのを見かけたので、私も書いてみます。

 

私が買って一番良かったのは、これです。

私は眠りが浅いようで、物音がしたらすぐに目が覚めてしまいます。

マンションで隣どころか2つ隣で飲み会やってても音が気になってなかなか眠れないくらいです。

あと飛行機では音がありますし人が動いているので熟睡できません。

耳栓もいろいろ試しましたが、満足するものはありませんでした。

 

そこで試してみたのが、このノイズキャンセリングヘッドホンです。

これは素晴らしい性能です!

ヘッドホンとしての防音性はもちろんありますが、起動すると外からの音を更に遮断します。

何をどうしたら防音性が高まるのか分からない謎機能ですが、性能はバツグンです。

 

近所で工事があったときも使ってみたのですが、このヘッドホンで防音をして音楽を流し、しかも耳栓を使ってみるとほぼ聞こえなくなったのには感動しました。

(このヘッドホンにはBluetoothがあり、PCやスマホを通して音楽を流せます)

 

家族がテレビを見ていても、これがあると全然気にならずブログ書いたりプログラミングやったりできます。

自分が学生のときにこれあったらな~と思います。

周りの騒音を全く気にせず勉強できたのに...

テクノロジーの進化は素晴らしいですね。

 

このヘッドホンのシリーズは、最新版は「WH-1000XM3」が出ています。

買うのであればそちらの方がいいです。

装着性が向上されていて、長時間装着していても疲れにくくなっているそうです。

私はeBayで半額になっているのを見つけたのでXM2を買いましたが、今のが壊れたら迷わず最新版を買うつもりです。

 

すべきことはあるけど集中できない、という人にこのヘッドホンはおすすめです。

 

 

「日本人」はもういらないかも

こんにちは。MK42です。

 

冬休み中、今後のことを少し考えてました。

ずっと米国に住むのか、などなど。

そんなときにこんな記事を見つけました。

www.garbagenews.net

 

まず各国のGDP推移ですが、アメリカと中国が圧倒的です。

http://www.garbagenews.com/img17/gn-20171231-09.gif

日本はバブル崩壊以降ほぼ変わっておらず、伸びてる他国と比較すると実質悪くなっていますね。

国民一人あたりのGDP推移も同じ傾向で、アメリカは上昇しているが日本は実質悪くなっています。

http://www.garbagenews.com/img17/gn-20171231-13.gif

 

こういう、とても希望が持てない未来予想図を見ると、ちょっと考えてしまいますね。

日本国籍と米国国籍とどちらのほうがいいのか、と。

 

日本人としてアメリカで永住権を持って住むのはいいのですが、外国人として滞在している間は、やはりアメリカ市民と比べると受けられる公共サポートに不安があります。

あまり詳しくは聞かなかったのですが、前にアメリカで会計士をやってる友人に聞いた時、今後は外国人の経済サポート(401Kなど)は市民と比べると下がっていくと予想していました。

 

日本は今後経済力が落ちてくるので、税金でやっているようなサービス(医療、保険、治安維持、その他の生活インフラ)は手が回らなくなっていくでしょう。

それらの維持はアメリカでも困難なのですが、であればGDPが高く底力があるアメリカのほうがまだマシかなと思います。

 

しかも友人が日本の外務省に問い合わせて確認した限りでは、「元日本人の帰化」は思っていたより簡単なのだそうです。

元日本人の帰化というのは以下の流れです。

もう少し細かく書くとこうなります。

  • 日本人 → 外国籍を取得、日本国籍の喪失 → 在留資格「日本人の配偶者等」の取得で在留可(住民票、就労可) → 住民票1年以上で永住権取得 → 日本国籍の再取得(帰化)

この日本国籍の再取得が難しいと思っていたのですが、前に日本国籍を持っている人は再取得が幾分楽なのだそうです。

 

参考:

http://elaws.e-gov.go.jp/search/elawsSearch/elaws_search/lsg0500/detail?lawId=356M50000010054_20180706_430M60000010019&openerCode=1

 

日本国籍を喪失しても自分の記録が一切なくなるのではなく、戸籍の自分の名前に斜線が引かれるが名前が消されません。

戸籍法により、戸籍の情報は150年ほど保管しないといけないのだそうです。

なので日本人から外国人になっても、自分が元日本人であることは確認できるのです。

その情報があると、国籍取得の審査が短縮されたり在留許可証がすぐに取得できるなどのメリットがでてきます。

 

在留許可証を取ると、今度は就労ができるようになります。

そして住民票を3ヶ月以上持っていると国民健康保険に加入できるようになり、1年以上で今度は永住権を取得できるようになります。

 

日本国籍なくても元日本人は就労できるようになるまでのプロセスが楽なので、グリーンカード取ったときの手間を考えると、日本人辞めてアメリカ人になり、アメリカと日本の両方で就労&居住できるようになった方が選択が広がるかな、と思います。

 

ただ躊躇う理由としては、英語があまり喋れないのにアメリカ人になっていいのか...という点です。

英語コミュニケーションに不自由なアメリカ人なんてゴロゴロいるのであまり気にしなくていい、とは思いますが(笑)

 

 

 

 

CBDでもっと不幸を減りそうだけど、どうする日本人?

こんにちは。MK42です。

 

日本では禁止されていますが、いま世界的には合法化に進んでいるものをご存知でしょうか?

それは大麻です。

大麻は日本にもあり、特に栃木県に多いそうです。

昔から麻の繊維を使い、ロープとか敷物とか衣類とかを作っていたり、神道の儀式にも使うくらい馴染みがあるものでした。

しかし使い方によっては覚醒作用があるため、戦後禁止となりました。

 

他の国もしばらくは禁止していたのですが、近年になって様々な薬効があることが分かり、解禁する国が増大しています。

国によって様々な条件がありますが、例えばアメリカ・スペイン・ポルトガル・ドイツ・チェコデンマークウルグアイ・アルゼンチン・チリなどでは一部または完全に合法となっています。

それらの国では鎮痛剤や抗うつ剤などの研究が進められています。

 

また「幸せの国」と呼ばれているブータンでは秋に農作物の収穫が終わると稲わら等と麻を一緒に燃やして焼き畑を行い、麻の煙を吸ってハッピーになる、なんてことをしているそうです。

一種の収穫祭なのでしょうね(笑)

 

日本では大麻というと麻薬というイメージしかありませんが、大麻の成分には大きく分けて2つあり、1つは覚醒作用があるTHCともう1つは鎮静作用があるCBDというものがあります。

ザックリ言うと、THCが含まれているものが娯楽用大麻で、THCがないものは医療用大麻となります(厳密にはTHC含有量が0.3%以上か以下かで区分)。

 

大麻はアルコールより安全だし、タバコほどの中毒性もないとの研究結果がでています。

www.independent.co.uk

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4311234/bin/srep08126-f1.jpg

(↑ どれだけ摂取すれば害になるかを示した図。アルコール・ヘロイン・コカイン・ニコチンと続き、THCが一番安全性が高いことを示す)

 

大麻について研究が進むにつれ、思ってたほどの中毒性がないことと、様々な薬効が分かってきました。

私が見つけただけでもこんなにあります。

どれも定期的に薬を使わないといけないタイプの病気ですね。

大麻(CBD)は中毒性が低いので、定期的に使っても副作用に悩まされないのが利点です。

 

長らく大麻を非合法化していたアメリカも、ついに2018年12月20日にファームビルと言われる連邦農業政策法案を可決しました。

国レベルで完全に合法化されるまであと一歩となりました。

これをパスすると、いよいよ大企業が資本力にものを云わせた大麻製品の研究開発に乗り出すでしょう。

 

日本の法律では、大麻の茎と種のみを使った製品については合法で使用できます。

(七味唐辛子には大麻の種が入っています)

大麻取締法    第一章 第一条 

この法律で「大麻」とは、大麻草(カンナビス・サティバ・エル)及びその製品をいう。ただし、大麻草の成熟した茎及びその製品(樹脂を除く。)並びに大麻草の種子及びその製品を除く。

アメリカでは薬局やスーパーで茎や種のみを使ったCBD製品をふつうに買えます。

 

しかし日本国内での大麻を使った薬の大規模生産となるとまだ何年もかかりそうなので、その間に海外勢がいい薬をガンガン開発するでしょう。

そして輸入した薬を日本人が割高で買い、日本のお金が海外に流れる、という図式ができるのではないかと、少し心配です。

 

日本はこれからさらに高齢化が進むので慢性疼痛を持った人などは増えると思うのですが、苦痛を防げるいい薬の入手が遅くなるのは不幸なことではないでしょうか。

日本人は幸せになることをあまり重要視していないのかな?と思う今日このごろです。

 

 

 

 

 

 

2019年の年間目標とその結果

こんにちは。MK42です。

 

年始に今年の目標をSNSに書いていたのですが、文字数制限があることをすっかり忘れていたので、こちらに移します。

 

作ったのは年間目標と月間目標です。

遠い目標を作って、そこに至るまでのステップを玄関目標に落とし込む形にしました。

1年先のことは分からないし、忙しい時期と暇な時期では使える時間が大きく変わるので、月間目標は月初めに決めることにしました。

 

どんな感じで進むか予想できませんが、とりあえずやってみます。

 

2019年の年間目標:アプリを1個作る

1月の目標:Progateで15レッスンやる → OK

2月の目標:15レッスンを3回リピートする → OK

3月の目標:Webスクレイピングを完成させる → OK

 

日本文化の輸出には、まず魔改造から

あけましておめでとうございます。MK42です。

 

アメリカ生活、6ヶ月保ちました。

最初は就職できるかな~と思いましたが、何とかなりました。

この記事によるとアメリカの失業率は1969年以来最低の水準で、700万の職が埋まっていないそうです。

不況を経験していないミレニアル世代とZ世代、雇用主に求めるものとは? | BUSINESS INSIDER JAPAN

どうやらいいタイミングで渡米したようです。

 

時間的にも金銭的にも少し余裕があるので、文化的な催しとかにも気が向いたら参加するようにしています。

しばらく前ですが、高校で日本のお祭りをやっていたので行ってきました。

 

アメリカで改めて茶道を見て思ったのですが、日本伝統文化は分かりにくいですね。

茶道は主人側も客側も作法や所作が細かく決まっていますが、その予備知識がないと何をやっているのか全く理解できません。

「なぜあの人はクルクルと茶碗を回してるの?」

「なぜあの人は布巾を三角に折ってるの?」

「なぜ誰もお茶の前に菓子を食べないの?」

とか、外国人から見ると謎だらけだと思います。

楽しむのに予備知識や詳細な説明が必要なので、何がいいのか分からない。

理解できないので、体験しようという気にならない。

体験してもらうハードルが異様に高いわけです。

 

アメリカのような外国で日本文化の予備知識がない人たちに体験してもらいたいなら、例えばハリウッド映画のように、予備知識なしで楽しめるけど知ってるともっと楽しめるという形に魔改造していくといいと思います。

おそらく生粋の日本人、特にすでに日本文化の造詣が深い人には批判されると思いますが、それはそれとして日本文化の精神的によい部分を、知らない人に分かりやすい形で輸出する必要があります。

でないと、意味不明なことをやっている謎の集団でしかありません(笑)


逆に外国文化を例に挙げるなら、大半の日本人には馴染みがないアメリカのコンテンツというとキリスト教がありますが、クリスマスやサンクスギビングなどの祝日に教会でキリスト教のストーリーをドラマ仕立ての演劇にしたり、子供でもビジュアル的に楽しめるようにしています。

 

ビジュアル的に楽しみやすいという点では、日本には漫画という優秀なコンテンツがあるので、そこからもいろいろと学べると思います。

 

日本文化の茶道とかも、そういう風に誰にでも楽しめるよう魔改造できるといいなと思います。

茶道の師匠さんとかに勇気があれば。

特に Cool Japan が盛大に失敗している現状では(笑)