ネットワークバイトオーダー

はい、三日坊主です。
この性格はもう治らんとですばい。
最近はまったことを紹介します。
TCP/IPの(ネットワーク)バイトオーダーはビッグエンディアンです。
IntelのCPUはリトルエンディアンです。
ARMやSH4(プロセッサ系)はリトルエンディアンです。
SH2(コントローラ系)はビッグエンディアンです。
リトルエンディアンな環境からデータを送る場合はエンディアンの変換が必要になります。また、リトルエンディアンな環境でデータを受信する場合も変換が必要になります。
リトルエンディアン環境からリトルエンディアン環境だと・・・どないなるんでしょ(汗
ネットワークバイトオーダーは単なる規約だから大丈夫かもしれませんね。
まぁこの辺はぼちぼち知ってたことなんですが、今回はそれ以前の通信確立の段階ではまりました。
環境はWindows Vista(Core2Duo)とLinux(SH4)間のTCP/IP通信です。
試したことは以下の通りです。
Fedora Linux(VMware上のだから仮想CPU?)とLinuxではOK。
Windows VistaとWindows XP(Centrino Duo)ではOK。
なのにWindowsとLinuxの通信でポシャるという状況でした。
もう少し具体的に言うと、Windowsをクライアントにしたら「対象のコンピュータによって拒否されたため、接続できませんでした。」というエラーが出るし、Linuxをクライアントにしたら「connection refused」と出る(エラー番号は10061かな)。Pingは通るし、Telnet接続(つまりTCP/IP通信ができる)もできるのにといったものです。
結論を言うとポートのエンディアン変更をしていなかったことが原因でした。
C言語の場合、以下のようにポートを設定する際、htons()を通す必要があるんです。
address.sin_family = AF_INET ;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(7777);
あ、もちろん環境がリトルエンディアンなときに限りますがね。
で、不思議に思ったのがWindowsの方ですね。C#で記述してたんですが、エンディアンの変更が必要ないんですよね。
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(ip, 7777);
こんな感じでそのまま書けます。CPU的にはリトルエンディアンなのに・・・.NETがなんかやってくれてるんですかね。(謎
とにかく、Linux側でちょちょいと変えたらいけました。
カテゴリー: 未分類 | コメントをどうぞ

タイヤ選び

8のタイヤがそろろろやばいです。
で、タイヤ選び真っ最中でして、迷ってます。う~ん。

ちなみに今履いてるのはエコス(笑です。
グリップのグの字ぐらいしかありませんね。これでサーキット行ったら余裕で吹っ飛びました。
街乗りでもキュッとステアリングを切ると、ズズッとずれます(;O;)
まぁ、5万キロ乗れたこと、こんだけ走ってもロードノイズが皆無だったことは評価しときましょう。

さて、候補は以下の3つに絞っています。購入は通販を考えていまして、探してみたところ以下のような価格帯でした。

  1. DUNLOP SP SportMAXX TT 225/45R18.Z 95W XL  価格17kくらい
  2. DUNLOP SP SportMAXX TT 225/40R18.Z 88Y 価格14kくらい
  3. DUNLOP DIREZZA DZ101 225/45R18 91W 価格12kくらい

考慮したいこと上げますと・・・

  • 今のタイヤよりグリップを上げたい(何選んでも今より下がることはなさそうですけどw
  • 4本で6万くらいで。

DZ101はRX-8 TypeSの純正タイヤとほとんど変わらないぐらいの性能のようです。
なんで妥協するとこれかなって感じです。

で、欲を出すと友達にもオススメされたSportMAXX TTなわけですが、絶妙な価格のTTは扁平率が40なんですよね・・・。RX-8 TypeSの純正は225/45だからできれば45にしたい。

 

 

40にする利点:

  • グリップ上がる
  • 車高がちょいさがる
  • 安い!

40の欠点:

  • 乗り心地が若干悪くなりそう
  • スピードメーターと距離のメーターに誤差が出そう
  • 車体とタイヤとの隙間が広くなる

あー、どーしよ。どーしよ。
17kだと4本で7万かぁw

カテゴリー: 未分類 | コメントをどうぞ

VisualStuido2010でCrystalReportsが動かない

先日こんな問題に遭遇したので紹介します。
VisualStudio2010でCrystalReportsのバンドル版を使用しているんですが、ある日急に動かなくなりました。コンパイルは通るんですが、レポートを出力しようとすると以下のようなエラーが出ます。

{“ファイルまたはアセンブリ ‘file:///C:\\Program Files\\SAP BusinessObjects\\Crystal Reports for .NET Framework 4.0\\Common\\SAP BusinessObjects Enterprise XI 4.0\\win32_x86\\dotnet1\\crdb_adoplus.dll’、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。
続きを読む

カテゴリー: 未分類 | コメントをどうぞ

コンポジションはライフサイクルが完全に一致するとは限らない

UMLのお話です。
最近、誤解しがちなモデリングの技を見ていて結構衝撃を受けました。
その一つがコンポジションの仕様。

コンポジションはUML V1.4から仕様が変わって、ライフサイクルの完全一致を示す表記法ではなくなった話です。

続きを読む

カテゴリー: 未分類 | コメントをどうぞ

jquery mobile ベータ版キタ━(゚∀゚)━!

長い戦いでした。1ヶ月前くらいに出ると思ってましたからね。

これからはjQuery mobileの情報もお届けできたらいいなぁ。

と言いつつ、すぐ時間が過ぎます。

(;´Д`)

カテゴリー: jQuery mobile | 1件のコメント

DirectFBの描画速度が遅い

なんか速い画像と遅い画像があったんですよ。
原因はこちらで紹介したフォーマットにあったようです。
Pseudo ClassだとDirect Classの10倍以上時間がかかります。
デザイナから上がってくる画像はどっちかわかんないので、もうこっちで一括Direct Classに変換したい!

一括変換は同じくImageMagick(6.6.2-8-Q16では変換できるようですが、最新版ではできなくなっていました)で以下のようなコマンドで可能です。
>mogrify -format png *.png

カテゴリー: Linux | コメントをどうぞ

ブラウザのユーザーエージェントを偽装する

お、このiPhoneサイトかっけぇ。ソースは?
と思ったらPCを使うしか思いつかないわけですが、ちゃんと作ってあるサイトだと、
PCのブラウザで見たらPC用のデザインで見えちゃうんですよね。ちくしょうっ

そんなときはPCをiPhoneに偽装する方法があるようです。
Firefoxの場合、User Agent Switcherというアドオンで可能になります。
iPhone4用とかiPad用のユーザーエージェント設定ファイルは、こちらで公開されています。
アドオンのインストール方法から使い方まで全部載ってるのでここではもう何も書きません。

以上!

いやぁ、さすがというかなんというか。やはり三日坊主になりかけの今日このごろ。
ゲームばっかりしてるからですね。
もう少し細目にノート代わりに使っていけたらと思っています。

 

カテゴリー: iPhone4 | コメントをどうぞ

VC++とgccの両方でコンパイル

前者はWindows上でVisualStudio付属のVC++、後者はLinux付属のgccですね。
やりたいことは、どちらでもコンパイルできるプログラムを書くこと。

結論から言うと条件付きでOKということで、かなり厳しい現実が待っています。
今回取り上げるのは文字コードの問題

例えば同じC言語で記述してもコンパイラによって対応している文字コードとしていないものがありあります。これはコンパイラだけでなく、使用するエディタにも言えることです。

例えば、日本語の入っていないテキストをUTF-8/BOM無しで保存を試みても、そのテキストはASCIIコードのみで構成されているので、再度開く際エンコーディングを判別できません。
このときの挙動はエディタ依存であり、例えば秀丸やVisualStudioだとShift-JISで読み込まれます。当然、そのテキストに日本語を追記して上書きしたらShift-JISとして保存されます。つまり、自分はUTF-8で管理していたつもりがいつのまにかShift-JISに変換されることも起こりうるということです。これによって起きるコンパイルエラーは原因がわからずかなり悩むことになるでしょう。

以下はgcc、VC++、およびVisualStudioの文字コードへの対応を表にしたものになります。

文字コード gcc VC++ VS 備考
UTF-8/BOM無し VC++でコンパイルエラー
UTF-8/BOM付き gccで先頭に変な文字(BOM)があると認識されコンパイルエラー
EUC-JP gccではコンパイルオプションを指定することで可能
Shift-JIS gccではコンパイルオプションを指定することで可能

続きを読む

カテゴリー: Linux | コメントをどうぞ

WordPressのフォントをメイリオに変更

WordPressのデフォルトテーマTwenty Tenのフォントをメイリオにします。
(実は前からしてたんですが、WordPressをアップデートしたら元に戻ってしまったのでついでに記事にすることにしました。)

WordPressの管理画面→”外観”→”テーマ編集”→”スタイルシート(style.css)”を選択します。
font-family: Georgia, “Bitstream Charter”, serif;
となっているところを
font-family: ‘メイリオ’,Meiryo, Georgia, “Bitstream Charter”, serif;
に変更します。

 

 

 

 

 

最後に”ファイルを更新”を押します。
これでOK。

変更されてないという場合はファイルのアクセス権がない可能性があります。
ExpressWebを使っている場合、ここを参考にアクセス権を与えてください。

カテゴリー: ExpressWeb, WordPress | コメントをどうぞ

机@今ほしい

今使ってるイズミヤで、さんきゅっぱのパソコン机飽きちゃいました。

新しい机がほしい!机買ったら勉強するような気がします。FEZもうまくなる気がします。
ほしいのはこれ。
ヨドバシカメラで実物見てきました。お値段24,800円。ホワイトが飾ってありましたが、大きさもちょうどいいくらいで(わちの部屋に対してはでかいですが)、かなり質感良かったです。足もしっかりしてたのでプリンタ置いても横揺れが少なそう・・・な気がします。
あぁ、amazonで22,800円かぁ。ふーむ。

カテゴリー: 未分類 | コメントをどうぞ