CircuitCity short-circuited
I just came to know about this... very very sad :(
http://www.circuitcity.com/closed.html
My personal blog... mostly technical posts and few things about me....
I just came to know about this... very very sad :(
http://www.circuitcity.com/closed.html
Posted by
Chinmay
at
Saturday, January 17, 2009
0
comments
Labels: News
Posted by
Chinmay
at
Wednesday, December 24, 2008
0
comments
Posted by
Chinmay
at
Wednesday, December 24, 2008
0
comments
Labels: Google
This morning when I came to office, I had a set of tasks which needed to be completed ASAP. My current engagement requires me to work on customer server via RDP. Now RDP has an interesting behavior, in certain cases if the server has a limited resources, it will simply refuse to allow RDP access. And unfortunately, it happened to me today. One of my colleague ran a time-consuming, resource-hungry custom code over the weekend so we can work smoothly during the weekdays, however the application could not complete its work during the weekend and was still running and consuming whatever resources were available and in turn caused a DoS (Denial Of Service). I thought to use VBScript/WMI to kill the remote process as I had the name of the process to be killed and have had used it in past effectively. I started working with the script but, I felt it will take too much time to figure out the script that will help me so I decided to search on my favorite search engine for easier and faster options. Within a few minutes I got the pointers to use tasklist.exe and taskkill.exe. I killed the process manually and easily got my access restored. However at end of the day, spending some time one this and making a batch file will come handy as we run into this situation more often. So I spent few minutes in notepad and here is the batch file that I got. This batch file is not polished but should get the job done in time of needs. And as usual I don't take any responsibility of any kind if you use this script and get into some trouble. So use it at your own risk...
@ECHO OFF
@ECHO WARNING : This script will forcefully kill the process and will not ask for confirmation before killing the process.
SET MESSAGE=
SET SYSTEMNAME=
SET USERNAME=
SET PASSWORD=
SET PID=
SET /P MESSAGE=Press any key to continue...
SET /P SYSTEMNAME=Enter target computer name or IP :
SET /P USERNAME=Enter User Name (domain\username) :
SET /P PASSWORD=Enter Password :
@ECHO Please wait while we get the list of processes...
TASKLIST.EXE /S %SYSTEMNAME% /U %USERNAME% /P %PASSWORD%
SET /P PID=Enter PID(Process ID) of the process you want to kill :
TASKKILL.EXE /F /S %SYSTEMNAME% /U %USERNAME% /P %PASSWORD% /PID %PID%
SET /P MESSAGE=Press any key to continue...
Posted by
Chinmay
at
Wednesday, December 17, 2008
0
comments
Around one and half year back, I was handling an interesting situation. There were few different systems sending in XML messages, and my component had to accept the message, interpret it and take appropriate actions.
It was easy till I came to know about XML message and its elements and alternate messages. The possibilities were unlimited, and it sounded stupid to hand code/hard code XML elements. Rather than that the solution was designed so that we converted XML -> XSD -> CS. After few changes made here and there to fine tune the CS files with XML, we faced another challenge, we had to serialize/deserialize incoming/outgoing messages. After few minutes of R&D I could pull out this. I've listed the method signature and minor code implementation. It is so simple that you can easily get it working in few minutes.
public static string Serialize<T>(
T data
)
{
//Create the Serializer
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
//Use the serializer we have just created and serialize the object.
}
the same goes with the Deserializer
public static T Deserialize<T>(
string serializedData
)
{
//check whether the incoming data is not a null string
if (string.IsNullOrEmpty(serializedData))
return default(T); //This can be controversial, so handle with care and as per your requirements, in certain cases you can return null as well, kindly let me know if you have anything that can improvise this code
//create a serializer
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
//Use the deserializer we have just created and deserialize the object.
}
I must thank my friend Sidhartha http://IamJunk.spaces.live.com, as he helped me a lot to enhance the code. I've not published the whole code, in case you need it, drop me an email/comment. I will be more than happy to help you out.
Posted by
Chinmay
at
Wednesday, December 17, 2008
0
comments
Labels: .Net
Sometimes back I was doing a research on a script(It is coming soon.. just wait and watch...) and that script required me to try all the CRM datatypes one by one on the form. And trust me, it was a pretty boring job to create the element on a CRM form and then check compatibility of that script with it. Anyway, I thought I can help out my friends out there just in case they face the similar situation. So here is a SkyDrive link :
https://cid-b6a90e5b5092759c.skydrive.live.com/self.aspx/BlogStore/AllInOneEntity.zip
If you find that I've missed out something, kindly drop me a note. Thanks in advance.
Posted by
Chinmay
at
Wednesday, December 17, 2008
0
comments
Posted by
Chinmay
at
Friday, November 21, 2008
0
comments
I wanted to install Y!'s new messenger.. version 9... (oh it is beautiful I must say.. check out the screenshot..) on one of the Virtual PC... and I didn't want to connect to Internet for the sake of installing Y!.. so .. after looking here and there.. somewhere... I found that Y! keeps its installation images under http://download.yimg.com/ycs/msg/dl/msgr9/, This path doesn't have directory browsing enabled so you will not find anything there... however if you want to do an offline installation .. all you have to do is.. to click here
Posted by
Chinmay
at
Wednesday, November 19, 2008
0
comments
Posted by
Chinmay
at
Tuesday, November 18, 2008
0
comments
Gmail's official blog has this announcement shouting it loud that Gmail now has Voice and Video chat(http://gmailblog.blogspot.com/2008/11/say-hello-to-gmail-voice-and-video-chat.html).
Posted by
Chinmay
at
Wednesday, November 12, 2008
0
comments
Posted by
Chinmay
at
Wednesday, November 12, 2008
0
comments
Posted by
Chinmay
at
Tuesday, November 11, 2008
0
comments
Posted by
Chinmay
at
Tuesday, November 11, 2008
0
comments
Posted by
Chinmay
at
Tuesday, November 11, 2008
0
comments
Labels: Microsoft
Posted by
Chinmay
at
Sunday, November 09, 2008
0
comments
I suggest to go through the site once, and if you read this on or before 5th November, 2008 02.00 PM IST then you might like to watch the live broadcast of Bill Gates speech from New Delhi, India. Click Here to register.
There is a lot more to DreamSpark but we will check it out ... laterz... till then.. bbye...
Posted by
Chinmay
at
Tuesday, November 04, 2008
0
comments
Labels: Microsoft
Posted by
Chinmay
at
Monday, September 08, 2008
0
comments
In my current engagement, there was a requirement to embed images in email template. Now, as it is very well known that you can easily achieve it by copy pasting the HTML to CRM's Rich Text Editor. Most of the times it works fine. But then if it goes normal all the times I won't have to blog about it right? so.. here it goes..
In our case, we had a sample word document which had an image on top and some formatted text. As soon as this came to me, I fired up CRM's web UI and created a blank template. I created an HTML file out of word document. After opening the html file and copying/pasting, it worked fine and template got saved without any issue. Once the template was in place, I tried to apply it to an email activity. It worked fine, I could see the formatted text, the image on top and the layout was also preserved. Happily I clicked on Save button and.... whoooooshhh... it was gone.. the image was gone, everything else was there, but the image was gone. So there I was, the only thing I needed to close today to have a nice weekend was this email template fix. Also one of my colleague was working on this and he did a lot of research eliminating many other possibilities why it won't work. After few more minutes, I made a blank html page, added a nice Windows Live Logo and repeated the copy/paste on the same email template. Once it was done, I applied to the same email and voila.. it worked. So it was pretty clear that it was all due to the HTML that we were using for the template.
I always keep IE Dev Toolbar available, so I fired it up, and clicked on Validate -> HTML. The online HTML validator showed me there were some minor issues with the HTML. I corrected them and removed word HTML tags in which my IMG tag was wrapped. After this I followed the process copy/paste and test and .. there it was a .. working email template with an image.
Also it was very clear that we will have to find out a structured process to do it as there will be more templates coming soon. I might come up with an automation process, if you are interested keep watching this blog or drop me an email, if you need it urgently.
Posted by
Chinmay
at
Friday, September 05, 2008
13
comments
Labels: CRM 4.0
My day to day job revolves around supported solutions on CRM 4.0 and Microsoft .Net however as we all know customers some times are demanding and asks for features which doesn't come under umbrella of supportability. And as a solution provider we have to meet it by hook or crook.
In this case, I came across a mail on one of our WW Community. The problem statement was pretty clear : The customer wanted to hide delete button that appears on the CRM GridView for each and every entity(maybe selected entities too). Now they wanted the users to have rights to delete CRM records so we can't just take away their rights(Yeah.. that's the first thing that came to my mind...). But they wanted to do it via some custom applications not from the CRM Web UI. After doing some R&D I found that it can be achieved via the steps mentioned in next paragraph. I would like to declare that this code/method is NOT AT ALL supported by CRM Product group. This is just to demo that certain feature can be disabled in CRM without affecting roles.
1. Locate and back up loader.aspx from CRMWeb folder.
2. Open loader.aspx in Visual Studio or any text editor of your choice.
3. At the closure of the first script tag, copy-paste the following code
<!--/******Disable Delete Button Hack BEGIN*********/-->
<script language="JavaScript" type="text/javascript">
function HideDeleteButton()
{
//Check whether the iframe is completely loaded or not
if(document.getElementById("stage").readyState == "complete")
{
try
{
//Those menu items are part of mnuBar1 span, so we will get the reference of mnuBar1 first
//and then all the SPAN elements(represents individual menu items)
var spanElements = document.frames[2].document.getElementById("mnuBar1").getElementsByTagName("SPAN");
//iterate through the menu items and check whether the title is Delete or not
//if yes, this is the one we are looking for, set its display to none and break the loop
for(var i = 0; i <= spanElements.length; i++)
{
try
{
if(spanElements[i].title == "Delete")
{
spanElements[i].style.display = "none";
break;
}
}
catch(e){continue;}//continue in case of error
}
}
catch(e){}//ignore any other error
}
}
</script>
<!--/******Disable Delete Button Hack END*********/-->
4. There are frameset definitions at the end of the page, change
<frame name="stage" scrolling="yes" src="<%HttpUtility.HtmlAttributeEncode(homePageUrl, Response.Output);%>"></frame>
to
<frame name="stage" scrolling="yes" src="<%HttpUtility.HtmlAttributeEncode(homePageUrl, Response.Output);%>" onreadystatechange="HideDeleteButton()"></frame>
5. Test by opening up the workplace.
This script might have other side effects which I've not fully explored yet so use it at your own risk.
Posted by
Chinmay
at
Saturday, August 30, 2008
0
comments
Labels: CRM 3.0
I just got this mail from one of my colleague mentioning Microsoft Photosynth has just got released http://photosynth.net/default.aspx..
Posted by
Chinmay
at
Friday, August 22, 2008
0
comments
Labels: Microsoft