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/libc.so.6
#1  0x00002aaaab4afdb0 in vfprintf () from /lib64/libc.so.6
#2  0x00002aaaab4b5458 in fprintf () from /lib64/libc.so.6
#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]);

      fflush(fp);

      }


     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 ....

Jetson-eers






Sunday, August 17, 2014

I desire mercy.... not sacrifice

     I have been thinking about this a lot this week and then this morning at church as we heard Jesus say,
"Go and learn what this means, 'I desire mercy and not sacrifice'
  In today's sermon we heard the story of the 'Good Samaritan' and now a man who was not Jewish had taken care of stranger who was Jewish and beaten down by robbers and even paid for the mans needs out of his own pocket.    In our world today you could maybe replace the characters with "tea partier" and "democrat" or  "gay" and "straight people" or "Jewish" and "Muslim" or any other combination of people who don't agree.   

    Too many Christians today seek to "sacrifice" themselves for the faith thinking it will earn them points with God even though it is Christ's sacrifice on the cross that has earned for us all the points with God we would ever need.   Recently I read an article about a couple who owned a bakery who did not want to make a wedding cake for a gay couple feeling it would infringe on their faith and they would be sinning against God.   Like the story of the Good Samaritan where a priest and levite both pass by the beaten man on the road.  To touch a man bloodied and possibly dead would possibly make them unfit to serve in the temple until they had gone through a long process of cleansing.   So also this couple felt it would sully them as well.   Jesus commanded us to be "in the world but not of the world".  Would baking a cake make them guilty of being gay?   Of course not.    Instead, it would give them a chance to share their faith.

    At the same time I begrudge the gay couple for suing the Christian couple for obeying their consciences.  Will everyone agree with you all the time?  Should you take to court everyone who disagrees with you on every point?  Of course not.   You would be spending your entire life in the courtroom if that were so.  

    What this world needs more of on both side is this...

     GRACE!

    Grace says I disagree with you but that is okay.  Grace says I am willing to accept those differences and move on in my life.   Grace says I will still be there for you even though we are different. 

    Does it mean that homosexuality (or other sexual sins) no longer matters?  Absolutely not.  It's all about context.  Paul writes in I Corinthians 5:12
12 What business is it of mine to judge those outside the church? Are you not to judge those inside? 13 God will judge those outside. “Expel the wicked person from among you.”
     The context being whether or not that person considers themselves to be a member of the body of Christ or not.   If they don't (and they are outside the church), then we are not to pass judgement on them and be loving towards them for they don't know any better.   If they are inside the church then they are not being true to the faith and we should in love expel them so they might come to their senses.   In fact in the very same book of I Corinthians Paul has them do this to a man who is sleeping with his father's wife (most likely a second marriage) and then in 2 Corinthians he has them restore the man after he has relinquished the relationship. 

    In both cases, inside the church and outside, we are to always act in love to reach them for Christ so GRACE may abound.






    

Thursday, August 14, 2014

GIVE IT BACK!

   GIVE IT BACK!
  
   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:

JOBS

  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