October 22, 2007
I use fiddler extensively to understand the behavior of the page. It is an excellent tool and I have been using for long time. But all along I was of the opinion that the fiddler works only with IE.
But truth is that it can work for any browser. Yes, it is not just an plug-in for IE though it is easy to get it work along with IE. Fiddler is proxy server listen at 127.0.0.1@8888. So, if you configure the proxy server for your browser to point to IP and port, you should be able to use fiddler with any browser.
Leave a Comment » |
At work, Tools, Web |
Permalink
Posted by Praveen R
October 4, 2007
Last few days our servers had big problem – Session End event was not working. We were breaking our head on this why the heck does this happen. Finally realized that recently we updated the SP2 for Window Server 2003 and this had a bug which caused the session end event not fire. We installed the patch from Microsoft it works now. Not strange from Microsoft though!
http://support.microsoft.com/default.aspx?scid=kb;EN-US;934903
Leave a Comment » |
At work, IIS |
Permalink
Posted by Praveen R
October 2, 2007
In the world of java, it is a common approach to have something called Marker interface. These interface itself will not have any methods defined but marks the class which implements it as the special type.
E.g Serializable interface, just marks the class that it can be Serialized. But when it comes to exact serialization java depends on the naming convention though. Also we can mark a class as Singleton class using this technique. However, in the .Net world. it can be better managed using Attribute programming.
Leave a Comment » |
Design concepts, General |
Permalink
Posted by Praveen R
September 25, 2007
With growing number of community list like Orkut, Facebook, Simpler version of e-learning community now Sabeer is venturing in to same arena. He has come up with his version of online social utility – ApnaCircle. He has different kind of marketing strategy though – like accumulating points as you spend time on his website and you redeem your points in exchange of some gift.
But on the whole, web seem to driven to unify bunch of users around the world .. good or bad… but really has shrunken the world and broadened the human mind.
Leave a Comment » |
General |
Permalink
Posted by Praveen R
September 16, 2007
I have lot of interest on photography. I love taking picture and watching others picture. At one point, when I did not have a digital camera, it was quite an expensive interest to hold upon. Now that I have a digital camera, now that I can shoot anything I feel like and play around the picture with some photo enhancing software. I got a pretty decent camera in my mobile as well. I have published my pictures at http://www.flickr.com/photos/beautifulminds/
I love my Camera too. Canon S1 IS with 10x optical zoom. Pretty nice camera for amateur which I bought some 3 years back. It is a well designed camera and fits nicely in my hand and give nice balance. Very effective IS (Image stabilization) as well is very handy when you start using 10x zoom. Only thing it lacks is, now it is 3 MP (Megapixel). It would have been better if I had a 6MP+
However, getting back to the topic. I thought I will take my photography more serious that before and wanted to learn about photography. I did some googling and read some blogs in flickr. Many people talk about one concept a lot. It was “composition” of the picture. It is nothing but identifying your subject and draw the attention of the audience towards the subject. It could be by placing the subject at different location of the photo or blurring the background and appropriately focusing the subject. There is guidance available for us and it is called “rule of thirds” handy. It has been followed for centuries now.
By this rule, if we divide the picture in to 3 vertical and horizontal portion, just like tic-tac-toe -2 lines drawn at equal spacing between them horizontal and vertical – these drawn lines form intersections. They form 4 intersections on your picture. The rule says the subject should lie on the intersections of these lines. Very interesting and gives an easy rule to follow for beginners.
Leave a Comment » |
Photography |
Permalink
Posted by Praveen R
September 9, 2007
At work, one of my colleague was suggesting using URLMapping available in .net 2.0. So thought will try something and play around with that. It is pretty simple implementation available ready made though we can think of building something to support wildcard or regular expression. Many out there have already built and kept in place – available as free and commercial version.
First, I was trying to build a POC for a URL Mapping feature in .net 2.0.
So, I had the below config in the web.config.
<urlmappings enabled="true">
<add url="~/application/action/view/test" mappedurl="~/app/navigate.ashx?action=view&module=test">
<add url="~/application/enroll" mappedurl="~/default.aspx?action=enroll">
<add url="~/application/register" mappedurl="~/app/navigate.ashx?action=register">
</urlmappings>
The above stuff worked beautifully when I ran from the VS.Net 2005 editor. The application was running in the Web Dev server. For “http://localhost:2401/application/enroll” it mapped the request to default.aspx. I moved the application to IIS 6.0. Booomm!!! I get 404 error with the http://localhost/urlmapping/application/enroll. Makes sense, because when I try http://localhost:2401/application/enroll, IIS tries to find the default document – ah now IIS could not find any default document, it throws 404 exception.
<urlmappings enabled="true">
<add url="~/application/enroll/<anything>.aspx" mappedurl="~/default.aspx?action=enroll">
When above change was made, it worked fine because, IIS has no roll to play except to hand over the request to ASP.Net engine. Once it comes to asp.net environment we have complete control. So it was important to keep proper environment for POC. As you all know Web Dev server runs with a higher privilege that IIS might actually run and this would also cause problem.
In my case it was not that costly but otherwise we should give due respect to the POC environment.
Leave a Comment » |
At work |
Permalink
Posted by Praveen R
September 9, 2007
Other day,at work, we were discussing about building a Business Interceptor. Idea is to build centralized component to intercept all web request and associate them to a Business component and pass it on to handler to do the further request processing. Approach something we inherited from Struts approach and FrontController kind of approach. Nice FrontController Article
So we had a discussion when to choose between Handler vs Module. This is my opinion, might be wrong. Before that, a quick briefing about module and handler.
Handler as it say handles request – which would mean take a request and return a response. Handler is the end point of the request chain. Module pipes the request – it can read the request, modify the request, but ultimately is not responsible for handling request but pipe that to another module or finally hand it over to handler. And importantly, the module is for every request whereas handler has other attributes affect like the extension, the verb we are looking.
Some of the decision we made is that we don’t want any custom extension or different extension like “.ashx” though it is practice is java world. They for e.g. attach “.do” for struts environment.
With above understanding, the interceptor we are building is clearly a module. Every request will be intercepted and first will be validate to see if they have any special business logic mapped and will be handle appropriately and will be piped through other module and finally handed over to custom handler or asp default handler. And in case no business logic, just follows the standard pipeline and finally handed over to the handler.
In another scenario, we wrote an HTTPHandler to read image from db and write to response as binary. So in this case, it takes the parameters reads the BLOB from DB and write to response stream and request ends with a response back to the user.
Leave a Comment » |
.Net, ASP.Net, At work |
Permalink
Posted by Praveen R
August 26, 2007
.Net 2.0 has come with bunch of new controls. Many of the controls looks like composite control of existing 1.1 control or enhanced 1.1 controls – basically after studying the market or taking look at the open source framework etc.
Substitute control is one of the new control in the stack. As we all know, the caching has been very significant concept in the web. Caching itself is a very broad topic. Caching can be done at various level – like browser side, proxy caching, server caching, database caching, kernal caching, page caching, control caching,application level, etc.
It is possible to cache page content using output cache directive. So in such case if you want a portion of the site not to come from cache but be processed all the time, then Substitute control is handy.
Leave a Comment » |
Uncategorized |
Permalink
Posted by Praveen R
August 24, 2007
We all know ::: > .Net Languages > Compiled > MSIL > Compiled to Native machine code (JIT)
Ngen is an utility from Microsoft that let you precompile the MSIL code for the native platform code. This way the JIT processing is by passed and code performance quicker. But always this may not be right.
There are couple of things – one is code compilation to native code and other one compiling and code optimization. JIT is smarter than just the compilation portion. JIT does lots of runtime optimization depending upon the memory, CPU architecture, etc. Basically, JIT adjust itself to the current runtime. So before we jump and start believe that NGen is going to benefit us, it is better we do our home work.
Leave a Comment » |
.Net, DotNet |
Permalink
Posted by Praveen R