2015年1月28日 星期三

Bootstrap

最近為自己的網頁進行翻新工程,希進能嘗試點新東西。於是在 Coursera 及 Udacity 看看有沒有相關的課程。最終選了 Udacity 的 Intro to HTML and CSS - Not Your Typical Intro to Web Dev。這是一個為期三週的課程,雖然是初階級別,但也能學到新的事物。當中介紹了非常實用的 Google Fonts 以及非常完善的 Bootstrap。我一直認為「動手做才能學到更多」,所以自己的網頁也運用以上兩種技術去製作。

2015年1月27日 星期二

50:50 的決定

一個有話題但沒有紮實商業模式的應用構思,實在是沒有投資或合作的必要;尤其是在資源特別珍貴的時候,更加應該三思後行。不過,公司要發展是需要新嘗試,才能有不同的後果,在沒有其他選擇下,倒是應該把握。雖然我不喜歡這個應用,但可能自己不是它的用戶群,不能判斷它不能賺錢,沒有反對的理由。在一次為決定公司發展的內部討論中,我投下了棄權票。本以為這個 50:50 的決定能代表棄權,日後卻發現原來棄權並不真正代表棄權,最後還是要為它負責;那時的我實在太天真。

投票主要得我及拍檔進行,一票棄權、一票贊成。最終項目上馬。我深知提不起興趣的事情,必定做得不好。既然公司決定開始,只能讓同事來做。上周跟一位投資者見面,他能一針見血指出要害,當面說明不會合作。要是有機會再投票一次,我會選擇「反對」。現時,項目應該會在兩個月後上架。既然開始了,唯有希望大家的努力能掙到一點成果...。

2015年1月26日 星期一

iPhone 6 Plus 到着


有時覺得 7-10 個工作天真的很長。朋友在 1 月 17 日替我訂的 iPhone 6 及 iPhone 6 Plus 終於在今天送到。一大一小,一台是我的,另一台是內子的,但我還沒有選好用那台。對我來說,iPhone 5 已經算大,所以 iPhone 6 就在這裡已經算最小,適合慣常單手操作的我。但 iPhone 6 Plus 不僅有光學防震鏡頭外,由於屏幕較大的緣故,多了一款半 iPad 化的介面。作為愛攝影的開發人員,應該選這個。實在是各有優點。最後,我選了 iPhone 6 Plus。考慮的是一項重要因素。要是內子使用的話,相信機會變彎之餘,也有很大機會會跌爆。日後想把它們納入 iPhone 博物館的話,我還是選用大屏的 iPhone 6 Plus 為妙。

目前 iPhone 博物館的成員。還欠 iPhone 3G, iPhone 3GS 及 iPhone 5s:

2015年1月24日 星期六

聲帶摸擬


我實在太喜歡 Sita 陳僖儀的聲音,希望有辦法能模擬出她的聲音。簡單地想,根據她清唱的音頻及唱片聲軌的數據,應該能推算出口腔模型;有了模型再加上聲帶摸擬,估計能還原出她美妙的聲音。我完全沒有這方面的知識,同時亦覺得這是一件很困難的工程。不過,總想試試看。在 YouTube 找到上面這條關於聲帶的影片,要模擬聲帶運動實在有太多變化,就算計算得到亦會像 3D 動畫般要經過渲染過程,無法做到實時模擬。要是能摸擬得到,已經是非常難能可貴的事情了。


我還有另一個想法,就是像 Siri 般的發聲方法。Siri 是由真人錄製很多聲軌後進行處理而得出的結果。估計是用了「機器學習」中的「Supervised Learning」來學習得來。如果集合很多 Sita 的聲音來進行相同處理,應該能夠達成。聽聞 Sita 妹妹 Crystal 的聲音也很像 Sita,能由她提供更多數據的話,像真度能更高...。

2015年1月23日 星期五

Mac: 把 YouTube 影片轉換成 MP3 格式


距離 Sita 陳僖儀的 28 歲生日還有一個半月時間,不其然想聽到她更多的聲音。她的三張大碟已經聽到爛了,心靈上實在很需要有新的補給。幸好,她在進入娛樂圈前經常到商場演出,在 YouTube 上能夠找到的影片多達 200 條。於是我把她翻唱別人的歌錄成 MP3 放在 iWatch 內。在 Mac OS X 把 YouTube 影片轉換成 .mp3 的方法如下:

1. 打開 YouTube 的影片
2. 複製網址
3. 到 Kej's FLV Retriever 貼上網址後點「Retrieve Now!」
4. 點步驟一的「下載此檔案」
5. 用 TextEdit 打開剛下載的 get_video_info 檔
6. 把所有內容複製到 Kej's FLV Retriever 網頁步驟三下方
7. 點「送出」後會出現不同解像度的影片連結,點最上那個
8. 把影片拉到 Audacity 後輸出成 MP3 格式

2015年1月22日 星期四

創富媒體 14:創投經歷


文章刊登於「創富媒體

最近關於大筆資金投資於新創公司的新聞曾出不窮,同一天出現兩單新聞的情況也曾出現過。從外看,科網公司好像很容易被大額收購或投資,創業家而瞬間成為富翁。我們很希望下一個被投資的是自己。這個本來是遙不可及的事情,雖然只是小額投資,我也有機會體驗得到...。

九個月前,其中一個董事介紹了一位朋友給公司認識。他有一個流動應用程式的想法,並在過去一年把他的計劃變得更加詳細實在。我雖然對這個項目有所保留,但公司需要發展,便要嘗試不同的機會,特別是在苦無出路的情況下。公司 CEO 決定投資這個項目,玩更大的遊戲。我們投入的不止是金錢,還有人力及人脈。

要開發一個流動應用程式,對我來說沒有難度;但是對於投資要做的事情卻完全是一張白紙。既然錢投了,辦一家新公司是理所當然。當中涉及股份的分配。錢是由公司出的,所以股份亦由公司擁有。至於比例方面,原創者佔了大份,我們佔了細份。畢竟想法是原創者的,他也提供了重要的人脈,值得擁有更多。

我們的計劃是製作第一個版本的同時,開始尋找種子資金。有了資金後繼續把應用完善及投入更多的內容,再尋找第一輪投資。而這筆錢則是用在應用推出後的宣傳、維護、人力、內容方面。順利引爆出口碑、銷量及收入後,便會加入第二輪投資資金,甚至是第三輪第四輪,持續營運下去。這是一個非常理想的順序。

花了四個月時間,我們造出了基本的功能,也製作了一點內容,能夠作為展示用途。於是開始了尋找種子資金的工作。兩個月後,已經面見了四位種子投資人,其中兩位決定投資這個項目。在尋找資金時,我們除了考慮資金的數目外,還考慮投資人的背景,看看他的人脈中能否帶給項目第一輪資金的人才。一來種子資金數目雖然不小,但也不多。自己總有辦法弄到手。可是第一輪資金會是比較大的數目。至少這類人或公司不在目前認識的圈子內。

雖然是種子資金,但在面見前、面見時、面見後都有一堆學問。面見前,我們要清楚計算需要多少資金。面見時,要能好好表達出項目吸引之處,引起投資人的興趣。面見後,又要作出跟進及提高事情的急切性。因為投資人最關心的問題是:

1. 需要投資多少資金?
2. 所佔的股份比例是多少?
3. 生意的經營模式?
4. 甚麼時候能回本?
5. 未來的發展是甚麼?
6. 項目被複製的難度及所需時間?

生意的經營模式在我們投資時已經有個構想,也是很基本的做法。當然推出市場後會因應情況變化而改動,那是不能預計的部份。至於計算所需資金方面,用的方法也很簡單。把製作內容的成本、開發其他平台的費用、寬頻、辦公室、職員工資、網頁、其他雜費...按進程合計在一起。同時以順利及困難的情況去預算五年後的經營情況,就能回答上面幾條問題。基本上都不難計算。說穿了其實都是斷估,不過估得來都要參考實際的情況及數據,例如每月瀏覽人次、每月用戶增長、付費用戶的比例等。反而,股份比例則比較難去釐定。我們當然想以最少的股份拿最多的資金;但對方同樣想以最少的資金取最多的股份。最簡單的就是 50:50。但作為開發團隊,衝鋒陷陣的人,不會想有太多制肘,需要有最高的決定權。這點不能退讓。因此考慮比例換成 55:45。投資人投資一個項目,除了是相信項目有發展及營利的空間外,也同時相信團隊的專業及執行力。不過,決定這個比例的還有另一個因素。就是當第一輪資金到位時,大家各自退出的空間。假若項目成功的話,每 1% 都可以是可觀的回報。經過一輪商議,最後我們在第一階段得到較大的股份比例,而未來第一輪資金進場時會撥出更多股份。

資金到位前,還要討論錢的授權。跟營運一家公司差不多。究竟開發團隊能自由運用的本錢有幾多?能自行審批的錢是多少?審批由誰負責?都要一一商議。而錢到位後,便是訂立例會的週期,主要是報告項目的計劃、進度、使用回饋、修改、以及下一輪投資情況。

原來種子資金到位前,便要考慮好股份的數目及之後數輪投資的再分佈情況。索價與股份分配在這刻的平衡,到議價能力,甚至是日後投資者對應用設計的干預,要好好處理確實是一大學問。

2015年1月18日 星期日

自製《一人一花》的花盆


香港小學一年一度的《一人一花》又來了。今次要打理的是《芳香萬壽菊》。

學校送來的花苗只有膠殻盛載,沒有花盆保護。家中沒有這麼細小的花盆,決定自行設計及打印一個出來。女兒最喜歡粉紅色,之前在淘寶訂了回來;我把經常卡的啡色料換上新的粉紅色物料用來打印。對於卡料,我觀察了一段時間,發現問題出於物料線比較鬆,造成後圈踏前圈,卡在一起。而這個問題,估計是因為物料輪的直徑小,導致迴圈的作用力較大,伸延到後圈所致。粉紅色物料輪直徑較長,迴圈作用力沒有被伸延開去,所以沒有出現卡料的情況。


花了兩小時十五分鐘,花盆成功打印出來。以往時時刻刻留意打印情況、提心吊膽生怕卡料的心情不再。我們希望花盆的形狀淺而闊。淺是希望根部能橫向發展,容易汲收水份;闊是方便吸收更多陽光,有更多生長空間。待買到花泥後,便會進行移植。

2015年1月17日 星期六

認識新晉遊戲公司

上周,得到朋友的朋友引線,認識了一家新晉遊戲公司的兩位老闆,就他們的一個新項目商討合作事宜。遊戲公司的第三個老闆竟然跟我有三位共同朋友;一位是我的表弟、兩位在遊戲界的舊同事。再一次體驗到物以類聚、人以群分的道理。昨天,我到了他們工作的地方探討更多的合作空間。辦公室就在我家的後方,腳程五分鐘左右,十分方便。

到了大門,感覺戒備深嚴,不僅有壓迫之勢,又有錄像鏡頭在上方,左面有密碼鎖,有點像進入金庫般的感覺。如果改用指紋鎖會更有感受。內部有充足的空間可以擴展,開發部暫時迫在閣樓,細一點但還是夠用。最吸我晴的是辦公室有一半的地方是錄音室,是完整的一個錄音室及控制室。不禁想起女兒跟我說「很想家裡有個錄音室」的話。他日能夠合作的話,一定要帶女兒來滿足一番。遊戲公司的成員都很年青,看過他們的美術能力很好,是一間很有潛力發展的 Startup。

2015年1月16日 星期五

3D 打印手機架・二

iPhone 5 Stand by pacess on Sketchfab



改良過後,花了兩個半小時打印。效果很好,iPhone 5 放得很穩固。

2015年1月15日 星期四

初試 WatchKit


iOS 8.2 Beta 4 上架,提供了支援 WatchKit 的 iOS 模擬器,於是花點時間看一下。

對我來說,能找個題材邊學邊做才會學習得快、才會記得清楚處理的方法。所以希望做個以 Sita 陳僖儀為題材的時鐘。看過 Human Interface Guidelines,也看過 WatchKit 的文件,發現跟 Android Wear SDK 的概念如出一徹,滿以為 Apple Watch 能更有創意。能做的東西變化很少,只是顯示通知內容、圖片、文字、按鈕、開關。頂多說是支援高幀動畫。我想開發一個小時鐘也不行,十分失望...。

2015年1月14日 星期三

3D 打印手機架


Apple 香港自從九月開賣 iPhone 6 以來,一直都沒有再次開賣。昨天終於重新上架,而且出貨時間是 3-5 天。一小時後變成 7-10 天,但總算正式長賣長有。

等了三個月,我當然第一時間購入。因此,我的 iPhone 5 及 iPhone 5c 快將完成它們的使命,進入 iPhone 博物館。博物館內的 iPhone 支架已經用盡,需要兩個新的支架。最快最省錢的做法是自行繪畫及打印。由於打印需要三個多小時,最好是藉著睡覺時間處理,一早起床取得成果。為免卡料,打印前已經理順了物料輪。可是還是卡住了。雖然打印沒有完成,但闊度還是可以,於是拿 iPhone 來測試一下。手機架可以用,卻很容影滑出來,需要把模型修改。

2015年1月13日 星期二

好書推介:《本心》


上一個暑假帶著太太女兒到台灣旅遊。是我第二次踏足台灣。為了女兒喜歡的 Hello Kitty 飛機而第一次乘搭長榮。在機上遇上《本心》這本書的廣告,不知為何吸引到我的興趣。後來在台灣的誠品書店買了回來。放下了書本有半年時間,早幾天才重拾閱讀習慣。看畢《Jony Ive》後,在書架上選了《本心》來讀。不是 Hello Kitty 飛機的話,我不會認識長榮;也不會選搭長榮航空;更不會留意到《本心》這本書;亦不會知道台灣有一位叫張榮發的實業家。看來一切都是緣份。這幾天在看,完全感受到長榮集團總裁的那份用心。很多故事都能對我有所啟發。誠意推介!

2015年1月12日 星期一

好書推介:蘋果設計的靈魂


星期六那天,朋友交給我的兩台新 iPhone 6 已經安裝完畢,專程送回給她。之後到了旺角樓上書店一逛,發現了「蘋果設計的靈魂」這本新書。喜歡蘋果設計的我立即把它買下來。自從 Steve Jobs 離世後,我一直很在意 Jony Ive 是否留在蘋果。畢竟有幾位重要的蘋果人離開了;要是他也離開,那蘋果只會變成一間普通的大公司。因為我知道有很多設計及理念,其實是出自 Jony Ive 之手。

我花了一天半看完整本書,相信是我讀得最快的一本。快,是有原因。就像以往追看日劇一樣,實在太好看而停不了,希望能看更多、知更多。這本書的確讓我了解更多關於蘋果的事情,值得一看。

2015年1月11日 星期日

製作紙巾盒掛架


女兒有鼻敏感,經常要用紙巾。她的房間有兩張書檯,但都擠得密密了,沒有空間放置紙巾盒。於是,我簡單地畫了一個部件,能把紙巾盒掛在書架之下。

2015年1月10日 星期六

解決無法下載應用程式的問題


為客人趕製了一個 iOS 應用程式。不論在模擬器及真機上測試都沒有問題。但在生成 OTA 版後,發現無法下載...。

兩個人花了一個早上,不斷嘗試不同的設定。這個問題通常發生在應用程式安裝在沒有登記的機器上。由於是公司的機器,理應老早登記了。重新登記也出現相同情況。於是改為使用 Enterprise 證書簽法,這就更加不用擔心登記問題。可是情況依舊。最終同事把問題解決。不知道為何,在 Info.plist 內的「Application requires iPhone environment」設定為「NO」。平時,這個選項是「NO」的話,在「Archive」時會生成不到 iOS 版,更不能輸出成為 .ipa。把這個選項改為「Yes」後,問題解決。

2015年1月9日 星期五

AMIGO Timelapse Case 3.0 完成


家人到外家晚飯,自己一個得找點事情忙,決定製作 AMIGO Timelapse 外殻 3.0。

方盒形的外殻 1.0 第一次製作,盒子蓋上後很鬆動,放到相機上感覺很巨大;方柱形外殻 2.0 改良了以上問題,還把 Arduino Nano 及 BLE mini 疊在一起放來節省空間,可是中間的支架卡在尾端,使得尾部無法套上蓋子,而前端的蓋子又因虛位蓋不實;外國信箱形外殻 3.0 進一步把空間收窄,甚至把牆壁厚度由原來的 1.5mm 減為 1.0mm,把首尾兩個蓋子變為一個,更把相機接口跟外殻連成一體,減輕重量。

現在的 AMIGO Timelapse 變成了這個樣子,不知道要是生產試賣會不會有客人相要呢?

2015年1月8日 星期四

ArrayZ: 再戰 OctoPrint


之前挑戰 OctoPrint 失敗後,今晚再接再厲。既然嘗試過兩次用 Raspberry Pi 不成功,反正家中有台服務器長開,當中也有跑 Windows 7 的模擬器,那就嘗試 OctoPrint 的 Windows 7 版。經過一輪安裝步驟,終於成功裝好 OctoPrint,更能順利控制 ArrayZ 進行打印工作!

按照 https://github.com/foosel/OctoPrint/wiki/Setup-on-Windows 的步驟進行安裝:
 
  • 下載 Python 2.7.5 Windows x86 MSI 安裝程式,並進行安裝
  • 把 Python 目錄 C:\Python-2.7.5 及 C:\Python-2.7.5\Scripts 加入環境變數中,方便之後執行 Python 程式
  • 下載 get-pip.py
  • 在 Command Prompt 執行「python get-pip.py」

     
  • 執行「pip install pyserial」

     
  • 執行「pip install numpy」,如出現紅字錯誤訊息,意味著需要安裝 VC++ 9.0。到 http://aka.ms/vcpython27 便能下載安裝。
  • 執行「python install netifaces」
  • https://github.com/foosel/OctoPrint.git 下載最新版 OctoPrint 源碼的 ZIP 檔
  • 解壓 ZIP 檔內容到 C:\
  • 在 Command Prompt 執行「cd C:\OctoPrint-master」移到 OctoPrint-master
  • 執行「python setup.py install」安裝 OctoPrint
  • 完成後執行「python run」


    安裝好 OctoPrint 後,把 ArrayZ 用 USB 跟電腦連接。方頭接上 ArrayZ 的 Arduino Mega,扁尾接上電腦 USB 口。這時,Windows 7 可能找不到 Arduino Mega 的驅動程式。到 http://arduino.cc/en/Main/Software 下車 Arduino 的 Windows 版 IDE,安裝後便能找到 Arduino Mega 的驅動程式。
  • 2015年1月7日 星期三

    製作 Nerf 玩具槍的瞄準架・二


    由於不熟悉 Inventor Fusion 的操作及概念,繪畫出來的模型都比較簡單。還是改用 Inventor Pro 得心應手。重新把瞄準架改良後,也掌握好重要的尺寸,製成了第二版本。用 MakerBot Replicator 2 打印只要 37 分鐘便完成。時間十分之快,質素也十分之好。配上小米手機及由新同事花了一天時間開發的 Android App,效果不錯。是一個不算有創意,但十分有誠意的 DEMO。希望星期五的展示順順利利。

    2015年1月6日 星期二

    製作 Nerf 玩具槍的瞄準架


    一個玩具界的客人在本周五舉辦了一場活動,旨在展示 2015 年度的新作外,亦是跟合作伙伴交流最新創意的活動。今年我們沒有創新的概念,於是著眼於把目前玩具能加裝的配件。想到了用手機當成瞄準裝置。引伸出需要一個能把手機裝上玩具槍的支架。

    我的 iMac 電腦裝了 Inventor Fusion,於是拿它來繪畫瞄準架,並用 MakerBot Replicator 2 來打印。Inventor Fusion 實在太不好用,熱鍵消失了、畫圖的概念也不同了、甚至連修改步驟的數值也不行。可能是免費版的緣故吧。很不容易地才畫出瞄準架的第一稿。打印出來後,發現尺寸還要作修改。

    2015年1月5日 星期一

    內聯網能力限定


    我的 MacBook Air 安裝了雙系統。即一邊是 Mac OS X,另一邊是 Windows。在 Windows 的一邊,我希望能經 WiFi 連接家裡的其他電腦,但又不想接通世界。這樣做是有可能的,只要把網卡的「預設閘道」設定為不存在的值,如「1.1.1.1」,同時 DNS 的值也設定為不存在值便可。

    2015年1月4日 星期日

    PHP: 上傳大型檔案時發生 POST 參數消失事件


    前輩的網頁後台的已經能自行加入貼文,不過,他需要加入圖片及影片。花了一點時間修改後台介面後,已能成功加入圖片。可是,同一段上載代碼用在 12MB 的影片時卻無法上傳,原因是部份 POST 參數不見了。明明是同一段代碼,圖片能上傳而影片卻不,相信是跟檔案大小或記憶體限制有關。而在接收檔案的 PHP 檔頭已加入相關設定:
    ini_set("upload_max_filesize", "100M");
    ini_set("post_max_size", "100M");
    ini_set("memory_limit", "-1");
    理應能解決問題。嘗試過後,發現同時需要在 php.ini 中修改設定:
    ; Maximum size of POST data that PHP will accept.
    ; http://www.php.net/manual/en/ini.core.php#ini.post-max-size
    post_max_size = 512M
    
    ; Maximum allowed size for uploaded files.
    ; http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize
    upload_max_filesize = 512M
    加入設定後便能成功上傳。

    2015年1月3日 星期六

    水箱維修


    旅行回來後,廁所水箱漏水;找師傅來修理,發現水箱出現一條頗長的裂痕,說需要整個坐廁更換。原本 HK$100 的修理費頓時急升到 HK$3200。貧窮的我付不起這個費用,唯有想想其他辦法。

    水箱的裂痕本來還小的,師傅處理過後裂痕明顯了很多。幸好還是有得救。作為 Maker,這點小事難不到我。我先用熱風筒把水箱裂痕位置吹乾,利用混合膠把裂痕堵塞。讓它自然乾涸兩天。再在上層加入白英泥,務求有兩層保護。一天後把水箱注水,沒有明顯的漏水情況。不過,咸水開關位置有水滴情況發生。原本想用同一方法修補缺口,但由於那個位置是全屋的咸水入口,要在大廈外才能把它關上。為免麻煩,還是想想另一方法。於是利用立體打印機列印一個小水兜,並在底部接上飲管,讓咸水能經飲管直達排水口。水兜跟飲管的接合點底面都補了一點熱溶膠,確保所有咸水都經飲管排出。結果這個部件能成功解決漏水帶來的麻煩。

    2015年1月1日 星期四

    Happy 2015


    艱辛的 2014 終於成為過去,希望壞的事情告一段落,在 2015 年迎接好的事情。我相信 2015 會比 2014 好。至少運程書也這麼說。

    我不能說 2014 不好,但總是想做的沒有做到、努力賺回來的錢轉頭便溜走、事業缺乏方向、做事欠缺動力、思緒混亂、身邊總是遇到問題需要處理、連投資都是逢買必跌、一放即升。幸好當初第一次創業賺回來的資金還能支持我的生活,才不至於生活出現問題。不過,資金已經耗盡,2015 不是好的就會是壞的,不會留在中間。

    2014 完全沒有創新發明。怎樣想也想不出來。唯一埋門一腳的是造了《AMIGO Timelapse》半成品出來。《AMIGO Controller 2.00》總算登場了,但還有很多改善的空間。公司方面,一個新客戶都沒有帶給公司;翻單也只得一張。2014 年書也看得少很多,時間總是白過。學習方面報讀了 10 個,可是沒有一個能完成。五個打算在 2014 內完成的項目,也沒有一個完成。部落格的文章也比前兩年少。然而,為「創富媒體」寫了 13 篇文章,倒是作了新的嘗試。希望這些滯運能跟隨 2014 離開,在 2015 年有好的成績。