Saturday, September 30, 2017

Future Technologies that Microsoft wants to master(Insights from Microsoft Envision)

Microsoft looked beyond the PC and the server to drive success in the cloud.
Microsoft is investing to lead in three key technologies that will shape our industry
and others in the years to come - mixed reality , artificial intelligence , and quantum computing .
These technologies will inevitably lead to massive shifts in our economy and society.

Mixed Reality
With mixed reality Microsoft is building the ultimate computing experience one in which field of view becomes  a computing surface and the digital world  and our physical world become one.
The data , apps , and even the colleagues and friends you think of as being on your phone or tablet are now available anywhere you want to access them - while you are working in your office.
Mixed reality will become an essential tool in medicine, education and manufacturing.

Stay Nadella tried HoloLens device , a small head-mounted computer that is completely self-contained. HoloLens transported him - virtually - of course -  onto the surface of the Red Planet , 250 million miles away, thanks to a feed  from NASA's Mars rover,Curiosity. Through HoloLens , he could see his two street shoes  walking , in the most convincing  and baffling  way, on the dusty Martian near a rocky waypoint called Kimberley along the rover's journey to Murray Buttes. HoloLens made it  possible for him both to walk around the actual room - to see a desk and tot interact with people around him - and to inspect the rocks on Mars's surface. That's that amazing , unprecedented nature oh what we call mixed reality . The experience was so inspiring , so moving , that one member of his leadership  team cried during the virtual excursion.

Stay Nadella saw and experienced the day was a glimpse of Microsoft's future. May be this moment will be remembered as the advent of a mixed reality revolution , one in which everyone works and plays in an immersive environment that blends the really works and a virtual world.

While HoloLens has obvious applications in video gaming , he instantly saw its potential in video gaming, I instantly saw its potential in classrooms , hospitals and yes, space exploration. NASA was , in fact , one the first organizations to see the value of HoleLens, adopting an early version  to enable astronauts  on Earth to collaborate with astronauts in space.

HoloLens as a  platform
5000 Developers submitted data for applications that they wanted to build for HoloLens after it was released.
Lowe's Home improvement stores , for example, are using HoloLens to allow their customers to stand in their own kitchens and bathrooms , and superimpose holograms of new cabinets , appliances and accessories so that they can see exactly what the remodel will look like.

Technologies can increasingly see , speak and analyze but it cannot yet feel.  But mixed reality may help machine empathize with humans. Though these technologies , we will be able increasingly to experience what  a refugee or a crime victim experiences , potentially enhancing our ability to make connections across barriers.
Students from Australia built an MR application that helps certain caregivers  to see the world  through the eyes of someone with autism.

Hit Refresh - Satya Nadella

Friday, July 21, 2017

How to sell Refactoring to Non-technical Managers?

Refactoring is a disciplined technique of making changes to software code structure, altering its internal structure without affecting its behavior.This is like upgrading your air conditioning system or water pipes without adding any new room or changing the characteristics of any room. Why should we upgrade our air conditioning when we are not getting a new room or any other new feature? It will not add much value to your house for resale. Overtime, mechanical, electrical and other appliances degrade due to wear and tear and once it is recommended by repair professional, we generally accept the advice and upgrade. In software, we resist changes to restructure the software. “Why fix it when it is broken” argument is used to block such attempts.

Saturday, May 27, 2017

A period of stability

Rocky says

In both those cases there was a 5-6 year window when the platforms were slow-changing, the dev tools were mature, and disruption was around the fringes, not in the mainstream. From a "learn new tech" perspective those were probably pretty boring periods of time. But from a "solve big business problems" perspective they were amazing periods of time, because everyone felt pretty comfortable using the platforms/tools at hand to actually do something useful for end users.
The iPad turned the world on its ear, and we're just now back to a point where it is clear that the platform is .NET/Java on the server and Angular on the client (regardless of the client OS). The server tooling has been fine for years, but I think we can see real stability for client development in the near future - whew!

My thoughts

1. There is lot of fun on databases and cloud computing side.

Sunday, May 14, 2017

F12 Developer Tool is your friend.

I was recently debugging Web Site functionality issue with a client. We were not able to reproduce the issues at our end. I saw that the client has disable F12 developer Tool on user computer. I requested them to enable the F12 developer tool. They did and send amazing information. IE11 was hanging on one missing web trend file and was taking 10 - 15 minutes before hanging. Chrome was working fine. Chrome was taking only 2-3 seconds.

F12 Developer Tool vs Fiddler

Layoffs in Indian IT industry. Very nice advice from an article

Pink slips are likely for jobs in manual testing, technology support and system administration since these are increasingly going to be managed by AI and robotics process automation based systems.
However, there is surge in demand for latest and innovative technologies like data science, artificial intelligence and digital domain specific skills.

Monday, May 30, 2016

Implementing Agile Engineering Practices(C#) at Enterprise Level

Video 1

Video 2

Can you adopt Agile Methodology without adopting Agile engineering practices?Can you change your software constantly without your software capability to changes?
                  Martin Fowler
What are the key Software Agile Practices
1. Continuous Integration
2. TDD     
  • Mocking Framework     
  • Dependency Injection     
  • JavaScript UI Testing
3. Automated Acceptance Testing
4. Removing Smells(Refactoring)
1. Continuous Integration  
  • Relative easy practice to implement for quick wins  
  • Helps you to train your new developers very quickly  
  • Quick feedback to leads

2. TDD  
Unit tests for give developers quick feedback  
Integration tests

Friday, May 15, 2015

Upgrading the Web Froms Application to 4.5 and make it Web API Friendly

To integrate WEB API 2.0 and ANGULAR.JS for current Web Form Application

I was able to successfully integrate WEB API 1.0 with Web Forms.

I tried to integrate the WEB API 2.0 through NUGET.

It was unsuccessful . It was not showing any meaningful message.

I created any  web form with .NET 4.0 and tried to add WEB API 2.0 through NUGET.

It gave meaningful message. To add WEB API 2.0 , you need to use .NET 4.5.

I upgraded all projects to 4.5.

AJAXMETHODS stopped working .

I goggled and found the following solution

Friday, February 06, 2015

Ways and advantages of migrating javascript code to typescript

Don't like the dynamic nature of the javascript

Saturday, January 31, 2015

A decade of unit testing - by Karl Sequin

Found by .net brew

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.
"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.

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

2. Applications

You got the delivery

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