← Back to Upcase

Have you tried an exercise?

(Ben Orenstein) #1

Have you tried an exercise in the last week or two? What was your experience like?

(Will Greenway) #2

I hadn’t looked at the exercises for several months, and had no idea how integrated the submission and code-review process was now. I got the sense that, before, not many people were actually reviewing other submissions. Today, though, I did a couple of exercises, reviewed other submissions, and read through all of the comments that you, Joe, and other subscribers had put on others’. There are some good discussions.

The exercises are great on their own, but adding the aspect of having a single place to view the diffs of other solutions with inline comments makes for a great learning experience. And the repository of ideas will only grow as time goes on. I’ll be working through all of the existing exercises soon, and hope that you guys will continue to come up with new ones.

My only tiny complaint is that it doesn’t seem like comments are editable. I realize that isn’t feature #1, but would be nice for when I submit before meaning to (which happens more often than I’d like to admit)

tl;dr - The new exercise interface is awesome. If anyone hasn’t tried it, you should.

(Acandael Acandael) #3

Last week I did the Rspec and Capybara: Forms exercise. I was pretty surprised with the instant feedback. I had a problem with pushing my solution and I got immediate feedback through the help function on the page.

The interface, as wpgreenway mentioned, is awesome.

My only confusion is about the documentation for these exercises. For instance, the second exercise I started is Rspec Capybara: scoping. I’m not familiar with this Capybara feature, so where should I look up documentation to solve this exercise. Should I look into Thoughtbot Learn (maybe a ‘weekly iteration’), or should I just look up the Capybara documentation? Maybe it would be a good idea to have a reference to documentation with every exercise.



(Cory Gwin) #4

So far I am liking the exercise tools and the feedback is great. I can see a couple of UI changes being very helpful though.

  1. It would be nice to be able to toggle closed feedback. Some times when looking at others code and trying to figure out how they implemented something this feedback is just noise. I would like to view it once I understand at a high level how the code is working.

  2. Having the ability to sort what you are viewing by folder would also be nice. The ability to minimize certain files or folders would be vary helpful.

  3. Maybe a way to toggle feedback by the person would be nice. Perhaps add all the commentor’s icons to the screen and be able to view them in groups.

Thanks :smile:

(Ben Orenstein) #5

Thanks for the helpful feedback!

(Charushin Roman) #6

@benorenstein, exersizes are cool! But I can’t manage to find the row in peer solutions for sudoku-validator titled as benorenstein's solution

(Ben Orenstein) #7

I’m not sure what you mean.

(Charushin Roman) #8

I mean, for me it is interesting to see what would be the solution for the same exercise by full time thoughtbotter with the years of TDD in background.
But that’s just a thinking out loud. Peer reviews is already a killer feature and I’m definitely going to solve all the exercises.

(Anton Petrov) #9

I’ve just run into an issue with comments sidebar on solution page. It looks like this: https://www.dropbox.com/s/n2yfui14wosej85/comments_sidebar.PNG

I checked some other exercises - same there. So it’s not specific to Rspec/Capybara part 1

(Ben Orenstein) #10

Thanks for reporting that! We’ll get it fixed.

(Brian) #11

I really like the new format for exercises. I tried one or two when they where still on GitHub. I much prefer the current approach because it feels more intentional and easier to reason about.

I would love to see a status of in progress / completed exercises on the main page so that I can quickly determine which ones I have already worked on.

Have you thought of adding multiple steps to an exercise making each one more of a journey to learn about a certain topic? For instance there are two exercise on Rspec and Capybara. I could see those combining into a single exercise and as new steps are added we would have a path for increasing our skills on a particular topic. Just a thought.

Thanks for all the hard work!

(Ben Orenstein) #12

Definitely going to do this.

Also definitely doing this! :smile:

(Acandael Acandael) #13

today I tried to do two exercises: “Rspec and Capybara Scoping” and “Tell don’t ask”. I pushed my solution to the remote repository and the the button ‘preview your solution’ got active. However when I pushed it, I got an error message ‘We’re sorry but something went wrong’

(Ben Orenstein) #14

Bummer! Sorry it’s not working for you.

We just changed some code that made have caused this problem.

I’ll make sure we take a look early next week.

(Ben Orenstein) #15

Here’s the exception on our side:

Git::DiffParser::ParseError: Couldn't parse line: "Binary files /dev/null and b/spec/features/.scoping_spec.rb.swp differ\n"

That’s a problem on our end. We should be able to handle that case.

However, if you find that line in your submission and remove it, I think it will work.

(Acandael Acandael) #16

Thanks Ben, removing .scoping_spec.rb.swp from my repository solved the problem.

I had a global solution for keeping .swp files out of my Git repositories, but switching from RVM to Rbenv made the .swp files creep back into my repositories.

Is there a global solution for keeping .swp files out of my Git repositories?



(Brian) #17

Try using a global gitignore file https://help.github.com/articles/ignoring-files#create-a-global-gitignore

(Acandael Acandael) #18

Hi Brian,

Thanks for the great tip!



(Brian) #19

There are a lot of examples of what to put in a global gitignore file online. This is what I use.

(Acandael Acandael) #20

added ‘tags’ to my ~/.gitignore_global file, thanks.

Think I’ll also add ‘public/uploads/tmp’ to my local .gitignore file, cause lately I’m getting lot’s of ‘public/uploads/tmp/*’ file in my repository.