Archive for the ‘Career’ Category
iTunes U – a great learning hub
It would be so surprised for me that very few people ever knew about iTunes U. Come on, what’s wrong here? It is a great place for you to study through Harvard, Yale, MIT, Stanford and Carnegie Mellon. And all courses are free. Many people dream about these universities, so I think it is worth my efforts giving an advertisement and some introduction.
1/ Open iTunes and choose iTunesU
2/ Select the university you want to learn
3/ iTunesU has a lot of cool universities: Harvard, MIT, Stanford, CMU
4/ Courses at Yale
5/ Download the video you like
My New Book – 21 years old achievement
21 years old, I got my first book released, I was so excited. Buy it here
Today’s iPhone and iPad apps developers are often running into the need to refine, improve and optimize their apps performances. As more complex apps can be created, it is even more important for developers to deal with this critical issue.
Pro iOS Apps Performance Tuning and Optimization covers many common but difficult problems when tuning and optimizing performance for iPhone and iPad apps and how to resolve these problems efficiently. This book gives you the following:
- Basic knowledge on common problems in iPhone apps
- Advanced knowledge over data structure, algorithms, multithreading, and network data in iPhone apps
- Comparison with problems and solutions for Android and Windows Phone apps
After reading this must-have book, you’ll be ready to make the most of the processing power of the iPhone with your apps performance optimization know-how.
What you’ll learn
- Benchmark your apps using emulators and real device tests
- Increase and optimize UITableView performance in your iOS apps
- Increase your app performance using image and data caching techniques
- Tune your apps using algorithms and data structures
- Improve your parallel data access using multithreading techniques
- Optimize memory usage for increased battery life and better apps performance
- Use native C code to address memory leaks or EXEC_BAD_ACCESS
iOS Readability Parser
I have just released part of my source code in the Hearie project to be open source, this project will do the html readability parsing by objective-C. It still has some issues over threading, performance and may not work with all sites.
Feel free to use it and contact me if you have any issues
Hearie gets rid of distractions in webpages. Also, a high quality voice reads the content for you.
How many times have you complained your iPhone screen is too small to read? Hearie removes all useless contents including advertisments, links and more. Open your Safari, go to New York Times, tap our button and enjoy.
Hearie reads the content for you with human voice. Free your hands and eyes. Plug in your earphones and hear the content.
2nd professional year
So, today is the end day of my second year of professional working. As normal, I take a look back my career and see how it is going, what has happened over the last year and if it is going well with my old plan here.
What did I do?
I planned to learn more and work more in the technology, gain skills in Artificial Intelligence, Web and Mobile development. Almost all of them fail. All reasons started from this CMU scholarship admission that brought me back to Australia.
It was a huge chance, a chance that I had been dreaming for. It was not just the excellent environment of CMU, it was not just the reputation of this university, it was a chance for my own business. Coming back to a good market, having chance to work with smart people and starting inside a uni was a good chance.
So, I spent my time here studying finance, economics and entrepreneurship. I also spent most of time building up and trying different things, from outsourcing, writing book to product development. Lots of lessons, lots of new things and lots of failures as well. I again, grew up much faster than I ever did, just as the first time I went oversea to Melbourne. A lot of pains, but also a lot of gains.
What did I learn?
Well, I learnt something more about finance, economics and accounting. That helped me to solid my money management skills a little bit. It is better not to be fooled by those financial and business guys
). I learnt from both the theory inside CMU and both from the work. And I sometimes had to pay more for the real life to learn.
I also learnt about sales, marketing and investment for both Android and iPhone apps. Go over 2 markets, learn different techniques, become a salesman and a customer support sometimes, all are painful when all look like a new job for a geek.
Management is also something I learnt more from real life than some boring courses in CMU. Painful and stressful sometimes, but I got lessons out of it, adjust more for the real life and moving forward.
Working deeper in some iphone and android project. I also gained and solid my iPhone skills after writing the book about it. Starting to learn android development. That’s all for my technical skills this year.
What will I do for this coming up year?
I now look for more chances to grow rather than just outsourcing and earning money. I am now working on a new and innovative project called Hearie (that I will write about it soon). I still need to figure out a good market for it but I still love doing it and it is moving ahead. That’s good.
A good fact is: failure always hurt, sometimes it damn hurts, but I learnt from it well.
High Risk – High Return
People always say about how passion can make you successful, and there are plenty of books around that topic. So for now, I will just look at the problem by some limited financial perspective: High Risk, High Return. Well, all financial guys know this theory, huh? So, I just try to see what I did and achieved in these terms.
Since I was in high school, I started thinking about what would motivate me, what would make me feel good when I did something. I preferred taking risks to get a really good outcome rather than staying and following a safe path since my high school. Until some recent days, I recognized that this is the only way for me to get an excellent outcome in a short time. High Risk means High Return.
The Safe Zone
There is not much fun and passion if I just stay in my safe zone. Everybody does that, there is a safe way for you to go. And most of the time, I feel bored with going that safe way. Passion is important, but I feel that if I don’t go further and take some risks doing what I love, I don’t love it enough. Is it so much fun if you always know how the future works?
Passion will always give you to the edge of the safe zone, you can understand and see further than other people. Now, the thing is that you need to step out of that safe zone and take risks. If you are really passionate about something, do you want to see it become a huge success. If yes, make it! make the future!
The best way to predict the future is to create it.
Since the beginning of my career, I started asking myself “What to learn next in the IT career?” and how I can predict the future of this IT industry. And then, the more I move forward into the career, the more I know that the best way to predict the future is to create it. That’s why I get more involved in what I love and believe, joining open source community, try some start-up and cutting edge technologies.
No surprising, one of the most risky situation in IT is to try to invent some new product. People may or may not adopt your product, you may not find any users. And nobody may believe in your idea except yourself.
Google and Social Network
This was my paper that I submitted to Google for the Associated Product Management job a while ago and it becomes really out of date, after they release Google+. I just publish it here for record. Some of them are implemented by Google already. And I am still not sure if they would go over all of these.
Improve Google +1 and Social Network
Google is now losing the social networking battle to Facebook’s hands. That is undeniable. Although Google try his best to improve and create many social platforms and integrate many social ideas, Google still fails. Look! Google Wave, it disappears after couple of months, Google Buzz, nobody hears about it in the media world now. And what happens to the next Google approach, Google +1.
I keep asking myself what Google + 1 is actually trying to do, is it a better search or a better social network or anything else. At the current state, here is what I see about Google + 1.
- It is actually not a bookmark or read it later service like the way Delicious works.
- It is not about sharing when one user likes the page, none of his friends may know.
- It is not creating any connections or interactions between users.
- Does it bring more benefits to Google rather than to users with the machine learning algorithms?
I don’t think that in the general strategy, Google integrates +1 button for the machine learning algorithm. It already keeps track of what users click, what users see and what users behave when they do search. The +1 button may help a little bit over the algorithms but not much. So, I believe that Google does this for social networking efforts and to beat Facebook and Twitter.
In terms of social networking, my biggest question for Google + 1 is: how on earth, does a user want to click the +1 button? Look at the Like button of Facebook, I think that button is so successful because everybody wants to share, wants to let people know that they like this page. This acts as a virtual award for them. “Look, friends! I have this page for many of you”. Google +1 needs something like this. The content is created by users and needs to provide to users real or virtual benefits.
In brief, here are some ways or problems I think Google has to do to improve +1:
- Attract and give users awards for their efforts
- Attract 3rd party providers to integrate +1 button into their website
- Boost up Google Buzz and willing to cooperate with other services.
- Identify the market niche in social networking that Google can come in.
Social - Attract and give users awards
The last time I tested the Google +1, I cannot see any of my friends +1, and only a few from strangers. Here is the problem. In social, we have 2 concepts of friends sourcing and crowdsourcing. However, the friends’ sourcing is always more important than the crowdsourcing. The recent time is also important to let sharing between friends happen. If some of a user’s friends like an article 3 years ago, it does not affect much the current decision of that user.
Look at Facebook and Twitter where timeline is important. It is about if users can see what their friends are doing, liking and working on recently. If we want to improve our Google +1, we have to customize the Google Page Rank algorithms in such a way that can take the time dimension into account. It is also really important that I can see my friends’ rate for page more often when I do search. This is hard because searching is sometimes more random than keep surfing around the timeline of Facebook or Twitter.
Integrate +1 button into their website/chrome/android
Now, if we assume that users are willing to click that button to help their friends. However, will they do it before or after viewing the content of the page? The answer will be after. There is no point for them to rate it good before they actually see the contents of the web page. And we should not expect them to press the “Back” button in the web browser to come back just to rate +1 for the web page they like.
So, we have to take advantage of our current network of effects into users. There are 2 ways, browser and the web page. Browser is actually inside our control and web is not.
Chrome is taking more and more market share in the browser market. This is a huge advantage for us. We can integrate our +1 button somewhere in the browser so that everytime user search and go to a page, they can press that +1 button. Ping! We got data. And we got data not just from searching, we got data from every users enter any web page, any link, any article. We conquer the web.
But not all users are using our Chrome, we have to help them to have a more convenient way to rate our page. Just like facebook, we need to help them to put +1 in websites, a +1 button for every articles and pages inside that web page. We may not beat Facebook in this area but we can use it along with Chrome. Facebook and Twitter do not have this advantage. This button will be a great marketing tool for all websites to have.
Social Network Integrations – Buzz, Orkut and more
There is no doubt that Google Buzz is losing, it is nowhere near a success and nobody talks about it anymore. Orkut is successful in India and Brazil but is losing its market share now (only 38% market share, June, 2010). However, it would be bad idea if we do not try our best to integrate our new +1 into these services. Anybody who login to Google Account and press +1 for the web page or search result will appear on their Buzz and Orkut social network.
This will be where the friends come from. However, that would not be enough. This will be always an egg and chicken problem for Google. Will Google have a big user base first to spread out the +1 button to the whole world? Or will the spread of the +1 button help Google to have a bigger user base? I would suggest Google to use integrate with Facebook. In other words, allow users to post data from +1 to Facebook. That would be a big deal when Facebook can control and can know what Google’s users do. But, we can do it only for a short amount of time, when we need to grow Buzz up to the same level of Facebook.
After all, what are wrong with all Google efforts to go into social network?
- Google Wave was a success for me at the beginning but then some mistakes like private invitation makes it fail.
- Aadvark was also good but it can not go up too much.
- Youtube is an excellent video sharing service, but not much social there.
- Google Buzz is a nice try to integrate with Gmail, to utilize the current user base, but will fail because it is the wrong market segment. It also serves nothing else a news feed like Twitter.
- Orkut turns out to be successful in India but then get lost in the battle with Facebook.
- Android, why Android here? Because we have a strong userbase that can turn out to be a big value for us if we can create a social network there.
What is my thinking is that if Google can integrate and connect all of these platforms that it has in hand to create more connections, it can have some big social network. Imaging that every of its users have an Android phone, connect, chat and share together through Buzz, watch videos, recommend and share to every friends through YouTube. Ask and answer questions in Aadvark in the idle time or while waiting for the bus. If it can do that, this would be huge. Look at Microsoft and Facebook, they tie into each other. Microsoft and Nokia are the same. Facebook will be present in all Microsoft devices and in all Nokia devices. Even though Microsoft does not have a strong market share in smartphone now, it will keep growing up with these things.
Google has to create a bigger ecosystem and +1 should be improved to become a nice fit into the whole picture.
What’s the biggest lesson I learned so far this year?
My learning progress this year has been increasing so fast, many things change in my life for the last 3 months. I changed to new living environment, new learning environment and start up my business when I came here. There are lots of lessons that I learnt as a manager in my new startup and a student in CMU. I think the 2 biggest lessons I have learnt so far this year are: planning and time-management.
Plan and Vision
Let me tell about my story first. My plan has been changing every month since the last November. The event that I went to CMU has changed my plan for my master degree and my career. You can read over my past plan here. I had a plan to work hard and plan for the master degree 2 years later. Then that plan changed. Next, I plan to study hard in CMU. Then, chances came and plan changed.
The main point that I want to get is my visionary. My vision and objectives over all of the plans do not change. I want to become an entrepreneur and build something that can change the world, something innovative in terms of technology and business. Planning is a tool for me to set up my vision, to see what will happen for me and other trends and I am more than willing to change any plan when necessary.
I have learnt significant lessons over financial planning in my CMU, which will help me over my company growth a lot. I think that this is what I lack from my undergraduate career. Money. Financial. These are important for any business technology people. I believe if you want to be successful, you have to understand about 3: Money, People and Technology.
Time-Management
The last few months, I ran in a crazy way, not like ever before. Look, everybody, who knows me, will know how fast I learn, implement new ideas and improve myself. However, I never see I learn and work at that crazy speed before. Lots of things got done, lots of breaking news. And I am still looking for more.
There are a couple of issues and lessons I learn from that fast moving. Time-management. I got a few problems at the first time when I have too many things to do than the time I can have. Then, I try different approach to optimize my time, calendar, todo list and time saving strategy. I now work much more efficiently than months ago and can really focus on a thing that I do. That’s why I love moving fast. Only by moving fast, you can learn really fast.
Again, what I want to say is you have to focus, and have a good timing management skills to control your time. Time cannot be bought!
Installing App with iPhone Configuration Utility
I always have problems finding a good tutorial for my customers whenever I send them the adhoc app for testing, so I write this post to have a basic place for me and everybody else to send to their beta tester/customer without touching to iTunes with the crazy syncing process. This can be good for JailBreak iPhone as well but this is another story.
1/ Download iPhone Configuration Utility.
You can download the iPhone Configuration Utility for Windows here, and for Mac here.
2/ Plugin and find your device
You can find your device easily, and then choose add button as shown in the red box
3/ Select your app
Open Your File Browser and select the file you need, in this case is JobFinder.app
4/ Go back to device and open the Applications Tab
5/ Installing the app in
Remote working and management
Working as a freelancer, I have to deal with many remote works, including working remotely with my customer, my colleagues and my employees and it certainly has some different difficulties from other sitting together jobs. Here are lessons that I have been learning from these jobs:
Communication
Our good tool for communication is skype, IM and teamviewer. We try to keep a good and frequent communication with clients before our approach is too far from what they expect, or in case they want to change their requirement frequently.
As other oursourcing jobs, it is normal that we have to wake up early or sleep lately to match clients’ time as well as developers’time. Communication requires lots of patient and understanding from both sides. Many clients told me that they never meet a software developer like me, who can sit down, listen and talk with them about what they need, how to improve their app’s qualities. I am happy with this commendation. Sometimes, I even do not need to ask for bonus, but they are generous to give me more bonus to reward my efforts working for them.
Trust
Remote management requires trust on your employee. I am never a fan of a strict manager. My strategy is to manage adult, not manage children; therefore, we have to trust them working hard and passionate. We try to hire best developers that we can, and they should do their jobs automatically with integrity without any strict control from managers.
People may keep asking me how I manage my employees when I am in Australia, how to prevent them from cheating me. I do understand that with a loose management like this, it is hard to ensure 100% no cheating but whenever I hire a best developer with high motivation, they will just work on it themselves. An important part of managing is to foresee, to plan over the next few months to few years strategies not to just stand behind every developer to make sure they do not cheat. Trust and integrity are important.
This reminds me the time working at MultiNC, my first job. My boss was never in office, rarely asked us where the project was going on. What we, as developers do, is to try our best to create a best application based on the strategy that we set up. We frequently brought the products to the manager and asked for feedback.
Self-motivation
Trust will relate to self-motivation. You can only motivate yourself when you know that your managers trust you and you feel happy and freedom about your work. I would not be surprised when many developers feel bad about their jobs and think that they just do low level jobs. Because managers treat them as resources, give them low level jobs and never trust them in doing their jobs best. Money is not enough to motivate people. For me, people are motivated by giving them enough money, enough challenge and enough respect to do what they love doing.
My book: Community and Opportunities
I am happy to announce that I encountered a book contract with Apress to write about iphone development. This will be a great opportunity and new experience for me when I have never written a real book before.
That is just part of the main content of this blog, I want to share my own thought over community support (as I already said at this blog post about Community Support) and how it would help me to reach this kind of opportunities. An Apress staff contacted me after he read my blog series about iphone development. This helps me to restate again that if you do good thing for other people, chance will come back. Real chance, real value, not an artificial reputation.
Supporting community and make lives better is my personal long-term goal as well as my company’s long-term goal.
Advertising:
Visit vworker to hire best employees

















