TrickDiary このページをアンテナに追加 RSSフィード

2016-10-16

[][][] JXUGC #17 お前の Xamarin アプリを見せてみろ!

http://jxug.connpass.com/event/39470/

keep.grass について発表してきました。

https://github.com/wraith13/keep.grass

keep.grass は近日ストア公開予定の iOS, Android, UWP 向けのアプリで、Github 上での進捗を途切れさせることがないように最終アクティビティを確認および残時間を通知する為のアプリです。

今回、スライドなしで発表してきたんですが、その内容と周辺の情報について簡単に情報をまとめておきます。

Twitter上で日本語縛りで Xamarin ユーザー検索してフォロワー数の降順に並べると自分がどうやら三番目にくるらしく、ホント、なんか申し訳ない。。。

Xam.Plugins.Forms.ImageCircle

概ね問題ないんだけど、 UWP 版の Windows Mobile ではなぜかちゃんと丸くならない。同じ UWP 版でも PC では問題ないし、以前は Mobile でも問題なかったがどこかのタイミングの Xamarin 周りのアップデート以降ちゃんと機能しなくなった。

クルクル

定刻通知

この種の UI は時刻の追加/編集・選択/削除あたりの UI を提供するのが普通だと思うんだけど、それだと開発者として実装するのもユーザーとして利用するのも面倒という誰が得するの?と言う状態になってしまうので

思い切って30分区切りで24時間分のスイッチを並べました。

OxyPlot.Xamarin.Forms

まだ unstable 版なのは承知で手を出してはみたものの以下のような問題があって、いまこのプラグインの代わりに SkiaSharp に移行してるところ。

  • なんか変な線が描画される。
  • Androidでは Resouce.designer.cs が勝手に弄られてそれをそのままコンパイルするとエラーになる。( 変更を破棄して、元に戻せばコンパイルも通るし、自分が試した範囲においては正常に動作した。 )
  • UWPにはそもそも対応してなかった。

SkiaSharp

2013-12-10

[]進捗ダメです。

これは進捗Advent Calendar 2013の第10日目の記事です。

近年、身体が弱ってて本当いろいろダメです。それでも定時退社を心がけ睡眠時間をしっかり確保し、ほぼ毎日1時間以上かけて歩いて帰るようにしてるおかげでなんとか体調を少しは持ち直しつつあるところです。

まぁ、そんな状態なもんで今年はまともに動き出せたのが6月末頃からと言ったような状況で、今年の成果らしい成果と言えば solomon を公開できたことぐらいです。

現在はWindowsアウトラインエディタデスクトップアプリの作製を進めているところなんですが、途中で気が変わってどっかのサーバー上で動作するWebアプリアウトラインエディタを作り始めるかも知れません。

自分の進捗報告は以上です。明日は @mzp さんです。進捗どうですか?

2013-07-07

VAIO Pro 11 | red edition - SVP1121A

[] VAIO Pro 11 | red edition - SVP1121A1J

個人的にはいままでで最高のPC

けっこう難点も多々あるんですが、自分的には過去最高のPCです。自分のランクづけ的に次にくるのはノートPCとしては初めて買った DynaBook SS PORTÉGÉ 3010 で、さらに次は VAIO type T(TZ) って感じで、はい、B5ファイルサイズの薄型が超大好きです。この VAIO Pro 11 が届いた時には感極まって泣いちゃいそうな勢いでした。そんくらい大好きです。他のサイズもいろいろ試してはみましたけど、やっぱり自分的にノートPCとして一番しっくりくるのはB5薄型。VAIO P とか VAIO type U みたいなああいうイロモノ系はそれはそれでアリだと思うんですが。

「メガネは身体の一部である」なんて話もありますけど、少なくとも自分にとってはPCはメガネ以上の存在であり良きPCに手にすることは非常に重要なことです、はい。

red edition

もっと下品な赤かと思いつつも、red edition にしてみましたが、上品な感じで安心しました。とは言え派手は派手ですねw 黒ほどではないらしいんですがやはりテカテカのボディの為、指紋が気になっちゃう。

多くを望む人には向かない

割と難点が多々あるんで、 VAIO Z のようななにもあきらめないモバイルPCみたいなノリを求めてる人には向かないマシンです。それでも性能を犠牲にし過ぎた VAIO P や VAIO X と違って全然ストレスなく快適に使えるレベルではあります。

VAIO X は iPad に殺された

B5薄型が最高!・・・ってことなら VAIO X がいいのでは?となるのは当然だと思うのですが、 VAIO X は駄目でした。なにが駄目だったかと言うと、 VAIO X だけだったらまだよかったんですが、自分にとって VAIO X を殺すことになってしまったのは iPad の存在でした。大きさや重量的にも VAIO X と iPad って非常に近いんですが、ビューアとしては余分なものがなくタッチパネルで操作できる iPad のほうが明らかに勝っていて VAIO X のアドバンテージであったキーボードも本体性能が十分でなく、またタッチパッドが貧相なこともあって入力を伴う作業でも決して快適とは言いがたく、どうせ快適でないなら iPad のソフトウェアキーボードでいいじゃんってことで自分の中で VAIO X は iPad にその価値を殺されてしまいました。しかし、この VAIO Pro 11 は違います。さすがによりサイズの大きなノートPCやデスクトップ機に比べたら劣りますが、それでも十分に快適なレベルでの作業が可能であり、今度は VAIO Pro 11 が iPad を日常的に頻繁に使うガジェットではなくしてしまいました。

ディスプレイの解像度について

11インチクラスのディスプレイにFullHD以上の解像度は不要だと言う人も多いですが、一度 retina ディスプレイに慣らされてしまうとドットの荒い電子書籍(PDFを含む)なんてとても読んでいられません。読む速度も落ちれば目の疲労度も全然違いますし、もっと retina クラスのディスプレイが一般的になって欲しいところです。

全般的なパフォーマンスについて

どうもこの機種をあくまでサブマシン的に捉えてる方も多いようですが、自分的には事実上、これがもうメインマシンになってます。MS Office、Adobe CS、Visual Studio さらに Hyper-V 上に Linux と Windows の仮想マシンを同時起動させたりまでしてガンガン使ってます。繰り返しになりますが、よりサイズの大きなノートPCやデスクトップ機に比べたら劣りますが、それでも十分に快適なレベルでの作業が可能であり、特別な理由でもない限りわざわざ他のマシンで作業する必然性に欠けます。とは言え、所詮B5薄型ノートなところもあって、Super Street Fighter IV のような3Dゴリゴリのリアルタイム処理を要求するゲームとか動かそうとすると解像度を最低にしないと話にならない・・・といったところもあります。

頻繁なアップデート

いまのところ、VAIO Update で頻繁にアップデートが来ている為、ここで記述してることはちょこちょこ変化があるかも知れませんのであしからず。

以下、Windows 8 全般な話も込みでのその他のコメント

  • ハード関連
    • キーボードはけっこう酷い。
      • Nキーロールオーバー非対応でアクションゲームで複数キーの同時押しは組み合わせによっては反応しない。
      • 慣れればそれ程気にならなくはなると思うけどぺちぺちふにゃふにゃな打鍵感でけっこう残念。
      • 打鍵感こそ残念だが、VAIO Duo 11 ように注意して打たないとすぐにキー漏れするようなことはない。
    • 液晶パネル&タッチパネル
      • タッチパネルのタッチは自動補正による変な癖があるので注意。
        • 特にIEなんかで大きなクリッカブルなエリアの近くにある小さいクリッカブルのエリアはどんなに頑張ってもクリックできないことがあるっぽい。
      • 一回だけタッチパネルが勝手にタッチされた状態になった。
        • VAIO Duo 11 は悲惨なレベルのタッチパネルの障害があるんですが、 VAIO Pro 11 でもそのレベルで再現しないかちと不安。VAIO Duo 11 のタッチパネルはデジタイザでもあるんで前提条件が全然違うんで大丈夫だとは思うんですが・・・
      • [VAIOの設定]→[画質]→[ディスプレイの色モード]で自分好みの色設定にしたほうがよい。
      • 画質は保護シートのせいか若干ギラつきがある。
      • 保護シートのおかげで指紋は全く気にならない。保護シートがあるほうがタッチパネル操作時に指の滑りもいいらしいので、タッチパネルなしにしないのであれば保護シートは割と必須オプションっぽい。
    • 光度センサーの位置が頭おかしいって、感じでなぜか本体側のベゼル付近の中央に近い位置にあり自動調整を有効にしてるとタッチパネルに触れる度に手の影に入って画面が暗くなる。
    • タッチパッド
      • タッチパッドはあんまり出来が良くない。
        • マルチタッチ対応にすることで近年のこの品質になってしまうぐらいなら、マルチタッチ非対応のものに戻して欲しいところ。
      • 右下を強く押すことでも右クリックになる他、二本指タッチでも右クリックになる。
      • いろいろ設定できるので自分の使い方や好みに合わせて設定すべし。
      • タッチパッドに対してもタッチパネルでのジェスチャーの多くが有効。
    • 使ってると度々手前両端の角で痛い思いをすることがある。
    • VTは例によってデフォルトではオフになっているので、仮想マシンを使うつもりならBIOSから有効に設定。
    • ケースはMacBook Air(11インチ)用のものを使用。少なくとも自分が使ってるMacBook Air(11インチ)用のケースはジャストフィットです。
    • ファン
      • なにもしてない時に Windows Defender さんが頑張って五月蠅くなっちゃう。
    • 電源ケーブルがやけに抜け易い。電源ケーブルを足に引っかけりした場合なんかのトラブル回避の為だとは思うけど、充電してるつもりがバッテリーが空になってたってことになりかねないのでそのあたりは要注意。
    • シール
      • 結局は剥がしたけど、今回のはそんなに外観を損ねていない。
      • Windows 8 のシールだけは未開封を証明する類いのシールと同じ作りになってて綺麗に貼り直すのは多分無理。
      • インテルはアンチセフトシール作れよー! 防犯会社のシールと同じで盗難防止効果が望めると思うんですけどねぇ。
    • スピーカーは自分が今まで使ってきたこのサイズのマシンとしては別格で最高。
      • スピーカーとヘッドホンで音量設定が個別に扱われないのは地味に辛い。
      • [VAIOの設定]→[音質]→[詳細]で自分好みの音設定にしたほうがよい。
        • ただしバグがあるようで、OS側から音量調整すると一部設定が無効になるのか明らかに音質が変わる。
        • ここではスピーカーとヘッドホンを個別に設定できるのでここでスピーカー音量を大きめに設定しヘッドホンの音量を小さめに設定することで前項の問題を大きく緩和できる。
    • バッテリーのもちはお察し。
      • 使い方にもよるけど、拡張バッテリー抜き&いたわり充電で自分の使い方だと4時間持ちそうにない。
    • WiFi
      • 2ch見てると主にAtremユーザーから不調の訴えが多いようですが、WZR-1750DHPで使ってて特に問題ないですね。
  • ソフト関連
    • コンピュータ アイコンの差し替え用アイコンを2種類作りました。
    • スタート画面の6行化
      • レジストリエディタでHKEY_LOCAL_MACHINEキー配下のDisplay1_DownScalingSupported値をすべて0から1に変更(恐らく最初に見つかるヤツだけが0)してOS再起動
        • これで6行にならない場合や5行あたりにしたい場合はHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ImmersiveShell\GridキーにDWORD(32ビット)値のLayout_MaximumRowCount値を作り6(あるいはその他の行数)に設定して再サインイン
    • リカバリメディア
      • USB3.0なUSBメモリでもいけるっぽいんだけど、ものによってはうまく行かないことがあるメディアもあるようなのでUSB2.0のものが推奨。
      • リカバリメディア作成のウィンドウが出ている間、他のアプリでもAlt+F4が効かなくなるも言う変な現象があった。使い始めでキーボードが不良品なのかと焦った。
    • NFC関連アプリ
      • Felica周りのNFC関連アプリhttp://www.sony.co.jp/Products/felica/consumer/download/netinstaller.html ここからインストールでき VAIO Duo 11 であればこれで正常に動作するところなのですが、どうもこの VAIO Pro 11 では正常機能しないっぽいです。(私だけでなく他にもこの問題に遭遇している人こそ見つかりますが、うまく機能している人の報告は一つも見つけられません。) サポートにも問い合わせたのですが、その時点ではサポート側ではその事実すら把握していませんでした。『FeliCaの通信技術であるNFC-Fは、NFCフォーラムが定める通信方式の一つとして定義されており、NFCデバイスは必ずサポートすることとなっています。』( http://www.sony.co.jp/Products/felica/NFC/ )ともなっているのでこのままサポートしないってことはないと思われ、いつかは VAIO Update でパッチがあたるか NFCネットインストーラー側でなんらかの対応が行われるであろうと予想されますが、現時点では Felica 関連のアプリは正常に機能しません。実際、これはかなり酷い話ですし、消費者センターに相談するべきレベルの話だと思います。(スペック上、使えなければならない機能が利用できないわけですから)
  • 完全に Windows 8 関連の話
    • IMEの同期問題
      • ATOKをインストールしたからといってMS-IMEを外しちゃうと、その設定が他のATOKをインストールしていないマシンにも同期され日本語入力ができなくなるというトラブルがあるので注意。
    • タッチ キーボードの設定
      • [PC 設定]→[全般]→[タッチ キーボード]で[ハードウェア キーボードに準拠したレイアウトを使えるようにする]ってのをオンにすると馴染み深いレイアウトのタッチ キーボードが使えるようになります。
    • BitLocker
      • 新たに追加・更新される領域だけに適用するという選択ができるようになったので、パスワード等の秘密情報を極力入力しないで各種インストールが完了したタイミングで有効にするのがベスト。
      • 回復キーをMicrosoftアカウントに紐づけて保存できるようになってて便利です。
    • Office 365 Pro Plus
      • http://office.microsoft.com/ja-jp/business/FX103213513.aspx Windows版およびMac版のOfficeが1ユーザーあたり5台までインストール可能で超オススメ。
      • 企業ユース且つ他の Office 365 プランと組み合わせて使うことが前提になっている部分もあり、ひとり且つ単品で Office 365 Pro Plus だけ契約すると Lync や SkyDrive Pro のような全く意味のない部分もあるので注意。

2011-09-20

[][] エラーハンドリング勉強会を開催しました。

ご報告が遅くなってしまいましたが、無事 9/4 にエラーハンドリング勉強会を開催することができました。改めて、会場を提供してくださった DeNA 様、発表者、参加者の方々、ありがとうございました。

自分的にはもっとこうニッチな勉強会だろうと思っていたのですが、結局の所、エラーハンドリングって全てのプログラマが無視するわけにはいかないテーマであり幸いな事に予想外に反響は大きかったようです。

「エラーハンドリングモデル考察」 @wraith13

エラーハンドリングモデルについて考察したいくつかのトピックについて発表させて頂きました。ボリューム不足で大幅に時間を余らせてしまうという失態を犯してしまいすみませんでした。

次にまたエラーハンドリング関連の発表する機会があるとすれば恐らくは tree エラーモデルの実例を交えた解説あたりになるんじゃないかと思います。tree エラーモデルは端からすると仰々しいモデルのように見えるかも知れませんが実のところエラーを投げる側も気軽にバンバンエラーを返すことができ、またエラーリスナーチェーンによってそれを受ける側も非常に効率良くハンドリングできる仕組みを構築できる*1ものだと言うのが私の考えなのですが残念ながら 1 bit たりとも伝わってなさそうなので。(泣

あと、 tree エラーモデルで必須となってくるリスナーなんですが、こいつを外部で差し替えできるようにするのも面白いんじゃないかなぁと思ってたり*2

これができると例えばあるモジュールを使ってた時にそのモジュール的には問題のないエラーだからと握り潰してたら、実は呼び出し元のプログラムではそのエラーが発生するかどうかは重要なポイントで握り潰されたら困るって場面が発生しても、外部からリスナーを差し替えられるようになっていればどうにかなるし、あと、人間系関数まわりの話でも、素のプログラムでは人間系関数も普通の関数と同じように考えてシステム的視点でよいとされるスタイルでエラーを返しつつもエンドユーザーとの緩衝材となるリスナーを挟めば、システム的にも UI 的にもいい感じにまとめ上げられそうだし、同様にデバッグ時にはデバッグ用リスナーを差し込むとか楽しそう。

あと、最近目にしたエラーハンドリングの話題についての自分なり考察など。

  • エラーハンドリングまわりの開発アプローチ
    • 現実から様々なエラーが引き起こされる。言い換えると、実際に多くの試験をこなしてみないことにはどのような問題がおきるかなんてわからない。机上の設計で初めからしっかりしたエラーハンドリングを構築するのは厳しい。多くの試験(本番含む)をこなしブラッシュアップしていくしかない。
  • 一番詳しいのはエラーを投げるモジュールだからエラーを投げる時は解決方法まで提示するべき?
    • そこまでの要求は無茶なんじゃね?
      • 必ずしもはエラーを投げるモジュールが全てを把握できるわけではない。
      • 現実からどのような問題が沸いてくるかわからない。
      • 現実的な範囲で理想に近いものを提供する努力はしたほうが望ましいのは否定しない。
        • エラーハンドリングそのものと同じく多くの試験(本番含む)をこなしブラッシュアップしていくしかないし、多くの場合はそこまで手間暇かけられずに完成度が低いものになってしまう。

cf. 今回の元ネタとなった Boost.勉強会 #3 関西 での発表資料: PPTX版: http://www.trickpalace.net/paper/error.handling.pptx PDF版:http://www.trickpalace.net/paper/error.handling.pdf slideshare http://www.slideshare.net/wraith13/ss-7987895


「エラーハンドリングとアプリの運用」 @super_rti さん

いつものごとく魅せる発表資料で高いテンションに良いテンポの発表で嫉妬しまくりです。

ログまわりは難しいですよね。デバッグの為に大量にログを吐いたところでそれぞれの問題において重要なパラメータがちょっと欠けてるだけで全く意味を成さなかったり、質問で個人情報云々な話の懸念もありましたけど、バグベアードみたいに大量に吐いてると断片的にではあってもソースコードが漏れると言った状態にもなりますし。

cf. 関連する @super_rtiさんの以前の発表資料 http://prezi.com/1jolcfw5y71g/exception/

# よく見ると TRY CATCH になってるw

「ドキュメントとエラーハンドリング」 @cpp_akira さん

ドキュメントとの整合性のお話。

比較的正確なドキュメントが揃ってるだけその点についてはまだましなんですが、無駄にエラーの返し方にブレがある Win32API みたいなのも勘弁して欲しいところです。一部例外的なものがあるとかじゃなくて全体的にブレまくってるから、ちゃんとエラーハンドリングをやろうとすると各APIごとに逐一どのようにエラーを検知するべきか調べて個別に対応しなきゃならんとか非常に不便極まりないですよね。 > Win32API

あ、あと、発表とは関係は無いのですが、魔導書の2巻をチラ見させて頂きました。もうそろそろ発売されるようです。この文章ちんたら書いてるうちに予約開始されてしまいました。

cf. 関連する @cpp_akira さんが作成している資料 https://sites.google.com/site/faithandbrave/error_handling


「スタート例外」 @ranha さん

この年にもなっていまだに女性に対する免疫が低い自分はことりさん (先週、誕生日だったそうでおめでとうございます。)と度々目が合ってドキドキしてしまい話を聞くの集中できませんでした!><

内容については Stack コンテナの具体的な実装について考察。

しかし、度々、勉強会の類いで Haskell のコードを見せ続けられてるせいでいい加減ちょっとずつ覚えてしまいそう。

「Actor モデルとエラーハンドリング(Erlang 時々 Scala)」 @cooldaemon さん

自分的に一番肝だと思ったのは「分散はシステムが複雑になるけど、稼働率を上げるには必要不可欠。」ってあたりでしょうか。

Actor モデルのメッセージパッシングをベースにコードを書くのって恐らく結構独特なものがあるんじゃないかと思うんですがどうなんでしょう?


「失敗するclose()を作る」 @__gfx__ さん

失敗してくれないとエラーハンドリングのテストができないから、失敗する実装に差し替えちまおうというお話。大事です。

「exception_ptrについて」 @egtra さん

スレッド跨いで例外オブジェクトを扱う時には exception_ptr を使いましょうねというお話。

このまわりについては nested_exception 関連で私も以前に調べて、古い情報を元にしてるので C++11 と若干違うところがあるかも知れませんが日本語訳を起こしましたので↓このあたりもご参照ください。

他...

...低レイヤーまわりの話で期待されていたものの今回は残念ながらお話が聞けなかった @mskwt さんは某筋の情報によると、お体を悪くされているそうで容態が心配です。


所感等のリンク

*1:これらの特徴は厳密には tree エラーモデルではなく主にエラーリスナーチェーンによるところが大ですが。

*2:いま対応することを検討していますが、現時点の trickerr.h は内側のリスナーのほうが絶対的な権限を持っており内側のリスナーに握り潰されたエラーは外部でどうこうできません。

2008-10-28

MacBook Pro

[][] MacBook Pro

新しい MacBook Pro を1日ほど触って気付いた点、特に旧MacBook(黒)との比較をまとめておきます。

製品が入っている箱の大きさ
旧MacBookのそれより薄いです。
本体の重さ
スペック的には旧MacBookより1割ほど重いはずなのですが、筐体の大きさから心理的補正により手に持った感じでは MacBook Pro のほうが若干軽く感じます。
トラックパッドのクリック感
誤クリックしないで済むようにという配慮からなのでしょうが、結構重いのでタップによるクリックを有効にしないとやってられません。
トラックパッドのポイティング操作
せっかく旧MacBookでのポインティングの操作感はこのタイプのポインティングデバイスとしては最高峰のものだったのに、機能が野心的な分明らかに操作感は悪くなっています。この操作感の劣化は単純にセンサー的なものだけでなくパッドの材質がツルツルになっていることで指が必要以上に滑ってしまい状況をさらに悪くしています。また特に以前にもまして BootCamp で Windows を利用している時の右クリックが大変です。
キーボードのタイピングの操作感
理由がわからないのですが、旧MacBookおよびApple Keyboardに比べて格段にうちやすく感じます。キータッチとか特に目立った違いを感じないのに...。気持ちの問題だとしても、その原因はどこから?
発熱およびファンの騒音
旧MacBookに比べ発熱しにくくはなっているようなのですが、高負荷をかけていると筐体がアルミ製な分、底面のヒンジ周辺中央がものすごく熱くなります。膝上で使っていたら確実に低温火傷をすることになると思います。ファンの騒音に関しては筐体温度が高くなった時はかなりうるさいですが、旧MacBookの轟音に比べればマシです。
移行アシスタント
Windowsユーザーとしてアプリケーションまで綺麗に移行できてしまうのには純粋に驚きました。ただ、移行元にアプリケーションが残る点についてはライセンス的にどうなんでしょうか?(^^; ちなみに完全にすべてがうまくいったわけではなく XCode は移行できませんでした。あとこれは当たり前と言えば当たり前ですが、BootCamp で作っていた Windows Vista のパーティションまでは移行されませんでした。それからちょっと頂けない点としてセットアップ時に移行アシスタントで旧マシンからアカウントの移行までやっていても後続のセットアップ作業で新しいアカウントの作成を強制されるのはどうかと思いました(仕方がないのでダミーのアカウントを作成し、セットアップ完了後にすぐ削除しました)。
輝度の自動調整
せっかく輝度自動調整では段階的に明るさが変わるのに電源アダプタの抜き差しや放置&再操作による輝度調整は段階的ではありませんでした。あと、輝度調整のセンサとしてカメラを流用しているのか、液晶パネルの角度を変えようとしてカメラ部分が手の陰に入ると一時的に暗くなってしまうのも頂けません。
キーボードのバックライト
周囲が暗くなると自動で点灯し、且つ手動でも点灯及び明るさの調整が可能です。
電源アダプタ
旧MacBookのものと互換性があるわけではない*1のに、若干 MacBook Pro 用の電源アダプタのほうが本体部分が大きいというだけで区別がほとんど付かないのはどうかと思いました。出力は旧MacBook用が16.5Vx3.65Aで、MacBook Pro用は16.5-18.5Vx4.6Aなので恐らく MacBook Pro用のは旧MacBookでも使えるんじゃないかと思いますが、ボルトのMAXが高いので故障の元かも(旧MacBook用のをMacBook Proに使うのはアンペアが足りないので絶対ダメ、確実に故障の元)。
ディスプレイは一見すると綺麗だけど、その実かなり白飛び気味
ただ、その白の発色そのものはかなりいいです。旧MacBookと比べると明らかに写りが綺麗に見えますが、VAIO type T(VGN-TZ90NS)と比べると明らかに見劣りします。ただ、これは最近のVAIO(特に type T のシリーズ)が標準的なデスクトップPC用ディスプレイに勝る液晶(しかもその上あのレベルの薄型)を持つ為で、Mac のディスプレイが並以下というわけではないと思います。
ヒンジは柔らかい
机の上から液晶パネルを開いたまんま膝上に動かしたりすると液晶パネルがフニャリと後ろに若干倒れてしまいます。将来的に馬鹿になりそうでかなり心配です。

*1:少なくとも互換性があるとは公称されていない。

2008-01-22

[][] FlushFileBuffers() が死ぬほど遅い件について

Coming Soon... などと謳いつつ長らくほったらかしにしてたバグベアードをちゃんとリリースすべく、最近弄り回してんだけど、それまで概ね 0.1 秒で終了してたテストプログラムが 8.0 秒もかかるようになって変なバグでも埋め込んじゃったのか?と思いつつ調べてみたら WriteFile() の度に FlushFileBuffers() をやっていたことが原因でした。kb332023をあたりを見るにどうも FlushFileBuffers() は対物理障害(電源断やメディアイジェクト)的なものであってアプリの異常終了に備える意味では不要そう(←根拠なし)なので FlushFileBuffers() は使わないようにしました。てか、80倍のオーダーでのパフォーマンス劣化って...

2008-01-06

[][][] neticon を更新しました。

http://tricklib.com/cxx/ex/neticon/

2008-01-06 ポートチェックのみ IPv6 に対応しました。( PING チェックはまだ IPv6 に対応してません )


IPv6 の API が既存の IPv4 ベースのアプリケーションを IPv6 へ対応し易いように考慮してくれてはいるみたいなのですが、その実、少なくともこの neticon のケースでは通信まわりのコードをかなり作り直すはめになりました。ただ、普通に TCP ベースの通信やってる分にはそんなには IPv6 への対応は厳しくないと思います。が、ICMP(というかPING)とかはなかなか一筋縄ではうまくいってくれません。

実のところ PING に関しても IPv6 対応のコードは記述済みでちゃんと動作確認もとれたりはするのですが、うまく動作する環境と全然うまく動作しない環境があってとりあえず今回は PING の IPv6 対応コードは殺してます。特に Icmp6SendEcho2() まわりの情報がまだ少なくネット上で探せば Icmp6CreateFile(), Icmp6SendEcho2() を使った PING のサンプルコード等があるにはあるのですが、それらの情報をもってしても現在の問題解決にはまだ至ってません。恐らくは getaddrinfo() で自分のアドレスの取得の仕方あたりに問題があるじゃないかとはふんでいるのですが、いまんとこハッキリしません。また後日、この問題を追跡していきたいと思います。

ちなみに TCP ベースの通信は Windows XP SP2 の IPv6 プロトコルがインストールされていない環境でも IPv6 対応コードで正常に動作してくれました。

2007-10-17

[][][] logitech/logicool LCDSDK の解説ページを作成しました。

http://www.trickpalace.net/windows/logicool/lcdsdk/

logitech/logicool LCDSDK は logitech/logicool の液晶パネルを内蔵した製品である G15(キーボード) や Z-10(スピーカ) などの液晶パネルへの表示とそれに付随するボタン入力が行える LCD アプレット( Win32 アプリ )を作成する為の SDK です。 ここではその logitech/logicool LCDSDK に関する情報をまとめていきます。また、情報交換の場としてしたらばに BBS も用意しましたので、是非ともそちらもご利用ください。

まだ情報が少ないですけど、もうちょっと情報を肉付けしていくつもりです。

2007-07-18

[] 仮想CD機能付きUSB-HDD

I-O DATA の HDPG-SU シリーズと BAFFALO のHD-PSGU2 シリーズを実際に使ってるんですが、仮想CD機能付き USB-HDD としてはBAFFALOのHD-PSGU2シリーズのほうが使い勝手がいいですね。


両者とも同じコンセプトの似たような製品なのですが、違いとしてはまず仮想CD/DVDとしてマウントするCD/DVDデータを切り替えるアプリが I-O DATA の HDPG-SU シリーズは Windows Vista に対応していないのですが、BAFFALO の HD-PSGU2 シリーズはちゃんと Windows Vista にも対応しています。次に仮想CD/DVDとしてマウントするCD/DVDデータの登録方法については I-O DATA の HDPG-SU シリーズではまず専用の記憶エリアに専用のアプリで転送する必要があり結構時間がかかります(その記憶エリアに保存されたデータを仮想CD/DVDとしてマウントするのは一瞬で済みます)。そしてその記憶エリアの容量は限られており、CD で 6 枚分、DVDでは 1 枚分しか保存できません(合計容量4.7GB)。それに対し、BAFFALO の HD-PSGU2 シリーズは HDD が FAT32 でフォーマットされていなければならないという制限があるものの、同HDD上にあるCD/DVDデータを専用のアプリで指定するだけでマウントできるのでいくらでも仮想CD/DVD用データを保存しておけますし切り替え(マウント)も一瞬で済みます。また、FAT32 でなければならない制限があるとは言ってもパーティションを切って仮想CD/DVD用データの保存用のFAT32と一般用途のNTFSといった使い分けもできますので苦になりません(私は念の為、最初のパーティションをFAT32にして使ってます)。ただ、サイズの大きなDVDデータの場合、BAFFALO の HD-PSGU2 シリーズは FAT32 の制限で 2GB までのDVDデータしかマウントできない・・・以前に保存できないので要注意です。この点に関しては I-O DATA の HDPG-SU シリーズに分がありますね。

2007-07-17

[][] AdobeCreative Suite 3 Web Premium が突如使えなくなりました。

いまはすでに復旧済みなのですが、先日、AdobeCreative Suite 3 Web Premium の全ソフトウェアがいつの間にか使用できなっていました。具体的にはアプリを起動するとライセンシングが機能していないからソフトウェアを再インストールしれという旨のエラーメッセージが表示され、その後アプリが即終了するといった具合です。


おそらく使用できなくなったきっかけは Adobe Version Cue CS3 が稼働している状態でマシンがハングアップしてしまうことがあったのが原因だと思われます。(今はその必要がある時以外は Version Cue は稼働させないようにしてます。)


散々だったのはエラーメッセージの内容に素直に従い再インストールを行おうとしてでした。最初にインストールした時にはすんなりインストールできたのに件のエラーメッセージが表示された以降は何度やっても再インストールに失敗し、Adobe のサポートページの情報に従いいろいろ試したりもしたのですが結局、再インストールはできませんでした。・・・というか、あれこれいろいろ試していていい加減面倒くさくなったのと、ちょうど問題に気付いた二日前に Windows Complete PC バックアップを行っていたのでリストアしちゃいました。で、まぁ、リストアしたところ幸いにもまだ問題が発生していない状態に復元できて事なきを得ました。


最近の Adobe はなにを馬鹿なことをやってんのか、インストール時にいろいろトラブルが発生し易い上に今回私が陥った状況のようにとってもくだらない理由(違法コピー対策の不具合)で突如使えなくなることもあるようですので、Adobe のソフトウェアを業務で使用しているような方は一度インストールに成功したら Windows Complete PC バックアップなどでシステムを丸々バックアップしておくことを強く推奨・・・じゃなくてこれは必須ですね。