The author's twitter account only has 160 some tweets but more than 19000 followers, a lot of which look like fake accounts...building the rails app is a good use of time but it seems it wasn't actually used (who would need to automates 100 tweets)?
"Musicians" and "Bands" are a bad example for this. A band obviously has more than one musician. But a musician may belong to more than one band. And also a musician may be a different kind of musician in each of his or her band...lead singer in one band, guitarist in the other, etc.
Also if this is a many-to-many relationship, it gives you the flexibility (in the joining table) to define when a musician was part of the band and when he/she left and other such metadata that might be useful in a band app