23:39カードダスといえば、1998年から展開しているバンダイのトレーディングカードで、ちょうど僕が小学生くらいの時に出てきた覚えがあります。2005年からはバーコードが印刷され、お店の筐体(ゲーム機じゃなくてカード販売機という事で風営法を逃れているらしい・・)でゲームと連動するデータカードダスが展開されています。最初のタイトルはドラゴンボールだったような気がします。プリキュアシリーズやアイカツはだいぶカード種類が多いと聞きます。想定外に売れて、妖怪メダルのように割り当て固有番号が不足するんじゃないかと不安になります。玩具のコードって徹底的に省略されてるじゃないですか。頑張ってシンボルを解読するぞー!と思ったんですが、どうもコレCODE128の既存の規格そのままですね。シンボルを読んでみます。以下のようになります。数値でいうと、103,33,43,20,18,17,55,43,40,46,53になります。Aの開始、つまり英数+制御コードでキャラクタが構成されることを示します。(小文字含まず)53はチェックサムですね。計算すると確かに53になります。最後のシンボルはSTOPシンボルです。いうわけで、このカードの固有IDはAK421WKHNです。ちなみにカード名称は「ピンクトルテシューズ」(星宮いちご)本当に固有記号としての意味しかないようです。最初のAKはアイカツを表しているようです。iPhoneでバーコードを読み取るプログラムを書いてみました。実はorg.iso.Code128をセットすると、iOS標準のライブラリで認識可能。CODE128には、コードA~Cまでの文字セットがあります。コードAは英数字+制御文字、コードBはASCIIのみ、コードCは数字のみ。いうわけで、DCDではコードAで記録しているようです。データ領域は英数字で9文字分ということになります。最初の2文字はコンテンツの種類を表しているようで、アイカツ!の場合は”AK”から始まります。ちなみにプリキュアは”PR”のようです。なんとなく理解できる記号ですね。バーコードのデータ9文字から”AK”の2文字を引くと残りは7文字です。このあたりで、もう表題に書いたことは無かったことにしたい感じですが、、とりあえず英数字のみで割り当てるとします。種類のカードを発行できることになります。780億種類以上なので、カード側の固有記号が枯渇することは全く持ってありませんね...。AKの部分に新たな記号を追加することだって出来るわけですし。いえば前期プリキュアのプリカードは、パッと見ても嫌な予感のする変な切り込みがありますね。これはたぶん玩具で読み取りを意識した、本当に省略されたコードだったと思われます。ともだちウキウキペディアはどうやらQRコードに変わってるようですね。01:00タイトルのとおり。Windows相手にNetBIOSの名前解決を試みると失敗することがあるようです。ネットワーク・アナライザで見ると、リクエストは飛んでるのに応答が来ない。発生条件は不明ですが、テストで変なリクエスト送ったあとに起きやすい気がするけど、何もしてなくても起きる時もある。理由は不明ですが、一旦失敗するようになると、特定のIPアドレスから発信したものに対して応答が返らなくなる模様・・・。そのままでIPアドレス変えると動くようになります。このあたりエラーメッセージを簡略化してたので(接続できませんでしたくらいに)、次からメッセージ入れようと思います。基本ここで失敗はしないと思っていたので。SMB/CIFS周りはロバスト性に欠けてやっかいですわー。Windows同士でも調子わるいときありますもんね。無駄にSMB/CIFS周り(のバッドノウハウ)に詳しくなっていく・・・。21:00ネットワークプログラミングの基本中の基本。socket()関数があります。(基本すぎて今ではもう直接使う人はいないのかもしれませんが僕は使います。)socket()関数は戻り値としてソケットのファイル・ディスクリプタを返します。このソケットのファイル・ディスクリプタが何故か現代人には勘違いしやすいようで、うっかり0をエラー値だと思い込んでしまいます。socket()はエラーが発生したときには-1を返します。これがうっかり間違えます。実際0が返ってくることがありますのでたまに動かないという分かりにくい不具合の原因になります。わかっているのにうっかり間違えた例が以下のような感じです。本当に良く見かけます。自分も間違えますが・・・。COV_NF_END}おそらくポインタを返す時の失敗はNULLだろう、ハンドルを返すときのエラーは0だろう的な思い込みがあるせいではないかと思います。WindowsのAPIは成功すると非ゼロを返すという仕様のものが多いので、そういう普段使っている環境での慣れもあるのかも・・・。Macの一部にありました。同様にif(soc){close(soc);}みたいなミスもうっかりやりがちなのでお気をつけください。23:40・・・タイトルのようなソフトをリリースしましたのでお知らせします。リリースしたのは少し前ですが、記事にしていませんでしたので。最近のWindowsではソフトウエアでボリュームのミラーが作れるようになり、HDDの故障に備えることができるようになりました。Windowsのミラーの良いところは何より扱いやすいことです。BIOS画面一切さわる必要ありませんし。いざ障害が起きた時にそれを知る手段がイマイチないのが問題でした。いうわけでステータスが変わったらメールするソフト作ってみました。