Thursday, March 18, 2010

#Making a baby by a gentleman

all: baby

baby: marriage
have lot of sex until success


marriage: female
marriage ceremony

--------------------------------------------------

root@localhost> make all
[Error 1] Don't know how to make target female
root@localhost>










Wednesday, February 25, 2009

Attending Amit's Wedding

The Background

Amit Nangal is my colleague at Samsung. When I joined Samsung in June 2008 I was moved to his project for a short duration. At that time he used to look matrimonial advertisements a lot. He was very serious about his marriage. I think the search over in December when Amit's parent arranged his marriage. The date was 5th February 2008, just one day before my birthday. I decided to join his wedding as many of my company friends were attending. I collected money to buy wedding gift for Amit from my team members, everybody contributed between 100 and 200. I also collected money, around 600 each, to book a cab to reach Bhiwani, called Bhyani by locals, to attend the wedding. 6 people contributed and decided to attend marriage. We planned to leave office at around 5:30 in the evening and reach there before 10 in the night. One among these 7 people was Balaji a Tamil person, who had a strong wish to attend a north Indian wedding. I decided to buy a gift for amit from a nearby shopping Mall.

Preparing to go…

I left office at around 4:15 with Swami, one of my group mate but not going with us, we looked crockery sets as gift but didn't find and good one and returned office. At 4:45 me and Vikas left the office for his home, as Vikas has to get ready… seriously ready I mean, moreover the cab driver was given address of Vikas's home. I was pillion riding with him on his bike. Vikas was having a helmet but not me. At the Delhi border a Delhi police home guard stopped us, I told Vikas to run away but Vikas stopped as it was almost impossible to run. We decided to give him 50 Rupees but he demanded 100, we argued a bit but at that moment his boss came in and asked us to pay a fine 600. I give him 100 rupee, Vikas told me don't worry we shall adjust it in wedding gift collection, I said ok …with a smile. We reached Vikas home at round 5:40, and found cab driver waiting for US. Vikas started to take bath almost after reaching there. Meanwhile I eat some maggy at his home, watched an half an hour episode on Discovery, by 6:30 his bath was over, I thought wow … less than one hour … Batter than girls. It took vikas another 45 minutes to get ready and we left for office at around 7:20 and reached office at around 8PM a 2 and half hour delay from our plan. We started calling people from office to join US. Balaji had problem as the Koreans, so called clients asked his to fix the bug before leaving the office. He was dropped out, almost everybody felt sad for him. Another person TK Sunil, out Project manager, who had been room mate of Amit (the groom). Sunil told us that he won't be able to come but shall contribute for the cab charges. Now we were 6 boys ready to go but had no wedding gift. It was already so late we decided to buy flowers on the way.

The Journey

We started our journey and crossed Delhi border at 10:30. We were around 100 Km away from the place. Meanwhile Amit Nangal, the groom, called us. We told him that we shall reach at 12. He said ok, but make little fast. At 12 we reached Rohtak just 70 Km away from the place. I was constantly cruising Vikas for the delay, we doubted that by the time we shall reach there everything shall be over, even the dinner. We didn't have any wedding gift and not even flower. The next damn thing was a railway crossing at Rohtak, which we need to cross, was closed. Anyway we started watching a Chrenjeevi movie on cab TV, Chrenjeevi is a Tamil Hero (Movie Actor) who can through people 100 feet away. Everybody enjoyed the stupid stunts, meanwhile the crossing was open and we started. Just around 60 KM away from the place with out any gift and too late we decided to call Amit Nangal's brother he told us that don't worry someone shall be at the entry of Bhiyani city to guide us to wedding location. In the way Tanweer Alam one of the person in our group told us that in there community boy can have more than one wife. Vikas pulled Tanweer's leg saying, "beta too to 4 shadi kario", every body laughed. Later we just concentrated on Chrenjeevi movie and Chrenjeevi continued to demonstrate his super powers.

The wedding

At 1:30 (AM Now) we reached Bhyani, and as Amit's brother promised some one was waiting for us to guide there. We reached the site at 1:40. Ah! Thank God, Amit was just going on the stage and he was not married yet. We showed our faces to him. Got some photograph done by sitting in various posed along side the couple and we said Nameste to 'to be bhabhiji'. After getting down from the stage we stood around 30 feet away from Amit. We started commenting on Amit ... "Beta thand bohot ho rahi hai" ... Yaar Amit teri koi Sali nahi hai hamare waste". We had dinner and sit in a corner and started discussing, what generally boys discuss. A bull entered the tent house we were sitting. He took a round around the and probably eat something. Someone sitting along side us told us "ye yahan har shadi mein aata hai aasirwad dene" the funny element was that this guy was serious and not joking. I think at around 2:30 Phera started. We were shivering as it was too cold and we were almost in open. There were some quilts but all were occupied by people from girl's side. Later we got two quilts and sat there covered. Phera was usual one, but the people from girl's side were throwing utensils in the feet of Amit while he was going around the hawankund for Pheras. We enjoyed a lot.

An attempt to go back home…

After Pheras we decided to go back and came out and there was a lot of fog outside, and driver was missing, we asked several people and got no clue about the driver. 15 minutes later the driver returned. He was sitting near tandoor to beat the cold. We started out back journey and probably reached the exit of the town, however we were not sure were we were as visibility was too low. Soon the driver gave up and said he cannot drive. We called Amit's brother he suggested us to come back as a guest house was booked for us. We reached the guest house but the gate of guest house was closed. Amit's brother started knocking the door ... he and Vikas knocked the door for around 25 minutes but nobody opened the door ... at last around 3:30 the door was opened and we all six along with driver started to sleep. We decided to wake up 6 in the morning. This time we actually got up was 6 in the morning ... yes and everybody was awake at this time. It was still foggy but the visibility was batter than that was at night.

The return

We started and reached at the exit of the town, with are 3 outgoing roads, we carefully chosen the road towards Rohtak. We started listening to music on our mobile and the Driver keep proceeding slowly. We reached slightly more than 20 Km's in around one hour and saw a board pointing showing it is going toward Rajsthan… Damn it. We halted and asked one passerby … he told us that we have came in wrong direction, Rohtak is exactly in opposite direction. We asked the shortcut. He told us that we have to go back to Bhyani. We followed his directions and reached Bhyani and asked 3 people to cross confirm the way to Rohtak. We reached at Delhi border at around 10:30 in the morning eat some pakora and tea at Bahadurgarh. I decided to take a day off as my home was nearby. Everybody else decided to reach office. They reached Noida at 2:30. Damm everybody's office was missed.

About Website Devlopment Service buisness

Briefs about the buisness model.

Website development consists of following.

1) Understanding client requirements: The client gives the overview about what is to be presented on the website. Including requirements like online order, online payment, response submission etc.

2) Designing: This job consisting making document about how the website shall look. The document is presented back to the client and client must agree on it

.3) Selection of Name etc.: Domain name is name of website like "google.com". All the pages in the website contain this name. This domain name must be obtained from registrar. It requires paying around $50 (per year). The second job is finding a service provider whose computer (web server) shall be used to store website and its data (database). This can cost $100 an year to $1000 on year depending upon speed, bandwidth and space required.

4) Developing: This is the actual website making. This activity can be divided in two parts front end and backend. The frontend deals with how the website shall look and less of technology and more or art. Frontend require experience. The backend is highly technical part.
Step 3 and 4 can be done parallel or in reverse order.


5) Maintenance: This phase deals with unhealthy behavior and new client requirement.
About the money:Earnings:The clients are charged in "man month" spend in the project (for which estimates are to be given before starting). A typical charging from client is $2000 to $ 2500 per month. This can be more if the website required higher technical skills. Client also pays for domain name and web server space.Spending:
A website developer charges around 15000 – 20000 per month (only the salary, in India).
Office space: depends on the location.
Employee benefits
Stationary and computers (buying and maintenance)
Most of the time few developers (employee) must be kept on the bench (not being charged). This give the opportunity of getting new projects. This is one added cost.
Comission paid to the people who get us the project.

Other office staff.

Our own time.

Tuesday, February 24, 2009

Personal Mobile Desktop Application:

This article is a suggestion for an alternate of laptops. The article present problems of laptops, and problems of avoiding laptops and then a solution as Personal Mobile Desktop Application. This article also covers features of PMDA.

Terminology used:








Term Description
Personal Mobile Desktop Application (PMDA) An application embedded in OS (or with login) which can present a personalized view for a data to user. The data in this case is carried in a portable storage. The user shall feel that he is carrying desktop.
Personal data device A device used as storage for PMDA
PMDA Host Computer running PMDA.
PMDA Permanent host Computer running PMDA and acting as a backup. These can be PC of the user.

Problems with Laptops

Laptop brought new revolution for people business need. However there are several problem with laptops make people hate this gadget. The main issues with laptops are as follows.
  1. Causes strain on solder when one require carrying it for long distance.
  2. Heat generated while using laptop can cause skin and other problem.
  3. Small keyboard and touchpad causes stress at various point in the hand.
  4. Laptop makes a common target for thieves. Moreover the data from a most of the laptop can be easily taken simply disassembling it and reusing the hard-disk with other computer.

This requires need for a device that can totally eliminate the use of laptops.
Laptops are generally carried to carry personal data such as presentations; business information entertainments and view modify this data as and when required.

Example: Problems of carrying only data

I want to carry a presentation to my client. I need to carry a big laptop for this purpose. However the presentation can be carried in a tiny storage device such as a USB pen drives if my clients allow me to use their computer. This approach has following problem.
  1. I need to use someone else computer account. This would not give me personal feeling and will give some sense of insecurity to the person whose computer I am using.
  2. I must be dependent fully on the person to login/ unlock.
  3. It is not as free to browse internet as internet have cookies for that person.
  4. Difficult to save work and if I happen to browse internet I need to retype my entire password.
There are many more similar problems. The concept of personal mobile desktop application solves these problems.

Personal Mobile Desktop Application

This section describes what all features a “Personal Mobile Desktop Application” should provide. These features are listed below.
  1. The Personal mobile desktop application should be embedded with OS. And when a computer is plugged with personal data device. It should show a user login whose personal data are carried inside. This user login should be at same as normal login to that computer.
  2. The application must save all the data in a secure form to “personal data device” only. All the information like temporary internet pages, internet cache, cookies, Document created should be loaded.
  3. The “personal data device” shall not contain data only and all the application shall be provided in host device.
  4. The “personal data device” should easily be synced with other “personal data device” (it might be required) and some personal computer (“the permanent host”).
  5. User Preferances such as desktop background/ Themes should be saved on Personal data device. This will make the user feel that he/she is carrying his desktop.

Improvements to web search engine methodologies from user point of view

Terms Used:

Importance Index: This is a number generated by evaluating the backlinks. Google PageRank is example of importance index, this page suggest an improvement in this practice.

Content Quality Index: This is a number generated by evaluating the contents of the web page. This evaluation should not consider the importance index.


Spam Index: This is number is evaluation of the website by spam content. This number is most difficult one to formulate?


The goggle and potentially other search engine work on the basis of assigning some importance index to a web page. Along with this text pattern search gives the results links. The importance index is calculated on the basis of backlinks pointing to that website. The importance index computation also considers the importance index of the web sites pointing to this website and number of links of the websites. This is similar to voting where every voter is assigned unequal importance.
This technique sounds great but has some potential problems. The problem is related to spam’s and assigned importance to individual links in computation of importance index.
The list of possible problem is listed below.
Visibility/Size of backlinks pointing to site: Visibility and Size of link is ignored: This is slightly against the democracy. As more important paged will be linked with batter visible links. The web designers use special graphics effect to display important links. The important links generally contains fancy and special colored text, big font size or images to link to important pages. Search engines should also consider these while evaluating back links. The area and effort used in designing a link should also make it more important while calculating the linked page importance index.


The quality of contents

The overall quality of the contents should be evaluated by modeling stats of good contents form the web. This content quality index should be used in parallel with importance index while ordering the websites in search result. The quality content index should be formulated such that it does not affect absolute importance index.
Spam’s website

Nowadays spam websites are linking with each other and have large number of pages which does not contain any important contents and just links and advertisements. A similar indexing can be used for spam-ness of a website. This requires more evaluations.
Ordering of search Result

The conclusion is while ordering search results following should be taken in the account.Importance index. Content quality index.Spam index.And last but not the least the user input pattern matching.
Older search engines only used the 4th point and ignored first three. The ideal search engines on the interned would be those that evaluate all these suggestive technique in an optimized manner. This makes clear that the field of search engine is not yet closed and opens for more research work.


PageRank and Google are trademarks of Google Inc., Mountain View CA, USA. PageRank is protected by US Patent 6,285,999.

Performance Optimization

Optimization is process of modifying application to minimize use of computer resources like CPU, memory, network, disk space, power etc. Aspects of optimizing application covered in this article are CPU usage and memory usage. There can be tradeoff between these two aspects of optimization so it is important to focus in the direction of required aspect. This article is supposed to be used as a manual for performance optimization. The process of optimization can be specific to the programming language, compiler, hardware, operating system etc. This article shall focus on general aspects and shall provide a few system specific aspects as example.
Optimizing design:
When developing a system design a thought should be given to resources available in the system. A given system can have many limitations a few indicative examples are give in the table below.
System Possible Design Consideration
Application/OS for laptopsPower, Laptops sometime runs on power supplied by batteries and application should minimize the power usage.
Application for handheld/ battery operated devices.Power
Embedded devices like Mobiles/mp3 playersMemory/Processing power.
Network based applicationNetwork bandwidth

Table: Showing the possible system limitation.

Writing Optimized code.
When writing code the focus should be in making code more readable. Readability shall reduce the bug count and hence development time. Writing optimized code shall not be a very good idea because optimization shall reduce readability of the code as well as it shall require more time to code same functionality. Moreover while writing code one never know on which area of the code is to be focused and most of the time the coding effort would be useless. So writing optimized code throughout shall never be a good idea for optimizing.

Compiler Optimization
All modern compilers have many ways to generate object code. Compilers can be instructed to optimize the object code generated by. Generally when compiling with no optimization compiler generate highly inefficient code (this would in turn reduce the compilation time). Compiler optimization is an easiest way to start the optimization. As an example how to go about compiler optimization I use gcc as my compiler.
GCC compiler has various optimization switches and optimization levels. An optimization level is simply a collection of a certain optimization switches. The optimization levels available in GCC are none, O1, O2, and O3 and -Os.
Optimization LevelFeaturesOptimization Type
None or -O0 No optimization, this is the default level and shall generate highly inefficient code. However with this mode the compilation time take is the least and debugging the code with tools like GDB is easiest. Optimization levels should be applied only to the production software.Easy debugging (no other optimization), less compilation time.
-O or -O1 Optimize without increasing the image size.Minimizing CPU usage (speed improvement) and image size.
-O2 All speed optimizations except inline of function. Minimizing CPU usage (speed improvement) and image size.
-O3 All possible optimization (with respect to CPU usage) including in-lining of smaller functions. The binary/image generated by this level is largest of all optimization level and debugging is extremely difficult. This level has only a marginal efficiency improvement over previous level. Minimizing CPU usage (on the cost of debugging and image/binary size)
-Os Optimize for the size of image/binary Minimizing image size (might have tradeoff with speed)

Table: Showing GCC Optimization levels

The optimization levels in GCC are provided as a quick tool, individual optimization switches or combination of optimization switches and optimization levels should be used to customize the compiler optimization. For more details please see the man page of GCC.

So what to do even if Compiler optimization doesnot help:

It is time to learn some new software rule. 90% of the CPU time is taken by 10% of the code. Yeah there is only a relatively small amount of code. So job of optimization shall become easy if one can locate this 10% code (the bottleneck). Now one would think to go and look for the code which might be taking more CPU but this idea shall almost never work. Now the question is how to find the bottlenecks? There are tools available in the market to find these bottlenecks. These tools can generate a table containing list of functions in the code and percentage of CPU taken by each function. These tools are called CPU profilers. CPU profiling tools are generally system dependant (However if a profiling tool is not available for a particular system a simulated application which reuses the application code can be developed to perform optimization on other system where optimization tools are available)
There is large number of such profiling tools. The table below gives list of few CPU profiling tools. These tools also depend upon the programming language and compiler.

SystemTool
VxWorks RTI scope tools (tm of RTI), bundle of CPU and memory profiler
Intel CPUVtune (trademark of Intel Inc.)
AMD (Windows and Linux)CodeAnalyst (trademark of AMD Inc.)
Linuxgprof
Table: Showing some CPU profiling tools


These and similar tools can be chosen depending on the environment, availability and affordability. Use of these tools requires running applications and the application should be run all expected environment where optimization might be required.