2012年8月25日土曜日

広告など

めでたく18歳になったようなので
広告を入れてみたりした
でも右には入ってほしくないな、投稿の下だけでいい
あと収益ってどうやって受け取るんだ?...

2012年8月10日金曜日

SyntaxHighlighter導入ではまった件

前の記事にSyntaxHighlighterを導入しようとしたんだが
結局うまく動かせるまでに3時間ほどかかった、気がする
原因はDynamic Viewという、Bloggerに適用したデザインテンプレートのせい
こちらのブログを参照させていただき解決した
BloggerのDynamic View(動的ビュー)でSyntaxHighlighterを使う

以下、自分の忘れ防止のためのメモ
1.コードをここでHTMLエンコードする
2.
<pre class="brush:[コードの種類]">
<!-- ここにコードを記述 -->
</pre>
[コードの種類]は
Bashスクリプトのときbash
JavaScriptのときjs
CSSのときcss
Pythonのときpython
Plain Textのときtext
3.HTMLエディタに切り替えて、末尾に以下のコードを貼り付ける
<div style="display:none">
<pre class="brush:bash"></pre>
<pre class="brush:js"></pre>
<pre class="brush:css"></pre>
<pre class="brush:cpp"></pre>
<pre class="brush:pascal"></pre>
<pre class="brush:python"></pre>
<pre class="brush:php"></pre>
<pre class="brush:text"></pre>
<pre class="brush:sql"></pre>
<pre class="brush:perl"></pre>
<pre class="brush:as3"></pre>
<pre class="brush:xml"></pre>
</div>
<script type='text/javascript'>
 function loadScript(url, callback){
  var script = document.createElement('script')
  script.type = 'text/javascript';
  if (script.readyState){  //IE
   script.onreadystatechange = function(){
    if (script.readyState == 'loaded' ||
      script.readyState == 'complete'){
     script.onreadystatechange = null;
     callback();
    }
   };
  } else {  //Others
   script.onload = function(){
    callback();
   };
  }
  script.src = url;
  document.getElementsByTagName('head')[0].appendChild(script);
 }
 loadScript('http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js', 
  function(){
   loadScript('http://alexgorbatchev.com/pub/sh/current/scripts/shAutoloader.js', 
    function(){
     SyntaxHighlighter.config.bloggerMode = true;
     SyntaxHighlighter.autoloader(
       'bash  http://alexgorbatchev.com/pub/sh/current/scripts/shBrushBash.js',
       'js jscript javascript http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js',
       'css http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js',
       'cpp c http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js',
       'delphi pascal http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDelphi.js',
       'py python http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js',
       'php http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js',
       'text plain http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js',
       'sql http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js',
       'perl pl http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js',
       'actionscript3 as3 http://alexgorbatchev.com/pub/sh/current/scripts/shBrushAS3.js',
       'xml xhtml xslt html http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js'      
     );
     SyntaxHighlighter.all();
    }  
   );
  }
 );
</script>

2012年8月8日水曜日

ThinkPad X40にAndroid x86 4.0を入れてみたりなど その1



Android x86とは、韓国人開発者が開発しているPCで動く(予定の)Androidである
これまで私は何回か使用(試用)したことがあるが、画面の描画がのろかったりWifiに繋がらなかったりと、あくまで試用で本格使用できるものではなかった
しかし、いままでAsusのネットブックやら聞いたことのないメーカーのタブレットやらと私と馴染みの低いハードウェア向けにビルドされていたイメージを動作しないこと前提でThinkPad X40に突っ込んでいたが、4.0 - RC2では万を時してThinkPad向けイメージが公開された。他のビルドとどう内容が違うか知らないが非常にありがたい

ということで早速突っ込んでみた
(この記事の公開時期からすれば”早速”ではないが実際に突っ込んだ時期は公開のすぐ後だった、という読者にとってはどうでもいい情報を補足しておく)

intel 8xxというグラフィックプロセッサで悪名高いこのX40
ThinkPad向けにビルドされたAndroid x86はそのままでは動かない
普通に起動しても画面が真っ暗なまま時間が経過して行くだけ
そこで定番のWorkAround、起動時にコマンドラインオプションにnomodesetを追記で対応した
nomodesetはkernel mode settingとやらを無効化するオプションである。kernel mode settingがなんであるかはよく把握していないが。
具体的な方法は、BIOSがISOのブートローダー(syslinux)を読み込んでから、ブートするエントリの選択画面にて一番上のエントリーを選択した上でTabキーを押下し、エントリーの中身を表示させる。"linux"の行の末端に移動し、
nomodeset
を追記する。Ctrl-Xを押下しエントリー選択画面に戻り、先ほど編集したエントリーを選択しEnterを押下。するとAndroid x86が起動してくる。

さて、起動時にコマンドプロンプトが表示されて、それから数秒後にAndroidのブートアニメーションが始まるのだが、実はブートアニメーションが始まり、セットアップウィザードに行き着いた後でも、キーボードで何か入力すると、画面の後ろで動いているコマンドプロンプトにそのまま入力されてしまい、Enterを押すとそれが実行されてしまう。しかもその様子は画面にチラチラ表示されるがほとんど見えない。たとえば何かでrebootと入力しEnterしてしまうと、即再起動されてしまう。このようなバグは初期のAndroidでもあったという記事を読んだことがあるが、これと同じ理由だったりするんだろうか。
あと、この状態でカーソルキーを押下するとビープ音がけたたましく鳴り響き非常にうるさい。
これを回避するためには、エントリーを起動して直後、コマンドプロンプトが見えてるうちに
exit
と入力して、その後何が入力されても問題ないようにしておく必要がある。



さて、セットアップウィザードに行き着いたら、マウスを使って適当に設定し進めてやるとめでたくホーム画面に行き着く。さて試しにブラウザでネットでもしてみるか、とおもったら
……Wifiの設定がうまくいかん
Wifiをオンにするとちゃんと自宅のAPが見えるので、パスワードを入力して、と。よしこれで繋がるはず………あれ?
…1時間に及ぶ時間の消費(繰り返し試行、logcat、/data/misc/wifiを弄る)の後、どうやら入力したパスワードなどの設定を設定ファイル(/data/misc/wifi/wpa_supplicant.conf)に保存できていないのが原因らしい
それじゃあマニュアルで設定ファイルに追記してやろう。これぞLinuxの真髄(ぉ
設定ファイルにてけとーに自宅APの設定を追加後、Wifiを無効化して再度有効化すると、
お、うまくいった
追記した設定はこんな感じ
network={
ssid="hogehogeAP"
proto=fugafuga
key_mgmt=fugafuga
psk="hogefuga"
}
root済みのAndroid端末持ってる人はそっからこの部分だけコピペするのが簡単
これでブラウザが使えるようになった
うん、なかなかいい感じ


…続く?
参考にしたページ
How to boot the Android-x86 Live-CD when you have problems with your graphiccard

[8/10追記]
…やってしまった
何てバカなことを…
疲れてたんだな…
該当部分修正
…まあ気付いただけまし?遅い?

2012年5月1日火曜日

カンパありがとうございました

こんなに集まるとは思わなかった…
合計で$86.10 USDのご寄付いただきました

AWS3月使用合計は$38.87、4月は$17.20でした。
86.10-38.87-17.20で$30.03が残ってしまいましたが…
http://www.cyanogenmod.com/
cyanogenmodプロジェクトに残った中から$20寄付いたしました
cyanogenmodにはこれからも頑張っていただきたいです

2012年4月3日火曜日

Android4.0.4 for IS01リリース

春休みです
長期休暇があるとなにか新しいことに挑戦したくなりますね
(ライバルに差を付けるためにこの春休みにしっかり勉強しとけ!と言われていたにも関わらず)

というわけでAndroid4.0.4をIS01向けにビルドしてしまったので公開します
公開ページヘは右のリンクから飛べます

本当はもっと完成度の高いものにしたかったのですが、スキルも足りないし、春休みもあと少しで終わるので、ここで一旦終わりにしようと思います。後日ソースコード(パッチ)と用いたバイナリ他を公開するので、他の方にぜひ挑戦いただきたいです。

〜〜〜カンパのお願い〜〜〜
ビルドにAmazon Web Service EC2(VPNサーバー)を使用したため、その使用料がかかってきます。ビルドだけでなくソースコードの編集などもEC2上で行ったため3月の請求は$38.87と1ヶ月の小遣いを越える額になってしまいました。
カンパお願いします。下のgumroadのリンクから300円からカンパできるようにしてあります。よろしくお願いします。

https://gumroad.com/l/vRfS
カンパの受付は終了しました。ありがとうございました。