<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>oops</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/" />
    <link rel="self" type="application/atom+xml" href="http://www.narazaki.info/atom.xml" />
    <id>tag:www.narazaki.info,2009-07-04://2</id>
    <updated>2010-08-31T11:01:57Z</updated>
    <subtitle>世間に背中を向けてひた走る情報弱者のblog</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.261</generator>

<entry>
    <title>Tuboroid 0.2.2.25.rc1</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/08/tuboroid-02225rc1.html" />
    <id>tag:www.narazaki.info,2010://2.372</id>

    <published>2010-08-31T10:35:15Z</published>
    <updated>2010-08-31T11:01:57Z</updated>

    <summary>Tuboroid_0.2.2.25.rc1.apk 内部構造をがらっと変更。 遅...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="Android" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Tuboroid" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.narazaki.info/2010/08/31/Tuboroid_0.2.2.25.rc1.apk">Tuboroid_0.2.2.25.rc1.apk</a></span></p>

<p>内部構造をがらっと変更。<br />
遅さとメモリのドカ食いに定評のあるTuboroidなわけですが、あまりメモリをドカ食いすると裏に回った途端にkillがマッハなのでキャッシュ処理にソフト参照を多用したり内部タスクの立ち上げをなるべく遅延評価するようにしたりして色々節約を試み。<br />
瞬発的な動作速度はどっちかっつーと下がるかも。</p>

<p>それにしても(あまり見たくない)Marketのレビューを久々に見たら、日本語でおkなコメントだらけで本気で引いた。またしばらくは見たくないな。</p>]]>
        
    </content>
</entry>

<entry>
    <title>GDD2010のDevQuizのパックマソのアレ</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/08/gdd2010devquiz.html" />
    <id>tag:www.narazaki.info,2010://2.371</id>

    <published>2010-08-23T04:31:39Z</published>
    <updated>2010-08-23T14:19:18Z</updated>

    <summary>http://codepad.org/Xn1p1UUG GDD2010のDevQ...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="C/C++" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="日記" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p><a href="http://codepad.org/Xn1p1UUG">http://codepad.org/Xn1p1UUG</a></p>

<p>GDD2010のDevQuizのパックマソのアレのコード晒し<br />
C++で自動探索</p>]]>
        <![CDATA[<p>最初はずっとGAベースで作っていたのだけど、どうも評価関数の設定が難しくて特性がなかなか改善しないので、シミュレータ処理だけ残して残りを全部バッサリ捨てて、シンプルな枝切り付き深さ優先探索にした。<br />
出したLV3の答えは<br />
lkklllkllllkkkkkkkkllllllkkkhhhhhhhhhhhhhhhhhhhjjjhhhhhhhhhhhhhhhhkkkhhhhhhhhhh<br />
jjjjjjjjjjjhhhhjjjlllllkkklllllllllllllllllllllllllkklllllllllkkkkkkhhhhhhhhhhhhhhhhhjjjjjjjjhhhjjjlllllllllllkkllljjll<br />
lkklllkkkjjllllllllllllhhlllllljjjhhhhhhkkkllkkkhhhhllllkkkkkhhllllllkkkhhhhhhhhhhhhjjjjjjjjjjjlllllljjjh<br />
hhhhhhhhhkkkkkhhhhhhhhhkkkkkklllllllllkkkhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh<br />
hhhhhhhjjjlllljjjjjjjjhhhhjjjllllllllllllllllkkkhhkkkkkkkhhhhhhjjjl<br />
で553点。</p>

<p>実装は割とシンプルで、490行目まではシミュレータ処理の実装、そこから後が探索処理。<br />
探索方針もシンプルで以下のルールで探索する</p>

<p>・立ち止まり一切不可<br />
・通路では後退しない。つまり交差点から交差点までは一気に進む<br />
↑この2点を決め打つだけで探索空間は劇的に減って速度が上がる。ただしLV1とかLV2は「刈りすぎ」て解の品質が悪くなる(そこそこのスコアでは解けるけど)</p>

<p>・交差点では、まずエサがあればそちらを優先的に探索し、エサがない時は(直前の位置を覚えておき)「正面」「右折」「左折」「反転」の順に探索する。<br />
↑方向が「上下左右」ではなく「前後左右」になっているのは反転の見込みは大抵悪いから。でも深さ優先の全探索では結局反転も評価するので今回のロジックではあまり意味はない(GA使ってた時の名残)</p>

<p>・それ以外はNode::isJunkNode()～Node::getCurrentMaxHunger()のロジックで枝を切る<br />
基本的には「エサを食べていない状態で長時間放浪すると諦める」というもの。<br />
一応工夫っぽいポイントは「(エサが豊富な)序盤では少しエサを食べられない時間があるとすぐ諦める」というところ。序盤の分岐は探索範囲が爆発する元なので、空白地をウロウロするルートは早期に切り捨てる。<br />
微妙に変な式になってるところ(634行目とか)あるけど試行錯誤の途中で投げ出したせいです。。。</p>

<p>このコードにする前に、GA(遺伝的アルゴリズム)とか学習無しの単純乱択も試した。<br />
その時は最終的に遺伝子を「交差点で曲がる優先順位」と定義し、表現型では死んでもバックトラックするような仕組みにしていた。つまりどんな遺伝子も、クリアするか700歩歩いて餓死するかのどちらかを意味する。<br />
GAは色々試したのだけど、とにかくチューニングが難しい(初期収束が荒ぶりすぎ......)し、評価関数の設定といい表現型の定義といい、枝切り法に比べると難度は凄まじく高い。万能アルゴリズムであるメタヒューリスティクスの難しさを痛感させられた。<br />
正直GAでLV3が解けた人ってかなり少ないんじゃないだろうか。解けるレベルの人は早期にor最初からGAは捨ててそうだし。</p>

<p>あ、ちなみにGAでも乱択でも一応答えは出ました。GAで517点、乱択は460点、くらいはすんなり出る。</p>]]>
    </content>
</entry>

<entry>
    <title>結局Acerのノートを買った</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/08/acer.html" />
    <id>tag:www.narazaki.info,2010://2.370</id>

    <published>2010-08-05T22:42:37Z</published>
    <updated>2010-08-05T23:56:24Z</updated>

    <summary>元々はAspire TimelineX 3820Tを買うつもりだったのだけど、サ...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="日記" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p>元々は<a href="http://kakaku.com/item/K0000124869/">Aspire TimelineX 3820T</a>を買うつもりだったのだけど、サポート体制が全く信用できないので新品ではとても買う気になれなくて、たまたまヤフオクで中古の<a href="http://kakaku.com/item/K0000063052/">Aspire Timeline 3810</a>が出ていたのでそっちを購入。<br />
どうせメモリ増設=サポート外、なら中古でいいじゃん、という発想。いや......まぁ......どちらかというとAcerは避けたかったのですが、たまたま出物があったので......。<br />
13インチ、Core 2 Duo SU9400(1.4G)、Windows7、Office2007搭載(いらんけど)、で34000円。2009年9月生産のようだけど、傷もなく非常に状態は良好というか、全然使われないまま売られちゃった感じ。まあノーサポートに目をつぶればまあまあお買い得だった方じゃないかなぁと。</p>

<p>しかし8.9インチのEEEPC 901と比べると対角13.3インチってデカいというか、普通のノートって感じ。解像度も1024x600だと「あーネットブックだなー」って感じだけど、1366x768だと「あー......普通」って感じ。<br />
CPUはAtomなんかと比べると格段に速いけど、さすがにメインで使ってるi7-860と比べると遅いかなぁ。むしろHDDの遅さが気になるんだけど、なんでこんなに遅いんだろ。Windows自体がディスクIO周り微妙だよねみたいなのはあるにはあるけど。</p>]]>
        
    </content>
</entry>

<entry>
    <title>Xperia(snapdragon)が高速すぎて困る</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/08/xperiasnapdragon.html" />
    <id>tag:www.narazaki.info,2010://2.369</id>

    <published>2010-08-05T22:31:12Z</published>
    <updated>2010-08-05T22:36:48Z</updated>

    <summary>Xperiaというかsnapdragonが高速すぎることに起因すると思われる現象...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="Android" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Tuboroid" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p>Xperiaというかsnapdragonが高速すぎることに起因すると思われる現象が困る。<br />
元より実装に問題があると思われるのだけど、俺自身はMSM7200世代しか持ってないので「自然にウェイトが掛かって」なんとなく動いていたものがタイミングがシビアになることでバグが露呈するというかなんというか。単純にCPUパワーだけで言えば標準ROM比較でおよそ6倍、MSM7200定格クロックとの比較でもおよそ4倍、となるとsnapdragonでは再現するけどHT-03Aでは再現しないという現象がチラホラと出てきてしまう。<br />
N1改めADP3が買えるようになったら買うべきなのかなぁ......。正直失業者にはきつい出費です。</p>

<p><span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.narazaki.info/2010/08/06/Tuboroid_0.2.2.24d.test1.apk">Tuboroid_0.2.2.24d.test1.apk</a></span><br />
まあ仕方ないのでこうやってエスパー修正を試みたりはしてるわけですが......</p>]]>
        
    </content>
</entry>

<entry>
    <title>UbuntuサーバをPPTPサーバにしてみる</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/08/ubuntupptp.html" />
    <id>tag:www.narazaki.info,2010://2.368</id>

    <published>2010-08-05T18:17:26Z</published>
    <updated>2010-08-05T20:20:22Z</updated>

    <summary>AndroidはVPNとしてPPTPをサポートしているので、家のUbuntu S...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="Android" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="日記" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p>AndroidはVPNとしてPPTPをサポートしているので、家のUbuntu ServerをPPTPサーバにしてみたい所存。</p>]]>
        <![CDATA[<p>■サーバ側設定<br />
まずパッケージをインストール<br />
<blockquote>aptitude install pptpd</blockquote></p>

<p>で、/etc/pptpd.confを設定。あんまり設定するところはなくて、一番下のところを編集するくらい。<br />
<blockquote>localip 192.168.1.1 # サーバのIPアドレス<br />
remoteip 192.168.1.241-238,192.168.1.249 # PPTPで振り出すIPアドレス域<br />
</blockquote><br />
うちは192.168.1.1がサーバ、DHCPで192.168.1.129-192.168.1.140を割り振ってるので被らないようにその後のIPアドレスを9個ほど振ってみた。</p>

<p>パスワードの作成。パスワードは/etc/ppp/chap-secretsに平文で書くのでrootしかアクセスできないように注意。<br />
<blockquote>ユーザ名 pptpd "パスワード" *</blockquote><br />
みたいな書式でおk。pptpdってとこはサーバ名を書く欄だけど、/etc/ppp/pptpd-optionsのname欄と合わせておく。Ubuntuのデフォルトはpptpdになってるけどそのままでいいんじゃないかな。</p>

<p>/etc/ppp/pptpd-optionsにはサーバ名(chap-secretsと合ってれば良い、デフォルトでおk)と、振り出すDNSサーバのアドレスを設定する......はずなんだけど、設定すると(Androidは指定されたDNSサーバを参照しに行くようになるのに)何故か名前が引けなくなる。<br />
<blockquote># ms-dns 192.168.1.1 # ←ここどうすればいいんだろう<br />
</blockquote><br />
この設定だと引けるが、名前をプロバイダ(携帯電話側)に問い合わせに行くことになるのでなんか微妙に気持ち悪いしあまり望ましくもない。</p>

<p>あとはpptpdをrestartする。</p>

<p>■Android側</p>

<p>無線とネットワーク→VPN設定→VPNの追加→PPTP VPNを追加<br />
・VPN名<br />
　適当<br />
・VPNサーバの設定<br />
　家鯖のホスト<br />
・暗号化<br />
　有効<br />
・DNS　<br />
　空欄<br />
で、Menu→セーブ</p>

<p>あとは作った接続を選ぶとユーザ名とパスワードを聞かれるので、サーバに設定したのを入力すれば接続できる。<br />
デフォルトルートがVPN側になるので、あらゆる通信がPPTP通って家鯖経由で行われる、はず。</p>

<p>接続確認はまぁ適当にローカルIPアドレスを使うような操作をしてみればいいかと。<br />
例えば192.168.1.1のsambaに繋いでみるとか、ローカルIPアドレスでWebサーバに繋いでみるとか。<br />
暗号化はたぶん出来てると思うけど、どうなんだろう</p>

<p>■まとめ<br />
L2TPでやろうとして超めんどくさかったのに比べるとPPTPは超簡単で手軽。<br />
DNSの設定だけが謎。</p>

<p>(追記)<br />
DNSサーバのIPアドレスをグローバルアドレスにしたらいけた。名前解決はVPN側に飛んでいないってこと?</p>]]>
    </content>
</entry>

<entry>
    <title>Tuboroid 0.2.2.23d.rc3</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/08/tuboroid-02223drc3.html" />
    <id>tag:www.narazaki.info,2010://2.367</id>

    <published>2010-08-02T19:32:40Z</published>
    <updated>2010-08-03T04:46:06Z</updated>

    <summary>Tuboroid_0.2.2.23d.rc3.apk 内部実装が変わりすぎて自分...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="Android" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Tuboroid" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p>Tuboroid_0.2.2.23d.rc3.apk</p>

<p>内部実装が変わりすぎて自分でも怖い。</p>

<p>・通知アイコンを未読全部消化するまで消さなくした(これまではお気に入り画面を表示すると消えていた)<br />
・しおりを忘れる問題が直ったかもしれない<br />
・画像ビューアに「名前を付けて保存」機能を追加。出来たてほやほやなので何が起こっても泣かない<br />
・他いろいろ</p>]]>
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.narazaki.info/2010/08/03/Tuboroid_0.2.2.23d.rc5.apk">Tuboroid_0.2.2.23d.rc5.apk</a></span></p>

<p>さらにうp</p>]]>
    </content>
</entry>

<entry>
    <title>Tuboroid 0.2.2.23d.rc1</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/07/tuboroid-02223drc1.html" />
    <id>tag:www.narazaki.info,2010://2.366</id>

    <published>2010-07-31T13:08:20Z</published>
    <updated>2010-08-03T04:46:35Z</updated>

    <summary>Tuboroid_0.2.2.23d.rc1.apk ←不具合があったので撤去 ...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="Android" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Tuboroid" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p>Tuboroid_0.2.2.23d.rc1.apk ←不具合があったので撤去</p>

<p>Tuboroid_0.2.2.23d.rc2.apk ←撤去</p>

<p>かなり色々変えたのでひっそりうp</p>

<p>Tuboroid_0.2.2.23d.rc4.apk ←もうちょっと修正中</p>

<p><span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.narazaki.info/2010/08/03/Tuboroid_0.2.2.23d.rc5.apk">Tuboroid_0.2.2.23d.rc5.apk</a></span></p>]]>
        
    </content>
</entry>

<entry>
    <title>Aspire TimelineX 3820Tを買おうかと思ったのだが......</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/07/aspire-timelinex-3820t.html" />
    <id>tag:www.narazaki.info,2010://2.365</id>

    <published>2010-07-30T08:44:12Z</published>
    <updated>2010-07-30T08:56:35Z</updated>

    <summary>http://kakaku.com/item/K0000124869/ 「メモリ...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="日記" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p><a href="http://kakaku.com/item/K0000124869/">http://kakaku.com/item/K0000124869/</a><br />
「メモリ増設するために外さないといけないネジに保証シールが貼られている」<br />
という恐ろしい口コミを見かけてAcerに問い合わせたのだけど、先ほど返事があった</p>

<blockquote>
お客様

<p>この度は弊社製品へお問合せ頂き誠に有難う御座います。<br />
御質問を頂戴しました件につきまして回答させて頂きます。</p>

<p>> >当該機種ではメモリを増設すると無保証となるのでしょうか<br />
弊社製品のメモリやHDDなどを増設する場合は、ネジ穴部分に張られている<br />
保証シールを破ってから作業を行って頂く事になります。<br />
このシールが破れている状態ですと、故障時のメーカ保証は対象外となります。</p>

<p>現在、弊社カスタマーセンタにてメモリ増設サービス（有用）を行っております。<br />
メモリ増設を希望される場合は、一度カスタマーセンタへお問合せ下さいます様お願<br />
い申し上げます。<br />
</blockquote></p>

<p>なにそれこわい......</p>]]>
        
    </content>
</entry>

<entry>
    <title>Android Marketのレビュー(コメント)欄に要望や報告書いても意味ないよ</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/07/android-market-1.html" />
    <id>tag:www.narazaki.info,2010://2.364</id>

    <published>2010-07-29T01:48:56Z</published>
    <updated>2010-07-29T02:53:46Z</updated>

    <summary>Tuboroidに限らず一般論として、あそこに要望とか報告とか書くのはナンセンス...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="Android" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p>Tuboroidに限らず一般論として、あそこに要望とか報告とか書くのはナンセンスです。<br />
iPhoneのApp Storeがあんな状態なので、その流儀を持ち込む人がいて、更にそれを見た人が......となっているのでしょうが、まあもちろんApp Storeも同様で、ナンセンスです。<br />
あそこから要望や報告を汲み上げている、少なくとも主たるサポート対象として扱っているような開発者はいないと思います。</p>

<p>そもそもあそこは「ユーザが開発者に向けて」書く欄ではなく「ユーザが他のユーザに向けて」書く欄ですよね。アマゾンのコメント欄に著者へのメッセージを書いてるような状態ですよ。</p>

<p>以下、あそこに要望や報告を書いてもナンセンスになる理由</p>]]>
        <![CDATA[<p>(1)あまりに短い<br />
　要望や報告を書くにはあまりに短すぎて、情報が全然足りない。「表示が変だから直せ」「デザインが変だから直せ」「ボタンが変だから直せ」といった何をどうして欲しいのかサッパリ分からないコメントだらけになりがちで、実際に1/3くらいがそういう「全く意味不明」レベルになっています。<br />
　書く側に悪気がなくてもあの長さで書いたらだいたいそうなるんです。</p>

<p>(2)開発者が返事を書けない<br />
　1/3の「全く意味不明」を除いた残りのうち、そのままで言いたいことがすんなり分かるのはせいぜい1～2割とかです。残りは「それ操作ミスじゃね?」「この機能じゃダメなの?」というものや「それ具体的にはどういう機能が欲しいの?」というものや「それ再現方法が分からないんだけど......」というようなものになります。<br />
　このあたりは、全く意味不明ではないけど、こちらから質問を投げないとやっぱり意味不明になってしまいます。でもあの欄は聞き返せないので、「で......結局なんなの?」というもやもやした気持ちを抱きつつ、無視することになります。</p>

<p>というようなことをここで書いたところで、状況は変わらんのだろうなぁ......</p>]]>
    </content>
</entry>

<entry>
    <title>Tuboroid 0.2.2.20d.rc6</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/07/tuboroid-02220drc6.html" />
    <id>tag:www.narazaki.info,2010://2.363</id>

    <published>2010-07-26T17:02:00Z</published>
    <updated>2010-07-28T17:01:03Z</updated>

    <summary>●が使えない問題への対応版 Tuboroid_0.2.2.20d.rc6.apk...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="Android" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Tuboroid" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p>●が使えない問題への対応版</p>

<p><span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.narazaki.info/2010/07/27/Tuboroid_0.2.2.20d.rc6.apk">Tuboroid_0.2.2.20d.rc6.apk</a></span></p>

<p>今回に関しては2chが悪いというよりAndroidのOS側が悪いんだけど、ともかく今のままだと●が使えないことだけは確かなので、適当に様子見してUP予定。</p>

<p>このネタ、他のアプリでもはまる人多そうなのでコツ的なメモ</p>]]>
        <![CDATA[<p>■原因<br />
　AndroidにGeoTrust Global CAのルート証明書が入っていない<br />
　Androidに限らずGeoTrust Global CAが入っていない環境はかなり多く、しかも今後GeoTrust Global CAを使った証明書が急増することが予想される<br />
　2048ビット問題があるので移行そのものは不可避なのだけど、GeoTrust Global CAの普及状況が必ずしも良くないため、相当のハードランディングの予感<br />
　色々よろしくないなぁ</p>

<p>　<a href="http://www.geotrust.co.jp/support/ssl/faq/900009/index.html">携帯電話でのGeoTrust Global CAの導入状況</a>はこんな感じ<br />
　まあぶっちゃけ2009年発売で対応してないのがショボいと言うべきなんだけど、2010年切り替えのものが2008年くらいの機種でもボーダーというのは、デバイス屋だけでなく認証局側もちょっと怠慢じゃないのと思った。</p>

<p>■対応<br />
　ユーザに手動でGeoTrust Global CAのルート証明書をインストールして貰う(ベスト)<br />
　とはいえ、これは色々大変なので、Tuboroidではアプリの方で俺俺ルート証明書として扱うことにした。</p>

<p>　GetTrustのルート証明書は<a href="http://www.geotrust.com/resources/root-certificates/">http://www.geotrust.com/resources/root-certificates/</a>にある。<br />
　手動でインストールする方法誰か教えて。</p>

<p>■やりかた<br />
　TuboroidではHTTPクライアントとしてorg.apache.http.impl.client.DefaultHttpClientを使っている。<br />
　まずデフォルトの(プレインストールされているルート証明書からなる)キーストアを作る。<br />
<blockquote>            String keystore_filename = System.getProperty("javax.net.ssl.trustStore");<br />
            String keystore_password = System.getProperty("javax.net.ssl.trustStorePassword");<br />
            char[] keystore_password_char = keystore_password != null ? keystore_password.toCharArray() : null;</p>

<p>            KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());<br />
            keystore.load(new FileInputStream(new File(keystore_filename)), keystore_password_char);<br />
</blockquote><br />
　(エラー処理は全部はしょってるので適当に例外とか拾う必要あり)<br />
　System.getPropertyでデフォルトのキーストアが入ったファイル名を取り出して読み込む。</p>

<p>　これにGeoTrust Global CAの証明書を追加する<br />
<blockquote>        String certificate = "-----BEGIN CERTIFICATE-----\n"<br />
            + "MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT\n"<br />
            // Base64にしたやつ。中略<br />
            + "5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==\n" + "-----END CERTIFICATE-----";<br />
        String alias = "GeoTrust Global CA";<br />
        <br />
        CertificateFactory cf = CertificateFactory.getInstance("X.509");<br />
        ByteArrayInputStream certificate_array = new ByteArrayInputStream(certificate.getBytes());<br />
        X509Certificate cert = (X509Certificate) cf.generateCertificate(certificate_array);<br />
        keystore.setCertificateEntry(alias, cert);<br />
</blockquote></p>

<p>　これでデフォルトのルート証明書群にGeoTrust Global CAのルート証明書が追加されたキーストアができる。<br />
　このキーストアを持つSSLSocketFactoryを作る。<br />
<blockquote>        SSLSocketFactory ssl_socket_factory = new SSLSocketFactory(keystore);</blockquote></p>

<p>　これをhttpsの時に使うようHttpClientに登録する<br />
<blockquote>            Scheme https_scheme = new Scheme("https", ssl_socket_factory, 443);<br />
            http_client.getConnectionManager().getSchemeRegistry().register(https_scheme);<br />
</blockquote></p>

<p>これで、証明書が追加されたキーストアを利用するSSLソケットを使うHttpClient、が作れる。<br />
あーめんどくさ。</p>

<p>(追記)<br />
コメの件対応してみた<br />
<span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.narazaki.info/2010/07/29/Tuboroid_0.2.2.21d.rc1.apk">Tuboroid_0.2.2.21d.rc1.apk</a></span></p>]]>
    </content>
</entry>

<entry>
    <title>CyanogenMod6 RC1(HT-03A用Android2.2)雑感</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/07/cyanogenmod6-rc1ht-03aandroid22.html" />
    <id>tag:www.narazaki.info,2010://2.362</id>

    <published>2010-07-25T12:49:59Z</published>
    <updated>2010-07-25T13:13:31Z</updated>

    <summary>・普通 ・拍子抜けするほど普通 ・普通に使えすぎて驚くほど普通 ・JITの効果は...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p>・普通<br />
・拍子抜けするほど普通<br />
・普通に使えすぎて驚くほど普通<br />
・JITの効果は......ビュンビュンサクサクというほどではないけど、まあまあ<br />
・WiFI AP機能はHT-03Aではハード的に利用不可<br />
・C2DMなどの新機能は対応アプリがないので実使用での嬉しさはまだ分からん</p>

<p>総評<br />
・普通<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>Tuboroid 0.2.2.20d.rc4</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/07/tuboroid-02219drc4.html" />
    <id>tag:www.narazaki.info,2010://2.361</id>

    <published>2010-07-22T12:11:17Z</published>
    <updated>2010-07-25T07:04:30Z</updated>

    <summary>こっそりテスト Tuboroid_0.2.2.20d.rc4.apk ・サムネ読...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="Android" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Tuboroid" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p>こっそりテスト</p>

<p><span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.narazaki.info/2010/07/22/Tuboroid_0.2.2.20d.rc4.apk">Tuboroid_0.2.2.20d.rc4.apk</a></span></p>

<p>・サムネ読み込み処理を少し変更<br />
・ページスクロール量を「1ページ」「半ページ」「1レス」で切り替え可能にした<br />
・その他いろいろ細かい修正</p>]]>
        <![CDATA[<p>イメージビューアを何とかしたいところだけど、色々問題がある<br />
・縦横両方にスクロールする2軸のScrollViewが標準で無いので自作する必要がある<br />
　ScrollViewとHorizontalScrollViewの設計の悪さにはほんとに反吐が出る<br />
　WebViewとかScrollView使わずに自作スクロールしてるけど、その前にScrollViewのダメさに気付かなかったのかと小一時間問い詰めたい<br />
・セーブするためのダイアログを自作しないといけない<br />
　いやそのくらいは自作してもいいんだけど、標準でファイルピッカーとディレクトリピッカーくらいあってくれよ<br />
　標準でないディレクトリピッカーを自作しないといけないというのは標準至上主義者の俺としては非常に苦痛(作るの自体は簡単だがUIが一貫しなくなる)</p>

<p>あと個人的な実験としてAdMobを入れてみたいなぁとか思ったけど、Tuboroidは広告モデルにしないと宣言してあるし、実際金になるとも思えないし、でも実験はしてみたいし、こっそりオプションでAdMobを有効にする(デフォルトでオフ)とか追加してみようかなぁ。</p>

<p>(追記)<br />
<span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.narazaki.info/2010/07/25/Tuboroid_0.2.2.20d.rc5.apk">Tuboroid_0.2.2.20d.rc5.apk</a></span></p>

<p>サムネ周りの処理を変えてみた。</p>]]>
    </content>
</entry>

<entry>
    <title>なんかブクマが消えるとかいうコメが付けられてるんだけど</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/07/post-37.html" />
    <id>tag:www.narazaki.info,2010://2.360</id>

    <published>2010-07-12T09:09:51Z</published>
    <updated>2010-07-12T09:15:58Z</updated>

    <summary>もしかして: 右下から2番目のこのボタン→がオンになってるのでは 一応ヘルプに書...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="Android" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Tuboroid" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p>もしかして: 右下から2番目のこのボタン→<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="toolbar_btn_updated_3.png" src="http://www.narazaki.info/2010/07/12/toolbar_btn_updated_3.png" width="28" height="28" class="mt-image-none" style="background-color: #000;" /></span>がオンになってるのでは</p>

<p>一応ヘルプに書いてるんですが、このボタンをオンにすると新着レスのあるスレだけを表示します。もう一度押すと全スレ表示とトグルします。<br />
状況がよく分かりませんが、ブックマークが消えるように見える状況ってこれじゃないかなぁ。<br />
......メールでもblogでも聞いてくれれば答えるのになぁ。</p>]]>
        
    </content>
</entry>

<entry>
    <title>Tuboroid 0.2.2.19d</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/07/tuboroid-02219d.html" />
    <id>tag:www.narazaki.info,2010://2.359</id>

    <published>2010-07-02T00:22:33Z</published>
    <updated>2010-07-18T05:04:50Z</updated>

    <summary>あまりに2chの板移転問題が直らないので、○○が読めませんの類を言われてもさっく...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="Android" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Tuboroid" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p>あまりに2chの板移転問題が直らないので、○○が読めませんの類を言われてもさっくり無視する前提で0.2.2.19dをうpしました。<br />
まあ元々、そんなにマメに返事かえしたりはしてないんだけども。</p>]]>
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.narazaki.info/2010/07/05/Tuboroid_0.2.2.20d.rc1.apk">Tuboroid_0.2.2.20d.rc1.apk</a></span></p>

<p>画面方向固定モードを追加したものを密かにうp<br />
Featureも決まってないのにrcとかどうなのって気もするけどこまけえこたぁいいんだよ</p>

<p><span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.narazaki.info/2010/07/18/Tuboroid_0.2.2.20d.rc3.apk">Tuboroid_0.2.2.20d.rc3.apk</a></span></p>

<p>アンパサンドエスケープ問題とか対応版</p>]]>
    </content>
</entry>

<entry>
    <title>Tuboroid 0.2.2.19d.rc2</title>
    <link rel="alternate" type="text/html" href="http://www.narazaki.info/2010/06/tuboroid-02219drc2.html" />
    <id>tag:www.narazaki.info,2010://2.358</id>

    <published>2010-06-24T10:15:18Z</published>
    <updated>2010-06-24T10:25:50Z</updated>

    <summary>Tuboroid_0.2.2.19d.rc2.apk 公式bbsmenuがあまり...</summary>
    <author>
        <name>H.Narazaki</name>
        <uri>http://www.narazaki.info/</uri>
    </author>
    
        <category term="Android" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Tuboroid" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.narazaki.info/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.narazaki.info/2010/06/24/Tuboroid_0.2.2.19d.rc2.apk">Tuboroid_0.2.2.19d.rc2.apk</a></span></p>

<p>公式bbsmenuがあまりに酷いのでhttp://menu.70.kg/bbsmenu.htmlも使えるようにしてみた。といっても今のところは公式bbsmenuも最新っぽい気がする。<br />
テキストボックスでURLを入力するようにしたら入力し間違って「動きません!!」って言ってくる人がいる確率150%なのでデフォルトと二択で。</p>

<p>また、板一覧を更新した時に(ほぼ)一意に移転元・移転先が特定できそうな時のみ板移転の処理を行うようにしてみた。<br />
具体的には、URL上での板名(newsplusとか)と日本語の板名が一致するものが既に存在し、かつそれが1個だけの時は、それを移転元の板とみなします。<br />
「その他」の掃き溜めに過去板が残っている時は(移転元が一意に特定できないので)移転処理を行いません。ので、過去板のログが不要であることを確認してから、「その他」に入っている過去板は削除して下さい(板名長押し→削除)</p>]]>
        
    </content>
</entry>

</feed>
