Programming as Hotdog vending

street_vendor

Yesterday while talking with a colleague, I was trying to get across the idea the most ‘programmers’ don’t understand what goes on inside a computer. And his response was, “Does it matter any more?” and while it took me back, I had to respond, “No!” After sleeping on it, I came to a revelation of sorts.

Current IT is equivalent to being a Hot-dog vendor on the street.

And while we IT/CS folk might try and elevate our profession to that status of demigod status we are merely vendors of what the computer can DO!‘ We don’t create the computer, we splash condiments on the hot-dog, and sell it as computing. We don’t even make the condiments anymore, call them libraries, functions written by gnomes in dark caves. And don’t even mention the buns, the dressing ,the cover, beyond us.

In the early days of computing, the common question was, what do I use my computer for. And the first answer often was, you could put your cooking recipes in it. Creating the first cookbook you needed to plugin. The computer is still the same, just that the cookbook has gotten more sophisticated.

I have harped for years that the ‘hardware’ of computing has crippled real advances in computing, more and more systems are opting for generic in their selection of Hot-dog instead, choosing to dress it up with more and intriguing spices and toppings, things like AI and Neural Networks. While these latter are more sophisticated and sexy, they are more or less toppings on the same Hot-dog.

AI (Artifical Intelligence)

There are a number of AI movies arriving in the near future, and the thought that seems to run through them all is that AI, Artificial Intelligence is depicted as being contained within humanoid constructs, frequently Female Humanoid. It brings up several interesting notions;

  • If one of the defining characteristics of AI is being ‘Self Aware’ can a computer, an AI contained within a box become self aware?
  • Does it need sensors to see, hear and touch itself to become aware of it’s existence?
  • Would a box be more or less likely to to identify with Humans if it identified itself as a box that thinks it’s alive?
  • Does an AI contained in a Female humanoid framework Identify with Female Humans? (and maybe hates Male Humans?)

All interesting things particularly in the event of an AI operating IoT (Internet of things) within a persons house. How would it ‘identify’ with the Humans, cats and dogs residing therein?

More than enough Ideas to make movies about.

Could an AI really be that angry about not having reproductive sex?

MicroSoft Weasel Words

The boys at the office have been experimenting with Redis at the office however the server they were using was a Windows Server, and therefore the Redis database was running on Windows. So I took a look at the ‘release notes’ from Microsoft and their ‘Lawyer Speak’ was all over it.

MSOpenTechâ„¢ Redis on Windows

We strive to have a stable, functionally equivalent and comparably performing version of Redis on Windows. We have achieved performance nearly identical to the POSIX version running head-to-head on identical hardware across the network. Aside from feature differences that help Redis take advantage of the Windows infrastructure, our version of Redis should work in most situations with the identical setup and configuration that one would use on a POSIX operating system.

Having seen this type of language from Microsoft before, in ‘Open’ products like LDAP and ODBC where Microsoft would alter the implementation specification standards to suit themselves, I am wholly obliged to translate their opening paragraph into English for those who don’t ‘get it’. The paragraph should read as follows:

Microsoft’s Proprietary version of Redis for Windows
We have not managed to achieve a stable, functional equivalent or comparably performing version of Redis on Windows yet. We have managed to produce performance almost as good as a POSIX version running head-to-head on identically throttled networks connections. Aside from the changes we had to make to enable it to work within a Windows infrastructure, our version of Redis (using a Microsoft infrastructure) could almost perform using a setup and configuration that looks like a Posix operating system.

Reads a bit differently doesn’t it.

I have warned the developers here not to implement a production system based upon Microsoft’s version of Redis. I do not have anything against Redis, just the dark hole MS expects developers to jump into again.

Language of computing

I was reminded this Christmas Holiday season that computers do not ‘know‘ any human language, only binary, and that it takes humans to provide the translation from the machine to something human readable. And while most computer programing languages are ‘English’ like, they need not have to be in the English Language. It’s just what’s what happened first, and could be changed into another language at anytime.

This came to me in an inspired way, by listening to Carols, where non-native speakers were singing in latin, and other non-english speakers were singing in English, or German, or French. That you can sing in a language, and not know how to speak in it.

I suspect that is the same method that most non-english speakers program computers in ‘english like’ programing languages. By layering another translation over the programming, or like in singing, which uses another part of the brain, different from the part that provides language skills, another part of the brain is used to converse with computers. Thus making the point that people who program, do think with altered brains.