ECE DEPARTMENT : NOTICE BOARD

ADVISORY TO STUDENTS (Answer to "Sir, College is there today ?")

Quote :
"If egg is broken by outside force, life ends. If broken by inside force, life begins. Great things always begin from inside force, trust yourself."

Batchwise blogs: -2008 | 2009 | 2010 | 2011 | 2012

Internal Marks Sem-II : | 2011 | 2010 | 2009 |

Intro | Case 1 | Case 2 | Case 3 | Case 4 | Case 5 |

Previous Posts

Thursday, July 01, 2010

un pour tous, tous pour un

We live in a reel world of Rambos, EkNiranjans and the like. However, in real world, it does not take much time to realise that nothing can be achieved without team work. Projects and project work related exercises try to stress on this aspect also. One of the important constraints placed on projects is the size of the team. As the complexity of the system grows, so does the team size. The importance (and limitations) of individual brilliance is recognised here.A well composed team must demonstrate synergy. The success or failure of the team depends on this aspect of team composition. Those of you who read The Three Musketeers, must recall their  motto " One for all, all for one".
Without digressing further and coming back to Embedded Systems, time is a key constraint in any system design. It would be unwise to assume that one individual can perform all tasks.

How does one manage embedded system development projects ?

If we broadly divide the domains of specialisation into three as : Application domain expert (knows who, why, when,where, how and what for is the application used), Hardware expert (knows what hardware optimally meets the design constraints) and Software expert (knows what software approach optimally meets the design constraints), then this is how we want them to be related :



Obviously, that calls for a mutual respect to individual brilliance without trying to dominate others. Think about it. A Japanese company used to send a newly formed team (members do not know one another) on a mountain climbing expedition that involved challenges that required team-work to succeed. On their return, the team jelled into a fighting fit unit ready for real action. Some management style this !

Yesterday's blog showed us how important oscillator stability is for an application. To, take  this further, I reproduce below what happened during the 1991 Gulf war where an Iraqi Scud missile hit a US Army barrack killing many soldiers. An American Patriot missile could not track and intercept the Scud. The reason was a bug in the Patriot missile. It will suffice to say that Patriot measured elapsed time from an internal clock in tenths of a second and this value was multiplied by 10 to get time in seconds. This was calculated in 24-bit fixed point registers. When the value was truncated, an error was introduced that accumulated over a period of time. The Patriot missile was switched on for about 100 hours and the error
accumulated was 0.34 second. Scud travelled with a speed of 1,676 meters/sec which takes half a kilometer in 0.34 second.

As a result the Patriot could not intercept the Scud.

Develop as an individual, respect the team, respect the goal, respect the constraints, take minute care of the specifications and pray to God ! Most important of all this : LEARN FROM OTHERS' MISTAKES ! Learn, learn, learn , keep learning.

My take on team-work is this : Every team member must give his or her best for the common goal and must be ever vigilant in finding mistakes (whether made by self or other team members) so that they do not creep into that final system.

Enjoy the cycle of learning, doing, making mistakes, learning ...

Einer für alle, alle für einen
Uno per tutti, tutti per uno
Uno para todos y todos para uno
Um para todo, todo para um
En for al, al for en
Een voor iedereen, iedereen voor een

------------------------------------------------------
Today's C question

main( )
{
   char  *ptr  = "%d%t%s" ;

   while(*ptr++ != 't') ;
   printf(ptr, ptr) ;
}

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

CIAO

1 comment:

  1. ans: %s

    exp:
    in this prog ptr is a char pointer which is initialized to point the string "%d%t%s"

    now first time thru the loop we encounter the statement which is
    while(*ptr++!='t')
    ;
    here in the statement *ptr++!='t' the operator * which is value at address operator has higher priority and != has second and last is ++ because it is used in postfix form so first *ptr is evaluated which is '%' then the statement looks like this
    '%'!='t' which is obviously true then the ptr is incremented which now points to 'd'. then the statement after while which is ; called the null statement in c is executted which does nothing on execution and again the loop is repeated.

    second time:
    ptr points to d hence the condition in while is true and ptr is incremented again again the null statement is executed!

    third time:
    ptr points to % hence the condition is again true and ptr is incremented and then the null stat gets executed.

    fourth time:
    ptr points to t now the condition *ptr++!='t' looks like this
    't'!='t' which is false. and then the ptr is incremented which is set to point string "%s".
    now the null statement is not executed cuz the condition in while is false.

    hence control goes to the printf which is like this
    printf(ptr,ptr);
    here we are passing address of string "%s" to printf which it prints!

    this program teaches u one thing "that dont ans c questions in haste! bcuz when first look at this u tend to miss the ';' immediately after while. that was a good question sir!

    ReplyDelete