react-nativeでiOSのビルドをするとmutex.hで'config.h' file not foundが出る
面白かった5分以内のTEDTalks
"I Am Not Your Asian Stereotype | Canwen Xu | TEDxBoise" https://www.youtube.com/watch?v=_pUtz75lNaw Asian-Americanとしての自分の民族的アイデンティティに関する問題を体験談を交えて話している。 "I'm proud of who I am" 自分もアジア人だから面白いと思った。
"My philosophy for a happy life | Sam Berns | TEDxMidAtlantic" https://www.youtube.com/watch?v=36m1o-tM05g プロジェリア症候群の17歳男子の生き様。
"How to learn any language in six months | Chris Lonsdale | TEDxLingnanUniversity" https://www.youtube.com/watch?v=d0yGdNEWdn0 5 Principales 1. 自分に関係する分野の言葉を学ぶ 2. 学ぶ言語を、一日目から道具として使う。最初からその言語でやりたいことをやる。 3. 一番初めにその言語のメッセージを理解するとき、無意識に言語を習得するだろう。(あんまり意味わからない) 4. 言語の習得は知識の積み重ねではなくて実践の積み重ねである。 5. 感情を大事にする。言ってることの全部を理解する必要はない。
7 Actions 1. たくさん聞く 2. まずは会話の意味を理解する。ボディーランゲージなどを使って。 3. 掛け算で考える。名詞を10こ、動詞を10こ学べば組み合わせで100単語になる。 4. コアに集中する。よく使われる単語を学ぶ。 5. その言語の先生を見つける。パートナーみたいな。 6. 顔の動きを真似する。 7. イメージを学ぶ
自己啓発に近いハウツースピーチ。ためにはなる。 「6ヶ月で新しい言語を話せるようになるか」がテーマ。話すことに重きを置いている。
"5 techniques to speak any language | Sid Efromovich | TEDxUpperEastSide" https://www.youtube.com/watch?v=-WLHr1_EVtQ 673万回再生 7ヶ国語話せるお兄さんがいかにして言語を身につけたかの5つのテクニック 1. 間違う。間違いを恐れない。 2. 外国のアルファベットを使わない。例えば英単語はカタカナで表記する。 3. stickersを見つける。メンター? 4. Shower conversation、シャワー中に空想の会話をする 5. 会話相手を見つける。
7ヶ国語と言っても、イタリア語フランス語ドイツ語スペイン語ギリシャ語ポルトガル語中国語と、文法が英語っぽいものばっかり。単語記憶ゲーでしょ。
"My escape from North Korea | Hyeonseo Lee" https://www.youtube.com/watch?v=PdxPCeWw75k 727万回再生 12分15秒 最初は自分の国が好きだった。異変に気づかなかった。でも飢饉の後おかしさに気づいて中国に亡命。その後韓国に住む。だがどの国も自分の誇れる国ではなかった。国民的アイデンティティがない。 外から北朝鮮の人々を支援していきたい。
勝ち気な感じの女の人。留学帰り女子みたいな雰囲気が出ている。 やっぱり最後はスタンディングオベーションですか!そうですよね!
「コンピューターがネットと出会ったら」の要約と感想
角川インターネット講座 (14) コンピューターがネットと出会ったら モノとモノがつながりあう世界へ
- 作者: 坂村健
- 出版社/メーカー: KADOKAWA/角川学芸出版
- 発売日: 2015/05/22
- メディア: 単行本
- この商品を含むブログ (1件) を見る
本書は現東洋大学情報連携学部長の坂村健氏が監修した本で、東京大学情報学環の越塚登氏と暦本純一氏、中尾彰宏氏を含め合計4人により執筆されています。
この4人は本書の執筆当時全員、東京大学学祭情報学環(更に言えば学際情報学府総合分析情報学コース)に属する先生です。坂村氏は定年のため東京大学を退職し、2017年から東洋大学で教授をしています。
本書は以下のような構成で成っています。
- 第一部: IoTを支える技術
- 融合するコンピューターとネットワーク
- 第4章: ネットにつながるモノ
- 第5章: モノとモノがつながる世界
さて、次は要約です。
序章: ネットワークにつながるとはどういうことか?
坂村健氏
コンピューターの流通量の9割を占める組み込み機器がインターネットと出会ったことがIoTの始まりで、実際に工場や電力の世界で使われていてコスト削減などの成果を挙げている。しかしこれらのIoTは「閉じた」IoTである。
IoTの社会化を実現するためにはデータをオープン化する必要があり、このインターネット的な「オープン」がこれからのIoTの課題となる。
これを解決するためには、各種人工知能技術やSDNなどのネットワーク技術、セキュリティなど関連する多様な技術の発達が必要である。さらに、IoTの最終目標は人間の生活を支援するものだから、新しいHMIやUXも研究されるだろう。
感想
IoT概観の章です。IoTを社会的に使用するにあたっては個人情報の取り扱いに関する問題が大きい、オープン化したいのにめんどくさいよね。ってことを言いたいのだと思う。
私もセンサーデータを収集する機会があり、その時壁になったのが個人情報の問題だったことを考えると頷ける。
いや、実際そんなに個人情報を収集されてそんなに嫌なのだろうか?Googleなんかめちゃくちゃ個人情報集めてるけどなんかみんな気にしないよね。
第1章: IoT時代のノード
越塚登氏
組み込みシステムの複雑化により、これを制御するためのリアルタイムOSが必要になった。このリアルタイムOSの発展の中1984年に東京大学の坂村健氏によりトロンプロジェクトが発足した。トロンプロジェクトとはリアルタイムOSであるTRONを開発するものであり、既存のリアルタイムOSとTRONの一番大きな違いはTRONがオープンアーキテクチャであることであった。
このTRONは、ネットワーク接続された機器が協調動作することで人間生活を支えるようなシステム、つまりユビキタス・コンピューティングの実現を目的として生まれた。
TRONの特徴は、決められた時間(デッドライン時間)内に素早く応答を返す性質である「リアルタイム性」を持っていることで、現在このリアルタイム性が要求される分野ではTRONが世界で最も多く利用されている。
実際にTRONは自動車や家電機器、コピー機などの事務機器、さらには人工衛星の「はやぶさ」にも利用されている。
感想
日本が誇る国産OSであるTRONの紹介をする章。TRONの素晴らしさって言うのはどんだけ利用例を挙げられても実際に組み込みの世界に飛び込まないと分かりにくいってところはある。
B向けは儲かるけど凄さが分かりにくい。
第2章: IoT時代のユーザーエクスペリエンス
暦本純一
コンピューターは開発当初、利用者との相互的なやりとりを想定していなかった。しかしコンピューターを知的増幅の道具として捉える考え方によりマウスなどのインターフェイスが生まれた。
さらにコンピューターはCUIからGUIへ進化した。GUIとはマウスを用いたグラフィック操作でコンピューターに操作支持を行うインタフェース方式である。GUIの特徴とは「直接操作」ができることで、現実世界のものを操作してその操作量が連続的にコンピューターに反映されるということである。
これらのインターフェイスの発達により直感的にコンピューターを操作できるようになった。そしてVR, ARという2つの新しいインターフェイスが生まれた。
VRは現実そのものではないのにも関わらず実質的に現実であるかのような世界を人工的に構築する技術一般を意味し、最も中心的な機能は視覚による3次元空間の提示であり両眼立体視の映像を提示するHMDが主に使用される。
ARは現実世界をコンピュータの情報で拡張、増強するもので、利用者の現実の視界にコンピューターからの情報がオーバレイされて見える。
感想
うまくまとまらなかった・・・
暦本研究室の取り組みで好きなのはパラリンピック出場選手の走幅跳の360度動画と、跳躍力を拡張するLunavityです。
理由は簡単で、私が高校大学で走幅跳をしていたからですw
一度Lunavityを体験してみたいものです。
暦本研究室のカッコいいロゴ、AIによる自動生成らしいですね。(下の記事の最初の画像)
第3章: IoT時代のネットワーク
中尾彰宏氏
IoTの発展によりインターネットに接続するデバイス数が増え、新しいネットワークの仕組みが必要になってきた。
このためにネットワークを柔軟に変更可能とする技術が生まれた。この技術がSDNとNFVである。
SDNはネットワークの制御をプログラム可能とするもので大規模なネットワークの場合管理コストを大幅に削減できる。
NFVは従来ハードウェアで構成されてきたネットワーク機器をソフトウェア化しサーバーの仮想マシン上で実装する手法であり機器をアップデートする費用などメンテナンス費用を削減できる。
これらの2つは現代の通信分野の最大の関心ごとであり、総務省が巨額の研究資金を出している。
更に、次のネットワークとしてCCNとICNがある。
CCNはコンテンツの名前に基づいてルーティングを行うアーキテクチャで、ICNはCCNの派生として研究されているものでルーティングがアドレスをベースとしたものとなっている。
感想
SDNやNFVはなんとなく知っていたけど、CCNとICNは初耳だしあまりよくわからなかった。今度まとめよう。
第4章: ネットにつながるモノ
越塚登氏
この章ではIoTの通信規格や各種装置とビッグデータの活用の具体例をあげる。
日本では2002年から坂村健氏をプロジェクトリーダーとしてあらゆるモノや場所の識別を可能とするID体系であるucodeを中心としたアーキテクチャを提唱し、世界に先駆けてIoTの研究開発を推進してきた。
ドイツでは産官学が連携した国家プロジェクトとしてIndustrie4.0プロジェクトを開始した。これはIoTに似たサイバーフィジカル技術を製造業の工場に適用するものである。
アメリカのIoTの動きは極めて盛んで、様々な標準化団体が存在する。
IoTではデバイスによる状況認識が最も重要で、特に人やモノの場所を特定する位置特定測位技術は様々な場面で必要とされる。この測位技術には、GPS, 無線通信の電波を用いたもの, ビーコンによるもの, タグを用いたもの, RFIDを用いたものなどがあり、基本的に三角測量を用いる。
現在のTRONプロジェクトの取り組みとしてμT-Kernel2.0を推進している。
μT2はIoTノードやM2Mノードのためのコンパクトな組み込みリアルタイムOSであり通信基盤としてIPv6を標準とし、6LoWPANを使うことができる。
IoTデバイスより収集されたデータは何らかのサービスに応用される。ここで多いのがヘルスケア分野である。
ビッグデータをうまく取り扱うためにあるのがNoSQLデータベース技術で、スケーラブルで分散化可能なシステムに適している。
感想
越塚さんは本当に技術屋って感じ。
可視光通信というのをここで初めて知ったけど、すごい。目から鱗って感じの技術だ。2010年に発表された技術だから、結構古いな。
第5章: モノとモノがつながる世界
坂村健氏
IoTが社会的に機能するためには、機器・設備の制御APIのオープン化が重要である。
坂村氏のIoT分野の実証実験、実用化の例として食品トレーサビリティを挙げる。これは、モノの場所を追跡するトレーサビリティ関連で一番私たちに馴染みのある応用で、何か事故が起きた時に問題の所在がはっきり分かるようになる。
IoTとは、世界の組み込みシステム化のことであり、これは人間の入力や調整なしに世界全体が自動的に状況を判断し最適な制御を計算し様々な社会プロセスを実行することを意味する。
これを実現するために、従来はデータストリームの量が問題であった。しかしビッグデータ解析技術とクラウド処理プラットフォームの進歩により、現在はあまり問題ではなくなった。
そこで現在は組み込み機器の操作への反応性や危険な状態への対処の確実制などのリアルタイムの本筋の部分に注力することができるようになった。
このように機能を分散して協調動作するシステムには、オープン化が重要である。
実用システムでオープン化を目指すなら技術より制度面の整備が必要である。この制度面の整備とは、ガバナンスをはっきりすることであり、ガバナンスとは問題が出た時の責任の所在のことである。
さらに、ガバナンスに関して大きな問題となるのがプライバシーの問題である。
オープンなIoTを実現するならプライバシーをどう扱うかという制度の明確化が必要となる。なぜならサービスを利用するにあたって個人情報を渡さないというのは不可能だからである。
感想
坂村さんの文章はしっかり方向性が見えていてまとまっている。
ucodeとμT2のゴリ押しを感じるけど、やっぱり産業界隈以外じゃ知名度低いのかな。
要するに
要約が長いので簡単にまとめます。
これからIoTシステムが社会的に利用されるためにはAPIのオープン化が大事であり、このオープン化のためにはガバナンスやプライバシーに関する制度をしっかり定めることが重要となります。
そしてもちろんIoTの周辺技術である組み込み, ネットワーク, ユーザーインターフェイスの技術発展も必要になります。
実際「オープン化」というのはほとんど坂村さんの口癖のようなものですよね。
まとめ(感想)
この本はバズワード的によく耳にするIoTに関連する世界最先端の研究を行っている人たちがまとめたIoT概論の本です。
よくまとまっているのでこれからIoTに関して研究を始めるという人にはオススメできます。
そもそもIoTという言葉自体一つの技術を表しているのではなく、webやAI、ネットワークなど様々な関連技術を含めたぼんやりした一つのシステムの形態です。更にIoTシステムを実際に社会へ適用しようとした時には、技術だけではなく個人情報などの法律問題や人の行動学など情報・工学分野を飛び出た話になります。
この本の第一部には技術に関する話が載っていて、第二部には実際にIoTシステムを社会へ適用する話が載っています。
正直な話、第一部の技術的な話はWikipediaなどで調べれば分かります。しかし第二部は違います。先生たちの具体的な研究経験が書かれている第二部は非常に貴重で、ここまでうまくまとまっている書籍は他にありません。
第二部ではIoTの発展(オープン化)のためにガバナンスやプライバシーの問題が重要であるということが書かれています。
しかし日本にはなるべく個人情報を漏らしたくないという風潮があり、個人情報を収集するIoTシステムはなかなか浸透しにくいという意見が広まっています。(でもGoogleが情報を収集することはあまり気に留めませんよね)
世界で最もプライバシーを気にしているのに、世界で最もパスワードを変更しない日本人:成迫剛志の『ICT幸福論』:オルタナティブ・ブログ
これに比べて中国では個人情報の収集に関する同意率が非常に高いです。(70%以上と聞いたことがあります)
プライバシー保護への日本人の行動意識は15カ国中で最下位--EMC調査 - ZDNet Japan
このことを考えると制度的な問題で日本がIoTの分野で中国に勝つことはないのかもしれません。
しかし、この本を書いた先生達も属しているYRPユビキタス・ネットワーキング研究所が中心となって研究や制度の明文化が進むことで、日本がIoTシステムの活用で世界一になる日が来るかもしれません。
挿入ソートをC言語で書いた
挿入ソートのコードを書きました。
このアルゴリズムはn個の数字が入った配列がある時、0からnまでループを回し、自分より右の数のうち最小のものと自分を入れ替えるアルゴリズムです。
アルゴリズムの説明は別のサイトを見てもらった方が分かりやすいと思います。。。
#include <stdio.h> #define NUMBER_OF_ITEMS 10 int *selection_sort (int messy_array[NUMBER_OF_ITEMS]) { int *sorted_array = messy_array; for (int i = 0; i< NUMBER_OF_ITEMS - 1; i++) { int minimum_index = i; for (int j = i + 1; j < NUMBER_OF_ITEMS; j++) { if (sorted_array[j] < sorted_array[minimum_index]) { minimum_index = j; } } // swap int temp = sorted_array[i]; sorted_array[i] = sorted_array[minimum_index]; sorted_array[minimum_index] = temp; } return sorted_array; } int main (void) { int messy_array[NUMBER_OF_ITEMS] = { 1, 10, 3, 32, 16, 19, 22, 9, 12, 17}; int *sorted_array = selection_sort(messy_array); for (int i = 0; i < NUMBER_OF_ITEMS; i++) { printf("%d ", sorted_array[i]); } return 0; }
地味にC11の機能を使ったので-std=c11
オプションをつけてコンパイルします。
$ gcc -std=c11 -o selection selection.c $ ./selection 1 3 9 10 12 16 17 19 22 32
新しい認証技術であるImplicit Authenticationの紹介
今インターネットを使うとき、認証は必ず関わってきます。この認証の新しい技術であるImplicit Authenticationについて紹介します。
なおこの認証技術はまだ研究段階で、残念ながら実用化のめどは立っていません。
Implicit authentication - Wikipedia
概要
Implicit Authentication(暗黙認証、以下IA)とは認証技術の1つで、ユーザーの振る舞いから認証動作を行うものです。
分かりにくいですね。
ではまずIAと対照的なExplicit Authentication(明示認証、以下EA)について説明します。EAは認証にユーザーの何らかのアクションが必要なもので、例えばID/Passwordを使った認証や指紋認証などがこれに当たります。
これに対してIAは認証時にアクションが必要ないものです。
このIAを使用することにより認証動作の利便性を向上することができます。
認証方法
IAはスマートフォンのセンサーデータからユーザーの振る舞いデータ(GPS, アプリ使用量、通話履歴など)を収集しこれを機械学習を使って学習することによりモデリングし、そのモデルに対してセンサーデータを入力として与えてその出力により認証を行うものです。
つまりIAは
- ユーザーの特徴モデルを作成するモジュール
- ユーザーモデルと認証用データを比較した時の一致度であるスコアを計算するモジュール
の2つから構成されています。
図1にモデル作成時のデータの流れを、図2に認証時のデータの流れを示します。
図1. モデル作成時のデータの流れ
図2. 認証時のデータの流れ
これまでの研究
IAはスマートフォンの普及に伴って考え出された技術です。(もっと言えばインターネットに繋がるセンサーをたくさんの人が持ったから生まれたとも言えます)
ですのでIAそのものの先行研究はそこまで多くありません。
Implicit Authentication for Mobile Devices
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.160.4599
2009年の論文
Data Driven Authentication: On the Effectiveness of User Behaviour Modelling with Mobile Device Sensors
https://arxiv.org/abs/1410.7743?context=cs
2014年の論文
モデル作成は、センサーデータのそれぞれに対して時間と場所に関する2つの確率密度関数を求めて並べることによりモデルにします。
スコア算出は、与えられたセンサーデータの時間と場所の頻度に基づいて計算されます。
ライフスタイル認証
IAとは違いますが、東大で行われている研究を紹介します。
ライフスタイル認証とは東京大学の山口利恵氏が提唱した認証手法で、2017年に大規模な実証実験を行っています。
このコンセプトはIAと非常によく似ていて(というかIAではないかと思う。なぜわざわざ新しく命名したのだろうか)、位置情報や買い物履歴、ウェアラブル端末のセンサ情報などのライフログデータを使って認証を行う手法です。
http://www.sict.i.u-tokyo.ac.jp/research/lifestyle.html
私はこの山口氏の論文をいくつか読んだのですが、誤字脱字があったり図番が間違っていたりそもそも再現性に乏しかったりと、正直あまりいい研究には思えませんでした。もしかするとこれからしっかり研究されて有用なものになるかもしれませんので動向には注意しておきたいです。
実際使えるの?
さて、いくら新しくて便利そうな技術でもセキュリティ上の問題があったり精度が悪かったりすると実用に耐えうるものにはなりません。
で、現状の研究を見る限り全然実用に耐えうるものにはなっていません。これからの研究を期待しましょう。
次の研究は精度を上げながらHTTPで使えるようにする研究でしょうか。
react-nativeでiOSのビルドをするとlibfishhook.aが無くてエラーが出る
react-nativeでiOSアプリをビルドしたときに詰まったので解決方法を書いておきます。
適当に新しいプロジェクトを react-native init
で作成してXcodeでビルドした時以下のエラーが発生しました。
Build input file cannot be found: '/Users/nagaryo/src/new_project/node_modules/react-native/Libraries/WebSocket/libfishhook.a'
libfishhook.a
が無いと言われているので確認したのですが、しっかり存在します。
解決方法を探したところ、以下のissueにたどり着きました。
真ん中くらいにあるコメントを見ると「次のバージョンでリリースされるよ。早く直したかったらこのPRの修正を手でやってね。」と書かれています。
vim node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj/project.pbxproj
で該当ファイルを開いて上のPRの修正を手で行ったらビルドが通るようになりました。
ユニークキーの修正漏れですね。
環境
BOSEイヤホン三種買った
こんにちは。BOSE教信者のナガリョーです。BOSEのイヤホンなしには生きられない体になってしまいました・・・
ついにBOSEイヤホン3種類を買ってしまったので
音質は全て「BOSEらしいバランスの良い音」です。この音が耳に合う人はBOSEを買い続けて問題ないと思います。
正直2万円以上のイヤホンの音の違いなんて分からないので、以下では音以外でレビューします。
QuietControl 30 Noise Cancelling Earphones
Bose QuietControl 30 wireless headphones ワイヤレスノイズキャンセリングイヤホン【国内正規品】
- 出版社/メーカー: BOSE
- 発売日: 2016/10/28
- メディア: エレクトロニクス
- この商品を含むブログ (1件) を見る
購入理由
カフェなど周囲がうるさい環境での作業が多いので集中するためにノイズキャンセリングイヤホンを探していました。
ここでヘッドホンじゃない理由は、メガネだからです。ヘッドホンを長時間つけているとメガネのつるが耳の裏に挟まって痛いんです・・・
そこでイヤホンショップで働いたことがある後輩くんに意見を求めると、「QC30は最強のノイキャン」とのことだったので信用して購入しました。
性能レビュー
- 文句なしのノイズキャンセリング性能
- 毎日充電すればバッテリーは大丈夫
- 充電時間が短い
- 少しだけ遅延がある(0.05秒とか?)
買って大満足のイヤホンです。ノイズキャンセリングは十分働きますし、音質も問題ありません。3万円以上出して買う価値のあるイヤホンです!
しかし実際、完全な静寂ではありません。まず、ザーッというホワイトノイズが常に聞こえます。そして人の話し声などはしっかり聞こえます(これは多分長所です)。
ノイズキャンセリングのレベルは、BOSEのアプリからと、本体のボタンを直接操作することにより調節することができます。
ほとんどの時は最大レベルで固定なのですが、たまに外の音も聞く必要がある時には重宝します。痒い所に手が届く感じが素晴らしいです。
地味な点ですが、冬は首に引っ掛ける時ちょっと冷たいです。なるべく襟付きの服を着るなど服装で対策しています。
SoundSport Free wireless headphones
Bose SoundSport Free wireless headphones 完全ワイヤレスイヤホン トリプルブラック【国内正規品】
- 出版社/メーカー: BOSE
- 発売日: 2017/11/03
- メディア: エレクトロニクス
- この商品を含むブログを見る
満を辞して出たBOSEの完全ワイヤレスイヤホンです。
あ、完全ワイヤレスイヤホンは安いもの(だいたい中国製)は買わない方が良いですよ。安かろう悪かろうですから。
購入理由
ランニングの時につけるBluetoothイヤホンを探していました。
もっと安いものも選択肢にあったのですが、完全ワイヤレスイヤホンを使ってみたいという気持ちがあってこのイヤホンを買おうかどうか悩んでいました。
決め手となったのは、アメリカAmazonでこのイヤホンがセールで22000円程度になっていたことです。即買いでした。
性能レビュー
- wi-fiと干渉してブツブツ途切れることがある
- ケースと合わせるとかなり充電がもつ
- ランニングしても全然取れない
- 結構遅延がある(動画を見るのはしんどい)
一つ注意点があります。Amazonのレビューにもちらほら「ブツブツ途切れる」とあるように、環境によってはブツブツ途切れます。
これはきっとBluetoothと同じ2.4GHz帯を使用するWi-Fiが干渉していることが大きな原因だと思います。
正直これは5GHz帯のWi-Fiを使う以外の解決方法がありません。思い切ってWi-Fiルーターを買い換えるか、5GHzを使うよう切り替えましょう。
SoundSport IE CHL
Bose SoundSport in-ear headphones イヤホン チャコール
- 出版社/メーカー: BOSE
- 発売日: 2015/09/18
- メディア: エレクトロニクス
- この商品を含むブログを見る
購入理由
三つの中では一番古いイヤホンです。前のイヤホンが壊れた時にAmazonで7000円くらいだったので思わずポチッとしました。
性能レビュー
- マイク、音量調節なし
- 見ての通り有線
正直あまり大きな特徴はありません。。。ただ、シンプルなイヤホンが良い方はこちらを買うのも良いと思います。
まとめ
多少高くても欲しいと思ったものを買うと満足度がかなり高いですね!