Twitter

HOME
FEED


NEXT

Tags
ぽっちぽちにしてやんよ - Home

よいしょっと,こっからは文字でっす.

Amazon.comで品切しまくってたBoogieBoard(international)が届きました.

箱はなんか店頭に置いてたら書いて遊べそうなパッケージ.箱から取り出すのに苦労した^p^

まずは軽い薄い.そして思ったより小さめ.

内容物はマニュアル本体,スライタス,クロス.

スライタスはなくしそう.本体にくっつける所なんてない.たぶんアクセサリとして販売してるかも.

書き味はすごくいい.スラスラ書ける.指では指の腹では書けない.ある程度の圧力がいるらしく、爪だと書けるよ.指の腹だとぐっと押せばなんとか書けるぐらい.

文字はすごく見やすい.

この大きさと軽さだから持ち運びにも便利だし、サッとカバンから出して書ける.

ただ,デジタルデータにできない.電子ペーパーなのでコピーは取れる!PDFにだしたり,jpgにしたりは出来ない.

まぁSimple is Best!!

日本から買うと,送料が本体価格以上にかかって輸送期間も2,3週間かかってしまう.本体価格は$30送料は$45合わせて$75

ちなみに,欲しい人がいれば関東圏なら$75でお渡しにいきますよ^p^

 

[0 comments] - POSTED Feb 19 2010 @ 6:55

というわけで,早速Kindle DXでAmazon.comから本を買いました.

Amazon.comからBuy now with 1-Click, deliver to ***'s Kindleってやつから買ったら,

Kindle DXのArchived Itemsの所に入ってました.←これスゴイ

青空ファインダーロック( http://www.amazon.com/gp/product/B0035LDN7I/ )

日本初(?)のAmazon.com自費出版のやつです.26P

Twitterの #kindlejp で話題でしたね.

Media_https3amazonaws_ezhju

内容は良いと思います!

本の見やすさとしては,セリフがちょっと掠れてる感じです.

読めない品質ではないですが気になりました.

ここもある程度Knowledgeが溜まってくれば最適なものが見つかるのでしょうかー.

ちなみに$4.99でした.約500円.

作者の人は最安の$2.99に設定されたらしいのですが,海外からの購入は+$2なので$4.99.

26Pで500円は普通の漫画よりは割高ですね!

 

Kindle   Kindle DX   book  
[0 comments] - POSTED Jan 25 2010 @ 9:00

 

Kindle DXがきたああああ!

Media_https3amazonaws_lehao

Once upon a time...ベリベリベリ

Media_https3amazonaws_vuphh

すげー文字ハッキリしてる!

Media_https3amazonaws_dtdvb

下にはマニュアルとケーブルが入ってた!

Media_https3amazonaws_fegdf

厚さはペンぐらい!薄い!でもちょっと重い^p^

Media_https3amazonaws_aeedj

保護フィルムを剥がして,,,

Step1: Kindleをつなぐ!

Media_https3amazonaws_brfhc

ってことで,USB→電源をつなぐ!

電源はちゃんと日本のコンセントだー

Media_https3amazonaws_bdcco

Step2:上部の電源ボタンをスライドさせる!

とかメモってたら勝手に電源入ったwww

Media_https3amazonaws_bfylh

このー木なんの木気になる木ー

Media_https3amazonaws_jbujd

てわけでローディングが終わったらユーザーガイドが立ち上がります.

英語.

Media_https3amazonaws_chapq

第一印象は文字がハッキリと見えすぎてスゴい.

重さはやはりちょっと重い,かな.

ずっと片手で持ってると疲れるかも,ぐらい.

ページ送りはやぱり遅い.ペラーリぐらい.でも許容レベルだと思いたい.

ページを一気に送るのはメニューからGo to Locationなんだけど,数字の入力がALT押しながらだからめんどくさい.

 

先日スキャンしたC++ Coding Standardsを転送して表示してみたところ,字が掠れて見にくい.

どうやらPDFの縦横サイズが大きいから縮小表示になり,掠れてる気がする.

Scanの設定でなんとかなるかもしれないので試してみる.→設定はまた次回!

大量のコンテンツを入れると,フォルダがなくて探しにくいって意見を見たことあるけど,検索があるから別に数千コンテンツ入れても大丈夫だと思った.

スタンバイ状態はこんな感じ.渋い.

Media_https3amazonaws_icfme

 

Kindle   Kindle DX  
[0 comments] - POSTED Jan 25 2010 @ 7:23

ScanSnap記事を上げるときに迷ったのでメモ. 


結論:イメージキャプチャってアプリケーションを使うと簡単にできる.

iPhoneをMacに繋いで,イメージキャプチャを立ち上げるとこんな感じの画面になる.

2010-01-17_2

一部を取り込みたいときは取り込みたいやつだけを選択して読み込むを押せばよい.

そんだけ.楽チン.

Mac   iPhone  
[0 comments] - POSTED Jan 16 2010 @ 9:27

Img_0268

ScanSnap S1500が届いた!

Img_0269

Amazonで¥37,370!

早速開梱してDVDをMacBookに挿入!

ScanSnapManagerをインストール.
終わったら,ScanSnapManagerを起動してヘルプ>オンラインアップデートを行う.
# SnowLeopardだからなんか修正プログラムがあるらしい.

ScanSnapに電源を繋いで,USBでMacBookと接続する.
カバーを開くと自動で電源が入る.

Img_0270

スキャン第一号は

 

Img_0271

C++ Coding Standards
http://www.amazon.co.jp/dp/4894716860

 


裁断はFedEx Kinko'sでやってもらいました.
¥105.ガラガラだったので一瞬で終了.

Img_0272

スキャンの設定はクイックメニューを使用するのチェックを外して設定した.
@読み取りモード
画質の選択:スーパーファイン(300dpi)
カラーモードの選択:グレー
読み取り面の選択:両面読み取り
オプション>文字をくっきりします

@ファイル形式
ファイル形式の選択:PDF
検索可能なPDFにしますにチェックを入れる

@ファイルサイズ
圧縮率:3

差し込んでScanボタンを押すだけ.
232ページで5分ぐらいでスキャン自体終了.
その後,OCRが走る.

上下を間違えてセットしたので,上下逆のPDFが出来てOCRもダメポでした.

上下をちゃんとして再度スキャンし直しました!
# 後で聞いたら上下の一括入れ替えはAcrobatで出来るそうです.

上の設定で拡大してもそんな字が崩れないで読めるのができる.
もちろん検索もできた.
漫画はもしかしたら同じ設定だとダメかもしれないのでまた次回.

ファイルサイズは232ページで82MBでした.

スキャンしてPDF化したのをMacのプレビューで表示してみた.

Kindle DX   ScanSnap  
[0 comments] - POSTED Jan 16 2010 @ 9:05

ひとまず超基本をメモっとこ.

 

・Google App Engine SDK

http://code.google.com/intl/ja/appengine/downloads.html
GoogleAppEngine_1.2.0.msi をDL

・GAE/Pythonのスタートガイド
http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/

・Google App Engine SDKのインストール
GoogleAppEngine_1.2.0.msiを実行.
C:\Program Files\Google\google_appengineにインストールされる.

・パスを通しておく
set Path=%Path%;C:\Program Files\Google\google_appengine\

・デモプログラムを実行してみる
cd C:\Program Files\Google\google_appengine\
dev_appserver.py demos\guestbook
ブラウザでhttp://localhost:8080/にアクセスするとゲストブックアプリが見れる.

・Hello Google App Engine(Local)
とりあえず置き場を作る.
cd C:\Program Files\Google\google_appengine\
mkdir application
cd application
mkdir HelloGAE
app.yamlとhelloGAE.pyをHeeloGAEの下にぶち込む
----app.yaml----
application: helloGAE
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
 script: helloGAE.py
----helloGAE.py----
# -*- coding: utf-8 -*-
def main():
 print 'Content-Type: text/plain'
 print ''
 print 'HelloGAE'

if __name__ == "__main__":
 main()
if __name__ == "__main__":
の意味はメインアプリケーションとして実行してるときだけ実行されるということ.
importでインポートされたときは__name__が__main__ではないため.

ローカルサーバに設置
dev_appserver.py application/helloGAE
http://localhost:8080/にアクセスするとHelloGAEが表示される.

・GAE上に設置
http://appengine.google.com/にアクセスし,サインインする.
Create an Applicationボタンをクリック
 ↓
Verify Your Account by SMS画面
自分の国とキャリアを選択してusernameにメアドの@の前を入れてSend
携帯に認証コードが書かれたメールが届くので,Enter Account Code:のところに入れてSend
 ↓
Create an Application画面
ApplicationIdentiferにはhellogae090720とかかぶらないようなIDを入れてCheck Availableを押してYesならOK
Application TitleにはHelloGAEとか入れておく
I accept these termsにチェックを入れてSave

app.yamlの修正
application: hellogae090720
に修正

GAEにデプロイ
appcfg.py update application\helloGAE

アクセス
http://hellogae090720.appsport.com/

次はGAEが用意してるモジュールってかwebappフレームワーク絡み。

GAE   Python  
[0 comments] - POSTED Jul 26 2009 @ 4:40

Pythonをはじめてみた.

*Pythonのインストール
GAEはPython2.5なので,それに合わせてPython2.5をインストールすることにする.
http://www.python.org/download/releases/2.5.4/
python-2.5.4.msi をDLして実行.

*pywin32のインストール
windows特有機能をpythonから簡単にいじるライブラリ.
あると便利なので入れておく.
http://sourceforge.net/projects/pywin32/
pywin32-212.win32-py2.5.exe をDLして実行.

*easy-installのインストール
簡単にライブラリをインストールできるツール.
何かと便利なので入れておく.
http://peak.telecommunity.com/DevCenter/EasyInstall
http://pypi.python.org/pypi/setuptools のDownloadsからsetuptools-0.6c9.win32-py2.5.exeをDLして実行.
C:\Python25\Scripts にPathを通しておく.(set Path=%Path%;C:\Python25\Scripts)

*easy-installの使い方
#Pathが通っているなら
コマンドラインで
easy-install パッケージ名
でパッケージのインストールが出来る

*使ってみる
スタートメニュー>IDLE>で対話型インタプリタを起動できる.
sourceファイルを作成しなくても1行ずつ実行できる.
「>>>」って言うのがソレね.

*Hello World
>>> print "Hello World"
Hello World

*コメント
「#」以降
>>> print "hoge" #hoge
hoge

*モジュールのインポート(import)
sysっていうモジュールをインポートする
>>>import sys

sysっていうモジュールからpathっていう変数をインポートする.
import sysの場合はsys.pathとしてアクセスしていたがpathだけでアクセスできるのも注目.
>>>from sys import path
>>>print path
['C:\\Python25\\Lib\\idlelib', 'C:\\Windows\\system32\\python25.zip', 'C:\\Python25\\DLLs', 'C:\\Python25\\lib', 'C:\\Python25\\lib\\plat-win', 'C:\\Python25\\lib\\lib-tk', 'C:\\Python25', 'C:\\Python25\\lib\\site-packages', 'C:\\Python25\\lib\\site-packages\\win32', 'C:\\Python25\\lib\\site-packages\\win32\\lib', 'C:\\Python25\\lib\\site-packages\\Pythonwin']

*リスト
配列っぽいの.
[]で囲まれて,コンマ(,)で区切ったもの.
>>>array = ['foo','bar','buzz']
>>>print array
['foo', 'bar', 'buzz']

range(x)っていう関数は指定された数までのリストを返す.
>>>print range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

*ループ
for 変数 in リスト:
    #処理
という風に書く.forを実行するブロックはインデント必須.
>>> for i in range(10):
        print i
   
0
1
2
3
4
5
6
7
8
9

*dict
ハッシュっぽいの.
名前:値のペアをコンマ(,)で並べて{}で囲ったもの.
>>>hash = {'foo':'bar','fizz':'buzz'}
>>> print hash
{'foo': 'bar', 'fizz': 'buzz'}
>>> print hash['foo']
bar
>>> hash[1] = 100
>>> print hash
{1: 100, 'foo': 'bar', 'fizz': 'buzz'}

*locals()
ローカルスコープで参照できるオブジェクトを列挙.
dictで帰ってくる.
>>>print locals()
{'hash': {1: 100, 'foo': 'bar', 'fizz': 'buzz'}, '__builtins__': <module '__builtin__' (built-in)>, 'sys': <module 'sys' (built-in)>, 'i': 9, 'path': ['C:\\Python25\\Lib\\idlelib', 'C:\\Windows\\system32\\python25.zip', 'C:\\Python25\\DLLs', 'C:\\Python25\\lib', 'C:\\Python25\\lib\\plat-win', 'C:\\Python25\\lib\\lib-tk', 'C:\\Python25', 'C:\\Python25\\lib\\site-packages', 'C:\\Python25\\lib\\site-packages\\win32', 'C:\\Python25\\lib\\site-packages\\win32\\lib', 'C:\\Python25\\lib\\site-packages\\Pythonwin'], '__name__': '__main__', 'array': ['foo', 'bar', 'buzz'], 'os': <module 'os' from 'C:\Python25\lib\os.pyc'>, '__doc__': None}

*dir()
名前の列挙.
リストで帰ってくる.
>>> print dir()
['__builtins__', '__doc__', '__name__', 'array', 'hash', 'i', 'os', 'path', 'sys']

*タプル
コンマ(,)で並べられて()で囲まれたもの.
>>> tup = ("foo","bar","fizz")
>>> print tup
('foo', 'bar', 'fizz')

タプルは分解することもできる.
>>> one,two,three = tup
>>> print "one=%s,two=%s,three=%s"%(one,two,three)
one=foo,two=bar,three=fizz
>>> print "one=%s,two=%s,three=%s"%tup
one=foo,two=bar,three=fizz

1つの要素の場合は最後にコンマが必要.
>>> tup = ("hoge",)
>>> print tup
('hoge',)

*条件分岐(if文)
else if じゃなくてelsifでもなくてelifなのに注意
if 条件:
    #処理
elif 条件:
    #処理
else 条件:
    #処理

真偽値はTrueとFalse.
条件は真偽値を and や or で複数の条件の組み合わせを書ける.
>>> if 1+1 == 2 and 1+2 == 2:
        print "hoge"
elif 1+1 == 2 or 1+2 == 2:
        print "fuga"
else:
        print "foo"

       fuga

*関数
def 関数名(引数):
    #処理

>>> def Hoge(param):
        print "Hoge(%s)"%param

        
>>> Hoge("PARAMATER")
Hoge(PARAMATER)

*クラス
class クラス名:
    def 関数名1:
        #処理
    def 関数名2:
        #処理
と定義すれば,クラス名.関数名1という風に使える.

*参照
ドキュメントがすごく豊富なので
http://www.python.jp/doc/release/index.html
を眺めてれば大体分かる.

*次回
とりあえず,コレぐらいの文法が出来ればあとはライブラリ使って何かしら作れるのでGoogle App Engineを使って何か作るところへ.
次回はとりあえず今出来てるセットアップと簡単なアプリぐらいのとこまで書こう.
Python  
[0 comments] - POSTED Jul 22 2009 @ 8:10

iPhoneアプリをWindows上で開発してみる

 
[参考文献]
http://blog.makotokw.com/2009/03/19/windowscygwiniphoneipod_touch_1/
http://developer.apple.com/jp/Documentation/Cocoa/Conceptual/ObjectiveC/Introduction/chapter_1_section_1.html
http://www.maxhorvath.com/2008/10/programming-for-iphone-using-linux-or-windows.html
 
[iPhoneFirmware]
iPod1,1_2.2.1_5H11_Restore.ipsw
 
[FWの暗号化の解除]
http://theiphonewiki.com/wiki/index.php?title=VFDecrypt_Keys:_2.x
の記述より,
2.2.1(5H11)のFirmwareのdmgの暗号化を解く暗号鍵以下
EE4EEEB62240C1378C739696DFF9FEF2C88834E98877F55A29C147E7D5B137967197392A
 
[環境整備]
*cygwin
http://www.cygwin.com/ からsetup.exeを落としてくる.
intall from internet
Root Directory: C:\cygwin
Install for: all users
default text file: Unix/Binary
LocalPackageDirectory: anywhere
Select Your Internet Connections: Direct
choose a download site: http://ftp.jaist.ac.jp
devel以下パッケージを追加選択@autoconf(stableの方),binutils, bison, flex,gcc-core, gcc-g++, make
Net以下パッケージを追加選択@openssh
追記:toolchainを落とすのにwget, FWの解凍用にunzip,設定の書き換えにeditor(うちはemacsを選択)を入れておく
 
*mintty(optional)
terminalソフト.
http://code.google.com/p/mintty/からdownloadして,
mintty.exeをC:\Cygwin\binに入れて,create_shortcut.jsを実行する.
 
*Ecripse(optional)
EasyEcripseを使うと楽.
http://www.easyeclipse.org/
Distribution C/C++のを選ぶ.
 
*PowerISOのインストール(dmgファイルの展開)
http://www.poweriso.com/download.htm
からDLしてインストール.
再起動.
 
*iPhone/iPod touch側の設定
jailbreakする
OpenSSHを入れる
Link Identity Editorを入れる(ldid)
 
 
[toolchain]
cd ~
wget http://www.pjtrix.com/iphone/articles/eclipse-cdt/iphone-2.0-toolchain.tgz
tar xvzf iphone-2.0-toolchain.tgz
 
[Firmwareから必要なファイルの抜き出し]
*Firmwareの解凍
$ mv /cygdrive/c/tmp/iPod1,1_2.2.1_5H11_Restore.ipsw ./
$ mkdir iPod1,1_2.2.1_5H11_Restore
$ mv iPod1,1_2.2.1_5H11_Restore.ipsw iPod1,1_2.2.1_5H11_Restore/iPod1,1_2.2.1_5H11_Restore.zip
$ unzip iPod1,1_2.2.1_5H11_Restore.zip
Archive:  iPod1,1_2.2.1_5H11_Restore.zip
  creating: .fseventsd/
 inflating: .fseventsd/000000000a42726d
 inflating: .fseventsd/fseventsd-uuid
 inflating: 018-4437-16.dmg
 inflating: 018-4443-16.dmg
 inflating: 018-4490-10.dmg
  creating: Firmware/
  creating: Firmware/all_flash/
  creating: Firmware/all_flash/all_flash.n45ap.production/
 inflating: Firmware/all_flash/all_flash.n45ap.production/applelogo.s5l8900x.img3
 inflating: Firmware/all_flash/all_flash.n45ap.production/batterylow0.s5l8900x.img3
 inflating: Firmware/all_flash/all_flash.n45ap.production/batterylow1.s5l8900x.img3
 inflating: Firmware/all_flash/all_flash.n45ap.production/DeviceTree.n45ap.img3
 inflating: Firmware/all_flash/all_flash.n45ap.production/glyphcharging.s5l8900x.img3
 inflating: Firmware/all_flash/all_flash.n45ap.production/glyphplugin.s5l8900x.img3
 inflating: Firmware/all_flash/all_flash.n45ap.production/iBoot.n45ap.RELEASE.img3
 inflating: Firmware/all_flash/all_flash.n45ap.production/LLB.n45ap.RELEASE.img3
 inflating: Firmware/all_flash/all_flash.n45ap.production/manifest
 inflating: Firmware/all_flash/all_flash.n45ap.production/needservice.s5l8900x.img3
 inflating: Firmware/all_flash/all_flash.n45ap.production/recoverymode.s5l8900x.img3
  creating: Firmware/dfu/
 inflating: Firmware/dfu/iBEC.n45ap.RELEASE.dfu
 inflating: Firmware/dfu/iBSS.n45ap.RELEASE.dfu
 inflating: Firmware/dfu/WTF.n45ap.RELEASE.dfu
 inflating: Firmware/dfu/WTF.s5l8900xall.RELEASE.dfu
 inflating: kernelcache.release.s5l8900x
 inflating: Restore.plist
$ cd iphone-2.0-toolchain
$ ./vfdecrypt.exe -i ~/iPod1,1_2.2.1_5H11_Restore/018-4490-10.dmg -o ~/decrypted  .dmg -k EE4EEEB62240C1378C739696DFF9FEF2C88834E98877F55A29C147E7D5B137967197392A
keyDerivationAlgorithm      0
keyDerivationPRNGAlgorithm  0
keyDerivationIterationCount 0
keyDerivationSaltSize       0
keyDerivationSalt
 
 
blobEncryptionIVSize        0
blobEncryptionIV
 
 
blobEncryptionKeySizeInBits 0
blobEncryptionAlgorithm     0
blobEncryptionPadding       0
blobEncryptionMode          0
encryptedBlobSize           0
encryptedBlob
 
展開されたdecrypted.dmgをPowerISOで展開.
user/libを~/iphone-2.0-toolchain/iphone-fs/usr/にコピー
System/Library/FrameworksとPrivateFrameworksを~/iphone-2.0-toolchain/iphone-fs/System/Libraryにコピー
 
[make-toolchainの編集]
$ cd ~
$ cd iphone-2.0-toolchain
$ cp make-toolchain make-toolchain.bak
$ emacs make-toolchain
$ diff make-toolchain make-toolchain.bak
19,24c19,24
< #case "${OSTYPE}" in
< #*win32*)
< #*cygwin*)
< #  export SUDO='echo "";'
< #  ;;
< #esac
---
> case "${OSTYPE}" in
> *win32*)
> *cygwin*)
>   export SUDO='echo "";'
>   ;;
> esac
31,33c31,33
< rm -rf "${sysroot}"
< mkdir -p "${sysroot}"
< chmod o+w "${sysroot}"
---
> $SUDO rm -rf "${sysroot}"
> $SUDO mkdir -p "${sysroot}"
> $SUDO chmod o+w "${sysroot}"
45,86d44
< ln -sf ../../System/Library/Frameworks/IOKit.framework/Versions/A/IOKit libIOKit.A.dylib
< ln -sf libIOKit.A.dylib libIOKit.dylib
< ln -sf libSystem.B.dylib libSystem.dylib
< ln -sf ../../System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/libBLAS.dylib libblas.dylib
< ln -sf libbz2.1.0.4.dylib libbz2.1.0.dylib
< ln -sf libbz2.1.0.4.dylib libbz2.dylib
< ln -sf libSystem.dylib libc.dylib
< ln -sf ../../System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/libBLAS.dylib libcblas.dylib
< ln -sf libcharset.1.dylib libcharset.1.0.0.dylib
< ln -sf libcharset.1.dylib libcharset.dylib
< ln -sf ../../System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/libLAPACK.dylib libclapack.dylib
< ln -sf libncurses.5.dylib libcurses.dylib
< ln -sf libSystem.dylib libdbm.dylib
< ln -sf libSystem.dylib libdl.dylib
< ln -sf libedit.2.dylib libedit.2.9.dylib
< ln -sf libedit.2.dylib libedit.dylib
< ln -sf libexslt.0.dylib libexslt.dylib
< ln -sf libform.5.4.dylib libform.dylib
< ln -sf libiconv.2.dylib libiconv.2.4.0.dylib
< ln -sf libiconv.2.4.0.dylib libiconv.dylib
< ln -sf libicucore.A.dylib libicucore.dylib
< ln -sf libSystem.dylib libinfo.dylib
< ln -sf libipsec.A.dylib libipsec.dylib
< ln -sf ../../System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/libLAPACK.dylib liblapack.dylib
< ln -sf libSystem.dylib libm.dylib
< ln -sf libncurses.5.dylib libncurses.dylib
< ln -sf libobjc.A.dylib libobjc.dylib
< ln -sf libSystem.dylib libpoll.dylib
< ln -sf libSystem.dylib libproc.dylib
< ln -sf libSystem.dylib libpthread.dylib
< ln -sf libresolv.9.dylib libresolv.dylib
< ln -sf libSystem.dylib librpcsvc.dylib
< ln -sf libsqlite3.0.dylib libsqlite3.0.8.6.dylib
< ln -sf libsqlite3.0.dylib libsqlite3.dylib
< ln -sf libstdc++.6.0.4.dylib libstdc++.6.dylib
< ln -sf libtidy.A.dylib libtidy.dylib
< ln -sf libutil1.0.dylib libutil.dylib
< ln -sf libxml2.2.dylib libxml2.dylib
< ln -sf libxslt.1.dylib libxslt.dylib
< ln -sf libz.1.2.3.dylib libz.1.dylib
< ln -sf libz.1.2.3.dylib libz.dylib
< ln -sf libz.1.dylib libz.1.1.3.dylib
101c59
< chmod -R o-w "${sysroot}"
---
> $SUDO chmod -R o-w "${sysroot}"
120c78
< make install
---
> $SUDO make install
141c99
< make install
---
> $SUDO make install
 
[make-toolchain]
$ ./make-toolchain
 
[building console application]
Ecripseを立ち上げる
File>New>Project
General>Projectを選び,Next
Project Name: HelloiPhone
Use default locationのチェックをはずす.
Location: C:\Cygwin\home\[username]\HelloiPhone
でプロジェクトを作成する.
Makefile
HelloiPhone.c
を作成する.
 
*Makefile
CC=/usr/local/bin/arm-apple-darwin9-gcc
CXX=/usr/local/bin/arm-apple-darwin9-g++
LD=$(CC)
all: HelloiPhone
HelloiPhone: HelloiPhone.o
$(LD) $(LDFLAGS) -o $@ $^
%.o: %.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
clean:
rm *.o HelloiPhone
 
*HelloiPhone.c
#include <stdio.h>
int main(void) {
   printf("Hello, iPhone!\n");
   return 0;
}
 
*build
$ cd ~/HelloiPhone
$ make
 
*iPhoneへ転送
iPhoneのSSH機能をOnにしておく
WLANでBuildマシンから見えるところへ接続しておく
iPhoneのIPを調べておく.
 
$ export IPHONE_IP=iPhoneのIP
$ scp HelloiPhone root@${IPHONE_IP}:~/
password: alpine
 
 
*バイナリファイルへ署名をつけ,実行
iPhoneにSSH接続し,ldidを実行し,署名をつける.
$ ssh root@${IPHONE_IP}
password: alpine
localhost:~ root# ldid -S HelloiPhone
localhost:~ root# ./HelloiPhone
Hello, iPhone!
 
[building cocoa touch application]
*create HelloiPhoneApp.h
#import <UIKit/UIKit.h>

@interface HelloiPhoneApp : UIApplication
{
        UIView                          *contentView;
        UIWindow                        *window;
        UINavigationBar         *nav;
        UITextView                      *text;
}
@end

 
*create HelloiPhoneApp.m
#import "HelloiPhoneApp.h"

@implementation HelloiPhoneApp

- (void)applicationDidFinishLaunching:(UIApplication *)application

{
        window = [[UIWindow alloc] initWithContentRect:
                [UIHardware fullScreenApplicationContentRect] ];

        contentView = [[UIView alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 320.0f, 480.0f)];


        nav = [[UINavigationBar alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 320.0f, 48.0f)];
        [nav pushNavigationItem:[[UINavigationItem alloc] initWithTitle:@"HelloWorld"]];
        [nav showButtonsWithLeftTitle: @"Left" rightTitle: @"Right" leftBack: YES];
        [nav setBarStyle: 0];
        [contentView addSubview: nav];

        text = [[UITextView alloc] initWithFrame: CGRectMake(0.0f, 48.0f, 320.0f, 480.0f)];
        [text setText: [[NSString alloc]
                initWithString: @"Hello World\nCocoa Touch Application"]];
        [contentView addSubview: text];

        window.contentView = contentView;

        [window orderFront: self];
        [window makeKey: self];
        [window _setHidden: NO];
}

- (void)dealloc

{
        [text release];
        [nav release];
        [contentView release];
        [window release];
        [super dealloc];
}

@end

 
*create HelloiPhone.m
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "HelloiPhoneApp.h"
int main(int argc, char *argv[])
{
        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

        UIApplicationMain(argc, argv, @"HelloiPhoneApp", @"HelloiPhoneApp");

        [pool release];

 
        return 0;
}
 
*create Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
        <dict>
                <key>CFBundleDevelopmentRegion</key>
                <string>en</string>
                <key>CFBundleExecutable</key>
                <string>HelloiPhone</string>
                <key>CFBundleIdentifier</key>
                <string>com.pochi.helloiphone</string>
                <key>CFBundleInfoDictionaryVersion</key>
                <string>0.1</string>
                <key>CFBundleName</key>
                <string>HelloiPhone</string>
                <key>CFBundlePackageType</key>
                <string>APPL</string>
                <key>CFBundleShortVersionString</key>
                <string>1.0.0</string>
                <key>CFBundleSignature</key>
                <string>????</string>
                <key>CFBundleVersion</key>
                <string>1.0</string>
        </dict>
</plist>
 
 
*edit Makefile
リンカのフラグにGUI関連のframeworkなどを指定する.
 
CC=/usr/local/bin/arm-apple-darwin9-gcc
CXX=/usr/local/bin/arm-apple-darwin9-g++
LD=$(CC)
CFLAGS= -I/usr/local/lib/gcc/arm-apple-darwin9/4.2.1/include \
                -isysroot /usr/local/iphone-sysroot
LDFLAGS=-framework CoreFoundation \
                -framework Foundation \
                -framework UIKit \
                -lobjc \
                -bind_at_load \
                -isysroot /usr/local/iphone-sysroot

all: HelloiPhone.app
HelloiPhone.app: HelloiPhone Info.plist
        mkdir -p HelloiPhone.app
        cp Info.plist HelloiPhone Default.png icon.png HelloiPhone.app/
HelloiPhone: HelloiPhone.o HelloiPhoneApp.o
        $(LD) $(LDFLAGS) -o $@ $^
%.o: %.m
        $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
clean:
        rm -rf *.o HelloiPhone HelloiPhone.app

 
*build application
$ cd ~/HelloiPhone
$ make
/usr/local/bin/arm-apple-darwin9-gcc -c -I/usr/local/lib/gcc/arm-apple-darwin9/4.2.1/include -isysroot /usr/local/iphone-sysroot  HelloiPhone.m -o HelloiPhone.o
/usr/local/bin/arm-apple-darwin9-gcc -c -I/usr/local/lib/gcc/arm-apple-darwin9/4.2.1/include -isysroot /usr/local/iphone-sysroot  HelloiPhoneApp.m -o HelloiPhoneApp.o
/usr/local/bin/arm-apple-darwin9-gcc -framework CoreFoundation -framework Foundation -framework UIKit -lobjc -bind_at_load -isysroot /usr/local/iphone-sysroot -o HelloiPhone HelloiPhone.o HelloiPhoneApp.o
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamDataWrittenToMemoryStreamKey
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamDataWrittenToMemoryStreamKey
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamDataWrittenToMemoryStreamKey
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamFileCurrentOffsetKey
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamFileCurrentOffsetKey
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamFileCurrentOffsetKey
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSOCKSProxyConfigurationKey
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSOCKSProxyConfigurationKey
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSOCKSProxyConfigurationKey
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSOCKSProxyHostKey
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSOCKSProxyHostKey
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSOCKSProxyHostKey
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSOCKSProxyPasswordKey
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSOCKSProxyPasswordKey
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSOCKSProxyPasswordKey
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSOCKSProxyPortKey
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSOCKSProxyPortKey
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSOCKSProxyPortKey
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSOCKSProxyUserKey
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSOCKSProxyUserKey
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSOCKSProxyUserKey
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSOCKSProxyVersion4
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSOCKSProxyVersion4
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSOCKSProxyVersion4
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSOCKSProxyVersion5
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSOCKSProxyVersion5
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSOCKSProxyVersion5
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSOCKSProxyVersionKey
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSOCKSProxyVersionKey
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSOCKSProxyVersionKey
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSocketSecurityLevelKey
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSocketSecurityLevelKey
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSocketSecurityLevelKey
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSocketSecurityLevelNegotiatedSSL
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSocketSecurityLevelNegotiatedSSL
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSocketSecurityLevelNegotiatedSSL
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSocketSecurityLevelNone
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSocketSecurityLevelNone
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSocketSecurityLevelNone
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSocketSecurityLevelSSLv2
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSocketSecurityLevelSSLv2
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSocketSecurityLevelSSLv2
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSocketSecurityLevelSSLv3
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSocketSecurityLevelSSLv3
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSocketSecurityLevelSSLv3
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol _NSStreamSocketSecurityLevelTLSv1
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of _NSStreamSocketSecurityLevelTLSv1
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of _NSStreamSocketSecurityLevelTLSv1
/usr/local/bin/arm-apple-darwin9-ld: warning multiple definitions of symbol ___crashreporter_info__
/usr/local/iphone-sysroot/System/Library/Frameworks/Foundation.framework/Foundation(single module) definition of ___crashreporter_info__
/usr/local/iphone-sysroot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation(single module) definition of ___crashreporter_info__
mkdir -p HelloiPhone.app
cp Info.plist HelloiPhone Default.png icon.png HelloiPhone.app/
 
*転送と署名
$ scp -r HelloiPhone.app root@${IPHONE_IP}:/Applications/
password: alpine
Default.png                                                                       100%  108     0.1KB/s   00:00
HelloiPhone                                                                       100%   14KB  14.0KB/s   00:00
icon.png                                                                          100% 2399     2.3KB/s   00:00
Info.plist                                                                        100%  772     0.8KB/s   00:00
$ ssh root@${IPHONE_IP}
password: alpine
localhost:~ root# ldid -S /Applications/HelloiPhone.app/HelloiPhone
 
*respringすると,アイコンがdashboardに現れてるので,クリックして実行
 
[GUI Applicationルール]
sourcefileは*.m(Objective-Cのルール)
アプリケーションの配置は以下のようになる.
hoge.app(directory)
hoge.app/Info.plist
-アプリ名とか,実行ファイルを示すxmlファイル
hoge.app/Default.png
-ロード中に表示させる絵
hoge.app/icon.png
-ダッシュボードに表示されるアイコン
hoge.app/hoge
-実行ファイル
 
[Foundation]
Foundation is where strings, lists, and base object-oriented hierarchies are defined in Cocoa and Cocoa Touch.
FoundationはCocoaとCocoaタッチ向けにstringとかlistとかオブジェクト指向のヒエラルキーが定義されてるやつ.
 
[UIKit]
UIKit defines quite a lot of the UI elements in an iPhone application.
UIKitはすごく多くのiPhone向けUIパーツを定義してるやつ.
 
[スリープタイマーを切る方法]
[UIApplication sharedApplication].idleTimerDisabled = YES;
 
[iconがでない,loading画面が出ない]
Default.png, icon.png のpermissionが正しく設定されていない可能性がある.
$ chmod o+r *.png
を実行.
また,それぞれcase-sensitiveらしい.
 
[makefileの復習]
$@: ターゲットファイル名
$<:最初の必須項目のファイル名
$^:すべての必須項目を重複を除いてスペースで区切ったリスト

[0 comments] - POSTED May 01 2009 @ 23:55

Grab photos

Show me how »

Grab videos

Show me how »

Grab text

Show me how »
", { opacity: 0.6 }); Event.stop(e) }); $('video_showmehow').observe('click', function(e) { var modal = Control.Modal.open( ""+ "", { opacity: 0.6 }); Event.stop(e) }); $('text_showmehow').observe('click', function(e) { var modal = Control.Modal.open( ""+ "", { opacity: 0.6 }); Event.stop(e) }); }); // -->

 

 

 

 

 

 

 

 

 

 

posterous の clip bookmarkletを試してみるてすつ

bookmarklet   posterous  
[0 comments] - POSTED Mar 10 2009 @ 9:23

webから編集にするとposterousはなんか rich editor が default だから平文を書いたことがなかったので書いてみるテスト.

あとは見出し(h1)とかのテスト.

Here is h1

something to write

here is h2

something to write

typewriter

^p^コード書くのはやっぱpreかな!

 

#ちょっと修正した^p^

posterous  
[1 comment] - POSTED Mar 10 2009 @ 8:52
Powered by Tumblr. Themed by A.W.