69 karma · joined May 5, 2010
http://corygil.es/ http://www.github.com/gilesc
For software, having your code in a public repository like GitHub provides some socially-based motivation to keep your projects active. Just the simple act of regularly committing small changes can provide you with a sense of momentum -- and bonus points for raising (and fixing) issues, etc.
For days that you aren't on your A-game, it's also helpful to have made a TODO list from a day when you were thinking more clearly, so you can work on a relatively simple task just to maintain momentum.
Another key is to have a "big picture" goal that your projects are helping you towards. There's no reason you can't start now putting together the basic structural code (say, some core machine learning algorithms) for a later startup -- or even try your hand at writing an end-to-end web app and hosting it for free on Amazon. Whatever your end goals are, you'll be more motivated if you are writing code that helps you get there, not just code for learning's sake.
Especially since this is all so likely to end in an acceleration of government crackdown on web freedoms.
Not to mention that there are magnet high schools that do very much like the perceived prestige of having PhD level instructors. Your typical public high school wouldn't care, of course.
The article's core advice -- make sure to acquire transferable skills -- is certainly a good idea, though.
As a bioinformatics PhD student, life is great: I get to learn those programming and math skills specifically mentioned by the article as being transferable, along with some of the other more esoteric skills. (Moral of the story: choose bioinformatics! :)
It's nice that it doesn't require ruby and has a few additional features like search & install from clojars, and doc search. But it probably doesn't justify the cost of switching since I can get those functionalities from cljr.
What would really be nice -- the maintainers of lein, cljr, cake, and now jark all need to get together and work together instead of providing competing and slightly different tools.
The author also bewails .NET's lack of configurability. But what is it about C# that instantly defiles any programmer who touches it, that doesn't also apply to, say, Java?
They might be better off running some unobtrusive ads.
-Stanford's Tagger, Parser, and NLP Core
-Apache OpenNLP
-Lingpipe
Many smaller components are made to be compatible with IBM UIMA (of Watson fame), so they are able to be integrated into a pipeline somewhat easily. For examples of this in biomedical TM, see http://u-compare.org/ .
People will kill me for saying this, but truly: Python's performance isn't adequate for large-scale text mining, _especially_ if you want to do deep/full parsing. Shallow parsing as shown in this package's demo is more feasible.
I personally find NLTK convoluted, but in its favor, it does have readers for a TON of corpora, which is really nice.
About computer knowledge in biological research, though -- the state of things is generally abysmal. The average biology Ph.D. can use Excel to find means, SDs, and do t-tests, and that's about it. Even my boss, who specializes in bioinformatics, still uses VB6+MSAccess shudder. Most probably don't know that hard drives CAN fail.
Yet, researchers are fiercely independent and would definitely resist any heavy-handed mandates from campus IT forcing specific OSes or regular backups.