Search This Blog

Friday, August 22, 2014

Jetsoneers are growing in numbers

     I always laughed when I watched "The Jetsons" and saw George Jetson go off to work where he did nothing but push buttons all day.  His actions were almost mechanical in nature in that they seemed to require no real thinking on his part, yet he considered it to be "work".   He would just sit at is desk pushing the same damn button over and over again until it was time to go home and then complain how worn out his button pushing finger was at the end of the day.

   Now as an engineer I think we are starting to see the beginning stages of George Jetson coming into real life.   I am amazed how little engineers these days come out of school knowing.  I have interviewed countless candidates and all to often I see a real lack of knowledge and logical reasoning.  I often want to ask these candidates "What are they teaching you these days in school?".   Not only do so many come out not knowing basic engineering principles but also lack any ability to "think outside the box".    It's like as if they have gone through college filling out "multiple-choice" type tests (you know the type where you darken in the little oval and a computer grades it) and never really having to think.  That is the problem with these computer-graded tests is that it GIVES the student the answer and all they have to do is deduce the BEST possible answer from the 4 given.   Life is not like that.  It does not always give you the answers.  Most of the time you must think through the problem at hand and determine the answer for yourself without any help.

   It frustrates me to have people ask me what I perceive as the most basic of questions when they have a problem.   Take for example compiling a C program.   I have had countless encounters with engineers who have come out of college who seemingly have forgotten their C/C++ training in school (it's a required language to learn in all engineering colleges).   They will compile some C code and get an error like:

     error:  undeclared variable: count

     Now for those who don't know C, you have to declare any variable you use in C and tell it what type it is.  Is it an integer, a floating-point-number, or even a string of characters.   This is the MOST basic of error messages and it practically tells you what is wrong.  Yet I get countless calls from engineers (I now like to call  Jetson-eers), who need help understanding these basic problems.  (note: I have NEVER taken a C class in my life and have become proficient in it by learning it on my own)

     Another example just happened as I was writing this blog.  A Jetson-eer instant-messaged (IM) me to help with a problem.  A program was aborting (exiting from an error) and giving a error message

#0  0x00002aaaab4ddd90 in strlen () from /lib64/
#1  0x00002aaaab4afdb0 in vfprintf () from /lib64/
#2  0x00002aaaab4b5458 in fprintf () from /lib64/
#3  0x00000000006dbd6e in dpi_IdiPcuRegisterAccess (rxwb=1 '\001', 
    address=0x7ffffffdd4a0, beb=0x7ffffffdd490, wdata=0x7ffffffdd480, 
    rdata=0x153f008, rdecode=0x7ffffffdd470)
    at /nfs/fm/disks/fm_cnlgt_00431/sle.gen10/pipegt.DISK6/src/units/pcu_bfm/pcu_bfm.cpp:3112
#4  0x000000000095d09e in bhv__CheckCallerFunctions ()
    at tbx.dir/c_files/tbxbindings_cview.cxx:68557

this is the path to the model
Looking at the file it references (it even tells you what line to look at. line# 3112)

if (fp != NULL) {
      fprintf(fp,"TIME=%12llu ns: %s addr=0x%08x rdecode=%d, beb=%x wdata=%08x  rdata=%08x_%08x\n",
                  GetTime(),         address[0], rdecode[0], beb[0], wdata[0],  rdata[1], rdata[0]);



     The problem area I have highlighted and put in bold font.  The fprintf function wants a "string" argument printed, but none of the arguments given is a string variable (granted the C compiler should have thrown a flag but it didn't).    This problem took me under 20 seconds to figure out and yet it seems I am the only one who can do this.

     I think we are training engineers to just do repetitive tasks and not to think anymore.   When I first started at this company I was:
  • building models
  • synthesizing designs
  • fixing design problems
  • writing programs and scripts
  • designing test boards (designed 3 in 1 year)
  • developing bus functional models
  • finding ways to run hardware at slow speeds (I do hardware emulation)
  • finding ways to interface TTL logic to non-TTL logic devices
  • modifying BIOS assembly language code
  • helping debug problems
  • plan new projects
And that was just in 1 year.

But today, most engineers I see would only have 1 or 2 things to list for their years accomplishments and that seems fine to many managers.  They are happy I guess that all they have are well trained monkeys to press their computer buttons (hopefully in the right order) to get their jobs done rather than forward thinking engineers developing new innovations to advance the field.

    It is this reason that I agree with most educators that our current system of computerized testing is negatively influencing our next generation of thinkers.  We need our schools to get back to teaching our kids HOW to think and not WHAT to think.  Common-Core only takes our current system and puts it on steroids with even more testing and even less thinking involved which if it does unchecked will only result in more ....


Thursday, August 14, 2014


   This is something heard by parents in their homes or teachers on the playground by children who
have been robbed of something that belongs to them.   It could be a ball, a toy or even an item of clothing such as a hat or coat.   The command often goes unheeded by the one who currently holds the item.   Often that person tries even harder to withhold the item even more until hopefully an adult steps in to right the wrong.

    While that is all good for childhood playgrounds and backyards, it has now made its way into the world of adults as we see people picketing businesses with signs demanding their "fair share" of the profits the company has acquired.  
Adults are the new children of the 21st century

     Personally, I have come to loath the phrase
             "Give back to the community".

      I see it everywhere these days as countless corporations are pushed to spend more of their own profits to help the communities they reside in.  You can't watch a WalMart or Target commercial these days without there being some reference to this slogan.  Some ads exist solely to tout what they are spending their money on.  Whether its planting trees, fixing up homes, providing money for schools or giving food to shelters its all done under this premise.   While these are all noble causes and I have nothing against us helping our neighbors,  I detest this phrase for multiple reasons. 

    First of all, the implication something was "taken from the community" for you cannot "give back" unless first you "took it from".   This phrase implies that the company stole the money from the community and in its generosity it has decided to pay some of its ill-gotten goods back.  But unless you are a con-artist who sold an empty bag of goods,  your customers did not get ripped off at all.  In capitalism, both the seller and the buyer come away with more than they left with.  This may seem
implausible but its true.   Say I am hungry and I go into Wendy's and by a single hamburger and a soda.   The bill comes to $5.78 and I pay the amount and receive what I had requested.  I am better off because I have staved off starvation and have more energy to continue my day.  Wendy's is better off because they have my $5.78 added to their profits from which they can satisfy the needs of their stockholders.  I win.  They win.  We both win.   No where in the transaction did Wendy's pull out a gun and force me to give $5.78 for nothing.  We both willingly went into the transaction.  Only in the case of the worker not putting what I requested in the bag would I demand Wendy's "give back" my money.

   Another reason they should not be shamed into "giving back" is because they have already given to the community in the first place.  They have already provided our communities with programs that stimulate our citizens and keep them out of trouble.  Its called:


  By providing JOBS to our communities we are supplied with work (which keeps us productive as humans) and money to spend in our communities.  Let's consider that first perk of "jobs" : productivity.   We don't often realize that work in itself, regardless of income level, is beneficial to us because it helps fill our time and stimulates our egos.  This benefit cannot be measured in dollars and cents, a stock market chart or even a government report.   We have seen cases in the news of people who became wealthy over night by a lottery or hitting it big at Vegas.  Often these people are found later to have ruined their lives because they filled their purpose as humans with consumption rather than with production.  The ones who didn't ruin their lives could be found still working at their "day job" even though monetarily they did not need it.   A job helps fill the soul in ways no government handout could ever do.  It says "I did this today!"  whereas a welfare check says "You did nothing today".   These companies supply our citizens with personal pride and self love and for that we should be thankful.

    Secondly, taxes collected by our communities from these companies fills their coffers and is used to pay for schools, roads, parks and clinics.  The "give back" campaigns therefore amount to a second level of taxation.  Call it a "voluntary tax".   Those in Chicago are familiar with these "voluntary taxes" as small businesses would often be besieged by mobsters who would come in and offer a deal for them to buy "insurance".  Referred to as a "shake down" businesses would comply for fear that their business would be burned down in the night.  These tactics are used by progressives who visit
these companies and offer their "give back" programs as a insurance against possibility that groups of citizens may organize and campaign against the company and destroy their standing and reputation.  They are the REAL bullies in our world and they TAKE from our companies with no intention of ever GIVING BACK.

    Like the childhood bullies who stole our basketballs,  the best way to diffuse their power is not to demand they give it back, but instead to pretend we don't have need of it anyway.  Often the bully will drop the item in frustration as they can clearly see you are not playing their little game.  So also, companies should tell these bullies to go away and pretend they don't matter.  Eventually they will see that their power is gone and go away