Tuesday, April 22, 2014

Smart Replenishment Concept

I watched Steve jobs presentation on introducing iPhone for the very first time to the world. One of the key message he mentioned there was, "iPhone is 5 years ahead of the fellow smartphone herd" Which is a dashing statement, but it was completely true, at least the day when he first said it. 

Real innovation is not about doing something little what is already existing. Great innovation takes a product way ahead of similar products in market, & the True innovation is all about bringing something to life that never existed before. Which many times require the ability to predict things that are bound to happen quite soon. 

Please continue reading here on SRS page :

Visual Studio 2013 Crashes during installation or start up ! (Dealing with Windows 8.1 on machines with dedicated graphics)

Dealing with Windows 8.1 on machines with dedicated graphics

If you are going to install Windows 8.1 on machines that you bought with Windows 8.0 as OEM OS, for sure you are going to have a lot of crash issues. 


Visual Studio 2013 Crashes during installation but does not crash, if you say, "Run with graphics processor >> "High-performance NVIDIA processor"  ( I have NVIDIA Geforce GT-750 external graphic & Intel HD 4600 on board), it would run smoothly. 

If you open any graphic related Apps, i.e Power point, again the App crashes randomly when you slide through the power point slides.  When you open power point like above , it runs smoothly but still crashes sporadically. 

I was fiddling with all these issues for a couple of days, then it struck to me, I'm running Windows 8.1 and the drivers are all for Windows 8.0 .  You must update all the drivers to W8.1 ones. 
if you are busy, at least we should update the Graphic drivers. 

For intel chipsets :

For Nvidia:


And the best recommendation is to search the same in your OEM vendor page. The maker of your PC/Notebook.

For lenovo, it's here:


Once the drivers are updated, Visual Studio 2013 is going to run totally smooth!

Picking up your dev machine right for Apps development

One of the MUST have feature for App development is ability to run emulators.  For windows Phone development , I picked up good a Core 2 duo machine with 8 gig RAM, but after setting up the PC spending several hours installing all frameworks, & IDEs,  When I tried to run a sample Application, it popped up a dialog saying my PC does not support visualization. 

There's a list of processors that support virtualization that is required for Windows Phone development (Or any virtualization needs)

To know more WHY other processor do not support it, learn about SLAT.

Now, on a 4th Gen Core i-7 machine, everything is there, I have windows 8.1 installed, but still it popped up a message :

(Log into BIOS by using your PC's standard way of intercepting the boot screen.  It depends on the machine you use, some use DEL key , some use function keys , etc.,  For Lenovo machines, mostly they have  NOVO button somewhere around the machine. Pressing it would take you into BIOS screen)

Just spot the configuration tab and 

Enable the Intel Virtual Technology option.  & reboot the PC after saving the changes. 

Monday, January 27, 2014

A very cool tip on Powerpoint - set transparency for graphics

Many times when we prepare slides using power point, we'd be in need to place an image with transparency supported , mostly to make it go well with the background color. If the background color is white, we wouldn't be a problem even if the image did not support transparency.  But if the background color of the slide (PowerPoint) is not white, we cannot fit in the image that comes with a white big.  Often when we pick a graphic from the web, it comes like that. To correct this image's background, I would usually open Adobe photoshop CS2 and manually remove the white colors inside the image and make it transparent and save it as PNG file.  I've it pretty time consuming. Anyway the cool feature that comes with Office 2010, is "set transparent" for any color.

Shown below:

Happy powa pointing!

Saturday, January 18, 2014

Some tips @ desktop

1.No big-shots on the lobby.  

Okay find the odd men out here from the list

Though I frequently use all these tools, I decided not to keep these odd heavy men!

What happens, when you mistakenly click on these icons (Photoshop, Android Studio, Visual Studio). It takes an eternity to get them closed. I always wished for a "cancel" option on the splash screens of the apps. The idea is just catching up. You could see this in MS Outlook email client. 

So the message is, "Don't keep bulky Apps shortcut on the taskbar no matter how frequently you use them."

2.Re-positioning the icons on Windows 8 home screen

3.Clean up the icons & have shortcuts 

4.Desktop Background - the one that tiers eyes

5.Monitor contrast.

Thursday, January 16, 2014

My bet on this horse seems to be working really well! Lumia 520 keeps it up!

This stat is taken from Flipkart.com.Check here as on 17/01/2014

Just compare it with the snap shot I took last year:

5 Ratings 1548 to 2752
2 Ratings 152 to 224

Cool cache of tech resources at Intel Noggin (noggin.intel.com)

I could see a lot of good reads at noggin.intel.com 
Just register and get your own sample contents. You can even buy the books from there.

Monday, November 4, 2013

Lumia 520 starting make noise!

The real proof that a technology or a product is becoming successful is to see it in action with people around you. Windows Phone remained a buzz word for so many years now, It started to show up some seriousness after WP8 came into the picture. There were some serious marketing errors both from MS & Nokia trying to push WP7 Phones on par with Android and iOS. The costs of early Lumia 610, 710, 800 etc where really hostile. But things are starting to change after Nokia released low end Lumia devices like the 520s The true disciples of Nokia that had to go after the green robot once because of lack of quality options from nokia on the sub 10K level , are returning back! Now I'm seeing so many of my friends holding a Nokia 520! And I just wish Nokia/MS focus on the sub 10K model to slice a better share into the Smart Phone market share. Just some reference of Lumia 520 gaining popularity.


GSM Arena

Sunday, August 11, 2013

Yahoo eats up my todo lists

Weeks back there was a gossip - "Yahoo is taking over my favorite ToDo-er App, Astrid". I've been using Astrid for some months and I'm okay with it. I can't say it's the best App for a todo, but it looked better than the rest of the ToDo Apps in the marketplace.  The synching options with Gtasks and a bunch of useful  settings impresses me a bit.  

My several months of Astrid usage left me with a long streak of To-Do items. As I AM always for a “good” procrastination, the list gets usually long even with a couple of weeks usage. When I heard Yahoo is taking over this App, I didn't bother much as the companies keep eating up companies for centuries. Did we bother when Microsoft took over Hotmail? Or did we bother when Microsoft took over Skype? All that changes were only for good, mostly! The taken over App would let you sign in with your live account! No disturbances usually. 

But the message I'm getting on my Astrid App is very disappointing. It asks me to take backup and forget using this App deliberately.

Is Yahoo really sane? Why would it pay so much money to buy a massive bunch of curses? Yup Astrid boasts a massive user base and that's the primary reason how Yahoo sniffed it out. May be Yahoo has a lot of good intention to add more features and paint it Magenta but this disgraceful switch over is a real turn off and I would jump to another pond of todo-ers.

Friday, August 2, 2013

Release file handles in Windows

It's really sad if the message box like says "Error Deleting File . "The process cannot access the file because it is being used by another process".  This doesn't let us know which is the "Another process". We might have opened dozens of Applications to work on a file., It's really difficult to spot the process the message box is talking about.

To solve this , yes we can dig deep and release the handles by ourselves. If you want to know how release file handles, try sysinteranls tool - process explorer ! http://technet.microsoft.com/en-US/sysinternals

Thursday, August 1, 2013

Why I'd feel Microsoft shouldn’t die off - IMHO!

So many people do like MS but most of them shy away when it comes to accepting it.  May be accepting it might have made them feel like Ricky Martin admitting his “other” side J. When I observe people around me, they keep flaming MS though they have an inherent liking towards most of its products.  They dwell on windows and all of their office works are done through MS office.  They have no complaints on whatever they use from MS, but still you can never see them supporting MS anywhere. Now getting worse, they expect companies like Apple to pick up and see MS drown down.

I really don’t understand why someone around me should cheer at Windows 8 not making a splash.
Or make merry over the nose dive of PC sales figures on charts. I do not understand their WILL. Do they feel cheering for a company like Apple is a real fancy?  I’m not trying to create fan page here.  But just some thoughts on why I feel Microsoft shouldn’t really die off.

(This is purely my own opinions, in case if you are a kid that grew up over Linux / Mac , this do not apply)

In my town, At a time when nobody knew a pc might look like, My neighbor, who was a tutor in a school, took me to his computer lab to let me have a look at a bunch of MS DOS machines they newly bought in.  When I touched a key on a keyboard for the first time, it always like Neil Armstrong’s moon moment.  Without any sign of tiredness, I spent the entire day hopping over all the keys answering the PC with hundreds of illogical answers for a single question “Bad Command Or File name”.  I slowly picked up with MS DOS commands and got comfortable with the PC.   I survived so many weeks with the PC just with two commands C:\CD GAMES , DIR   J .  Games like Galaxian, Price of Persia, Pac man truly stirred my spirits on. 

When I first saw my teacher logging into a folder called “GWBASIC”.  I asked him what the game was about. At first I didn’t like to watch anything he did from that folder. The line numbers on the screens left was a turn off.  Few days of my PC experience with GWBASIC was “low” until my tutor displayed a code that splashed a colorful circle on the screen.  That was the first time I got my interest tuned into programing.  “Man you can draw on this dark screen!” moment J

Colors, interests me quite, Anywhere it be.

The Graphics.h on Turbo C++ is a mark of a milestone. I started spending more time with the PC and started to believe I can survive with this if I develop a skill over.  I tried out little games with C and was quite happy with the accomplishments.

From then on, it was all a colorful journey all the way. When Windows 95 landed on a Pentium mmx machine in my neighbors living room. It was a beginning of an Era!   The belief I could become a developer got even stronger when I saw people developing professional apps like cakes using VB6.  I started trying out Apps with real UI using VB6.

I should never flame VB like everybody else do, because   it was yet another important tool that drove me deep into programming.
When I got a grasp of what VC++ really could,   I started exploring Win32 APIs one by one. I was amazed to see a lot of wonders. 

And that was the time when my dad okayed a decade old request – to buy our own PC. An assembled Pentium-III 450 mhz landed in my room with a splash Win98 boot screen.  (Man, What a moment!)I had a go with the CD rom installing so many development tools that helped me build a lot of home made tools.  These efforts helped me fill my CV with a decent content when I completed my college studies.  I joined a company as a Microsoft developer. I had to work with both VC++ and Dotnet. What a journey it has been with Microsoft. Now I have a decent job which pays me enough to lead a good life with my family. Not just that, it is a real treat to work with MS dev tools for the requirement I have at work.  It certainly gives me immense pleasure to watch MS read out new products announcements. And I wish them a big success in every possible way. 

This experience I shared would be quite similar to so many millions of developers in India. I’m sure most of them are, where they are now only because MS pioneering its way into their homes and offices so early.
When MS do something crazy (like Windows ME to name), Even I do frown but there is no reason why I wish them a bad future from my heart.  And start flaming them wherever I see.

In my humble opinion, one must have the heart not to kick the ladder down after climbing to the top through. 

Using External Fonts on Windows Phone Apps.

External fonts are quite important to make Apps look attractive.  It helps to reduce overload of graphic files. For example, if external font can't be imported into your application, then the developers turn to graphic designers to design a caption, or header text and use them as Jpeg or png image. To some extent, this can help in static requirement like a caption or header text of a screen.

But what if it’s a dynamic text? For example, a score board for a game. The score figure is dynamic. If the boss insists to go with a better design for the board and if the system has a limited set of fonts, We end up recreating the complete set of numbers and manipulate the display using code. All these are painful process. Moreover it's always cool to have open options. As the font set in Mobile phones would be very limited, We are in great need to look out for 3rd Party fonts.

Windows Phone supports 3rd Party / External fonts for us. It's breeze to pull them up into our App. As I'm saying this, I'm sure someone might be screaming "External fonts don’t work in Windows Phone app".  Anybody who’s trying to use external fonts must take note of the below points.

1.   Font linking Syntax – Watch out.

        1.1. Choosing from inbuilt fonts
        1.2. External fonts at the root folder
        1.3. Points summary

2.   Font Names – Getting it right.

3.   File settings for build time – two things to watch out.

4.   Setting the font from code behind

5.   Annexure:   A wish list to MS. :)

1.Fonts Syntax

1.1 Choosing from inbuilt fonts

If you want to use a built-in font from the Windows Phone, the syntax is very straight forward. We just need to add something like:  FontFamily="Comic Sans MS" for the object you wish to change the font.

<TextBlock Name="txtName" FontSize="25" Text="FOXRUNS" FontFamily="Comic Sans MS" />

1.2 External fontsv
If it’s to link a 3rd party font, it’s a bit different, Follow the screen shot:

1.Create a new folder

2.Add an existing item

3.Select the font

4.Test our new font - create two text controls - a TextBlock and a TextBox

Once you are done with the import,  add the following line :
In the sample , I created a folder called “Font” and I’ve imported the font into it. To link to a resource inside a subfolder, we need to write like below (“/Font/Cookie.ttf#Cookies”)

<TextBlock Name="txtName1" Margin="9,35,15,35"
                     FontSize="35" Text="FOXRUNS"
                   FontFamily="/Font/Cookies.ttf#Cookies"   />

1.3 At the root folder:

If the external font file is at the root folder, put it this way:
<TextBlock Name="txtName1" Margin="9,35,15,35"
                     FontSize="35" Text="FOXRUNS"
                  FontFamily="Cookies.ttf#Cookies"     />

Another way to address any resource in the project :


In our case, for the cookie font inside the root folder, it becomes:


So you can write in both formats: 


Both mean the same.

1.4 Inside a sub folder:

If the font resides in a sub folder, the path changes as below:

FontFamily= "/FontsTestApp;component/Font/Cookies.ttf#Cookies"

Or simply,

FontFamily= "/Font/Cookies.ttf#Cookies";

Just a note, in case if you had placed your XAML inside a project sub folder, you need to prefix a “..” to the resource path.  It’s the same directory convention as we have in DOS / Windows. ".." directs the control to comes out first then go in to the target folder.


One strange observation is that if you use the above syntax even when the XAML file is still in the root folder, the font continues to work but only at run time. The  XAML designer doesn’t detect our “..” mistake. But the runtime ignores this and picks up from the right path.

When you do this mistake, you won't be able to achieve what is shown below at design time. (The below doesn't use any .. as the XAML is in the root folder)

1.4 Points Summary

When the .ttf font file is in the root folder, works fine in Design and Runtime.
Same as above.

When the .ttf font file is in the sub folder “font”. Works fine in Design and Runtime.

When the XAML file which uses the font resides in another subfolder. Works fine in Design and Runtime.
If the XAML file is in the root folder, the font gets applied only at runtime not at design time.

2. Font Names – Getting it right.

Font , as a resource it’s a bit different from other resource files , i.e Image , sound and any other files. To apply a font correctly , just the file name is not enough.  Moreover, The file name is not the font name.  The file name is used only to locate the resource correctly. To pick up the font style correctly, we need to suffix a # the file name and append the font name.
How to get the font name? Just double click on the font and it opens up like,

In the above example, the font file name was BSFBD to mean (Berlin Sans FB Demi). So the syntax would become:

FontFamily="../Fonts/BSFBD.ttf#Berlin Sans FB Demi";

We should not fiddle with the font name trying to remove the blank spaces. Though they care case insensitive, they are still blank-space sensitive. The name must exactly reflect the way it got displayed when you opened the font file in the explorer.

Fiddling with the Font name is allowed though. You can rename the physical font file. For example you can rename BSFBD.ttf to B_S_F_B_D.ttf. it will still work.

 3. File settings for build time behavior

Just two things to mind here:

Whenever you modify the font name and place it on some other directory, make sure the above two highlighted settings are set. Then quickly rebuild the project once as it helps to refresh the XAML designer making it apply the font changes swiftly.

 4.Setting the font from Code behind

Setting the font family from code behind is as simple as done at design time :

txtBox.FontFamily = new FontFamily("/Fonts/Cookies.ttf#Cookies");
        txtBlock.FontFamily = new FontFamily("Cookies.ttf#Cookies");

I would explore the behaviors in Windows Phone 8 and update this article soon.

5.Wish-list to Microsoft

1.       Fonts must be browse-able
Like any other resource if they’ve been imported into the solution. To set an image file for an image object, it’s totally easy. We just browse and select the right image file.

2.       Auto Read font name:
IDE must auto read the font name from the font file.

We should be able to apply external fonts with the same ease as we deal with images in the IDE.  Happy fonting!

Wednesday, July 31, 2013

Great UX must be a discovery, not invention.

Almost every company in the world shells out millions of bucks in designing great products with high user experience. Right from your mobile phones, TV remote, to even the handle of your refrigerator, everywhere so much thought have been applied before moulding something into a _usable_ product.
Any product with a poor UX , let it be a software or a hardware would never make its way out of the show room shelf.  A product with a decent UI sells by itself without little need for marketing. After all human words spread out faster than a marketing SMS. Don't they?

What I observed here,

Companies that tries hard to "invent" UX land up in poor product design.
Companies that tries to "discover" UX that the human mind already has mapped for every operable part in the body, they come up with great product design.

In simpler words just image a mould made out of your hand grip of clay.  And another mould that is arificually desinged to suit fit into your hand.  The former adapts to what is there already - no inventions needed. But the latter tries hard to track the shape of our fingers and try to invent something new to suit them obviously failing to achieve a natural cut that is required to impresses a human hand.

UX desingers should impart this thought into their minds - whenever they sit do design something. Never invent, just discover. ^^

Tuesday, July 30, 2013

Shouldn't we think about an open windows?

When it comes to Government projects,  people want only open systems. For example an embedded controller for a key communication module for the armed forces. Who would like to go for a system that is not transparent enough to see what gets transported inside? Of course it must be secured from public eyes, but the internal OS kernel code and communication protocol implementation must be explorable to the product owners, in this case it's the DRDO.  DRDO systems clearly opt only for Linux based controllers for their embedded systems. MS cannot afford to open up their core business like Windows OS. But a tiny stream of open source OS for common purpose would be really cool!

Indian Government pays tons of cash stacks for projects, that people drag for decades.  We can name so many cases. Even the country's own Flight Tejas is yet to take off confidently even after getting support from Israel and Russia. The point is , Governments are ready to spend millions for projects so they don't care what a vendor bills.  All the want is transparency. If companies like MS do not have an open source framework to address this, no matter how much they influence the customer. It's not going to work.

A thought about OWinCE is certainly interesting!  

static variables inside function scope in C#

Static variables are strong!

C# doesn't allow you to declare static variables inside a function scope. People from C/C++ background would find it strange but this implementation makes real sense.  In fact, C/C++ shouldn't have allowed it in the first place.
It gives a false idea about the variables scope.  As it looks like a stack variable, developers mainly beginners who do not know the intrinsics of "static" storage assume it gets cleared off the stack when the control goes out of the functions scope. 

in C/C++,  you can throw open a function like below in a .c/cpp file.

public void testFunction()
{   static int i =0;  //Allowed in C/C++   

in C#, only the below is possible

class Test
static int i=0; //Possible
public void testFunction() 
static int x =0; // this is not possible

Good work C#!