You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create a system that performs Steve Reich's composition "Clapping Music".
"Clapping Music" has two parts that are based on the same rhythmic cell.
Part 1 plays this rhythmic cell consistently throughout the piece (x means play a sound, _ means rest):
x x x _ x x _ x _ x x _
Part 2 begins by playing this cell then cycles through 11 variations, each of which is shifted by one beat.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Write a simple library to enable testing with spies.
Here's a simple ruby app which interacts with a database.
The app has a passing test suite, but the tests are difficult to follow because they ask questions about return values.
Refactor the tests so that they observe collaborators that have side-effects (rather than examining those side-effects).
Building Vim with patch for :cdo/:ldo/:cfdo/:lfdo commands
I've written about one possible [workflow for doing project-wide search/replace in Vim][45].
This relies on a custom :Qargs command, which populates the arglist with each of the files listed in the quickfix list.
Having run that command, you can then run :argdo sub/find/replace/gc to substitute across all files in the argument list.
If only Vim provided a built-in :cdo command then this workflow would be more straightforward, and wouldn't require the custom :Qargs command.
Good news: Yegappan has implemented :cdo/:ldo/:cfdo/:lfdo commands. You can [read the discussion and find the patch][cdo-discussion] on the vim-dev mailing list.
Here are the steps that I used to download Vim source, apply the patch, and build Vim using the patched source code.
Create a tool for automating the steps required to build a javascript project.
A sample project is supplied with coffeescript files.
These need to be compiled to javascript, then minified and concatenated.
The build tool should be able accept generalised instructions for carrying out each of these steps.
Where possible the build tool should be lazy, only running steps if they produce fresh output.
The system will poll people for answers to yes/no questions that are easily answered by humans but not by machines.
If a certain number of people give the same answer to a question, it's marked as resolved and polling for that question ceases.
If people give different answers to the same question, then polling will continue until a consensus is reached and that question can be marked as resolved.
When someone has answered a question, they may view a summary of all answers to that question.
Instead of running `:!ember g model blah`, use `:Ember g model blah`.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters