スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

良い子はまねしちゃいけないgccでの構造体共用体 

しばらくgccから離れていたのでしらなかったことをつらつらと。
良い子はまねしちゃいけないので詳細は省略

 

typedef union {
    unsigned long l;
    struct {
        unsigned long s0:16;
        unsigned long s1:16;
    };
    struct {
        unsigned long c0:8;
        unsigned long c1:8;
        unsigned long c2:8;
        unsigned long c3:8;
    };
} t_multi;

 

これはちょっと魅力的かも。&multi.s0はがまんする。

 

 struct {
      unsigned long l:1;
      unsigned long c0:7;
      unsigned long c1:8;
      unsigned long c2:8;
      unsigned long c3:8;
 };

 

なんてやったら大変なので良い子は使ってはいけません。

gccとは関係ないけど

 

struct {
    unsigned short s0:16;
    unsigned short s1:16;
}

 

 

struct {
    unsigned short s0;
    unsigned short s1;
};

これはうまく使い分けたいものです。


スポンサーサイト

ROCK FUJIYAMA 

私が定期的に見ている数少ないテレビ番組の一つがROCK FUJIYAMAです。 キャストはここはLAだと言い張る鮎貝健とバイリンガルなシェリー、タモリ倶楽部にもでたことのあるメガデスのマーティフリードマン、 元すかんちのローリーにその他もろもろの人々。このキャストで「ヘビメタさん」という番組を思い出した方は、かなり正解です。 というかそのものです

 

私にとって深夜番組のB級度が下がりまくりの最近において数少ない貴重な真性B級番組です。 スポンサーがGyaOの一社提供というのもいかにもですね。 内容はヘビメタさんのときに人気のあったコーナーを中心にほぼ固定化されているっぽいです。今時の選択と集中ってやつですか。合理的ですな。 私の勝手論ですが、つまんねぇコーナーの無いB級番組は飽きられる可能性があるのでつまらないコーナー復活希望です。 グラビアアイドルがお勧めのベースの弦とかを紹介するコーナーとか。(笑)


 

山下たろーくん -うみとそらの物語- 

今週モーニングに掲載されていたHOTELという読み切りマンガにかなり感動したのですが、 涙腺に直接訴えてきたのはバンチで連載されている山下たろーくんでした。通勤途中で読んでいたのですがマジでやばかったです。

ヨミビトという生徒のエピソードなのですが、 野球部員編や編集部員編を読んだことのある人ならヨミビトというキャラクターが須永を意識しているのは一目瞭然です。 ストーリー自体もたろーの生徒であるヨミビトが好きな作家である須永があまりにも都合よく現れてヨミビトの心を動かすというひねりもへったくれもないものなのですが、 それでも泣けてきました。

個人的に泣けてくる理由は一つ。須永の台詞「山下たろーの魂の反応を信じることだ」。
これにつきます。ありえないほどダメ人間である山下たろーを信じる者が幸せになっていくこのマンガですが、 このマンガを好きで読んでいること自体が読者が山下たろーの魂をどこかで信じているのだと思います。 私自身そんなふうに考えて読んでいたわけではないのですが、 それをストーリーの中でそのまま言葉で言い表されたショックに対する私の気持ちの反応だったのではないかと思います。



山下たろーくん~うみとそらの物語 1 (1)山下たろーくん~うみとそらの物語 1 (1)
こせき こうじ

by G-Tools

エラー処理の漏れをなくしたい 

アプリケーションなどのシステムとして稼動するソフトウェアを開発する場合、独自にエラー番号を定義することが多いと思います。 通常の開発では正常系の処理が先に実装されますのでエラー処理は多少の差こそあれ後回しにされます。

 

一つの関数の中でエラーを検知、エラーの対処を行う場合はそれほど問題は発生しないのですが、 エラーの検知する箇所と検知したエラーを対処する箇所が別である場合、エラー処理が漏れてしまうことがあります。 細かいエラー処理になればなるほどIssueTrackなどにも要件やToDoとして登録されることが少なくなりこれもエラー処理の漏れが見逃されやすい要因になっています

 

このことを(小さいシステムでも使用可能としたいので)できるだけコストをかけずに対処できる方法として次のようなものはどうでしょうか。 あくまで思い付きレベルであることを最初にことわっておきます

 

以下のような関数(あるいはマクロ)を用意しておきます。

ErrMsg RegsterError(ErrNo errno);
void ResolvedError(ErrMsg errmsg);

エラーを検知した場合はRegsterError()を呼び出します。この際にエラー番号が登録されます。 その後エラーを対処したところでResolvedError()を呼び出し登録されたエラーを取り除きます。 こうしておけばエージングなどでシステムを停止させるほどのエラーではないものの放置されているエラーが発生した場合でも後から参照することができます。


ドゥルーズの哲学 

ドゥルーズの哲学―生命・自然・未来のために
小泉 義之
4061495046

ここのところ、ウェブ進化論、 国家の品格と熱量の高い本を読みましたが今回のドゥルーズの哲学という本はそれらに比べればとても熱量が低い本です。 哲学系の本というのは読み手のほうに熱量がなければ読み続けることができません。ただ普通の哲学の本に比べれば読みやすい本だと思います。 絶対的には読みにくい本なのでしょうけども。

 


意外かもしれませんがこの本の中に出てくるキーワードとして重要なのが微分方程式です。 そのために哲学の本であるにもかかわらず(特に理工系の方にとって)多少の読みやすさがあるのでしょう。 哲学系の本の多くはメタからメタへ話が向かいます。 ところがこの本では考えを読者に伝えるために現実に有用とされている微分方程式をメタファーとして用いています。 数学と哲学は相性がよいとはいえ、集合論や代数学でなく解析学というのがおもしろい。そのほかにも発生論や分子生物学、 はてはパラレルワールドなんて言葉まで出てきます。それでもこの本はSF解説本ではなく哲学の本です。

 

微分方程式の範疇が数学1とか数学Bとかではなく解析学と呼ばれるのか、 解析のツールとして微分方程式が用いることは微分方程式が持つある種の宿命に依存しているが故にどういうものになりうるのかなど別の視点を提供してくれる、 私にとってはなりほど感のある本でした。


機動戦士Zガンダム Day After Tommorrow -カイ・シデンのレポートより- 

機動戦士Zガンダム デイアフタートゥモロー カイ・シデンのレポートより (1)
ことぶき つかさ 矢立 肇 富野 由悠季
4047138177

想像以上に読めるマンガでおもしろかったです。ガンダムという世界観を借りて自由にジオラマを造り、 想像の翼を広げるという楽しみ方は確実に存在します。実際にそういうガンダム関連のマンガも多く出版されています。 このマンガはそのような傾向があまりなく、ガンダム本編やデラーズ紛争のストーリーを制約(特に時間的制約)として、カイシデンが何を思い、 どう行動していたかについて描かれたものです。

 

制約といえばカイシデンという存在自体が制約なのかもしれません。 ホワイトベースの乗組員であったということがホワイトベースの他の乗組員との再会に対する敷居を大きく下げてしまいます。 敷居が下がれば物語性が下がります。設定によって下がった敷居はカイの思考によって敷居をあげる必要があります。 カイの思考といってもすでに読者の中に出来上がっているカイのキャラクターがありますからこれだけでも大変なことだと思います。

 

まるで映画で怪盗が赤外線警報装置の隙間をぬって目当ての品にたどり着いたときに表情だけでため息をつくような作品でした。


FreeMindでToDo管理 

mindmap.jpg

FreeMindというマインドマップを作成するオープンソースソフトがあります。 マインドマップとは何かご存じない方やFreeMind自体の詳しい説明はFreeMind Potalにありますのでそちらを参考にしてください。(2006/04/30現在drikin buildが私はダウンロードできなかったので本家のものを使用しています)

 

マインドマップはいろんな方の説明を読ませていただいていると大きく分けて発想法、記憶法(ドラゴン桜で有名になりましたね)、 整理法3つの使われ方があるようです。マインドマップを使用するときにはこのことを意識しておく必要があると私は考えています。最初、 私は自分の考えをだらだらとマインドマップに書いていたことがありましたが、書いた後「結局それでどうなんだ」 となってしまってその後しばらくマインドマップから離れていました。ところが最近ToDo管理に使えるんじゃないかと考え始めました。

 

発想法や記憶法は自分の頭に直接アクセスするものですから、マインドマップを手書きすることによる効果はおそらく少なくないでしょう。 整理法としてとらえた場合、頭の中だけでは困難であることが前提となっています。ここでPC上でツールを使いたくなる大義名分が出てきます。

 

今まで私はToDo管理にTiddlyWikiを使用してきました。私の場合、 比較的長いスパンでのいわゆる締め切りというのはありますが、その締め切りに向かって何をどの順番で行うかは自分で決めたり、 周りの状況に合わせて変えていかなければなりませんでした。 既存のToDo管理ソフトに比べ自由度の高いTiddlyWikiは順番に気をつける必要もなく、 変更などがある場合は検索機能やtagによって目的のメモまで簡単にたどり着くことができたのでとても便利なツールとして使用していました。 今でも会議中の軽いメモには使用させていただいています。 ただTiddlyWikiではメモとメモとの依存関係を表現するのがうまくできませんでした。 そこでFreeMindならいけるんじゃないかと考えたわけです。

 

現在も試行錯誤中ですが今のところ次のように使っています。例えばある機能を実現するというような場合、「~機能の実現」 というノードを作成します。その後、 その子ノードとして思いついたことをやらなければならないことや気をつけておくべきことなどを順番等を気にせずにどんどん追加していきます。 一通り追加したら私の場合ソフトウェア開発が仕事ですので仕様作成、設計、実装、テストという子ノードを作成し、 先ほどの書きとめた子ノードをそれぞれの子ノードの下に移動させます。これはマウスでD&Dするだけなので非常に簡単です。 入力はすでに済んでいるのでマウスを使用した操作でも不快感はありません。この後は実際に業務を遂行した後、 そのノードに色を付けていきます。これで何が終わったか何がまだなのかがひと目でわかります。 後から出てきた要件などもその場で追加していくことも当然可能です。

 

おおよそはこんなところでほとんど大丈夫なのですが、 プロジェクトが進んでくるとマインドマップが大きくなって一覧性が悪くなってきます。 そこで子ノードがすべて色付けが終わったノードにも色を付けます。そしてその子ノードを閉じます。 これによって終了した業務に対する情報を見えなくして必要な情報の露出が高くなります。 設計変更などが入ってきたらまたそのノードを開いて必要な項目を追加していきます。

 

マインドマップという思想から作られたツールですので可能な限り発想や思考を止めないようにUIが設計されています。 文字情報を入力しているときはキーボードだけでできるように工夫されています。上記の程度の入力であれば、INSERTキー、 ENTERキー、ALT+ENTERキー、あとは色づけ用に適当なファンクションキーを一つ覚えればOKです。 emacsユーザーにviを使わせるよりはたぶん簡単です。 入力されたデータに対して関係を変えるような場合はマウスの方が便利なのでマウスで行います。

 

マインドマップという考え方から生まれたGUI、アジャイルという考え方から生まれたテストファースト、 民主主義におけるプロテスタントの存在などその思想自体にコミットしていない人にとっても有益なものが生まれてきたという意味においてそれらの思想には価値があるのだと思います。


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。