真・東工大生のための恋愛学入門〜線形系に従う恋の行方〜
訂正
行列式の計算が誤りであるというご指摘を受けました。これに伴い内容を大きく修正しました。ご迷惑をお掛けして申し訳ございません。
Twitterで割と反応があった
今週金曜日に東工大で「東工大生のための恋愛学入門」という、なんだかよくわからない講義がありました。受けてないので詳細はわからないのですが、どうやら数式は出てこなかったようです。
で、恋愛"学"と聞いて真っ先に頭に浮かんだのがStrogatzの恋愛問題(Love Affairs)でした。
- 作者: Steven H. Strogatz,田中久陽,中尾裕也,千葉逸人
- 出版社/メーカー: 丸善出版
- 発売日: 2015/01/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
Twitterで上記の本から一部抜粋したところ割とTwitterで反応がありました。
モテねぇ東工大生ども、よく聞け。俺様が今から"""ホンモノの恋愛学"""を教えてやる。いいか?線形代数学と微積分学、それからMATLABを用意しろ。
#東工大生のための恋愛学入門 pic.twitter.com/Ld4x9FAKcn
— したろう (@shitaro2012) November 20, 2015
気になる人はぜひStrogatzのNonlinear Dynamics And Chaos(非線形ダイナミクスとカオス)を手にとってみてください。
もしも恋愛が線形系だったら
今日はしたろうの誕生日でした
今年も祝ってもらった
物性物理学専攻の友人らから誕生日プレゼントをもらいました!ありがとう〜〜〜!
今年も祝ってみた
去年はFM音源ICでハードウェア的にハッピバースデートゥーミーしました。だから今年はソフトウェア的にハッピバースデートゥーミーしたいなあと考えました。shitaro-happy-physics.hatenablog.jp
どうしようと考えていたら、こんなドキュメントを見つけました。jp.mathworks.com
なんと、MATLABには「波形をそのまま鳴らす」関数があったのです!これはもう楽器ですよね。というわけでMATLABで音を鳴らそうと考えました。
先週の日曜日を潰して実装したのが「MIDIファイルをパースする」関数と「パースしたMIDIデータに従って波形を出力する」関数です。
実際にMATLABで実行した動画を以下に載せます。 サムネ
第8回rogyゼミに参加して〜「したろう配列」の解説〜
ついに第8回
10月24日(土)に第8回rogyゼミが開催されました。今年はしたろうを含む12人が発表しました。発表内容はゲーム紹介、3日で作ったロボット、形而上学など多岐にわたるものでした。
rogyゼミの運営担当が今回からひとつ下の学年に引き継がれました。初めての運営だったと思いますが、上手く仕切っていました。すばらしい会にしてくれて本当にありがとうございました。
したろうの発表内容
私が今回発表したのは「したろう配列」についてです。したろう配列とは「したろうにとって最適なキー配列」のことです。CapsLockキーをどかしたところから始まり、もう2年も研究しています。shitaro-happy-physics.hatenablog.jp
shitaro-happy-physics.hatenablog.jp
今回使用したスライドは例によってSlideShareに上げました。
要約すると「キー配列をいじってみよう」ということです。技術的なことは去年の記事を参照していただければ。
ちなみに、したろう配列の具体的実装はgithubで公開しています。対応OSはLinuxです。現在のしたろう配列はver.7です。Linux MintとArch Linuxで動作確認しました。したろう配列はローリングリリースなので動作保証しかねます。自己責任で参考にしてください。github.com
したろう配列をハードウェアで?
今までのしたろう配列はソフトウェア上で実装していました。しかし、よくこんな意見を言われます。「オレオレ配列に慣れちゃったら別のPCを触るときに困るじゃん?社会に出れないじゃん?」と*1。要するに社会に出て、自分以外のPCを使う機会が増えた場合困るでしょってこと。だったらハードウェアでしたろう配列を実装すればいいじゃないか、というのが私の答えです。具体的に言うとしたろう配列のキーボードを自作するってことです。
USB通信はマイコンで頑張るとして、キートップは3Dプリンタで作ろうと考えてます。はやく設計したいです。
おまけ:QWERTY配列はわざと打ちづらくしたって本当???
Dvorak配列を説明する人の中に「QWERTY配列は機械式タイプライターの腕が絡まないようにわざと打ちづらくしている」(以下、"わざと説"と呼ぶ)と話す人がいます。果たして本当でしょうか。
結論から言うと分かりません。わざと説を肯定する資料も否定する資料も(自分が調べた中では)見当たらなかったからです。ただ、個人的にはわざと説には懐疑的です。以下、個人的で主観的な感想なのでわざと説を否定するものでも肯定するものでもありません。
親の実家に機械式タイプライターがありました。実際に打ってみると分かるのですが、キーが大変重いです。機械式タイプライターは文字の形に掘られた腕をインクリボンに叩きつけることで印字するのでかなり力が必要です。特に小指(例えば'A')はとても難しいです。これほど力を入れて押しこむのに、万人がタイプライターの腕を絡ませるほど素早く打鍵できるとは到底思えません*2。だからわざと説は違うんじゃないかなあと思いました。
肯定、否定どちらでも、なにか裏付ける情報を知っていたら教えてください。キーボードの歴史にとても興味あります。
工大祭2015に参加しました!
見学に来てくださった皆様、ありがとうございました!
工大祭2日間、それはとても過酷でした。10時から17時まで、昼食をとらずにひたすら展示物の説明をしていました。徐々に喉から痛みが感じられるようになり、終盤では声がちゃんと出ていたのか定かではありません。でもしょうがないじゃないですか〜。だって楽しいんだもん。いろんな人と話せるのが。
来てくださったお客さんは、それはそれはいろいろな人でした。受験を控えた高校生、やたら考察が鋭い小学生、物理学の専門家、物理学科のOBなどなど。特に嬉しかったのは「幸福の物理ブログを読んでいます」と言ってくれた人です!身内以外にこう言ってもらえるなんて、心の中で感涙していました。いえ〜いみてるぅ〜?
お客さんの中にはとても考えさせる質問や意見をする方がいて、大変勉強に、そして励みになりました。後日まとめたのをブログに書こうかと思います。
幸福の物理に新たに2人が加わった!
STM32F4Discovery + stm32plusでUSARTしてみた
長らく放置していたSTM32F4Discoveryを使う
先週ロ技研合宿に行ってきました。合宿のおかげでSTM32欲が高まりました。
そういえばSTM32F4Discoveryを買ったのに放置していたなあと。shitaro-happy-physics.hatenablog.jp
当時は1750円で買えたんですね…。とりあえず入門としてUSARTを使ってみることにしました。
USBよりUSART?
電気ブランを飲みに徒歩で目黒駅から浅草駅まで行ってみた
B日程の副産物
院試の筆記試験1週間前辺りからなぜか明治、大正文化について興味を持ってしまった。その中に「電氣ブランデー」「神谷のバァ」というキーワードを目にした。院試終わったら電氣ブランを飲むということをその時決心したのだった。
タイムリミットは2時間
父親と次の日曜日に神谷バーへ行くことを誓い、一週間経った今日、浅草駅を目指すのだった。東京観光を兼ねて徒歩で行こうと決めたのが14時。集合時間は17時だったので間に合うか賭けにでた。目黒駅に14:59到着。残された時間は、2時間。
ルート
ここでルートを確認しよう。目黒駅から浅草駅までを黒い線で結んだものが図1である。
図1.目黒駅から浅草駅までを記した地図
道順は実に単純である。下記の順番で歩けばよい。
問題は時間である。2時間以内に行かなければならないのだがグーグルマップによると2.5時間かかるとのこと。
1時間で銀座を通過することを目標に、できる限り早歩きで進むことにした。
東京マルイ 次世代電動ガン AKS74U を修理した
ハンドガード内部のネジのゆるみは仕様?
前回紹介した東京マルイ次世代電動ガンAKS74Uの追記です。shitaro-happy-physics.hatenablog.jp
自室でフロントサイトの調整をしていた時のこと。フルオートで数回撃ち終わった時に突然ハンドガード辺りからカランという音が聞こえた。その後、本体を振るとやはりハンドガードからカラカラと音が聞こえる。どうやら内部でネジがとれたようだ。
東京マルイ次世代電動ガンAKS74Uのハンドガード内部のネジがとれるこの症状はこのレビューに言及されていた。
次世代AKの注意点 - かもめ軍曹さんの装備レビュー | サバゲーる
やはりネジが緩みやすいのだろうか。もし同じ電動ガンを持っているならばこのハンドガード内部のネジの緩みに気をつけるのがよさそうだ。
分解してみた
ネジを再び取り付けるべく分解してみた。電動ガンを分解することは初めてのことだが、説明書に分解方法が記されているので容易にできた。
ハンドガードを取り外すために説明書のp.27「ヒューズ交換のしかた」を参照した。
必要な道具は
- 2mm六角レンチ(付属品に含まれている六角レンチはこれを満たす)
- プラスドライバー
フラッシュハイダーを外す
フロントサイト部分についているロックピンを押し込みながらフラッシュハイダーを回して取り外します。フラッシュハイダーが取り外されるとフロントサイト底部のネジ2本を確認できます。このネジは2mm六角レンチで取り外すことができます。
フロントサイトを外す
フロントサイト底部にある2本のネジを2mm六角レンチで回して取り外します。これらのネジを取り外したらフロントサイトの固定が外れるのでそれを前方にスライドさせて外します。
フロントサイトを取り外すとハンドガードキャップ上部に1本のネジが確認できます。このネジは2mm六角レンチで取り外すことができます。
ハンドガードキャップを外す
ハンドガードキャップ上部にある2本のネジを2mm六角レンチで回して取り外します。このネジを取り外したらハンドガードキャップの固定が外れるのでそれを前方にスライドさせて外します。ハンドガードキャップを取り外すとハンドガードキャップを取り外すことができます。
ハンドガードを外す
ハンドガードをまず前方にスライドさせます。ハンドガードの突起がレシーバーから外れたらハンドガードを下側に外します。これでハンドガードを外すことができました。
とれたネジとご対面
ここでネジが床に落ちた。写真中の指示棒で示されている場所のネジがとれてしまったようだ。
他のネジはネジロック剤で固定されているのだろうか、とても固く締められている。とれてしまったネジだが、ネジロック剤は持ち合わせていないのでドライバーで固く締めるだけの処置を施した。後日部室にあるネジロック剤で固定しようと思う。
はじめてのSPI!
SPI通信をやってみた
PIC18F27J53でグラフィックLCD AQM1248AとSPI通信して文字を表示している様子。
MSSPを使おう
主にこのページを参考にしました。
電子工作室-MSSPモジュールのSPIモードの使い方
SPIとはSerial Peripheral Interfaceの略です。2つのシフトレジスタが環状に接続されていて、その間をシリアルで通信します。SPIでは原理的に送信と受信が同時に行われます。
このSPI通信を簡単に実現するためにPICにはMSSPモジュールというものが備わっています。
今回はMSSPモジュールをSPIモードで使います。データシートには親切にもSPI通信をするために必要なピンがしっかりと書かれています。
これとLCDのデータシートにある接続例
を比較してつなげました。要点だけを挙げると
です。
ArchにPICの開発環境を構築した
先月、メインで使っているサブPCをArchにした。shitaro-happy-physics.hatenablog.jp
そういえばPICの開発環境を構築してなかったなあと気づいたのでメモ書き。
MPLAB X IDE
まずはMPLABを導入します。
公式サイトから圧縮ファイルを落として解凍します*1。
次に解凍したインストーラーに実行権限を付与してインストーラーを起動します。
後はインストーラーにしたがって導入終わり。
XCx Compiler
次にコンパイラを導入します。
公式サイトから圧縮ファイルを落として解凍します。
次に解凍したインストーラーに実行権限を付与してインストーラーを起動します。
後はインストーラーにしたがって導入終わり。
Microchip Libraries for Applications(MLA)
USBを使いたいのでこのライブラリを導入します。
公式サイトから圧縮ファイルを落として解凍します。
次に解凍したインストーラーに実行権限を付与してインストーラーを起動します。
後はインストーラーにしたがって導入終わり。
MLAが導入できない?
素直にインストールしたら失敗した。具体的には
sudo ./mla-v20**_**_**_linux_installer.run
で実行すると
Setup is now ready to begin installing Microchip Libraries for Applications v20**_**_** on your computer.
Do you want to continue? [Y/n]
までは進むのだが、ここでYesを選択すると
Error: There has been an error.
Error changing group of /path/to/installing/directory variable default path*** to username
となって異常終了する。
エラーを見る限り、現在のusernameグループに変更しようとしている。私の環境ではusernameグループは存在しないので、エラーがでるのもうなずける。
そこでインストーラーを起動する前にsuしてユーザーをrootに変更した。
こうすることでインストーラーはグループ名をrootに変更しようとするが、このrootは存在するグループ名でもあるのでエラーは起こりえない。
参考:Trouble installing Microchip Application Libraries | Microchip
32bitのアプリケーションを動かす用意
はじめインストーラーを実行できなかった。どうやら32bit環境のバイナリがない。というのも、今使っているOSは64bit環境だからだ。
そこで、Archには便利なものがある。Multilib リポジトリだ。
これにより64bit環境のArch Linuxで32bitのアプリケーションが使えるようになる。インストーラーを実行するのに必要なものを
yaourt -S multilib/lib32-hoge
で揃えればインストーラーを実行するための準備が整う。
*1:Archだとmicrochip-mplabx-binなるパッケージがあるんだけど、正常に起動しなかった。具体的には、インストール後に起動しようとコマンドを実行すると全く反応せずに終了してしまう。