Tuesday, November 13, 2012

Calculus of Algorithms

No, that's not really English; how about "Four orders of magnitude performance improvement".  Nope, I’m still trying to impress the boss.  Here: "Creating fast software" - that's better.  One of the most useful tools of my career is a mathematical idea I toyed with in high school - in those days (35 years ago)  I walked around with a (paper) notebook and 3 ink pens in my shirt pocket (seemed like they were always running out of ink).  I spent years using all my free time trying to figure out what I called "shadow math".  A professor would call it "finite integral calculus of a recursive field"

Here's a simple example: Suppose you have a calculation "NUMBER plus 5" meaning that you have a number in mind and I'm naming it "NUMBER".  The result of the calculation is that now you have a new number (that we'll call "RESULT") and it's 5 bigger than the original number ("NUMBER").  Let's name the calculation "CALC".  So far we have:

"NUMBER" - some number you know but are unwilling to say (not because it's evil or anything, you're just enjoy keeping a secret!)

"CALC" - a definition of a way to modify "NUMBER"; in this case it's not a secret: "NUMBER + 5".

"RESULT" - the result of "CALC"; we're calling it "RESULT" because if you wanted to keep "NUMBER" secret, you're probably not going to want to say
"RESULT"'s value either.

What if, for reasons obviously far away from common sense, you want to perform CALC over and over again; and each time use RESULT for NUMBER?

Step 1: create the first RESULT with CALC and NUMBER.  So in shorthand: RESULT <= CALC(NUMBER), or specifically RESULT is NUMBER plus 5.

Step 2: create a new RESULT with CALC and RESULT.  i.e. RESULT <= CALC(RESULT) (written backwards; sorry, still trying to sound smart), or specifically RESULT plus 5 is the new RESULT.

Step 3: repeat step 2 over and over again.  RESULT is going to be bumping up by 5 over and over again. let's call the count of the number of times step 2 gets done "TIMES", since it's obviously also a secret; maybe it's not a secret - I just don't know what value it is; that's why it has a name.

Now you have a new value- you started with NUMBER and used CALC a lot (TIMES times to be precise) and the result is RESULT (still a secret, you're happy because now you have three!).

And, now you know how to program a computer, iPhone, or Android; that’s all that programs and apps are: written down steps and made-up names when your not sure what the value is going to be.  Bad news though; you're only an average programmer at this point.  To get the big bucks, you have to do something a little different:

Step 1: calculate 5 times TIMES plus NUMBER - i.e. use multiplication (i.e. better math), and don’t use repeating steps.

It's that simple; except for the final step - you'll need to show your boss that the new calculation (call it "TURBOCALC") is about a billion times faster (when TIMES is a billion) and that now the people who really care about the CALC result can have it instantaneously on their iPhone instead of waiting till tomorrow AND they're lining up in the streets, bubbly, and delighted to pay good money for TURBOCALC.

Epilogue
It's really amazing what the opportunities for improvement are out there.  Sure, this example had two variables and one (simple) calculation.  Real world examples have hundreds (or thousands) of variables, many calculations, and lots of special rules - but the concept is the same.

Friday, November 9, 2012

Yesterday (PEST), Today (REST), and Tomorrow (GVC)

Yesterday I woke up and felt Post Election Stress Tension (PEST).  My neighbors were celebrating in the street; Facebook friends gleaming - many sharing pictures and statuses like they had defeated some evil or something.  It's sad to see the country so divided between rich and poor people; I'm in the "everybody should be a rich person" camp - I've been both and must say that rich far more comfortable, though admittedly, happiness comes from within.. 

Unfortunately, it's now a virtual certainty that will never happen in the US; the mass of poverty, class envy, racism, substandard education, and public assistance are growing and will accelerate at record rates - kind of like trying to go to work and finding out that  you have a flat tire; I don't usually celebrate - unless, of course, there's a required meeting I didn't want to attend.  Ah - maybe they were celebrating in the street because they didn't want to work or have prosperity?

Today, I accept that the country has changed - it probably changed while I was asleep a few years ago.  In the US, citizens who don't do their own research and/or don't want to be rich are now in the electoral majority. It's time to Redo Every Strategy Today (REST). 

Strategy before the change:
* Work in the US, get paid and hold US dollars.
* Invest in US companies.
* Own US property, pay property taxes
* Pay full taxes on all earnings and returns - without professional help.
* Have qualifications that add value in the US.

Strategy after the change:
* Work US and non-US companies and get paid and hold multiple currencies.
* Invest in non-US companies.
* Own no property, pay no property taxes.
* Pay professionals to (legally) minimize taxes.
* International certifications (from a business school in the UK).
* Create a global virtual brand presence for my product.

Tomorrow, I will be A Global Virtual Citizen (GVC).

Epilogue
My vote didn't count; I'm in the minority now.  The people have spoken; they decided expand poverty in this country - go for it.  I don't have to participate or pay for it.

Friday, October 26, 2012

A poem about me

I clean the floor as a third shift janitor
I lead a massive cult
I tried to get fired
I got a promotion and a bonus
I am patently unprofessional
I am a professional
I haven't worked in decades
I make incredible results
I am a myth
I am a legend
I am random
I am predictable
I sit in the sunlight
I run in the fog
I fly a hang glider
I deliver like a freight train

Thursday, October 18, 2012

Types of Intelligence

There are many; here are a few, some more noble than others.

* Competence intelligence - the capability to figure out in which areas of endeavor you are personally incompetent and which ones you are well versed.
A person with high competence intelligence is rare.  Most people have no idea how lacking they are in any particular pursuit and you can't begin to fix a problem unless you know it exists.  A person without this intelligence blames outside influences, other people, and unfortunate events for their lack of results.  On the other hand, when good things happen, a person without this has no idea why and often speeds toward self-sabotage and bitter failure trying to replicate the good thing by engaging in activities that produce bad results.

As a simple rule of thumb, this person knows that "Doing the right thing well produces excellent results over a period of time, regardless of circumstance".  It is possible to accidentally produce an exemplary result in a short time while doing the wrong thing or doing the right thing poorly.  This person is able to discern which strategies are destined to be a train wreck, and avoid them.

* Common sense intelligence - the capability to recognize risks/rewards for their actual eventual impact and act accordingly.

The rule of thumb - when you are witnessing a disaster of any kind and you can hold your thumb up at arm’s length; close one eye and put your thumb between you and the event; if the thumb does not cover the event completely, you are TOO CLOSE.

The rule of money - Money has no inherent value; it is merely a medium of exchange between something of value to one party and something of value to another party.  Wealth is selling what you have, using the money to buy something of value, adding value to it, selling it, and using the money to buy something of greater value. Poverty is selling what you have of value and using the money to buy something of less value.

The rule of supply - if you are preparing for something new, you don't know how many supplies it will take so make sure you have many times more than you think you need.

The rule of defense - if you have enemies (and everyone does), do what you have to do to create a perception that you are invincible so the enemies will find someone else to bother.

The rule of attack - if you are surrounded on all sides and in danger, without hesitation attack the strongest opponent decisively with all your might; in the event that they were caught off guard and you win, the others will think twice about threatening you.  In the event that you lose, better to go out fighting than surrendering.

* Spatiotemporal intelligence - a capacity form mental models of non-linear/non-intuitive spatial and temporal realities that although they are real, they don't make sense to most people.

A person with high spatiotemporal intelligence is like a kung-fu master in some area; he/she rarely fights; the fight doesn't last long; it doesn't look hard or complex; the result is highly effective.

* Legal/judicial intelligence - the capability to think and act unjustly in the name of justice.

A person with a high legal intelligence realizes that the legal system is fundamentally broken; similar to the ancient Egypt when only scribes  and priests were taught how to read and write, and the hieroglyphs were intentionally complex to preserve their status.  In spite of this, they study for years to learn how to manipulate the system and follow a career path that milks the ignorant masses of unimaginable wealth "practicing law" in the name of justice; a true injustice.  As a group they do everything imaginable to prevent common people from understanding even the basic precepts of our legal system, falling just short of denying basic human rights to anyone who questions the system.

Tuesday, October 2, 2012

So you tryin ta be white?

Are you talking about working towards being happy, healthy, wealthy, wise, enjoying my career, capable of advancement, and able to care for my family as opposed to miserable, tore down, broke, addicted, unemployed, hopeless, helpless, angry, and abusive? - well, um, I prefer to call it trying to be right, which has nothing to do with skin color, but you can call it white if you want to - sounds like group self-sabotage; just a thought.

Tuesday, September 11, 2012

Generational Wealth and Big Money are not the same

Q: How do you make a small fortune in a construction business?
A: Start the business with a very large fortune.

“<Insert opportunity here>” has the potential for success which will lead to "Generational Wealth"; what parent would ignore an opportunity that will do so much for their children?  I ignore these opportunities and sometimes speak out against them.  Real opportunity is when you want or enjoy something so much you don't care if you get paid.  Unfortunately, generational wealth has almost nothing to do with inherited money.  I have fourth generation firsthand experience in this area.

From my mother's side of the family:
My great-great grandfather was a pastor in lower Alabama who started a church; one of his sons (John F) became a doctor in the early 1900's and another (Max) was a lawyer.  The doctor was my great granddad.  He had exceptional character and a strong work ethic and worked hard in the roaring 20's.  When the great depression hit, he was in a position to buy land as people needed to sell what they had to feed their families.  He thrived during the great depression because labor was inexpensive and the land he owned produced crops that were in demand.  Doctors were scarce in lower Alabama and he treated people without regard for how much they could pay for his services.
Perhaps because John F worked so much, or perhaps because he was "rich", one of his sons, my grandfather Fred didn't learn a good work ethic; he had good character, but was not a hard worker - when he married my grandmother, times were tough; she ended up getting a job at the post-office to support the family. Finally John F died and left Fred a huge estate of land – after that, he didn't have to work for the rest of his life.  He had 3 daughters; my mom and two aunts.  Momma went to college at Auburn and got a degree in teaching and married my dad when she graduated.  She taught at an elementary school until I was born a couple of years later.  Since early childhood I had a passionate curiosity for numbers and measurement so she taught me math, and then she taught me algebra; not in a lecture format - she would make some notes and let me spend days trying to figure out what they meant.  Eventually I started discovering things in books that I could figure out; early grade school was an exciting time for me; our options as children were to play peacefully in the yard or read/study quietly inside.

From my father's side of the family:
My great grandfather emigrated from Italy with nothing in 1908, my grandfather was born in 1909, and my dad was born in 1938.  I don't know what my great grandfather did for a living but I know he worked incredibly hard - over his lifetime he had 23 children and supported them all.  One of his sons, my grandfather "Poppa", was a self-made man.  In the 1930's he risked his life as a navigator and chief mate working on a ship in the merchant marine fleet.  He was making $50 a week, which was excellent money at the time, but on returning from sea when my dad was 2 or 3 years old and finding my dad didn't know who he was, he quit and joined the police force making $5 per week as a beat patrolman.  Poppa was a lifelong learner.  One of his core values was continuous self improvement; 35 years later he retired as the assistant chief of the Mobile police department.  My dad learned strong character and work ethic; he worked his way through college and graduate school, earned a PhD and DVM, worked hard his whole life, started and built a company, put 6 children through college without student loans, and retired owning a lot of land.  After we (siblings) were married and starting families of our own, he paid off the mortgages on each of our houses.

Generational Wealth has nothing to do with leaving money to your children.  It's about teaching and demonstrating to your children the following things:

1) High character
A person of high character believes that nothing is free.  She/he does not accept anything from anyone without making sure that a proper price has been paid, in whatever form of value is appropriate.  In the cases you are required to accept a "free" benefit, the exceptional person gives it away to an organization that is making the world a better place.

2) Exceptional work ethic
Unfortunately, in this unfair world, you have to work for free for an extended period of time before you're allowed to benefit from your efforts.  Sometimes you have to work for free and get nothing of value in return.  A person with an exceptional work ethic does this cheerfully and with his/her whole heart for the reward of knowing he/she is doing the right thing.

3) Common sense
A person with common sense makes his/her own plans and executes them without being swayed by opinions of others.  She/he uses time tested techniques for success and a good knowledge of world history as a guide.  She/he watches people over a period of time to correlate what they're doing that's working and what they're doing that's not.  Paying attention to successful people is the great teacher in this area.

4) Excellent decision making skills
Making decisions in the face of uncertainty is a learned skill.  Know and weight all the dimensions of each decision: opportunity cost, time cost, worst downside, probable downside, potential upside, probable upside, dependence on outside events, dependence on skills, available resources, etc.

5) A solid college or better education
Everyone is ignorant at some level; fortunately, a higher education helps most people be less ignorant in some areas of life.  Wise parents teach children to focus on practical areas of learning which are applicable to things they enjoy doing and/or show them how to accomplish them with greater effectiveness.  They take a lot of courses unrelated to their "perfect job" and pick up a broad understanding of a lot of different subjects.  The world is a stage and you never know who is in the audience, and you won't get to perform if you don’t have the required vocabulary to ask an intelligent question.

6) Continuous lifelong learning
Count the number of books in your house and the content of them.  When I grew up, I used to love going to "Poppa's" house because his library had hundreds of books in it - browsing the shelves was fascinating because he loved to read about and learn "interesting" stuff.  When I was a young man, I spent hundreds of dollars a year on books and audio tapes; in the last decade I switched over to downloaded free content; nearly every PhD program in the world (especially the exceptional ones) puts a lot of course work online for free and nearly every PhD candidate publishes his/her dissertation for free.  There is no excuse for not becoming a graduate level expert in your area of interest over the course of a decade or more.

7) Practical/personal confidence
Winning gracefully is a learned behavior.  Treating every loss as an opportunity to learn is also a learned behavior.  Keeping a positive outlook in the face of adversity is a key life skill.  You don't need encouragement because, in fact, it's you that is encouraging everyone around you and by doing so, helping them be more than they otherwise could have been. The world is a stage and you never know who is in the audience, and you won't get to perform if you don’t have the required courage to ask a stupid question.

8) Systems theory skills
Every system has written rules, unwritten rules, and actual rules.  Learning to explore the actual rules of a system is a key characteristic of a master in a given field.  Learn to use leverage in its various forms; read the biographies of people who were widely considered accomplished in your field, and others.  In any system where you aren't getting the results you want, it's not because you don't have the necessary resources, time being the most valuable - it's because you're not following the actual rules; you don't know them yet.  There are no shortcuts, and there's no free lunch.

Tuesday, July 17, 2012

Cold rolled steel, duct tape, and barbed wire


There are insider secrets in the software industry.  The few products that work like cold rolled steel are actually constructed with barbed wire and duct tape under the hood.  They are typically developed over a period of many years and maintained by seasoned veterans that have developed skin so thick they don’t even get scratched anymore and tools/skills akin to a high power unbreakable industrial weed eater.

Yes, it’s so sad to see the fresh college graduates get hired into the company and find that no one told them the things they learned in school aren’t very applicable.  I hate it when after six months to a year they start to see the dull terrible truth that college is only the first step and they’ll need to spend five to fifteen years practicing and learning to have the skills needed to get out of the sweat shop.  Of course, to add insult to injury; all the technology is going to change during that time.  If they’re smart, they’ll concentrate on things that don’t change; good design, time proven technologies, human nature (people skills), and continuous learning.  The ability to absorb, to learn, to understand, and to apply new information, techniques, and principals is the master skill of most masters.

The thing that limits most people in a corporate environment is not so much what to do, or how to do it, but "why" it is being done.  The higher the level of “why” you can figure out, the more successful you will be able to be.  There are many people in companies wondering around the building seemingly with no purpose or value that end up being wildly successful.  At the same time, many smart hard working do great work and go nowhere for decades and then get terminated and replaced with a fresh, young, cheap college graduate.
Interestingly, few self-help oriented materials/classes/seminars are helpful in the long term.  Most concentrate on “what”, “how”, etc. when those things are seasonal.  It’s really the “why” that governs or controls everything else.