Mr.Jamie 提到的一個觀念 創業最重要的公式 LTV > CPA
提高LTV
降低CPA
LTV (life time value) 代表的是每一個customer 在你的服務期間的總和花費, 如果你提供的是一個有形的產品, 那期間就代表產品的生命週期, value就是產品的價格, 如果提供的是一種服務, 那期間就代表服務的期限, value就是服務的收費
CPA (cost per acquisition) 代表爭取到一個客戶所要的花費, 這不只是產品的生產成本, 還包括廣告行銷投入的成本與客戶回應比率
而在創業期間第一優先的目標就是 LTV > CPA , 達到這條件之後, 每多一個customer得到的profit才是正的, 爭取更多的客戶才有意義
2012年2月13日 星期一
2012年2月10日 星期五
EFI GOP Driver
GOP (Graphic Output Protocol) driver 是 EFI架構下取代傳統VBIOS 黑箱的 EFI Driver, 另外for embedded system bootloader 上的graphic driver叫EPOG(embedded Pre-OS Graphic).
Protocol 主要包含3個function 及 1個data structure
GOP Driver 的共有GUID
#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \
{0x9042a9de,0x23dc,0x4a38, \
0x96,0xfb,0x7a,0xde,0xd0,0x80,0x51,0x6a}
typedef struct EFI_GRAPHICS_OUTPUT_PROTCOL {
EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE QueryMode;
EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE SetMode;
EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT Blt;
EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode;
} EFI_GRAPHICS_OUTPUT_PROTOCOL;
- QueryMode: Returns information for an available graphics mode that the graphics device and the set of active video output devices supports.(是詢問graphic controller 和 系統所有接上的顯示器所支援的顯示模式)
- SetMode:Set the video device into the specified mode and clears the visible portions of the output display to black. 則是設定顯示裝置一個特定的顯示模式
- Blt:Software abstraction to draw on the video device’s frame buffer.則是直接透過寫入framebuffer 畫矩形圖片
取材UEFI spec 2.3 chap. 11.9
2012年2月9日 星期四
SVN branch and merge
前一陣子在ubuntu server上架了svn server 當做自己一些文件及程式版本控管的工具,不過只會用幾個簡單的功能, check out, import , ls commit 而且都是用shell command line下指令, 剛看到一個blog 記一下網址
svn branch and merge
svn branch and merge
2012年2月7日 星期二
2012年2月6日 星期一
assembly call C function
UEFI BIOS在 SEC進PEI階段會由assembly code 進入C code,
除了設定好stack 外, 就是要注意assembly call C function的方法
會先把參數以反順序的方式push到stack, 然後call PEI的主程式
不過這跟一般的assembly call c function不一樣的是, UEFI BIOS
不會再回到assembly mode, 所以不需要再把esp 調整回來!
一般的assembly call C function要把esp加上參數總共size.
範例如下
除了設定好stack 外, 就是要注意assembly call C function的方法
會先把參數以反順序的方式push到stack, 然後call PEI的主程式
不過這跟一般的assembly call c function不一樣的是, UEFI BIOS
不會再回到assembly mode, 所以不需要再把esp 調整回來!
一般的assembly call C function要把esp加上參數總共size.
範例如下
global _main
extern _printf
section .data
text db "291 is the best!", 10, 0
strformat db "%s", 0
section .code
_main
push dword text
push dword strformat
call _printf
add esp, 8
ret
2012年1月16日 星期一
9 件創業教我的事
轉貼! 要時時提醒自己!
原連結
原連結
HitPlay 的創辦人 Joshua Seims 在他的網誌上分享了一篇 9 Things I Learned by Starting a Company,我覺得跟我的經驗非常像,所以今天就從他的 9 個點出發,跟大家聊聊我自己的心得。
1. 恐懼是可以被克服的
創業的恐懼有兩種,一種是不敢面對、害怕丟臉的恐懼,一種是擔心結果不如預期的恐懼。怕丟臉的恐懼讓你裹足不前,不敢嘗試。開始嘗試了,還有害怕失望的恐懼讓你心情忽高忽低,無法冷靜判斷。這兩個好像每顆心與生俱來都會有的弱點,但創業的經驗告訴我它們其實可以被克服。
要克服不敢的恐懼,很簡單,它就像克服酒量一樣,唯一的方法就是一直喝、不斷的喝,喝到什麼最噁心的嘔吐你都經歷過、什麼最慘痛的失敗你都體驗過,然後有一天,你就會發現自己無敵了。要克服害怕失望的恐懼也很簡單,那就是不要有期望。記得幸運的人嗎?當你放棄了既定的目標,那你不但永遠不會失望,還會因此在路上多撿到許多機會,多好!
2. 天長地久不如真的擁有
當你在當員工時,你就像一隻狗、一個奴才。做不好,通通都是你該死。做得好,通通都是老闆英明。而創業和「Ownership」,就是你的解放,讓你真正擁有你在做的事情、真正決定自己的未來。沒有人說這是一件容易的事情,事實上,當員工的話 6 點就下班了,Server 掛掉是你家的事。當老闆,抱歉,永遠沒有鬆懈的一秒鐘,你連作夢都還在想公司的事。但同時,你也擁有那種握住的感覺,那種過自己的人生,而不是幫別人抬轎的踏實感。
3. 為自己負責
既然沒有了老闆,你就被迫要學會獨立作戰、獨立思考,做自己的決定,並且為自己的選擇負責。一開始會有點不習慣,你會發現自己到處問別人的意見,因為我們從小都沒有學過如何「做自己」。不過一旦你開始抓到了絕竅,就會化身為真正自由的個體,這世界雖千萬人,在也沒辦法擋住你要去哪裡。
4. 沒有 Co-founder 是很孤獨的
當你自己一個人挑戰這個世界,即使是心臟再強、臉皮再厚的創業者,也會有無法承受創傷的一天。你需要一些伙伴,一些跟你擁有相同志向的人,才能在最失落的時候,擁有一個背後的靠山。
5. 通路勝過產品
「把產品做出來,他們就會來」是全世界最大的騙局,至少對於 99.9% 的創業者是這樣的。你最重要的武器,是在把產品做出來前,就先開始著手布建一個有效的通路。產品可以一直換,但通路,才是拿不走的東西。
6. 你成功的秘密,當然不是大家都知道的事情
成功的商業模式絕對不是想出來的,當然更不是分析出來的,否則在你之前,早就有 1,000 個人想到了。當你去看歷史上成功的商業模式,基本上全部都是矇到、Pivot 出來的。如果是這樣,那你除了要有超人的分析,還要有超強的「製造意外」能力。
7. 團隊是超級重要的事情
前面 10 個員工,決定了你公司的文化,所以你必須要花很多、是很多時間在這上面。記住:能力可以學,態度則是你無法改變的。千萬不要用兩次面試,就決定了一切。結婚之前,多約幾次會,甚至同居一陣子,搞清楚了彼此的個性,再私訂終身,也還不遲。
8. 名譽才是你最重要的資產
相信我,創業 13 年來,熱錢來來去去、市場起起伏伏、團隊分分合合我看太多了。到最後,每個人在你心中的地位,就只剩他的品德和人格。你要想清楚,這是一場一輩子的賽局,千萬不要為了短期的利益,犧牲了你一輩子的名譽。如果你行得直、坐得正,那就會吸引來一群一樣欣賞這個風格的夥伴,那,才是永遠拿不走,最最重要的資產。
9. 如果你不覺得好玩,那還是別搞了吧
我看過太多人因為「機會很好」,所以創業,但打從心底,他們並不享受這個過程。可惜創業失敗的機率是遠高過成功的,所以這些人往往不但賠了夫人,還回過頭怨恨自己當初的選擇。人生只有一次,創業不但是在建立一個事業,更是在找到自我價值的實現。
Steve Jobs 說的:
每天早上,我看著鏡子然後問我自己:「如果今天是我人生的最後一天,我會想要做我正要去做的事情嗎?」如果答案連續好幾天都是「No」,那我就知道我必須要改變些什麼。
以上,與大家共勉。
PS. 感謝大家支持昨天的一人一信行動,24 小時內,該篇文章累積了 25,000 人次閱覽,並且有 2,000 人因此連結到總統信箱開始寫信,假設最後的轉換率有 20%,那表示我們總共寄出了約 400 封信給馬先生,大大超過了我希望的 100 封,所以算是一次非常成功的行動,也希望我們能夠很快的收到一些正面的回應。
2012年1月11日 星期三
Intrinsic functions
MS provide some intrinsic functions for low level operations (eg. firmware/driver) on their compiler that is very convenience. You don't have to include the any header file to make use of these functions. But you have to specify a compiler option "/Oi".
example:
#progma intrinsic (func1)
#progma intrinsic (func2, func3)
Below are some of intrinsic functions
_disable
_outp
fabs
strcmp
_enable
_outpw
labs
strcpy
_inp
_rotl
memcmp
strlen
_inpw
_rotr
memcpy
_lrotl
_strset
memset
_lrotr
abs
strcat
example:
#progma intrinsic (func1)
#progma intrinsic (func2, func3)
Below are some of intrinsic functions
_disable
_outp
fabs
strcmp
_enable
_outpw
labs
strcpy
_inp
_rotl
memcmp
strlen
_inpw
_rotr
memcpy
_lrotl
_strset
memset
_lrotr
abs
strcat
訂閱:
文章 (Atom)