2015年11月4日 星期三

行動的力量:21,心想事成的密碼

不要害怕改變,不要害怕改會失敗,畢竟不去改變、坐以待斃才會將我們導向末路。

一千個想法,倒不如一個行動。

沒有經過你的允許,沒有人能讓你感到自卑。

http://www.books.com.tw/products/0010498038

2015年9月20日 星期日

SCS Alumni Gathering

咁岩 SCS 五十週年 我被邀請返去SCS 做一啲sharing

成個event 都有成八九十個alumni 但係IT 果邊應該有一半人

除左我做sharing 仲有其他alumni 包括做game 做startup 既朋友都有講返兩句

呢個event 除左互相交流

建立到connections (who knows, 下一個job 可能就係佢地之間搵到)

更可以係其他人身上學到野 而自己唔可以親身體驗地

一直認為 IT 好多人係度埋頭苦幹 比人一個所謂"毒"既印象

而正正呢啲機會可以比唔到範疇既人 出黎表現下 不失為一件好事

有幾個point 我係幾有印象

第一 對人尊重 每個人有佢長處

第二 走多一步 係人角度諗 點幫到佢

第三 為件事好 對人唔對事

岩岩呢幾個point 同 莊偉忠先生係上年 TEDxKowloon 既一個presentation 一啲共同既地方

個人認為有好多地方值得可以學習


Half of a month

唔經唔覺 係呢間由綠不淺既公司 都做左半個月啦

係工作方面都無咩太大問題 宜家跟緊一個cakephp web system

未入去做之前自己都有study 一下cakephp 知道啲file 同class 係放係邊度

跟返上司要求黎改一個system 放係其他地方度用

可能係未過試用期 暫時都唔覺得太難

公司氣氛方面 當然比以前公司有好大既分別 呢度啲好多同事好似大過我

而且都係好專心做野 暫時都未睇到有啲政治野要玩

正如未入去睇既一樣 上司同大老闆去到成條IT team 都係work 得好close

對我呢個new comer 都算係唔錯 而且除左做野方面

佢地都比我點係呢間公司做到work life balance

例如諗下去邊度旅行呀 點用下啲假( 因為無strong reason 啲假要係四月底清)

同埋啲事除非真係好緊要好趕 否則都唔會逼到自己好辛苦 可以留返聽日做

平日都keep 住大約八點半返到office 五點九就走 ( office hour : 9:00 - 5:30 )

之後放工仲可以準時同屋企人食到飯 學下python 都令到個life 都比起之前豐富

雖然放六日 都係有啲唔想返 但係唔想返係因為holiday mood 而唔係對件事厭倦

希望呢個心態能夠keep 到落去 起碼做到一年半載 先再打算





2015年9月1日 星期二

Job Plan

Write a blog about the job every week
Milestones for every month

Major milestone : 1st December 2015 as passing the probation
Major milestone : May 2015 as possible title change of "regional"

2015年8月26日 星期三

專注力的力量

成功的秘密就是專注,或者說在一段時間內將你的所有力量集中在一個點上的藝術,學習如何專注是最為重要的。唯有全神貫注在眼前的事情上,做任何事才能成功。
  每個人天生都具有兩種本質,一種是要求我們勇往前進,另一種則是要求我們退縮。而這兩種本質所導致的最終結局全依賴於我們自身培養、專注的是哪一種本質。這兩種本質都具備掌控的力量,但唯有意志才能決定一切。
  查看自己,仔細研究,你會看到自己的真實面。如果你曾經仔細查看過自己,應該對自己有完整的認識,也應當能適度的重新調整自己的內心。但永遠記住一點,正確的想法與正確的生活是尋求快樂的要件,因此快樂要往內心求。人人都是平等的,任何不快樂的人都不能享受自己與生俱來的權利。

Waiting

自從琴日接受左個offer 之後 

又未通知幾時返工

朝早同屋企人出左去

屋企人去買一隻生雞

唔忍心睇住隻雞比人殺死 

行左另外一邊等屋企人

原來係要行開一陣先返去拎隻雞

之後返左屋企 

update 返下一啲Swift 2 beta 6 既野

然後食完lunch 就睇返啲algorithm 既野 操下自己既腦筋



點知居然睇返一題幾個星期比人問過既題目 

welcome to hong kong -> kong hong to welcome

當然一開始用最容易既方法做 睇住個Space 黎分個words list 

再倒轉 用space合返個string 做完

但係問自己唔用 foundation 同唔用多個 additional space 呢

睇完interviewcake hints 原來有另外一個方法做

先成條string 倒轉 welcome to hong kong -> gonk gnoh ot emoclew

再係每個words 再倒轉 

當然唔會用foundation 黎分Words 

另外一個 variable 儲起上一個 Space index 

然後 用StartIndex 同 endIndex 之間黎swap 

用objective c 寫左好耐都做唔到

之後用左java 寫多次 

發現原來個 interviewcake sample code 有啲問題 可能係我唔識 port python

如果改動到原來既array 就叫做 reverse in-place 可以慳到resource 但係unsafe

如果開新array 儲起 唔改動原來array 叫做 reverse out-place 會佔用到 resource 但係 safe



之後再睇多條題目

今次既題目係 有兩條已經sort 好左既Array 點樣 夾一條 入面element 已經 sort好既array

呢個正正好似merge sort  不過第一時間諗唔起 

反而諗到 開一條array 夠位儲位兩條array 既 elements 然後儲曬落去 再用bubble sort done

但係唔滿意咁做 再認真諗下 loop 其中一條 array 

然後 compare 同一個位另外一條array 既element 

如果 一邊大過另一邊 就先放細果邊入個result array

咁樣做 Time complexity = O(n) Space complexity = O(n)

相比起 用combine array  會好得多 Space = O(m + n) Time = O(n^2)



今日同時收到間印刷 offer 係17k 過左試用會調整

無當面reject 再仔細考慮左 同佢地講有野學到同人工比較好就拒絕左

六點幾果時Web developer 話有offer 雖然未覆 但係都心裏有數

refer 呢個web dev job 既呀Sir 覺得我係一個需要guidance 既人 

而web dev job 會比到我 

但係我諗深一層 我越做野做得耐 唔通下下都要要靠人? 

入呢間公司原因 某個程度上係想跟住呢個CTO 提升自己解難能力

希望自己係工作上面獨立 同埋可以令到其他人放心交野比我做

長遠既目標做到好似呢位呀Sir 或者係CTO 咁experienced 咁thoughtful  










2015年8月25日 星期二

8 down, journey end

琴日一朝早就收到之前Start up 公司既offer

雖然好想一口答應 但係下午約左另一間公司既interview

而且可以後一日先答覆

想睇下情況先再諗

呢一間公司係科學園 一間小型既mobile solution 既公司

呢間公司做既野 行既方向 做project既做法 就係之前間公司想做既效果

咩app 都依 UX 行先 投入好多resource 去探索同fine tune UX

另外分engineering team 就會有齊Frontend backend 鼓勵唔同同事學習

而且佢地每個星期都會cross functional 咁開會同一齊solve 問題

同埋成間公司都好young 好open 甚至每個project 收幾多錢都會話比員工聽

仲有個職級同有咩相關工作都好清楚

呢間公司 基本上 係上一間公司既理想國 我見得到係入面做野既人會做得好舒服

見完呢間公司 人工雖然無傾到 但係係各方面都幾符合我想做一份工既要求

但係可惜係太遲先見 而且已經收到offer 所以都無影響到我既決定

今朝同屋企人去左慈雲山中心

同時間confirm 返個offer 既details

就開始同其他agent close case

搞左半日 同佢地講返已經有左offer 同turn down 佢地跟緊既case

尤其有一啲in house position 個process 時間真係好長

好難說服到我 呢個position 有咩可以值得等

而且除左 offer 本身 都係想係CTO 身上學到野

所以都用左啲比較禮貌啲既方法去同agent 講

搞曬之後 接受個offer 就收拾心情去做新工


2015年8月23日 星期日

self learning 2

Hash Map - NSDictionary like mapping but with generic types
Stack - simple enough that is data structure of stack

the following code is java implementation of using stack to check the code syntax are properly closed.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import java.util.*;

class SyntaxTester {

 private HashMap<String, String> mapping;

 public SyntaxTester() {
  mapping = new HashMap<String, String>();
  mapping.put("(", ")");
  mapping.put("[", "]");
  mapping.put("{", "}");
 }

 public void check(String input) {
  Stack<String> stack = new Stack<String>();

  for (int i = 0 ; i < input.length() ; i++ ) {
   String currentString = input.substring(i, i+ 1) ;
   //opener
   if ( mapping.keySet().contains(currentString) ) {
    stack.add(currentString);
   } 
   //closer
   else if (mapping.containsValue(currentString)) {
    //get last stack element
    String lastElement = stack.peek();
    if (mapping.get(lastElement).equals(currentString) ) {
     stack.pop();
    }
   }
  }

  if (stack.empty()) {
   System.out.println("input : " + input + " is valid.");
  } else {
   System.out.println("input : " + input + " is not valid.");   
  }
 }
}

class HashMapDemo {
 public static void main(String[] args) {

  String input = "{[]()}";

  SyntaxTester tester = new SyntaxTester();
  if (args.length > 0) {
   tester.check(args[0]); 
  } else {
   tester.check(input);
  }

 }
}

7 down , more to go

上星期五21/8見左一份web application developer 既工

本身無咩希望 而且又唔係做開web 野 

只係因為呢份工係之前讀High dip 既呀sir refer 

同埋想我睇下呢間公司好唔好 

既然我都無工返 又係一個interview 機會 咁就見下啦 

睇下用一個mobile developer 既background 試下in web 工

一去到就比左兩份written test 我 一份係java 一份係php (cakephp)

java 前一兩日自己睇過下 但係佢考果啲真係用java 多既人先識

php 仲衰 好耐都無寫過 憑住印象同少少google 黎答 

半個鐘要做曬兩份 入面有六七既答案都係估⋯

交完卷就見HR 啦 有中有英 

話呢間公司係一間美國公司 返九放五半 14日大假 

聽到呢度都覺得有啲唔錯 同之前見過既大公司都係差唔多benefit 

無雙糧 但係會有bonus

之後見個regional application manager 好神奇係女仔黎 

傾傾下由佢interview 我變左我interview 佢⋯

見完之後最後仲要見埋個 CIO 

佢講到佢成條team 都work 左好耐 大家好熟大家 話自己有leadership skills

更重要佢話可以比到我既expected salary 如果快既可以聽日會有offer

佢仲話要有誠意先好做 唔好騎牛搵馬

佢講到搞到好似我唔黎做係我錯咁

如果真係 惟一缺點只係個office 係太古 唔夠九龍近

自問雖然做開front end 有啲front end 既sense 

但係future 黎講無可能唔識backend 野 

如果係呢工順便識 java 同backend 其實唔係一件壞事 

而見到個manager 係一個好kind 既人 而且做左好多年in house 

跟佢會知咩叫in house 

好在星期五見工 如果唔係佢真係有機會下一個工作天就比offer 連考慮時間都未無 

anyway 啦 有offer 先再諗

聽日都仲要去科學園見工 呢次難在佢又有code test 仲會考你用唔識既language 黎寫 

宜家都係溫logic 


2015年8月20日 星期四

self learning

MVVM ( C <-> VM <-> M)
- testable components
- fits for MVC
- works best with binding

Struts
a java web framework similar to MVC

ReactiveCocoa
works best with MVVM with sending Signal and binding mechanism

Dependancy Injection
Instead of taking all responsibility of a single class, let them to other classes.
Use interface or protocol to define what classes should do and outsiders are not needed to know the implementations and guarantee calling on the methods on interfaces or protocols

2015年8月19日 星期三

6 down , more to go

琴日朝早去左一間startup interview

本來都係帶住一個去睇下人地做乜既心態去見

點知一去到真係好casual 咁傾計

但係比個CTO 問到好多地方口啞啞

而呢個CTO 係我生命入面第二個可以諗野咁清楚

又可以從唔同方向問到野既人

真係佩服得五體投地

下午就見返介紹呢一間start up既agent

都係feedback 返係星期一同星期二上午見工既情況

無咩特別

黎緊都仲有好"幾"份工要見

但係心入面已經有個ranking 想做邊份同點解會做

睇下到時邊份工有offer 先再打算

2015年8月18日 星期二

5 down , more to go

琴日星期一見左兩份工

上午果份好近屋企 一間傳統既印刷商

想有啲新idea 去幫助啲佢地做既physical products

 暫時主力都係做AR 多 用hybrid 方法寫apps

 想搵個人幫手support 同develop phoneGap 唔support 既native functions (即係寫plugin?)

下午果份係紅磡 係一間主要做content provider 既公司 同時都做solution 即係vendor

 job scope 唔太清楚 同個technical 傾傾下佢要開會走左

但係估計係都係寫native apps

benefits 就有12日大假同埋 每年40 次睇醫生唔洗錢

不過個HR 真係好有經驗 問左好多我唔會諗到既問題⋯

今日仲有一份要見 下午見agent....

2015年8月17日 星期一

3 down , more to go

放左假兩個月,終於係八月開始搵工

八月四號見左第一份 remote 做code test. fail. 放低左兩個月既programming mind set  一下拎唔返出黎

之後成個星期係咁搵左agent ,舊同事,甚至以前呀sir miss 幫手 睇下有咩工可以interview

發現左裸辭 即係無下一份工就辭職係好不智 不過都做左 惟有見多啲工

八月十二號開始見工 果日係見一間銀行既合約工 skills 係match 到佢地要求 但係人工去唔到expected 雖然未覆 但係我估maybe next time.

八月十三號見左一間地產買賣租賃公司既in-house 見完 大家都好鐘意大家 但係佢地hiring process要成兩個星期 先知result

八月十四號見左另一間好大既發展商 見完HR 會有second in 未知幾時

見左咁多工 其實講到底個要求係要自己識得management 包括task / time 同埋識得解決問題同叫"救命"

係technical 方面要個sense 唔好局限係一個language

最重要點

  1. identify problem
  2. make expected result(match the problem requirement)
  3. plan and breakdown the problem
  4. run the logic in IDE / mind 
  5. if error,bug reason why the error or bug is
  6. do modification 
  7. repeat step 4 if there are error or bugs until expected result is met


2015年8月10日 星期一

搵工

Things completed today:

1. Sent CV for web application developer by recommadation of Dr.

2. Contacted an agent and she told me about what digital agency is:

To simple put, a digital agency is a firm to provide completed solutions for the clients' requirements. Not limited to its capabilities( strengths on mobiles or webs for example). In these type of firms, it is requiring the employee to show their abilities and the project managers pick the whom is capable for do the job.

She also told me the information about a mobile app company in science park.

3. understand what "3-column layout" is

basically 3 columns are in the same webpage


this is left column


this is middle colmun

this is right column


 



and css

#left {
float:left;
width: 300px;
}

#right {
float:right;
width: 600px;
}

#middle {
float:left;
width: 300px;
}

#right-2 {
float : right;
width: 300px;
}

#footer {
clear:both;
}

4. use JS to re-answer the below questions

write a function to prove all characters in string are subsets of another string

function("ABCDE", "AADE") return true

function("ABCDE", "DZ") return false

write a function to reverse each words in a sentence but maintain same orders

function("Hello World") return  "olleH dlroW"


2015年7月7日 星期二

Reflection

8th Jun - 17th Jun

https://www.gitbook.com/book/chriswong1/data-structure-and-algorithms/details


  • Linked Link 
  • Array
  • Stack
  • Queue
  • Tree
  • Hash
  • Backtracking


19th Jun to 28 Jun

WWDC 2015
- iOS 9

  • SafariViewController - the Safari-like viewController that shares functions with native Safari browser.
  • WKWebView can load local assets.
  • UIStackView for more easier layouts.
  • Additional to Auto-layout ( activate/ deactivate instead of adding/removing it from views)
  • Advanced NSOperation usage - everything wraps into a operation
  • ReplayKit - records the screen on any A7 or up devices 
  • Bigger payload for Push (2kB to 4kB)
  • canOpenUrls must add into info.plist
  • NSURLSession must use HTTPS now - add exception on info.plist
  • Contact Framework becomes more OO and provides filtering functions. AddressBook and AddressBookUI deprecated 
  • CoreLocation 
    • One time location access
    • use allowsBackgroundLocationUpdates to indicate the CLLocationManager instance needed to use background service
  • iPad Picture in Picture ( Use AVPlayerViewController for easy support/ AVPictureInPictureController for custom control / MVMoviePlayerViewController deprecated)
  • iPad SlideOver (Primary app for regular width / Second app for compact width)
  • iPad Split View
- Swift 2
  • try
    • try any operations that may be throws 
    • if the try is success, the operation carries forward
    • if the try is try! that means the operation throws will crash. 
  • throws
    • indicate what may goes wrong 
    • define your own ErrorType 

  • guard
    • guard thing when it is "if let"
    • else to do something fail of that condition
  • protocol extensions
    • protocol someMoreProtocol: originalProtocol
  • Swift is protocol-specific language (e.g. no more global map function) 
    • map([1, 2, 3], {*})
    • [1,2,3].map{*}

- WatchOS 2 ( full access , complications)

  • Extensions run on the watch 
  • Use WatchConnectivity framework to communicate back and forth to iPhone
  • Video and animations 
  • More access on the the watch like shaking
  • Location Service 
-  Universal Links ( Deep Link services)



https://www.gitbook.com/book/chriswong1/wwdc-2015/details

29 Jun to 7th Jun

Functional Programming (Haskell) http://www.seas.upenn.edu/~cis194/fall14/
Functional Programming (Racket from Hong Kong Open Source Conference 2015) https://github.com/chainsawriot/funcprog_hkosc15
Swift 2 ebook Pre release  (https://itunes.apple.com/us/book/swift-programming-language/id1002622538?mt=11)

2015年6月30日 星期二

Reborn

今年年頭仲話想等埋睇下有無得升職

 加上自己對公司個環境 包括係project management 人工 工作時間上

有好多唔滿意既地方

希望佢地利用升職呢個條件黎令我留係度

點知等到五月過曬都未做appraisal

 之後成個星期CEO 同頂頭上司都一直捉住我同我傾

 點解我要走 同埋 要講服佢地 講到最後既條件係 

等九月會有個review broad

果時會review 邊一人啲會升職

而呢啲人必須有人refer 仲有唔同team support 先可以上位 

而我當時心入面既諗法係 等得黎又係得個等字 去到最後又未必會係上到位

我用左好多唔同既理由黎講點解我要走

最後六月五號就成為我係呢間公司既最後一日⋯

成個六月 到左宜家 我做左啲咩?
  1. 睇左十幾個WWDC 2015 sessions 同做埋notes
  2. 睇左咩係Data structure (linked list, tree, queue, stack, hash)
  3. 睇左咩係functional program ( first-class functions, map, reduce, filter)
  4. 跑左十一次步 學識用鼻呼吸 
雖然覺得到宜家我開始有啲hea 但係起碼每日逼自己睇下github / twitter / web artciles 

聽日開始係七月 

問自己準備好去搵新工未?想搵份咩工?人工要求?工作時數?年假?

2015年1月1日 星期四

一年半?

自從八月公司大執位之後

八月尾又見返個老相好project

 今次要加既功能唔算多

但係考驗既係點係最小改動原來堆垃圾code 上面

加到要有既function 本來預係九月中會交到貨

 因為屋企出左事 最少遲到九月尾先交到

同時因為咁令下一個好緊湊schedule 無可避免地delay 左開始⋯ 

十月同十一月都係每日尾班車放工 十一二點返公司開工 一日兩餐都係同事食

到最尾要上app store 仲係公司激戰三十六小時⋯

以為上左就無事啦 點知又比Apple reject 左兩次

一次係Apple 唔識試(連Apple都唔識試 又試問街外人又點識用?) 

二係個App 拎左一啲唔會用既personal information

但係個App 又一定要係十二月頭既event上架 

經過唔同人努力之下 終於說服到Apple approve...

比Apple reject > make adjustment > 再上 無端端又無左兩個星期做野 

但係本身係呢個兩星期預左比下一個phase 做development

宜家到左phase 2 尾 交左build

但係係唔係每次做project 都係要咁趕?

一啲時間都唔預? 

有好多係呢間公間既workflow 出現既問題 technical 一直都係忍氣吞聲食左佢

食一次還可以 但係點解次次都係要technical 食?

點解無人企出黎要改workflow?

一定個個都好忙先叫高生產力?

呢啲問題一直係我個腦好耐。

唔經唔覺

我係呢度已經一年半 相識既同事都一個個離開了 

而我由年中開始想離開既心態 到宜家 一直都無改變過

係呢度 有好多好好既同事

但係個流程 個士氣 啲project 麻煩程度 最令人睇唔過眼

我自問我講過建議比管理層 但係我仲未收到我應該有既回覆

同時又未見到佢地做出黎既野既成果

我唔知宜家係成功定失敗 但係我覺得既係 進度好慢 慢到我唔耐煩 

係呢度 可能睇多半年 有無機會升上一級

同埋睇下半年之後

technical係project lifecycle 參與度有無多左

唔單之做development

我講緊係傾requirement 已經要參與

唔好傾埋啲無謂/做左等於無做既requirement 到左最後做左啲對個客無value 既事

如果達成唔到

呢間公司對我既value 已經係買少見少了