Wednesday, January 30, 2013

Working with third-party controls in Microsoft applications

DevExpress - .NET controls:
DevExpress controls are very sophisticated and easy to implement without much scripting or server side validations. Dev-Express Gridview controls comes handy when we try to get Excel kind of feeling for a grid in asp.net application. Filtering, sorting, Searching, pivoting every thing is done with setting up simple properties. In my experience i used DevExpress controls in 3 different companies i worked.

   When i was working in OOCL USA Inc, their agreement builder project was using DevExpress controls intensively. Like the same HP is using Dev Express controls for their deal manager and other applications. 
My current company also uses the same product for one of their automation project. 

   One of our developer was struggling to implement column level edit for specific fields. I spent some time found the below work around. Check CodePoject for the work around i posted. In my free time i try to post small tips to forums like code project to help other developers as well.

But IMHO even though the tools are handy, we cannot compromise on performance of application. These type of controls some times uses update panel kind of AJAX controls which decreases the website performance drastically. We should make use of proper java script libraries and write robust applications rather than using heavy controls.




My Experience With Open Source Projects - Part3 (Tamil PC trust and TSDF)

Tamil Virtual University:
      As we started progressing translation, we decided to apply for government funding. Tamil Virtual University was funding few language computing projects. So we decided to approach them and get the funding. We drafted proper proposal and how to commercialize etc and approached TVU.

TamilPC Trust:
      After couple of meetings with officials we got 1.25 lakhs fund from TVU for this project. We formed Tami PC trust and decided to deposit the money on behalf of tamil PC truns. For all team members localization project is not a full time project so we decided to hire some one who can help full time in this project. Hariram Aethrya from Sun micro systems joined with us to help us. He was a software engineer at Sun Microsystems and worked in Bayarea, california before. At present he is running his own "Vedic School" at Kumbakonam.

New member to the team:
     We decided spend the money for paying salary(I will not say that it is salary... for his experience and accomplishment he might have got 10 times more than what we offered) and rent a computer for linux translation.

     Same time Vaseegaran (KDE Maintainer gave his access for us to check in our Localization effort). For GNOME i got CVS access to check in files, translation was in full swing. We cracked the unknowns like OO compilation, Kernal compilation etc. But the translation was progressing very slow.

Then I decided to get Students force to complete the work.
My Experience Continues....

Tuesday, January 29, 2013

My Experience With Opensource Projects - Part 2 (Birth Of ZhaKanini)

New Members to the team:
K M Leela (Web designer at Sterling info tech) also joined in the team. She is good at graphical designing and animation. Later Mr ShanthaKumar  also joined in the team. His skill set is writing proposals, marketing etc. It is decided that Ma. Sivakumar and I will take care of technical and translation aspect of  the project. 

Birth Of Zhakanini:

We decided to name the distribution. Since Writer Sujatha is leading the effort we didn't find it difficut to name the product. He just said "Zha Kanini". With the help of Leena the logo was designed and Tamil PC teams Zha Kanini  project kick started.

OO translation and BharathyOO team:
First phase we decided to translate Open Office. We downloaded Open Office from Sun Microsystem web site and there were procedure to extract strings. I had a seperate server at Dishnet office and decided to install linux in that computer to do extraction and string parsing to make po files. The string extraction was very simple and we make a big excel file with several thousand strings to be translated. We took printout and spiral bind the printout as book and gave it to Sujatha sir. Sir used to translate at-least 100 words per day. We made a disctionary with his translation. While we were in progress we came to know that CDAC started OO Tamil translation. We tried to share our translations but after few back and forth iterations we decided to stay away and make progress in our translation effort.
.... My Experience will continue

Friday, January 25, 2013

My Experience with OpenSource Projects PART-1:



I finished my BE computer science and Engineering during the year 1999. I joined in Dishnet DSL (Now acquired by Tata Telecom) as a programmer trainee.
Dishnet was an ISP(Internet service provider). That time Dishnet was the only ISP running their entire technology stack in Microsoft technologies.Microsoft was also very proud about that.

I was developing web applications in classical ASP, SQL Server etc. I was also involved in various integration projects at Dishnet. Dishnet was running a language portal site www.ambalam.com. Writer Sujatha was the adviser of the website.Since am passionate about language computing, I volunteered to test windows 2000 language support. With that I got introduced to Writer Sujatha. I started working on ambalam.com project as well as other networking projects. Eventually I took over the entire maintenance of www.ambalam.com. I managed the entire technical team of ambalam.com.
While managing ambalam.com I got opportunity to explore linux technologies. Out of my own interest I got Manderak CD from IIT Madras and installed Linux.

The entire localization of linux was started by NRI's and I got interest and wanted to see the linux tamil desktop. I got the contact of Ma.Sivakumar(he was doing business in China). Shiva is a good mentor and language enthusiast.With his help I was able to see Linux in Tamil with few resource string translated. On seeing tamil in OS I was really excited and decided to contribute to Linux localization effort. 

I was translating few files and proof reading few and I felt it doesn't scale. I felt that this project needs a big push to complete all translations and see the desktop completely in Tamil. We decided to show the current status to Writer Sujatha to get more support.
We went to his house and showed the desktop. He said he will support our effort as well as help in translation, coining words etc(Kalai chollakkam).First phase we decided to translate A Desktop (KDE), A Browser(FireFox) and An office application (Open Office) and create a separate Linux distribution.

….My Experience will continue

Single Sign-on With Ping Identity

Ping identity establishes the Identity Bridge for in-bound and out-bound Identity management. It also enables Single Sign-on, federated identity management, mobile identity security, API security and social identity integration.

Configure:
Configuration is straight forward and can be completed in less than an hour.  


Download the trial version of their product.  If you know your company network very well, it is easy to configure and implement SSO in any project.

The communication between authendication service, ping federate and target application is very simple.







Steps:

1. Configure Server
2. Configure Adapter
3. Configure Connector
4. Get the partner id and target URL.
5. Frame end point URL(eg https://localhost:9031/sp/startSSO.ping?PartnerIdpId=<CONNECTOR NAME>&TargetResource=<APPLICATION URL>)
6. Implement your integration code based on the language of the website or application.

Yes, straight forward integration with less coding effort!


At first, I started reverse engineering their sample, but it took more time.  Having ping federate in local machine will help in terms of getting the API and resolving unknowns.

Have fun with SSO!

Open Source Tamil m-Learing Learning Management System

Tamil, which is a classical language, is my mother tongue.  I am passionate about my language.  I am a volunteer teacher at California Tamil Academy teaching Tamil to the younger generation kids.  I have been teaching Tamil for the last 3 years.

In my past, I have contributed a lot to Open Source software.  My area of interests are Language computing, Localization, Internationalization, etc.

Last year, the INFITT 2012 was held at Chidambaram, Tamil Nadu between Dec 28-30, 2012.  I wanted to submit an abstract to this conference.  I joined hands with Keshava Rangarajan and Arivoli Tirouvingadame, and we three submitted a paper for this conference.  It got accepted.

Here is the paper published in INFITT 2012 conference:
Kalvi: An Adaptive mLearning System

Oracle PSR Interview questions continued

http://www.oracle.com

Oracle PSR Interview questions:

1) Process states (Kernal and User process in running and waiting state)
2) Interrupts
3) Web Server performance tuning
4) Valid XML and Invalid XML
5) SQL server:  How would you handle WHERE condition in non index column in terms of performance tuning ?
6) XML parsing:  DOM processor memory or CPU issue
7) Linx command to find memory info and processor info 
8) IIS web server performance tuning
9) SOUNDEX in SQL server
10) Public key and Private key in encryption concept
11) What is Amdahl's law ?
12) How will you performance tune a website ?
13) How will you utilize CPU in a situation where increasing the load doesn't increase the CPU utilization and the application is very slow.  (Thread pool - increase)
14) Thread, Mutex, Semaphore.
15) Sealed class and abstract class
16) What is JDBC connection pool ?  Advantage and disadvantage of the connection pools
17) Race condition in java
18) Process vs Thread
19) Program vs Process
20) What is Critical section ?

Oracle PSR Interview questions

http://www.oracle.com

1. JVM performance optimization (Multi-threading, perm gen, young gen, etc.)
2. DB performance optimization (AWR reports, indexing, caching etc.)
3. Web performance optimization (fine tuning, optimizing, etc.)
4. Design patterns
5. SQL coding exercise on white board.
6. There was a puzzle and analytical question as well.