This is a great read. I think it is not just for startups… a lot of people could use this for managing their projects.
I guess the cat is out of the bag or at least it is going to be so here is the post from Bob:
I can't say enough about the p&p team and you should come work in the group. I am a long time member of this group and the reason I keep coming back (they call me the boomerang) is because they do awesome work.
If you want to be part of an incredible group of people working on cool tech, apply now!
I have long been a fan of Test Driven Development (TDD). I have used all kinds of frameworks for doing my tests and for all of them have adopted the Act, Arrange, Assert pattern. I have looked into doing Behaviour-Driven Development and like the idea, just never found a framework that I was comfortable with and could use back and forth with unit testing.
I have been using OCUnit that ships with Xcode to do my testing. I decided that I wanted to branch out. I had heard good things about Kiwi for doing BDD with iOS. I decided that I should try it out. I normally I stick to the web and spelunking, yet this time I decided to buy a book on the subject: Test Driving iOS Development with Kiwi. This book is only available from the iBooks store.
I have to say the book was worth every penny. I really thought it was a simple and easy introduction. It doesn't try and cover every nook of the framework, but it gives you enough information to get you started and how you can easily use it. It also takes advantage of the fact it works on the iPad: you get media built right into the book. Rather than just text walk throughs, you get video / slides of how to do things visually. I really love this new way of doing books.
If you have never done or looking to do testing for you application (shame on you if you don't), you should really look into this book and Kiwi. I give it 5 stars!
Jason Zander's blog post on Unit Testing mentioned our Hilo project doing unit testing for Metro Applications in C++.
If you are really interested in this, download the code and check it out. We have to do some tricks to test Asyc methods, but since everything is async these days, you will probably find it useful.
If you have any feedback, leave it on the site so we can put this into future releases.
Silicon is eventually going to give up the ghost on how fast we can go.
Michio Kaku has a great explanation here. Parallel Programming is one way to delay the process. I am really getting deep into this now with ppl and C++. It is my new favorite shiny toy!
There was a question on stackoverflow on how to write an iOS app purely in C. Of course, anything is possible given time and money. The question is, why would I want to do this. Most of the time, you wouldn't, yet I don't think that is the lesson to learn here. It is not about mental gymnastics, it is understanding the system you live in.
When I was in school, most people in my math courses would always say "When am I ever going to use this?". I would say beyond most basic skills, I don't use much of the math that I learned (although it does come in handy helping the kids with their homework). When I do run into a problem that requires me to need something beyond the basics, I am glad that I at least know where to start looking. This is the same with programming. I don't write assembly, but sometimes in debugging, I don't have access to source and need to look at the output to see what is going on. I am glad that I took a course on debugging and got details on some of the x86 assembly calls.
Most everything in programming is just another level of abstraction to make our lives easier (maybe). It is good to know how things work underneath the covers of your abstraction, although you don't have to be an expert. Go out and dig under the covers of your favorite platform and learn something new today. Maybe you can find a way to use it :).