Sunday, December 30, 2018

Physical Thought, not AI

To a certain extent, any computer program by definition includes some level of artificial intelligence since the inherent concepts are human in nature to begin with. Computer programming languages may be thought of as nothing more than the codification of how we think we think. The behavior of the programs we create is simply a reflection of the behaviors we see in our everyday lives. When we program connections, electrical or otherwise, we are simply imparting our intelligence onto the entity. The entity is already by definition an artificial representation of our human intelligence. It is constructed to represent human behaviors. It is already artificially intelligent so perhaps a better term for the phenomena currently known as artificial intelligence might be physical thought. 

Physical rather than artificial because physical implies movement between connections while artificial implies not real, however, a robot is a real entity programmed by humans so I prefer something that connotes physical connections because to a certain extent that is all we are doing really, is designing interconnected systems and programming them.

Thought rather than intelligence because physical entities may be programmed to perform behaviors we could consider intelligent, like beating a human at chess, however, this is more a feat of knowledge than of intelligence. In fact we really don't know how to measure intelligence yet, we tend to design tests that measure knowledge rather than intelligence. Intelligence is a difficult concept to put a boundary around. 

Thought, on the other hand implies consideration or rationalization. We often add the ability to learn to this but learning is actually a different concept. Learning is more mechanical in nature than thought. Learning can be accomplished mechanically by adjusting weighted values in response to inputs over time but thought is a more abstract concept. 

Regardless, it is the case that whatever we create will be uniquely human in its approach to the world whether we call it artificial intelligence or physical thought, it is simply going about its business in a very humanistic manner because humans designed it and humans only know how they think humans think. Humans don't know how other forms of intelligence think; yet. 




Saturday, November 3, 2018

Maybe You Shouldn't Kill Yourself Today

The easy way out. 

About 20 years into my career I found myself at an unfortunate crossroads. I had spent the first 10 years of my career as a computer programmer. After 10 years I decided it was the sales and marketing guys who had it made so I decided to switch over to sales and marketing. I worked my way up to the point where I was the Director of Sales and Marketing at a company called Aptek Williams but after several years for some strange reason (which is typically the case in my life) one day I just up and quit. Turns out its easier for programmers to find work than it is for folks at a director level to find work and so pretty soon I found myself broke and going through my second divorce. My wife at the time who was not working decided to take the only car we had when she left and so I had to borrow money (which I absolutely hate to do) from a friend just to buy a car. I had decided to get back into programming (my one true love) but nobody would hire me because I had not been programming for about 10 years as it was determined my skills were outdated (which in retrospect was true) and so here I was at around 40 years old, with 4 sons no money and no job. 

Now some folks cherish life to the point where they will do anything to avoid the inevitable end (like not skydiving, eating healthy, etc) but that's not me. I have had an odd fascination with death and since my early 20s (perhaps from reading too much Poe), it is really not something I fear as much as some folks do I suspect. Obviously this is a childish perspective and not something I am proud of but where I have grown as a person is in the concern for the effect it would have on those who love me. It has become apparent that my death will very much hurt my children and a small set of other individuals and so it is almost more out of concern for them that I will fight to the end, but for me alone, it is not a natural act. And so it was when back around 1997 I found myself at a point in my life where it seemed a quick bullet through the roof of my mouth would be more pleasurable then trying to recover from the debt I had accumulated and was accumulating on a daily basis. 

Eventually I found a friend in Georgia who decided to take a chance on my programming abilities and so around June of 1997 I moved what was left of my family up to Georgia and began work at a company called American Megatrends (AMI) writing device drivers for RAID controllers. It was a tough life though because the pay was low and the bills were killing me. To say I was living check to check would be euphemistic because after that year I was probably about fifty thousand dollars in debt and it wasn't getting any smaller. Suicide was a constant thought and I truly believed this had become my destiny; to struggle through my life and die poor. I was willing to do almost anything to break out of this depressing cycle and so when a co-worker told me about a technology start up (which at the time were few and far between in Georgia) I jumped at the opportunity to take a cut in pay and go to work at a 10 person company. Of course just as had been the case for most of my life even this decision seemed hexed from the start. Within two months I was told if we couldn't sell the company in the next month or so I would be let go since I was the newest employee.  

There is a saying that it is always darkest before the dawn and so I'll wrap up this narrative quickly but please keep that thought in mind. Sometime around a month later the company I was working for was acquired by Amazon.com, another start up, but quite a bit larger than ours. We were all offered a $250,000.00 sign on bonus just to report to work. Amazon relocated me, put me and my sons up in a beautiful rental house in Bellevue Washington, rented me a new Mustang and put me to work around a bunch of whiz kids who made me feel stupid. Other than feeling stupid, life was excellent. I paid off my debts, paid cash for a house near Orlando Florida, got my sons through high school and out of the house and about five years later I retired to my new house in Orlando with wife number three. So I guess the message here is that even when things are at their lowest and you are positive nothing can help, even if it seems death would be the easiest way out and best for all involved, remember, your life can turn around in an instant but you will never know that if you take the easy way out.

ADDENDUM

After reading this post it seems to convey that I am feeling sorry for myself so let me make it clear I believe we are all masters of our own destiny. I blame nobody for nothing but since that is probably logically equivalent to "I blame everybody for everything" I guess subconsciously maybe I do feel sorry for myself :-)



Friday, July 6, 2018

Strange Life

When I was young, maybe 8-12 years old, one day a vision of my future came to me and it has never changed. I find this odd.

I lived in upper New York state at the time and absolutely hated everything about my life as many youngsters do at that age. I guess to keep from shooting up the place I invented in my mind a vision of a future for myself where I lived in Fort Lauderdale on the beach, with a red sports car and a blond wife. Beyond my parking lot was a beach and the ocean. I had absolutely no idea how I would acquire any of these things, but I distinctly recall my vision because it has never left me.

When I initially moved to Florida I could not afford to live on the beach but after my first divorce I rented an apartment on the ocean in Hallandale Florida. Though I was finally on the beach,  it was not what I had envisioned for myself. Internally I knew this is not where I was to end up (whatever that means).

Around 2003 I thought I would retire to my home in DeLand Florida which I did but again, it just did not feel right. DeLand is 18 miles inland from Daytona Beach and though we looked at houses on the beach in Daytona, nothing we evaluated matched my vision. That and my wife's disdain for country living brought us to Pompano Beach Florida on A1A.

We have been here nearly 15 years now and I suspect this is where I will be when I decide to move on to the next stage of my life.

This picture was taken just outside my front door looking East with my red mustang in the foreground and the beach just beyond the condos across the street. I have had this vision in my mind for over 50 years now.








Monday, June 11, 2018

The Meaning of Life

I have always believed the meaning of life is a recursive definition.

The meaning of life is to discover the meaning of life.

I do not say this sarcastically but rather to point out that it is perhaps the case that we all come from and return to the same place, the same ONE, if you will, since energy is never destroyed but rather it is redistributed.

Yet it seems while we are one with the whole we are also individual in ways that transcend our physical being. Perhaps we are alive to learn to break through the screen of the senses, to experience while in a body the transcendent self we truly are.

To me, this has always seemed more likely than the belief that we are just the result of a series of random mutations. If not a series of random mutations, then are we evolving towards god (perfection) or devolving away from god (chaos), but in either case does it even have to be this way at all? Maybe its simply we are, as we always have been, and always will be.

It is entirely possible that the energy we use to produce thought is not required to be bound to the physical entity it inhabits. The fact that it is, is more a benefit than a burden (though many don't see life this way).

And so if we look at life in this way we can begin to see what is really important. It is not the material wealth we accumulate, the knowledge we acquire, the good deeds we think we have done. It is the net positive effect you have had on the whole. The validation that this was energy well spent so maybe in the future you may get a chance to pick your parents again.

But how do we accomplish this? How do we improve the whole from which we are borne? I have no fucking idea, but its a good question.

Tuesday, May 15, 2018

Knowledge Weight


When I think of AI I do not think of things like making a robot run or a program that can beat a human at chess. While these are difficult enough I consider them more mechanical in nature. 

My interest in AI has always been writing code that can emulate human thought. I do not believe we can ever write a program that thinks like a human because as a programmer I know a coder must understand the algorithm before he can program a computer to do it and to the best of my knowledge we still don't know the meaning of life so I don't know how we could write a program to live, but I digress. 

Part of the reason it is so difficult to model human thought is because we really don't quite understand everything around us yet and so we are not really sure how we actually accomplish a lot of what goes into the act of thinking. 

Just to be clear, in my opinion, humans think by manipulating concepts. In my world view everything is a concept. In fact our language, while conforming to various grammatical rules is typically spoken in idioms which seem to me to be a bit closer to the concept of a concept :-)

Now the problem with abstracting out knowledge stems in part from the issues we typically run into regarding reference. I have expounded on this in other writings in more detail, so just to summarize, a reference to a living human becomes a reference to a null object if the human is cremated. What should be left rather than a reference to a non existent human is a reference to a concept. Coupled with the concept of aliasing we can then deal with statements like "Samuel Clemmons was the writer known as Mark Twain" a bit easier.

But this alone still leaves us with issues like how do we even know that Samuel Clemmons actually existed? There is a belief among some that the combined works of William Shakepshere were not really an individual's writings but rather a collection of different individual's work over the years. In this way we can also deal with the concept of William Shakepshere, who in either case no longer walks among us. 

Which brings us to the topic of this post which is 'just how sure are we of what we think we know'? Now the process by which we accumulate knowledge is a far deeper discussion than I can go into here though it is obviously related but for now we will focus only on the strength of the knowledge we have. The knowledge weight.  

Consider how sure we are a person is alive when we believe to be in their presence. Let's call this 99%. We are almost positive (only because I don't believe in absolutes) the person before us is our uncle, for example. Now compare that with how sure we are we that person is alive five minutes after we just got off the phone with them versus someone we haven't spoken to in six years. So as we can see, there are varying weights we can give to knowledge based on various other factors. 

By the way, another reason why I say 99% and never 100% is because the person before us could be an impostor. They could be someone who looks just like the person we think we know. We could be fooled. If we didn't interact with them, and perhaps just passed them on the street we could be less sure. So knowledge may have weight. But there are classes of knowledge so maybe it would be better to categorize knowledge and then add a weight to that. 

For example, I think I know my friend Bob because when I am in his presence I can see, feel and  hear him. I recognize him from a combination of attributes and mannerisms. I also think I know that someone named Ghengis Khan existed at some point in time. They are two different categories of knowledge; direct and indirect. Anything my father told me is indirect knowledge. Anything I have physically interacted with is of a different category and within these categories I can assign a weight. 











Saturday, May 12, 2018

Neighbors


I live in a condo on the beach in Ft Lauderdale. People often come here to retire which is why sometimes this area is called 'God's waiting room'. When we first moved here around 15 years ago my wife and I were one of the younger couples in our building. Not so much anymore. 

Death is omnipresent hanging over us like a cloud in the distance, never too far away. My wife and I have attended over 20 funerals in the roughly 14 years we have lived here. Many of those for neighbors who became close friends, which often happens when you share a common structure with 103 other families. In many ways condos are micro communities of non-related extended families. Most of us see each other far more than we do blood relatives and our close friends.

It is not easy to interact with friends when the specter of death looms over the relationship. Many people fear the often uncomfortable conversations that arise seemingly out of thin air and try to avoid engaging beyond the occasional salutation while passing in the hall or parking lot. In an attempt to improve my self worth I decided several years ago to try to address this fear head on. As a result I am currently engaged with two neighbors who are close to leaving the constraints of this encasement and advancing to the next level; Rudy and Bob. 

Rudy is a 92 year old violin player who has worked for the Boston Pops, the Orlando Philharmonic and many other orchestras over his lifetime. He holds a Medal of Honor from the US Navy for his participation in the invasion of Normandy on D-Day and he plays his violin every Sunday to this day at his local church. 

Rudy is fiercely independent going so far as to get a restraining order against his family who want to bring him back home to Louisiana to care for him in his declining years. He is a  Lymphoma survivor and continues to drive his car though his license has been suspended for quite a while now. He is also planning on getting a hip replacement soon though from what I hear the doctors refused because of his advanced age. In his mind he has no expiration date.

Robert is a 48 year old former actor who had minor parts in films like 'the Thin Red Line'. He spent his formative years in Brooklyn NY and moved to California to pursue a movie career and threw himself into the LA party scene. He never really hit it big but he enjoyed the ride. 

Robert lies in bed medicating himself to relieve the pain. He does not really know exactly what his condition is but he was told 2 years ago he has 6 months to live so in his assessment he is playing with house money and has accepted his fate. In his mind he is beyond his expiration date. He will most probably pass before Rudy and he is in far worse condition, not able to leave his bed anymore so perhaps this accounts for the differences in their approach to death. One waits, one defies. 

In both cases I try to spend an hour or so each week visiting with them, or in Rudy's case lately, helping him keep from getting foreclosed on. We talk about current events but it seems at some point we shift to the past. We talk about where we came from, life's high and low points and ultimately, regrets. Fortunately, neither Robert nor Rudy have many. In both cases they did what they wanted to with their life. There is very little either would do differently had they the chance to do it over again. I hope I am so fortunate. 

What I am learning is that it seems as we reach our final days we begin pushing family away. Perhaps it is the pride of independence or the desire that those closest to us don't see us in this condition, but for whatever reason, it seems it is easier to be with and ask for help from strangers than family or friends. I know from our discussions that being a burden on our loved ones is a real concern for both men and I can certainly relate to that. 

Beyond the knowledge I've gained, like "Sean Penn is a pain to work with" or "Mantovani didn't pay shit" I have developed an understanding of how we approach our final days; mentally and often physically isolated.

There is a subtle distinction between self-fulfillment and self-enrichment with the latter carrying somewhat negative connotations, so I will use the former though I feel the latter. 

In my search for self-fulfillment I have discovered that the role of neighbor can be more than metaphorical, rather it is a real value one can provide by just being there and listening and by listening we learn. We learn things we never would have learned had we not engaged in a caring manner with those around us who we see often but take for granted more. Our neighbors.







Thursday, March 15, 2018

Being Too Pythonic'y and Enterprise Level Coding and Code Personalities

I recently had to change a piece of code from this …


return [convert_thing(k,v) for k, v in get_things()]

To …

things = []
for k, v in get_things():
    try:
        thing = convert_thing(k,v)
        things.append( thing )
    except Exception as ex:
        logger.error(ex)
return things

Why would I convert this beautiful pythonic'y piece of code to a crude almost straight C version? Because it turned out convert_thing() could raise an exception if it could not convert the thing and there is no pythonic'y way I know of to do this.

On a second note, it would be nice if we could overtly recognize the concept of code personality. When a larger system (or framework if you prefer) is constructed it is often the case that with some configuration modifications it can perform various related functions. A simple example would be if we built a program to convert and transfer a file and then used it to convert CSV files to JSON for one deployment and then used the same code (with configuration changes) to convert a file from XML to CSV for a second deployment. It would be nice if we could refer to the two different deployments by personality (xfer_hr versus xfer_money_orders) which would ultimately refer to the same piece of code.

You can always do this using simple configuration files (which could be something a personality pre-processor could do automatically) but it adds a level of complexity which is unnecessary if code had a way of universally expressing its personality. It is always a good idea to reduce the level of configuration nesting.

Monday, January 1, 2018

Firefox and OSX 10.8.5

For probably a multitude of reasons Mozilla has decided it no longer wants to work older versions of OSX. That sucks! I have an old MacBook Air that I use frequently and recently Firefox stopped working on Facebook and ESPN even though I had changed nothing. While Chrome seems to be working OK, I don't use it much and Safari works but who cares. I want my Firefox! So after a little digging I came upon this post which worked for me.

https://forums.macrumors.com/threads/best-browser-for-os-x-mountain-lion-in-2016.1985353/

The bottom line is - this is what I did and it ended up working for me.

1) Download the latest version of Firefox from the Mozilla site. It will complain and try to discourage you from downloading it but go ahead and download it anyway. This will download a .dmg file.

2) Open the .dmg file and drag it to your applications folder. In my case it had a big circle with an X through it but I dragged it over anyway. I am fearless.

3) If you now try to run it (again, in my case it said Firefox 3 with an ugly X through it) it will fail. This is because it wants a minimum OSX of 10.9. Boo! To fix this find where the new Firefox folder is (on my system it was /Applications NOT Applications!) Then inside that directory (typically called Firefox Bla.app where Bla in my case was space 3) you will see an Info.plist file. Open this with a text editor or if you have one, a plist editor (I prefer a command line type like VI since these don't do anything stupid, other editors sometimes try to convert the file or add an extension to it) and find the line that shows the minimum operating system version. In my case it was 10.9. Change this value to your OSX version. In my case this was 10.8.5.

4) Once you have done this, OSX will be the next obstacle. It will say things like file is corrupted move it to the trash, or other scary stuff. You can ignore this. The issue here is simply an OSX security setting. By default OSX doesn't like to run downloaded applications. To fix this click the Apple logo in the upper left to and select system preferences. Then select the security and privacy icon. Make sure you click on the lock on the lower left of this pop up dialog and enter your password. This allows you to alter the settings. It also makes the Advanced button clickable. Then click the Advanced button and from there click the General tab. Here you will see why you are having issues. Simply check the Allow Downloaded Applications checkbox and then close this dialog and click the lock again to once again lock your settings. Now OSX will allow you to run this application you just downloaded from the internet. Note that in certain cases it might actually have a checkbox for the Firefox application you just downloaded. If so, check that, otherwise it will just have a generic Applications Downloaded checkbox, but hopefully you get the point.

5) Now you should be able to use Launchpad or finder to start your new version of Firefox. Make sure you have quit any other versions of Firefox you might have had running. You can do this by right clicking the Firefox icon in the docker and selecting Quit.

6) Just to be safe here you should reboot your computer. All we have left to do now is modify one Firefox configuration parameter and we should be good to go. Once your computer has rebooted, again, make sure there are no Firefox icons showing in the dock. So if you are sure there are no other versions of Firefox running proceed to the next and final step.

7) Start the new version of Firefox we just installed (I typically use Launchpad). It will probably say it crashed. This is expected. In the address bar type about:config. This will bring up a scary warning page which we will click to accept the responsibility of altering a configuration setting. Now in the search box near the top of this page type in autostart. You should see several options listed. Find the one that says browser.tabs.remote.autostart.2 and change its value from true to false by simply clicking the value column.

Now you should close this page (maybe open it again to verify the change actually changed) and then shut down Firefox. Again, you do this by right clicking its icon in the dock and selecting Quit.

The next time you restart Firefox everything should be fine. A bit of a pain in the ass but not too difficult to accomplish.

Now keep in mind I have no idea what long term issues might happen but I followed these instructions and everything seems to be working fine for me. Facebook and ESPN once again work so that is all I really cared about. I suspect there might be some issues I run up against in the future and if that happens I will add a new post describing what I have found but for now everything seems to be working OK. It even retained all my settings, bookmarks, passwords, etc.

WooHoo!