Tracebility in .NET -source control – part 3 of 7

Adding version with Source Control

This depends on what source control do you use . We will not discuss this in details – it is enough to search AssemblyVersion. For TFS or SVN you can use https://github.com/loresoft/msbuildtasks : TfsVersion si SvnVersion

You can use command line too : http://www.woodwardweb.com/vsts/determining_the.html

Full tutorial with powershell you can find at http://blogs.msdn.com/b/visualstudioalm/archive/2013/07/24/basic-tfbuild-scripts.aspx http://msdn.microsoft.com/en-us/library/dn376353.aspx#env_vars http://curah.microsoft.com/8047/run-scripts-in-your-team-foundation-build-process

I have made a video at : https://www.youtube.com/watch?v=teiSgEYZXog

I can send source code –it is on visualstudio.com

No Comments

Traceability in .NET–1.0.*–part 2 of 7

Traceability in NET

Each project in Visual Studio contains a file named AssemblyInfo.cs that contains summary information about the component. We will discuss these lines:

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

As seen the traceability already exists in .NET .The difference between AssemblyVersion and AssemblyFileVersion is detailed here: http://support.microsoft.com/kb/556041

What we want to achieve is that after a change of the source code and recompile, the AssemblyVersion (or AssemblyFileVersion) to show us how we can "recover" source code

It is obvious that if we change the source code will remain all AssemblyVersion 1.0.0.0.

So if we want to have control over versions then we can modify the version manually .

In the following tutorials we will show various ways to automatically change the version, as well as to add other details in AssemblyDescription.

Official Way (1.0. *)

The easiest way is to put

[assembly: AssemblyVersion("1.0.*")]

In AssemblyInfo.cs and comment

//[assembly: AssemblyFileVersion("1.0.0.0")]

In this way, the version will increment every time.

The code on AssemblyInfo.cs will look as following:

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.*")]
// [assembly: AssemblyVersion("1.0.0.0")]
//[assembly: AssemblyFileVersion("1.0.0.0")]


Video: https://www.youtube.com/watch?v=jq6Uu64md1s

You can download the demo project here: http://traceabilitydemo.codeplex.com/releases/view/130512

The source code you can download from here:
https://traceabilitydemo.codeplex.com/SourceControl/changeset/view/110330

What is disturbing is not incremented so that we can see, for example, build on site.

Next time we will make same increment from Source control( TFS)

No Comments

Traceability in .NET – 1 of 7

What is traceability?

From Wikipedia, http://en.wikipedia.org/wiki/Traceability :
Traceability is the ability to verify the history, location, or application of an item by means of documented recorded identification.
We define traceability in software tracking capabilities and implementation of software components to know exactly:
1 The date the component was done (so that we can reproduce the source code)
2 Details of the production (version frameworks, other components, compilation debug / release, other data) so as to have the ability to distinguish between different versions
Assume that we have already answered yes to step 1 (Do you use source control?) from http://www.joelonsoftware.com/articles/fog0000000043.html
Also (although we do not use;)) is good to study and Semantic Version http://semver.org/

Why we need traceability in software

Suppose we have a source code that you distribute one to several customers. Suppose we modify the code for version two. Some of his old clients make software upgrades – others not. If a customer reports a bug, how do we know which version of the source code had problems?

No Comments

Friday links 84

  1. GCompris Free Educational Software
  2. 40 Maps That Will Help You Make Sense of the World «TwistedSifter
  3. 8 Mistakes Our Brains Make Every Day And How To Prevent Them – Business Insider
  4. Presentation Skills Considered Harmful — Serious Pony
  5. The New Science of Who Sits Where at Work – WSJ.com
  6. Four Dangerous Navigation Approaches that Can Increase Cognitive Strain
  7. A New Way To Measure Happiness Finds The True Happiest Countries In The World | Co.Exist | ideas + impact
  8. GoodUI
  9. Web Developer Checklist – ASP.NET Performance
  10. 33 Meticulous Cleaning Tricks For The OCD Person Inside You
  11. Cool life hacks : theCHIVE
  12. Morning Awesomeness : theCHIVE
  13. 40 Must-See Historical Photos | DeMilked
  14. Asda supermarket launches 3D printing service
  15. Introducing TogetherJS ✩ Mozilla Hacks – the Web developer blog
  16. The Positive Power of Negative Thinking | LinkedIn
  17. 30 Creative Facebook Timeline Cover Photos | DeMilked
  18. The No Whining Rule for Managers – Ron Ashkenas – Harvard Business Review
  19. Hovering | Fabric.js Demos
  20. free-programming-books/free-programming-books.md at master · vhf/free-programming-books
  21. C# versus C++ performance – Stack Overflow
  22. 101 Important Questions To Ask Yourself | Personal Excellence
  23. Keith Barry executa magia mintii | Video on TED.com
  24. What are the most spectacular NASA photos ever taken? – Quora
  25. Marius Ursache’s answer to Productivity: What are the best day to day time saving hacks? – Quora
  26. Confirmation Bias « You Are Not So Smart
  27. ASP.NET Web API 2 is out! Overview of features – StrathWeb
  28. Troy Hunt: Essential reading for Visual Studio 2013, MVC 5 and Web API 2
  29. Creating Facebook Template in Visual Studio 2013 Preview
  30. How Microsoft helped this bar figure out that vodka was costing it a fortune | CITEworld
  31. GitLab.com | Features
  32. 6 dirty secrets of the IT industry
  33. Two Dozen Insanely Essential Programmer Utilities* | Jesse Liberty
  34. AutoHotkey
  35. Bossie Awards 2013: The best open source application development tools – InfoWorld
  36. How a Radical New Teaching Method Could Unleash a Generation of Geniuses | Wired Business | Wired.com
  37. Colophon for GOV.UK at launch | Government Digital Service
No Comments

Friday links 83

  1. annyang! Easily add speech recognition to your site
  2. 33 Amazing Ideas That Will Make Your House Awesome | Bored Panda
  3. Manual on Development of Visual Studio 2005-2012 and Atmel Studio Plugins in C# – APIs and Tools – Articles – Articles – GameDev.net
  4. Jeffrey Richter: Excerpt #2 from CLR via C#, Third Edition – Microsoft Press – Site Home – MSDN Blogs
  5. O’Reilly Open Books Project
  6. Manual on Development of Visual Studio 2005-2012 and Atmel Studio Plugins in C# – APIs and Tools – Articles – Articles – GameDev.net
  7. 6 Harsh Truths That Will Make You a Better Person | Cracked.com
  8. Inverse Fizzbuzz – just another scala quant
  9. How To Recognise Famous Painters According To The Internet | Bored Panda
  10. Tools for image optimization
  11. 11 proven practices for more effective, efficient peer code review
  12. Malcolm Gladwell: The unheard story of David and Goliath | Video on TED.com
  13. Advanced Distributed Learning
  14. Zeigarnik Effect – PsychWiki – A Collaborative Psychology Wiki
  15. Tutorials · mbostock/d3 Wiki
  16. Wat — Destroy All Software Talks
  17. Super Cool Science Experiments You Can Do At Home – YouTube
No Comments

Friday links 82

  1. Core Coding Standard | Insomniac Games
  2. World’s Biggest Data Breaches & Hacks | Information Is Beautiful
  3. Caught In A Stress Spiral? Innovate Your Day With 8 Minutes Of "Ready, Set, Pause" | Fast Company | Business + Innovation
  4. 10 Ways Our Minds Warp Time — PsyBlog
  5. 10 Brilliant Social Psychology Studies — PsyBlog
  6. HistomapFinal.jpg.CROP.article920-large.jpg (920×4192)
  7. Things You Should Never Do, Part I – Joel on Software
  8. Pages – Surveys
  9. Translation table explaining the truth behind British politeness becomes internet hit – Telegraph
  10. JExcelApi
  11. Licensing iText | iText Software Info
  12. Attribute Routing in Web API v2
  13. ASP.NET MVC 5 Authentication Filters — Visual Studio Magazine
  14. How to Turn Your Pile of Code into an Open Source Project
  15. 25 Steps To Edit The Unmerciful Suck Out Of Your Story « terribleminds: chuck wendig
  16. WATCH NOW: What Gamers Can Teach Us | Jane McGonigal
  17. C# Performance Benchmark Mistakes, Part One – Tech.Pro
  18. C# Performance Benchmark Mistakes, Part Two – Tech.Pro
  19. 10 YouTube Videos Every Entrepreneur Should Watch | Inc.com
  20. Debugging Optimized Code–New in Visual Studio 2012 | Random ASCII
  21. Portable House ÁPH80 by Ábaton Arquitectura | URDesign Magazine
  22. Wall Street needs an MFA – Salon.com
  23. The Habits of the World’s Smartest People (Infographic) | Entrepreneur.com
  24. 5 Crazy New Man-Made Materials That Will Shape the Future
  25. 7 cutting-edge programming experiments worth trying
  26. Can Building Great Products Help You Build Great Teams? – Deep Nishar – Harvard Business Review
  27. Timed array processing in JavaScript | NCZOnline
  28. Understanding ECMAScript 6 arrow functions | NCZOnline
No Comments

Friday links 81

  1. Weird & Exotic Places on Earth
  2. three.js – JavaScript 3D library
  3. Margaret Heffernan: Dare to disagree | Video on TED.com
  4. Playing video games can boost brain power
  5. Google Chromecast Review – The race is on to wirelessly throw video to your TV – Scott Hanselman
  6. Entity Framework Code-First Performance Issue with String Queries | Brian Sullivan
  7. The Psychology of Video Games | It’s Not So Bad: Cognitive Dissonance and Cheap Games
  8. Math Experts Split the Check | Math with Bad Drawings
  9. How to Work with Designers — The Year of the Looking Glass — Medium
  10. How to Work with PMs — The Year of the Looking Glass — Medium
  11. Implement Kanban: Implement Virtuous Cycle of Ongoing Improvement » MPUG
  12. Getting a distinct list of changed files from TFS using PowerShell | HackedBrain
  13. Functionally Similar – Comparing Underscore.js to LINQ
  14. Amy Cuddy: Your body language shapes who you are | Video on TED.com
  15. 4 Things I Wish I Would Have Known When I Started My Software Development Career | Javalobby
  16. Weekend Scripter: Use PowerShell to Explore an RSS Feed from a Blog – Hey, Scripting Guy! Blog – Site Home – TechNet Blogs
  17. Dark Patterns – User Interfaces Designed to Trick People
  18. 10+ years of designing games in public | opensource.com
  19. Using T4 to Create an AppSettings Wrapper, Part 3 – P3.NET
  20. Windows 8 — Disappointing Usability for Both Novice and Power Users
  21. code journey: Using bind prefix in ASP.NET MVC with overlays
  22. Prefixing Input Elements Of Partial Views With ASP.NET MVC – That Extra Mile
  23. hall of api shame: boolean trap
No Comments

Friday links 80

  1. Phil Sturgeon • Building a Decent API | Blog
  2. Lifetimes of cryptographic hash functions
  3. You Can Now Print 3D Mini Replicas of Yourself «TwistedSifter
  4. If Facebook existed during World War 2
  5. Six Unconventional, Scientific Ways to Be Happier
  6. (0) Mana / Permalink
  7. #AltDevBlog » What documentation?
  8. AttributeRouting
  9. 14 Fantastic Free Tools for Design Collaboration
  10. Drinking in the Social Splenda — Social Design — Medium
  11. Twitter’s Killer New Two-Factor Solution Kicks SMS to the Curb | Threat Level | Wired.com
  12. All Europeans are related if you go back just 1,000 years, scientists say – NBC News.com
  13. How to Build a Career Worth Having
  14. 50 Insane Facts About Canada [INFOGRAPHIC] – Cheapflights
  15. Alex Laskey: How behavioral science can lower your energy bill | Video on TED.com
  16. How many surrealists does it take to screw in a light bulb? A fish: The most highbrow jokes in the world – Science – News – The Independent
  17. More highbrow jokes: We didn’t realise what we were starting – Science – News – The Independent
  18. 40 maps that explain the world
  19. A Question That Can Change Your Life « Peter Bregman
  20. The big, ugly affiliate marketing scam | VentureBeat
  21. 11 proven practices for more effective, efficient peer code review
No Comments

Friday Links 79

  1. Self-determination theory – Wikipedia, the free encyclopedia
  2. 15 Phenomenal TED Talks You Need to Watch Today
  3. The state of web compression
  4. Gamasutra – Features – Chasing the Whale: Examining the ethics of free-to-play games
  5. Does aggressive monetisation work? | The Develop Blog | Develop
  6. The Future Of UX Design: Tiny, Humanizing Details | Co.Design: business + innovation + design
  7. 10 Weird Tricks To Make Your Life Easier – Listverse
  8. ScraperWiki Data Blog | A blog about ScraperWiki and all things data
  9. Task Parallel Library and async-await Functionality – Patterns of Usage in Easy Samples – CodeProject
  10. The “Yes, And…” Approach: Less Ego, More Openness, More Possibility – 99U
  11. 10 Laws of Productivity – 99U
  12. Expanding the Definitions of Design – NYTimes.com
  13. Cause and Effect Analysis (Fishbone Diagrams) – Problem Solving Tools from MindTools.com
  14. Anatomy of a hack: How crackers ransack passwords like “qeadzcwrsfxv1331” | Ars Technica
  15. Microsoft to allow indie self-publishing on Xbox One, retail consoles will double as debug units (updated)
  16. The Noun Project
  17. Correctly Building Asynchronous Libraries in .NET
  18. Rendering ASP.NET MVC Razor Views outside of MVC revisited – Rick Strahl’s Web Log
  19. The 4 server logs you NEED to know to fix any IIS / ASP.NET error
  20. Pamela Meyer: How to spot a liar | Video on TED.com
No Comments

Friday Links 78

  1. New C# based CQRS Tutorial available
  2. Requirements Gathering For Better User Experience Pt1 – Usability Geek
  3. Requirements Gathering For Better User Experience Pt2 – Usability Geek
  4. Why your users hate Agile development (and what you can do about it)
  5. Data Annotations Extensions Create
  6. Why most uses of State pattern are code-smell | dorinlazăr.ro
  7. Task Parallel Library and async-await Functionality – Patterns of Usage in Easy Samples – CodeProject
  8. Self-determination theory – Wikipedia, the free encyclopedia
  9. 15 Phenomenal TED Talks You Need to Watch Today
  10. Jeu, Seth et Maths
  11. In Head-Hunting, Big Data May Not Be Such a Big Deal – NYTimes.com
  12. The UX of Minimum Viable Products (MVPs) | AndersRamsay.com
  13. Funny Motivational Posters Vol.188 | Barnorama
  14. Working Effectively with Legacy Code
  15. 7 Ways to Make the Rest of 2013 Amazing | Inc.com
    No Comments