Showing posts with label General. Show all posts
Showing posts with label General. Show all posts

Friday, April 20, 2012

GIDS.Net –Where Microsoft Focuses Next?

This blog post will provide general details on things which I newly learnt @ the great Indian developer summit held at Bangalore on 4/17/2012.

I attended the following sessions

· Windows reimagined by Harish Vaidyanathan and Rajasekharan Vengalil – focused session on Windows 8.

· Put Web identity to work in your application by Mike Benkovich – session on using access control services

· How frameworks can kill your projects & patterns to prevent getting killed by Sander Hoogendoorn – session on what to do and what not to on implementing the chosen frameworks.

· The Windows 8 platform for metro style Apps by Ramaprasanna Chellamuthu – session on how to leverage metro style apps.

· SQL Server 2012 for Developers by Amit Bansal – session on new features in SQL Server 2012.

· Building Metro Style Apps with XAML: What .Net developers need to Know by Ramaprasanna Chellamuthu – Introductory session on how to create metro style Apps with familiar XAML features and concepts.

· Windows 8 and Cloud Computing – Notification & Identity by Mike Benkovich – session on notifications in metro style apps using Azure.

Based on these sessions, it is obvious that the Microsoft focusses on Windows 8 Metro style apps, Cloud services (Azure and SQL Azure) and SQL Server 2012.

Windows reimagined by Harish Vaidyanathan and Rajasekharan Vengalil

Both Harish and Rajasekharan demonstrated the new Windows 8 operating system and the market opportunity for developers. IMO, It’s never been this better, Fluid UI Start menu - which is clean and unique other than that the rest is Windows 7. Windows 8 is a switchable OS common to both tablet and PC. Metro style app menu is a next gen user interface which has live tiles for clear cut notifications on what happens in the app at the background. Ex. Contacts app - live tiles can display the instant updates of images of your social contacts as like in Windows phone 7.

Put Web identity to work in your application by Mike Benkovich

Mike demonstrated on how to use third party access control service providers like Facebook, Yahoo, and live ID into your cloud application. All you need for that is an active Azure subscription, next add an ACS service namespace, and then add a secure token service (STS) reference to your application.

How frameworks can kill your projects & patterns to prevent getting killed by Sander Hoogendoorn

Sander demonstrated on how to implement code independent of framework choices. He presented models of layered architectures, and looks at applying bridge patterns, managers-providers, dependency injection, descriptors and layer super-types followed by bad code examples using blocks from MS enterprise library, NHibernate, Log4Net and the entity framework.

The Windows 8 platform for metro style Apps by Ramaprasanna Chellamuthu

Ramaprasanna demonstrated on how to leverage metro style apps development. This is an introductory session over the architecture of building windows 8 platform. He introduced the platform design tenets, programming language choices and the integration points with the operating system and across metro style apps.

SQL Server 2012 for Developers by Amit Bansal

Amit demonstrated the new features of SQL server 2012 with demo codes. Some of the new features help the developer to code less and some with additional performance improvements. Nevertheless session is a walk through over the capabilities of SQL Server 2012.

Building Metro Style Apps with XAML: What .Net developers need to Know by Ramaprasanna Chellamuthu –

Again Ramaprasanna took a session on Metro style Apps. This time he focused on how to create App with XAML skills learnt with .Net. He covered the features and concepts that are new for Windows 8.

Windows 8 and Cloud Computing – Notification & Identity by Mike Benkovich

Mike demonstrated how to deliver notifications in metro style apps (notification enabled services) using Windows Azure. He talked about live tiles and how to interact with users through the use of toast, tile, badge and raw notifications. The process involves is that the client app developer registers the app with windows push notification service (WNS) , then requests a channel to be notified on. It sends the channel to its cloud partner who persist the channel and then uses that to send notifications through WNS to the client. This result in a very rich interactive experience.

You can download windows azure toolkit for windows 8 in below link.

http://watwindows8.codeplex.com/

You can find the details on the session in below link.

http://www.developermarch.com/developersummit/schedule.html

Thursday, April 19, 2012

Detective vs. Software Engineer…

This blog post in not about comparing detective with a software engineer as might be the topic sounds. But it is all about how to add a light side (role play) to your work and how to make your work with little adventurous and of course with little fun.

TRY

{

As of any story of a detective, you need to have a villain. For a software engineer, it's an issue. Small or big the problem it is, the fix is always inversely proportional. IMO, it is always required less code changes to fix a big and complex issue.

For any detective, it is fact he cannot ignore a small clue or details about the crime. He finds the clues & odd things in ignored area and finds the connections and put the things together to understand anything and everything related to crime.

For a Software engineer, it is fact that he need to understand the base of the issue.

  1. Why the issues happen in the first place?
  2. What's the reason for the issue?
  3. What's the problem in existing implementation?
  4. What's the expected outcome?
  5. What's the specification says and what's the implementation does?
  6. Are we handled the case in the right way?

These numerous inquisitive queries are part of finding the clues in every issues worked by Software engineer.

Yes we are more than a detective, a detective evidence are all physical, he can put things by seeing them but as a software engineer, we need to move beyond what we can perceive because we need to visualize the things in our mind, putting clues together and finding the facts and imagining the expected outcome and go for it. We are tougher in a way and we need to be more analytical.

}

CATCH

{

Once we find the cause, next step is implementing the fix. The easiest part in any issue fixing process but dangerous too. If any mistake is done it will affect the entire product.

For a detective, he will devise plans and strategies to trap the target villain. Likewise we as a software engineer go for implementation after careful analyzing and understanding the base of the issue.

Detective will follow standard protocols for trap we follow standard coding guidelines for the fix.

Consider now the implementation is done and we are in testing phase/ trapping for possible outcomes to ensure the fix.

Writing test case is more important than implementing the fix for the issue. After careful preparation in collecting evidence and setting traps, without catching villain and allowing him to escape is totally void and entire work of the detective is lost and wasted. Well, this is equivalent to implementing the fix and without proper testing (Test cases) allowing the loopholes in the fix for nurturing future issues.

IMO, test cases allows us to cement the potholes occurring in the fix.

}

FINALLY

{

No matter what, the end result (ensuring the fix) is always an achievement for any software engineer in the life cycle of issue fixing. When we reach this stage we do always have proudness in our fix and its natural instincts to wanting more of this.

No matter how tougher the issue is, have a lighter side of it and command the issue and don't get succumb to pressure. Hope such approach helps you. Happy fixing:)

}