投稿

11月, 2011の投稿を表示しています

Kindle Fire ユーザー再登録

購入したamazon.comのユーザーから、別のamazon.comのユーザーへ変更 購入したユーザのWeb( amazon.com/myk) からKindle FireをDeregisterをおこなう。 登録したいユーザーのWebページのKindle Fireとシリアル番号を登録する。 Setting->Device->Reset to Factory Defaults。 支持に従って新しいユーザーを登録すると*@kindle.comのメールアドレスが自動に得られている。 注意:自己責任でお願いします。 また、もとのユーザーの購入したものは、読めなくなります。

Python3 IMap4 socket sample

IMAP4rev1 sample for python3.2 #!/usr/bin/env python3 # IMAP4rev1 # samples in python3. # select.select # LOGIN, LOGOUT, CREATE, LIST, LSUB # 11/22/2011 macken import getpass import socket import select import sys import fcntl import os HOST = 'your imap4 host' USER_NAME = 'your name' USER_PASSWORD = 'password' PORT = 143 BUFF_LEN = 1024 QUOTE = '"' BLANK = ' ' QUOTE_STAR_QUOTE = QUOTE+'*'+QUOTE QUOTE_QUOTE = QUOTE+QUOTE CRLF = '\r\n' current_index = 0 def next_index():   # For to use the GLOBAL version of  current_index.   global current_index   index =  current_index   current_index+=1   return repr(index) + BLANK def create_folder(s, folder_name):   str0 = next_index() + 'CREATE ' + QUOTE + folder_name + QUOTE + CRLF;   data_send = bytearray(str0.encode());   print('data_send = ' + data_send.decode(), end='')   s.send(data_send)   line = s.recv(BUFF_LEN)   pri

Ubuntu 11.10 Kernel 3.0.0.13(64bits)がbootできない

ubuntu 11.10 カーネル Linux MacUbuntu17 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2 13:27:26 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux MacBook Pro 17inch(Version6,1)ではbootが失敗。 対策として NVIDEAのドライバーをcurrent-updatesに変更後、無事に起動できた。

Kindle Fire

Kindle Fireが届く。 Debugモードははじめから、Onになっているらしく、わざわざオプションを設定する必要がないらしい。 しかし、unknown storeからのインストールは許可する必要があると思われる。 参考: https://developer.amazon.com/help/faq.html#KindleFire 上記の記事に書いてあることだが。。。 開発ブログ: http://www.amazonappstoredev.com/ スペック *Width: 600px "Height: 1024px Abstracted LCD Density: 169 Target: Android 2.3.4 - API Level 10 RAM: 512 MB Linuxへのインストール方法 usb接続を認識させる方法 1. Open the ~/.android/adb_usb.iniを開く 2. ファイル末に0x1949を追加 3. さらに0x0006を追加 4.  保存 adbサーバーをリスタート 6. ターミナルを開く 7. Execute adb kill-server command  8. Execute adb start-server command  9. Execute adb devicesで確認   うまく行かない場合は... android update adbをおこなってから、再度やってみる

ABNFのノート

インターネットコミニュティのドキュメント(RFCなど)読む祭、重要なのはABNFの理解。しかし、悩ましいのがABNFの勉強である。RFCが英語であるため、日本語で勉強するといちいち翻訳まで頭の中でしなければならない。 そこで英文をもとに理解し、分かり難い箇所を日本語にしてメモにした。 rfc5234(2008年1月) Augmented BNF for Syntax Specifications: ABNF Internet standards track protocol for the Internet community Rule Naming Rule names are case insensitive. The names <rulename>, <Rulename>, <RULENAME>, and <rUlENamE> all   refer to the same rule. Rule form name =  elements crlf Trminal Values         b           =  binary         d           =  decimal         x           =  hexadecimal CR=  %d13 CR=  %x0D CRLF=  %d13.10 command     =  "command string" ABNF strings are case insensitive. "abc", "Abc", "aBc", "abC", "ABc", "aBC", "AbC", and  "ABC". To specify a rule that is case sensitive. rulename    =  %d97.98.99 3.  Operators 3.1 Concatenation:  Rule1 Rule2 接続         foo         

Dartをパッと勉強してみたところ

JavaとJavascriptのいいところ+アルファ setter,getterが言語側でサポートしているため読みやすい publicとprivateの書き方がラクなのと読みやすい interfaceとsuperの考え方がjavaと似ている書きやすい スマートフォン、タブレットの登場以後に設計された言語 Html5/css3以後に設計された言語 Unit TestやLintも書きやすそう。 気になる点 ;が必要(RubyやPython, Goが羨ましく感じるw) =>の関数定義に慣れが必要 力をもっているGoogleが開発(内部資料のリークでさらにイヤな感じに) 他のメジャーなブラウザがnativeで対応するか疑問(CoffeeScriptのほうが有力?) 登場したてで、将来大きく変わる可能性が有り Conclusion ブラウザ言語の欠陥は以前から指摘されていたので(特に大きなアプリを書くとき) Dartの登場は大歓迎。 速く対応のGWTの登場待ちたい。 できればGoogleではなく、どこかの天才に書いて欲しかった。(e.g. python, jQuery)

Bazaarが使いやすい

ubuntu, launchpadで使われているbazaarという分散型バージョン管理ツールが使いやすい。 デザイナーと仕事をするときには便利かもしれない。 gitは教えて使わせるというのが骨がおれる作業だ。 使用頻度がひくいスタッフ(デザイナ、アシスタント)は覚えても忘れやすい。 話は変わるが最近はコードのドキュメント管理にdoxygenも便利だと思っている。 html出力はなかなかよくできている。 さらに使ってみて、良ければレポートしたい。

Android NDK r7

Android 4.0に対応したNDK. http://developer.android.com/sdk/ndk/index.html OpenMAXなどの対応や、GLなどの強化が含まれる。 一番、嬉しいのは 環境変数を設定するだけで、自動にCCacheに対応したこと。   http://ccache.samba.org export NDK_CCACHE=ccache 僕の場合、nativeファイルが多いだけにコンパイルの高速化は大歓迎である。 コンパイル時間 (*.ccが335 ヘッダが400ぐらい) CCacheなしの場合 約8分40秒 CCacheが効いた場合 30秒 その他、細かだが現実的に嬉しいのは。。。 LOCAL_CPP_EXTENSION := .cc .cpp と複数の拡張子に対応になったことである。 いままではひとつだったので少々不便だった。(とはいえ、コード管理上ひとつにするのが望ましい) その他、stlがRTTIに対応した(例外は未対応だが、僕らはC++ではRTTIや例外を使わないため、あまり気にならない @see google c++ style) 残念なのはgdbがいまだに6.6。 pythonマクロが使えないのは不便である。手作業でgdbを7.3にするのが面倒だし、サポートの点で不満だ。 またSequoyahを使ってeclipseに対応して欲しい。

svgの整形ツール

svgをsvgzに扱う前に、無駄なsvg内のタグを削除するツール http://www.codedread.com/scour/

Androidとsvg (アプリケーション用)

現在、svgのライブラリはandroidの標準ライブラリには存在しないため、 以下のライブラリを使うことになる。  svg-android (java) nativeではLICENSEや依存関係が多く、使いかっての良いものは、みつからなかった。 libsvg for android ひょとすると良いかも(調査中) Anti Grain Geometry.   http://www.antigrain.com 希望としては librsvg(libxml, libart) を使いたいがAndroid版のポートはみつからなかった。 参考 http://www.codeproject.com/KB/android/AndroidImageViewSVG.aspx ( http://horribile.blogspot.com/2011/10/android-imageview-with-svg-support.html ) http://www.codeproject.com/KB/android/Android_SVG_support.aspx

Android NDK Tips Links

Google http://developer.android.com/guide/practices/design/jni.html Etc. http://www.netmite.com/android/mydroid/2.0/dalvik/docs/jni-tips.html

Android ICSとJNIのバグ管理強化

Android ndk(JNI)を使って、nativeのプログラムを作成(移植)するとき、一番、神経質に考えているのがメモリ管理である。 Ice cream sandwatchはメモリ管理のバグを発見する機能がディフォルトで追加されているようだ。 以下のblogに書いてある http://android-developers.blogspot.com/2011/11/jni-local-reference-changes-in-ics.html 詳細は上の記事に述べてあるが、項目を列挙すると。 A quick primer on JNI referencesからOld AndroidではJNIEnv*が単なるポインターであり、Delete系を呼んだあとでも使えてしまう。 そのため、バグが見つかりにくい欠点があるし、誤解を招く原因にもなる。 JNIはグローバルとローカルでJNIEnv*があり、スレッドがそれぞれ持っているが、グローバルは他のスレッドから利用可能だ。 AndroidではJNIEnv*は1スレッド専用であり、ほかのスレッドでは使えない。  ICSではそのバグを監視する機能がディフォルト(debug指定時)でONになっている。 例から env->NewStringUTFはローカルリファレンスを返すので、グローバルとしては使えない。 env->NewGlobalRef(s)はグローバルとして使えるが、env->DeleteGlobalRef(s);を呼ぶことを忘れてはならない。 FindClass() はローカルリファレンスを返す。グローバルとしては使えない。 DeleteLocalRef()  を使うべきではない。 呼んだあとでもAndroid場合使えてしまうのでバグが発見しづらい。  PopLocalFrame()以後のPushLocalFrame()で割り当てたリファレンスは使えない。

プログラミング用フォント ベスト10

以下の記事が面白かった。 http://hivelogic.com/articles/top-10-programming-fonts/ UbuntuではDEJA VU SANS MONOを好んで使っているが、 3位だった。