Home > Archives > 2013年10月

2013年10月

誰だこんなコードを書いたのは

8つくらいあるクラスの定義がほぼ同じではないか.全部バラバラに実装する意味ないじゃん.書いたの去年の俺だけど.

テンプレート引数に bool を持たせておいて,コードの微妙な違いを吸収する if 文がコンパイル時に評価されれば勝ち.それでダメなら微妙な違いの部分をテンプレートメソッドにして型変数のタグで特化を入れてしまうか.

閑話休題.

C++で親クラスのフィールドへのアクセス法が分からずググった.クラスの継承とかいう機能をまともに使ったのはいつ依頼だろうか? 特定のメソッドを備えたオブジェクトを受け付ける関数とか書こうと思うとテンプレート関数書きだす勢いなのでクラスの継承とかまともに使わなくなったような.お行儀悪いな……

何かの映画を見てきた(その2)

うーん……

もうちょっと楽しそうにラスボス化してくれればなぁ.

「話が平行線」と「話がねじれの位置」

どっちがより悪い状況なのか? 平行線の場合はその2本を含む平面内から眺めれば完全に線が重なっているので救いがあるような気がするけれど,ねじれの位置の場合にはどう頑張っても点でしか重ならず救いがないように思う.

何かの映画を見てきた

……

フルード充填に手間取る

リアは簡単に入ったのだけどフロントが全然入っていかず…… マスタシリンダの掃除が不十分だったか? ブリーザーバルブから負圧をかけてもうまく行かなかったので,紆余曲折の末ブリーザーバルブから水圧で逆向きに突っ込むとかいうアホなことをして充填した.

よくわかってない

const オブジェクト x の mutable 指定のメンバ変数を書き換える const メソッド m を呼び出してその直後に x をリターンするというコードは,メソッド m を呼び出す直前の x をコピーした x' を取っておいて,x の m を呼び出すけど x' の m は呼び出さず x' をリターンするというコードにコンパイルしていいのかどうか? const 指定のメソッドはそれを呼び出してもオブジェクトの振る舞いを変えない(キャッシュなどで効率などは変わるかも)という意味なので,上記の書き換えをされても文句は言えないような気がする.

とりあえず const を正しく使うコードに書き直さんといかんな……

GoPro をドライブレコーダにするために回路を組む

GoPro はコンパクトで高性能なのでドライブレコーダーとして使うのに適していると思うのだけど,残念ながら電源をキーに連動させる機能がなく手動で電源入れないとならない.ぶっちゃけ毎度電源入れるの面倒だし,そもそも電源入れ忘れたらドライブレコーダとしての意味が無い.

ということで,USBからの給電とGoProの電源を連動させる回路を組んだ.これでシガーソケットからUSB給電してあげれば,キーとGoProが連動する.

ということで出来上がったもの.手元にあった AVR の ATtiny85 とドックコネクタとトランジスタとダイオードと抵抗で適当にでっち上げた.800円くらい?

GoPro の後ろのコネクタに差し込んで使う.

何も考えずに作った回路は下図の通り.

ドックコネクタの1ピンがGNDで,5ピンがUSB電源直結で,24ピンがカメラの電源と連動したバッテリーからの外部向け電源で,12ピンが電源ボタンとのこと(GoProフォーラムの記事より).この 12ピンを GND に落とすと電源ボタンを押したことになる.なので,5ピンに電圧が来てて24ピンに電圧がなければ,USB給電が開始されてるけどGoProが寝ている状態なので,12ピンを数秒間GNDに落としてGoProの電源を入れてあげる.逆に 24ピンに電源来てるけど 5ピンに電源来てないなら,USBの給電が切れた状態なので,12ピンを数秒間GNDに落としてGoPro の電源を落としてあげる.基本的にはこれだけをやるプログラムを書いて AVR に焼けば完成.それぞれの電源は PB1 と PB2 でデジタルに見張っておいて,電源ボタン押下の操作は PB3 で.PB4 は状態観察用の LED 出力(機能的には必須でない).AVR の電源自体も USB ないしバッテリーから取ればいい.

実際の使い道を考えると USB 給電が切れたあと(つまりエンジンを切って車を離れたあと)も暫く録画しておいて欲しいので,電源を落とす時にはある程度の遅延(15分とか)を入れるようにしてみりした.この時間をある程度可変にしようかとも思ったけれど,面倒なので保留.可変抵抗の値を ADC で読んで調整なりボタン押下でプリセットを切り替えるなりできそうだけど.

さて,とりあえず動くものができたので暫くこれを使ってみるとして,微妙に邪魔なサイズになっているので次のバージョンでは米粒AVRを試してみようかね.頑張れば結構小さくできるはず.

Win7 再インストールで罠を抜けた

ということで,マザーボードのドライバ周りのうち インテル® ラピッド・ストレージ・テクノロジーのが悪さをしていたらしいことが判明.これ以外は大丈夫だった.

何がどう作用して Windows update がコケるんだかわけわからん.とりあえずこれは暫く入れずに放置しておこう.

Win7 再インストールで罠にハマっている

家のメインPCがおかしいので Win7 の再インストールを試みたところ,Windows update ができなくなった.なぜ……

なにか手順がおかしかったかなともう一回試してもダメ.

マザーボードのドライバ関係を入れないとLANが使えないのだけど,それを入れると Windows update が死ぬらしい.うーん……

sched_setaffinity とか taskset とか

Linux で taskset でシェルに割り当てるCPUセットを指定しておくと,そのシェルで立ち上げたプログラムにもその affinity が引き継がれるのだけど…… そのプログラムで sched_setaffinity を呼び出すとシェルの affinity なんぞ関係なくなるというのに困った.同じシステムコールだし当たり前といえば当たり前なのだけど.

使える CPU の集合を厳格に規定できると嬉しいのだけど,Linux だとやりようがわからない.VM 立ち上げて VM の affinity を設定するってのが解決か?

今日の謎

M/M/1 の待ち行列のモデルで,サービスが終わってシステムから出てくる人々ってポアソン過程なのか? キューが発散しない場合には入ってきた人々は必ず出て行くのだから,定常状態なら入力と同じポアソン過程な気がするのだけど…… よく分からず.

mm レジスタが余っているので途中結果置き場に使おうかと思ったけれど

xmm レジスタから mm レジスタに値を移動しようと思うと一度メモリを経由する形になるような? 少なくとも _mm_movepi64_pi64 はそのようなコードに展開された.

そして…… ちょっとコードの順を入れ替えたら __m64 で宣言した変数が xmm レジスタ上に確保されるようになってしまった.おかげで xmm レジスタが足りなくなりメモリアクセスが増えて遅くなった.むずい.

閑話休題.

18日発売のヤングガンガンを買いに本屋に行ったら,雑誌コーナーに3冊ほど平積みされているヤングガンガンを発見.微妙に表紙に違和感を覚えながら買って帰ってきたら,みごとに2週間前の前号だった orz.やっちまったい.

うーん,コンビニの店舗ごととか本屋ごとに雑誌の入ってくるタイミングがだいぶずれるのが困る.こっちにはこの雑誌が一日前に入るけれどこっちは1日遅れ,別の雑誌だと云々.オンラインの雑誌定期購読のサービス使ったほうが安全かつ楽な気がしてきたなぁ.

とりあえず峠を越えた本屋にでも行ってくるか.

とりあえず満足

元が 3.7秒だったのを根性で 0.5 秒切るまで速くしたのでとりあえず満足.そろそろ端末室の電源が落ちる気がするのでお家に帰ろう.いい加減にお腹すいた.

LU分解を頑張って速くする

という競争に参加するために頑張ってコードを改良中.元が3.7秒だったのがブロック化とテンポラリ配列の利用とアンローリングと手動パイプライン化で1秒ジャストまで速くなった.

キャッシュを効かせるなどで高速化するのは煮詰まってきたので,ここらで SSE 命令に手を出して倍速を目指そう.似たような環境での昔の記録が 0.5秒強なので,0.4秒台を出せるまで頑張ろう.

C++言語のドラフトを印刷しようとしたら

トナーが切れた.もとからトナーが切れそうだったのだけど,あっさりととどめを刺された.さすが1300ページ超.

とりあえず黒トナーの変えはあったけれどカラーの変えがなく,モノクロすら印刷できないのでプリンタにはエラー表示のままトナーの到着を待ってもらうとしよう.

セミナー室が汚い

責任者はだれじゃー! 6月末の床掃除以来全く掃除されとらんだろー!

後期に入り学生も出てきているので掃除されてるかと思いきや,全くそんなことはなく.とても気に入らないので今日の会議の前にほうきを持ちだして掃除してきた.つーか,共用場所の掃除担当とかどういう仕組みになっとるんだ? 

閑話休題.

今日は GCC 4.8.2 のリリース日.FTP のミラーを覗いてみてもアーカイブが入ってないので svn からタグ指定で gcc_4_8_2_release を落としてきた.とりあえずコンパイル成功.

閑話休題.

フルサイズミラーレスの α7R と α7 がやっと発表されたか.同時にフルサイズ対応の α-NEX マウントアダプタ LA-EA4 も出ると.うーん……  ローパスレスなα7Rが欲しい気もするけれど像面位相差AFが無いって点が気になるなぁ.LA-EA4 つけて αマウントレンズで運用するのがメインなのか? コントラストAFが頭よくて爆速だったらEマウントでも良いが,Eマウントのフルサイズ対応レンズも無いと意味ないし.悩ましい.

だがしかし,α7Rのミニチュアフィギュアとかは欲しい気がする.

openemma のインストールに失敗する?

懐かしき閻魔システムのオープンソース版であるところの openemma のインストールを試みたが…… ログイン画面でログインすると DB のテーブルが無いとか系のエラーを食らう.Wiki の手順に従ってみたけれど,どこかでテーブル生成に失敗しているのだろうか? ソースがあるのだから全部読めば良いのだけど面倒なので暫く放置.

コスモスを見に行ってきた(その3)

重たいレンズ持って車でキリンビアパーク再び.とりあえず,8時頃には駐車場内の交通整理のおっちゃん達が出動してきてた気がする.既に30台くらいの車が来てたけど,8:30 でも駐車場はまだまだ空いてた.







コスモスを見に行ってきた(その2)

久々にバイクを出してキリンビアパーク福岡と道の駅しんよしとみに行ってきた.

まずキリンビアパーク.無料なのに圧倒的なコスモスの量.例によって日の出前に到着し,日の出とともに花が浮かび上がる様を見られた.とても満足.



広いので南西の駐車場の方からパノラマ的にぐるりと撮影.最後は日が入って失敗.




ぶっちゃけ今年見てきたどこよりも気合が入っている感じ(タイミングが良かったのもあるが).密度も高いし広いし見やすいし.ここだけ見ておけば十分な気がする.

次に道の駅しんよしとみ.キリンビアパークから R500→R386→R212→R10 で到着.キリンビアパークに比べるとコスモスの気合が足りない.

でも,お祭りは面白そうだった.スポーツフェスタという名の体力測定が色々と出来るイベントがあり,握力とか立ち幅跳びとか以外に長靴飛ばしとか麦わら帽子投げとかペタンクとか色々あった.参加しなかったけど.

閑話休題.

キリンビアパークは日の出前でも駐車場に入れた.7時くらいにいた車は10台くらい.昼間にどのくらい混むのかは分からない.そして駐輪場という看板に矢印が書かれていたのだけど,ソッチの方に進んでみても結局駐輪場がどこなのか分からなかった.看板のすぐ横のスペースをさしていたのだろうか?

道の駅しんよしとみからの帰りに r32 を通ってみたのだけど,一言で表現すると「ススキでボディを掃き掃除できる道」だった.ちょっとススキの元気が良すぎて道にだいぶはみ出してきてた.自分の車では通りたくない.

そして携帯でGPSログを取るのに成功.MyTracks という Google製のアプリを使用.GPX 形式にエクスポートできるのでありがたい.6時間くらい動かし続けたけれど途中で電池切れとかにはならなかった.まる一日くらいは使えそうな気配.

GPS端末壊れる

Garmin の eTrex Vista HCx を使っていたのだけど,今朝車内でお亡くなりになったもよう.シガーソケットに突っ込む安物USB電源アダプタから電源を取っていたので,その電源の質が悪かったのかなぁとか思わなくもない.

とりあえず,しばらく試しに携帯でGPSログを取ってみるか.ダメそうだったら新しいのを買うことにしよう.

コスモスを見に行ってきた

まず,ミルクロードからくじゅう花公園.年間パス持ってるので入場料無視.面積はそれほど広くないけれどイエローガーデンとあかつきも入ってて見た目も面白くカラフルで良い.この前の台風とかの影響なのか花が傷んでいたのがちと残念.



ちょっとだけ紅葉も.

そしてサルビアが真っ赤っ赤.

そして次にファームロードの途中にあるあまがせフラワーパーク.入場料500円なり.色は単純な白・ピンク・赤系.トータルの数は多そうだけど,各コスモス区画がちょっと離れ気味に広がっているので一望できずコスモスの密度も高くないのでちょいと残念.また来るかどうかは微妙.


最後に道の駅おおとう桜街道のとこ.無料.色は単純な白・ピンク・赤系.開花具合にばらつきがある気がする.全体が満開になったら結構良さげ.

つか,ここのコスモスを見に来る人がぜんぜんいない気がする.今日も一昨日くらいに来た時にも誰も見てなかったし.道の駅のすぐ隣なのに柵が邪魔で一旦道の駅の出口から外に出ないと来れないという不便が原因か? どうにかして欲しいところ.

閑話休題.

道の駅おおとう桜街道のパン屋の野菜カレーパンがうまい.

また未明に阿蘇へ行く

ラピュタの道の上で日の出を拝む.昨日雨が降って今日晴れたから雲海を期待していたのだけど出なかった.残念.

だがしかし,ミルクロードとの合流点から300m下った最初のヘアピンには人が沢山.

路駐と三脚で車がなかなか通れないとかいう.三脚組マナー悪し.

ちなみに,今日は風も強くなかったので獣道を通ってラピュタの道の最初のヘアピンの上の高い所で撮影.朝露で濡れまくったり急坂で滑ってコケたりしたけれど,見晴らしが良いので気にしない.

閑話休題.

帰りにミルクロードのススキがきれいだったので何箇所か止まって撮影.ただ,仙石原みたいに一面にススキってのは見つからず.残念.



最後の写真はレンズが曇ったせいでたまたまソフトフィルタっぽくなったという……

何かが間違っている気がする

Moodle 上の課題に対して提出されたファイルを手元に整理してダウンロードしその中のソースファイルをコンパイルして実行時間を取る,とかいうスクリプトを昨日から書いていた.何となく Moodle の間違った使い方というか使いきれてない感が漂う利用法で……

とりあえず,Webベースのツールは少しだけの操作には直感的で便利なのだけど,大量の対象に対して同一の操作をきれいに行うとかいうのがやりにくいのが困る.定期的な課題とかを一斉に生成しつつ,さらに受付時間の一斉変更とかをスマートに出来る仕組みが欲しい(知りたい).

commit を忘れる

全体で CVS 管理されているのだけど手元でネットがないときに更新したものとかを記録しておくのに git を使うとかやっていると,git の commit だけして満足して CVS 側に commit し忘れる.そして commit してねぇぞゴルァと怒られる.

なぜ未だに CVS なのか…… 歴史が重い.

うーん……

中途半端な計算量のDPが出来たなぁ.つーか,テーブル内に適当な変換で同型になるようなエントリが混じってるから微妙な感じで…… 面倒なので寝て考えよう.

台風が

来ない.

午後は休講だしさっさと帰れとのお達しも来たし,雨がひどくなりそうになったら帰ろうか,とかいうことを昼前に思って様子を見つつ作業を続けていたらいつの間にか日が沈んでた.とりあえず腹減った……

転送がおかしい

何故か実家の親宛のはがきが自分の所に転送されてきたという…… 実家→東京→九州とかいう2ホップの転送で.

確かに去年の秋2ヶ月間海外に行ってた時に東京→実家の転送を入れてて,帰ってからそれを打ち消す実家→東京の転送を入れたのだけど…… それは自分の名前だけを転送対象にしていたので親宛のはがきが転送されるのはおかしい.東京側の親切で東京→九州も登録にない名前で転送してくれてるのが幸いか.

とりあえず実家のところの郵便局の間違いか小さな親切かだな.

閑話休題.

明日は台風につき午後は全部休講.というか,いつ頃台風が来るのだろう?

のこのしまアイランドパークへコスモスを見に行ってきた

天気が良くなりそうなので朝6時に家を出て能古島ののこのしまアイランドパークへコスモスを見に行ってきた.7:20位に姪浜の渡船場に着いて,7:45 の便で能古島に渡り,8:00 から歩いて 8:30過ぎにのこのしまアイランドパークに着いた.通常の開園は 9:00 となっているのだけど 8:30 過ぎに着いた付いた時にはもう入園OKだった.

海を見下ろす方向(北)でコスモス畑.方向的に青空を入れやすいのだけど,今日は雲が邪魔してて残念.



逆光で.


青空入りで.


量的(畑のサイズ的)には昭和記念公園に及ばないけれど,海があるのは面白いかもしれない.入園ゲートからの遠さはいい勝負.アップダウンはこっちのほうが激しい.ピンク系のみで黄色系が無いのは残念.交通の便がよろしくないのも残念か.花の密度はこっちのほうが高くてよかった気がする.

閑話休題.

暑かったので 10:03 のバスに乗ってさっさと戻ってきた渡船場の 10:25 頃の様子.臨時便でぞろぞろぞろぞろ車と人がたくさんやってきた(フェリーのサイズが小さいので絶対量は多くないけれど).朝一の平和な時間帯に来ておいて正解だった気がする.



ちなみにこの臨時便の折り返しに貸切状態で乗って姪浜に渡った.姪浜からの次の便とすれ違うために港手前でくるりと一周回るおまけ付きで.何となく嬉しい気分.

そういや渡船場すぐ横の立体駐車場は帰り(10:45 頃)には満車だったっぽい.ここがダメでもちょっと先に海浜公園の駐車場もあるっぽい.

早起きしたのに

雨だった.これでは出かける気にならない.

とりあえず,予報より今日の天気は悪化したけど明日の予報は良くなっているので明日に期待して寝よう.

C言語でプログラムを書く実験演習にて

ウォーミングアップにフィボナッチ数を高速に求めてねというのをやってみたら,思いのほか難しかった様で? 開始直後に見て回ったコードはC言語の文法では無いものが多数あったり.まあ,後半では動くプログラムを書いている人が多かったのでみなC言語を思い出してくれたと思いたい.どこぞのエディタには main 関数内に fib とかいう関数が定義されてたけど…… まあ gcc 使えと言っているので正しいといえば正しい.

そして出題のミスを発見.n が大きくなると int に入りきらないので,てきとうな正整数 Q で割った余り(つまり fib(n) mod Q)を求めれば良いとしたのだけど,これをやると最大でも Q^2 - 1 の周期になってしまうので,Q が固定なら周期を先に求めておいてハードコーディングすると定数コストで答えが求まる.しかも,周期が最大の Q^2 - 1 になるようなことはあまりなく(とりあえず Q=3 は最大周期になるが,これ以降数万くらいまでの Q では全然ダメで,Q は超えるけど Q の定数倍くらい),出題に使った 3万程度大きさの Q は 3千程度の周期しか無かった.前もって周期の長さをチェックしておくべきだった……

PM2.5の注意が回ってきた

とりあえず部屋の換気をするなと.10月に入って空調切れたのだけど,明日から暫くは復活するらしい.

マスクでも用意しておくかね.

10日前に Amazon.co.jp で買った商品がやっと届いた

まさかの海外発送とか.よく考えるとマウントアダプタとかそんなもんだよね……

EOS-NEX のチルト付きのアダプタなので遊べるといいなぁ.ぶっちゃけ EF マウントのレンズとか 50F1.8 と 456 しか無いんだけど.

とりあえず絞りを調整するためにも電子マウントアダプタも一つ欲しい気分.

とりあえずエクセル使っときゃいいやという

教職員紹介のページの内容を書けとメールが来てたのだけど,記入先がエクセルのファイルで…… なんでエクセルなんだろうとかふと疑問に思った.なんとなくエクセルでセルをびろ~んと伸ばしてソレらしい記入欄を作ればいいや的なことが多い気がするのだけど,それがエクセルの正しい使い方なのかどうかがよくわからない.使えりゃ正義ってことだと思うけど.

Home > Archives > 2013年10月

Search
Feeds

Page Top