Wednesday, 7 October 2015


Image result for sundar pichai      SUNDAR PITCHAI:21 facts you may not know about this CEO

CEO:Pichai Sundararajan, better known as Sundar Pichai, is a technology executive who is Chief Executive Officer of Google Inc. Wikipedia
Born: 1972, Chennai
Nationality: American

  1. With this reorganization of Google/Alphabet Inc., Pichai will control: search, ads, maps, the Google Play Store, YouTube, and Android.
  2. In February 2014, Pichai was rumored to be in active negotiations with Microsoft to become that tech giant's third CEO.
  3. His colleagues tell Bloomberg that Pichai tends to walk it out when he's deep in thought. It's not unusual for him to wander away in the middle of a meeting, only to return with the solution to whatever problem is being discussed.
  4. Born in Chennai in the state of Tamil Nadu, India, in 1972, Sundar's full name is Pichai Sundararajan. Though he had a modest upbringing, he's now worth a reported $150 million.
  5. His father, an electrical engineer, had to save for three years to buy the family a new scooter, but made sure Pichai and his brother had the best education the family could afford, at Padma Seshadri Bala Bhavan.
  6. Pichai's father told Bloomberg he believes that talking to young Sundar about the challenges in his work as an electrical engineer led to his son's interest in technology.
  7. Pichai was captain of his high school cricket team before earning his bachelor of engineering degree from the Indian Institute of Technology; his MS from Stanford; and an MBA from the Wharton School of the University of Pennsylvania. When Sundar won a scholarship to Stanford, his father withdrew more than his annual salary from the family's savings to fly him to the United States.
  8. Prior to joining Google, he did management consulting with McKinsey & Company.
  9. Pichai has been with Google since 2004, when he joined to lead product management for Google Chrome and Chrome OS. He was involved with Google Drive and went on to oversee Gmail and Google Maps, as well.
  10. In 2011, Pichai drew attention when he was considered to lead product and replace Jason Goldman at Twitter. He chose to stay with Google.
  11. In 2013, Pichai took over Android founder Andy Rubin's portfolio to run mobile platforms. He was also entrusted with wooing more than a billion global users to the Android ecosystem.
  12. According to Business Insider, Pichai was skilled at staying out of politics and drama at Google. When he reported to Marissa Mayer, he reportedly sat outside her office for hours, if necessary, to make sure his team had good performance reviews.
  13. When he was almost lured away to Microsoft, Google reportedly negotiated desperately to retain Pichai for $50 million a year in stocks.
  14. Pichai was on the board of advisors for Ruba Inc. and was a director of Jive Software Inc.
  15. "Android One," Pichai's pet project designed to provide affordable smartphones in all households worldwide, launched in India in September 2014.
  16. Though he was just appointed CEO of Google, Pichai has effectively been responsible for day-to-day operations at Google since October 2014.
  17. Pichai had been Page's right-hand man for some time and is credited with trying to convince WhatsApp founder Jan Koum not to sell to Facebook. He also helped Page convince Nest's Tony Fadell to merge his company with the Google team, among other things.
  18. Dieter Bohn at The Verge describes Pichai's office as "clean to the point of being spartan" and noted that this simplicity was reflected in his demeanor.
  19. Now married to his love Anjali, whom he dated in India before she joined him in the United States, Pichai is the father of two.
  20. Pichai is known for his soft-spoken, diplomatic nature. In 2013, he accompanied Larry Page and Google CBO Nikesh Arora to tour a Samsung factory in South Korea to help build Google's relationship with its partner.
  21. Pichai has an unusual gift that seemed little more than a curiosity to him when he was a child, but has served him incredibly well in adulthood: he has insane numerical recall and can remember every number he's ever dialled.


1. Trello
Trello helps you manage all your ideas and due dates and keeps track of what you’re in the process of completing. Plus, it looks nice—it’s like the Pinterest of to-do lists.

2. Hackpad

Think Google Docs—only better for collaboration. Invite as many people as you want to contribute to your docs, or set them to private so they’re just yours.

3. Coffitivity

What is it about a coffee shop that gives you such laser focus? Coffitivity streams the background noises of a coffee shop so you can get your creativity A-game on.

4. FaxZero

FaxZero lets you send and receive faxes through your email—because nobody likes the fax machine.

5. RescueTime

RescueTime lets you monitor how you spend your time on your computer and mobile devices. (The truth is sometimes ugly, but necessary.)


You know all those email newsletters that you accidentally opted into, but don’t really read? Use this site to clear out your inbox.

7. Remember the Milk

A to-do list manager with several key bonuses: You can sync it with your all your devices, share tasks with others, and get email or text reminders of things you need to get done.

8. Springpad

Springpad lets you organize all of your notes, favorite websites, and online inspiration into different folders. It gets bonus points for looking nice, too.

9. HabitForge

Forming a new habit isn’t easy, so HabitForge keeps track of how well you’re doing with simple reminders and check-ins.

10. Evernote

Evernote helps you remember everything using text, photo or audio notes, and clippings of websites.

11. Hemingway

How does that email (or any of your writing!) come off to readers? Plug it into this ingenious app to get the breakdown.

And now, the original list from 2007, created by Julius Wiedemann, editor in charge at Taschen GmbH. While most of these remaining thriving websites, we’ve crossed out defunct websites and added notes when possible:


Monday, 2 March 2015

BAJA SAE India 2015 ends on a thrilling high

Share this Article
17 5 2 0 0
The 2015-edition of BAJA SAE India was held at Pithampur on the outskirts of Indore with over 8,000 students from various engineering colleges across the country participating in the event. College of Engineering, Pune emerged as the overall winners with D.Y Patil College of Engineering, Pune and Vellore Institute of Technology, Vellore finished in second and third position
BAJA SAE India 2015
Building a car isn’t an easy task, no matter what kind of background one comes from.  So if you’re a budding engineer building a car to represent your alma mater to compete against students from various engineering colleges on a national-level, the stakes are pretty high. The basic idea of the BAJA SAE India is for students to build a a rugged single seat, off-road recreational four-wheel vehicle with a set list of parameters, including engineering design, cost and technology innovation. The objective of the competition is to simulate real world engineering design projects and their related challenges which helps the students understand the various nuisances of manufacturing and marketing a product. Students were given a free hand with respect to design with the only restriction being the fact that the cars shouldn't exceed the 60kmph speed limit set for BAJA SAE India. 
BAJA SAE India 2015 winners
The 2015 edition of BAJA SAE India was held at Pithampur on the outskirts of Indore. 323 teams from across India had registered for the event out of which only 74 teams competed in the endurance round after scrutiny. The event started with basic Static Evaluation round which comprised of design evaluation, cost evaluation and marketing presentation. Following it was the Dynamic Evaluation round that tested the vehicles for acceleration, speed, hill climb, manoeuvrability. The Durability Evaluation Round saw the vehicles undergo endurance tests. In this round each vehicle’s ability to operate continuously and at a speed over rough terrain containing obstacles in varying conditions. 
It was College of Engineering, Pune which emerged victorious in the overall category of  BAJA SAE India 2015. The students from Pune also won the endurance round and their buggy was also the lightest at about 160kgs. D.Y Patil College of Engineering, Pune and Vellore Institute of Technology, Vellore finished in second and third place respectively. 

Friday, 27 February 2015




Functions in the C programming Language

The C language is similar to most modern programming languages in that it allows the use of functions, self contained "modules" of code that take inputs, do a computation, and produce outputs. C functions must be TYPED (the return type and the type of all parameters specified).

Functions in C

As always, a function is a module of code that takes information in (referring to that information with local symbolic names called parameters), does some computation, and (usually) returns a new piece of information based on the parameter information.

Basic Function Design Pattern

For the basic syntax of a function in C, please refer to the C Function Design Pattern chapter.

Dot C files

The "recipe" for a function (the function's code) is always stored in a ".C" file. In C there can be many functions written in a single file.

Ordering of functions in a file

The order of functions inside a file is arbitrary. It does not matter if you put function one at the top of the file and function two at the bottom, or vice versa.
Caveat: In order for one function to "see" (use) another function, the "prototype" of the function must be seen in the file before the usage. If a function uses another function that is textually written above it in the file, then this will automatically be true. If the function uses a function that is "below it" in a file, then the prototype should occur at the top of the file... see prototypes below.

A Function Prototype

In C, all functions must be written to return a specific TYPE of information and to take in specific types of data (parameters). This information is communicated to the compiler via a function prototype.
Here is the syntax for the function declaration or Prototype:
          RETURN_TYPE name_of_function ( PARAMETER_TYPE name_of_param,PARAMETER_TYPE name_of_param, etc); 
          // here are some examples of prototypes used at the top of a file: 
          float sqrt( float x ); 
          float average( int grades[], int length ); 
A Prototype can occur at the top of a C source code file to describe what the function returns and what it takes (return type and parameter list). When this is the case (occuring at the top of the file), the function prototype should be followed by a semi-colon
The function prototype is also used at the beginning of the code for the function. Thus the prototype can occur twicein a C source code file. When the prototype occurs with the code NO semicolon is used.

The Main Function

In C, the "main" function is treated the same as every function, it has a return type (and in some cases accepts inputs via parameters). The only difference is that the main function is "called" by the operating system when the user runs the program. Thus the main function is always the first code executed when a program starts.
 int                       // the main function will usually returns a 0 if successful 
 main()                    // this is the name, in this case: main 
                           // this is the body of the function (lots of code can go here) 

Examples of C Functions:

 double                                 // this is the return type  
 max( double param1, double param2)     // this is the name, followed by the parameters 
   if (param1 > param2) 
       return param1;  // Notice: that param1 is of type double and the return 
                       //         type is also of type double 
       return param2; 
void         // This is the return type (void means no value is computed and returned by the function!) 
print_happy_birthday( int age ) 
   printf("Congratulations on your %d th Birthday\n", age); 
   return;  // you can "terminate" a void function by using return. 
   // HERE it is REDUNDANT because the function is over anyway. 

Return Type of a C function

Every C function must specify the type of data that is being generated. For example, the max function above returns a value of type "double". Inside the function, the line "return X;" must be found, where X is a value or variable containing a value of the given type.

The return statement

When a line of code in a function that says: "return X;" is executed, the function "ends" and no more code in the function is executed. The value of X (or the value in the variable represented by X) becomes the result of the function.

Calling a C function (aka invoke a function)

When one piece of code invokes or calls a function, it is done by the following syntax:
        variable = function_name ( args, ...); 
The function name must match exactly the name of the function in the function prototype. The args are a list of values (or variables containing values) that are "passed" into the function.
The number of args "passed" into a function must exactly match the number of parameters required for the function. The type of each arg must exactly match the type of each parameter. The return variable type must exactly match the return type of the function.
The "variable" in the example above must have a type equivalent to the return type of the function. Inside the function, somewhere will be the line "return X". The value of X is then copied into the "variable".

Parameters in C functions

A Parameter is the symbolic name for "data" that goes into a function. There are two ways to pass parameters in C: Pass by Value, Pass by Reference.
  • Pass by Value

    Pass by Value, means that a copy of the data is made and stored by way of the name of the parameter. Any changes to the parameter have NO affect on data in the calling function.
  • Pass by Reference

    reference parameter "refers" to the original data in the calling function. Thus any changes made to the parameter are ALSO MADE TO THE ORIGINAL variable.
    There are two ways to make a pass by reference parameter:
    1. ARRAYS
      Arrays are always pass by reference in C. Any change made to the parameter containing the array will change the value of the original array.
    2. The ampersand used in the function prototype.
      function ( & parameter_name )
      To make a normal parameter into a pass by reference parameter, we use the "& param" notation. The ampersand (&) is the syntax to tell C that any changes made to the parameter also modify the original variable containing the data.

Pass by Value Example:

In C, the default is to pass by value. For example:
        // C function using pass by value. (Notice no &) 
        doit( int x ) 
             x = 5; 
        // Test function for passing by value (i.e., making a copy) 
          int z = 27; 
          doit( z ); 
          printf("z is now %d\n", z); 
          return 0; 

Pass by Reference Example:

Again, remember the Syntax is to use the '&' in front of the variable. For example:
        // C using Reference Parameter! 
        doit( int & x ) 
             x = 5; 
        // Test code for passing by a variable by reference 
          int z = 27; 
          doit( z ); 
          printf("z is now %d\n", z); 
          return 0; 
In summary, if you use a reference parameter, any changes to the parameter inside the function are reflected "outside" of the function! If you don't use the & (pass by reference), then we get the same behavior as in Matlab.
Reference parameters are used to make programs more "efficient". Consider passing in a structure as a parameter. If the structure is very big, and we copy all of it, then we are using a lot of unnecessary memory.

Array Parameter Example (ALWAYS pass by reference)

Arrays are always passed by reference in C. They do not use the '&' notation, but are pass by reference none the less. For example:
        // Initialize an array with values 1,2,3,...,length_of_array 
        // Notice: Any changes made to "array_variable" are reflected in 
        //         the calling code! Arrays are pass by reference! 
        // Notice: There is no return statement, but still the array is changed 
        //         and can be said to be "returned" to the calling function. 
        build_array( int array_variable[], int length_of_array ) 
            for (int i=0; i<length_of_array; i++) 
                array_variable[i] = i; 
        // Test code for passing an array by reference 
          int values[50]; 
          printf("the value at location 7 starts as %d\n", values[7]); 
          build_array(values, 50); 
          printf("the value at location 7 is now %d\n", values[7]); 
          return 0; 

Constant Reference

To protect from accidentally changing a reference parameter, when we really want it not to be changed (we just want to save time/memory) we can use the C keyword const. For example:
        // C Code using a CONSTANT reference Parameter 
        doit( const int & x ) 
            x = 5// ILLEGAL 
        // Main Function 
          int z = 27; 
          doit( z ); 
          printf("z is now %d\n", z); 
          return 0; 

Void Functions

If a function does not return a value, then a special "TYPE" is used to tell the computer this. The return type is "void" (all lower case).
Void functions are mostly used in two classes of functions.
  1. The first is a function that prints information for the user to read. For example (for our purposes), the printf function is treated as a void function. (In actuality, printf returns an integer which is the number of characters printed... but we almost always ignore this value.)
  2. The second use of void functions is with "reference" parameters (e.g., Arrays). A reference parameter is not a copy of the input data, as is so often the case. A reference parameter is an "alias" for the same bucket in memory as the input data. Thus any change made to a reference parameter is in fact made to the original variable!

Back to Topics List