Tuesday, September 27, 2016

Visual Studio Plugin for "Favorite Documents"

I was missing the "Favorites" folder from the file browser while inside Visual Studio.  After looking for 30 seconds I found an excellent plugin for VS, it's called simply, "Favorite Documents".

Inside Visual Studio, select "Tools/Extensions and Updates...".  Then search "Online" for "Favorite Documents." and download.

Once installed it adds a "Favorites" menu with all the functionality you'd expect:


Thursday, September 22, 2016

Red Gate's SQL Search

I just downloaded SQL Search from Red Gate.
It's a great addin for Sql Server to let you search for strings within tables or columns.
This is especially useful when starting to work with a large unfamiliar database.

Tuesday, September 13, 2016

Why Smart Teams Make Dumb Decisions - Agile Austin Sept 13, 2016

Ken Howard presented "The Psychology of Error: Why Smart Teams Make Dumb Decisions" to 60 people at the monthly Agile Austin.
Here's a few pics:

 Ken wrote Individuals And Interactions: An Agile Guide, teacher at SMU.

My random notes:
We are affected by our emotions more than we realize and it hurts our productivity.

Illusionary Superiority - our minds feel we are above average
Error blindness - we don't see our errors as soon as we should.

It's best to honestly confront not ignore our limitations.

Need an environment of trust so we can admit and correct errors earlier.

Primed for future bias - first impressions, age gender bias, leading questions, initial project estiatmes stick with us.

implicit.harvard.edu - shows our bias

Emotions drive us more than we realize.

Beware when emotion-based opinions overshadow facts.

False memories can occur recalling our user stories.

Iteration blindness - we ignore last iteration's lessons.

When we run out of time we stop improving and planning.  We just work.

If you don't make your goals, it has an emotional effect on team members.

Avoid "Yes" addition.

If your Product Owner is bandwidth constraint, it causes real problems.

Dunning Kruger Effect

Einstein:  Ego = 1/knowledge

Sunk Cost Theory -

Hyperbolic Discounting - the longer the time it takes to achieve the goal, the less we value the goal

Our instinctive behaviour - want vs. should
We need discipline
Behavioural Habits - mood, boredom, work ethic, distractions at home, noise, lack of skill, other people.

If you have jerks, slackers, or depressive co-workers on a team - that person needs to be dealt with by a boss or a co-worker otherwise the bad apple infects the other team members.


Monday, August 08, 2016

Pitfalls of Continuous Delivery - Austin .Net Users Group

Jeffrey Palermo, founder of ClearMeasure.com, spoke to 35 people at the August .Net User's Group (adnug.org).

ClearMeasure has a sample solution: 

My notes:
Do not set up a shared database server for the team.  It's the same as a global variable that can get hammered.
Use independent non-shared databases created from a script in source control.
To facilitate continuous delivery with no downtime, add columns to a database so older and newer version of your code can run. 
If using a database table as a shared API between systems, use a separate sharable table.
Do not put more than on application in one solution because branching and versioning are coupled.
Share code between teams via a nuget package.
Do not let a build remain broken - fixing the build is everyone top priority.
Put server configuration into version control.
Do not clone virtual machines to create a new test machine, use versioned scripts.
Everything should go in source control - except passwords.  This makes continuous delivery possible.

You should have at least three Continuous Delivery Environments
Dev environment, only used by dev team
Customer test

Do not add security patches to your live servers.  Instead spin up new server, add security patches, install your software and deploy.

Puts lots of disk space in build servers so you can keep old builds for testing and redeployment.

Use SpecFlow to automate Gherkin language tests ("When I log in","When I am on the site")

PhantomJS is a headless browser that can be used so IE doesn't pop up all the time.

Thursday, July 28, 2016

How To Export A Sql Table As A Series Of INSERT Commands in Sql Server 2012

Occasionally as developers we need to copy the contents of a database table to another remote sql server that we cannot access.  We can export an Excel spreadsheet and email that to our counter parts at the remote machine.  Another option is to create a file of SQL insert commands that will transfer the data. 
In Sql Server Management Studio right click on the database containing your table,
Select "Tasks/Generate Scripts"

 Skip the intro screen and then select the table to export

Click "Next"
 Then select "Advanced" and set "Types of data to script" to be "Schema and data" (or only "Data" depending on your needs).

 Select "OK" in the panel.  Then enter a "File  name:" and then "Next>".

Then select "Next>"