31 July 2015

Mass Destruction

Long ago, there was a small country consisting primarily of a few large islands.  It sometimes had wars with nearby countries.  During some periods of time, it owned small parts of a large nearby continent.  During other periods, it was limited entirely to its islands.  As time passed and the world changed, larger countries started to assert authority over smaller ones.  Several countries began to work together to maintain the status quo.  These countries eventually decided that this small country of the large islands should not have any territory outside of the islands.  Even when this country did manage to regain territory outside of the islands, the other countries intervened and gave that land to its enemies.  This small country began to feel mistreated.  On the world stage, it was marginalized.  It was treated as a vassal, not as a sovereign nation.  Its leaders began to feel frustrated.

Eventually, an opportunity arose for this small country to assert dominance over its neighbors.  Too long had the land that once belonged to it been controlled by others.  A war of epic proportions was brewing.  There were other countries that had grown tired of the iron fist of the alliance that was attempting to rule the world.  The small country recognized that the timing was perfect for it to show the world that it was a sovereign nation, not some submissive vassal.  While the war proceeded on other fronts, it could retake the lands it had lost so many times before.  The leaders of this country made one fatal mistake though.  They decided that a show of force against their most prominent oppressor would be appropriate.

A devastating attack was planned and carried out against an important military establishment.  The attack had two intents.  The first was revenge for decades of oppression.  The second was the strategic destruction of forces that might be used to intervene in the recapture of their territory.  Unfortunately, they underestimated the power, determination, and brutality of their oppressor.  Full scale war was launched against them.  The naval fleets of the oppressor far outmatched those of the small country.  Because the war did not have strong support from the civilians of the small country, and even its soldiers were beginning to loose morale, the government felt it necessary to force many of its soldiers to fight.  The only way they could successfully destroy the enemy ships was by flying air planes directly into them.  In desperation, pilots were welded into the cockpits of planes and ordered to crash into enemy ships or be executed.  In reaction to this, the oppressor used advanced weapons to destroy two major cities.  Over 100,000 civilians were brutally killed in these attacks.  Only around 20,000 military personnel died in the attacks.  The small country was ultimately not allowed to retain any recaptured territory.  The oppressor maintained a military presence in the country for many years afterwards.

Before or after this time, there has never been a country so brutal as the oppressor.  When the Romans attacked their enemies, they gave civilians the opportunity to swear allegiance to Rome, instead of killing them.  There have been countries that have murdered their own civilians for various reasons, but no other country has caused so much death and destruction, so callously, in such a short amount of time.  Even the oppressor in this story has condemned the wanton murder of civilians in wartime.

Now, the oppressor lives in fear of others who have developed the advanced technology used to cause this mass murder of innocent civilians.  Other countries have discovered and developed this technology, many out of fear of the oppressor.  The oppressor, more than ever, still believes that it has the right to dictate how other countries should use this technology.  It has persuaded or manipulated other countries into destroying their technology for this weapon.  Those countries that refuse are punished with embargoes and other economic sanctions.  And, this is all despite the fact that the only country that has ever used this technology to cause harm is the oppressor.  Many have developed it, but only one has ever been brutal enough to actually use it.


In case it is not obvious, the oppressor is the United States, and the small country is Japan.  The advanced technology is nuclear explosives.  To be clear, I am not trying to justify anyone here, and I am not trying to demonize anyone.  I am trying to provide some perspective to what happened between the US and Japan during World War II.  Most Americans do not fully understand the situation.  They believe that Japan attacked without provocation, and they do not understand the massive civilian toll of the bombings of Hiroshima and Nagasaki.  These were not attacks against military targets.  The US deliberately killed over 100,000 innocent civilians as a show of force.  Support for the war among the Japanese civilian population was weak enough that the government felt it necessary to spread propaganda to its own people to increase support.  Killing the civilians had no strategic military value.  It was entirely a show of force.

Japan did not attack us unprovoked.   Bad feelings had been building between our countries for a long time, and it was almost exclusively our fault.  Russia, China, Korea, and Japan had been fighting over land for centuries.  Japan had, at multiple times in the past, held territory currently owned by all of these countries.  Starting in the early 1900s (maybe earlier), the US and European nations began to intervene in disputes over these territories, consistently awarding control to everyone except Japan.  Japan was treated as an invader, despite the fact that they had a legitimate, though not exclusive, claim to these territories.  Japan's sovereignty was regularly subsumed by US mandate.  They were our enemy before the war started, because we treated them like a vassal.  We made Japan our enemy, and that is why they chose to attack us.

To date, the US is the only country in the world to actually use a full scale nuclear weapon against an enemy target.  Further, these were not tests.  We had already extensively tested them, and we were fully aware of the damage they would cause.  The reason Pakistan, China, India, Korea, Iran, and many other countries want nuclear weapon technology is because they fear that we will use it again.  Of all of these, only Iran's motives are significantly suspect.  Pakistan, China, India, and Korea have all had nuclear weapon technology for some time, and if they had wanted to use it against us, they could have already done so.  There is some fear that terrorists in Pakistan will manage to steal or capture the country's nuclear weapons, but that fear seems to be subsiding, as we are making progress against the terrorists.

The point here is that outside of the US and the European Union, the world has good reason to fear the US.  We go around telling sovereign nations what to do, and if they seek reprisal, we murder their civilians in massive numbers (from their perspective).  We try to control sovereign nations by imposing economic sanctions against them when they don't obey our commands.  We try to keep them weak by preventing them from developing weapons as powerful as our own.  From our perspective, we just think we are protecting ourselves.  We justify murder of hundreds of thousands of civilians by pointing out that we might have lost a few thousand more soldiers if we had not done it.  From their perspective, we brutally murdered many of their peaceful and innocent civilians to prove a point that could have been proven better by destroying a military base or two.  We used a weapon on their civilian living spaces that left fallout that is worse than even salting the earth to prevent crops from growing (admittedly, we did not know the full effects of this when we did it).  We did billions of dollars worth of damage to non-military structures.  To them, what we did amounts to mass murder and mass vandalism.  When other countries develop nuclear weapons, they are not doing it so they can nuke us.  They are doing it so that we know that they are powerful enough to do equal damage to anything we do to them.  They are setting up a mutually assured destruction, because they know that if we value our own lives and they have nukes, then we won't nuke them.  The only defense against nuclear weapons is to have your own, and since we have them, they know that they must have them as well, if they want to be able to defend themselves against us.  And, they cannot trust us, because we have used them before.

Again, the point here is to provide perspective.  It is easy to say that what we did was an absolutely horrible war crime, and by today's standards, that is totally true.  We also need to keep in mind, however, that most of the people who made that decision are no longer alive, and it is easy to make bad decisions when you feel desperate.  Further, I was not there, so I cannot judge the thought processes that went into the decision.  I personally think targeting military establishments would have been a much better decision, but I am not going to condemn those that thought otherwise.  I still think that those who do condemn us are not being unreasonable though.  Regardless of the justification, what we did was abominable.

13 July 2015

The Problem With House X

X is typically some kind of technology.  Maybe it is an operating system.  It is commonly an office suite.  In graphics, it is probably an image editor or a suite of image manipulation tools.  In businesses with any kind of tech department, it is a programming language.  House X always seems like a good idea to the management who imposes it.  Sometimes it even seems like a good idea to the victims.  In the long run though, it tends to cost the company more money, reduce job satisfaction, and reduce productivity.  House X, whether anyone ever realizes it, frequently costs far more than it saves.

Probably the two most common house Xs are operating systems and office suites.  The operating system is usually Windows, except in the graphics industry, where it is Mac OS X.  The office suite is almost always MS Office, though Word Perfect has some market share as well.  The excuse for picking a house X is that it will avoid compatibility problems if everyone uses the same thing.  If everyone uses Windows, tech support will be easier.  If everyone uses MS Office, there is no file format drama.  These are good reasons for supporting a house X, but without looking at the costs, an informed decision cannot be made.  If a business forces all of their workers to use Windows, a good portion of employees will loose some productivity.  There is no perfect user interface, and different employees will have an easier time with different ones.  Some might be more familiar with one or the other.  Some might have an easier time with resources in one place than another.  Forcing everyone to use a house OS is bad, because it limits productivity of those who are less experienced and less comfortable in that environment.  For office suites, cost is a major factor.  Forcing everyone to use MS Office is going lock the company in.  The regular upgrades necessary to keep up are extremely expensive.  The software is so complex that expensive training will be necessary with each upgrade.  The user interface stuff applies as well.  The company could save tons of money encouraging employees to use simpler and less expensive software.  The file format problem is easily solved by either requiring a specific file format or by requiring document submissions to be in PDF format.  This is much better than limiting employees to something that is going to have very high long term costs, and it is much better than limiting employees to something that many will have a hard time using.

The worst house X is not OS or office suite.  The worse house X is programming language.  The reason is that different programming languages have different strengths and weaknesses.  There is no general purpose programming language.  Low level languages can do anything, but they tend to take longer to develop in.  High level languages tend to be designed for specific purposes, and for those purposes they are much faster to develop in.  For other purposes though, they are often much slower to develop in, and they are also often harder to debug when used for other purposes.  Programming languages are like tools.  A programmer that knows many languages has a lot of tools in the box.  A programmer that knows few is much more limited.  The problem comes when a CTO that knows few or no languages decides that the company would be better off if it did everything in one language.  It turns out that most CTOs have only heard of one programming language, and they think it is the perfect language for everything.  That language is Java, a language made for networking household appliances.

Java's one benefit is that it will run on most platforms (which would matter more if the company did not already have a house OS).  There is really nothing that Java can do that there is not another language that can do better.  When a company selects a house programming language, it is like discarding all of the tools in box except for the duct tape.  Duct tape is extremely versatile.  It can do nearly anything.  In a pinch, it is awesome.  You also don't use it when you have another tool that is better.  Duct tape can do almost anything, but there is nothing it can do that something else cannot do better.  It is an excellent emergency solution, but nothing more.  Java is like duct tape in this way.  It can do almost anything, but it cannot do anything especially well.  Imagine a carpentry company that takes away all of the tools and leaves the carpenters with only a hammer and nails.  Maybe they could carve nice wood work with those tools, but it would take forever, and it would not be as nice as it would have been with a set of chisels.

In general, house X is a bad idea.  Sometimes it is necessary, and maybe the benefits outweigh the costs.  Most of the time, it is a "good idea" coming from someone who is not qualified to make the call.  When solutions are chosen dynamically by those qualified to choose, the right tool for the job is far more likely to be used.  When an unqualified CEO or CTO chooses a house X, it prevents those more qualified from using the right tools, which results in major costs to the company that are totally unnecessary. 

What it comes down to is: If you think you are educated enough to make the call, then why do you need that IT department in the first place?  If you are going to hire people with focused education in other areas than your own, trust that they are more qualified to make decisions in that domain than you are.  If you don't, you are going to end up with a bunch of Java programmers that don't have any other tools or education outside of Java, and that is going to result in crummy software that takes too long to write, because no one competent wants to work for you.

11 July 2015

Real Life is Broken

Jane McGonigal says reality is broken.  She believes that we need to make the world more like a game.  While designing a college course for game design, I realized the full truth of this.

The biggest reason that gamers prefer game worlds over real life is that game worlds offer consistent rewards.  Each time a player finishes a task, a reward is provided.  The biological effects of this reinforce playing the game as positive behavior.  In other words, the rewards tell the brain that playing the game is good.  Real life is not like this...but it used to be!  This fascinating realization could be the key to improving productivity and job satisfaction on an enormous scale.

Long ago, before mass production and huge corporations, most people worked for themselves.  Even the lowest classes during feudal times typically had a flat or percentage tax that allowed rewards to scale with productivity.  Instead of working up through the ranks of a corporation, most people became apprenticed to an artisan or learned the family business, and once they finished this, they became self employed.  When they produced something, they were immediately rewarded.  Blacksmiths, tailors, carpenters, and other craftsmen were rewarded with a finished product, and when the product was sold, they were also financially rewarded.  Farmers were rewarded with a harvest and money, if they could afford to sell some of it.  Merchants were rewarded in money and traded commodities.  With the exception of domestic servants, who were rewarded much like modern salaried workers, and nobility, who were often rewarded without much work at all (as well as occasional random events, like droughts), nearly everyone was quickly and proportionally rewarded for their efforts.  Even beggars were rewarded fairly proportionally (more time and effort spent, more donations).  It was well understood among the lower class that harder work yielded greater rewards.  Since then though, the world has changed.

In our modern world, effort is not rewarded.  Contrary to upper class clichés, working hard is hardly even part of the road to success anymore (heritage and luck being some of the biggest factors).  A vast majority of employed people do not get rewarded quickly or proportionally.  McDonald's workers do not get paid more for being more productive.  Spending 15 seconds creating a sandwich is hardly as rewarding as spending several hours making a set of horseshoes (though equally mundane), and making the sandwiches in 12 seconds does not result in higher pay than making them in 15.  Helping an endless supply of customers check out at a grocery store is nothing compared to a full harvest at the end of the growing season.  In short, modern jobs are just not motivating.  Unmotivated work is low productivity work.  It is also typically low quality work as well.  Without a good reward cycle, modern workers have lower productivity, work quality, and job satisfaction.

This can be fixed, but it would have an initial high cost.  The problem is that employees are paid based on time.  Either hourly or salary.  Salary pay is the way nobility was rewarded long ago.  Salary is a reward that is given regardless of productivity (we are going to ignore things like getting fired, because they are more likely to encourage blaming and cheating than increased job satisfaction and productivity).  Hourly pay only rewards the presence of the employee.  It does not reward actual work.  Profit sharing can reward actual work, but it ends up being an average.  If there are twenty employees, and half of them work hard and half of them do not, no one is getting rewarded proportionally, and the less productive workers are getting rewarded despite doing a poor job.  If the company makes multiple products, stock based profit sharing could be rewarding workers doing a poor job on one product, when another product is successful.  This kind of reward cycle is only marginally more effective than purely hourly or salaried pay.

Productivity is very hard to measure.  How do you measure productivity for a cashier?  Profits on sales does not work, because the cashier does not determine markup on items or what the customer wants or needs (and the job of the cashier is to get though the line fast, not to spend 5 minutes upselling every customer).  Total sales is an equally poor measure, because over-staffing (the fault of management) or poor business (the cashier is the least likely person to be at fault) could affect it.  In engineering and other higher end jobs, it is even harder to measure productivity, because the apparently least productive employee could be the one holding everything together and helping everyone else to maintain high productivity (this is actually fairly common).  This is a major problem to fixing reality.

The only solid solution I can see is breaking things into smaller units.  Even this won't solve all of the problems, but it would improve things.  More smaller businesses and less larger businesses would make this far easier, but that is unlikely to happen.  Retail corporations could offer more autonomy to local stores, and local stores could offer more autonomy to individual departments within those stores.  Industrial corporations (everything that produces products, including software, hardware, and media) could provide more product level autonomy, and manufacturing could provide more factory level autonomy and even process level autonomy within a factory.  This would allow for more focused profit sharing and productivity measurement, which would increase reward accuracy.

Recently, I discovered a solution to one of the biggest hindrances of modern businesses.  The hindrance is that managers usually have a poor understanding of the processes they are managing.  In tech, this means that managers often have a poor understanding of the technology, which leads to demands and expectations that are impossible to realize or significantly harmful to the workers and the business (for example, CTOs that decide it is better to use just one programming language in-house, instead of selecting the best one for each task).  In other industries, this leads to large numbers of minor inefficiencies, like replacing the towel dispensers in the bathrooms every month, as the prices of different types of towels fluctuates, or retraining employees to put the ingredients of the sandwiches in a different order every few months.  Perhaps a better management model would be to have managers act as oversight, instead of bosses.  Those under a given manager would act fairly autonomously.  The manager would provide guidance where needed but would only make executive decisions when the employees violated rules or specifically requested help.  The reason I bring this up is that it fits very well into the idea of making components of a company more autonomous.  Adding this would further improve job satisfaction, at the same time as eliminating a large number of common inefficiencies in businesses.

At this point, I don't think we can ever return to the reward cycle of the past, but we can adjust things to get enough closer to enjoy many of the benefits.  Our world is so different from the past.  Processes are so much more complex.  Much of modern business must rely on teamwork to get jobs done, and this makes a perfect reward cycle impossible.  If we try though, we can get close enough to realize major improvements in productivity, quality, and job satisfaction, and this will make the world a much better place.