Developer's Resources

by Jig 12. November 2010 22:00

I have sticky notes and print-outs pined on my work wall for all those good stuff we all developers use all the time. Well, I thought it will be a good idea to put them together so that they are easily accessible. Following is a comprehensive list of regularly used cheat sheets and references. 


If you all know any other cheat sheet that I might have missed, please let me know and I will include it as well.


Cheat Sheets:



MCTS-ified :)

by Jig 12. November 2010 10:02



I have been planning to give my certification exams since a long time. Finally, I decided to appear for my exam on last Saturday and now I am Microsoft Certified Technology Specialist in Web Applications Development using .Net Framework 4.0!


There are not many books available on C# 4.0 yet. None released from Microsoft Press yet. I referred to MSDN for most of the study material. There is a very nice blog by NIALL MERRIGAN, on study guide for this exam. In my opinion, real life experiences are the best way to learn. So if you are working on .Net Framework 3.5 for a while now, just need to brush up some of the new stuff of .Net 4.0 and you should be good to go for the exam!


Enhancements made by Microsoft to its certification program make them more meaningful and practical than ever, helping companies recruit the best candidates. Microsoft Certification enable you to keep skills relevant, applicable, and competitive. Being a Microsoft Certified Professional, you get several benefits, some of which are:


  • MCP only access to community
  • Special offers and events from Microsoft
  • Discounts on MCPeStore
  • MCP Career Center



Plus, Cool Logo & Business Card:





Three more exams to go for MCPD in .Net 4.0.





Automated Builds and Continuous Integration

by Jig 28. September 2010 15:17

What is the difference between Automated builds and Continuous integration?


Most of the people have a common misunderstanding of minor differences between the two. People working in Agile world would surely know the importance of these terminologies. I have been following Agile Methodologies for a while now and actively looking for a build automation tool, but I have not completely satisfied with any of them yet. May be because I don't know core flavors of each one yet.


Build Automation:

There are various build automation tools available, which are used to automate the build process, instead of doing it manually. These tools include:


Continuous Integration:

These tools are the triggers that listen to "events" in the network (a check-in to source control, could be a trigger). We can configure these tools to do a few simple things when an event happens.

Some of the tools include:

What should we use?

I really don't know yet and open for discussion on this. I am looking for something easier to configure and which is not a maintainability nightmare!


How to obtain IP Address of a Client

by Jig 22. June 2010 11:25

I have been working on this since last few days so thought of making a note of it. It may be useful for many others as well who are in same boat. One of our application would like to know the IP address of user/visitor. It is used for authentication based on IP addresses but I am not going in details regarding that functionality in this blog. User may or may not come through proxy server. Here, I would like to provide a general method to fetch client's IP address through ASP.Net and give an explanation on the result in terms of different hardware conditions.


[C# Code]

private string getIPAddress()


        string strIpAddress;

        strIpAddress = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

        if (string.IsNullOrEmpty(strIpAddress))

            strIpAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

        return strIpAddress;



In above sample code, HTTP_X_FORWARDED_FOR is used to detect if client is using proxy server or not. If client uses proxy server, then the above method will try to obtain IP address behind the proxy server. In many situations, the IP addresses we get are probably the addresses of proxy server.


1. Not Use Any Proxy Server:

REMOTE_ADDR = IP address of client
HTTP_X_FORWARED_FOR = No value of no display


2. Use Transparent Proxies:

REMOTE_ADDR = IP address of proxy server
HTTP_X_FORWARED_FOR = Real IP address of client


3. User Normal Anonymous Proxies:

REMOTE_ADDR = IP address of proxy server
HTTP_X_FORWARED_FOR = IP address of proxy server


Another important fact that may affect the result of above code is the configuration of router. If the router of local network enables NAT (network address translation), then the IP address obtained is the address used by the router or load balancer to access external network. 

Before using above co de, it is necessary to consider the real product environment and then use it accordingly.


Happy coding!

Hi, I'm Jignesh

My name is Jignesh Panchal and I am a Sr Software Engineer, UI Designer and system architect. I follow and practice Software Craftsmanship principals, clean code, lean startup methodology.


Besides this, in my free time I love to play tennis, cricket, PC and PS3\Xbox One games, dig in web development and design. Hardware hacking using Raspberry Pi, Arduino.

Page List