2007年12月29日土曜日

AX10壊れた

NECのハードディスクレコーダAX10を長年使っていましたが、先日とうとう壊れてしまいました。NECは市場から既に撤退してしまいましたが、AXシリーズはネットワークから映像ファイルを吸い出したりできるので気に入ってました

最近チューナー映像の同期が乱れるようになったと思ったら、だんだん悪化してきて、とうとう同期がとれない状態になってしまいました。壊れ方から推測すると、チューナー直後のコンデンサの容量抜けか?と思ってばらしてみましたが、見た目は異常なしでした。
今更アナログ放送しか録画できない機器を修理してもしょうがないか?、Linuxベースで動いているからNASに仕立てられないか?とか考えてるうちにハードディスクも死んでしまったようです。起動すら出来なくなりました。

とりあえず、この前作ったUbuntu NASにドライブをつないで、fsck してみたら、ハードウェアに問題があるかも的なメッセージが出ました。linuxはイマイチ使い方がわかってないけど、Ubuntu Nas editionが役に立った?

今更AX10が役に立つ使い方を思いつけるかどうかも怪しいですが、
こんな事ならハードディスクのバックアップをしておけば良かったと、ちょっと後悔。
リカバリする方法は無いですかね~

2007年12月21日金曜日

通信に失敗

uGNote+Rでデータのダウンロードに失敗することがあるのだけど、原因が良くわからない
今のところActiveSyncでパソコンとつないだ状態でダウンロードすると問題が無い。だからVisualStudioで現象をデバッグする事ができないので困ってしまいます

失敗したときの例外メッセージが3パターンぐらいあります


(1) だいたいアプリ起動直後に初めてダウンロードする場合に出るエラー
ネットワーク接続が開通していないか、接続先が認識できていないみたい
リロードさせるとうまくいく場合がある。それでもダメならアプリを立ち上げなおさなければいけない



(2)Googleのユーザー認証時にSSL通信をするので、そのときに失敗している
リロードすると成功する



(3) ダウンロードしたデータに問題があるみたい
XMLのパーサが例外を起こしてる。滅多に出ないけど、このエラーが出ると暫くダウンロードが出来ない

何がいけないのですかね~
(1),(2)は HttpWebRequestを使ってPOSTしているだけのつもりなんですが、何か忘れてることがあるのか...

認証idを取得するところのソースはこんな感じです


string param = "Email=" + email + "&Passwd=" + password + "&service=cl&source=Gulp-CalGulp-1.05";
byte[] data = Encoding.ASCII.GetBytes(param);
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(uGnotePR.Properties.Resources.URL_GOOGLELOGIN);
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = data.Length;

Encoding enc = Encoding.UTF8;
Stream reqStream = req.GetRequestStream();
reqStream.Write(data, 0, data.Length);
reqStream.Close();
WebResponse res = req.GetResponse();
Stream resStream = res.GetResponseStream();
StreamReader sr = new StreamReader(resStream, enc);
....


Posted by Picasa

2007年12月20日木曜日

IT土方って

Androidに期待するのは、まだ気が早かったかもしれない


ウィルコムコアモジュールフォーラムの「W-SIM+Android」の一般公開デモに行ってきた | memn0ck.com livedoorユーザーの評価

バグが多いのはしょうがないとしても、業界の盛り上がりはいまひとつなのかな?
夢を見るにはまだ早いのか...

ところで、話題になってるのかどうか知らないけど、

IT業界を震撼させた2chスレ『ブラック会社に勤めてるんだが・・・』ここに終焉。泣いた。*ホームページを作る人のネタ帳 Buzzurlにブックマーク

を読んだ、とういうか読んでる。もうすぐ読み終わる

ここまで酷くは無かったけど、前の会社を思い出してしまった。無責任な上司と、次々と押し付けられる仕事と責任でボロボロになりそうだった日々...


前の会社では、先輩が次々と辞めていって、入社後数年で先輩が一人も居なくなっていた。当然仕事は全部引き継がされて、上司はどんどん仕事を持ってくるし、訳のわからない会議に借り出されるわで大変でした

既に仕事が多いのに、更に別の仕事を取ってくるので上司に
「誰がその仕事やるんですか?」って言ったら
「O君(僕のこと)」
「もう無理ですよ、人を増やさないと出来ませんよ」
「O君が倍働けばいいんだよ」
「はぁ」
みたいな感じでした。

工程表には土日休み無しの工程を組まれて、そのうちグループのリーダーになれって言われて、無理な工程を自分で作る仕事までやらされました。
リーダーになってボーナス査定用の評価をつける仕事まですることになったけど、後輩の評価をつけるだけではなく、組織変更で合併した元別グループの上司の評価まで付ける事になっていて、上司に

「Kさんの評価は無理です、Kさんは僕より等級上じゃないですか」って言ったら
「そうだよ、Nさん(中途採用で入った)だってO君より等級も、給料も上だよ」
「O君はリーダーだけど、全然エラくないからね」

全然偉くないってどういう事ですか?、ずっと疑問に思っていたことを聞いてみた
「.....リーダーって何ですか、手当てとか付かないのですか?」
「手当ては付かないよ、O君は俺の心のリーダーだから」
「心のリーダー...ココロの....」

心のリーダーって、なんかカッコよくないか?

2007年12月18日火曜日

Asus Eee PC国内販売か

Asus Eee PC 国内登場は2月、予価5万円前後 - Engadget Japanese 'はてなユーザーの評価'

5万円前後って微妙な価格だなあ。Linuxにして1万円ぐらい安くして欲しい
最近特に思うけど、WindowsMobileのアプリ開発さえしなければWindowsXPを使うの止めて、Linuxにしても全然困らないんじゃないかと

WILLCOMからAndroid端末出してくれないかなぁ~
WILLCOMコアモジュールフォーラム、AndroidでW-SIMの通話デモ 'はてなユーザーの評価'
i.MX31とWSIMでサクッと動かせちゃうんだったら、半年後ぐらいに新端末だせないかな?京セラとかシャープみたいな携帯メーカーじゃなくて、ショップブランドNotePC作ってるような会社とか、携帯メディアプレイヤー作ってる会社とかが作ったりして...


ブックマーク数をタグ化して簡単にブログで使えるブックマークレット*ホームページを作る人のネタ帳 はてなユーザーの評価
でリンクを作ってみました。でも、はてぶ数って何かな?

追記:
ちょっと失敗しちゃった

VisualStudio2008

Express Edition 日本語版が提供開始されましたね

VisualStudio も 2008ではExpressEditionでもモバイルデバイス対応になるに違いないと、勝手に思っていましたが、期待通りにはならなかった....
それどころかStandardEditionでもモバイルデバイス対応がなくなってしまった。
なんか、がっかりした

ProfessionalEditionって値段いくらするんだろう?
2005のProfessional Editonでも10万以上するからなぁ

僕は期間限定評価版を使いつづけているけど、他の開発者さんたちは2005のStandardEditionを購入してるのかな?
いつかExpressEditionでもモバイル開発ができるようになるから、それまで評価版でがまんし続けようと思っていたけど、そんな日は来そうに無いみたい。今のうちにVisual Studio 2005 Standard Editionを買っておくしかないのかも...

2007年12月17日月曜日

Googleリーダーについて

昨日のblogで大事なことを書き忘れてました

uGNote+Reader はGoogleのサーバより登録Feed情報をダウンロードしますが、その際に使用している手順はGoogleの公式に発表されたものではなく、こちら情報を元に作成しています

http://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI

その他に以下のサイトも参考にしました
http://d.hatena.ne.jp/yuum3/20070916/1189955491
http://www.niallkennedy.com/blog/2005/12/google-reader-api.html

NoteBookと違って公式なAPIを使用していないので、Google側の仕様変更などで動作しなくなる可能性があります。

主に使用しているAPIは以下の通りです

Google へのログイン用sidの取得
https://www.google.com/accounts/ClientLogin

既読やstar等のラベル編集に必要なtokenの取得
http://www.google.com/reader/api/0/token

登録Feed一覧の取得
https://www.google.com/reader/api/0/subscription/list

未読数の取得
http://www.google.com/reader/api/0/unread-count?all=true

Feed毎のアイテム取得
http://www.google.com/reader/atom/feed?xt=user/-/state/com.google/reading

ラベルの編集
http://www.google.com/reader/api/0/edit-tag

それぞれwebブラウザでアクセスしてみるとXMLが得られるので、大体の使い方が判ります。
上記参照サイトで解説されているので興味のある方は参照してみてください
要望があれば、手順などをもう少し説明できるとおもいます(僕のわかっている範囲ですけど)

2007年12月16日日曜日

uGNote+Reader

uGNoteにGoogleReaderのFeedリード機能追加改造中だけど、なかなか完成しないというか、年内にはどうなるかわからないので、とりあえずβ版を公開してみる事にします
残念ながら、これ以前のバージョンとの間に設定及びデータファイルの互換は無いです。exeとインストール先も別物で、バージョンアップというよりまったく別のプログラムです

まだ、問題がいっぱいあって、以前のuGNoteで出来ている事が出来なくなったりしてます

  1. 20件しか記事を読み込まない
  2. オフライン閲覧機能が未完成(画像ファイルの張り直しとか、キャッシュファイルの掃除とか)
  3. マルチスレッド処理が未実装
  4. リストの表示が遅い
  5. コンテンツブラウザが真っ白になることがある
  6. Feedの読込が出来ないことがある
  7. メニューの構成をまだ考え中
  8. その他、動作確認してない事がいろいろ
cabファイル

今回から、オフラインモードとオンラインモードの切り替えは無くなりました。オフライン用のキャッシュファイルが無い場合や古い場合にサーバーからダウンロードするようにしてます
β版で完成度が低いので、ちゃんと動かなかったらゴメンなさい

簡単に使用方法を説明しておきます

使用するにはGoogleのアカウントが必要です。GoogleReaderを既に使用している人を対象にしています。
まずインストールする。インストールはSDカードではなくて、デバイスにします
起動直後

Default User's NoteBookは僕の共有ノートが登録されてます
自分のGoogleNoteBookのIDやReaderの登録をする前に、こちらで動作を確認します

Default User's ... を選択して中央ボタンでNoteBookをダウンロードしてリストを表示します。アイコンが灰色の項目はサーバー上に新しいデータがある事を示しています。灰色状態のリストを選択するとネットからデータをダウンロードして表示します。キャッシュにデータがある場合はダウンロードせずに表示します


ユーザーは複数のノートブックを持ち、ノートブックごとにメモを登録できるので、メモを分類しておくことが出来ます。uGNoteは閲覧機能だけなので、ノートの作成やメモの登録はPC上でやります

カーソル上下ボタンでリストの項目選択、左右ボタンでリストの種類を選択できます。コンテンツ表示中は上下ボタンでページのスクロール、左右ボタンでコンテンツの移動、真ん中ボタンでリスト表示に戻ります
操作系の変更は前バージョンから特に変更してません
ここまではGoogleNoteBookのメモを閲覧する機能の説明でした。
GoogleReaderを閲覧する場合も、ほぼ同じ手順で操作します

次にキャッシュフォルダの設定をします
キャッシュはダウンロードしたデータを端末側に保存しておくファイルですが、まだ不要なキャッシュを掃除する機能が入ってなかったりするので、本体のメモリを圧迫しないように、SDカードにキャッシュ保存用フォルダを作成しておくことをオススメします

一番最初のUserリスト画面に戻ってメニューからOptionを選びます



オプション画面にはキャッシュフォルダの設定しかないです
... ボタンでフォルダを選択します

保存用フォルダを予め作成しておくと良いでしょう


通常はキャッシュフォルダを変更すると、それまでのキャッシュデータを新しいフォルダにコピーしますが、そこの処理がまだ修正が完了していないのでエラーメッセージが出ます。ただ、まだ移動するファイルが無い状態なので無視します


次に自分のGoogleReaderを登録します
New Userを選択して、メニューからEditを選択します

初期状態ではNoteBookのIDを登録する様になっているので、チェックボックスReaderをチェック、Publicのチェックを外します
Email と Password にGoogleのIDとパスワードをそれぞれ入力して右ソフトキーでOKします
Publicにチェックした場合は他人の共有アイテムを閲覧できます。その場合はEmailとPasswordは必要なくUSerIDだけを入力します
但し、共有アイテムの閲覧機能は、まだ動作を未確認です。問題があるかもしれません



OKするとReaderの登録Feedフィード一覧がダウンロードされて表示します。ダウンロードに失敗する場合はユーザー設定の内容を確認してください。内容に問題が無くても、ダウンロードに失敗することがあります。(原因は調査中です、アドバイスがあれば教えてください)

リストに既読のアイテムが無い場合はグレーになります
端末に最新のデータが無い場合はアイコンがグレーになります。選択するとサーバーからデータをダウンロードしてアイテムリストを表示します
リストをサーバーから再読込したい場合はメニューからReloadします

アイテムリストも同様に既読の場合はグレーになります
アイテムリストは20件しか読み込みません。全件数読み込みをすると膨大な量になってしまうので、とりあえず20件だけにしてます。どうしたら良いのか考え中です。


メニューからstarを選んでスターラベルを付けられます。気になる記事にスターを付けておき、あとでPCからblogページを読む様な使い方を想定しています

既読状態はアイテムを表示した時にGoogleのサーバーに既読情報を送信しています。
スターも設定した時にサーバーに送信します
逆に、PC等からスターを付けたり既読にしたアイテムはreloadしないと反映されません


アプリを終了するときはメニューからExitを選びます
終了時に設定やダウンロードしたデータをファイルに保存します。終了しないでアプリが落ちちゃったりすると設定が保存されないので、僕はマメに終了するようにしてます





ファイルの保存が終わるまで少し待つ必要があります

ざっとこんな感じです

2007年12月15日土曜日

墓場鬼太郎

来年1月から墓場鬼太郎が深夜に放送開始!
http://www.toei-anim.co.jp/tv/hakaba/
声優陣が初代の時の人がそろっている!のが期待できそう

ゲゲゲの鬼太郎は、2作目、3作目を見た世代です。3作目は子供ながらに、説教臭くて何か違うとがっかりしました(特に夢子ちゃんが嫌だった)

今回はどうなんでしょうか

ちなみに今放送中のシリーズはうちの子供達が見てます。お父さんは見てませんが...

ごっつ

小学一年生の娘が、数を数えているのを聞いてたら
ひとつ、
ふたつ、
みっつ、
よっつ、
ごっつ
と言ってました。

その娘に壊されたT-fal 電気ケトル

子供が安全にお湯を沸かしたりできると思って購入したのに、誤って机の上から転げ落としてしまったらしい



ほんとは取っ手のところに、お湯が沸くとポコって音がして電源がOFFになるスイッチがあるはずなんだけど、軸が折れて取れてしまった

T-fal 電気ケトル ニューヴィテスエクスプレス 1L BF202022

購入して一週間の短い命でした.....

5500円で買ったのに修理代が3500円で送料が1000円くらいと言われたので、修理は止めて、内部のスイッチを紐で引っ掛けて無理やり使ってます

お湯がすぐ沸くので気に入っていたので、残念....

2007年12月4日火曜日

卓上ホルダ

ades用の卓上ホルダ CE-DH2
がamazonで20%OFFだったので買いました。20%offでも1580円もしました。でも、おかげで充電するのが楽になりました。esのときも思いましたが、こんなの標準の付属品にしておくべきなんじゃないかな

----
最近全然プログラムしてません。なんか波が引いた感じです。uGNoteのGoogleReader対応も自分で使う分にはなんとかなるぐらいには出来てるけど、公開できるレベルまで出来ないまま1週間近く放り出したまんまです。なんか毎日忙しいので家に帰ってまでプログラムするパワーが残ってない。wii フィットも買っちゃったので益々時間が無くなる~
出来上がってないのに、こんなこと書いてもしょうがないのだけど、GoogleReaderって結構便利です。購読しているRSSフィードの既読状況が、どこで見ても反映されるので、会社で休憩中にblogの更新チェックしても家でチェックしても良い。更にadesで更新チェックしても自動的に既読が反映されるので、いつでも同期された状態でいられます。

 スター機能も意外と便利で、通勤途中などの空き時間でタイトルだけチェックして、気になる記事だけスターをつけておいて、後でPCで記事本文を読む...とういような使い方が出来そうです。(まだ実装できていないけど)

試していませんが、ここでem.oneででGoogleReaderを見やすくするゲートウェイを紹介しています。ゲートウェイを用意するのは僕には少しハードルが高いですが、こういう手法もありだと思います。

2007年12月1日土曜日

パックリ

嫁さんが、どっかから貰ってきた雑誌「○婦の友増刊2008年1月号」に豪華7大付録ってのが付いていて、その1が366日のおかず家計簿でした。

「366日のおかず家計簿って良いね~、毎日おかずを何にするか考えなくて良いじゃん?」なんて言いながら見てみたら全然違いました。ページ見開きにつき1週間分の家計簿欄があって、その脇に小さくおかずが3品並んでいるだけでした。しかもメインのおかずになる料理は1品だけで、残り2品は御浸しみたいな添え物で、せいぜい1日分のおかずしか紹介されてません。
366日のおかずが載っていると思ったのは僕だけ?
それとも、1週間同じものを食べ続けろって事か?とか暫く考えてしまった
僕の勝手な予想では366日分のおかずのレシピとその材料が記載済みの家計簿だったんだけどね


その他の付録も、ナンですかね~
うちの3姉妹カレンダー」うちの3姉妹
って知らなかったんだけど、てっきり西原理恵子かと思ったよ。さらに別の漫画家さんが混じっているような

あと最近よく目にする指のひび割れケア製品の広告「パックリ」って奴。あのひび割れ指のグロ写真は止めて欲しい。

フィラデルフィア美術館展

東京都美術館の「フィラデルフィア美術館展」に嫁さんが行って来てホアキン・ソローリャの絵にがとても良かったと話をしてくれました。海外では結構有名で人気のある画家らしいけど日本ではあまり知られていなくて、うちの奥さんも始めて知ったそうです。
で、そのホアキンさんの絵についてちょっと興奮気味に教えてくれました。嫁さんは絵描きさんなんだけど、なんか自分の目指す方向性について少し自信が得られたみたい

僕は絵の事は良くわからない、というかあんまり興味ないのだけど、「へぇ~」とか、それは良かったねとか嫁さんに言いながら、カテキンとか、カルキン坊やとか昔流行ったなぁとか関係ない事に思いを馳せてしまった

書いてて何が言いたいか判らなくなってしまったけど、自分は見てもいない絵なのに、ちょっとした感動を分けてもらったような気がしました。

'},ClipboardSwf:null,Version:'1.5.1'}};dp.SyntaxHighlighter=dp.sh;dp.sh.Toolbar.Commands={ExpandSource:{label:'+ expand source',check:function(highlighter){return highlighter.collapse;},func:function(sender,highlighter) {sender.parentNode.removeChild(sender);highlighter.div.className=highlighter.div.className.replace('collapsed','');}},ViewSource:{label:'view plain',func:function(sender,highlighter) {var code=dp.sh.Utils.FixForBlogger(highlighter.originalCode).replace(/'+code+'');wnd.document.close();}},CopyToClipboard:{label:'copy to clipboard',check:function(){return window.clipboardData!=null||dp.sh.ClipboardSwf!=null;},func:function(sender,highlighter) {var code=dp.sh.Utils.FixForBlogger(highlighter.originalCode).replace(/</g,'<').replace(/>/g,'>').replace(/&/g,'&');if(window.clipboardData) {window.clipboardData.setData('text',code);} else if(dp.sh.ClipboardSwf!=null) {var flashcopier=highlighter.flashCopier;if(flashcopier==null) {flashcopier=document.createElement('div');highlighter.flashCopier=flashcopier;highlighter.div.appendChild(flashcopier);} flashcopier.innerHTML='';} alert('The code is in your clipboard now');}},PrintSource:{label:'print',func:function(sender,highlighter) {var iframe=document.createElement('IFRAME');var doc=null;iframe.style.cssText='position:absolute;width:0px;height:0px;left:-500px;top:-500px;';document.body.appendChild(iframe);doc=iframe.contentWindow.document;dp.sh.Utils.CopyStyles(doc,window.document);doc.write('

'+highlighter.div.innerHTML+'

');doc.close();iframe.contentWindow.focus();iframe.contentWindow.print();alert('Printing...');document.body.removeChild(iframe);}},About:{label:'?',func:function(highlighter) {var wnd=window.open('','_blank','dialog,width=300,height=150,scrollbars=0');var doc=wnd.document;dp.sh.Utils.CopyStyles(doc,window.document);doc.write(dp.sh.Strings.AboutDialog.replace('{V}',dp.sh.Version));doc.close();wnd.focus();}}};dp.sh.Toolbar.Create=function(highlighter) {var div=document.createElement('DIV');div.className='tools';for(var name in dp.sh.Toolbar.Commands) {var cmd=dp.sh.Toolbar.Commands[name];if(cmd.check!=null&&!cmd.check(highlighter)) continue;div.innerHTML+=''+cmd.label+'';} return div;} dp.sh.Toolbar.Command=function(name,sender) {var n=sender;while(n!=null&&n.className.indexOf('dp-highlighter')==-1) n=n.parentNode;if(n!=null) dp.sh.Toolbar.Commands[name].func(sender,n.highlighter);} dp.sh.Utils.CopyStyles=function(destDoc,sourceDoc) {var links=sourceDoc.getElementsByTagName('link');for(var i=0;i');} dp.sh.Utils.FixForBlogger=function(str) {return(dp.sh.isBloggerMode==true)?str.replace(/
|<br\s*\/?>/gi,'\n'):str;} dp.sh.RegexLib={MultiLineCComments:new RegExp('/\\*[\\s\\S]*?\\*/','gm'),SingleLineCComments:new RegExp('//.*$','gm'),SingleLinePerlComments:new RegExp('#.*$','gm'),DoubleQuotedString:new RegExp('"(?:\\.|(\\\\\\")|[^\\""\\n])*"','g'),SingleQuotedString:new RegExp("'(?:\\.|(\\\\\\')|[^\\''\\n])*'",'g')};dp.sh.Match=function(value,index,css) {this.value=value;this.index=index;this.length=value.length;this.css=css;} dp.sh.Highlighter=function() {this.noGutter=false;this.addControls=true;this.collapse=false;this.tabsToSpaces=true;this.wrapColumn=80;this.showColumns=true;} dp.sh.Highlighter.SortCallback=function(m1,m2) {if(m1.indexm2.index) return 1;else {if(m1.lengthm2.length) return 1;} return 0;} dp.sh.Highlighter.prototype.CreateElement=function(name) {var result=document.createElement(name);result.highlighter=this;return result;} dp.sh.Highlighter.prototype.GetMatches=function(regex,css) {var index=0;var match=null;while((match=regex.exec(this.code))!=null) this.matches[this.matches.length]=new dp.sh.Match(match[0],match.index,css);} dp.sh.Highlighter.prototype.AddBit=function(str,css) {if(str==null||str.length==0) return;var span=this.CreateElement('SPAN');str=str.replace(/ /g,' ');str=str.replace(/');if(css!=null) {if((/br/gi).test(str)) {var lines=str.split(' 
');for(var i=0;ic.index)&&(match.index/gi,'\n');var lines=html.split('\n');if(this.addControls==true) this.bar.appendChild(dp.sh.Toolbar.Create(this));if(this.showColumns) {var div=this.CreateElement('div');var columns=this.CreateElement('div');var showEvery=10;var i=1;while(i<=150) {if(i%showEvery==0) {div.innerHTML+=i;i+=(i+'').length;} else {div.innerHTML+='·';i++;}} columns.className='columns';columns.appendChild(div);this.bar.appendChild(columns);} for(var i=0,lineIndex=this.firstLine;i0;i++) {if(Trim(lines[i]).length==0) continue;var matches=regex.exec(lines[i]);if(matches!=null&&matches.length>0) min=Math.min(matches[0].length,min);} if(min>0) for(var i=0;i

投票