Wednesday, April 23, 2014

How many times you've noticed i18n/L10n understood and skipped without looking further ?

Working on Internationalization for an application is not something we do everyday, or rather worry that much. When ever we get the requirement, we check on how to apply it to our applications on the specific technology stack we are currently working on and proceed with the best approach. The two words we come across on this are mainly i18n and L10n. But have you ever wondered why would we use these words.

Here's a quick tip and little more details for the curious one.

Monday, November 18, 2013

Microsoft taking control of Skype

Starting from few weeks back I have been getting a warning message when my Skype extension client application getting started. And i got to know the bad news, when I checked what it is all about, that Microsoft has decided to close down the nice little gem came with Skype Desktop client, the Desktop API.

What microsoft calims is that it's for the tehcnology advancement, but a real question raises whether a technology advancement should be dropping features, whether there's a point if an advancement makes such limitations.

It seems community has taken steps to atleast try correcting this, and seems to have resulted somewhat in the favour of the Desktop API features, Chat still going away, call recording and device compatibility to stay for now.

So all in all, this may be the end of a lot of innovative ideas and missing peices not provided by Skype itself. Including my own tool that I used to love using, SkypePop - Skype Notifications Enhanced.

Personally I hate seing skype messages come in with the Skpe highligthed on the taskbar, not knowing the message until I have to do several clicks to see what the message is. So my extension client was helping me to respond with the minimum effort while working on something else. So it seems I'll be remembering Microsoft for applying this restriction everytime I have to do these extra clicks to read a Skype message starting from December 2013.

Wednesday, February 20, 2013

Slow Cheetah to the rescue in .Net application deployments

Managing deployments of .Net components into different environments is not going to be that easy if we are going to rely on manual editing of config files after deployment. Web.config Transformations is an official feature to support this but it's lacking the support for other .Net project types as well as it's not that a developer friendly mechanism.

Recently when I was looking to use config transformations to manage publishing .Net components into different environments (to avoiding the possible mistakes in manual config editing), this nice extension came up  on the search results, which was a life saver with its support for other project types as well as the nice "Preview" feature.

SlowCheetah - XML Transforms

Friday, December 14, 2012

Avoid developers miss using ASP.Net Session

ASP.Net is a powerfull framwork and also it is one of the best in terms of developer friendliness. It has been identified as such developer friendly because of the set of features which are readily available to the developer. Out of the vast collection of such features ASP.Net Session should be one of the leading features that's being miss-used by the developers. Even though the feature is there, one of the guide lines I follow and mentor others to follow is strctly restrict on using the Session object in ASP.Net. Rules of thumb for using a Session variable should be, to ask your self whether it doesn't change through out a users's web session (the variable that you are going to use). If the asnwer is yes it is a better candidate to use as a Session variable, but if not you'll have to seriaously re-consider.

It's not just us miss using the ASP.Net,  even Microsoft too miss use it (although they woud have reason to explain). Here's a post of mine related to one such situation, SQL Server Reporting Services using "our" Session state.

That being said, one of the way's to better manage the ASP.Net Session in a project is to access ASP.Net Session using a facade or an adapter pattern. Here is a nice article on the facade pattern usage for it. Even if we follow this type of a facade pattern to access ASP.Net Session, yet some developpers tend to avoid it and directly access it through the ASP.Net Page classes Session property, and work with magic strings and all sort of bad things. Looking for a simple solution for this lead me to below workarround just to avoid using Session property directly in ASP.Net Pages. I know this is not purly inline with Liskov substitution principle, no stricly avoid usage at compile time, but serves the purpose through the use of a PageBase.


Saturday, October 6, 2012

ReviewPal available on Visual Studio 2012 !

It's been months, the Visual Stuio 2012 release was out. But I couldn't get my hands on to it with the busy line of work.

People out there have not only started playing around with it, but have started to really use it with all their plug-ins, extensions. As with everyone, no one want's to leave their dev toys when moving into a new version of the beloved developer IDE, and I'm glad to hear from a few out there asking whether my Visual Stuio exteion on MSDN Gallery, ReviewPal supports the new version of Visual Stuio  and if not when would it be available.

So I had to put some time over the last weekend to make them happy (aka being happy by making others happy), which lead me to play around with the new Visual Studio version too (not to mention how cool the new version of Visual Studio is).The end result, ReviewPal is ready for Visual Studio 2012 in a few hours.

ReviewPal 2012

What's new

  1. Upgrade for Visual Studio 2012.
  2. Fixes for items reported in CodePlex Issue Tracker.
  3. Updates to set more appropriate default values.

Please leave your feedback on MSDN Gallary and I would get back to your requests soon.