Monday, November 17, 2014

The Value of Repeating Yourself

Brian Douglas posted a great comment on his study practices. Worth a look at Concentric Circles in Learning and, anyway, what follows is a continuation on the theme so you might as well take a peek.

My personal take on the notion is to do the example project alongside the book you're studying. After the first run through create a new project in a different topic. It doesn't have to align precisely with the 'canon' project and in fact if it's subtly different that's actually better. Now you track through the book using it as a scaffold to build out your app.

The goal is for your second run through the material to be more about translating what's in the book to what's in your dev project; you want to be constantly thinking "oh, the book says fooDbEntry but in this app the object that handles the database entry I want to change is barDbEntry". It forces you to better understand what's going on under the code you're writing, how your chosen task differs from the example, and more importantly how you have to adjust the example code to meet your new goal. That directly builds and reinforces your mastery of the underlying concepts and trains your mind to see things through the code instead of through the domain you're writing the code in.

Of course there's the additional benefit of having built something (possibly) useful that you might want to elaborate on instead of yet another example app which is rarely anything that anyone wants to revisit. As a development process it's ridiculously inefficient however the goal isn't to use this as a development process; it's a learning process.

This is, perhaps, less applicable to course material like you might find on a MOOC or similar online location where you're heavily railroaded and it's difficult to flip around the material from place to place. Just an example of how the printed word (paper or screen) is always valuable even alongside an audio or video format.

Monday, November 10, 2014

Visual Studio published my DB passwords

Wasn't that nice of it? *.pubxml is .gitignore-ed innit? Why yes it is. VS ignored that directive and published it anyway. Thanks much. Fortunately it's just a low profile Azure SQL DB and a learning experience in resetting the password on the Azure DB plus fixing the password configured in the relevant Azure website.

More importantly, google found me this:
http://ericnelson.wordpress.com/2014/06/21/is-visual-studio-2013-ignoring-your-gitignore-file/

Which worked like a charm. Cleaning up after the problem took three times as long as actually fixing it. Sounds just about right to me.