Link to Episode 39's Full Show Notes
http://www.codingblocks.net/episode39
T-Shirt Giveaway - The winner is...
Manrique Logan - please contact us to send us your ship-to information!
This Episode's Survey
Suggested by: https://twitter.com/CatcheNameHere/status/700507429390274560
Princess rap battle: GALADRIEL vs LEIA
https://www.youtube.com/watch?v=RL52R7m8b7w
How to be an Intermediate Programmer
Personal Skills
How to Stay Motivated
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/01-How%20to%20Stay%20Motivated.mdHow to be Widely Trusted
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/02-How%20to%20be%20Widely%20Trusted.mdHow to Tradeoff Time vs Space
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/03-How%20to%20Tradeoff%20Time%20vs%20Space.mdHow to Stress Test
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/04-How%20to%20Stress%20Test.mdHow to Balance Brevity vs Abstraction
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/05-How%20to%20Balance%20Brevity%20and%20Abstraction.md Shout out to our friend Will - https://twitter.com/iamwillmadison
How to Learn New Skills
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/06-How%20to%20Learn%20New%20Skills.mdLearn to Type
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/07-Learn%20to%20Type.mdHow to Do Integration Testing
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/08-How%20to%20Do%20Integration%20Testing.mdCommunication Languages
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/09-Communication%20Languages.mdHeavy Tools
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/10-Heavy%20Tools.mdHow to Analyze Data
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/11-How%20to%20analyze%20data.mdTeam Skills
How to Manage Development Time
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Team-Skills/01-How%20to%20Manage%20Development%20Time.mdHow to Manage Third Party Software Risks
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Team-Skills/02-How%20to%20Manage%20Third-Party%20Software%20Risks.mdHow to Manage Consultants
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Team-Skills/03-How%20to%20Manage%20Consultants.mdHow to Communicate the Right Amount
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Team-Skills/04-How%20to%20Communicate%20the%20Right%20Amount.mdHow to Disagree Honestly and Get Away with it
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Team-Skills/05-How%20to%20Disagree%20Honestly%20and%20Get%20Away%20with%20It.mdJudgement
How to Tradeoff Quality Against Development Time
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/01-How%20to%20Tradeoff%20Quality%20Against%20Development%20Time.mdHow to Manage Software System Dependence
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/02-How%20to%20Manage%20Software%20System%20Dependence.mdHow to Decide if Software is too Immature
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/03-How%20to%20Decide%20if%20Software%20is%20Too%20Immature.mdHow to Make a Buy vs Build Decision
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/04-How%20to%20Make%20a%20Buy%20vs%20Build%20Decision.mdHow to Grow Professionally
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/05-How%20to%20Grow%20Professionally.mdHow to Evaluate Interviewees
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/06-How%20to%20Evaluate%20Interviewees.mdHow to Know when to apply Fancy Computer Science
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/07-How%20to%20Know%20When%20to%20Apply%20Fancy%20Computer%20Science.mdHow to Talk to Engineers
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/08-How%20to%20Talk%20to%20Non-Engineers.mdResources We Like
How to be a Programmer: A Short, Comprehensive, and Personal Summary by Robert L Read
Make a Pull Request to get your thoughts in here:
https://github.com/RobertLRead/HowToBeAProgrammer
Or buy your copy here from Amazon:
http://amzn.to/1WzbIxs
Succinctness is Power - Paul Graham
http://www.paulgraham.com/power.html
You Don't Know JS
https://github.com/getify/You-Dont-Know-JS/blob/master/README.md
Want to know how fast you type?
http://www.typingtest.com/
Allen's Typing Speed on the Microsoft Sculpt Ergonomic
Microsoft Sculpt Ergonomic Keyboard
http://www.typingtest.com/result.html?acc=100&nwpm=90&gwpm=90&ncpm=452&gcpm=452&dur=60&time=60&chksum=45213&unit=wpm&kh=998&td=null&err=0&hits=452
specflow - Binding business requirements to .NET code
http://www.specflow.org/
Tips for this Episode
Allen Underwood: Execution plan for a running query in Microsoft SQL Server
Preface: You can click a button in Microsoft SQL Server Management Studio (SSMS) to see the execution plan of a query to identify any performance problems. The biggest issue with this is that if there's a query that NEVER returns, or takes an insanely long time to return, then you're stuck waiting for the query to finish. This tip shows you how to find the ACTUAL (not estimated) query plan of the query that is actively running:
EXEC sp_who2 'active' -- Find the SPID of the query you're running
DECLARE @spid INT = 123 -- From above
SELECT EQP.query_plan, *
FROM sys.dm_exec_requests AS ER
CROSS APPLY sys.dm_exec_query_plan(ER.plan_handle) AS EQP
WHERE ER.session_id = @spid
Once that bottom query runs, you'll be provided a link in the results grid that you can click to open up the graphical execution plan.
Michael Outlaw: Have Git ignore changes you make to a specific file like you didn't make the changes, but still have it be part of the tracked files in Git.
Preface: Let's say you have a connection string configuration file that you change to point to your local database. That config file needs to be tracked in Git, but you don't want your changes to accidentally get committed and pushed up to the remote repo, then this command is for you.
git update-index /path/to/file --assume-unchanged
Joe Zack: Life Tip - Pay attention to the warnings in your IDE. It's easy to get used to seeing several warnings and ignoring them because they're not errors. Eventually a new one that actually matters will show up and by ignoring it, you could be creating heartache for yourself. If you can, resolve the warnings that are currently showing up so that if a new one surfaces, it'll jump out at you like a sore thumb.