But for something even more fun, I suggest you check out Marpa (https://jeffreykegler.github.io/Marpa-web-site/). It is, by far, the nicest parsing tool I have ever worked with. Being able to parse ANY BNF is huge. And the state tables for debugging! Knowing what possibilities you have makes things way easier. Especially for getting stuck in an ambiguous spot of your grammer. Finally, using ruby slippers to get out of a tight spot is hugely useful.
My one complaint is that the only implementation is in Perl. The core engine is written in C though, so someday I would like to convert the Perl into Python. I started several months ago, and haven't been able to get back to it. (https://github.com/srathbun/pyMarpa)
I would guess you aren't thinking in the language in question. You are translating your native language sentence into the appropriate english sentence on the fly. To use a programming analogy, it is like writing Haskell code as if it was C. Because you aren't thinking functionally, for every imperative step the C code in your head takes you have to translate it to some sort of functional analog.
You can get through it, but it is slower, and looks "funny" to a "native".
Python-mode provides awesome sause :) To get the repo, clone it recursively, or you won't have all the submodules. `git clone --recursive https://github.com/srathbun/vim-plugins.git ~/.vim`
This is one thing I don't understand about people working in startups. You are in the business of you. The startup is in the business of the startup. Don't conflate the two.
That's the way I looked at it. Get through it without a lot of debt and be a big fish in a little pond.
I'm smart enough to work on "hard" problems, but the stuff I do now is interesting, and while my gross income is lower, my net income is quite a bit higher.
Hmm, if all this is true, then how can any successful company have an open source software product? Bacula http://www.bacula.org/en/ is a great backup solution available fore free, with installers, yet they run a successful business.
I switched because of the massive control over the prompt.
I've currently got a three line prompt that includes info about my current repository:
(git)[45afc8f02fef U master [origin/master ] ]
It lists type (git/hg) [checkout (U)pdated branch [remote branch] ]. It'll tell you how many branches different the remote is, what you are up to (staged), and colors.
That, better tab completion, and syntax highlighting of the command line are my killer features. I'm running a fork of the oh-my-zsh project, so you can see the features by grabbing a copy: https://github.com/srathbun/oh-my-zsh