One in a few installation of Symbian SDK has a problem in starting up the emulator. Discussions should be easily found by googling "ncnlist KERN-EXEC3". The solution, however, is a bit tricky to locate, thanks to the ever-changing Forum Nokia site. When will they stay on a fixed UI and structure? Maybe that's how people earn their living: whoever take over the department would try to change every thing down to a deep blue or royal blue - so that they have make some sort of contribution and be granted for a large amount of cash. Anyway.
Here is the current link to the solution:
http://wiki.forum.nokia.com/index.php/TSS000651_-_NCNList_KERN-EXEC_3_panic_when_starting_the_S60_3rd_Edition,_FP1_emulator
It would be vise if we posted the answer with key words or description, rather than "click here for solution". I have to search "TSS000651" on the wiki site for the most updated link. Maybe you have to do that too. Good luck.
Showing posts with label Symbian. Show all posts
Showing posts with label Symbian. Show all posts
Monday, 21 February 2011
Sunday, 22 August 2010
打爛沙盤問到篤
最近公司聘請了一位有一年工作經驗的人,這位新同事不是CS出身,故此對於基層C++的理論和應用,有點不明所然,對於Symbian C++更加是一頭霧水。但他連日來不斷努力煲書,甚至不惜工本買了《Symbian OS C++ for Mobile Phones - Volume 3》來煲,這本書我也沒有看過,全公司裡他是第一人,勁爆!而這本書似乎幫助他對Symbian C++有更好的了解,除了一個API:TDesC。他無法理解為何TDesC能夠讀取它的子類裡的數據。
他好學不倦的性格感動到我,也使我有很大的壓力,所以上Symbian.org去搵答案。如今Symbian已經是Open Source,可以直接看代碼,看看TDesC裡到底是怎樣做到它能解讀子類的數據:
http://developer.symbian.org/xref/oss/xref/Symbian3/sf/os/kernelhwsrv/kernel/eka/common/des16.cpp
例如:
1252 EXPORT_C HBufC16 *TDesC16::AllocLC() const
1253 /**
1254 Creates a new 16-bit heap descriptor, initialises it with a copy of this
1255 descriptor's data, and puts a pointer to the descriptor onto the cleanup stack.
1256
1257 The function leaves, if creation of the descriptor fails.
1258
1259 @return A pointer to the 16-bit heap descriptor, if creation is successful.
1260 The pointer is also put onto the cleanup stack.
1261 */
1262 {
1263
1264 HBufC16 *pH=HBufC16::NewLC(Length());
1265 *pH=(*this);
1266 return(pH);
1267 }
簡直是嘆為觀止!這是就中學程度吧?我呢種小三級有排都追唔上。
他好學不倦的性格感動到我,也使我有很大的壓力,所以上Symbian.org去搵答案。如今Symbian已經是Open Source,可以直接看代碼,看看TDesC裡到底是怎樣做到它能解讀子類的數據:
http://developer.symbian.org/xref/oss/xref/Symbian3/sf/os/kernelhwsrv/kernel/eka/common/des16.cpp
例如:
1252 EXPORT_C HBufC16 *TDesC16::AllocLC() const
1253 /**
1254 Creates a new 16-bit heap descriptor, initialises it with a copy of this
1255 descriptor's data, and puts a pointer to the descriptor onto the cleanup stack.
1256
1257 The function leaves, if creation of the descriptor fails.
1258
1259 @return A pointer to the 16-bit heap descriptor, if creation is successful.
1260 The pointer is also put onto the cleanup stack.
1261 */
1262 {
1263
1264 HBufC16 *pH=HBufC16::NewLC(Length());
1265 *pH=(*this);
1266 return(pH);
1267 }
簡直是嘆為觀止!這是就中學程度吧?我呢種小三級有排都追唔上。
Thursday, 12 August 2010
s60 messaging: memory full (part 4)
「測試再啟動!」這是今晚第四次實機測試了。
前三次測試時,程式均中途退出。沒有先兆、沒有顯示、沒有確切答案,瞎猜著是記憶體不足吧。那就大幅減少了程式印出的記錄、減去一個無謂的資料收集容器。
看著程式畫面顯示數到 3333,今次能成功匯出SMS嗎?還沒有數到 15890,15890 是SMS和MMS的總數。
已經忘了這「救亡行動」展開有多久,大概買 Netbook 時吧,當時就是為這個行動而買的吧。
畫面數到 4240,已經超過手機自己可以「讀取」的 4088,是,手機「忘了」其實的一萬多個 SMS。
N82 出事,換上 iPhone(一代)。還沒有等到修復程式,就換了iPhone 3GS;還沒有等到修復程式,Apple 已經出了 iPhone 4。
忙就是一切「未完成」的最佳借口。
6523...
程式尚未完成,現在抽出來的文本格式是有問題的,所有我發出去的SMS沒有收訊人號碼,不可以來訊、回訊放在一起。不過,但願先把手機裡的短訊文字抽出來,留一個底、留一個心安吧。
11333...
前三次測試時,程式均中途退出。沒有先兆、沒有顯示、沒有確切答案,瞎猜著是記憶體不足吧。那就大幅減少了程式印出的記錄、減去一個無謂的資料收集容器。
看著程式畫面顯示數到 3333,今次能成功匯出SMS嗎?還沒有數到 15890,15890 是SMS和MMS的總數。
已經忘了這「救亡行動」展開有多久,大概買 Netbook 時吧,當時就是為這個行動而買的吧。
畫面數到 4240,已經超過手機自己可以「讀取」的 4088,是,手機「忘了」其實的一萬多個 SMS。
N82 出事,換上 iPhone(一代)。還沒有等到修復程式,就換了iPhone 3GS;還沒有等到修復程式,Apple 已經出了 iPhone 4。
忙就是一切「未完成」的最佳借口。
6523...
程式尚未完成,現在抽出來的文本格式是有問題的,所有我發出去的SMS沒有收訊人號碼,不可以來訊、回訊放在一起。不過,但願先把手機裡的短訊文字抽出來,留一個底、留一個心安吧。
11333...
Wednesday, 10 March 2010
Hard Reset Nokia S60 phones
有些用家喜歡拿到手機後 Hard Reset 一次,以確保手機(或 PDA)裡頭沒有奇怪的東西。也有些情況是應用出錯,導致手機不能啟動,需要 Hard Reset。
前者可以利用 *#7370# 來進行 Hard Reset,但如果手機不能正常啟動,又或者無法進入撥號畫面(如最新的 Touch 機,撥號畫面是在另一個UI裡),就需要用以下方法:
含 Keypad 手機(大部份相似N82的S60 3.0/3.1/3.2手機),先關機,然後同時按下 通話鍵 (Green Call Key) + 星鍵 * + 3,不要放手,然後開機,直到手機提示地區選擇。
含 "Hard Keys" 實體按鍵的 Touch 手機(例如 5800XM,不適用於 5530),先關機,然後同時按下 通話鍵 (Green Call Key) + 掛線鍵 (Red key) + 相機鍵 (Camera Key),不要放手,然後開機,直到手機提示地區選擇。
沒有實體按鍵,但有QWERTY Keyboard 的 Touch 手機(例如 N97, N97 mini),先關機,然後同時按下 Shift + Space bar + Backspace,不要放手,然後開機,直到手機提示地區選擇。
注意: Hard Reset 之後,所有手機裡的數據都會消除,內存的大容量記憶及記憶卡不在此限。
前者可以利用 *#7370# 來進行 Hard Reset,但如果手機不能正常啟動,又或者無法進入撥號畫面(如最新的 Touch 機,撥號畫面是在另一個UI裡),就需要用以下方法:
含 Keypad 手機(大部份相似N82的S60 3.0/3.1/3.2手機),先關機,然後同時按下 通話鍵 (Green Call Key) + 星鍵 * + 3,不要放手,然後開機,直到手機提示地區選擇。
含 "Hard Keys" 實體按鍵的 Touch 手機(例如 5800XM,不適用於 5530),先關機,然後同時按下 通話鍵 (Green Call Key) + 掛線鍵 (Red key) + 相機鍵 (Camera Key),不要放手,然後開機,直到手機提示地區選擇。
沒有實體按鍵,但有QWERTY Keyboard 的 Touch 手機(例如 N97, N97 mini),先關機,然後同時按下 Shift + Space bar + Backspace,不要放手,然後開機,直到手機提示地區選擇。
注意: Hard Reset 之後,所有手機裡的數據都會消除,內存的大容量記憶及記憶卡不在此限。
Thursday, 21 January 2010
Symbian^4 interface
(source: http://www.macworld.co.uk/news/index.cfm?email&NewsID=28353)
Symbian^4 interface aims to compete with Apple's iPhone and Google's Android OS
Overhauled interface will arrive next year, according to the Symbian Foundation
Mikael Ricknäs
Nokia has turned in its proposal for the user interface in Symbian^4, with the goal of developing an interface that can compete with the iPhone and Google's Android OS.
The proposal was turned in to the Symbian Foundation on Friday, and will now undergo open evaluation, according to a blog post.
Symbian^4 - which will show up on smartphones in the beginning of 2011, according to the Symbian Developer Web site - will have a new user interface, according to the Symbian Foundation.
Improvements include minimizing user prompts, autosaving features to reduce save commands, the same look-and-feel for all applications and a new interface layout, according to Nokia's proposal.
The interface will have four main views: contacts, music, photos and applications, according to Nokia. Users will be able to create shortcuts, placed on the home screen, to access specific content items or collections, Nokia wrote.
Context-based menus, which will be accessed using a long press, will provide faster access to common commands, according to Nokia.
Nokia previews next-generation Symbian user interface.
Nokia's CEO Olli-Pekka Kallasvuo has openly admitted that Symbian's user interface needs to improve and is convinced his company and the Symbian community are up to the task. By the end of next year Symbian's user interface will be a non-issue, Kallasvuo said at Nokia's Capital Markets Day in December.
Prior to the arrival of Symbian^4 the Symbian Foundation will put out versions 2 and 3, which will also feature user interface improvements.
Symbian^2, which is the first open version of the Symbian platform, will, for example, have a customizable home screen.
Symbian^3 will use single taps throughout the touch-based user interface - no more tap to select, then tap again to action - and feature multitouch gesture support, according to the Symbian Developer Web site.
Friday, 20 November 2009
Advanced IPC call for C class objects
第一個附帶 background service 的應用是由同事開發,但 GUI 程式與背景程式之間並沒有直接溝通的方式,即是說,沒有用上 Inter-Process Calls IPC。它們會共用一個數據庫來儲存設定,故此,背景程式只好每 50 秒讀取數據庫一次。換算出來,一天就讀取了 1728 次,但由於 GUI 設計簡陋,功能被限定只在 00:00 運作,多次讀取數據庫行為變成手機 CPU、FLASH 和電池的不必要負荷。
第二個附帶 background service 的應用是去年開發,由於對程式編寫的完美有份執著,所以我研究如何讓 GUI 程式與背景程式直接溝通,看了一些文檔、一些實例,終於開發出我的第一代 IPC。第一代的 IPC 只有一個 call:Reload()。沒錯,應用程式依舊存在過去的影子:GUI 程式讀寫數據庫,背景程式唯讀數據庫。但相比起第一個程式,已經針對性減少很多不必要的負荷。Reload() 只出現在用戶使用 GUI 程式更改了設定時,而 timer 由固定每幾秒運作延長至更接近需要運作的時刻。為了更清楚明白如何安排它工作,我把它比喻成家裡一個傭人。
沒錯,寫程式就像安排一個「人」為自己進行一堆指令的工作一樣。除非,寫的是 AI Engine。
其實我不太喜歡兩個應用共享一個數據庫、同步的唯一方法是 Reload,由為這樣會令管理上帶來混亂。背景程式不曉得更改的是什麼,它只能每次 Reload 前重置所有狀態,之後按新的數據行事。情況也變得被動,如果它不喜歡 GUI 的設定呢?應該說,如果它發現 GUI 的設定有誤,可以拒絕嗎?所以之後的產品針對這個作出了改良。
第三個附帶背景程式的應用是去年年尾、今年年頭時開發。 GUI 程式與背景程式之間共享的數據,全都是 Build-in 的 T class,要寫的 IPC 很簡單,只是數量比以前多。但這個背景程式又會啟動另一個 GUI 程式(三角關係),所以 IPC 變得複雜,有一個 Listener。建立一個 Listener 關係的 IPC 是最花時間的部份。另外,背景程式負責的事項太多,導致它存在著一些致命的漏洞(我卻在半年後才發現)。
有空的話,我真的想把以上三個程式重寫一次。不過,我該沒這個閒了。
最近在寫第四個附帶背景程式的應用,今次沒有三角關係的複雜,卻有數據的管理和傳遞問題。除了設定這類 build-in T class 外,我從來沒處理過 C class 和 R class。沒有過去的經驗支持,開發的進度一下子慢了下來。明明兩天搞定了 20% 的 UI 和基本的背景服務,但卻用了三天來建立 data class 和 database,還沒完成 IPC 的 C 類傳送。
今晚 google 出:Passing C classes over IPC asynchronously - both ways。其中這段,正是我今日做了一半的 IPC:
... split the entire call into a synchronous and an asynchronous step. The synchronous is for sending all the CBase derived stuff over the process boundary. The asynchronous is for initiating the work and waiting on completion.
Now it is very easy when you keep some things in mind. An instance of a custom class has to be serialized/deserialized. Sometimes this is also called marshaling/demarshaling.
原來我今日讀的 Example 裡用的 function 名:MarshalData 是有意思的。
Your CBase derived class instance fully writes its members into a dynamic growing CBufBase derived buffer. It is easy to put a stream over that buffer. The stream has several write functions to write all the build in types into that buffer (non build in member types have to provide write functions again - can be easy cascaded). After fully serialized you can create a descriptor from that buffer.
Sending that descriptor via IPC is easy.
On the other side you have to deserialize your instance from that descriptor. Again put a stream over the descriptor and read in all the members of your CBase derived class instance. (Keep in mind you do reading in the same order like writing before). Et voila you have a perfect clone of your CBase derived instance. ...
When requesting a CBase derived instance from a server you have to do this in 2 separate synchronous IPC calls.
1. Ask the server to provide a size: "How big is the requested CBase derived instance?" (Easy again: Serialize the requested instance and let the server provide the descriptor's length)
2. Let the server write the serialized instance into the client side provided descriptor.
OK. This is very costly because of the IPC calls but it works perfectly.
我已經把讀取一個 array 的 IPC 分拆兩部份:第一步,讀取 Array 的 Count,第二步,按每個 item 讀取它所需的 buffer 大小。第三步應該是開 buffer、讀出資料,但我還沒有想出確實的寫法。明天應該可以按這個 thread 來完成吧。還要 cache 起第二步建立的 buffer,留在第三步中使用,不浪費 CPU time。
昨日在 Facebook 上寫:兩日快、兩日慢,終於又陷入咗膠狀,又是 Data Type 的運用和 Database 的 design 最花功夫。Programmer 就係要諗埋 end users 估都估唔到的情況,如果咁咁咁,會點呢?
今日要改成:IPC 的設計、建立與維護也很花功夫。Programmer 就係要諗埋 bosses 唔會理的情況,無理由為了貪一時之快而限制 GUI 的功能。End users 會點諗呢?又一隻癈 APP?
第二個附帶 background service 的應用是去年開發,由於對程式編寫的完美有份執著,所以我研究如何讓 GUI 程式與背景程式直接溝通,看了一些文檔、一些實例,終於開發出我的第一代 IPC。第一代的 IPC 只有一個 call:Reload()。沒錯,應用程式依舊存在過去的影子:GUI 程式讀寫數據庫,背景程式唯讀數據庫。但相比起第一個程式,已經針對性減少很多不必要的負荷。Reload() 只出現在用戶使用 GUI 程式更改了設定時,而 timer 由固定每幾秒運作延長至更接近需要運作的時刻。為了更清楚明白如何安排它工作,我把它比喻成家裡一個傭人。
沒錯,寫程式就像安排一個「人」為自己進行一堆指令的工作一樣。除非,寫的是 AI Engine。
其實我不太喜歡兩個應用共享一個數據庫、同步的唯一方法是 Reload,由為這樣會令管理上帶來混亂。背景程式不曉得更改的是什麼,它只能每次 Reload 前重置所有狀態,之後按新的數據行事。情況也變得被動,如果它不喜歡 GUI 的設定呢?應該說,如果它發現 GUI 的設定有誤,可以拒絕嗎?所以之後的產品針對這個作出了改良。
第三個附帶背景程式的應用是去年年尾、今年年頭時開發。 GUI 程式與背景程式之間共享的數據,全都是 Build-in 的 T class,要寫的 IPC 很簡單,只是數量比以前多。但這個背景程式又會啟動另一個 GUI 程式(三角關係),所以 IPC 變得複雜,有一個 Listener。建立一個 Listener 關係的 IPC 是最花時間的部份。另外,背景程式負責的事項太多,導致它存在著一些致命的漏洞(我卻在半年後才發現)。
有空的話,我真的想把以上三個程式重寫一次。不過,我該沒這個閒了。
最近在寫第四個附帶背景程式的應用,今次沒有三角關係的複雜,卻有數據的管理和傳遞問題。除了設定這類 build-in T class 外,我從來沒處理過 C class 和 R class。沒有過去的經驗支持,開發的進度一下子慢了下來。明明兩天搞定了 20% 的 UI 和基本的背景服務,但卻用了三天來建立 data class 和 database,還沒完成 IPC 的 C 類傳送。
今晚 google 出:Passing C classes over IPC asynchronously - both ways。其中這段,正是我今日做了一半的 IPC:
... split the entire call into a synchronous and an asynchronous step. The synchronous is for sending all the CBase derived stuff over the process boundary. The asynchronous is for initiating the work and waiting on completion.
Now it is very easy when you keep some things in mind. An instance of a custom class has to be serialized/deserialized. Sometimes this is also called marshaling/demarshaling.
原來我今日讀的 Example 裡用的 function 名:MarshalData 是有意思的。
Your CBase derived class instance fully writes its members into a dynamic growing CBufBase derived buffer. It is easy to put a stream over that buffer. The stream has several write functions to write all the build in types into that buffer (non build in member types have to provide write functions again - can be easy cascaded). After fully serialized you can create a descriptor from that buffer.
Sending that descriptor via IPC is easy.
On the other side you have to deserialize your instance from that descriptor. Again put a stream over the descriptor and read in all the members of your CBase derived class instance. (Keep in mind you do reading in the same order like writing before). Et voila you have a perfect clone of your CBase derived instance. ...
When requesting a CBase derived instance from a server you have to do this in 2 separate synchronous IPC calls.
1. Ask the server to provide a size: "How big is the requested CBase derived instance?" (Easy again: Serialize the requested instance and let the server provide the descriptor's length)
2. Let the server write the serialized instance into the client side provided descriptor.
OK. This is very costly because of the IPC calls but it works perfectly.
我已經把讀取一個 array 的 IPC 分拆兩部份:第一步,讀取 Array 的 Count,第二步,按每個 item 讀取它所需的 buffer 大小。第三步應該是開 buffer、讀出資料,但我還沒有想出確實的寫法。明天應該可以按這個 thread 來完成吧。還要 cache 起第二步建立的 buffer,留在第三步中使用,不浪費 CPU time。
昨日在 Facebook 上寫:兩日快、兩日慢,終於又陷入咗膠狀,又是 Data Type 的運用和 Database 的 design 最花功夫。Programmer 就係要諗埋 end users 估都估唔到的情況,如果咁咁咁,會點呢?
今日要改成:IPC 的設計、建立與維護也很花功夫。Programmer 就係要諗埋 bosses 唔會理的情況,無理由為了貪一時之快而限制 GUI 的功能。End users 會點諗呢?又一隻癈 APP?
Wednesday, 18 November 2009
心情不好,dup code
明明是很簡單的計算,怎麼會講極唔明呢?
心情很差,寫CODE prove it!
明明是很簡單的計算,連埋加 Timer 和 debug 加 touch event,只需要一個小時。
如果某某不能提升速度和效率,那沒有人保得住他了(沒有人會保他了)。
心情很差,寫CODE prove it!
明明是很簡單的計算,連埋加 Timer 和 debug 加 touch event,只需要一個小時。
如果某某不能提升速度和效率,那沒有人保得住他了(沒有人會保他了)。
Sunday, 25 October 2009
Windows 7 反盜版技術
微軟推出新版視窗操作系統 Windows 7,今日在香港正式發售,微軟香港公司今日在銅鑼灣時代廣場舉行產品發佈會,並以超級優惠價 377元(原價 2,699元)限量發售 400套旗艦版,數百名「微軟迷」早於昨晨已經聞風而至通宵等候購買。
微軟公司香港區市場經理指,互聯網上部份流傳的 Windows 7,含有電腦病毒或木馬程式,用戶一旦安裝後,可能導致電腦故障,甚至令電腦內的資料損毀或喪失,呼籲市民不要下載來歷不明的 Windows 7。
微軟的亞太區總裁楊思毅指,內地盜版猖厥,始終對軟件銷售產生負面影響,但無論反盜版技術如何進步,都會有破解方法,公司寄望透過教育,令年輕人學懂尊重知識版權。
只要微軟設立一個極快的 BT server,把有毒的盜版 Windows 7 ISO 以極高的下載速度散播出去,讓這個種蓋過所有人設立的種,然後在同一天讓所有中了毒的 Windows 同歸於盡,那麼,以後就沒有人再用盜版的 Windows 了。
又或者,散播附有木馬程式的盜版 Windows 7,再盜取用戶的信用卡資料,然後收費或罰款,那麼,就沒有人再敢用盜版的 Windows 了。
再如是者,散播附有木馬的程式,把用戶的新聞照片、新聞對話等,公佈在各大論壇上,從此以後,再沒有人會盜微軟的版。大家都轉投 Ubuntu、Mac OS 等系統,或者直到一日,Symbian OS 會在 NetBook 上跑時……
之後,微軟就會知道,盜版為他們帶來多少生意額了。
可惜丫,IBM 唔搞 Mac OS 的機,如果一搞,可能係世界上最好的軟硬組合。
Apple 的 CS 真的很爛,尤其是那個外判的維修公司:C.A.S.E.。
微軟公司香港區市場經理指,互聯網上部份流傳的 Windows 7,含有電腦病毒或木馬程式,用戶一旦安裝後,可能導致電腦故障,甚至令電腦內的資料損毀或喪失,呼籲市民不要下載來歷不明的 Windows 7。
微軟的亞太區總裁楊思毅指,內地盜版猖厥,始終對軟件銷售產生負面影響,但無論反盜版技術如何進步,都會有破解方法,公司寄望透過教育,令年輕人學懂尊重知識版權。
只要微軟設立一個極快的 BT server,把有毒的盜版 Windows 7 ISO 以極高的下載速度散播出去,讓這個種蓋過所有人設立的種,然後在同一天讓所有中了毒的 Windows 同歸於盡,那麼,以後就沒有人再用盜版的 Windows 了。
又或者,散播附有木馬程式的盜版 Windows 7,再盜取用戶的信用卡資料,然後收費或罰款,那麼,就沒有人再敢用盜版的 Windows 了。
再如是者,散播附有木馬的程式,把用戶的新聞照片、新聞對話等,公佈在各大論壇上,從此以後,再沒有人會盜微軟的版。大家都轉投 Ubuntu、Mac OS 等系統,或者直到一日,Symbian OS 會在 NetBook 上跑時……
之後,微軟就會知道,盜版為他們帶來多少生意額了。
可惜丫,IBM 唔搞 Mac OS 的機,如果一搞,可能係世界上最好的軟硬組合。
Apple 的 CS 真的很爛,尤其是那個外判的維修公司:C.A.S.E.。
Monday, 19 October 2009
Symbian ListBox Panic codes
Symbian 令人頭痕的地方很多,今日遇到一個 EIKON-LISTBOX 5 的 error,但 document 沒寫,唯有上網找,在 NewLC 裡找到:Eikon-Listbox Panics
EIKON-LISTBOX panics are unfortunately not documented within the SDL (and they are unlikely to occur unless you define your own listboxes). However, here are the possible panics:
由於有 104 個 panics,我把它貼在 comment 裡吧。不過,連 NewLC 都確認了沒被 document,真的沒軋。
EIKON-LISTBOX panics are unfortunately not documented within the SDL (and they are unlikely to occur unless you define your own listboxes). However, here are the possible panics:
由於有 104 個 panics,我把它貼在 comment 裡吧。不過,連 NewLC 都確認了沒被 document,真的沒軋。
Labels:
Programming,
Symbian
Friday, 9 October 2009
Kindle available for HK customers
Hong Kong
We are excited to now ship Kindle to Hong Kong. Customers in Hong Kong will enjoy:
Books in Under 60 Seconds: Think of a book and you could be reading it in under a minute
Free Wireless: Free 3G wireless lets you download books right from your Kindle. No monthly fees, service plans, or hunting for Wi-Fi hotspots. For non-U.S. customers, there are also no additional charges for wireless delivery outside your home country.See Coverage Map. See Wireless Terms and Conditions
Learn more about Kindle features on the Kindle product page
Free Wireless: Free 3G wireless lets you download books right from your Kindle. No monthly fees, service plans, or hunting for Wi-Fi hotspots. For non-U.S. customers, there are also no additional charges for wireless delivery outside your home country.See Coverage Map. See Wireless Terms and Conditions
Learn more about Kindle features on the Kindle product page
即是說,買了之後,就算去到外國,要下載買了的書(由於內置 2GB 有限,可能會刪除已購買的書)、或買新書,都無須擔心額外的數據費用,香港、北京、上海、深圳、台灣都有覆蓋。
至於賣點有幾個:
Display: 6" diagonal E Ink® electronic paper display, 600 x 800 pixel resolution at 167 ppi, 16-level gray scale.
Size (in inches): 8" x 5.3" x 0.36" (203.2mm x 134.6mm x 9.1mm).
Weight: 10.2 ounces (289.2 grams). 兩部 iPhone 的重量 (135g)
Paper-Like Display: Reads like real paper without glare, even in bright sunlight
Carry Your Library: Holds up to 1,500 books
Long Battery Life: Read for days without recharging
Free Book Samples: Download and read first chapters for free before you decide to buy
Large Selection: Over 350,000 books, including 104 of 112 New York Times® Best Sellers, plus U.S. and international newspapers, magazines, and blogs
Low Book Prices: New York Times Best Sellers and New Releases are $9.99, unless marked otherwise. When traveling abroad, you can download books wirelessly from the Kindle Store or your Archived Items. U.S. customers will be charged a fee of $1.99 for international downloads. (是否 non-US customers 不用付 international downloads fee?)
Content Formats Supported: Kindle (AZW), TXT, Audible (Audible Enhanced (AA, AAX)), MP3, unprotected MOBI, PRC natively; PDF, HTML, DOC, JPEG, GIF, PNG, BMP through conversion.
可以用免費的 convertor 自行下載 convert 了的 PDF 文件。這個最為重要...
看看與 Symbian 相關的 Kindle 書價錢(美元計,暫時有11本書):
Symbian OS Internals: Real-time Kernel Programming (Symbian Press) by Jane Sales
Print $110, PDF $90, Kindle $74 (saved 33%)
Rapid Mobile Enterprise Development for Symbian OS: An Introduction to OPL Application Design and Programming by Ewan Spence
Print $80, PDF $75, Kindle $47.21 (saved 43%)
Developing Software for Symbian OS: An Introduction to Creating Smartphone Applications in C++ by Steve Babin
Print $75, PDF $70, Kindle $53.52 (saved 29%)
The Accredited Symbian Developer Primer: Fundamentals of Symbian OS by Jo Stichbury and Mark Jacobs
Print $60, PDF $50, Kindle $42 (saved 33%)
Symbian OS C++ for Mobile Phones by Richard Harrison
Print $65, PDF $65, Kindle $37.79 (saved 45%)
Symbian OS C++ for Mobile Phones: Programming with Extended Functionality and Advanced Features (Symbian Press) by Richard Harrison
Print $60, PDF $50, Kindle $32.24 (saved 46%)
Programming Java 2 Micro Edition for Symbian OS: A developer's guide to MIDP 2.0 by Martin de Jode
Print $60, PDF $55, Kindle $39.44 (saved 34%)
Programming for the Series 60 Platform and Symbian OS by DIGIA Inc.
Print $115, PDF $95, Kindle $74.79 (saved 35%)
Symbian OS Platform Security: Software Development Using the Symbian OS Security Architecture by Craig Heath
Print $75, PDF $70, Kindle $53.14 (saved 29%)
Programming PC Connectivity Applications for Symbian OS: Smartphone Synchronization and Connectivity for Enterprise and Application Developers (Symbian Press) by Ian McDowall
Print $70, PDF $60, Kindle $37.28 (saved 47%)
Symbian for Software Leaders: Principles of Successful Smartphone Development Projects by David Wood
Print $80, PDF $75, Kindle $62.00 (saved 23%)
假如要買晒以上所有的書,印刷本是 $850 另外數以公斤計的運費;電子書就是 $755;Kindle 書是 $553.41,比電子書平宜 26.7%、比印刷書平宜 34.8% 並省了運費,但加上機價 $279,合共 $832。
(850=110+80+75+60+65+60+60+115+75+70+80)
(755=90+75+70+50+65+50+55+95+70+60+75)
(553.41=74+47.21+53.52+42+37.79+32.24+39.44+74.79+53.14+37.28+62)
無論哪一個版,合計價錢在 $750-850 之間,平均一本書都要 $68-77 (HKD$530-600),做書蟲都很花錢呢。
若考慮到「實質」的分別,可能會讓人 Kindle 更感興趣。11本印刷書起碼佔了大半層書櫃(除非大書櫃),攜帶又極之不便,長遠還會甩頁、摺角、變黃等。電子書是方便傳送,但閱讀卻比較麻煩,閱讀時需要電腦、iPhone、Windows Mobile VGA 等,撘載 QVGA 240x320 的螢幕跟本不能看這些 PDF 文件,其實 iPhone 也很勉強。不比 Kindle 方便,除非有一台 tablet 吧。
Kindle 真是幾吸引。問題是,我是否一個「讀書」人呢?
Friday, 2 October 2009
Symbian Controls & Sub-Controls
最近想做一個仿標準的 control,網上有很多 resource/post,其中有幾個可以參考:
Quartinus’s Blog - Symbian UI
自定义控件
而 CCoeControl 裡提供了一個 Components(),用來收集其附屬的 component controls,利用它就可以省去寫 TInt CCoeControl::CountComponentControls() const 和 CCoeControl* CCoeControlComponentControl( TInt aIndex ) const 這兩個麻煩的東西。
這兩個東西的麻煩處,在於若這個 containers 裡有著不同 life-cycle 的 component controls,那 programmer 要決定何時回傳哪一個 component control。
不過,它的 sample code 對於 CleanupStack 的運用,就顯得很怪異。
The Problametic Edwin
Symbian OS C++ for Mobile Phones vol 3 (Google Book) 的說明也無法令我釋懷。或者我要寫一個 debug app 去測試一下那個 CleanupStack 和 ownership 的問題(除非可以讓我看到 Components().AppendLC() 的定義啦)
Quartinus’s Blog - Symbian UI
自定义控件
而 CCoeControl 裡提供了一個 Components(),用來收集其附屬的 component controls,利用它就可以省去寫 TInt CCoeControl::CountComponentControls() const 和 CCoeControl* CCoeControlComponentControl( TInt aIndex ) const 這兩個麻煩的東西。
這兩個東西的麻煩處,在於若這個 containers 裡有著不同 life-cycle 的 component controls,那 programmer 要決定何時回傳哪一個 component control。
不過,它的 sample code 對於 CleanupStack 的運用,就顯得很怪異。
The Problametic Edwin
Symbian OS C++ for Mobile Phones vol 3 (Google Book) 的說明也無法令我釋懷。或者我要寫一個 debug app 去測試一下那個 CleanupStack 和 ownership 的問題(除非可以讓我看到 Components().AppendLC() 的定義啦)
Wednesday, 2 September 2009
又有新的 S60 Touch 機發佈
Nokia 最新發佈的 Touch 手機:
Nokia 還發佈了一台 Netbook:Nokia Booklet 3G(Spec)。想趁 Apple 推 OSX 的 Netbook 之前攻佔市場吧?
- Nokia 5230 (details)
- Nokia N97 mini (official launch)
- Nokia X6 (official launch)
- Nokia 5800XM (3G)
- Nokia 5800XM (2G)
- Nokia N97
- Nokia 5530XM
- Nokia 5230
Nokia 還發佈了一台 Netbook:Nokia Booklet 3G(Spec)。想趁 Apple 推 OSX 的 Netbook 之前攻佔市場吧?
Tuesday, 11 August 2009
下一代的 s60 不支援 avkon
Download Squad 前幾日有個 post: Next Gen Symbian platform won't run S60 apps
問題是:
1) Qt 幾時才完成 S60 的 UI API?
2) 過渡期是怎樣處理?會出現兩棲手機嗎?好像很麻煩
3) 一下子把成千上萬的 app / games 放棄,能做到嗎?
4) 背棄了所有 developers... 要他們全部重新學習 Qt,總支出是多少呢?
是 David Wood 的陰謀吧,"As Futurist, my role is to ...." 因為沒有大改動,Futurist 就失去了存在價值。就是要什麼都大改,改頭換面時,系統公司才需要倚賴這個 Futurist 做統領,不會因金融風暴海嘯山崩而炒掉他。時勢不造英雄,英雄便造時勢,順便做埋世界、做低埋 Symbian Programmers(應該改口叫 Avkon Programmers 以資析別)。

其實 Avkon 只是最上層一個 Layer,可能影響比想像中細(一點吧)

只是 Avkon 是接觸著 App 的面積比較大吧?其實視乎 Programmers 的功力如何,有沒有做好 MVC 的設計 (Modal-View-Controller)。
according to the Foundation's David Wood, the group plans to replace the S60's Avkon API with Qt when Symbian^4 is released in late 2010.David Wood: S60 / Avkon are dead
the plan is that the current “S60 Avkon” APIs for the UIs of applications will be phased out. Other public APIs (such as for middleware and engine portions of applications) will continue to be supported.好一堆誤導性標題。只係代表著 S60 的 Avkon 架構被踢走,不代表不再是 S60、不代表不能跑 S60 的 App,只是用上 Avkon 的部份會瓜柴。即是說,例如小弟引以自豪的 Auto Keylock 裡,負責 keylock 的 service 能跑,讓用戶更改設定的介面不能用。
問題是:
1) Qt 幾時才完成 S60 的 UI API?
2) 過渡期是怎樣處理?會出現兩棲手機嗎?好像很麻煩
3) 一下子把成千上萬的 app / games 放棄,能做到嗎?
4) 背棄了所有 developers... 要他們全部重新學習 Qt,總支出是多少呢?
是 David Wood 的陰謀吧,"As Futurist, my role is to ...." 因為沒有大改動,Futurist 就失去了存在價值。就是要什麼都大改,改頭換面時,系統公司才需要倚賴這個 Futurist 做統領,不會因金融風暴海嘯山崩而炒掉他。時勢不造英雄,英雄便造時勢,順便做埋世界、做低埋 Symbian Programmers(應該改口叫 Avkon Programmers 以資析別)。

其實 Avkon 只是最上層一個 Layer,可能影響比想像中細(一點吧)

只是 Avkon 是接觸著 App 的面積比較大吧?其實視乎 Programmers 的功力如何,有沒有做好 MVC 的設計 (Modal-View-Controller)。
Tuesday, 4 August 2009
外間看 mobile hotdog
別人眼中的 Mobile Hotdog 會是怎樣呢?
#1 Mobile Hotdog - mBounce Download Service by Darla
#3 ClockScreensaver|时钟屏保中文版v1.06 ─ 破解了。
#1 Mobile Hotdog - mBounce Download Service by Darla
Nokia Nseries and S60 users are no strangers to applications supplied by mBounce. Especially consumers in the Asian Pacific region. mBounce is responsible for most of the cool apps supplied on the recent Nseries APAC devices. Applications such as Animated SMS which I spoke about and use alot.Animated SMS 不是 M Bounce 的產品耶。 -__-'''
I later learned that most of these apps can be downloaded and purchased from Mobile Hotdog - a download service provided by mBounce.#2 关于电脑查看手机内存 ─ 那個 C:\MobileHotdog\ 文件夾被發現了。
......
Birthday Card Generator for example, gives you a look at what the app does. Don't get me wrong, its a cool app and I must admit that I had been looking for something to use in order to send birthday greetings to my contacts, but I find that the trial is a bit misleading. It doesn't allow you to actually add a recipient to send the message to and in fact all it does is add an animated image or text image and then opens up your default message client to send either MMS or SMS. This I found out $5 bucks later.
#3 ClockScreensaver|时钟屏保中文版v1.06 ─ 破解了。
Thursday, 23 July 2009
s60 messaging: memory full (part 3)
Current progress...

This program scans for folders, starting from root folders, and count their children entries. It will skip those entries which return KErrNoMemory. This thing runs for 2-3 minutes on my N82. It seems hang (not responsive) while running because it runs the progress in synchronized method.
Next step is to create an CActive object which run a robust scan of TMsvId, from 0x00100000 to 0x0010FFFF. The range should cover enough IDs that I need to retrieve. I wonder if the log file larger than 10MB. Current free phone memory is 13MB. If log file filled up phone memory, the phone will be dead.

This program scans for folders, starting from root folders, and count their children entries. It will skip those entries which return KErrNoMemory. This thing runs for 2-3 minutes on my N82. It seems hang (not responsive) while running because it runs the progress in synchronized method.
Next step is to create an CActive object which run a robust scan of TMsvId, from 0x00100000 to 0x0010FFFF. The range should cover enough IDs that I need to retrieve. I wonder if the log file larger than 10MB. Current free phone memory is 13MB. If log file filled up phone memory, the phone will be dead.
Saturday, 11 July 2009
asus s101 + windows 7 rc
我在三台 C2D 的電腦上(一台 Windows XP Pro、一台 iMac、一台 MacBook Unibody),用 virtual machine 來安裝 Windows 7 RC,用過 Sun VirtualBox 和 VMware Fusion。設定都是一致,分派 1GB RAM。

執行 Windows Experience Index 的結果大致一樣,而且三個都無啟動 Aero 效果:

由於 S101 出現了幾個問題,包括無法在逾時之後 sleep,越來越慢,所以把心一橫就給它 Windows 7 RC。S101 跑 Windows 7 RC 似乎還好,第一日開機時間 24 秒以內,關機是 10 秒以內。我已關掉 Windows Update,避免 Windows 越用越慢。今日會試裝 Symbian SDK,看看有沒有問題。

至今唯一一個問是,新 Windows 裡的大易輸入法變成直行,真的很不方便。為什麼其他中文輸入法就可以設定成橫列而大易就沒有選項呢?還有很多問題和不便,例如無啦啦會 delete 已輸入的字。若果想在 Vista 或 Windows 7 裡大易,可能要考慮一下用 OpenVanilla 了。
Symbian SDK EPOC emulator 在 Windows 7 無法正常啟動,在 Task Manager 裡可以見到,它在啟動至約 1600 KB 大時就「胎死腹中」,UI 連影都無。朋友在其 Tablet 裡也有這個問題,他以為是 Direct X 問題(因為 Windows 7 居然不支援他的 Centrino Tablet display card),不過當我們把 Emulator 的 Compatibility Mode 設為 Windows XP SP3 時,就能正常啟動。Carbide 2.0 本身沒有這個問題,但當在 Carbide 裡 compile 和 run 時,它會直接啟動 emulator,所以也是需要設定 Compatibility Mode 為 Windows XP SP3。相信用 S60 5.0 的 SDK 沒有這個麻煩,但作為一個 Symbian developer,又何止只用 5.0 SDK 呢?
順帶一提,大部份 Symbian SDK 的 Ecmt Manager 都需要修正其 config 檔,使它能在只有 Java 6(沒有 Java 4/5)的環境下正常啟動。

執行 Windows Experience Index 的結果大致一樣,而且三個都無啟動 Aero 效果:

由於 S101 出現了幾個問題,包括無法在逾時之後 sleep,越來越慢,所以把心一橫就給它 Windows 7 RC。S101 跑 Windows 7 RC 似乎還好,第一日開機時間 24 秒以內,關機是 10 秒以內。我已關掉 Windows Update,避免 Windows 越用越慢。今日會試裝 Symbian SDK,看看有沒有問題。
至今唯一一個問是,新 Windows 裡的大易輸入法變成直行,真的很不方便。為什麼其他中文輸入法就可以設定成橫列而大易就沒有選項呢?還有很多問題和不便,例如無啦啦會 delete 已輸入的字。若果想在 Vista 或 Windows 7 裡大易,可能要考慮一下用 OpenVanilla 了。
Symbian SDK EPOC emulator 在 Windows 7 無法正常啟動,在 Task Manager 裡可以見到,它在啟動至約 1600 KB 大時就「胎死腹中」,UI 連影都無。朋友在其 Tablet 裡也有這個問題,他以為是 Direct X 問題(因為 Windows 7 居然不支援他的 Centrino Tablet display card),不過當我們把 Emulator 的 Compatibility Mode 設為 Windows XP SP3 時,就能正常啟動。Carbide 2.0 本身沒有這個問題,但當在 Carbide 裡 compile 和 run 時,它會直接啟動 emulator,所以也是需要設定 Compatibility Mode 為 Windows XP SP3。相信用 S60 5.0 的 SDK 沒有這個麻煩,但作為一個 Symbian developer,又何止只用 5.0 SDK 呢?
順帶一提,大部份 Symbian SDK 的 Ecmt Manager 都需要修正其 config 檔,使它能在只有 Java 6(沒有 Java 4/5)的環境下正常啟動。
Friday, 10 July 2009
知道在哪里叉叉的價值
有一個編程師在一家公司工作了五年,該公司的一隻熱狗故障,公司的人花了兩日幾都沒法找出問題來。仍在絕望中,這位編程師出手了!這位編程師看了半個小時之後,在某一行 CODE 裡打了一句:
iListBox->ActivateL();
換了新熱狗,程式操作正常。
公司的人呆了,編程師贏了。
Reference: 知識的價值
iListBox->ActivateL();
換了新熱狗,程式操作正常。
公司的人呆了,編程師贏了。
Reference: 知識的價值
Monday, 6 July 2009
2D array in symbian
First, you have a list of items (TMsvId) which they are grouped under a category (TUid). Then, you want a list of these categorized array's, as a summary of TMsvId's of a folder (which is another TMsvId). And, not to mention that you might want to sort and search in these arrays....
You need a two-dimension array (2D array). Question is, how to create and manage them properly, especially when to use Cleanup Stack...
Readings:
1. Symbian Example: RArray
RPointerArray as outer dimension, and each inner dimension array is a pointer on heap...
2. Symbian Developer Network Forums: 2D Arrays destruction
RArray of RArray. Nothing we declared will be on heap (except resource owned inside the RArray).
You need a two-dimension array (2D array). Question is, how to create and manage them properly, especially when to use Cleanup Stack...
Readings:
1. Symbian Example: RArray
RPointerArray as outer dimension, and each inner dimension array is a pointer on heap...
2. Symbian Developer Network Forums: 2D Arrays destruction
RArray of RArray. Nothing we declared will be on heap (except resource owned inside the RArray).
Saturday, 27 June 2009
蘋果香港請人... 如果早多五年...
睇 sor_mack 的 blog 見到蘋果香港請人:
http://jobs.apple.com/index.ajs?BID=1&method=mExternal.showJob&RID=35775&CurrentPage=1
Our ideal candidate:
• You love computers and technology (preferably Apple technology!)
• You have good knowledge of computer products – Mac or PC, hardware, software, peripherals etc
• You have customer service experience and preferably some experience in a retail environment
• You have the drive and commitment to provide complete sales solutions for every customer
• You have great communication skills and love interacting with people
• You think quickly on your feet
• You possess a strong code of personal ethics and place a high value on integrity and trust
嘩!我覺得自己完全合晒要求,真的。
如果早多五六年前,老虎蟹都會去見工,起碼比果間 I.T. agency 幫我搵咩返大陸在馬筒廠寫 Delphi 又或者去電盈當一年八千蚊的 technical support 更好。
突然諗到:
可惜丫,蘋果唔搞 symbian,一搞,可能係世界上最好的 OS。
可惜丫,蘋果唔搞手機,一搞,可能係世界上最好的手機。
唔係喎,蘋果唔搞手機,但係一搞,已經被世界認定為最好的電話和銷售渠道。
不過,蘋果咁遲先搞手機,或者正正集合著無數人「枉死」的經驗,一將功成萬骨枯。App Store 跟本就是抄 S60 的 Download!,咩 in-app purchase,呢 D 字眼我早在 2007 年就已經用緊,無奈我無乜影響力,無法「正字」,in-app 變咗 in-game、purchase 變咗 buy。
http://jobs.apple.com/index.ajs?BID=1&method=mExternal.showJob&RID=35775&CurrentPage=1
Our ideal candidate:
• You love computers and technology (preferably Apple technology!)
• You have good knowledge of computer products – Mac or PC, hardware, software, peripherals etc
• You have customer service experience and preferably some experience in a retail environment
• You have the drive and commitment to provide complete sales solutions for every customer
• You have great communication skills and love interacting with people
• You think quickly on your feet
• You possess a strong code of personal ethics and place a high value on integrity and trust
嘩!我覺得自己完全合晒要求,真的。
如果早多五六年前,老虎蟹都會去見工,起碼比果間 I.T. agency 幫我搵咩返大陸在馬筒廠寫 Delphi 又或者去電盈當一年八千蚊的 technical support 更好。
突然諗到:
可惜丫,蘋果唔搞 symbian,一搞,可能係世界上最好的 OS。
可惜丫,蘋果唔搞手機,一搞,可能係世界上最好的手機。
唔係喎,蘋果唔搞手機,但係一搞,已經被世界認定為最好的電話和銷售渠道。
不過,蘋果咁遲先搞手機,或者正正集合著無數人「枉死」的經驗,一將功成萬骨枯。App Store 跟本就是抄 S60 的 Download!,咩 in-app purchase,呢 D 字眼我早在 2007 年就已經用緊,無奈我無乜影響力,無法「正字」,in-app 變咗 in-game、purchase 變咗 buy。
Friday, 24 April 2009
s60 messaging: memory full (part 2)
I've modified my program to skip the error when encountered. The program can run till end and scan all folders under My Folder (0x00001008). And it encounters two "-4, KErrNoMemory" errors while accessing the sub folders. After comparing it with the counting in Messaging, I realized that those are two folders with most messages stored, over 3000.
Moreover, now the phone is unable to list the counts of those two folders.
The saving plan might go like this way:
1. archive all accessible messages
2. remove them
3. hopefully those two largest folders can be reopen.
If #3 doesn't work, plan B go this way:
4. try to scan and archive all messages without accessing the parent folder (if possible).
Hope this would be done soon.
p.s. I really doubt if there is any message rescue applications for Symbian out in the market...
Moreover, now the phone is unable to list the counts of those two folders.
The saving plan might go like this way:
1. archive all accessible messages
2. remove them
3. hopefully those two largest folders can be reopen.
If #3 doesn't work, plan B go this way:
4. try to scan and archive all messages without accessing the parent folder (if possible).
Hope this would be done soon.
p.s. I really doubt if there is any message rescue applications for Symbian out in the market...
Subscribe to:
Posts (Atom)


