2010-01-01から1年間の記事一覧

実体を返してハマった話

C++

最近、ブログに書くネタが特にないほど枯れた生活を送ってましたが、久しぶりにつまらないところでハマったので、書いてみることに。ソースのイメージは下記の通り。class Bの中でclass Aのオブジェクトを複数保持するため、std::vectorで保持している。 #in…

ノロウィルスにかかった

めでたく一家全滅したので、その些末を。 はじまり 明確にいつ始まったかはわからないけど、一番最初は奥さんだったと思う。 11/10(水)の夜のメールで、奥さんの都合が悪いことを知った。残念ながら、ボクはまだ会社。しかし、数分後に嘔吐は止まったよ、と…

CUDA3.2RCを入れてみた

mac

動機 仕事で、GPUを使ったシミュレータのアクセラレートを計画しているが、CUDAを使ってプログラミングできる人が1人だと、何かがあったときに仕事が滞るので、自分も技術を身につけようと一念発起(というほどのことでもないけど)。 インストール NVidiaのホ…

SphinxでTex

Sphinxのバージョンを1.0にアップデートしてから、Sphinxで数式が使えなくなっていたので、それのFix。エラーメッセージは以下のとおり。 WARNING: inline latex u'\\frac{\\partial}{\\partial t} \\int\\!\\!\\!\\!\\int_{A} \\mu\\vec{H} \\cdot d\\vec{A…

家族4人+犬一匹の生活が始まりました

長男の出産のため、3月後半から実家に戻っていた家族達が昨日戻ってきました。 案の定、今まで一人だったのが、いきなり4倍に膨れ上がるわけなので、ごみの量からしてボリュームが違いすぎる。そして、何よりも時間配分が思いっきり変わった。日中、子どもが…

そう言えば。。。

http://d.hatena.ne.jp/yukichanko/20100406/1270520600 この続きを書いてなかったなぁ、と。名前は、 輝希(てるき) になりました*1。最初は別の名前を考えていたんですが、 「あまりにも娘の名前とかぶるだろう。アホかJK」 と奥さんに言われてしまったので…

Erlangで数値解析(並列版)

昨日の続き。 http://d.hatena.ne.jp/yukichanko/20100624/1277377040少し時間が余ったので、並列版を考えてみた。 しかし、これでイイのかわからない_| ̄|○並列化したのは、電界/磁界の更新式の部分。 逐次版 並列化対称の関数。 calc_ey({Eps, Dt, Dx}, E…

Erlangで数値解析(ただし、1次元)

数値解析のプログラムを書いてて、Erlangで書けるもんなんだろうか、と思ってやってみた。題材は、電磁波の伝搬問題を解くFDTD(Finite Difference Time Domain)法。めんどくさいので、1次元で。 FDTD法とは Maxwellの方程式を差分法で解く手法。 (上記は真空…

文字列が化ける2

C++

この続きです。 http://d.hatena.ne.jp/yukichanko/20100608/1275971551 std::stringからchar*にしたら、とりあえず変な挙動は示さなくなったのだけど、やっぱり気持ち悪くてしょうがないので、もう少しだけ調べてみた。 gitからソースを取り出して、コンパ…

共有ライブラリが読み込めない

http://d.hatena.ne.jp/yukichanko/20100608/1275971551 この続き。 日を変えて、再度実行したら、やはり文字列が化けてしまったので、Macから別環境(会社のLinuxサーバー)に移して再現実験をしてみることにした。 Linuxで実行すると、Segmentation Faultで…

文字列が化ける

C++

この辺り、ちゃんとC/C++の文字列を理解していないのが問題だが、下記のような文字列をログファイルに出力する関数を作った場合、 void Common::out_log(FILE* log, const std::string& mes) { fprintf(log, "%s", mes.c_str()); } コレとは関係ない文字列が…

各種データ構造のMessagePackのよるシリアライズ/デシリアライズ化

C++

本来の使い方とは違う気がしてるけど、C++オブジェクトのシリアライズ化にMessagePackを検討中。 その際に、ポインタ型、参照型、enum型のシリアライズ/デシリアライズの方法をテストコードで検証したので、備忘録がてら、さらしておく。 ポインタ型 http://…

Sphinx備忘録

最近、Macで仕事していることもあって、ドキュメントのほとんどをSphinxで書いているのだけど、正直、reSTを知らないこともあって、色々つまづいてる。Sphinxといえば、渋川さんが訳されたドキュメント(http://sphinx.shibu.jp/)があるわけだけど、そこには…

Mac de お気楽数学ライフ

別に数学をしたいわけでは全くないので、タイトルに偽りがあるのですが、エンジニアならばどうしても資料に数式を書いたりしなくてはいけないもの*1。 今までは、Officeの数式エディタで作っていたのですが、最近、Macでプレゼン資料やドキュメントを作るよ…

ペットの病気

今日、久しぶりに動物病院に行ってきました。嫁さんが里帰り出産で大阪帰ってきたのが、3月の中旬だったので、約2ヶ月ぶり。 うちのペットはヨークシャーテリアのメス11歳です。名前は「蘭」といいます。人間で言うと60オーバーなので、もう初老に入るころ。…

3.3.1 可変リスト構造

久々にSICP Lite#13 http://atnd.org/events/3505 に行ってきたので、復習を兼ねて、3.3.1からやってみま〜す。 方針は、例によって「難しい問題は飛ばすwww 」と言うもの。まぁ、Liteクラスタですから。ここでは、リストを変更する、と言うことで、純粋関数…

新しいMacBookProを買いましたよー

mac

と言うことで、自慢ネタwww 動機 先週辺りから、今メインで使っているMacBook Air君の調子が悪く、一時、起動できなくなっただけでなく、OS再インストール後もEvernote, Chromeが立ち上がらなくなる、と言う現象に見舞われました。Chromeは、Safari, Firefox…

第2子が生まれそう

今朝、妻から破水したとの連絡がきました。今日、もしくは明日にでも顔を拝むことができそうです。 しかし、予定日が21日だったので、2週間もフライング。まだ、名前すら決めていないけど、とりあえず仕事を放って、大阪に行ってきます。 (若干、炊飯器が心…

Gitのバージョン番号をプログラムに埋め込む

C Git

気がつくと、1ヶ月近くBlog更新してない。簡単なTips。Gitの管理番号をソースコードに埋め込みたくなった。用意するのは、MakefileとCのソースコード Makefile Makefileの中には、Shellコマンドを書いたりすることができる。 GIT_VER = $(shell git log -1 …

超絶オレオレメモ

Git

前回は、すでにあるsvnレポジトリから、git-svnを使って、ローカルにgitレポジトリを作る方法だったので、今回は既存のプロジェクトから、バックアップレポジトリを作る方法。 ローカルプロジェクトに対して、gitリポジトリの作成 & コミット ひょっとすると…

超絶オレオレメモ

Git

前回は、すでにあるsvnレポジトリから、git-svnを使って、ローカルにgitレポジトリを作る方法だったので、今回は既存のプロジェクトから、バックアップレポジトリを作る方法。 ローカルプロジェクトに対して、gitリポジトリの作成 & コミット ひょっとすると…

コンストラクタから間接的に純粋仮想関数を呼べない

C++

C++を使っていると、結構頭にクエスチョンがわくことが多い。おそらく、私がC++を深く理解出来ていないからだろうけど。今回は、コンストラクタから間接的に純粋仮想関数を呼んだ場合の話。 #include <iostream> class Base { public: Base(){ caller(); } void caller</iostream>…

virtualキーワード

C++

今までvirtualキーワードの意味を勘違いしていたらしい。たとえば、このようなコードがある場合、 #include <iostream> #include <string> class Base { public: Base() {} const char* name() { return "Base"; } }; class Child : public Base { public: Child() : Base() {}</string></iostream>…

Polymorphism

C++

実は理解しているつもりが、してないような気もしてるので少し練習。 #include <iostream> #include <string> class Base { public: virtual void say_name() { std::cout << "オレを呼ぶな" << std::endl; } }; class Circle : public Base { public: void say_name() { std::</string></iostream>…

git-svnオレオレメモ

インストール Mac Portsでgitをインストールした場合、git-svnはインストールされていない。 と言うことで、追加インストールする必要がある。 % sudo port install git-core +svn [参考]MacPortsでgit-svnをインストールする上記のサイトをみると、すでにgi…

朝活3週間目

生活時間を3時間ほど前にずらして、家族との時間を持とう、と言うマイプロジェクト。 今週で3週間が終わりました。最初の2週間は、娘の風邪や自分自身の風邪の問題があったので、木曜日で断念。今週初めて、月から金を通して朝活が出きました。 朝活概要 2:3…

テンプレート使用時の分割コンパイルの方法

C++

汎用的な関数を定義したいときに、複数の型で使えるようにコードを大量にコピペするのは、愚の骨頂なので、C++にはテンプレート関数と言う機能が備わっています。 そのテンプレート関数(おそらくクラスでも同じ問題が出るであろう)を分割コンパイルするとき…

いち上司の発言

他愛のない話。今日、久しぶりに課長が我々の職場に来ていたのですが、そのときに、 「Aは、昨日誕生日なのに、3時まで働いてたらしいぜ」 といいました。聞けば、Aさんは翌日の会議の資料を作るために、実験を行ったり、資料の精度を高めていた、とのこと。…

R勉強会でLTしてきた

あまり統計に明るくないワタクシですが、これを機に勉強しようと思い立ち、Rの勉強会に行ってきました。 http://atnd.org/events/3054 当日は、id:yokkunsが検定の説明をしてくれました。 ちなみに、ボク自身は統計が苦手。なぜ苦手なのかを考えると、非常に…

朝型生活にする

世の中ワークライフバランスだとか言われてますが、そんなものはお上から言われてやるもんじゃない。下々のものが自発的にやらなきゃ、ということで、ボク自身も生活習慣を変えることにしました。生活時間を変える前後のワークライフを図にしてみました。 昼…