Monday, November 05, 2012

Intellisense in VS2012 Express

I tried playing with the Visual Studio 2012 Expess for Windows 8, when I encountered thathe  Intellisense was off on my XAML window. It was on for C# though (I mean the code-behind).

All I had to do was to run the following at the VS command prompt:

devenv /resetsettings

And then just restart the Visual Studio. 

Friday, August 17, 2012

The new releases!

MS has released VS2012, Windows 8, and .NET 4.5 to MSDN subscribers! Time to grab them and get working!

Friday, June 01, 2012

Evening with Scott Hanselman


Disclaimer: If you are reading the post, and you are woking in ASP.NET, and if you do not know who Scott Hanselman is, then you have my sympathies. (Don't worry, living under a rock is sometimes more comfortable!)


As I had blogged earlier, I have learned quite a bit (maybe a little more) from Scott, all about ASP.NET. Not only ASP.NET, also about other things... When I started developing apps for Windows Phone, I wanted to develop Hansleminutes on it. For the ones living under the rock, Hanselminutes is Scott's weekly podcast. I got his blessings and set out to develop the app. The rest is history and the app is available for download in the marketplace.


I got the word from Andrew Schwam that Scott Hanselman was visiting Philly.Net UG. Well, should I miss it? I would be an idiot to do so! I registered for the event and there I was! yesterday, May 31st that is.


I reached P J Whelihan's in Blue Bell PA (around 2 hours drive from my place) where Philly dot net had arranged a social networking event. I got to meet lot of familiar faces and also some known figures in Philly dot net community.


I was in Montgomery College, at around 6:15 PM, but Scott was running late because of his flight delay in Chicago, due to the thunderstorm. He made it finally, and it all started. It was a delight seeing him in person, live. After seeing a ton of videos and demos of him presenting, I had got used to his speaking. But seeing him in person was something I could not explain in words.


After the session, I met him and introduced to him. And there it is, me standing with Scott.




Scott, thanks for coming down here.
Thanks to Philly.net for getting the show together. And Apprenda for sponsoring the event.

It all started here....

Inspired by Scott Hanselman's post :

She let me take the computer home. - How did you get started in computers and programming?



Rewind to 1985-1986.

I remember that day when my English teacher, Mr. Jaganathan, announcing the arrival of a computer in our school. That was during our 10th grade exams, and so we had no way of making time to go to the lab (which was setup in a different building) to see it.

I had read very little about computers back then. Just that they could do some marvellous things. Yeah, just that. And I was just eager to see it. Thats all.

My 10th grade exams got over (finally!), and my Dad enrolled me into a computer course, which was held by an institution located very near my house. It was a very basic course, and it was just to have fun with computers and to know them. The instructor introduced me to GW-BASIC. I could draw a house, a car, and what not, just by giving instructions to the computer. I was amazed by the experience. It went for some weeks and the course got over.

As computers were not part of the curriculum, I didn't pursue it further. But those days in the institute are crystal clear in my mind. I had so much fun, even when I did not know the inner workings of a computer program and logic and all...

Fast forward to 1992-1993. I was almost completing my bachelor's degree in Physics. Peer pressure  mounted to try Medicine (MBBS degree) and/or Engineering, both for which I was not interested. All I wanted to do was to write Civil Services and become a IPS (Indian Police Services) officer. My Dad had other plans. He convinced me to do higher studies in Computer Science (he said it was the future, which I am living it, thanks to him) and I got enrolled for MCA (Masters in Computer Applications) program in Bharathiar University.

I didn't exactly know what I was getting into. I was very much privileged and honored to have very supportive classmates, seniors and teachers (who became my very close friends). My senior friends advised me to spend the "free" times in the library and read all the computer related books I can. The first few tries were futile, as I did not understand a bit of what the articles in it were relating to. I still remember one of my senior friends and then mentor, Biju, telling me to continue spending my time in the library reading those books as it would make sense after a while. Wasn't that golden words?

It all started making sense, slowly. And the 'computer bug" got into me. The possibility of designing an idea and then implementing it, instantly, was very satisfying!

(Lesson learned here: Read all you can. Do not stop learning. You stop learning, and you are a dead mouse!)

While in college, I had done my summer internship in Tata Consultancy Services. It was for their product in Oracle 6.x. Once I finished my MCA course, I got into TCS as a full time employee. I spend 5 years in TCS. What a schooling it was! I learned quite a bit about Software Engineering those days, that I still apply to my day to day activities. But it is sad that most of the companies I worked for, are not at par with TCS's Software Engineering quality those days. I was in TCS when our home office got CMM Level 5 certification. That is when I learned that software engineering was more than just coding. This was 1998 my friends, many years ago, and most of you were on diapers :)

We have come a long way in engineering methodology and all, but, as I said before, I feel terrible when I see companies not giving the value to software engineering that we used to provide many many years ago in TCS.

Years passed by. I moved on. Different companies. Different projects. Different languages. Different architectures. My love of computing never died. And never will.



Words of Wisdom (:)):
Programming is an intellectual pursuit. If you don't think so, maybe we shouldn't talk to each other.

Sunday, May 06, 2012

Alphabets4Kids gets a face lift!


My most downloaded app, Alphabets4Kids, gets a new face lift. 

Its been one year since I started with Alphabets4kids, but it has remained the most downloaded app till now. The users have been asking for pictures and sound to be added. Due my busy schedule and work on my other apps, I did not find time to get those features in place. That's not an excuse, I know.

But now, I have:
1. Added a new entry page - more kid friendly and metro style
2. Added images and sound (thanks to my daughter Parvathy who was really patient with me on this. I had to negotiate a trip to McDonalds by the way!) with the alphabets.
3. Slide capability added on the Learn module, instead of clicking a button. It does add to the feel!

Now for coming updates, I am planning to add more alphabet related games for kids.

Those who have Windows Phone, please do download the latest update and let your kids have fun and learn.

Sunday, April 29, 2012

PATHWAY - A Gift to NJ-NY Commuters

My 10th Windows Phone app is out in marketplace.

PATHWAY.

Whenever I go to New York, I get this adrenaline pump! Yes, I love to stand amidst all those chaos in Times Square - and feel that energy. You will never get that anywhere else - only in NY. 

I always liked taking PATH, from and to New York, from New Jersey. When I was pondering over ideas for my 10th app, PATH was the first in my list.

So, this is a gift from me to all those NJ and NY travellers (and who carry the inevitable Windows Phone). Enjoy.

Download PATHWAY.


Thursday, April 26, 2012

Bit.ly to Back

I thought I would tweet about it But ney, I would just jot down here so that I could come back later and see. And may be it would be here for others also.

I get these bit.ly urls from tweets and in other sites. But I am not able to access those sites from work. There could be many others having this problem. I discovered this site http://knowurl.com/ which would convert the bit.ly url back to the original url.

How sweet.

Thursday, April 12, 2012

Dislike feature in Facebook?


No, I haven't found one! Not yet. :)

I get lot of posts on my Facebook, which I do not like, or which I do not agree with. If they would have said (said, as in spoken) those posts directly to me, then I would have argued with them. Yesterday I got this post ( I am not mentioning the post for anonymity sake) which I almost tempted to comment on it. Rather I was  searching for a dislike button. Where is the DISLIKE button? Oh, there is none. Bummer.
I did not want to  leave a comment, as it would have triggered another set of arguments, which I was not ready for.
Ha, maybe that is why there is no DISLIKE button.
Facebook is for making friends. Connecting people. And not for disliking each there. Lesson learned: If you do not like it, walk away! Yeah, in italics and in bold! Walk Away!
If there was a DISLIKE feature in Facebook, there would be more DISLIKES than LIKES. I bet. :)
Enough of that rant, let me post something ridiculous now. :) See ya!

Monday, April 02, 2012

HowManyThings - Tech Blabbing


The topic should have been: HowManyThings - What really excited me?
It's always fun to challenge yourselves in anything you do. That keeps you on your toes. I always challenge myself  by promising myself to use certain tools and features which I have never ever used. That makes the ride more interesting. For HowManyThings (it is relatively a smaller app), I used the following:
  • SQL CE (I had used it already on my GivenTaken and GivenTakenPro apps).
  • MVVM - I had used MVVM, not very heavily though, in other apps also. But this is the first time I implemented MVVM using MVVM Toolkit.  It was a fun ride, indeed.




Sunday, April 01, 2012

HowManyThings - A Windows Phone app

It's spring time, and its time for some cleaning. Eliminating unwanted items in your house and organising things that you would want and use often.

Have you ever wondered how many stuff is lying in (and around) your house? Well, yes, including those christmas lights! You might have started it, and pretty much meticulously. But when it comes to account for, you might realize that you couldn't find that piece of paper anywhere. And you start blaming your dog!

Enter HowManyThings! The app which helps in maintaining your inventory. Inventory of things in your home. Any thing.

Download it on your Windows Phone.  And send me your feedbacks.

Cheers!
Yours truly.

P.S: Some screenshots:



Friday, March 30, 2012

Windows 8 Developer Camp Update

I got a chance to visit Microsoft's office in Chevy Chase. MD, to attend the 2nd Windows 8 Developer Camp (in the country). And what a day it was. 


I started around 6:20 AM from my house in Mechanicsburg PA, planning to reach well before 8:30 AM, so that I could get a chance to meet the presenters in person. And also to network with other geeks. But the traffic at 270 S did hit me hard and I had to slow down. I reached around 9:10 AM... can you believe it?


Anyways, after getting a cup of (complimentary) coffee, I sat down to get the Windows 8 info into my brain.


There were two speakers - the famous Devhammer, none other than Mr. Andrew Duthie. And Frank. Frank La Vigne. They both are very enthusiastic and entertaining speakers. (Well, I got to sit near Frank when Andy was speaking and we had a nice discussion on Windows Phone and Windows 8.) Before starting on what topics were discussed, I would like to let all my geek friends know that I got to meet Jesse Liberty - yeah, the Jesse Liberty!!


Well, onto the topics of the day....


Windows 8 has two modes - Metro and Desktop. The Metro is the new mode which Microsoft has embraced as the new UI for its platforms. Metro UI is not stranger to Windows Phone fans. 


Windows 8 Platform




































As you see the above image  (boxography :)) of Windows 8 platforms, we have two kinds of apps - Metro style and  Desktop style. The new attention is to WinRT (Windows Runtime) library. WinRT is not a replacement of .NET. .NET still exists. It is used if you want to continue creating Desktop apps. The focus on the day was on Metro UI, and developing apps for Metro UI. And again and again, I heard Andrew Duthie speaking out that Metro is more geared towards Tablet kind of hardware. Mobile hardware, that is. Does that mean Desktop style apps would like as we have now? Seems so.


Andrew started talking about Contracts. Contracts are a new feature of sharing your app(s) with other apps. In fact, your app need not know about other apps. And other apps need not know about your app. If you feel that one (or more) of the feature in your app could be useful for other apps, then you could share that feature using Contracts. The type of Contracts:
  • Search Contracts
  • Share Contract
Search Contracts 
By using Search Contracts, you can make your app(s) listed when user searches for a specific keyword in the search charm. See below image for example. 














The user has searched on "Bing" keyword. All the apps displayed, have set up Search contracts with keyword "Bing".


Share Contracts 
You can make a part or a feature of your app share-able to other apps.


You can find more about Contracts here and here.

Snap Support
There is a feature in Windows 8 where in an app can be snapped (docked, that is) to one side, when you are working on another app. It's like Picture-in-Picture feature is some TVs. 


As you see above, the Stocks app is snapped on the left, while you are into other activities. You can define what kind of "view" of your app should be displayed when your app is "snapped". Cool eh?


Async
The async/await feature caught my attention. Using async/await feature, you could implement (code, that is) asynchronous calls as if you are coding synchronous ones. So cool. Code it to believe it. :)  The javascript equivalent of async/await is Promises. 


Content Vs. Chrome
They also stressed on concentrating on content than on chrome. It is so important that we should brainstorm on what content we need to deliver than on the design thingamajies (for lack of better word).  Thats the whole point of Metro. Content. Content. Content. Then a little chrome, if you may :)


WinRT
The beauty of WinRT is that there are no layers of libraries. No Win32 cover-ups.  No COM wrappers. Everything is baked into one plate - WinRT. Beauty!


Demos
Andrew Duthie was more of a HTML/Javascript guy, so he emphasized on HTML and Javascript are now a first class citizens on creating Windows 8 Metro apps. HTML-CSS3-Javascript gives compelling dynamics to create excellent apps, for sure. The demos were really great. 


Frank was more of a XAML/C# guy, and he showed some cool code in which we could leverage XAML and C# (also VB for that matter), in creating apps. This was more interesting to me, as I was already developing apps for Windows Phone and I could continue learning to producing apps for Windows 8 ecosystem.


Hands On


By 2:30 PM, we started with the hands-on lab. As I had already installed Windows 8 Consumer preview on Virtual Box and the Visual Studio 2011 Express Beta, I did not waste any time for it. I jumped on to hit the hands-on - the Recipes lab with XAML and C#. I had to stop in between as I had to start by 4 PM, to avoid the traffic.  Anyways, it was indeed a terrific day of infotainment. Thanks Frank and Andrew, for a wonderful day. And thanks Microsoft.


Stay tuned, for my Windows 8 Metro articles soon.

Friday, March 23, 2012

ListPicker

One of the finest controls in the Silverlight toolkit for Windows Phone 7, is the ListPicker control. But I had to struggle with it for a while. It was mainly because I didn't understand it quite well. Below you would find the 2 scenarios where I had to stumble:

1. SelectedItem should be set to a valid item.
That was the error I was getting no matter what I did to pacify the control. I googled (with Bing of course), and I found lot of ramblings on how buggy the control was and how this error never vanishes. This annoyed me. I gave up and wrote a query on Stackoverflow. The answers quite did not point the exact cause, but it gave me a direction to hunt. And there I was.... I had a property (which was of a reference type - in my case, instance of a Category class) in my ViewModel which bound to the SelectedItem of the ListPicker. But on that page, when I was loading the elements, I was trying to bind a "string" (CategoryName, in my case).


2. The selected item from the ListPicker does not get set when using FullMode. 
The difference between ExpansionAllowed and using a FullMode for displaying the ListPicker, is that after picking the item in FullMode, the page loads again. That is, any initializing that you might have executes. You need to preserve the selected item of ListPicker before you call the initializing and then reset the selected item once initializing is over.



Tuesday, March 13, 2012

TFS 2011 Express Beta download

I am a big proponent of using Source Control in our daily development. In my day job, we use Subversion. I had used TFS2010 earlier. It was the best source control/ALM software I had ever used. I should admit shamelessly that I don't have any source control for my Windows Phone development. You would think I am being modest. And some of you might ask why would I yearn for a source control when I am the only developer. That is a good point, but not a valid one.

Every developer should have source control. Period. No questions asked.

Then why would I not have one? Easy answer: Laziness!

I am at a point where I cannot more forward without having one. My colleague persuaded me to install Subversion. I also like it very much, as we had switched to it from being tired of VSS. I was all ready for it, when the news of TFS express version broke out. That caught my attention, and being an avid TFS fan, I decided to get it. The Beta is out and what was I waiting for.

Downloaded the TFS 2011 Express Beta from here.
It gives you two options: Web Install and ISO download. The web install is a trimmed down exe, which requires internet connection while installing TFS. ISO download is for if you need to burn to DVD and install it offline. I always prefer the ISO install.




The ISO file I downloaded had an issue - the SHA1 encryption did not match. So I had to download the web install. Again, I had an issue - my SQLServer Express was only SP1. It needed to be a SP2 or higher version. I downloaded that one too.

Then all the installation went smooth. There are lot of articles out there (Out There! Where? :) ) that explains the TFS 2011 express beta install step by step.

I opened up  VS2010 and connected to the TFS server I just created. I went on to create a new team project, but it cried out loud that I did not have permission to do so. (GRRRRR!!!!). That got me perplexed. I rechecked the security/group permission properties in TFS and all was all.

Back to Google with Bing!

After a while, I found that I needed VS2011 Team Explorer Express Beta to create a team project in TFS2011 Express Beta. Well, the error message was not that helpful - some copy/paste ignorance I think :)
(Read this: http://berxpert.wordpress.com/2012/03/02/connect-vs2010-to-tfs-11-express/)

Anyways, on to install the Team Explorer 2011 Express.

After creating the team project, I was able to connect to TFS and check in all my code through VS1010.

Whew!

All's well that ends  well.

I am on to gather all my WP7 projects and check them in. (And not to forget creating back ups).

Thursday, March 08, 2012

TwoWay binding issue while using ApplicationBar Icon

Just after my encounter with ApplicationBar Icons and RelayCommands, I faced another issue with two-way binding of a textbox. I had 3 textboxes in the page and 2 of them where binding properly. One of them was misbehaving. It was not misspelt (I checked that many times - I even rewrote the property and the binding element.) for sure. What could that be? After hours of head-scratching, I ventured into bing hunting! Google with Bing, as Scott Hansleman puts it.

It seems it is a problem with ApplicationBar button. No, not again!

OK, I have to be ready for it, it seems, as any elements in the ApplicatioBar is not a proper element. So don't expect a normal behavior. :)

So, the story is that binding would not work on the textbox on which the focus is on when pressing the button in the Application Bar. So, we have to manually (programmatically, I mean) bind it. Code Behind? Yes.

Laurent has a workaround in this article. It works (of course!), but it needs the textbox to be named. I found some other workaround while googling with bing.

And guess what, everything works like a charm. As they say, all's well that ends well! :)

Using AppBar Buttons with MVVMLight

On pondering over MVVMLight for a while, I decided to take it on for my new Windows Phone 7. It was very informative watching and reading Laurent Bugnion and Jesse Liberty's blogs and  videos. The one that helped me get started was The Full Stack series from Jesse, John Galoway and John Papa. Just search for "The Full Stack" in the Channel 9 web site.

I created an data entry screen, and a Save button in the Application Bar. On I went to create a RelayCommand to execute my method for saving the data. When I went to Blend, I couldn't drag-drop EventToCommand bahavior to the Save button. You should have seen me - just scratching my hair and looking confused. No, I wouldn't want you to see that face of mine anytime :)

What did I do wrong?

Well, I figured out that I was not doing anything wrong, but I was expecting a wrong thing. The EventToCommand could be used only with a FrameworkElement type. And ApplicationBar items are not. That made sense. So what do I do? How do I achieve this without writing code behind?

Well, as Laurent says in his blog, the MVVMLight cops are not going to catch me if I use code behind when using MVVMLight. So, on I went to write the code behind to execute my RelayCommand from my code behind! The only thing is that my dreams of not writing code behind has been shattered! Just Kidding!

Time to get back to my app. See Ya!

If any one is having trouble finding out a work around, and cannot solve the issue even after reading my blog, just email me - rajeevg[dot]nair[at]gmail.com. I will be glad to help you out.

Friday, February 10, 2012

I am a Windows Phone 7 Fan!


Needless to say, I am a Windows Phone 7 Fan!  What more could I shout loud to say that than show you the live feel of Windows Phone on my blog post! :)

Windows Phone Update - BITS failure

Yesterday I had this popup on my new Nokia Lumia 800 for a phone update. I connected it my laptop and up came the Zune. I went through the wizard for the update, and but lo, the update failed.

























The error conveyed that the failure was due to a problem with BITS. For the newbies, BITS stands for Background Intelligent Transfer Service. This is the piece of service which helps the automatic Windows Updates to happen.

Anyways, the error notification was helpful in spitting out a code - 8018119C.

I had some trouble finding out the cause and a remedy. In my hunting, I found this link: http://support.microsoft.com/kb/2484484#8018119C.

According to this site, I had to clear the logs created by the BITS service. So all I had to do was to kick on the console and execute the following command:

c:\bitsadmin /reset


This clears all the logs created. 


I then re-plugged the phone and the update started. 

Monday, January 23, 2012

GivenTakenPro

I have around 7 apps as of now, all FREE. I have always thought about releasing a paid app. That thought bothered me sporadically over the period, when I was doing MilesCalc. But I decided to make to FREE. Then came GivenTaken. And then I pushed it more to include Live Tiles and Reminder feature. And added a $0.99 price tag to it, making it another app GivenTakenPro.  Just wanted to see how bad the additional features are needed.

So, here is GivenTakenPro, available in marketplace, only for $0.99. Please download and enjoy - http://www.windowsphone.com/en-US/apps/0242c4c0-3b7f-4160-9175-0c0017592d88.

I have started using it, and it has changed my circumstances. It will to you too.

Sunday, January 15, 2012

GivenTaken update

A slight change of plan. I apologise for any confusion caused to the users.

All my apps till now were free. Yes, free as in beer! :)

I thought of placing a "pro" version of GivenTaken for a mere $0.99.

We have now two versions of GivenTaken:

GivenTaken - free
GivenTakenPro - $0.99.

Thursday, January 05, 2012

SQL SERVER 2012

Do you want to know more about SQL Server 2012?

Come in and enjoy an evening with Kevin Goff, who would go over the features and capabilities of SQL Server 2012.

When: January 17th, Tuesday 2012. 5:30 to 7:30 PM.
Where: Computer Aid Inc office, Harrisburg PA.