You could make a list of 50 short statements that contradict all of these:
1. Take the time to research your idea and its potential market, customers and profitability before jumping into code.
2. Knowing the basics is not enough, someone on your team is going to have to actually do the work, and they need to have a deep understanding of what's involved. Everyone can learn, and startups are a great place to learn, but you need to have a solid foundation.
3. Your technology stack will be critical to your future success. Don't skimp on this decision, research it well and don't be afraid to learn new techniques.
These are just examples, they're not necessarily any more or less true than the OP. The point is without even anecdotal evidence, they're not much help.
Number 35 has an amusing sentence: "A happy and motivated team is dangerous." :P
For now quick responses to your points:
1. We spent a lot of time playing around with ideas, thinking big, making assumptions about what people wanted. We should have just built something small, quickly, put it out there and got feedback. Basically build a smaller MVP.
2. Knowing the basics is a good place to start - it at least makes it easier to hire the right people if you understand the role a bit.
3. Agree with your counter point. Specifically we spent a lot of time agonising over Rails or Django - when for our project there wouldn't have been much difference between the two - either would have been just as good. Getting the MVP built would have been a more constructive use of time.