投稿

2月, 2012の投稿を表示しています

SSDの起動タイム

MacBookPro 17inch(6,2) Intel 320 Series SSDSA2CW300G3K5(300G)の起動時間の比較 起動時間メモ rEFit  OS選択メニューまで約8秒 MacOSX起動 Total約17秒 (さらにResume復帰が高速、約3秒) rEFit->grub2メニューまで約20秒     Ubuntu10.11 (ahci mode/no swap) Total約40秒      Windows7 (ide mode)Total約44秒 grub2までIDEモードが立ち上がるため、grub2までの時間が長いのが欠点。それ以降もちょと遅め。ディフォルトではSSD向けにチューンしていないのか? また、レジュームへの復帰がHDD並に遅い(約18秒)。 Windows7は全てIDEモードのため、一番遅い。Appleがboot campで正式対応するまで危険なのでahciにはしない方針。 尚、当たり前かもしれないがMacOSXはSSD対応に対して成熟している。 既にSSD対応Macを多く発売しているのでチューンは確実におこなわれていると感じた。 PS MacOSXの起動は速いが問題はルーター(Apple Airbase)との接続が 相性のためか うまく行かず、接続するために2,3分かかることがある。 Linuxはルーターとの相性はよく瞬時につながる。Windows7は少し遅めだがつながる。

WebGL

WebGLを使う上で便利なリンク集 WebGL http://www.khronos.org/webgl/ WebGLのデバックツール 情報源: http://www.youtube.com/watch?v=7sad-UGSOXE&feature=uploademail http://www.khronos.org/webgl/wiki/Debugging webgl-inspector http://benvanik.github.com/WebGL-Inspector/ webgl-debug.js https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/debug/webgl-debug.js Printing Errors and other constants WebGLDebugUtils. init ( ctx ) ; alert ( WebGLDebugUtils. glEnumToString ( ctx. getError ())) ; glsl-unit Unit Ttest http://code.google.com/p/glsl-unit/ three.js WebGLのミドルウェア https://github.com/mrdoob/three.js/ stats.js FPSを表示してくれる https://github.com/mrdoob/stats.js detector.js WebGLのサポートされているVIDEOカード、またはブラウザかを判断する github three.js内に含まれる see example/ WebGLの環境情報取得 http://get.webgl.org/

emacsを快適に使う

最近のemacsは CUAモードのONとX-WidnowとClipboard統一をおこなったほうが、幸せになります。 (cua-mode t) (setq cua-auto-tabify-rectangles nil) ;; Don't tabify after rectangle commands (transient-mark-mode 1) ;; No region when it is not highlighted (setq cua-keep-region-after-copy t) ;; Standard Windows behaviour ;; Xとクリップボード共通 (setq x-select-enable-clipboard t) (setq interprogram-paste-function 'x-cut-buffer-or-selection-value)

node.jsのチュートリアルなど

http://nodetuts.com/index.html module.exportsの説明VIDEO http://nodetuts.com/tutorials/17-building-nodejs-modules.html e-bookは http://nodetuts.com/handson-nodejs-book.html がわかりやすいと思った。 この本で引用されているUrls Node.jsの説明 http://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb Dependency Injection http://martinfowler.com/articles/injection.html Steve Yegge’s masterpiece Execution in the Kingdom of Nouns http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html Create Advanced Web Applications With Object-Oriented Techniques http://msdn.microsoft.com/en-us/magazine/cc163419.aspx

イベントハンドラの呼ばれる順

イベントハンドラの呼ばれる順に依存するコードは避けるべきという記述がパーフェクトJavascriptにあった。当然と思う。以前にWIN32のプログラムを作成しているときに、確実性がなくて最後まで不安だった箇所もそのコードふきんだったからだ。特にアプリケーション終了時におけるメモリリークを防止したりするコードは複雑であった。(ウィンドウが4,5以上存在し、マルチスレッドで多くのスレッドがあった)重要な心得だと思う。

Gypにgypされた。

v8をandroid用にコンパイルする際、クロスプラットフォームプロジェクトツールの Gyp に騙された(笑) $ make android -j16 CC="/usr/local/android-ndk-r7/ toolchain/bin/arm-linux- androideabi-gcc" \ build/gyp/gyp --generator-output="out" build/all.gyp \               -Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \               -S-android  -Dv8_can_use_vfp_ instructions=true Traceback (most recent call last):   File "build/gyp/gyp", line 18, in <module>     sys.exit(gyp.main(sys.argv[1:] ))   File "/usr/lib/pymodules/python2.7/ gyp/__init__.py", line 457, in main     options.circular_check)   File "/usr/lib/pymodules/python2.7/ gyp/__init__.py", line 101, in Load     depth, generator_input_info, check, circular_check)   File "/usr/lib/pymodules/python2.7/ gyp/input.py", line 2275, in Load     [dependency_nodes, flat_list] = BuildDependencyList(targets)   File "/usr/lib/pymodules/python2.7/ gyp/input.py", line 1396,

cygwinのgitkが使い勝手が悪くなった。

正直な話、これには失望してしまった。 Tcl/Tkの仕様変更のためX-Serverが必要となった。(後日、動作するようにした。 ココを参考 ) $ gitk Application initialization failed: no display name and no $DISPLAY environment variable Error in startup script: no display name and no $DISPLAY environment variable     while executing "load /usr/lib/tk8.5/../../bin/libtk8.5.dll Tk"     ("package ifneeded Tk 8.5.11" script)     invoked from within "package require Tk"     (file "/usr/bin/gitk" line 10) このcygwinの変更は何を血迷っているのかと思うほど、cygwinの使い勝手を悪くしてしまったと思う。 動作しない原因は以下に記してある。 http://cygwin.com/ml/cygwin/2012-02/msg00115.html Tcl/Tkの仕様変更が原因。X-serverを立ち上げれば動作するようだが(xint, xorg-serverなど)、環境によって不安定になってしまい。 使いものにならなくなってしまった。cygwinは日本語対応(utf-8)が安定していたし、多くのツールが使えるので残念である。 使いにくいがgit純正windows版(migw32を応用)のほうが幸せになれるので 、しばらくそちらを使うことにして 、cygwinは元に戻らないかと期待しつつ様子を伺う. 追伸: X-serverで動作するようにした。 http://git-scm.com/

Cross compile gdb for arm. ubuntu 11.10(64bits) python2.7

どうもUbuntu11.10にしてから、まともにarm版gdb7.xが動作していない。一番の理由はUbuntu11.10にインストールされているpyhton2.7.2+のso (64bits)との相性。 そのため、gdb for armをコンパイルすることにした{実行はPCで行い、 android(arm)の デバックをremoteで行う } 環境:Android NDK r7b, OS ubuntu 11.10(64bits),linux kernel 3.0.x, python2.7.2+ http://www.gnu.org/software/gdb/ gdb7.3.1のtarget arm cross compile 現在gdb7.4はmake設定にバグがあってmakeinfoがないとコンパイル中にいってくる。repositoryから取得が必要あり したがってgdb7.3.1を取得し解凍 ./configure --host=x86_64-linux-gnu --target=arm-elf-linux --with-python=/usr/bin/python2.7 x86_64-linux-gnu-gcc, x86_64-linux-gnu-arが/usr/bin内に存在を確認 arがない場合、sudo ln -s ar /usr/bin/x86_64-linux-gnu-ar make sudo make install 参考:Ubuntu 11.10でのコンパイルツールは以下のようになっている。 /usr/bin $ ls -al x86_64* lrwxrwxrwx 1 root root 7 2011-11-29 21:35 x86_64 -> setarch lrwxrwxrwx 1 root root 2 2012-02-22 14:32 x86_64-linux-gnu-ar -> ar lrwxrwxrwx 1 root root 7 2011-11-29 21:35 x86_64-linux-gnu-cpp -> cpp-4.6 lrwxrwxrwx 1 root root 7 2011-11-29 21:35 x86_64-linux-gnu-cpp-4.6 -> cpp-4.

Android ndk r7bがリリース

重要なバグ修正が含まれている この中でdebuggingの修正でbinutils 2.19へ戻したのが大きいかもしれない。r7ではdebuggerとの相性が悪かったからだ。 ただし、まだ確かめていないので、実際どうなっているかは不明、近日中に確認する予定だ。上の不都合と関係あるかは不明だがndk-buildの問題も修正されている様子。 これで一部r6bへ戻ってdebugしていた(CCACHEが使えない)のが解決されればいいが。 あとは、Windows系のバグ修正が多い。 http://developer.android.com/sdk/ndk/index.html

Web Application Databases

クライアントサイドのデータベースはWeb SQL(SQLite3を使ったAPI)の標準化は失敗した(sqlite3は使い慣れているので残念)。そこで新たにできたのがIndexedDB。SQL言語を使わず強力なデータベース機能を提供する。欠点は仕様が固まりだしたのは最近なことのため、実装が少ない。 そのため、スマートフォン向けのブラウザはSQLクエリーが使え、標準化が失敗したWebSQLが実装されている現実があるため、これを無視するわけにもいかない。どう判断するか? しばらく、データベースは忘れるのが一番いいかもしれない。 Web StorageやFileSystem APIを使っていくしかないか?

CSS3とframe animationのサンプルとprefixfree.js

CSS3とframe animationのサンプル prefixfree.js を使ってプリフィックスなしにしている。 とても便利。 尚、もとのソースは... http://coding.smashingmagazine.com/2011/05/17/an-introduction-to-css3-keyframe-animations/ からシンプルにしたものである。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>CSS3 animation with prefixfree.js</title> <script src="prefixfree.min.js"></script> <style> #container {   width: 1080px;   margin: 0 auto;   overflow: hidden;   padding: 50px 20px 0 20px; } #sun {   background: #ffd630;   width: 130px;   height: 130px;   position: absolute;   border-radius: 70px;   z-index: 2;   bottom: 0;   left: 340px; } @keyframes sunrise {    0% {     bottom: 0;     left: 340px;     background: #f00;   }  33% {     bottom: 340px;     left: 340px;     background: #ffd630;   }    66% {     bottom: 340px;     left: 40px;     background: #ffd630;   }  100% {     bottom: 0;     left: 40px;

Eye-candyなWeb

Web Appの新しい時代を説明するサイト IE9で動作しない、Chrome、Safari、FireFoxなどが必要 http://www.html5rocks.com/webappfieldguide/toc/index/ この中で現在僕が注目しているのは... Index DataBase Drag and drop 使ってみたいLibは Modernizr

Javascriptも大変

ボクはプログラミングをアセンブラ+Basic言語を使ってはじめた。現在、Webアプリ開発で使うJavascriptは結局のところ、複雑さはあまりかわらない。 WIN32がメジャーになって、対策としてMFCなどが登場したが複雑になるだけだった。結局、javascriptもjava(android上)も、現実的なプラットフォームにのるたびに複雑になっていくだけである。jQueryだけみていても、足元を救われるだろう。いつの時代にも最終的にはこの複雑な中で何を選び、どこを深くして、ほかの製品と違う特色をだし、愉しく気持ちのいい製品を創ることが重要なのである。 面白いのはバイブル的な開発参考書のWIN32やMFCの太さと、JavaScriptの太さがほぼ同じこと。結局メジャーなプラットフォームはそれだけの情報量が必要ということだろう。 ところで、JavaScript, the definitive guide 6th Editionを約2週間かけて目をとおしたが、最近の本の中で、すぐ使えないExmapleコードが載っているのは珍しい気がした。 また、textではなく図で説明すればもっとわかりやすくシンプルになるのでは?と思わせる所が多かった。しかし、  サブタイトルが示すようにD efinitiveさはあり、信頼性が高い本の1冊である。

WINE1.4(1.3)とPhotoshop Ubuntu

Ubuntu上でPhotoshopを使う場合は、photoshop7 windows版が動作する。CSなどは不安定ものが多いようだ。 wine1.4 をインストール wineの設定をWindowsXPにする。 普通にWindows版photoshop7のcd-romを入れて、photoshop folderのsetup.exeを実行ただしmonoなどubuntuにinstallしていると動作しないことがあるので右クリックでwine1.4から起動を指定する。 で終わり Update版のときは本体のcdドライブ以外に、もう別の外付けドライブを用意し、その一台に古いPhotoshopを挿入しておくとスムーズである。なお、ボクはdvd1台でインストールしたことはない。 古いcd-rom確認後に取り出せなくなることがmacで発生したためである。(mac-intel上のubuntuの場合) 尚、起動ご操作でスタンプキーでalt+clickが動作しないLinux-GUI環境がある。その時はshift+alt+clickを使う。alt+clickが使いたいばあいは 以前の記事を参考に し、AltをSuper(Win)キー変更する。実は3DソフトのBlenderでも都合がいいw 「ワークスペースフォルダが見つかりません」とPhotoshop起動時にエラーが発生するときは 環境設定ファイルの破損が考えられる。たとえば英語環境で日本語Photoshop7を起動したときに破壊される可能性がある。 ~/.wine/drive_c/users/<ユーザー名>/AppData/Adobe/Photoshop/7.0内のフォルダーを消す。 PS 英語環境で日本語Photoshopを起動したい時は。。。Unity用ショートカット desktopファイルを以下のように変更すればOK Exec=env WINEPREFIX="/home/ <ユーサー名> /.wine" LC_CTYPE="ja_JP.UTF-8"  wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/<ユーサー名>/.wine/dosdevices/c:/us

Javascript links

Javascript 6th Edition The definitive Guide 本にあった。リンク集等 Page 326 http://developer.mozilla.org http://msdn.microsoft.com http://developer.apple.com/safari http://code.google.com/doctype (no longer available) http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML5) http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(Document_Object_Model) http://a.deveria.com/ ( http://caniuse.com/ ) http://www.quirksmode.org/dom http://webdevout.net/browser-support (古い) Page 328 Graded browser support http://yuilibrary.com/yui/docs/tutorials/gbs/ Page 235 http://script.aculo.us/ http://scripty2.com/

BootchampとMacBookキー

BootchampとMacBookキー Windows7でMacBook Proキー操作は以下のようにカスタマイズするのが便利 全て無料で使える。 Sharpkeys 3.X によってリマップすること http://www.randyrants.com/sharpkeys/ Ver3.Xをダンロードする。 Addボタンを押し設定。 Special: Left Alt  -> Special: Left Windows Special: Left Windows -> Special: Left Alt Special: Caps Lock->Special: Left Ctrl Special: Right Windows -> Special: Right Ctrl ログアウトもしくは再起動が必要 以上によって、 Capsはctrl 左optionは左Win 左commandは左Alt 右commandは右ctrl になって便利になる。 P.S. Ctrl2capも使えるが上のSharpKeysによってすべて管理できるで、使わなくなった。 Google日本語入力をインストール Eisuが「かな」 Muhenkanが「英数」 になる。 カスタマイズキー内、各モードを すべて Eisu IMEを有効化 Muhenkan IMEを無効化 以上によって「かな」、「英数」よって漢字入力のトグルができる 尚、余談であるが方法は違うがUbuntu(現在は11.10)もカスタマイズによって以上のように変更し使っている