ベルリンに引っ越しました。

ベルリンへ引っ越してきて一ヶ月と少し経ちました。

直接会った方には話したものの、報告出来ていなかったのですが、先日やっと3年間のフリーランスビザが出たので報告です。

9月から一家3人、私、妻、息子(1歳)でベルリンに引っ越してきました。一ヶ月くらいドタバタでしたが、やっと生活のサイクルが出来てきてほっとしております。これからやってくる寒い冬と長い夜にめげなければ、しばらくベルリンで生活をしてみようと思います。

なぜ海外に?

理由はいくつかありますが、

フリーランスは転職出来ない

2014年に面白法人カヤックから独立してフリーランスになり、4年目に突入しました。最初の年は生きていくのに精一杯だったのですが、4年も経つと慣れてきて、流れがわかってくる。もちろんプロジェクトの度に日々成長はあるものの。最初の年に比べ鈍化を感じました。あー次の目標を立てて自分にストレスをかけようと。会社員の場合は、転職がこれに値するかもしれません。フリーランスの場合はもう転職出来ないので…どうしようか?と考えたときに海外に行こうと。

また、元カヤックの@shu223さんを始め、海外で活躍する人が身近にいて情報を発信してくれていて。海外で働くことに関して、漠然としていたものから、現実的なビジョンを持てるようになったことも大きいと思います。

地方に移住との比較

日本では東京都世田谷区に住んでいました。
妻のブログにあるように、保育園に入れず、保育園の空きがある地方への移住オプションを検討。でも地方に移住してフルリモートワークにするなら、もっと遠くでも良いのでは。と考えました。

dual.nikkei.co.jp

補足としては、ベルリンは移民が増え、東京と同じような保育園事情です。現在こちらでベビーシッター+保育園探しをしています。


他の理由は飲み会のときにでも聞いてください。

なぜベルリンに?

プログラマーは海外勤務の転職のオファーももらうと思います。私は仕事の内容に惹かれるものがなく。いくら海外で挑戦したいと言っても、面白くない仕事をしてまで行きたくはありませんでした。今のフリーランスとしての仕事も素敵なものが多かったので。同じように働ける場所を考えました。 ベルリンは、他の都市にくらべ、フリーランス・特にアーティストのビザが出やすいようです。
(最近は移民が増え、以前よりは厳しくなったらしいです)

  • 同じ業種の仕事がある

元々、音大卒→美大大学院卒→プログラマーという経歴です。アートやデザインに近いインタラクティブデザインをしています。狭いジャンルの仕事なので、同じ業種で世界規模で活動しているチームが多いということも重要でした。

Rhizomatiks真鍋大度さんの公表している「List of interactive design companies/studios」は参考になりました。 docs.google.com

  • 生活費が現在と同水準でいける

当面は日本のリモートワークもやりつつ、現地での仕事も探そうとしています。そう考えると、日本の倍以上稼がなくては行けない場所ではリスクが高く、同程度の生活費でいける場所が良いと思いました。
以下は70㎡あたりの家賃のマップです。東京都心部と同水準でしょうか。ニューヨーク、パリ、ロンドンなどに比べると安いです。実際、ベルリンでは世田谷区の家より少し安い位の家に住んでいます。

https://www.immobilienscout24.de/content/dam/is24/ibw/dokumente/mietmap-berlin-2017.jpg Miet-Map Berlin - Der Mietpreisfahrplan für die Hauptstadt

dot by dot in Berlin

フリーランスであると同時に、クリエイティブチーム dot by dot inc.の一員でもあります。

dot by dot inc.

数人からdot辞めるの?と質問をもらいましたが辞めません。dot by dotもすでに2人が大阪からのリモート。 またニューヨークを拠点とするPARTY NEW YORKとのアライアンスパートナーで、同じSlack上でニューヨークとつながったりして。リモートワークに慣れていることも後押ししてくれました。実際、代表の富永さんに相談したときも即答で良いねと返事をもらいました。

おわりに

子連れで海外なんてすごい勇気だなー。ともコメントもらいましたが、妻と子供が楽しく生活できること優先で、駄目だったら帰ってこようと思います。失敗したときにちゃんとリカバリーできるようにしておけば、ある程度のリスクは許容できるかなと。WEBでの海外移住情報は、失敗体験が書かれることが少ないので。駄目だったらその時のこともブログに書こうと思います。

この移住にあたり、私の周りの人達はみんな応援してくれて。今年は本当に多くの人に頼って助けてもらってきました。ありがとうございました。

今後、私も何かしら助けられることがあれば、やっていきたいなという気持ちです。

Google Chromeのハードウェア連携機能

IoT(もう古いかな)のような仕事をしていると、たまにWindows7でしか動かないドライバなどを頂いたりします。良いものを作る時にクリエイターが実機でトライアンドエラーを繰り返す回数が重要だと思っていて。私の周辺のデザイナー/音楽家はまだまだmacOS率高いです。かといって専用アプリをmacOS/Windows両方開発するのはコストがかかります。最近だとElectronで作ることも増えてきましたね。

そんなときの一つの選択肢として使えるのが、Google Chrome。最近のChromeはハードウェア連携機能が増えていて、ネイティブアプリを作る必要が減っています。Chromeでも使える選択肢をまとめてみました。

Web Bluetooth API

BLE開発をしていると皆一度は悩む、非同期APIの多さ。iOSのCoreBluetoothなんかは古いAPI設計なっていて、ライブラリなしに使おうとするとコールバック関数 地獄になること請け合いです。
httpsが必須になりますが、BLEが普通のWebサイトから使えるようです。 JavaScript版では、すべてPromiseを返すようになっていて、CoreBluetoothと比べると驚くほどシンプルなコードになります。まだ安定性と言う面ではCoreBluetoothに軍配が上がりますが。プロトタイプ開発ではChromeでささっとBLE接続できたりします。

https://i.gyazo.com/143872ec3ad93b319ad7a5a3bd4a5717.png Can I use... Support tables for HTML5, CSS3, etc

ics.media

chrome://flagsからBLE Advertising in Chrome Appsの設定で、アドバタイズもできるようになるみたい。未検証。

Web MIDI API

MIDIコントローラーがwebに繋がります。Webアプリを作る時にコントローラーを足したい。や、WebでVJがしたい!ってときに便利。

https://i.gyazo.com/db7047aaf76950307d6291c01a818806.png
Can I use... Support tables for HTML5, CSS3, etc

html5experts.jp

WebUSB API

USB機器のドライバーも作れます。専用のドライバをダウンロードすること無く、機器とつなげます。
ICカードリーダー連携。USBメモリの中身をみる。などなど様々なことができるようです。
これについては私自身まだ使ったことはありませんが。。

Webカメラなどと同じアラート一つで、USB連携できちゃうの結構怖いですね。

https://i.gyazo.com/d5f4534ed9a20b02a1c05c709d7aed92.png
Can I use... Support tables for HTML5, CSS3, etc

speakerdeck.com

Serial Extension

Chrome extensionが必要になりますが、シリアルポート接続ができます。シリアルポート接続が必要なデバイスもよくよくでて来るのですが。専用アプリを作らず、Chrome extensionを入れるだけで(あとドライバ)使えるようになるのはうれしいですね。

kimizuka.hatenablog.com


以上です。調べてみると、普段使っているハードウェア連携機能の多くがChromeでもできますね、これ。 今後、開発用のデバッグアプリは、Webで作ることが増えそうです。

OpenCV 3.4.0 with contrib ビルドのメモ。(Windows編)

ビルド済みの普通のOpenCVpythonでも使いたい!って場合は、Anacondaで神のサイトからwflをダウンロードが時短できておすすめ。

私の用にOpenCV自前ビルドやりたくないけど、、CUDA入りdll作りたいしって人達の参考になれば。

ツールのダウンロード

以下の環境でビルド
- Windows 10 - GPU GTX 1070 - Visual Studio 2015 - CUDA v9.1 - CMake 3.9.6


Visual Studio 2015
一番最近の2017パッチはまだ対応していないという情報があったので、一応Visual Studio 2015 Communityでビルド。 CMake-GUIで以下のエラーが出た場合は、c++環境がセットアップされていないので、

    The CXX compiler identification is unknown
    The C compiler identification is unknown

Qiitaを参考にc++ツールをダウンロード


CUDA
CUDAをインストールする。最新版v9.1で試す


CMake
CMakeをダウンロード 最新3.9.6を使った


OpenCV
OpenCV 3.4.0 OpenCV contlib 3.4.0アーカイブをダウンロードして展開する


CMake GUI設定

CMake-GUIを起動。Visual Studio 2015 64bitを選ぶ。 デフォルトのオプションから変更必要な部分。

  1. Where is the source codeOpenCV本体のフォルダを指定
  2. Where to build the binariesに書き出しフォルダ、build (何でもいい)を指定する
  3. OPENCV_EXTRA_MODULES_PATHにcontrib/modulesのパスを指定
  4. CUDA_TOOLKIT_ROOT_DIRのパスが設定されているか確認。NOT-FOUNDになってたりする。 私の環境はこちらC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.1
  5. CUDA_ARCH_BINは、使うものだけにするとビルドが早くなる。CUDAのビルドはすっごい時間かかるので他の環境で使わない場合は、使うものだけを設定するのが良いかと。自分の使っているGPUアーキテクチャこちらで確認できる(リンク見るためにはNVIDIAログイン必要). GTX1070, GTX1080なら、6.1だけでいい。
  6. 多分以下のようなエラーがでるので。StackOverFlowを参考にCUDA_HOST_COMPILERを設定しなおす。簡単に言うとcl.exeのパスを設定する。 CMake Error at cuda_compile_generated_gpu_mat.cu.obj.cmake:206 (message): D:------/core/CMakeFiles/cuda_compile.dir/src/cuda/Debug/cuda_compile_generated_gpu_mat.cu.obj 設定するパスは私の場合はこちら C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe CUDA関連設定
  7. tuple errorが出るので、(参考) BUILD_PREF_TEST : OFF にした
  8. Open Projectボタン → Visual Studio 開く→INSTALLを実行 →結構待つ

これで恐らくビルドできるので、インストールしたファイルを使いやすいところにコピーして、環境変数設定をする。今回はC:\Program Files\OpenCV\3.4.0 にインストールした。 (キャプチャは3.3.1だけど)

ちなみに、opencv_worldをビルドすると、すべてのdllが一つにまとまって楽だけど、ビルドが数時間かかるって、エラーでたときの辛さが増すので、小分けにするのがおすすめかも。


Visual Studioでの設定

OpenCVVisual Studio Projectでリンクする方法はこちらを参考Additional Include Directories, Additional Library Directories を設定する。

include folder linker directory

CESでラスベガスに行ってきてた話

先月2018年1月、気になっていたCESに初めて行ってきました。仕事です。SxSWのときも行ってきて色々感じたことがあったはずが、結局文章にせずにいて、勿体無いけど今更書くのもな~となったので、若干今更と言われようともCESのこと書こうかと。
家電業界の近い未来を占う!てな記事はプロのライターが沢山書いてくれているし。いけてる新製品紹介はTech Mediaがちゃんと書いてくれているので、もっとゆるーく感じたことを書いてみます。基本的に余談で構成されています。

http://www.imagawa.tokyo/entry/2018/01/11/080200->source


やっていたこと

今年は3つの展示に関わっていました。独立してからというもの毎年何かしら関わっていたけど行くのは初めて。

Panasonic

今回のメイン。Panasonicさんのスマートホーム展示ブースをQuantumさんと一緒に展示ブースをつくりました。Sands Hallで展示していました。もちろんコア技術はPanasonicさんのものだけど、展示のためのセンサーの値を受けて、表示系へアウトプットするためのプログラムとか基板とかの一部をお手伝いしてます。あとは、自動起動とか死活監視再起動などなど展示で必要になるもの。まあほぼSuperVisorを噛ませるだけですが…。
コア技術は自社で開発。毎回変わる表現寄りのプログラムを私のようなフリーランスが作るのは効率的だし。私も展示に特化した仕様書のない実装は好きなのでこういうことを頼んで頂けるのはありがたい限り。

ALPS

CEATEC JAPAN 2017で展示したハプティックリアクターのデモを再び。温度、振動、タッチセンサをすべて同時に制御してVR中のものを同期するというもの。振動の音ファイル録音、VRアプリ、モデリングとか表現まわりを雑多にお手伝いしていました。
アルプスの展示は、個室のブースでCESの喧騒とは離れた完全にBtoB狙いの構成。CES - Consumer Electronics Showというけれど、全然コンシューマ向けでは無くて、これだけの世界のビジネスマンが集まってるので、沢山展示以外の商談が行われているし、Meetupのほうが重要だったりするんだなあと。 余談だけど会場でタッチセンサーのDevKitをもらったので、あとで試してみようと思う。ドキュメントもGitHub上にあるらしい。結構遊べそう。アイディアは沢山あるけど時間がないタイプ。

NIDECブース

以前dot by dotで作ったMotorizeシリーズを展示していたらしいけど。LVCCのブースでは見つけられなかったなあ。違う場所でやっていたのかも。

【余談】 Scentee

関わってないけど、Scenteeさんブースで、過去作の鼻焼肉がパネルに乗ってた!

Scentee Machinaは24時間でkickstarter ファンディング成功したみたいですごい。 www.kickstarter.com


宿・移動の話

渡航を決めたのが12月。ぎりぎりになるとホテル高いし全然空いてないよと聞いていたのですが、Airbnbは大丈夫でした。一泊5000円もあるし。今回は4人でコンドミニアムというか別荘を借りれた。プール、ジャグジー付き。

【余談】ラスベガス中心部を少し離れると、地価もやすく、プール付きの家が沢山。値段も3000万とかみたい。東京でマンション買うより圧倒的に安いですわ。

そして一緒に行ったメンバーの一人が自炊好きで。初日の夜にスーパーで大量買い出し。朝飯はAirbnbで作り(作ってくれ)ました。最高か!

初日買い出しに行ったスーパーでは、すべてのサインが、英語・スペイン語併記。店員とお客のやり取りも半分以上スペイン語。地理的には近いわけではないけどメキシコの影響は大きいみたい。 そしてスーパーでは日本で言うキャベツの感覚で、サボテンが山積みにされている。

移動は大手ホテルからはシャトルバスが出ているけど、Airbnbの私たちは基本的にUber / Lyft でいきました。

値段は、Uber / Lyftほぼ同じだけど、Lyftの方が$1くらい安いことも多い感覚。普通のタクシーよりは圧倒的に安い。CESのいけてるビジネスマンたちは、会社の経費でますが、私は経費=自費なので、節約していきます。

また、英語が苦手な日本人にとって、アプリで行き先も設定すみ。支払いもアプリ内で完結。チップもアプリから払える。となりました。日本でも問題は多いかもしれないけど、オリンピックまでに導入できたほう使う側としては、英語できないタクシーより良いよな。実際使ってみると便利すぎて、既存のタクシーがかすれて見えました。Airbnbといいシェアリングエコノミー最高か。

ちなみにUber / Lyftはどこでも乗れるわけではなく、空港やホテルではTaxiの乗り降りエリアとは分かれたエリアで乗り降りすることが多いみたいです。Ride Share, Pickup area, Uber,などの看板のあるエリアがあるのでそこから乗ります。高級ホテルの中でもこのような看板がでて、ライドシェアはかなり浸透しているようにみえました。

【余談】ラスベガスの中心部はきらびやかだけど、Airbnbで移動するまでの自動車で15分以内のエリアでも、キャッシュローン屋の隣にウィスキー屋。その下にホームレスが寝てたり。な何度か光景を見かけました。貧富の差は激しい。


存在感の戦い

日本🇯🇵の存在感

結構言われていたように日本どこという存在感…。Sony Toyota Honda Panasonicなど大手企業はさすがの存在感がありましたが、スタートアップはブランディングはできていなかった。フランスのFrench Techは確かにイケテル感がありました。
でもSand Expoなどをちゃんと回って見ると色んなエリアに分散しているので気づきづらいが日本企業も結構頑張ってた!日本としてブランディングしてないだけで、日本はいけてるブースの率も高かった。

ただ物量の差は大きいと実感しました。South PlazaにあるJapan Techは、場所が、深圳の何百をいうブース超えた先の一番果てにある日本の十数のブースたち。日本が44マグナムで戦ってる間に、中国はマシンガンで撃ってくる…ぐらいの物量差。

完全にオリジナルなアイディアを探すのも難しく、去年話題になってた技術も、今年中国ブースで何件も出てる。みたいな。

スマートスピーカー🔊の存在感

話によると去年 一昨年はAlexa一色だったらしい。今年は広告の5割が"Hey, Google"かってくらいGoogle Homeが頑張っていた。というより焦っているのかな。街頭で効果測定アンケートをやっていた。

Hey, Googleと話しかけると、なんかグッズがもらえるガチャ。1時間まち。吉野家にならぶSoftbankユーザーみたいなことが起きていて、程度は違えど無料が好きなのは全国共通ですね。


テレビよりNetflix?

近所のスーパーで面白かったのは子供用の玩具コーナー。1押しがNetflixのキャラ。2番手マインクラフト。もはやTVアニメのキャラクターはいなかった。アメリカの子供はすでにテレビよりWebが第一のメディアになってるのかな。


展示方法

The World Firstと書いてあるものが多いけど、CESに世界初のものなんて無いってくらいコピーされる世界。翌年には類似製品がどんどんでてくる。正直、AIもVRもドローンもありすぎてどれが良いかわからなくなってくる。そんな中で展示の構成が良いと、本質では無いけどやはりふと目に止まります。職業柄そういうのは気になるので、良かった展示構成のメモ。

Sonyの展示。他の企業がギラギラ尖っている中、ソニーはブースを区切って、木目をみせて、独自の空間作ってた。

人間の展示。Netflixの新番組の宣伝なんだけれど、CESの会場で展示することで、ほんとに人工臓器てきなことなの?と一瞬思ってしまうような異質感が合った。

大日本印刷DNP電子ペーパー。マットな質感で完全に壁と錯覚しているところに、色が変わるとはっとする。

SAMSUNG LEDの壁の一部にモニターが混ざっている。途中はLED的な演出で、LEDの壁と同化しているけど、突然カラフルな映像を流すことではっとする。上と似たような効果。

Fordの壁一面LED。自動運転車がぽつんと置かれただだっ広いブースで、壁一面のLEDで、自動運転が普及した後の街のCGを流している。無機質・未来感な自動運転のブースが多い分、良かった。


その他の雑多なメモたち

  • SxSWもそうだったけど、Freemanの設営はこわい。設営中50cm横をフォークリフトで掠めてくるので、まじこわい。朝5時の築地市場と同じ感覚といえば伝わるだろうか…。
  • 潜水艦ドローンがデザイン可愛いものが多くて、とても好みでした。
  • 【余談】本、食事はそんなに感動しなかったのですが、カレー屋は最高に美味しかったのでカレーは世界共通。

asus4.hatenablog.com

同じネットワークにあるUnityアプリのタイムラインをマルチキャストで同期する

マルチキャストを使ってみたら、IPアドレスの設定必要なく、シンプルで便利でした。

同じネットワーク内で起動しているUnityアプリのタイムラインの時間をUDPで同期するサンプル。 一応ブロードキャストもサポートしてます。

gif

github.com


マルチキャストについてはこの記事が参考になりました。 www.infraexpert.com


複数台の端末同期は皆よくやる要件で

  • OSC
  • WebSocket
  • MTC
  • 音に信号埋め込んで同期 → これ*1

と何度もやっている気がする。 8年前の初めてoFでc++書きはじめたときから同じようなことやってますね…

マルチキャストはシンプルなので、ささっと使いたい時に便利かもかも。
(もっと厳しい要件のときには、ネットワークの遅延測ってとかやろうとおもいます)