Clarity, Technology, and Solving Problems | PracticeThis.com
WP7 App with Key Windows Azure resources – Slides, Videos, How-To’s, and T-shooting – for quick consumption on the go.
The customer was using hand crafted XmlHttp requests from client scripts requesting the data from ASPX pages. While the goal was achieved - the amount of information sent to the server was minimal and the user interface was responsive - the coding was not really fun. Also, since the requests were sent to regular ASPX pages the whole ASPX pipeline was executing unnecessarily utilizing CPU for nothing. The customer did not want to use Update Panel control. Although it boosts coding productivity, it also adds some burden on the network. Network utilization should have been kept to the minimum.
After quick research I found two great resources that directed me to the solution that would satisfy both requirements:
The first one is from Chris Hay - remix08 UK ASP.NET Front End Performance Slides and the other one is from Jeff Prosise - Power ASP.NET AJAX Programming. They both outline the usage of Script-Callable Web Services. There are three simple steps to follow:
[System.Web.Script.Services.ScriptService] public class AJAXCallableWebService : System.Web.Services.WebService { [WebMethod] public string HelloWorld(string name) { return "Hello, " + name; } }
<asp:ScriptManager ID="ScriptManager1" runat="server"> <Services> <asp:ServiceReference InlineScript="true" Path="~/AJAXCallableWebService.asmx" /> </Services> </asp:ScriptManager>
<script type="text/javascript" language="javascript"> function callAjax() { var text = document.getElementById("Text1").value AJAXCallsWebService.AJAXCallableWebService.HelloWorld(text,onSuccess); } function onSuccess(result) { document.getElementById("result").innerText = result; } </script>
<span id="result"></span> <input id="Button1" type="button" value="button" onclick="callAjax()" /> <input id="Text1" type="text" />
Grab the sample solution implemented using Visual Studio 2008 form my SkyDrive here:
This template is made with PracticeThis.com plugin for Windows Live Writer
I found many practical advices when I was reading a book by Harvey Mackay Swim with the Sharks Without Being Eaten Alive: Outsell, Outmanage, Outmotivate, and Outnegotiate Your Competition.
This post is a collection of a few side notes that I took while reading the book. These advices, among few others, help me stay alive and not eaten by sharks.
I do. For me luck is being the right guy in the right place at the right time. Sitting at home, doing nothing all the time won't get you no luck. Here is nice quote Harvey Mackay used in his book:
"I am great believer in luck," said Stephen Leackock, the Canadian humorist, "and the harder I work, the luckier I get".
Another one that I really love is from Thomas Alva Edison:
"Opportunity is missed by most people because it is dressed in overalls and looks like work."
This one keeps striking me time after time. Many of us still have hard times to distinguish between doing vs. achieving. Working vs. accomplishing. End result is what really matters. Here is what Harvey Mackay has to say about it:
"One thing professional stock and commodity traders learn early is that they don't give away medals for courage in the marketplace. There is only one reward the marketplace has to offer: money. If you are not making any, bail out. Quickly."
Well, you cannot argue with it these days...
I was reading the book by 45 EFFECTIVE WAYS FOR HIRING SMART: How to Predict Winners and Losers in the Incredibly Expensive People-Reading Game by Pierre Mornell where he provides a very detailed process to hire the best talent. The whole book is dedicated to interviewing... After your complete all the procedures (many of which are very useful), how do you decided - "Hire" or "No Hire"? Harvey Mackay offers very simple yet powerful advice:
"Ask yourself, How would you feel having this same person working for your competition instead of for you?"
Harvey Mackay writes:
"Unless you have a unique product or service, or run state-owned bakery in the Soviet Union, competition is a fact of life. You must deal with it. The best way is to gather what knowledge you can and then act."
My observations of state-owned bakeries only prove what Harvey Mackay writes (I was born in former USSR and lived there until I turned 20). My other observations resonate a lot with what he writes about gathering knowledge and acting. Focusing on high demand expertise pays off. The deeper your knowledge the harder it to push you down the food chain.
"The grabbing hands grab all they can All for themselves - after all It's a competitive world Everything counts in large amounts" - Depeche Mode
I thought it'd be interesting to test myself as a consultant for effectiveness according to Steven Covey.
All these habits should serve some sort of goal or objectives. Being proactive or thinking win-win won't make a trick without having clear goals. What are you goals? What are your objectives? Here are mine:
If your goals are similar to mine then the following practices might help you hitting them.
Proactively manage your time. Consultant live and breathe time. Utilization (or billable time) is consultant's main product. Spending time for non-billable time activities will hurt your WLB. Proactively allocate time for billable (actual consulting), non-billable (training, biz dev), and personal activities. Here is how I manage my time annually, monthly, weekly, and daily:
What do you want to accomplish? What's your definition for success? Imagining the end results can help achieving it. See it through, deliver it, exceed it. Become a super hero.
You have more to do than there are hours. How do you prioritize what's important and what is not? I found Steven Covey's technique is very practical:
Establish right communication channels with your manager, customers, and the family. Speak their language. Do not get mad when failed. Practice emotional intelligent. Win the Heart, the Mind Follows.
When the communication channels established you are ready to understand the other party. You are ready to understand what matters the most to your manager, to your customers, to your family. When understood you can better help the other party understand yourself. When your manager pushes you to another gig you understand that it is because of the deficit in the team's budget. You could close another deal for better price while dealing with better technology. Win/win. When your customer is calling your every hour it is because she wants to be in control of project progress. You could send progress reports proactively and save the head aches. Win/win. Fulfill their dreams and they will do the same to you.
Consultant is a field warrior. A Peaceful Warrior. A loner. Nevertheless, he is part of a larger team. The team of sales, marketing, support, operations, and other specialists. Build trust within the team and the team will support you when you are all alone in the field.
This one is fundamental in order to survive. Better consultant is the one with deeper skills. Become a SME (subject matter expert), but do not pigeon hole your self into too narrow area of expertise. It might become obsolete tomorrow. Stay tuned with what happens in industry and adjust accordingly. I adopted Abraham Lincoln's:
"Give me six hours to chop down a tree and I will spend the first four sharpening the axe"
What are your practices that make you better consultant?