Do you go beyond public sources for you data? Commission research?
HN user
bereft_orange
OSS/GitHub is what let me crack into the industry without having a CS degree or particularly good contacts. I started learning to code a year or two ago, then started contributing to open source and now I have a pretty solid track record on interesting projects that's helped me get some interest and interviews. Not sure how I could have done that otherwise...
If you don't have an idea for a project (I totally didn't), find an open source project that you like, start contributing to it and get to the point where you can get accepted as a core developer / maintainer. It can be a great way to show that you have chops (and you end up doing many things that are important dev skills, like code reviews, API design, handling a legacy codebase, etc.). Plus, it's fun and can be a good way to meet people.
Yes, the ability to rollback history more easily than paging through `git reflog` would be great. (in particular, if you rebase often you end up with a lot of cruft).
how far does that go though? `git push --force --yes --yes-I-am-absolutely-sure --by-pushing-this-commit-I-agree-I-am-paying-attention`. Seems like `--force` is a succinct way to cover those two parts.
the decorator module also preserves function signature, which is nice (check out the FunctionMaker class - it's crazy)
Saying that something will have the same language on client and server is misleading: javascript (and most other languages) have very simple syntax - it's more about the libraries involved. Node.js and the browser environment are totally different (and I doubt there are many packages written for both settings).
Even if everyone were working in JavaScript, seems unlikely that you'd be able to be both an awesome client-side and server-side developer.
Is this actually true (or is it more the experience of a few people generalized to everyone)? How do you avoid this?
That kind of rebase is great, because you are applying your work on top of the master branch (i.e., making the history read as it should be, that your set of commits was added on top of master). That's why git says it's "replaying" your commits on top of it. That usually works because you and master have a common previous point of reference.
If the master branch went back and changed something before that common point of reference, things get more confusing. If you want to see this yourself, checkout a separate branch, rebase interactively and make a big edit in the past. It's much more painful to add on top of that successfully with the first branch (git will want to do a merge commit) because now the history has diverged between them. (and if you use CI, you might notice that when you rebase a wip topic branch locally, git tells you things like "You are 10 commits behind and 5 commits ahead".
or just `s.split()`
Certified newbie-programmer here: without HN, r/programming on reddit, and a few other places, there's no way I'd know about half the things I know now. When it comes to choose tools for a project, that's really helpful.
That all said, I think it's reasonable to say "Hey, we should think about motivating people to contribute code too!", but both elements can be complimentary.
I'm not sure whether you are trying to learn to program in general or Python in particular, but you might try out something like ["Design of Computer Programs"](https://www.udacity.com/course/cs212) from Udacity. It's very engaging, somewhat difficult but you'll learn a lot.
Another thing you might try is taking a book with examples in one language and try to implement them in Python. It's a little weird but it can be a great way to have a framework for a task but have to explore on your own.
2 things:
1. Care to post a default so it's possible to explore? Couldn't figure out a working combination. 2. When you hit an error, would be helpful if you kept the previous selection prefilled (either via AJAX request or passing along the previous selection in the URL).