注目の投稿

移転

移転しました(2020.03) →  https://akehi.github.io/ ---- ・GitHub Pages使ってみたかった ・HTMLファイルをそのまま公開できるのが手軽でいいなと思った ・・JupyterとかMarkdown+PlantUMLとかで書い...

ラベル 気になるメモ の投稿を表示しています。 すべての投稿を表示
ラベル 気になるメモ の投稿を表示しています。 すべての投稿を表示

2017/08/29

I2C独立駆動

I2C通信がかなり遅い(100kHz) のでI2Cデバイスとのデータ通信もハードウェアにバックグラウンドでやらせて、Niosは値を必要なときに引っ張ってくるだけ、という設計にしたい(つまりメイン処理のCPUを介さずにI2Cコントロールをしたい)
→結局Niosを2つ積んでマルチコアシステムを採用した.

I2C独立システム化の潰えた計画達
1.altera_avalon_I2C_Master + DMAC
マニュアル上ではFIFO内蔵+Avalon_STインターフェース(DMAインターフェース)が提供されているようだ.これは熱い.

→そもそもalteraのI2CモジュールからI2C波形が出力できなかった.
TFR_CMDレジスタをIOWRで直接叩いても反応なし.
仕様理解不足か?

driverとして自動でリンクされるCソースは内部向け関数と外部向け関数が混在していてとても分かりにくくて苦行.
とりあえず i2c_open()みたいな関数に対して”/dev/i2c” (i2cはコアの名前.デフォではi2c_0になってるやつ)を渡せばBase Address等が格納された構造体が帰ってくる.構造体を適宜渡しながらライブラリを叩けば良さそう.が,やはりI2C波形は出なかった.

参考文献が少ない(というかほぼ無い)ので諦めた

2.  I2C_Master(opencore.org) + 自作のavalon_MMslave to avalon_MMmaster
opencoresのI2Cモジュールはかなりシンプルで分かりやすい.動作確認OK.
あとはメインCPUを介さずにI2C通信し続ける部分が必要.
avalon_MMインターフェースしか提供されていないので,このモジュールにavalon_MMmasterとしてコマンドを送り続けるモジュールが必要.
→そんな気力はない.

2017/07/15

チップとドライバとモジュール

・lsusbやlspciで表示されるのはチップ情報

・チップとドライバが同名とは限らない (?)(追記:多分そんなことはない)

・ドライバはモジュールとして動的に読み込まれる

・lsmodで実際にモジュールが読み込まれているか確認できる


2017/03/28

git・プログラムでよく使われる英語


gitでよく使われる英語
http://qiita.com/shi_chicken/items/a5f922a3ef3aa58a1839?utm_content=bufferac06d&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

シンプルだし覚えておきたい


プログラムでよく使われる英語
http://qiita.com/Ted-HM/items/7dde25dcffae4cdc7923?utm_campaign=popular_items&utm_medium=twitter&utm_source=dlvr.it

http://php-archive.net/php/words-in-function-names/

関数の名前を先に決めるのはとても大切(できればURLのように接頭語を積極的に使う)
・関数の責任範囲とか役割とかがイメージしやすくなるから
・その結果,思いつきで書き始めるよりもナイスなコードが書ける気がするから

関数名のアンチパターンは頭の片隅に置いておこう
・個人的にはxxxManegerみたいなのをついつい作りたくなるけど,良くないらしい (あまり大規模なプロジェクトを書いたことないから実感無い)

2017/02/12

Arduinoでクラスを使う

Arduinoでクラスって使えないのかと思って調べてみたら使えるらしい.

このサイトが分かりやすかった.
http://srz-zumix.blogspot.jp/2013/10/arduino.html

2017/01/28

直交射影行列

射影行列:P^2=Pになる行列
直交射影行列: P^t=Pになる射影行列
補直交射影行列(正式な名称不明): Q=I-P (Pは直交射影行列) であるとき,Qも直交射影行列

2017/01/05

最適化問題参考資料

最適化問題を集合的な基礎から書いてあるから困ったら読んでみたい
http://lecture.ecc.u-tokyo.ac.jp/~nakamura/PDF/00-Disc_Math.pdf


線形推測論なる名前がついているらしい
http://nshi.jp/contents/doc/glm/

射影行列から分散分析に持っていっている
これに沿って勉強すれば分散分析などを幾何学的に理解することができそうな予感がする
http://www.ms.u-tokyo.ac.jp/~nakahiro/lec17/modelmon/workbook2.pdf

2017/01/01

これから触っていきたい言語


go
興味ナンバーワン
マルチプロセスが楽ってのは良い
マルチプラットフォームだし
もし何年後かにmc lambda実装するならぜひお供に使いたい

haskel
関数型言語なんていわれてるけど、実際に試してみたい
mapとかfilterみたいな高階関数がpythonにあるけど,それの輸入元がこういう関数型言語らしい
プログラミングの幅が広がりそう
あとプログラ厶の副作用とは何か体感したい
http://qiita.com/hiruberuto/items/26a813ab2b188ca39019?utm_content=buffere6334&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

http://qiita.com/piroor/items/77233173707a0baa6360?utm_campaign=popular_items&utm_medium=twitter&utm_source=dlvr.it


c#
vs2016からXamalin使えるからマルチプラットフォームアプリ開発できる魅力
あと広報の人がかわいい
https://manuke.jp/chomado/


java
Androidスマホのセンサ化計画のお供に
話長い相手に、お前の喋り方javaっぽいなって煽れる程度には詳しくなりたい

javascript
node.js気になる。
サーバーサイドプログラマがかんたんにクライアント機能使えるらしい
サーバーサイドとかウェブとかの知識欲しい
何か作りたいわけじゃないけど、構造に興味がある。
オブジェクト指向、デザインパターンの必要性ってウェブやったら分かるのだろうか

python
rosに使ったりnote書いたりこれからもお世話になります.

2016/12/25

null安全とか型ヒントとか

最近流行ってるらしいnull安全という概念.

変数にnullが代入される可能性があるときはコンパイルエラーになるっていう仕様のことを指すようだ.
なんでこんなことするかというと,「nullによる意図せぬ挙動は実行時に初めて分かるから土壇場で困る可能性がある」とか「意図せぬ挙動の影響範囲が大きい傾向にある」とかそんな理由があるらしい.
だからそもそも意図せぬ挙動になる可能性が少しでもあるならばコンパイルエラーにして弾いてしまおうという取り組み.デメリットはコードが少し冗長になること.

2016/12/24

evernoteのクリップ待ち解消


昔,evernoteにいつかクリップしようとURLだけ送ってたノートが400件を超えてた


evernoteAPIをpythonから使って,URLから該当ページ開いてクリップする一連動作を自動化できそう.

自分の技術的に壁になるのは以下のあたりか.
・複数ページを一つに連結 (page=1とか変えるだけ?ヘッダ部のダブリ回避とか必要?html知識無いからつまづきそう)
・画像とかも保存して,元ページが消えても大丈夫なようなクリップ(検証難しそう)
・以前何故かスルーされたAPI利用申請(なんで?)

pythonのbeautiful soupなるモジュールが優秀なパーサらしい.

2016/12/23

Notebook does not appear to be JSON

Notebook does not appear to be JSON
というエラーがgithubから右クリックでダウンロードしたノートを開こうとしたら発生.

JupyterNotebookViewerで開いてダウンロードをクリックしたらエラー起こさずに開けた

http://nbviewer.jupyter.org/


参考
http://stackoverflow.com/questions/22156147/ipython-notebooks-unreadable

2016/12/18

vbaまとめ

研修で使ったのでメモ

・誰のパソコンでも使える
この手軽さはかなり評価されるべき

・(自分の中で)噂の列挙型使ってみた
これは強力
http://www.aerith.net/design/enum-j.html


・実行すごく早い気がする
実行速度ももちろんだし,コンパイルもいつしてる?って感じ
あとworksheetfunctionの有能感がすごい
二重for文書きたくないときはworksheetfunctionをまず見る.

・variant型便利
あまりよくないと思いつつも,困ったらVariantという風潮が根強い

・Range型は必ずどこかのセルと対応するのが厄介
計算は基本的にセル範囲をRange型で取ってきて,Variant型に代入.そしてデータを加工したら最後にシートのどこか(Range)に書き込むのが良い.
この方法だと計算過程をいちいちセルに書き込まなくていいから高速(書き込み時間+Excelがセルを評価する時間削減)
しかもセルを計算過程の数字で汚さないからいい感じ.

・Range型の可能性は無限大
あるセルを変化させると関係セルが再計算される仕様がリアクティブプログラミング的.シリアル通信も頑張ればできるっぽいし、実はロボット制御とか糞やりやすい説が浮上しつつある

・クラスコンストラクタに引数渡せない
factory的な関数作ることで対応しないといけない.これだけは本当に対応してほしい

・継承できない
別に使わないけどさ
内部のクラスはバンバン継承してるから羨ましい

・関数を引数に渡せない
mapとかfilterみたいなことをしたいときに不便かも.

・関数の引数は実は全部参照渡し
途中まで値渡しと勘違いしてた
たまたま詰まなかった。良かった

・コンパイルエラーがひたすら分かりにくい
キレそう

・activesheetの呪い
ただ単にCells(~~)とかRange(~~)とか書くと,ActiveWorkbook.Activesheet.Cells(~~)の省略と解釈される.
だから油断すると,開いてるシートを変えたり,別のエクセルファイルを開いたりしたときに挙動が変わる.
省略せずにブックとシート名を指定してやるのが精神衛生上良い.

・Initializeのタイミングが勘違いしやすい
formが画面上に生成される度に呼ばれるのではなく,formのメソッドが呼ばれたときに一回だけ呼ばれる(from.show以外のメソッドが呼ばれて画面上にform表示されてなくても呼ばれる).formを開く度に呼び出したいならonActiveみたいなやつ推奨

クリティカルパスとは一体


プロジェクト管理の話でクリティカルパスという話は絶対出て来る.

でもクリティカルパスを導くためのタスクの順番をどうやって決めるか,という問題には大抵触れられていない.

一般的な解説ページなどでは,タスク数は高々10個程度.だから人間が適当に作ってもだいたい最適なスケジュールが組める.でももっとタスクが増えて依存関係が増えたら難しい.一時間費やしてスケジュール組みましたみたいな本末転倒なことが起こり得る.

完了時刻和最小化スケジューリング問題を発展させて,タスクの依存関係や各タスクの必要人員を考慮した予定組みってできないだろうか.NP困難臭がすごいけど.

応用先が広そうだし,組み合わせ最適化とかグラフ理論とか詳しく学びたい
http://dopal.cs.uec.ac.jp/okamotoy/lect/2013/localsearch/lect01.pdf

2016/12/04

二次形式の極値問題とレイリー商

レイリー商という便利な概念があるっぽい

http://kensuke-mi.hatenablog.com/entry/20121108/1352352860

http://d.hatena.ne.jp/Zellij/20140818/p1

レイリー商の最大値,最小値と,二次形式の表現行列の固有値との間に関係がある.

二次形式と固有値って聞くと,C-LAMBDA法に共分散のSVD分解を使ってアンビギュイティ候補の範囲を絞り込んでいるイメージがある.
何か関係するのだろうか.

2016/11/29

2016/11/25

回帰,推定関係の気になる手法

分析前にやること
http://qiita.com/HirofumiYashima/items/b6dabe412c868d271410?utm_campaign=popular_items&utm_medium=twitter&utm_source=dlvr.it


サポートベクトル回帰
サポートベクターマシンとは別物?
とりあえず変数突っ込みまくっておけという手法強そう

感度分析って言葉気になる
よく聞くけどしっかりとは知らない
http://qiita.com/hrs1985/items/ba24fde9981f611cc7d8


エビデンス近似
何かすごそう.

http://qiita.com/cutting_the_Gordian_knot/items/8ce8bb87794d43abb521


ベイズ推定
MCMCという方法があるらしい
結局適用例があまり見つけられなかった.
でもベイズ推定は割りと何にでも使えるはず.

Pythonのベイズ事後推定ライブラリもある.
http://ill-identified.hatenablog.com/