今年の夏のラストスパート(予定)

この前の週末というか木・金は台風が来るということで大人しくしていたら何故か風邪をひくという訳の分からない展開に(汗)

で…やったことに対するネタがないので、今後の予定をネタにする事にしま~す(汗)

今週末(9/8(木)~9(金))

いわきの小名浜港の市場食堂が無事に復活しているらしいので行ってみたいのであるが、何と木曜日が定休日。でまぁ行くなら金曜日という事になるんだが、こちらのお店は朝7時から営業しているので是非朝飯に伺いたいところ。それで思い出したのは、確かこの近所に寝袋持参で泊まると1000円以下のホテル?か何かがあったような気がしたので調べると…おお、震災後もやってるみたいですな。
「エコホテルいわき湯本」って言うんですが、どんな場所なのか興味があるので今回泊まってしまいますかね。

木曜日は早めに那須高原を巡って、白河の名店だけれどまだ行った事の無い「とら食堂」でラーメンを食べ、いわき湯本で温泉に浸かるのが良さそうだ。何となく寝坊しそうな予感が今からするが(汗)翌日はもちろん市場食堂でガッツリ朝飯を食べて水族館見物がいいような気がしている。そういえばフラダンスで有名な、スパリゾートハワイアンズは10/1から完全では無いが再開(1月にグランドオープン予定)だそうだ。

9/14(水)~16(金)
岐阜県の「飛騨高山ゲストハウスとまる」にお世話になりま~す!

今年の夏の総決算、節電対応の平日休みの最終日がこの3日間。まずはこのタイミングで台風が来ないで欲しいというのがあるんだが、来ようが来まいが既に宿を取ってしまった。当初の予定では高山で1泊後、2泊目はどこかでテント泊の混合作戦で行こうと思っていたんだが…。軽く行き先を検討しただけで問題多発。

・お得意の周遊コースを取ろうにも、北にまわろうとすると上越経由の北アルプスを完全に迂回するライン取りになる。高山で朝市を見物していたりするといつもの弾丸ツアーになってしまうだろう(汗)
・だったら南へ…と考える訳だが、こちらはこちらで南アルプスが立ちはだかっている関係で、茅野より南側で東進しようとすると、まさかの静岡市内経由が決定してしまう。。。さすがにこの時間の使い方は勿体ない(汗)

そんな訳で今回は珍しく同じ宿に連泊を決意。高山には毎日朝市が立っているそうなのでそちらの見物と高山ラーメン、一本数百円の飛騨牛の串焼きを食べ、〆は飛騨牛ステーキ…と無難に行ってしまうと幸せだけれどネタ的にツマラナイので、「飛騨牛のホルモン」を堪能したいなぁなどと思ってる。

高山市街から北に抜けたところに豆腐ステーキ定食が旨い国八食堂という食堂があるらしいんだが、こちらは水曜日定休なので注意だな。ツーリングマップルによると「宙ドーム・神岡」という道の駅には「スーパーカミオカンデ」関連の充実した展示があるらしいので是非寄りたいところ。

連泊の為、「TRAIN BLEU(トラン・ブルー)」なる激旨パン屋もチェックを入れているのと、リンゴ&梨狩りも800円程度らしいので、一人でも寂しくならなそうだったら参戦予定(笑)

ま、こんだけ候補がありゃ十分です。珍しく滞在型の俺がどう過ごすかにご期待あれ(笑)

9/23(金)~25(月)
仙台の「ゲストハウス梅鉢」にお世話になりま~す

何があっても「登米油麩丼」を食べに行きます!それ以外はもう少しお時間を。ずんだ三昧になるにはどうすればいいのか研究中。ま、お宿のカウンター席で酒が飲めそうなので、まずはそれが楽しみです。

9/6(夜) 「仙台まるごとパス」が素晴らしく美味しいことに気が付いた。これはバイクは置いて観光三昧決定か?

久々にWindowsのプログラミングなどを ~Twitterクライアント作り~

ここ数日、暇…ではなくて時間的余裕があった関係で、Windowsのプログラミングの勉強がてらC#でアプリ?を作っていた。

組み込み系のプログラムはデバッグ用に作る機会が結構あるが、Windowsのプログラムとなると普通に仕事をしている上ではほとんど機会がないので、実の所ほとんど作った事がない。

数ある言語の中で何でC#を選んだかなのだが、同じ職場のArduino好きな方とツイッターのとある方が「C#はシリアルの制御が出来る」と言っていたのを聞いたのと、昔々ちょこっと使った時に、大量に用意されているメソッドがえらく便利だなぁ…という印象を持っていたからです。組み込み系はそもそもOSが無かったりもする世界なのでどうしたって泥臭くなりますが、Windowsの開発は出来る限りカプセル化された楽な環境でやりたいなんて思ったって事もあるかなぁ。

で、久々にフォームの上にテキストボックスやらボタンを配置して、ファイル構成を思い出したりしながら作ったのがこちらの関数電卓ならぬ16進・10進・2進変換電卓的なもの。

卓上の関数電卓も含めて、わざわざモードを切り替えたり、何で一々入力する○進数と出力する△進数を指定しなければいけないのか疑問だった。別に難しい話をしたい訳ではなく、単に「面倒」だなぁと。

で作ったのがこちら。入力欄が(HEX)(DEC)(BIN)と最初から3つあるので、該当部分に値を入れると全ての形式の値が表示される。計算開始キー的な物もないから、数値入力しか必要としない。

一応「ALL CLEAR」ボタンは付けてはみたが、クリアなんぞ押すくらいならBack spaceキーで消せばいいのだ。

「AC」ボタンなんて飾りです。偉い人にはそれが…

さすがに単なる関数電卓の出来損ないなので飽きるのも早く、違う物を作りたくなって作り始めたのが発言専用Twitterクライアント。何やらOAuth認証というアプリ自体の認証関連がややこしいらしい。そんな訳でC#のプロジェクトごと圧縮されている便利なサンプルプログラムを探してきて、ローカル環境に展開。

Twitterのアプリ登録画面で「tujitter」などというふざけたアプリ名で登録したりして各種Keyコードをゲット。サンプルソースに先程の各種Keyコードを埋め込んで、ビルド&実行。テキストボックスに「TEST」と入力してTweetボタンを押してみたところ…見事に成功。他のアプリで見てもちゃんと表示されてるし、投稿の最後に「from tujitter」なんて表示もされている。余裕じゃん!ここまでで大変だったことと言えば、登録画面でロボット避けによく使われる「歪んだローマ字」を読み取って入力する部分くらいかな。歪みすぎてて何が書いてあるのかホントに読み取れなかったんだよ(笑)

わざわざ作るまでもなく発言専用Twitterクライアントが出来上がってしまったので、普通に使ってみようとするとエラーになる。はて?何ででしょう?という事で最終的にWiresharで送信パケットを見てみたところ、どうやら2Byte文字のエンコードがおかしいみたい。どうやら元のコード自体が2Byte文字を考慮して出来ていないのが原因だそうでして、対処法を紹介しているページの方法を試してみるとあっさり日本語が使えるようになったのであった。

今回お世話になった参照先のサイトはこちら。

C#のプロジェクトごとと言う便利なファイルをダウンロードしたサイト。
Coding the Wheel

ブログ形式のコメント欄の少し上の方にある「The Source Code」の「You can download the complete source code~」のリンクからダウンロード出来ます。

OAuth認証時の文字化けに関してはこちらのブログ「観測気球」の「C# で OAuth」という記事を参考に(というかそのまんま…)させて頂きました。

これでめでたく発言専用Twitterクライアント自体は出来上がったんだが、いくらなんでも自分で手を入れた部分が少なすぎる(入手したKeyコードを入力しただけな気が…)ので、Time Lineの表示位はしてみようと再調査開始。
どうやらTwitter APIと呼ばれるurlに各種パラメータを渡すことで、指定した形式(XML・JSON・RSS)のデータが帰ってくる仕組みらしい。仕組み自体は結構簡単なので、XML形式を指定してTime Lineを取得してみたところ、日本語と思われる文字列がエンコードされた状態ではあるがXMLの取得に成功。

System.Web.HttpUtility.HtmlDecodeのメソッドで日本語部分のデコードが出来ることをツイッターで教えて頂きまして試してみると…おおっ見事日本語に!

こうなると、とりあえず必要なTagの情報を引き抜いて表示させればOKなので、「screen_name」と「text」を表示するようにして、ついでにprofile_image_urlといういわゆる各自のアイコンも表示できるようにして、ザックリながらも一応完成。

実はデータに半角の&が使われているとGetElementsByTagNameというメソッドでエラーになってしまうので、当初半角の&は全角の&に置換してしまうという乱暴なエラー回避の仕方をしていたが…XMLでは半角の&は「&」と表現する事をwikiで知り、ようやくまともに半角の&を表現できるようになったりしている…(汗)ここいら辺の業界の常識?を理解していないあたりが頂けないなぁ。

大体雰囲気は掴めたので、後は機能の作り込み(返信機能とか)だぁね。Twitter APIは、さほど凝った機能を実装している訳では無いみたいなんですが、Time Lineを見ているだけでは分からない情報を得るAPIもそう多くはありませんが有ります。

例えばこちら、retweetes_of_me(http://api.twitter.com/1/statuses/retweets_of_me.xml)

自分が投稿した発言のうち(自分以外の)誰かによって retweetされたものの一覧を取得する。確かにこれは、APIの機能を使わずには調べられないよな。それじゃぁ試しにやってみよう。カタカタカタ…

「データが存在しません」

…が~ん。。。(涙)