2015 Year in Review

1) Complete Year 1 semester 2 and 3, and Year 2 Semester 1 despite heavy course work load
2) Attend my second Hong Kong Open Source Conference held at HKSTP
3) Attend inaugural PyCon HK 2015 Day 1 and 2 held at Cyberport
4) Join events organized by Open Source Hong Kong, Codeaholics, Open Innovation Lab and Hong Kong Node JS respectively
5) Continuously to learn MEAN stack. Firebase and open source tools (Grunt, Gulp, Bower, Yeoman)
6) Read three books this year. Beginning NodeJS, Full Stack JavaScript Development With MEAN and AngularJS Web Application Development Blueprints
7) Good health
8) Build a toy project that tracks down my event attendance; something that actually benefits me.
9) Met a PolyU classmate who shares the passion of web technology and accept my invitation to attend meetup.

10) Completed my only MOOC course in Udacity, Web tools and automation.

Goals next year :
1) Graduate next year
2) Go on my first vacation in three years
3) Read about HTML5 and CSS3 and practice Angular 1.x/2
4) Attend HKOSC 2016 (?), PyCon HK 2016 (?) and definitely TW JS Conf 2016 (Buy ticket early)
5) Try to speak clearly and communicate effectively with family, friends and colleagues
6) Enrol and finish at least 1 MOOC course. Udacity has many free courses that aim at web developers and Android developers.

Beginning Node.JS

Finish reading Beginning Node.JS

Like the title indicates, this publication targets beginning coders who are in search of the first language to develop server applications.

After reading 12 out of 13 chapters, I am still unable to develop a web application using Node.js as backend.

Conclusion: Go look for second text to learn to develop back-end using Node.js

Week of September 29 to October 5, 2014

1) Programming Cloud Services for Android Handheld Systems: Verified Certificated issued with final grade 99.5. Verified Certificate
2) Usable Security: Watched week 3 video lectures and submitted Week 3 quiz.
3) Mining Massive Datasets: Enrolled into the course late. I have downloaded week 1 and 2 videos but too busy with Poly U homework projects to begin watching them.

Poly U
4) COMP5111 – Database Management:

  1. Set up structure of PHP project
  2. Implement student login and logout functionality
  3. Implement change password function to fulfill update requirement
  4. Add skeleton PHP code to return dummy student history and render the results student page using JQuery Ajax call

5) COMP5122 – E-Commerce fundamental and development:

  1. Use Maven 3 to create a Spring MVC project
  2. Deploy the project to tomcat 6 server in Poly U and it can run successfully


6) Order Mama Demo in collaboration with Roger Tang

  1. Can retrieve Facebook posts and show them in endless list adapter
  2. Can display number of likes and comment count for a specific post
  3. Can retrieve Facebook comments and show them in endless list adapter

Week of August 11 to August 22, 2014

1) Reproducible Research: Enroll Signature Track to earn my third Verified Certificate in Data Science Specialization.
2) Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems: Earn my second Verified Certificate in Mobile Cloud Computing with Android Specialization.
3) Advanced Competitive Strategy: Completed all 7 quizzes and open book final examination.
4) Programming Cloud Services for Android Handheld Systems: Submitted 5 quizzes and assignment 1. Assignment 2 was released but I cannot start until I watch all the videos of week 6. This course uses Spring framework to implement cloud services and instructor has covered Spring controller, Spring repository, Spring security, Spring data and Spring Rest.


5) Deploy my second AngularJS size project to http://quiet-chamber-1998:herokuapp.com.
Features include:

  1. Show custom markers of pick-up locations on Google Map.
  2. Call Google Map Direction Service to render route.
  3. Allow user to input unlimited addresses to draw route to Hong Kong Science Park
  4. Define simple Restful API in NodeJS + Express Router
  5. Use Yeoman and Grunt to bootstrap AngularJS project.

Week of June 23 to June 29, 2014

1) Exploratory Data Analysis: Enrol Signature Track to earn my second Verified Certificate in Data Science Specialization.
2) Reproducible Research: Unfortunately I have to drop the course because of time constraint. I will definitely retake it in July iteration.
3) Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems: Completed Quiz 4 to 7 and Assignment 5 to 7. Assignment 1 to 5 were graded and awarded 100% in all of them. Next week’s plan is to watch Video lectures of week 8 and complete both quiz and assignment.
4) Advanced Competitive Strategy: Week 1 started this week and I have already finished watching all videos.


5) Continue to work on my first AngularJS project. The last outstanding item is to call FourSquare API to retrieve photo of the place and display it in the page
6) Follow tutorial to create a simple AngularJS + Firebase application. The link to the tutorial is Angular JS + Firebase tutorial.
6) Plan to use AngularJS + Firebase to plot OOCL shuttle bus routes on Google Map.
1) Show markers of various pick-up location.
2) Show travelling time to Science Park
3) Let user input address and locate the first three nearest pick-up locations
4) Store data in FireBase (Hopefully, I don’t get fired for disclosing company information)

Week of February 10 to February 16

1) Playful, Creative App: Watched week 8 videos and completed quiz #8.
2) Programming Mobile Applications for Android Handheld Systems:  Week 4 covered UI controls and custom adapter of ListView. The ToDo Manager assignment looked quite easy on paper but i could not get it to pass the autograder. Turned out I called setcheck method unnecessarily and produced extra log statement in output file. In future assignments, i should pay attention to logic and write right code.

3) Working on Heritage on the Go/隨時隨地遊古蹟 Android Application.
a) Add function to save monuments to “My Favorites”
b) Add “My Favorites” navigation drawer item
c) Refactor code to centralize data in state object and have better organization of packages
d) Fix bug. Place fragment crashed after email was sent via Intent. Need to generate QR code bitmap and assign it to imageview in onResume method

Week of January 13 to January 20, 2014


1) Human-Computer Interaction: Statement of Accomplishment issued on January 10, 2014.
2) Playful, Creative App: Assignment 1 submitted on January 13, 2014. Week 4 videos released and this weeks is about media player, style and theme. Finally, instructor teaches things I don’t know and no excuse of fast forwarding videos.
3) Computer Network: Week 2 videos released but I have not watched any yet. Homework 1 is also done and the mark is 4.75/5.0.


4) Working on Heritage on the Go/隨時隨地遊古蹟 Android Application. Implementing Around Me function based on Around Me tutorial of Laurent Michenaud. The tutorial can be found at http://www.michenux.net/android-around-me-tutorial-974.html.
5) Concurrently working on 2014 求簽 Android Application as member of Roger Tang’s student group. I assume the role of lead developer; research and implement features such as gesture detector, accelerometer sensor and play audio files with media player.

December 8 to December 14, 2013


1) Reactive Programming: Watched week 5 video lectures and submitted assignment 5.
2) Reactive Programming: Week 6 video lectures released and will start to watch them on Thursday.
3) Playful, Creative App: Week 2 videos released but I have not watched them yet.


4) Working on MCS Heritage Fiesta 2013 application. Completed Map fragment and partially completed webview fragment. Need to add button to open webpage in browser

December 1 to December 7, 2013


1) Human Computer Interaction: Completed Quiz 4 and peer grading.
2) Reactive Programming: Watched week 4 video lectures and submitted assignment 4.
3) Reactive Programming: Week5 video lectures released and will start to watch them on Wednesday.
4) Creative, Serious and Playful Science of Android Apps course starts today. Need to follow the instruction to install adt-bundle to my Mac Book Air.


5) Working on MCS Heritage Fiesta 2013 application. Completed Introduction, Gallery and Contact fragments. Outstanding items: 1) Add markers to indicate two bus stops that are near to the school. 6) Add Go back, Go forward and Reload buttons below webview. 3) Study and add YoutubePlayerFragment.

Week of November 11 to November 17, 2013


1) Human Computer Interaction: Completed Quiz 3 and watched week 5 video lectures.
2) Reactive Programming: Watched week 1 video lecture and submitted assignment 1.
3) Reactive Programming: Watch week 2 video lectures and submitted assignment 2.
4) Algorithm II: Completed assignments of week 1 but totally give up on the programming assignment
5) Algorithm II: Week 2 video lectures were released but I have not watched any yet.
6) MetaData: Certificate of Accomplishment issued.
7) Linear Programming: Certificate of Accomplishment with Distinction issued
8) Human Computer Interaction: Watch week 6 video lectures


9) Completed Android side project: Bluestone Crystal Accessories but store owners do not give permission to put it to Google Play.
10) Attended lesson 2 and 3 of IPad Development Course. Plan to make an IPad Application that incorporates all the interesting controls and concepts presented in the course
11) Attended lesson 4 and 5 of IPad Development Course.
12) Start another side project: MCS Heritiage Walk 2013.