HN user

hn

90 karma
Posts4
Comments5
View on HN

The danger of going for PhD is that after 5 years or more of studying, with all the time investment and academic achievement, you no longer have as much desire or motivation as initially. I think this partly explains many legendary founders started their start-ups very early: Bill Gates, Steve Jobs, Mark Zuckerberg (not considered legendary yet but on his way), etc. The more you how hard it is to start a business, the less time you have left, the more unlikely you actually start one. If you think you will start a business someday, why wait any longer, start one now. Good luck!

The author missed two key selling points of web apps. Firstly, users don't need to install to use web apps. They just need to open whatever browser and go to whatever url and the app is already there. Imagine if users have to install 100 desktop apps to have the same set of features which 100 websites offer. It's normal before the web era but ridiculous now. Secondly, web apps enable extremely fast iterating development and release. You can ship new versions as quick as you want, no delay, no real downloads, absolutely transparent to users. Essentially web apps and desktop apps are the same in the sense that they both depend on APIs. Web apps depend on remote APIs and desktop apps depend on local/native APIs. The more local dependency you can remove, the more powerful the apps can be. Therefore, web apps are much more powerful than desktop apps and desktop apps making uses of public APIs such as Twitter APIs, Facebook APIs are somewhere in the middle of the spectrum.

Although you understood the importance of practice, I still want to reiterate it. Practice is the key! As far as I know, ACRush and Petr have many years of experience of practicing and competing in serious algorithmic contests such as IOI, ACM, etc. They have solved thousands of algorithmic problems and counting. Through that hard working process, they polish their problem solving and coding skill to the very high level as you know. I am not sure hard working is enough to reach the level of Petr's or ACRush's but I believe it can push you further than you think you can be. Here are my concrete suggestions:

1) Read relevant chapters in CLRS (Introduction to Algorithms, kind of bible textbook).

2) Try to solve as many problems as you can in:

http://acm.uva.es/ (mix, some hard)

http://acm.timus.ru/ (mix, some hard)

http://www.spoj.pl/ (mix, many hard)

http://acm.sgu.ru/ (mix, many hard)

Topcoder.com (of course)

3) Solve the problems first then read experts' code to learn coding skill from them. Petr publishes his own TC screencasts in his blog: http://petr-mitrichev.blogspot.com/ You can learn a lot from watching them.

4) Practice consistently and never give up.

Good luck.