haphysics blog - 幸福の物理ブログ

みんなに物理と工作と幸福をお届けするのだァ~!

Rustに入門するためにSTM32でLチカしてみた

近年、C++の後継となる言語としてRustと呼ばれるプログラム言語が注目されている。 研究やアルバイトではC++を書いているので、今までRustを使う機会は全くなかった。 だけど、食わず嫌いはいけないなと思い、趣味でRustを書くための動機を考えてみた。

そして、組み込み開発をRustでやるのが良さそうという結論に至った。 実は、STM32をHALライブラリ無しで動かそうと、ARMアセンブリを読んだり、C++のTMPでLチカしてみたりと、裏でいろいろやっていたのだ。 どうせなら、この取り組みで使っているC++をRustに置き換えれば、Rustへの理解につながるのではないか?というワケ。

そこで、Rustを使った組み込み開発の先行研究をサーベイしてみた。 すると、いくつかの記事を見つけることができた。

中でも、あるレジスタへの操作はその時点で適切か?をコンパイル時に検証する、ある種の有限状態マシンがこんなに簡潔に書けることを知って一目惚れしてしまった。 私の知ってる限りでは、C++で有限状態マシンを書くときには、全ての状態遷移をテーブル状に保持する型を用意する必要があり、ここまで簡潔に書くことができない。

また、japaric氏という方が、Rustを使った組み込み開発の先駆者であるということも知った。 Rustで組み込み開発をするときは、この方の情報に注目するのが良さそうだ。

Rustで組み込み開発をする十分な動機や近年の動向を知ることができたので、STM32の開発テンプレートを参考に、STM32F4DISCOVERYでLチカしてみた。

続きを読む

博士課程2年分を振り返る

Jijで働く(近い内に記事を書く)

期間: 2018年12月頃-現在
場所: 本郷

Jijという、アニーリングマシン向けのソフトウェア開発と研究成果の社会実装をする会社で、インターン生として働き始めました。

数値計算、特にC++でのプログラミングは、研究室やロボット技術研究会での活動、趣味などで経験を積んできました。 この経験を活かすため、コアの開発と実装をしています。
また、研究分野(力学系)とは違う分野(量子計算、量子情報、数理最適化、...)に触れられるのも、ここで働き始めた理由です。

私は現在までに、Jijで

  • OpenJijと呼ばれるOSSを開発する
  • 社内ライブラリを開発する
  • 当該分野の論文を読む
  • 新しい計算手法を開発・評価する
  • 研究開発の成果を発表する

などをしています。

最初の大仕事は、OpenJijのコアエンジンをC++テンプレートメタプログラミングで書き直す作業でした。*1

このインターンによって

  • OSS開発でコントリビューションする方法
  • 数理最適化や量子計算などの当該分野に関する知見
  • C++や並列計算、テスト駆動開発などのソフトウェア開発に関する知見

などを得られていて、大変に有意義です。
Jijの立ち上げ初期に声をかけていただき本当にありがとうございます!

Reference

https://j-ij.com
https://github.com/OpenJij/OpenJij

海外に行った

みなさんは海外渡航の経験がありますか?
実は、したろうは博士課程に進学するまで一度も海外に行ったことはありませんでした。

1度目: 中国

期間: 2018年11月1-6日
場所: 厦门(Xiamen)、中国

人生で初めての海外渡航は、中国でした。
Dynamics Days Asia-Pacific 2018 という、力学系の国際会議で、ポスター発表するために行きました。

この国際会議は、アジア、ヨーロッパ、アメリカなど、様々な地域で行われています。
また、自身の研究(大自由度カオス)にとても関連がある会議なので、この会議の存在を知ったとき、ここで発表してみたいと思いました。

思い立ったが吉日、参加登録の締切を探してみることにしました。
すると、中国で開催されるDynamics Days Asia-Pacific 2018のページから、

「開催まで後2週間だけど、まだポスター発表の参加登録がまだやっている!」

という事実に気づきました。
勢いに任せ、人生初の海外渡航に向け、

  • 国際線航空券の購入
  • パスポート取得
  • スーツケースのレンタル

など、様々な初めてを短期間でこなしました。

行きは指導教員と同行しましたが、指導教員は数日で日本に帰国したので、帰りは一人でした。

一人で滞在していた間、

  • ホテルの従業員含めてみな英語が通じなかった(困った)
  • タクシーの運転手に中国語でタバコを勧められた(断った)
  • ホテルのトイレを詰まらせてしまい便器に手を突っ込んだ(解決せず)
  • 空港まで歩いたらスラム街に迷い込んでしまった(死を覚悟した)

など、散々な目に会いましたが、なんとか帰ってこれて良かったです。

Reference

https://ddap10.hqu.edu.cn

2度目: ドイツ(近い内に記事を書く)

期間: 2019年9月1-9日
場所: Rostock、ドイツ

人生で2度目の海外渡航は、ドイツでした。
Dynamics Days Europe 2019という、力学系の国際会議で、口頭発表するために行きました。

東京工業大学には、比企基金と呼ばれる、国際会議での発表に20万円の補助を出す、という制度があります。
年間支援者数は若干名と記載されていますが、応募したらなんと対象者に選ばれました。

ただ、

  • 海外渡航がまだ1度しかない
  • 前回の海外渡航から1年のブランクがある
  • 人生で初めてトランジットをする
  • 人生で初めての長期フライトをする
  • 単身で海外渡航をする

など、不安要素だらけで、フライトの日が近づくにつれて行きたくなさが高まりました。

結局、口頭発表自体は成功し、何人かの研究者と私の研究に関して有意義な議論を交わすことができました。

しかし、

  • 機材トラブルによりトランジットが破綻する
  • トランジットの破綻でロストバゲージする
  • トランジット破綻とロストバゲージ対処のせいで野宿する
  • ロストバゲージ対処のせい(?)でSIM不通になる
  • 乗車券を買ったつもりが無銭乗車だった
  • 日本に巨大な台風台風15号)が来たせいで日本行きの飛行機がバンコク行きに勝手に変更される
  • 台風のせいで成田空港孤立していた
  • Twitterで知り合った人のおかげで奇跡的に生還できた

とマジで酷い目に会いました。
当時のツイートをtogetterにまとめたら、少しバズりました。

今でも、成田空港とドイツを見ると心拍数が上がってしまいます。

Reference

https://dyndays.uni-rostock.de/
https://togetter.com/li/1410192

3度目: アメリ

期間: 2019年9月23-27日
場所: Newport、アメリ

人生で3度目の海外渡航は、アメリカでした。 Qubits North America 2019という、D-Wave社が主催の量子アニーラーに関する国際会議で、ポスター発表をするために行きました。

前回はマジで酷い目に会いましたが、今回は

  • Jijの社員と同行する
  • 同行者はアメリ渡航経験が豊富である
  • Jijが航空券とホテルを予め用意してくれた

と、負ける気がしませんでした。

実際、無事にアメリカで発表でき、量子計算に関する知見や関係者との交流を得て、無事に帰国することができました。

ありがとう、アメリカ!ありがとう、Jijさん!

Reference

https://events.eventzilla.net/e/qubits-north-america-2019-2138748422

理科年表を買った(近い内に記事を書く)

時期: 2018&2019年11月

今日までに、2019年版、2020年版を購入しました。
近い内にこれらのレビューをします。

彼女が出来た

時期: 2018年5月

相手は理数系専攻院卒の社会人です。
彼女の方から私に声をかけてくれました。
何度かのデートを重ね、私の方から彼女に告白をしました。
博士課程に進学してから交際相手ができるとは、つゆにも思いませんでした。

彼女は、私と知り合う前にこのブログを読んでくれたそうです。
このブログが為人の判断材料の一つになるとは思いませんでした。
普段からアウトプットするのが大事ということが分かりました。

互いに自然科学が専門なので、物理学やプログラミングなどの話ができるのが嬉しいです。
彼女は社会人で、私は学生なので、彼女には金銭面で苦労をかけてしまっています。
それに関しては、本当に感謝と申し訳なさで頭が上がらないです。

正真正銘「一応東大」になった

時期: 2018年8月

Reference

shitaro-happy-physics.hatenablog.jp

論文が出版された

時期: 2018年11月
URL: https://aip.scitation.org/doi/10.1063/1.5066087 (arXiv: https://arxiv.org/abs/1810.01146)

査読付き国際ジャーナルに、私の論文が掲載されました。

Reference

shitaro-happy-physics.hatenablog.jp

YouTubeチャンネルを作った

時期: 2018年12月
URL:

趣味でやっている活動をVlogとして残そうと思い、チャンネルを作りました。
嬉しいことに、チャンネル登録者数が100人を超えたので、チャンネルに独自のURLをつけられるようになりました。

しかし、2019年の春頃から研究で精神状態が芳しくなくなり、結局のところ更新することができませんでした。

2020年は、積極的に動画投稿をしたいです。

Reference

shitaro-happy-physics.hatenablog.jp

webサイトを作っている(近い内に記事を書く)

時期: 2018年12月
URL: https://haphysics.com

現在、webサイトを作っています。
ソースコードGitHubで公開しています

このブログとwebサイトとの使い分けですが、現段階では

  • このブログでは、細かい情報を高頻度で発信する
  • Webサイトでは、まとまった情報を発信する

ことを考えています。

YouTubeへの動画投稿もブログへの記事投稿も上手く継続できていない要因の一つに、
アウトプットは(自分にとって)質の高い状態になって初めてするものである、という完璧主義的な思考があります。
この思考でアウトプットをしようとすると、大変に長い時間が必要となります。
その間にモチベーションが下がってしまったり、そもそもまとまった時間が取れなかったりで、結局アウトプットを断念してしまうケースが頻発しました。
一方で、Twitterを継続できるのは、アウトプットまでの障壁の低さにあると考えられます。
そこで、このブログへのアウトプットの障壁を低くし、ある程度知見が溜まったらwebサイトにまとめるようにしようと考えています。

というわけで、来年からはアウトプットの頻度を上げるという実験を行います。

初めて書いた論文が査読付き国際ジャーナルに掲載されました!

したろうと指導教員とで書いた論文が、
査読付き国際科学ジャーナル Chaos: An Interdisciplinary Journal of Nonlinear Science に掲載されました!

Measuring Lyapunov exponents of large chaotic systems with global coupling by time series analysis https://aip.scitation.org/doi/10.1063/1.5066087

この論文は、大自由度カオス系の不安定性を、
少数の時系列から測定する方法について、我々がした仕事を書いたものです。
掲載から2週間は無料で読めるので、ぜひ読んでみてください!

この論文は、研究の重要性とタイムリー性から、
Regular Articleではなく、より制約の厳しいFast Trackで投稿しました。
当初の希望通り、Fast Trackにacceptされてとても幸福です。

なお、このブログでは、本論文に関する質問や問い合わせは一切受け付けません。
ご了承ください。

白衣専門店でデザイン半袖白衣を2着買った

動機

今年の夏は大変暑く、長袖白衣の袖をまくるだけではとても耐えられません。
そこで、以前から利用している白衣専門店で半袖白衣を2着*1購入することにしました。

Professor’s round

今回も利用した白衣専門店は、Professor’s roundです。
旗の台駅から徒歩3分くらいの場所にあるお店です。
ここでは、様々なデザイン白衣を取り扱っています。

この店が発行しているポイントカードを利用すれば、購入した白衣の値段に応じてポイントが貯まります。
以前に利用したときに貯まっていた300円相当のポイントがあったので、今回の購入で使いました。

*1:すでにデザイン半袖白衣を1着購入しているので、もう2着買えばローテーションできるというわけです。

続きを読む

漫画家ニコ・ニコルソン先生にしたろうの半生を語った

概要

東工大の本館で、漫画家のニコ・ニコルソン先生のインタビューを受けました!

本館にある食堂で、したろうの半生を語りました。
ニコ・ニコルソン先生の漫画の参考になれば、幸福です。

続きを読む

モバイルバッテリー欲しさに人生初の献血をした

概要

モバイルバッテリー目当てに、人生で初めての献血をしてきました。
献血した後、とても大切なことに気づきました。

f:id:shitaro2012:20180520013359j:plain 献血によりもらったもの。目に見えないものは後述「献血が教えてくれた大切なもの」を参照されたし。

動機

続きを読む