Saturday, January 31, 2015

A decade of unit testing - by Karl Sequin



Found by .net brew
http://openmymind.net/A-Decade-Of-Unit-Testing/

Agree with Karl

1. Unit Testing is design activity
2. Integration tests are must
3. Write Unit test to test non-trivial code
4.  Code coverage is not important.
5. Invest in logging


Unit Testing Strategy , architecture and framework has to done by Architects and Leads.
Developers need help from Architects and Leads.
Review your unit, integration tests at regular interval

Hopefully smart unit tests will make it easier to write unit tests.

Monday, January 26, 2015

How Google works - Book Review



Chapter 1
 Google was a start up company. investor asked Eric to rally the  team  and create a plan that would  establish clear deliverables across the company: product , sales , marketing , finance and corporate development. Plan needed to establish milestones and a roadmap of which products would ship and when.

To this day the rule of thumb is that late half of Google employees should be engineers.

Jonathan has plenty of experience in the "gate based" approach to building product which in most companies entails a series of well defined phases and milestone, governed by various executive reviews that escalate slowly up the corporate food chain . This approach is designed to conserve resource san funnel information up from far-flung silos to small set of design-makers.

Google engineers are business savvy and possessed a healthy streak of creativity.

Hire the best engineers and get out of their way.

How Google was able to beat Microsoft 11 billion dollar challenge is explained.


Why product excellence is required.

Cost of experimentation and failure has dropped significantly.


http://www.wsj.com/articles/book-review-how-google-works-by-eric-schmidt-and-jonathan-rosenberg-1412371982
"company is a symbol of innovation, success and technology leadership."

Anyone managing technology-focussed team should read this book, though not all the lessons will translate outside of Google's unique culture or the era when many of the decisions were made.

If you believe that Google sees the world as zeros and ones and manages that way, this book should serve to ground you in the potential challenges faced by management trying to see decision-making programmatically. What you will find is a framework held together by talented engineers, supported by an insatiable demand for data, and acted on with a set of principles that aren’t always as binary as “smart creatives” might prefer.


http://www.economist.com/news/books-and-arts/21620056-search-giant-shares-some-its-business-methods-dont-be-modest

Though it is not discussed in the book, Google’s management philosophy doubtless springs from the careers of the founders, Sergey Brin and Larry Page. Their youth, vision and technical genius, together with Google’s vast wealth, enabled the company to take risks that others would never contemplate. This is why it vies to photograph every street in the world and scan every book ever published, to say nothing of building self-driving cars and glasses that record almost everything.

In large part Google grew because it threw out the traditional MBA playbook; its success speaks for itself. However, this underscores a shortcoming of “How Google Works”. The experience of Messrs Schmidt and Rosenberg is so coloured by Google’s accomplishments that many of their recommendations best apply to managing teams of aces in lucrative, fast-growing markets, not to overseeing a wide range of talent in low-margin businesses—the life of most managers.





Disabling Windows Pagefile & Hibernation Files

Just ran the WinDirStat for cleaning up the harddisk and found the following interesting topics


1. PageFile and HiberSys are taking lot of space

http://techgage.com/article/disabling_windows_pagefile_hibernation_to_reclaim_ssd_space/

2. Applications

You got the delivery



http://www.lhotka.net/weblog/CodeAndRockAndRoll.aspx

I was thinking about an idea to write a blog entry. I read Rocky blog and his blog always force me think.

Should we focus only on delivering ?

Does methodology matters?

Are we delivering art or commodity?


1. Delivery matters. Ultimately our performance is judged by delivery. We may be technically brilliant and if we don't deliver software in reasonable time, we won't be considered  as successfully.


2. Does Methodology Matters ?

Methodology is lessons learnt from past. There are common problems that occur during most of software cycles and software gurus have come up a series of steps that we should perform to make sure that problems don't  arise .

3. Are we delivery art or commodity.


Monday, January 19, 2015

Diagnostic Tools debugger window in Visual Studio 2015

Diagnostic Tools debugger window in Visual Studio 2015

:(

Supported project types and configurations

The following startup project types and debugging configurations are supported by the Diagnostic Tools window in Visual Studio 2015 CTP 5:
  • Managed WPF, WinForms, Console projects running locally 
  • Native Win32, Console, and MFC projects running locally 
    • Note: the Debugger Events tool is currently not supported for Native projects 
  • ASP.NET 4 using IIS Express 
  • Managed or Native 32-bit Windows Store projects running locally 
The Diagnostic Tools window currently does not support:
  • ASP.NET 5 projects, or ASP.NET 4 projects using IIS 
  • Windows Store projects that are 64-bit, using JavaScript, or running on a remote device 
  • Targeting remote devices

http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/13/memory-usage-tool-while-debugging-in-visual-studio-2015.aspx


http://blogs.msdn.com/b/visualstudioalm/archive/2015/01/16/diagnostic-tools-debugger-window-in-visual-studio-2015.aspx

Friday, January 16, 2015

My Virtual Box Crashed: Lessons Leaned

I was preparing for some demos for Visual Studio 2015. My Virtual Box is not starting.

What if I was going to give some demo.

Lessons Learnt

1. Keep your powerpoint  and  Code in some  cloud storage.
2. Keep in your mind that you may not able to start the software.
 

Monday, January 12, 2015

Smart Unit Tests in Visual Studio 2015




http://msdn.microsoft.com/en-us/library/dn823749(v=vs.140).aspx


I wrote the program and added the smart tests.

  • I think that smartest can be very useful. It worked nicely. I was able to update the program and regenerate the tests
  • Smart tests did identify the gaps in my testing
  • I was able to add manual tests. Regenerating the smart tests didn't affect the manual tests.






 

Web Development Best Practices (Building Real-World Cloud Apps with Azure)


•Stateless web servers behind a smart load balancer.
•Avoid session state (or if you can’t avoid it, use distributed cache rather than a database).
•Use a CDN to edge-cache static file assets (images, scripts).
•Use .NET 4.5’s async support to avoid blocking calls.

http://www.asp.net/aspnet/overview/developing-apps-with-windows-azure/building-real-world-cloud-apps-with-windows-azure/web-development-best-practices

Sunday, January 11, 2015

Roslyn- the new .net Compiler


https://roslyn.codeplex.com/wikipage?title=Overview&referringTitle=Home

The core mission of Roslyn : opening the black boxes and allowing tools and end users to share in the wealth of information compiler have about our code ,

Compiles become platforms - API that you can use to code related tasks in your code and application


Anyone can build code analysis tools.


Opportunities for innovation in which  areas ?

1. Meta programming

2. Code Generation and Transformation

3. Interactive use of C# and VB Languages

4. Embedding of C# and VB in domain specific languages


Roslyn and Resharper

http://blog.jetbrains.com/dotnet/2014/04/10/resharper-and-roslyn-qa/

Looks like resharper will not exploit Roslyn for short term. I am glad that lot of people complaining about the performance impact of Resharper. I know so many people who will not use resharper because it slows down the performance.






 

Octopus - The Release Management Software

Attended a Technical Seminar for Octopus by Ian Paullin

 http://octopusdeploy.com/

Octopus deploy is automated release management tool for .net applications.

Advantages of Octopus  vs  Microsoft  Release Management
1. It is very cost effective
2. You don't have to copy the workflow for each stage like Microsoft Release Management
3. Web Interface . No need to install the client software for each user machine.
 

Saturday, January 10, 2015

Manage Client-Side Development in Visual Studio 2015 , Using Grunt and Bower

Dependency Injection in ASP.NET vNext



http://blogs.msdn.com/b/webdev/archive/2014/06/17/dependency-injection-in-asp-net-vnext.aspx

very interesting discussion here
http://forums.asp.net/t/1989008.aspx?Feedback+on+ASP+NET+vNext+Dependency+Injection

Step 1:

Start a new project




Step 2:



Step 3 :

Add  "Microsoft.Framework.DependencyInjection" entry to project.json



Step 4:

ADD  interface "IUser.CS" to your models





Step 5:
Add the implementation of "User.CS" to your models



Step 6:
Wire up the IUser Interface and User Class in the ConfigureServices method for startup.cs




Step 7

Add the constructor for controller and you are all set







Is there any strategy behind Visual Studio 2015 ?




1. There is world beyond Windows . Lot of  Mac and Linux Machines

2.  More Productivity to Developers.(Node.js provides great feedback. Need to compete with such framework).

3. Keep up with JavaScript Explosion

4. Cloud Computing is future . Make development effort seamless between Desktop and Cloud.
 

What is new in C# 6.0

Here are some new features in

1. Primary Constructors

2. Auto Property Initializers

3.  Using Statement for static members

4. Dictionary Initializers

5. Declaration Expression

6. Await inside a Finally brace

7. Exception Filters


https://www.youtube.com/watch?v=BA3sL783_Co
https://www.youtube.com/watch?v=KvW0NCFuXLg


http://www.c-sharpcorner.com/UploadFile/16101a/null-propagation-operator-a-new-feature-of-C-Sharp-6-0/

Wednesday, January 07, 2015

What is new in Visual Studio 2015

http://blogs.msdn.com/b/webdev/archive/2014/11/12/announcing-asp-net-features-in-visual-studio-2015-preview-and-vs2013-update-4.aspx


1. ASP.NET and Web API have been combined into single programming model.

2.  A no-compile developer experience

3. Better cloud integration

4. Dependency Injection out of box

5.  NuGet everything event the runtime also


ASP.NET 5 templates use a new project structure

The ASP.NET 5 project structure contains a project.json configuration file, and ".kproj" project file. ASP.NET 5 project templates uses a new project layout, creating a project folder under <solutionFolder>\src, and use the global.json file to specify the project reference folder.
Global.json file contains "sources": ["src"] element, indicating the "src" folder as the parent folder of project references. By default, project-to-project reference lookups will use the parent directory, plus the global.json-defined directories. For example, we have the following solution structure and project.json dependency visibility:


he ASP.NET 5 Starter Web template contains the code first migration for Entity Framework 7.0.0-beta.

Dependencies node for Bower and NPM dependencies


Improvement in JSON Editor


Webform 4.6 Improvement
    HTTP 2 Support



Asp.Net Tutorials

http://www.asp.net/vnext

Tuesday, January 06, 2015

Grunt

http://gruntjs.com


is a Javascript Task Runner which can perform repetitive tasks for you like minification, compilation, unit testing, linting etc.


Grunt has hundreds of plugins that help you to automate the tasks.


Nice quick video
https://www.youtube.com/watch?v=q3Sqljpr-Vc



JsHint: JSHint is a program that flags suspicious usage in programs written in JavaScript. The core project consists of a library itself as well as a CLI program distributed as a Node module.

CoffeeScript is a little language that compiles into JavaScript. Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.

RequireJS is a JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node. Using a modular script loader like RequireJS will improve the speed and quality of your code.

Stylus:

Sunday, January 04, 2015

Javascript Review

Soft Skills : The Software developer's life manual

It is good to see  a lot of books regarding soft skills for developers.
I am planning to read this book


Section 1. Career

     What are your goals
      People skill
     Working remotely
     Fix your resumes
              Get a Professional Resume Writer

Section 2.  Marketing yourself
               Give Presentation

Section 3 . Learning


Section 4. Productivity
          Focus, Focus and Focus


Section 5. Financials

Section 6. Fitness


Section 7 Spirit
   How mind influences the body?



John's Sonmez's Interview at InfoQ

http://www.infoq.com/articles/john-sonmez-soft-skills

 The best way to deal with these (WFH)problem is to develop a strict routine that you follow each day.
I treat my workday at home, just like I would at the office. This is the backbone that keeps me focused and on task.
I know specifically when I am going to start work and when I am going to quit. I also am aware of how much work I need to get done each day.
I'd also suggest doing everything possible to minimize distractions. Try to work in an isolated area. Use headphones if you need to and don't let yourself do things like watch TV, play games or raid the fridge.
Finally, set up some kind of social network, either with your team or with friends who work from home or even outside of work. Try to have at least a few times a week where you get some quality human interaction. Utilize video chat when possible and even consider joining local community events to help not feel so isolated.

References:



http://www.amazon.com/Soft-Skills-software-developers-manual/dp/1617292397/ref=sr_1_1?s=books&ie=UTF8&qid=1420424720&sr=1-1&keywords=soft+skills