Would you mind me asking you a question? It is pretty obvious that you are good at algorithms. Would you mind sharing how you got good at them?
I ask because although I am decent at programming as well as putting together the general structure of a program I seem to be weak at algorithms and have not had much success while trying to improve. Any advice: books / methodology is welcome.
I've been stuck in this exact same place for the last one year or so. I wanted a job in machine learning or possibly NLP and python is my language of choice, while the language is an excellent tool for these tasks I have not been able to find jobs in ML or NLP possibly because both of these fields involve quite a bit more than the programming related work.
To top this off I live in India and it has been difficult to find quality jobs here; the ones that will hire a less experienced person like me, of course :-)
I am writing a search engine. The main purpose was to work on a large project to give myself exposure and polish as a programmer (sysadmin by trade). The crawling and indexing systems are done now. I am finding the ranking to be the most challenging part but it is quite fun overall.
Since posting my comment about sublime text, I went ahead and downloaded and gave it a try. I must say it seems to fit my needs as far as python is concerned quite well, from the short time I spent with it.
It hits the sweet spot between emacs and pycharm quite nicely and I am at this point inclined to buy a license, I think an IDE is more useful for languages like java or scala but for python sublime text will do for me.
Re. the use cases for an IDE, my point was that as my side projects keep growing in size, I need something which is smart about things like refactoring, comprehensive autocomplete, support for debugging etc.
Interesting that sublime text comes up. I have been looking for a "bells and whistles" sort of IDE for python for a few days now, I am traditionally a unix person so I have moved along nicely with both vim and emacs as needed, but at this point I need to work with a full featured IDE.
I am using the evaluation version of pycharm and I must say it is quite impressive, although paying for an editor does seem odd after using emacs for so many years but it is a well designed software and I think worth the price.
That said I have been asked to give sublime text a try and I must say it looks a lot better than pycharm, I think will give it a try next (it is certainly a lot cheaper and if I understand correctly has much wider language support than pycharm).
What sort of development environment are others here using for go (if using it at all, of course) ? I've had reasonably good experience with the go-mode in emacs.
The screen resolution is an issue for me as well. I think they should have been able to fit in 1440x900 in a 13.3 inch size, similar to what the larger macbook airs ship with, which makes working on two editor or IDE panes side by side somewhat possible.
Thanks a lot, especially for the names of the books. After reading yours and other advice in this thread I am convinced that the way to get up to speed quickly would be to start with harder problems and backtrack as needed. Do you have any recommendations on books on analysis, the one I have with me is Walter Rudin.
Thank you, fortunately I was able to find an economy edition of both books (Linear Algebra and its applications by Strang though) after reading your post, so I have lots of work to do now. Also I don't know how I missed probability in my original post. That has been one of my weak areas and definitely needs fixing.
Thank you for the link, I used to subscribe to r/math at one point. However, my problem is a bit different. I am looking to re-learn the stuff I had gone through in college, as opposed to many people on r/math (as well as the audience for that post I presume) who want to cover new ground in math.
I seem to have just forgotten a lot of stuff or maybe not studied it right the first time around. Still I'll look at the books there, I'm sure there should be a significant overlap in my goals and those of people who want to start learning math.
I have Spivak's book actually, I got the hardcover from a used book store several years ago. It did seem a bit daunting to me from what I recall, I had used Tom Apostle's book when studying calculus back then.
I'll give more time to working through Spivak, hopefully it feels more approachable this time around.
Thanks, I will look into it I was under the impression that Khan Academy is for people new to the subject? I will check out the calculus and algebra lectures there.
Thanks, solving questions before reading sounds like an excellent strategy, especially given that I'm supposed to have read it all before. Now I will try to make a list of books to work on.
No I am exactly in the same place. I missed the programming activities (I was going to use numpy instead of octave and it turned out to be too much of an effort). I have re-enrolled in the course going on now so I am also going to do the assignments now.
Also thanks for mentioning Tom Mitchell's course, I didn't know about it. I will be sure to check it out.
And yes I agree Andrew is a great teacher. It became even more obvious when I tried to read up on areas he had not covered in the course.
Sure, I started off with Andrew Ng's course on coursera. Then I started with the book called Machine Learning by Tom Mitchell. I also have the PCI book to supplement Mitchell's book with code examples. I got Bishop's book too but to be honest I'm finding it a little harder to follow than the others.
Thank you, that sounds like a good idea. I may start looking into the HN api. I have been working to build a search engine for reddit using their api for a week now (not very mature, I have only started to build a database of tags for the posts) but I believe this idea will work here as well.
Thanks for the suggestion, I actually did sign up to kaggle a couple of days ago and am working on some of their problems. I was looking for something more internet related as getting in data from the internet and grouping or ranking it feels more immediately fun to me.
I ask because although I am decent at programming as well as putting together the general structure of a program I seem to be weak at algorithms and have not had much success while trying to improve. Any advice: books / methodology is welcome.
Thanks