Skip to main content

Posts

New Year Resolution

A lot of things happened in the year 2014.  A lot of people to thank to, also a lot of people to apologise to... Thanks to ViSenze who gives me various chances to learn different skills. I worked out my first java project with highly professional team members.  I learnt how to translate business requirements into user cases, how to initiate execution plans and prioritise, how to design a system in a more elegant manner, how to code java properly, Spring, Akka, Unit test, Angular.js, etc.  I worked out the first version of iOS sdk based on the Java sdk and Faceplusplus iOS sdk .  I worked out a demo site based on the PHP sdk and fixed a few bugs in the PHP sdk. I learnt to be more careful implementing front end CSS and HTML and be a more detailed person. Thanks to all the helpful people in the company who would like to share their knowledge and expertise, especially to Guangda who helped point out my problems straightforwardly no matter how naughty I am, to ...

Craftsmanship

It was a busy month, all work no play... more about polishing, both code and UI, to make a better product. 1. Code Polishing In the current Java Spring project, there are a few things worth mentioning. 1. Service layer for MVC. My previous projects are mostly architected under MVC pattern. There is nothing wrong about that. However, when the logic gets more complexed, handling all the logic in the controller layer would not be as clean and efficient. Another layer named Service for better data access and logic control is used in the our project. http://stackoverflow.com/questions/5702391/mvcs-model-view-controller-service The controller would not be handling too many logics, instead, it only handles routing and  parameter passing. Most logics will be handled in the service layer. 2. Exception handling vs error codes In the beginning, I didn’t do any exception handling in the service layer, neither do I create many exception handlers in the controller la...

Restart

It's been one month since I started working in the new company. The overall experience is very good, quite a lot to learn and practice, except that I wasn't self-motivated enough to show lots of passions. I kept a weekly journal on Google docs to record some company-related stuffs. Some contents are operational/business related and can be sensitive to the potential competitors, thus they are saved as private journals. Techinally, there are quite a few good gains to note down. 1.I started to use unit testing in the project development. It turns out to be a very good practice to keep the codes a good standard.  2.One colleague and I discussed a sub part of the system and wrote the design document done before coding, which turns out to be a very cost efficient approach. 3.We used pivotal tracker to divide big projects into small parts. That is pretty useful for project management. I used trello in the past, however not as efficient for intensive collaborative working. 4. I desi...

Kilimanjaro

I decided to take some adventures before starting a new job. Around a year ago, I read a sharing from Facebook about the advantages of extreme sports. I found it quite convincing and worth a try. Last winter holiday, my friend, Qiyue,Jingping and two other girls went for sky driving and high jumping. I guess that a pretty good opportunity to start. Unfortunately, I was too busy with the ReadPeer project to go for a two weeks' trip. This summer, they are graduating and I'm changing a job, thus I decide to spend two weeks experiencing something adventurous with them. The plan is to climb the Kilimanjaro mountain. Since the safari is also nearby, we'll do that as well. Another friend who has climbed a 4000+ camp in Nepal together with Qiyue found our plan cool, thus he also decided to join us for the Kilimanjaro trip. Before climbing, we must have researched about the difficulty and feasibility. We knew that it is doable even for beginners like me. However, it takes courages...

Cut the Cross Down

Many things happened in the past few weeks, but I didn't record them in a consistent manner. It's like I'm carrying less burden than before, but the consequences could be pretty bad in the long run. Accomplishes:  1. Finished the book "You can draw in 30 days" and managed to draw sophisticated 3D objects. 2. Finished reading the first DSLR photographing book and practised three weekends on  a second-hand Canon D7 camera. Learn everything from a scratch from Zhixing. Attended my friend, Jingping's harmonica concert. 3. Launched our Clockie app V1.0. Finished the V1.1 debugging and modification. On going for the V1.2. We consider this app to be our first experiment on how to make a real product. Besides UI and features, we are going to do some experiments on the business side as well, for instance the free-premium business model. However, since there are small issues with the current version, we still ch...

End of February

These two weeks went really quickly. All of a sudden, it is already end of the month. There are basically two improvements worth recording. 1. In the readpeer team, we tried to do daily scrum meeting at 11am. We're clearer about the goals and we've effectively fixed miner bugs for the API as well as the App/Plugin workflow. Now, the bugs are mostly cleared and the APIs are mostly well-tested after two weeks' trials and errors. The iOS app is also progressing well, mostly because of Zijian's passion and smartness. Hopefully, we can have a demo next week for both the iOS app and the browser plugin. However, the Android app is slightly lagging. We just started integrating the APIs in the Android app. From the API design and implementation experience, I started to realize the potential security issues out there for the apps. For Android app, it is actually pretty easy to be decompiled into codes. It's pretty dangerous to simply put the app_api_key and app_api_secr...

Hackathon

I attended the Facebook Hackathon last Saturday with Zenan and Qiyue. It was an awesome experience. People there are really geeky and some teams are technically very strong. Unlike other hackathons I attended which are somewhat business oriented, this hackathon consists of only developers. No business models need to get examined. I guess that's the reason why it was so geeky and fun. The problem we want to solve is to help couples living long distances to better communicate with each other. It is painful for them to stick with each other while they cannot meet face to face very often. There are basically two needs:1. to have a unique private messaging channel where only two of them are in each other's contact. 2.to have a pair diary space that keeps track of their memorable conversations from the instant messaging channel. Zenan is really awesome in UX design and implementation. Qiyue is also very good. We managed to build the pair diary app with Pods, JSMessageViewController ...